diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.bin b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.bin index 55aa2d1..1ba3b57 100644 Binary files a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.bin and b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.bin differ diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.elf b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.elf index 6e5fc61..c14fb81 100644 Binary files a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.elf and b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.elf differ diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.hex b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.hex index 9fff783..11bb2f0 100644 --- a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.hex +++ b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.hex @@ -1,7353 +1,7362 @@ -:10000000386E00200D1300000913000009130000D2 +:10000000386E00207513000071130000711300009A :1000100000000000000000000000000000000000E0 -:1000200000000000000000000000000009130000B4 -:10003000000000000000000009130000450100005E -:100040000913000009130000091300000913000040 -:100050000913000009130000091300000913000030 -:1000600009130000E50B0000F50B0000050C000073 -:10007000150C0000250C0000350C000009130000D1 -:100080000913000009130000091300000913000000 -:1000900009130000091300000913000009130000F0 -:1000A00009130000091300000913000009130000E0 +:10002000000000000000000000000000711300004C +:1000300000000000000000007113000045010000F6 +:1000400071130000711300007113000071130000A0 +:100050007113000071130000711300007113000090 +:10006000711300004D0C00005D0C00006D0C0000D1 +:100070007D0C00008D0C00009D0C00007113000031 +:100080007113000071130000711300007113000060 +:100090007113000071130000711300007113000050 +:1000A0007113000071130000711300007113000040 :1000B0000000000010B5064C2378002B07D1054B3B :1000C000002B02D0044800E000BF0123237010BDC4 -:1000D000C80000200000000088CA0100084B10B5CD +:1000D000C80000200000000018CB0100084B10B53C :1000E000002B03D00749084800E000BF0748036819 :1000F000002B00D110BD064B002BFBD09847F9E731 -:1001000000000000CC00002088CA010088CA01005D +:1001000000000000CC00002018CB010018CB01003B :100110000000000010B5084A00201060074B536033 :10012000074C236A1B021B0AC02109060B432362EA :1001300090600723136010BD10E000E03F1F000037 :1001400000ED00E070B506490A684B6801240025FF :1001500012196B410A604B600120024B984770BD39 -:10016000E800002009F7000030B58DB0134B984728 -:100170000122134B1A70BFF35F8F62B6114B984781 -:10018000114B9847114B9847114B9847114B984783 -:10019000114B9847114C96235B0100221049200017 -:1001A000104DA84701A8104B9847104B0493029498 -:1001B00001A80F4B98470DB030BDC046DD120000BE -:1001C0000C00002051780100F17701003D7701001B -:1001D00015010000F91700000569010070260020D4 -:1001E000F000002059F40000F5F300002174010034 -:1001F00079F4000010B50020084B98470200002356 -:100200000748002180185941064A0023064CA047A0 -:10021000064B9847064B984710BDC0466510000036 -:10022000571B0000581B00004D7C010001000020FE -:10023000F5120100F0B5DE4657464E464546E0B59C -:1002400087B08046049116001F0000220023002181 -:100250008B463F2401202100009601975C460394C1 -:100260004446059413E02024641A0500E540A8469E -:1002700014E0009C019D121BAB415C464D462C4393 -:10028000A346039C45462C430394013925D32024DF -:1002900064420C19E7D40500A540A84604008C4030 -:1002A000A14692185B4114001D00059E4F463E403A -:1002B000B446049E47463E40B246664657463E43D5 -:1002C00003D00600264332002B00009C019D9D4276 -:1002D000DBD8CED19442D8D8CBE7039B584619003F -:1002E00007B03CBC90469946A246AB46F0BD10B55F -:1002F000490840230024814202D2180010BD1C008E -:10030000091A631C9BB28842F9D94023FF2CF4D808 -:1003100014800023F1E70000F0B583B00F00160051 -:1003200008AA117804004C434022BC4202D91000B4 -:1003300003B0F0BD002B14D1020008000021194CBD -:10034000A04701003A0000230020174CA0470022DC -:100350000123121A8B41120C1B041A433280002213 -:10036000E5E70022012BF9D10A00002300210D4C02 -:10037000A04702000B0000920193380000210A4CB4 -:10038000A047050080239B0140229842CFD8790FD7 -:10039000F800009A019BA047EA00821AD2B25203E9 -:1003A0002A43DBE78D7C01003502000010B582B0E6 -:1003B00004000E4B1B78002B07D0002905D10B4BF6 -:1003C0005B78834210D01D200CE001A90C70132033 -:1003D000074B98471320074B9847044B5C7001224A -:1003E0001A70002002B010BD0020FBE79426002008 -:1003F0007D110000F1100000404B984231D00AD925 -:100400003F4B98424DD03F4B98425AD03E4B98427A -:1004100037D0002070473D4B98420CD03C4B98425F -:10042000F7D1012917D000295DD0022915D0032961 -:1004300015D00020EEE7012907D0002951D002296C -:1004400005D0032905D00020E4E73248E2E732482E -:10045000E0E73248DEE73248DCE73248DAE73248A4 -:10046000D8E7012907D000293FD0022905D0032968 -:1004700005D00020CEE72D48CCE72D48CAE72D480F -:10048000C8E7012907D0002931D0022905D0032966 -:1004900005D00020BEE72848BCE72848BAE728482E -:1004A000B8E7012907D0002923D0022905D0032964 -:1004B00005D00020AEE72348ACE72348AAE723484D -:1004C000A8E7012907D0002915D0022905D0032962 -:1004D00005D000209EE71E489CE71E489AE71E486C -:1004E00098E71E4896E7032094E71D4892E71D48C9 -:1004F00090E71D488EE71D488CE7C046001000427B -:1005000000180042001C0042001400420008004293 -:10051000000C004203000500030006000300070072 -:100520000300010003001E0003001F000300090078 -:1005300003000A0003000B00030011000300120077 -:100540000300130003000D0003000E0003000F0062 -:100550000300170003001800030019000300040043 -:10056000030008000300100003000C000300160045 -:1005700030B587B00B4B6A4632CB32C232CB32C277 -:10058000009B83420BD001239A0069465258824255 -:1005900006D00133062BF7D1002007B030BD002371 -:1005A000D8B2FAE7A4870100F0B5DE4657464E46BA -:1005B0004546E0B591B005000C0016002960080022 -:1005C000BA4B9847020023680520DB0706D511B017 -:1005D0003CBC90469946A246AB46F0BD2368173016 -:1005E0009B07F4D4B249086A971C0123BB4003431C -:1005F0000B620FA92D27F35D0B701432D3B2029357 -:100600001800AC4B98470298AB4B9847F05D00211F -:10061000AA4B9847F37A6B712423F35CAB712523C3 -:10062000F35CEB71F37E2B72337F6B722B68984611 -:1006300018009E4B9847143000220E2306A98C46C2 -:1006400063441A80328A02928023DB019A4200D1ED -:100650009AE00FD9C023DB01029A9A4200D18EE0C2 -:1006600080231B029A4200D01BE103230693002340 -:10067000079308E080239B019A4200D011E11023E8 -:1006800006930F3B079333680593F3689B467369A2 -:100690000393337E04932623F35C9A46736899464A -:1006A000002B00D19CE080235B05994500D180E0C0 -:1006B000737E002B02D0B37E424693730E2306AAAC -:1006C000944663441B8842469381059B5A461343D4 -:1006D000039A13434A461343029F1F43049B1B0282 -:1006E0001F4353465B071F432723F35C002B01D1B5 -:1006F00004331F43737E9B02327F52021343727F87 -:10070000120213432422B25C520413432522B25C2A -:1007100012041343B17AF27A114319433389FF2B40 -:1007200000D181E080225204174319432C23F35C4B -:10073000002B03D1624B9B789B0701D580231F437D -:100740002A68D369002BFCD1434659602A68D369D3 -:10075000002BFCD143461F600EAB80221A70002292 -:100760005A70DA709A70336B0A93736B0B93B36B96 -:100770000C93F36B02930D9300270AAE63E00823FA -:100780000693073B07937EE733680593F3689B4620 -:1007900073690393337E04932623F35C9A4673684C -:1007A0009946002B18D080235B05994501D0002085 -:1007B00025E02723F35C002B00D079E7336A1F0084 -:1007C000C0B2404B984701000E2206AB9C466244E3 -:1007D00038003D4B984712E0082306930023079307 -:1007E0002723F35C002B0ED0069B0093079B0E2261 -:1007F00006A98C466244B16A306A344FB847002873 -:1008000000D0E4E654E7336A1F00C0B22D4B98478E -:100810000100069B0093079B0E2206A884466244B3 -:1008200038002A4FB847EAE7F37E002B00D17DE776 -:100830008023DB041F4379E72000254B984707E01E -:100840000137042F0DD0F9B2BB0098590028F3D01E -:10085000431CF5D00EA90870000CC0B21D4B984780 -:10086000EEE70023EB602B616B61AB61EB612B6208 -:10087000AB626B620022EB85AB853033EA54013307 -:10088000EA540133EA540133EA542868074B984785 -:1008900004001149114B9847A400114BE55000206A -:1008A00095E61023069300230793ECE671050000FC -:1008B000000400407D110000F1100000AD030000B5 -:1008C0000020004199110000EF0200001903000010 -:1008D000F903000075120000E1090000790B000027 -:1008E000944C0020C2791C23002A01D118007047C3 -:1008F000C28D92B2173B002AF8D1026811850221FD -:10090000137E0B42FCD00023F0E70000F0B5CE468A -:10091000474680B583B0050001911720002A04D115 -:1009200003B00CBC90469946F0BDEB790530002B26 -:10093000F6D02C68013A93B2994600260127204B45 -:10094000984611E0731C9BB2019A915D6A79012A65 -:1009500017D089B21E0028001A4B98474B46013B1E -:100960009BB29946434513D0237E3B42EAD1144BB8 -:10097000227E3A42E6D1012B19D0013B002BF7D160 -:10098000E0E70236B6B2019AD35C1B021943E2E7F4 -:10099000237E9B070DD40A4B0221227E0A420AD1F4 -:1009A000012B0AD0013B002BF7D10020B8E7122021 -:1009B000B6E70020B4E70020B2E71220B0E7C04657 -:1009C000FFFF0000E5080000931C9B00C31859605E -:1009D0003021012393401A00435C13434354704772 -:1009E000F8B58000624BC5582C68E369002BFCD138 -:1009F000237EA67D1E403023EB5C3122AF5C1F407E -:100A0000F30722D5EB8D9BB2002B1CD0AA6A13787A -:100A1000DBB2511CA962697901290ED09BB2DB05BA -:100A2000DB0D2385EB8D013B9BB2EB85002B0CD1BD -:100A3000013323750133A37507E0517809020B4395 -:100A40000232AA62EBE701232375B30706D502231E -:100A5000237500223133EA54FB071AD4730765D596 -:100A6000AB8D9BB2002B5FD0638BDBB21A0714D423 -:100A70003F221340002B34D09A0711D51A2232237B -:100A8000EA54303B63837B0750D528006B69984755 -:100A90004CE02800EB689847E0E737221340E9E78D -:100AA0005A0705D51E223223EA542E3B6383EAE718 -:100AB000DA0705D513223223EA54313B6383E2E798 -:100AC000DA0605D542223223EA54223B6383DAE771 -:100AD00020221A42D7D021323223EA54123B6383B8 -:100AE000D1E7238DDB05DB0DDAB2696A0A706A6A29 -:100AF000511C69626979012910D0AB8D013B9BB211 -:100B0000AB85002B12D10433237500222E33EA5417 -:100B1000BB070BD528002B69984707E01B0A5370C9 -:100B20006B6A01336B62E8E704232375F30604D58F -:100B3000102323752376FB060ED4B30604D5202399 -:100B4000237523763B070BD4330704D5082323757D -:100B50002376BB0608D4F8BD2800EB699847ECE77C -:100B60002800AB699847EFE72B6A28009847F2E71F -:100B7000944C002070470000F0B50A4B1B78002B06 -:100B80000CD1094F094E0A4D0024DE515A19146048 -:100B90000433182BF9D10122024B1A708000024B4A -:100BA000C150F0BD9626002098260020750B00004D -:100BB000944C002000B583B009236A4613700133BA -:100BC0005370013393700133D370013313710133C8 -:100BD0005371034B98476B46185603B000BDC0468F -:100BE0007105000010B5024B1B680020984710BD2E -:100BF0009826002010B5024B5B680120984710BD75 -:100C00009826002010B5024B9B680220984710BD23 -:100C10009826002010B5024BDB680320984710BDD2 -:100C20009826002010B5024B1B690420984710BD80 -:100C30009826002010B5024B5B690520984710BD2F -:100C4000982600200C4B1B68002B06D1EFF3108375 -:100C5000002B07D00022094B1A70074A1368013392 -:100C60001360704772B6BFF35F8F0022044B1A7097 -:100C70000132024B1A70F0E7B0260020B4260020A3 -:100C80000C000020084B1A68013A1A601B68002B00 -:100C900009D1064B1B78002B05D00122044B1A709A -:100CA000BFF35F8F62B67047B0260020B4260020E5 -:100CB0000C000020F0B583B001AC01256570002761 -:100CC000A770257021003E20064EB0478022D20535 -:100CD000054B9A612770657021000F20B04703B063 -:100CE000F0BDC046ED0C00008044004100B583B06B -:100CF00001AB80221A700A785A704A789A708A7802 -:100D0000DA701900014B984703B000BD751200005E -:100D100010B582B001AB80241C7014785C705478DC -:100D20009C709278DA701A00014B984702B010BD9F -:100D3000A512000010B5082803D880001C4B1B58D2 -:100D40009F46002032E01B4B18692FE01A4B1B6AAC -:100D50009B059B0F1948D84028E0164B586925E0A1 -:100D6000144B1B6800209B0720D513491022CB6829 -:100D70001A42FCD00F4B1A6824231340042B01D0D5 -:100D80000F4813E000200F4B98470A4B9B681B0449 -:100D90001B0C58430AE05023074AD35C00205B0732 -:100DA00004D5044BD86801E08020000210BDC04685 -:100DB000BC870100B82600200008004000127A001D -:100DC000006CDC029911000070B50C490B6A0478C4 -:100DD000857840780122104080014026B3430343C8 -:100DE0002A40D2018020834313430322224012026F -:100DF0000348034013430B6270BDC0460008004027 -:100E0000FFFCFFFF082803D88000254B1B589F4696 -:100E1000172044E0234A136A02210B431362002087 -:100E20003DE0204A936902210B439361002036E0A4 -:100E30001C4A138A02210B43138200202FE0194A17 -:100E4000938A02210B439382002028E016490B6805 -:100E5000022213430B60134B9A8419000E32CB68A5 -:100E60001A42FCD0104A91680E4BD96252689A62BD -:100E700000229A8419001032CB681A42FCD00A4B27 -:100E80001B689BB2074A9384002008E0054944226E -:100E90008B5C022003438B54002000E0002070474D -:100EA000E087010000080040B826002030B585B07A -:100EB000C222D2001A4B9A601A4A53681E218B43F1 -:100EC000536001236A4613700024174DE0B269464F -:100ED000A8470134252CF9D103A80024447001252A -:100EE00085700470114B98470620114B9847114BA1 -:100EF0009847114B1C725C729C72DC7201956B46B8 -:100F00005C7006236A46137014725472694600209E -:100F10000A4B984700200A4B984705B030BDC046A1 -:100F200000080040004000417D110000C90D000094 -:100F3000050E0000450F000000040040690F00008E -:100F400021100000064A936908210B439361012296 -:100F5000044B1A7019000B781342FCD17047C0463D -:100F600000040040000C004070B5060004000D783D -:100F70002D0205434B78002B02D08023DB021D435A -:100F80004B7A002B02D080231B031D4348680128A5 -:100F900010D9431E184234D1022830D9022300222E -:100FA00001325B009842FBD81202324314008023C6 -:100FB0005B031D430B7A002B02D080239B031D4350 -:100FC000134A53785BB2002BFBDB124B9847124B52 -:100FD0001E700F4A53785BB2002BFBDB0C4B9C60FE -:100FE0001A0053785BB2002BFBDB094A536880215F -:100FF00049020B401D435560084B984770BD0022C5 -:10100000D2E70402344380239B021D43D2E7C0464B -:10101000000C0040450C0000080C0040850C00004E -:1010200010B504000B4A53785BB2002BFBDB0A4B74 -:1010300098470A4B1C70074A53785BB2002BFBDBC6 -:10104000044A516880235B020B435360044B98476A -:1010500010BDC046000C0040450C0000040C0040D0 -:10106000850C000070B504001A4A53785BB2002B5F -:10107000FBDB194B9847194B1C70164A53785BB22F -:10108000002BFBDB134E7068C004C00E144B984756 -:101090000500124B1C707668F602F60F114B1C709F -:1010A0000C4A53785BB2002BFBDB0A4B9C68240292 -:1010B000240C0D4B9847002E07D1012C07D9210095 -:1010C00028000A4B9847050001E00134E54028005C -:1010D00070BDC046000C0040450C0000040C0040F0 -:1010E000350D0000080C0040850C000061790100FE -:1010F00010B50400064B9847064B1C70064A5388EF -:101100008021C9010B435380044B984710BDC04652 -:10111000450C0000020C0040000C0040850C000053 -:1011200010B504000F4B98470F4B1C700F4A5388A3 -:101130001B05180F53880E490B40538053880D49E7 -:101140000B40538011008022D2014B881342FCD106 -:1011500006494A8803020648024013434B80064B67 -:10116000984710BD450C0000020C0040000C0040E8 -:10117000FFF0FFFFFFBFFFFF850C000010B50C78EC -:1011800024020443024B9847A4B2024B5C8010BD7A -:1011900021110000000C004010B50400064B9847D8 -:1011A000064B1C70064B5C882405240F054B9847A2 -:1011B0002000054B984710BD450C0000020C004074 -:1011C000000C0040850C00006510000030B5D3789D -:1011D000002B35D11378802B29D01B068024640284 -:1011E000234354780225AC4306D19478002C20D1B7 -:1011F0008024A402234341605478013C012C1CD973 -:101200000D042D0CA024E4052C431C4384620D0C1A -:10121000D02424062C431C438462D478002C22D191 -:101220005B031CD59378012B1ED0416117E000238E -:10123000D7E7C024E4022343DDE70D4C2340DFE77A -:1012400041600C04240CA023DB05234383620C0CB7 -:10125000D0231B0623438362D378002B03D153781A -:10126000013B012B02D930BD8161F8E78160FAE7CB -:10127000FFFFFBFF10B50A00C1090023002904D1BC -:101280004309DB0105498C4663441F2420400121AA -:1012900081401800024B984710BDC04600440041F1 -:1012A000CD110000F0B583B000900E000192002433 -:1012B0000127084D02E00134202C09D03300E3401F -:1012C0001F42F8D0019A3900A1400098A847F2E7E0 -:1012D00003B0F0BDCD1100007047000010B5054B04 -:1012E0009847054B9847054B9847054B9847054B42 -:1012F000984710BDAD0E0000B50C0000D9120000DB -:10130000D9120000D9120000FEE70000F8B52A4A01 -:101310002A4B9A4211D01A00294B9A420DD2294ADF -:1013200003339B1A9B0801339B0000222348224968 -:101330008C58845004329A42FAD1234A234B9A4261 -:101340000AD2D34321495B1803218B4304339B18F2 -:10135000002102C29342FCD11D4AFF211D4B8B4349 -:101360009360FD3990235B001B4AD1501B4AD37810 -:101370000325AB4302242343D370D3780C27BB430C -:1013800008263343D370164B987B3022904320229B -:1013900010439873997BB943314399739A7BAA435D -:1013A00022439A730F4A536880210B4353600E4BBC -:1013B00098470E4B9847FEE788CA010000000020BE -:1013C000C400002004000020C8000020384E002087 -:1013D00000ED00E0000000000070004100500041FE -:1013E0000048004100400041B57E01004D790100F8 -:1013F0000300064A1268002A04D0044A1068C31881 -:10140000136070470249014A1160F6E7D0260020B8 -:10141000386E0020431E9841C0B2704710B5C0B06E -:101420000400064B9847E52801D940B010BD0200E2 -:1014300021006846024B9847F7E7C046617F0100EC -:10144000250C010010B5002801D0C06B10BD034B66 -:1014500098470028F9D10020F8E7C046A1F5000020 -:1014600010B5002801D0006C10BD034B9847002830 -:10147000F9D10020F8E7C046A1F5000010B500281A -:1014800001D0406C10BD034B98470028F9D10020D3 -:10149000F8E7C046A1F50000F8B5002811D00025F6 -:1014A00034272026074C02E0A047002804D0C35D63 -:1014B0001E42F9D00500F7E7002D02D02800024BAC -:1014C0009847F8BD391A0000B11F0000F8B5DE4694 -:1014D00057464E464546E0B506008A469046037D8F -:1014E000DB073CD4C468012399460025324F0F33F3 -:1014F0009B4615E0337D5A461A4201D1002D2ED16C -:101500004B46002B2BD03000D0470400002D4CD090 -:1015100000239946002C03D02068B84700280CD03F -:10152000002CE7D0002D06D021003000C047040079 -:10153000A842EFD113E02500F6E7F368A3420ED0EE -:10154000002B16D01868C369002217219847F3684A -:10155000186800220E21194B9847012805D03CBC81 -:1015600090469946A246AB46F8BDF3681868144BFE -:101570009847F4602068C369002216219847F368F1 -:10158000186800220D210D4B98470128E7D1F36818 -:1015900018680C4B9847F3681868094B98473369EB -:1015A000002BDCD030009847D9E70028D7D00500C1 -:1015B00000239946B0E7C0461D1E0000A91900008F -:1015C000491F00009914000010B518210148024B72 -:1015D000984710BD184E00205105010010B5024A71 -:1015E0000249034B984710BD1D0601000506010086 -:1015F000CD14000010B5024A0249034B984710BDB4 -:101600004506010011060100CD14000070B504006C -:10161000037DDD06ED0F1022134303751B0708D56C -:10162000054B98472D01237D102293432B432375AF -:1016300070BD024B9847F5E7F5150000DD15000079 -:10164000F8B505000C00002810D006001B4B984789 -:1016500000280CD003689C4208D0194F01003000CC -:10166000B847002803D00368A342F7D1F8BDA36BA5 -:10167000002B07D02000134B9847002802D0A06B06 -:10168000114B9847A5632800104B98470600104B54 -:10169000984700280BD0002EE8D034602800074B74 -:1016A00098478642E2D12800074B9847DEE7320090 -:1016B0000023084808498847FEE7C04605060100A0 -:1016C0001D060100C13500000D160000B505010022 -:1016D00015140000048801001D140000002804D027 -:1016E000C368002B03D0186870470020FCE7002077 -:1016F000FAE7002803D0007D8007C00F7047002064 -:10170000FCE70000014B18687047C046D426002053 -:10171000F8B50C00002815D05022835C02210B4341 -:101720008354184B1B68984205D0002C07D0C36B1C -:101730009C4204D0F8BD0022134B1A60F5E7002349 -:10174000C363F7E70020114B98470028F2D00D4FF4 -:101750000D4D0E4E07E000232B600CE00023C36309 -:10176000B0470028E6D05022835C02210B4383540B -:101770003B688342EFD0002CF0D0C36B9C42EFD18A -:10178000ECE7C046D4260020D8260020E5F600006D -:1017900010B500210020014B984710BD1117000023 -:1017A000F0B585B00D00029116000392031D019360 -:1017B00018000F4B9847041E18D0ADB2B7B20D4EAB -:1017C000238AEB182382638AFB186382A38AEB18AF -:1017D000A382E38AFB18E382039A02992000FFF7B1 -:1017E000DFFF21000198B047041EE9D105B0F0BD2C -:1017F000050601001D06010030B585B0194B1B78A8 -:10180000002B01D005B030BD174B9847174B9847B8 -:10181000174B9847174B9847174B98471021174875 -:10182000174CA047174B02930193009302221F21EC -:1018300015480088154DA847154B9847154B9847F4 -:10184000B82149001448A04760211448A047144B10 -:101850009847144B98470120134B98470122014B9E -:101860001A70CFE7E4260020E109010031110100E0 -:10187000E102010091F90000C9150000684D002047 -:1018800051050100300000201288010029440100A8 -:10189000E91B010035420000C44C0020B84C002078 -:1018A0009117000091E60000F1DB000070B5040024 -:1018B0000D00094B9847002808D0342201231D4011 -:1018C000A35C012083432B43A35470BD220000235B -:1018D000024803498847FEE7151400006C880100A0 -:1018E0001D140000F0B587B007000C0001921E0027 -:1018F000002904D00800254B984700283CD003ABB2 -:10190000039400221A710592214B1B68002B00D012 -:10191000059303AA1E4B1A601E4B1D681E601E4BCA -:101920009847002804D08368002B01D0019998477C -:10193000002F02D001992000B847164B1D60144BB0 -:101940001A6892681A6003AB1B790020002B11D132 -:10195000002C17D03433E35C01305B060AD52068D5 -:10196000002811D0320001990C4B984701384242AF -:101970004241D0B207B0F0BD220000230848094917 -:101980008847FEE70120F5E70120F3E71514000082 -:10199000E0260020DC26002005170000A919000021 -:1019A0006C8801001D14000070B504000D001600C5 -:1019B000002810D0094B9847002805D122000023A9 -:1019C000074808498847FEE7A06933002A0021003C -:1019D000054CA04770BD0120FCE7C046151400006F -:1019E0006C8801001D140000E518000010B50028E7 -:1019F00004D0C369002B03D0984710BD0120FCE739 -:101A00000120FAE710B50400084B9847002805D1DB -:101A100022000023064807498847FEE70023638623 -:101A2000E369002206212000984710BD151400002C -:101A30006C8801001D14000010B50400054B984788 -:101A4000002801D0206810BD22000023024803496D -:101A50008847FEE7151400006C8801001D14000083 -:101A600070B50400094B9847002801D0084D06E0E6 -:101A700022000023074808498847FEE704002000A9 -:101A8000A8470028FAD1200070BDC04615140000F8 -:101A9000391A00006C8801001D140000F0B5C6461C -:101AA00000B50400194B984700280FD02368002B7D -:101AB00003D02000164B984704001648164B984751 -:101AC000071E1ED0144B9846144E0BE02200002334 -:101AD000134814498847FEE739000E480F4B9847D2 -:101AE000071E0ED03D0030352800C0470028F3D037 -:101AF000844206D001002800B0470028ECD0844280 -:101B0000F8D1380004BC9046F0BDC0461514000062 -:101B1000611A0000C44C0020050601001D060100EA -:101B20006C8801001D14000070B504000D000A4B04 -:101B30009847002806D0002D0AD0201D2900074B09 -:101B4000984770BD22000023054806498847FEE7F4 -:101B5000201D054B9847F4E7151400001D060100F1 -:101B60006C8801001D1400000506010070B504001A -:101B70000D000A4B9847002809D020001830103477 -:101B80002178297001350134A042F9D170BD2200BD -:101B90000023034803498847FEE7C04615140000A8 -:101BA0006C8801001D14000010B504000B4B984711 -:101BB000002805D12200002309480A498847FEE78A -:101BC0002000094B9847002804D0238A008A181A5D -:101BD00000B210BD1023E05EFBE7C0461514000004 -:101BE0006C8801001D140000391A000010B50400B3 -:101BF0000B4B9847002805D12200002309480A49C9 -:101C00008847FEE72000094B9847002804D0638AE4 -:101C1000408A181A00B210BD1223E05EFBE7C046EE -:101C2000151400006C8801001D140000391A000012 -:101C300010B50400074B9847002805D0A08A013052 -:101C4000238AC01A00B210BD2200002302480349B3 -:101C50008847FEE7151400006C8801001D14000081 -:101C600010B50400074B9847002805D0E08A0130E2 -:101C7000638AC01A00B210BD220000230248034943 -:101C80008847FEE7151400006C8801001D14000051 -:101C900000B583B0002902D1283003B000BD6B46E7 -:101CA0001970002301936A460821044B98470128C4 -:101CB00001D10198F1E70020EFE7C046ED190000DF -:101CC000F0B5DE4657464646C0B580468A4693463E -:101CD0001E001D481D4B9847041E2FD0B0422DD02A -:101CE0001B4F0AE0A3885B4515D05B46FF2B12D043 -:101CF000002D23D02C00AE4220D021001248B8473E -:101D0000050020684045F3D1A1795145EAD05346FA -:101D1000FF2BEDD1E6E70F4B98470F4B9847A18873 -:101D20000E4B9847002120000D4B98472100064894 -:101D30000C4B984720000C4B9847D9E71CBC9046A9 -:101D40009A46A346F0BDC046684D0020110601002A -:101D500045060100911C0000B9550000694B0000C8 -:101D600029FA0000ED060100D10A010070B5040057 -:101D70000D00064B9847002807D0054B98470023D5 -:101D8000FF2229002000034CA04770BD911C0000D9 -:101D9000C9550000C11C0000F8B504681748184B6D -:101DA0009847002820D00026144D164F04E001006B -:101DB0002800B84700280DD08442F8D00368226874 -:101DC0009342F4D143681B02626812029A42EED138 -:101DD0000126ECE7002E07D0210008480A4B98475F -:101DE00020000A4B9847F8BDA1792068084B984716 -:101DF000084B9847A188084B9847EDE7684D0020AD -:101E0000050601001D060100ED060100D10A0100D2 -:101E1000911C0000B9550000694B000010B504008A -:101E2000074B9847002804D03423E05CC006C00F5D -:101E300010BD22000023034803498847FEE7C0463F -:101E4000151400006C8801001D140000F0B585B069 -:101E500004000E00304B9847002805D122000023D3 -:101E60002E482F498847FEE720002E4B9847002830 -:101E700001D005B0F0BD20002B4B984707002B4B3D -:101E8000984705002A4B9847874209D02800294BDC -:101E90009847874204D02800274B98478742E8D1CB -:101EA0003222A35E210010310022885C6F46D0559B -:101EB0000132082AF9D19BB23A88D21A3A807A883C -:101EC000D21A7A80BA889A18BA80FA889B186A4619 -:101ED000FB80310002A8194B98470028C9D0200088 -:101EE000174B9847041E11D0144E2200103202A93D -:101EF0000800B0470028BCD020000A4B98470028B3 -:101F0000B7D120000E4B9847041EEED102A928003D -:101F10000C4B9847ADE7C046151400006C880100D3 -:101F20001D1400001D1E0000611A00009D1A000013 -:101F300045140000611400007D140000A7FB0000A0 -:101F4000391A00003942000030B583B00400144B48 -:101F5000984700281DD03223E25E20001030002375 -:101F6000C15C6D4659550133082BF9D193B22A88CB -:101F7000D21A69462A806A88D21A6A80AA889A1870 -:101F8000AA80EA889B18EB802000064B984703B094 -:101F900030BD22000023044804498847FEE7C046BC -:101FA000151400004D1E00006C8801001D14000077 -:101FB000F8B50400124B9847002805D122000023F1 -:101FC000104811498847FEE72000104B984705004C -:101FD000061D30000E4B984784420FD028000D4F4D -:101FE000B84701232200310030000B4EB0472200D9 -:101FF00001212800EB6998472800B847F8BDC04682 -:10200000151400006C8801001D140000391A00002E -:1020100005060100491F00007D070100F0B5D64606 -:102020004F464646C0B582B004000D001700264B4F -:102030009847002841D02668002E38D0338A228A5B -:102040009B1A5B199BB29A461BB29846758A638AA3 -:10205000ED1AED19ADB22BB299464346002B02D1D1 -:102060004B46002B23D02000184FB847694620006C -:10207000174B9847238A53442382638AEB18638261 -:10208000A38A5344A382E38AED18E5824A46414677 -:102090002000104B98476A4602212000E3699847C8 -:1020A000F36922000121300098472000B84702B0B0 -:1020B0001CBC90469946A246F0BD2200002306486B -:1020C00006498847FEE7C04615140000491F000076 -:1020D0006D1B0000A11700006C8801001D1400009A -:1020E000F0B5D6464F464646C0B584B004000F0052 -:1020F000019299460CAB00229A5E9046264B984777 -:10210000002805D122000023244825498847FEE7FE -:10211000002F0AD03800204B984700280AD13A00F7 -:1021200000231E481E498847FEE720001D4B9847A4 -:102130000700EFE703AD21001031380010302B000D -:10214000019A194EB0472000164B98471222835E21 -:102150006A88424429884944008A091A09B22980B8 -:10216000D21A12B26A802000104B984748236A4660 -:102170001279E254043B4A46E25202334246E252AA -:1021800027644922A35C02218B43A35404B01CBCE6 -:1021900090469946A246F0BD151400006C880100D7 -:1021A0001D140000391A0000D9FE00001D20000097 -:1021B000F0B5DE4657464E464546E0B583B080460C -:1021C0000191924699460CAB00229B5E9B46A14B27 -:1021D0009847002805D1424600239F489F498847D9 -:1021E000FEE740469E4B9847050040469D4B98476A -:1021F000040040469C4B9847C30F1B185B101EB24F -:1022000040469A4B9847C70F3F187F103FB2019B3B -:10221000002B0BD001988F4B984700280BD05346CA -:10222000142B1FD89B00924AD3589F464046914B8F -:1022300098470190EEE7019A00238748874988472D -:10224000FEE7019C2000884B9847C50F2D186D10A4 -:10225000AD1B2DB22000854B9847C40F2418641085 -:10226000E41B24B24046834B9847019A138A4B449F -:102270005D19018A691A1500528A5A441219448A52 -:10228000121B12B209B240467B4B98474823424684 -:102290005146D154043B4946D15202335946D1529A -:1022A0001564492243469B5C02210B4341468B54F3 -:1022B00003B03CBC90469946A246AB46F0BD754281 -:1022C0002DB27C4224B2CDE70198674B9847C50FE9 -:1022D0002D186D10AD1B2DB27C4224B2C2E70198BF -:1022E000614B9847851B2DB27C4224B2BAE77542F8 -:1022F0002DB201985D4B9847C41B24B2B2E7019CF4 -:102300002000594B9847C50F2D186D10AD1B2DB2ED -:102310002000564B9847C41B24B2A3E7019C200021 -:10232000514B9847851B2DB22000504B9847C41B3A -:1023300024B297E775422DB201984C4B9847C40FD1 -:1023400024186410E41B24B28CE7019C2000464B47 -:102350009847851B2DB22000444B9847C40F241882 -:102360006410E41B24B27DE775422DB27C4224B296 -:1023700078E701983C4B9847C50F2D186D10AD1BA1 -:102380002DB27C4224B26DE70198374B9847851BEC -:102390002DB27C4224B265E775422DB20198334BD1 -:1023A0009847C41B24B25DE7019C20002E4B984740 -:1023B000C50F2D186D10AD1B2DB220002B4B98476B -:1023C000C41B24B24EE7019C2000274B9847851B75 -:1023D0002DB22000254B9847C41B24B242E775421A -:1023E0002DB27C4224B23DE775422DB201981F4BBD -:1023F0009847C40F24186410E41B24B232E77542D6 -:102400002DB20198194B9847C41B24B22AE70198B2 -:10241000154B9847851B2DB27C4224B222E7019CC4 -:102420002000114B9847851B2DB220000F4B984779 -:10243000C40F24186410E41B24B213E7019C20008D -:10244000094B9847851B2DB22000084B9847C41BA9 -:1024500024B207E7151400006C8801001D14000069 -:10246000A91B0000ED1B0000311C0000611C0000D6 -:1024700014880100391A00001D20000010B582B038 -:102480000400134B9847002810D04923E35C9B07B6 -:1024900012D54423E35E4822A25C4621615E00918E -:1024A000216C20000B4CA04702B010BD220000237D -:1024B00009480A498847FEE74423E35E4822A25CB4 -:1024C0004621615E0091216C2000054CA047EBE79E -:1024D00015140000B12100006C8801001D140000DB -:1024E000E1200000F8B5060000210C4B9847041EBF -:1024F00012D00B4D094F2000A847002204212000D4 -:10250000E36998472000A8472000FFF7EBFF210070 -:102510003000B847041EEED1F8BDC046291B0000AC -:10252000491F000070B505000C00314B984700288A -:1025300013D0712C3ED8702C1BD2412C13D8402CB8 -:1025400017D2022C05D3072C13D92300103B082BDC -:102550000FD92800274B984728E02A000023264857 -:1025600026498847FEE7532C21D8502C01D24C2C09 -:10257000EFD128001F4B9847002204212800EB6967 -:102580009847152C0AD3182C01D9FF2C06D128689E -:10259000002803D0C3690022012198472800154B69 -:1025A0009847FF2C20D024B2002C1DDB70BD5C2C82 -:1025B000CFD1DEE77F2C0AD9114B9C4210D8114BAA -:1025C0009C42D6D2902CD4D0FF2CC2D1D1E77E2C05 -:1025D000CFD2732CBDD3752CCBD97C2CB9D1C8E705 -:1025E000094B9C42B5D1C4E72800084B9847DDE76A -:1025F00015140000491F00006C8801001D14000024 -:1026000081800000808000008E800000E5240000B2 -:1026100010B50400034B9847FF212000024B984758 -:1026200010BDC0466D1D000025250000F0B5C64652 -:1026300000B582B0070001910025214B9846002388 -:1026400000931CE05A1CD2B20AE0A7420FD0002F20 -:102650000DD00133DBB28B420DD01A000628F1D029 -:10266000009C8A42F1D2920034681459EDE7FF21B0 -:102670000198144B98470135EDB2402D0CD029003C -:102680000198C047061E07D001790029F3D043798D -:10269000062018400023E0E7002101980A4B9847E4 -:1026A000041E09D0084E21003800FFF7BFFF2100AB -:1026B0000198B047041EF6D102B004BC9046F0BDAC -:1026C000911C000025250000291B0000F0B5D6460E -:1026D0004F4680B583B001900020114B984781464A -:1026E000002817D00F4B9A460F4F104E4D463035ED -:1026F0002800D047041E07D021000198B8472100C8 -:102700002800B047041EF7D14846054B984781463C -:102710000028EBD103B00CBC91469A46F0BDC046F0 -:102720007DF60000050601002D2600001D060100B3 -:10273000F8B504000D00817900683F4B98473F4B86 -:102740009847A1880F230B40082B19DC002D08D1D6 -:102750000823E25E3A4B9847A1882068394B984796 -:10276000F8BDFF2D09D00823E65E0C23E25E921B24 -:102770006A431212921912B2ECE70C23E25EE9E707 -:102780000B2B3CDC002D05DDFE2D05DDA2892E4B3B -:102790009847E1E72289FAE7EDB2FF22521B637BFB -:1027A000DB086B43667AF60856439E1933029B1981 -:1027B000DB019B191B01DB0EA7897F05BF0E6F4351 -:1027C00026897605B60E5643BF193E02F619F60164 -:1027D000F619F600277BFF06FF0E7D43277AFF06DA -:1027E000FF0E7A43AD182A025219D2015219120172 -:1027F000B60E7601D20EDB0232431A43C7E70D2B29 -:1028000011DC002D05DDFE2D05DD227B0F4B9847E9 -:10281000A2E7227AFAE7227A237B9B1A5D432D12E4 -:102820005219D2B2F2E77F2D03DCA268084B984719 -:1028300092E7E268FAE7C046911C0000B955000033 -:102840008D4C000025250000ED4D00004D4F00008F -:10285000A150000010B50400054B9847002801D096 -:10286000002010BD22000023024803498847FEE7EC -:10287000151400006C8801001D140000F8B5DE4638 -:1028800057464E464546E0B582460D0000280AD020 -:10289000E94B9847002800D03AE152460023E74828 -:1028A000E7498847FEE7E74B9847002800D104E254 -:1028B0003030E54B98470400DF4B9847002805D19E -:1028C00022000023E148DE498847FEE7002C00D1C2 -:1028D000ECE14C212000DE4B984722003432537843 -:1028E00030218B435370DB4BE361DB4B23620023CE -:1028F000A361238263820020D84B98470138A082CD -:102900000020D74B98470138E082201D4C21D54B41 -:10291000984700210020618600233022A054013214 -:10292000A3541732A3544423E1520233E1522164E9 -:102930000132A35C0127BB43A354A163342398460F -:10294000E25C4B33134001229446624613437D22DE -:102950001340793A9343270034377A780E26B243EE -:102960000626B1464E4632430826B3430836B343E3 -:102970002C36A0551C3EB3432036B3434646A355E0 -:1029800063461A437A703D23E05461620C3F38007D -:10299000B54B9847002D00D140E12900283138007F -:1029A000B24B984729001831220010322B00103307 -:1029B00018781070013201338B42F9D13222AB5EAC -:1029C00063863023EA5CE2540133EA5CE254173355 -:1029D000EA5CE254043BEA5EE2520233EA5EE2520F -:1029E0002B6C23644922A95C01239B4601273940B3 -:1029F000A35C584683430B43A354AB69A3613423C0 -:102A0000EA5CD209D101E25C94467F2266463240FC -:102A10000A43E254EA5CD207D20FE15C81430A43E5 -:102A2000E254EA5C52083A405200E15C0226B143AB -:102A30000A43E25435229446AA5C210034310C3614 -:102A40001640B0464A780E26B243464632434A7094 -:102A5000EA5C92083A409200E65CB0460426B14631 -:102A60004646484686433243E254EA5CD2083A403E -:102A7000D200E05C80460820464686433243E2545A -:102A8000EA5C12093A401201E05C8046102046469A -:102A900086433243E254EA5C52093A405201E05C18 -:102AA00080462020464686433243E254EA5C92093F -:102AB0003A409201E75C402087433A43E2540833AE -:102AC000EA5CE2546346EB5CDB07DB0F4A7858466E -:102AD000824313434B70A86B002802D02100644B43 -:102AE00098472800634B9847002800D1D2E053460E -:102AF000002B00D1DAE028005F4B98470700280040 -:102B00005E4B98470200390020005D4B9847C4E0B7 -:102B10005346181D4C4B98470400474B98470028D4 -:102B20004BD0002C00D1C1E04C212000484B9847ED -:102B30005346236022003432537830218B43537044 -:102B4000444BE361444B23620023A36153461222AA -:102B50009B5E638253465F8A00204A4B984732232C -:102B6000434350334022FF32012093422BD8C019F7 -:102B7000E0822000444B9847012830D05346102271 -:102B80009B5E238253461F8A00203E4B9847642356 -:102B9000434350334022FF32012093420AD90020A0 -:102BA000384B98470300642058435030A021374BDE -:102BB000984780B2C019A082A7E6220000232348CC -:102BC0001F498847FEE700202E4B9847030032201C -:102BD00058435030A0212D4B984780B2C7E7534649 -:102BE00014229B5EA38253469F8A0020254B984760 -:102BF0006423434350334022FF32012093420AD9D9 -:102C00000020204B98470300642058435030A021F7 -:102C10001E4B984780B2381A208276E65346002B26 -:102C200004D0022120001A4B984736E001212000F1 -:102C3000174B98473AE0C046151400006C88010015 -:102C40001D140000A1F500006505010004880100C5 -:102C5000E50F0100D93D000079390000ADF5000015 -:102C6000D5F5000051050100F54800003956000077 -:102C700041160000391A0000A91B0000ED1B0000DE -:102C80001D200000FDF500005528000061790100BD -:102C9000011C01005346002B08D05346DB6922007B -:102CA0000121504698472000054B984720003CBC26 -:102CB00090469946A246AB46F8BD5446F6E7C04654 -:102CC000491F000070B504000D00084B984700280C -:102CD00006D03C23E05C2840431E9841C0B270BD42 -:102CE00022000023024803498847FEE7151400002C -:102CF0006C8801001D14000070B582B005000E0044 -:102D00000D4B9847002805D03F2E09D83D23E85C9D -:102D100002B070BD2A000023084809498847FEE731 -:102D200001AC267000236370220009212800054BA6 -:102D300098476078ECE7C046151400006C880100E5 -:102D40001D140000ED190000F0B5DE4657464E4652 -:102D5000C0B584B006000D001700130A01930028C7 -:102D600030D0244B9B46244B9A46244B99460CE08A -:102D700002AB06330020185E04B01CBC91469A4694 -:102D8000A346F0BD0025002E1DD029003000D847F5 -:102D9000009029003000D04704023C19A4B202ABD5 -:102DA0009A1D21000098C8470128E1D06B461B7985 -:102DB0005BB2002B07DA002DE4D13000104B9847AE -:102DC0000600DFE714000F4B1C40222C10D007D860 -:102DD0000620032CD0D0072C08D180204000CBE760 -:102DE0000F20312CC8D00130C02CC5D00020C3E743 -:102DF000FF20C1E7911C0000F92C0000795700006A -:102E0000391A0000FF80FFFFF0B5DE4657464E46F8 -:102E1000C0B584B006000D001700130A0193002806 -:102E200028D01C4B9B461C4B9A461C4B994605E0F0 -:102E300003AB188825E00025002E1CD029003000A7 -:102E4000D847009029003000D04704023C19A4B2B2 -:102E500003AA21000098C8470128E9D06B461B79D6 -:102E60005BB2002B07DA002DE5D130000C4B984700 -:102E70000600E0E714000B4B1C40293C0020012C0D -:102E800005D904B01CBC91469A46A346F0BD064B3A -:102E90001888F6E7911C0000F92C00004D5800003E -:102EA000391A0000FF80FFFF68880100F0B5DE4698 -:102EB00057464E46C0B584B006000D001700130AF1 -:102EC0000193002829D01E4B9B461E4B9A461E4B51 -:102ED000994605E002ABD8792AE00025002E1DD0E6 -:102EE00029003000D847009029003000D047040264 -:102EF0003C19A4B202ABDA1D21000098C847012892 -:102F0000E8D06B461B795BB2002B07DA002DE4D1C9 -:102F100030000E4B98470600DFE714000C4B1C40B6 -:102F20006D2C0BD00B4B9C4208D02C2C06D0FF20D4 -:102F300004B01CBC91469A46A346F0BD0020F7E7BA -:102F4000911C0000F92C000019590000391A0000EA -:102F5000FF80FFFFAD800000F0B5DE4657464E46CD -:102F6000C0B584B006000D001700130A01930028B5 -:102F70002CD01F4B9B461F4B9A461F4B994609E08E -:102F8000039804B01CBC91469A46A346F0BD0025A8 -:102F9000002E1CD029003000D847009029003000B6 -:102FA000D04704023C19A4B203AA21000098C847E4 -:102FB0000128E5D06B461B795BB2002B07DA002DA8 -:102FC000E5D130000D4B98470600E0E714000C4BAC -:102FD0001C40BE2C09D00B4B9C4203D07E2C01D050 -:102FE0000020CEE7084B9847CBE70848C9E7C04622 -:102FF000911C0000F92C0000ED590000391A000066 -:10300000FF80FFFF8E800000F51B010048C8010013 -:1030100070B50468A5880F232B40082B13DD0B2BFC -:1030200018DD0D2B1DDDA1792A002068104B984773 -:10303000A0600023A380A17923002A0020680D4E00 -:10304000B047A58070BDA1792A0020680A4B984737 -:103050002081EEE7A1792A002068084B984720815B -:10306000E7E7A1792A002068054B98472072E0E73E -:10307000592F0000C11C0000492D0000092E00003E -:10308000AD2E0000F0B5DE4657464E464546E0B54B -:103090009DB004008B463D23C35C8B4200D108E207 -:1030A000C34B9847002808D03D23E25C91465A461E -:1030B000E25400230093CA46B2E122000023BD4837 -:1030C000BD498847FEE773790422134373713D239A -:1030D00099465246E2542A0000992000B74FB8475B -:1030E00007904B465A46E2542A0000992000B84700 -:1030F00080467379042293437371079B83424BD0BC -:103100003D265346A3552A0000992000AB4B984713 -:10311000020081465B46A35529000198A84B9847B9 -:10312000012D00D194E0A748A74B98470600A04B7B -:103130009847002800D1A0E0002E2DD04B463381C7 -:103140004346B3813460B5806B461B78B3710CA8DD -:103150009E4B98470C969E4B0D939E4B0E939E4B09 -:103160000F9300231293FF331393069B1493059B35 -:103170005B421593049B1800083010AA197811704F -:10318000013201338342F9D10CA83622835C01213C -:103190008B438354914B9847029B023302930C2B31 -:1031A00000D137E109AB029AD55A002DF4D003982B -:1031B0008B4B9847009920008A4B984706008A4B12 -:1031C000984701900F232B40082B00DC7BE70B2B4B -:1031D00059DD0D2B00DDA3E07379042213437371D5 -:1031E0003D2399465246E2542A00009920007F4F21 -:1031F000B84780464B465A46E2542A0000992000C0 -:10320000B84707007379042293437371434683429E -:10321000C2D03D265346A3552A0000992000734B87 -:103220009847020007905B46A35529000198704B10 -:1032300098476448644B984706005D4B98470028C0 -:1032400068D0002EA8D06B461B7F3372377379E7A6 -:10325000684B994500D133E1984500D063E72000E1 -:10326000654FB847C60F3618761036B22000B847FB -:10327000C30F1B185B101BB23AE1320000235F48FA -:103280004D498847FEE773790422134373713D2348 -:1032900099465246E2542A0000992000584B98461D -:1032A0009847071C4B465A46E2542A0000992000D2 -:1032B000C0476B4698837379042293437371BFB2FE -:1032C00083B29F4200D167E73D265346A3552A00AB -:1032D000009920004A4B9847071C5B46A355021CE7 -:1032E00029000198474B98473648374B98470600C6 -:1032F0002F4B9847002807D0002E00D14CE737818C -:103300006B469B8BB3811DE7320000233B482A4963 -:103310008847FEE732000023384827498847FEE700 -:103320003D2399465246E254737904221343737144 -:103330002A0000992000344FB84708904B465A465F -:10334000E2542A0000992000B84707000C907379D6 -:103350000422934373710CA908A82C4B98470028AA -:1033600000D119E73D265346A3552A0000992000B5 -:10337000254B9847814608905B46A35502002900DB -:103380000198234B98470F480F4B98470600084B6E -:103390009847002806D0002E00D1FDE64B46B360CA -:1033A000F760CFE632000023144803498847FEE760 -:1033B000151400006C8801001D140000492D000048 -:1033C0008D4C0000684D002065050100E5F9000006 -:1033D0003127000011300000991D0000A5FA0000FF -:1033E00001570000911C0000B9550000AD2E0000EF -:1033F0004D4F0000FF7F0000311C000004880100D9 -:10340000092E0000ED4D0000592F0000FD7E010047 -:10341000A1500000009B0133DBB20093402B44D04D -:1034200000992000364B9847039000283DD04379FF -:103430001B07EFD4B022009E31002000314B98478B -:103440000690B122310020002E4B98470590BE22F5 -:10345000310020002C4B98470490B222310020000C -:10346000284B984709AD2880B32231002000254B16 -:1034700098476880B42231002000224B9847A880EA -:10348000B522310020001F4B9847E880B62231005A -:1034900020001C4B98472881B72231002000194B8F -:1034A00098476881002302937CE6FF212000174B98 -:1034B00098471DB03CBC90469946A246AB46F0BD2D -:1034C0002000134FB847C60F3618761036B22000CA -:1034D000B847C30F1B185B101BB2711C5A1C8A42E1 -:1034E00000DD0A0012B291460A4A904500D01AE661 -:1034F00001360133B34200DD33001BB2984612E6B9 -:10350000911C0000492D0000592F000025250000C6 -:10351000311C0000FF7F000070B504000D000A4B55 -:103520009847002809D03D23E35C290019438B42CA -:1035300002D02000054B984770BD220000230448AC -:1035400004498847FEE7C046151400008530000096 -:103550006C8801001D14000070B504000D000A4BBA -:103560009847002809D03D23E35C1900A9438B420A -:1035700002D02000054B984770BD2200002304486C -:1035800004498847FEE7C046151400008530000056 -:103590006C8801001D14000010B50400054B98470D -:1035A000002801D0A06B10BD22000023024803496F -:1035B0008847FEE7151400006C8801001D14000008 -:1035C00010B504000A4B9847002809D0A06B0028CA -:1035D0000CD0084B9847201A44426041C0B210BD3D -:1035E00022000023044805498847FEE70020F6E74B -:1035F00015140000DD1600006C8801001D14000089 -:1036000010B50368002B0DD0021D01231468002C97 -:1036100004D00133DBB20432072BF7D19B001950E1 -:10362000012010BD0023F9E7F0B5CE4600B582B009 -:1036300005000E0014000122C84B98472080C84A9C -:1036400031002800C74B984701900700052835D95D -:10365000237B002B3FD1237D002B00D06CE0237F08 -:10366000002B00D08FE03623E35C002B00D0AFE0CE -:103670002823E35C052B00D9F7E04423E35C052B0A -:1036800000D923E1F92F22D86B469B88227B5A432D -:10369000120A2273227D5A43120A22752821625C83 -:1036A0005A43120A62540E31625C5A43120A62543F -:1036B0004422A75C5F433F0AA75408E0002323731A -:1036C00023752822A3540E32A3540E32A35402B001 -:1036D00004BC9146F0BD2C2231002800A14B984734 -:1036E00020730528B7D92922310028009E4B98471E -:1036F0006080232231002800984B9847C0B2A07107 -:10370000002806D1202231002800944B984760738E -:10371000A1E72A2231002800934B9847A08021225C -:10372000310028008D4B9946984720812222310094 -:103730002800C8476081E5E7302231002800874B28 -:1037400098472082002800D189E73C2231002800D8 -:10375000844B98472075052806D83222310028006E -:103760007E4B984760757AE73122310028007B4B09 -:103770009847FF23184060823922310028007A4B95 -:103780009847E081E9E7402231002800734B9847D1 -:103790002083002800D166E74C2231002800714BBD -:1037A00098472077052806D84222310028006B4B25 -:1037B0009847607757E7412231002800674B9847C8 -:1037C0006083492231002800674B9847E082EBE78D -:1037D0006E2231002800654B9847E062002800D136 -:1037E00046E76C22310028005E4B98473623E054B0 -:1037F000052800D83CE76D2231002800594B984736 -:103800003723E054612231002800544B98470300CD -:10381000581E83413822A05C012188431843A054DC -:10382000E06A534B984702280BD03723E35C052B03 -:1038300014D8602231002800484B98473923E054BF -:1038400016E7692231002800474B9847A086494A6D -:1038500031002800454B98472063EAE76922310090 -:103860002800414B9847A086E3E75022310028000A -:103870003A4B98472084002800D1FEE65C223100B4 -:103880002800384B98472823E054052800D8F4E650 -:10389000512231002800314B9946984760845222CA -:1038A00031002800C847A084532231002800C847AF -:1038B000E0845922310028002B4B9847E0835422A2 -:1038C00031002800C8472923E054D6E67F22310082 -:1038D0002800264B9847E063002800D1D2E67C22DE -:1038E000310028001F4B98474423E054052800D896 -:1038F000C8E6732231002800184B994698474823A0 -:10390000E052742231002800C8474A23E05279224D -:1039100031002800144B98474623E0527E223100A4 -:103920002800124B98472064702231002800C847B5 -:103930004C23E052712231002800C8474E23E05248 -:10394000752231002800C8475023E054722231000C -:103950002800C8475123E05494E6C046492D000092 -:103960000C800000AD2E0000092E0000592F000031 -:10397000F98000008E800000F0B59BB004000E00BE -:10398000022A07D0002A61D00020012A00D1B5E028 -:103990001BB0F0BD0021814B984703000320002B92 -:1039A000F6D10122002120007C4FB847019004226B -:1039B00000212000B8470500052200212000B8475B -:1039C00027001037002305A9FA5C5A540133082B4D -:1039D000FAD1ADB205A90B885B1B0B808B88ED1863 -:1039E0008D8080B24B881B1A4B80CB88C018C88052 -:1039F000019A30006A4B984703000220002BC7D081 -:103A00002C2200212000674B984703000220F92B4D -:103A1000BED9202200212000604B9847C3B202206B -:103A2000002BB5D13222002120005C4B9847C3B255 -:103A30000220002BACD15C4A00212000594B984752 -:103A40000023F92282425B41581CA1E705A8574B8D -:103A50009847332200212000504B9847002802D07D -:103A6000002205AB1A7505AA00212000504B98478B -:103A7000042200212000494FB847050005220021FB -:103A80002000B84727001037002303A9FA5C5A54D6 -:103A90000133082BFAD1ADB203AB1A88521B1A803E -:103AA0009A88AD189D8080B25A88121A5A80DA8896 -:103AB0008018D88005AA310018003E4B9847022292 -:103AC00000212000354B9847002801D100205FE7F6 -:103AD0001C20394B984705000122002120002F4B64 -:103AE00098470200002339002800344EB04798233D -:103AF0009B00E1182800324B9847E7E7013200218C -:103B00002000264B9847002840D133220021200076 -:103B1000224B984703000020002B00D138E705AD69 -:103B20002800224B984700232B733622AB540E3AC1 -:103B3000AB542A00002120001D4B9847042200218D -:103B40002000164FB8470500052200212000B84785 -:103B50001034002303A9E25C5A540133082BFAD134 -:103B6000ADB203AB1A88521B1A809A88AD189D809B -:103B700080B25A88121A5A80DA888018D88005AA2A -:103B8000310018000B4B9847002001E798239B0059 -:103B9000E0180C4B98470C4B9847B6E7492D0000AE -:103BA00035FE0000AD2E00000C800000B9AA000018 -:103BB000293600005DAB0000590E0100EDA70000A2 -:103BC00085A500002DA600006D0B0100F0B5DE46B6 -:103BD00057464E46C0B58AB0040004915022784B37 -:103BE00098470600051E30D17F22049F390020002F -:103BF000744B9847061E06D07C2239002000724B79 -:103C00009847052850D84022049920006C4B9847CB -:103C1000061E00D0C0E0042204992000684FB84777 -:103C20000600052204992000B847031CB04200DAC0 -:103C3000331C1AB2002A01DDED182DB228000AB09B -:103C40001CBC91469A46A346F0BD5C220499200014 -:103C50005D4B984700250528C6D95322049D2900AD -:103C60002000574FB847F30F9E19761001363618CB -:103C7000B6B25122049529002000B847050052220F -:103C800004992000B847EA17AB185340C2178018B0 -:103C90005040984200DA18003018031C020401D486 -:103CA0001DB2A1E70023FBE77022049F390020002A -:103CB000434B994698470590702239002000C84729 -:103CC00083467E220497390020003E4B984702002D -:103CD00006AF00218A4602913C4B01935946009160 -:103CE000059B310038003A4EB04708AE534633804A -:103CF00073803B88013BB3807B88013BF380752256 -:103D0000049F39002000C847059073223900200025 -:103D1000C8478246742239002000C847814607AA56 -:103D200013006A46127D2000103005933100294FA0 -:103D3000B847059A138853449BB252884A4492B2BA -:103D40001020215E36889E1936B28E1BAE4200DAF4 -:103D50002E001221605E08A94988511809B236B2B6 -:103D6000411AB14200DA310008A880881B181BB242 -:103D70001425605F09B21B1A8B4200DA0B0008A9F8 -:103D8000C988521812B21620215E1BB2521A9A42EA -:103D900000DA1A0015B236E74C22049920000A4BCB -:103DA0009847052800D836E7412204992000044BA3 -:103DB00098478619AE4200DA2E0035B22BE7C0468E -:103DC000492D0000592F0000AD2E0000187C000086 -:103DD0007D1A0100D9FE000010B5040008291BD08F -:103DE000072924D0012927D006292BD0032935D033 -:103DF00004293DD00B293FD00B000D3B012B40D9AE -:103E0000162943D0172957D0012000290AD12000B4 -:103E10002C4B9847012005E01378002B03D1283460 -:103E20005460012010BD002353600120FAE72649A9 -:103E30001000264B9847F5E7254B9847012358403B -:103E4000C0B2EFE70021234B9847638E1A1C1BB2C8 -:103E5000834200DA021C62860120E3E74923C35C47 -:103E60000120DB07DED520001B4B98470120D9E756 -:103E70001A4B98470120D5E70531194B9847012087 -:103E8000D0E71021174B98470120CBE7164B9847F6 -:103E9000164B9847002805D006212000104B984764 -:103EA0000120BFE7022120000D4B9847042120008C -:103EB0000C4B98470120B5E711390A4B9847012070 -:103EC000B0E7C0466D1D00007C880100013600008F -:103ED000C52C0000CD3B00007D240000051A000029 -:103EE000193500005935000099350000F31600001F -:103EF000F0B5CE4600B582B0040001900D0010313F -:103F000000221F4B9847002827D03423EB5CDB06A8 -:103F100025D42B6A002B28D00222210028009847A4 -:103F2000814603281DD02E1D3000164B9847041ED5 -:103F30000BD0154F21000198FFF7DAFF002808D1B8 -:103F400021003000B847041EF4D100204B46012B5D -:103F500009D002B004BC9146F0BD0020F9E7002072 -:103F6000F7E70020F5E72800F3E72E1D3000054BAA -:103F700098470400022399460028DAD1E9E7C046B1 -:103F800035FE0000050601001D060100F0B5D6460D -:103F90004F4680B58DB007000D003423C35CDB06AF -:103FA00004D50DB00CBC91469A46F0BD3223C65ED6 -:103FB00006AC21002E4B9847B3B22288D21A228039 -:103FC0006288D21A6280A2889A18A280E2889B181E -:103FD000E3802200290008A8264B98470028E0D05B -:103FE0003B6A002B03D0002208A93800984706A995 -:103FF00038001F4B984706AA29000AA81D4B98476E -:10400000002807D13B6A002BCBD0012208A9380039 -:104010009847C6E73B1D01931800174B9847051EAC -:10402000F0D0134B9A46134B9946144E04E02900E6 -:104030000198B047051EE5D004AC21002800D04708 -:104040006B8E2288D21A22806288D21A6280A2885D -:104050009A18A280E2889B18E38022000AA902A88D -:10406000C8470028E3D002A92800FFF78FFFDEE74A -:104070006D1B0000A7FB00001106010045060100B2 -:10408000F0B5D64600B582B0041E01910DD001995D -:1040900020001A4B98472000194B9847051E0AD05C -:1040A000184B9A46154E1F0010E0174B1868174B17 -:1040B0009847041EEBD102B004BC9246F0BD280024 -:1040C0000F4B98472C000028F5D005002B1D0093BE -:1040D00021001800D047041E07D001992000B047E6 -:1040E00021000098B847041EF7D12B6A002BE6D0B8 -:1040F0000122019928009847E1E7C0468D3F000062 -:10410000391A000045060100E82600204514000089 -:1041100070B51C4D28681C4B9847040028681B4B41 -:10412000984700280DD10123A361164B18684368F6 -:104130001A6AD2070FD51B6A9B070CD50123E361CE -:104140000BE0104D2868A369002BECD0C369002B4D -:10415000F9D09847F6E70023E361C368002B03D04A -:1041600021001031A26898472368002B06D06268AE -:10417000002A03D0A1688B4201D0A36070BDA26069 -:10418000FCE7C046E8260020A1F60000A5F60000E6 -:1041900070B582B005001C4E30681C4B9847040077 -:1041A00030681B4B9847002809D1174E3068A36927 -:1041B000002B04D0C369002BF9D09847F6E7220002 -:1041C000103229006846134B98470F4C2068124B59 -:1041D000984701006846114B98476946104DA8471B -:1041E0002068104B98476946A84720680E4B9847AF -:1041F0006946A84720680D4B9847002801D002B0B7 -:1042000070BD0B4B9847FAE7E8260020A1F60000A6 -:10421000A5F60000A7FB000045140000F13E0000D9 -:1042200081400000611400007D140000BDF6000014 -:104230001141000070470000F0B585B005000E0088 -:10424000002857D0002E5AD002AC00232380638070 -:104250002800374B98470138A0802800354B9847F5 -:104260000138E080220031006846334B984700282F -:104270004BD02B69002B02D0694628009847B42305 -:104280005B00EB5A9B059B0D002B14DD00210024E5 -:104290002A4EB4277F000931C900691800226846F8 -:1042A000B047002831D10134A4B22100EB5B9B055B -:1042B0009B0D9C42EFDB1F2B29DC0933DB00EB1845 -:1042C00000226946515C99540132082AF9D1B4217F -:1042D00049006B5A9A058020C00384466244920DBF -:1042E0009B0A9B0213436B52E86A6639FF39144BF1 -:1042F00098470AE0134B9847051E06D0A2E7B42260 -:104300005200AB5A9B0A9B02AB5205B0F0BDB422DF -:104310005200AB5A9B0A9B02AB5228004830002344 -:1043200002A95A5CC2540133082BFAD1CFE7C04628 -:10433000ADF50000D5F50000A7FB000035FE00003C -:10434000E1140100A1F50000014B18687047C04658 -:10435000E8260020F0B5DE4657464E464546E0B515 -:1043600089B00500C74B98470590C74CEB682360A0 -:1043700000212800C54B98472068C36B002B0ED046 -:10438000B4235B00C35A9B0548270026002B00D1AD -:1043900084E2BD4B9846BE4B9A46C34656E0B422D3 -:1043A0005200835A9B0A9B0283526DE200194930E6 -:1043B000FF30073B03700134B34B1868B4235B0034 -:1043C000C35A9B059B0D9C4235D203194933FF33D9 -:1043D0001B78002BEFD1A642EDD025000935ED006A -:1043E0004119C019D0470028E5D05B4619684A1921 -:1043F000C91906A8A74B984706A8A74B99469847FE -:1044000000905B461B68D819C84701905B461B6843 -:104410005819C847019B9C466044009B8342CAD2FE -:10442000994B1868C119002306AA9A5CCA54013333 -:10443000082BF9D1BAE70136934B1868B4235B0017 -:10444000C35A9B059B0D08379E420FD280194930F5 -:10445000FF300378002BEED143461868B4235B008D -:10446000C35A9B0500D1FBE10024AEE700218B4A33 -:104470001160B4225200825A920500D1F8E11A006C -:10448000013A04922DD4049942184932FF3212782D -:10449000002A0DD04733FF33C3180A00013A05D371 -:1044A000013B59780029F9D1049201E000230493DB -:1044B00041682023CA5C0124A243CA544168CA5CF3 -:1044C00002208243CA54704B1C68B4235B00E35A39 -:1044D0009B0500D1CCE14823019300239B46270094 -:1044E00044E000230493E3E7796820228B5C0120F9 -:1044F00003438B5444E0644C2068694B98470500A3 -:10450000002606822068674B98470138A8826E8291 -:104510002068654B98470138E88223685968202253 -:104520008B5C022003438B540098604B9847564B9A -:1045300018688369002B09D0019B9C466044564B48 -:104540009847564B1A6894466044186001239C466D -:10455000E3444D4B1F68019B08330193B4235B0078 -:10456000FB5A9B059B0D9B4500DB81E15B46FB18DD -:104570004933FF331B78002BE8D1049B5B45B3D054 -:10458000796820228B5C022083438B54019B9C46DC -:10459000BC44634600933800454B98470028AAD195 -:1045A000394B9A4618683E4B984706005B46DB003D -:1045B000FF184C23FC5A0134043BFB5AE41A23B283 -:1045C00098464E23FC5E651C4A23FB5AED1A2DB219 -:1045D00053461868344B9847844231DA4E23FB5EC9 -:1045E00099464146F068334B9847A846854200DD1E -:1045F0008046254B1B681B69002B2FD0002306AA81 -:1046000013809380538043461DB21F4B9A46434606 -:10461000B0461E006C1E24B206ABDC805346186800 -:10462000036906A9984706AB0621595E4B1C06AAEA -:1046300052889B1A1BB29E420ADA251EEADC76E7F4 -:10464000114B1868184B9847013803B29946C8E7D0 -:104650004646002D00DC6AE74B1C98464A23FC5E68 -:104660004B4602934346E318013B4B4567DC434608 -:104670006A46938193899A46013B03934B46B94618 -:104680001F0026E025F70000E8260020E1140100C5 -:10469000F1FD000015FC00008BFB0000EC26002063 -:1046A000A1F60000ADF50000D5F500009141000035 -:1046B000BDF6000061790100AF421CD000987D4B2F -:1046C0009847544424B24346E318013B029A93426C -:1046D0001ADC48234A46D35E33824C234A46D35ED3 -:1046E000B3827482A4B2039BE5182DB2F582AF4267 -:1046F000E2DAF7823D00704B1B68596820228B5C20 -:10470000022003438B54D9E73B004F469946A94505 -:1047100000D10CE74823FB5E33824C23FB5EB3825F -:1047200074824B46F382644B1B68596820228B5C71 -:10473000022003438B5400985E4B9847F7E6002510 -:10474000E5E75E4B9847002804D05B4B1868436947 -:10475000002B1FD0584C2068483080214900584D0C -:10476000A84720684930FF302021A8472168B4229B -:1047700052008B5A9B0A9B028B520598514B9847CB -:10478000010020688369002B00D179E04E4A12684D -:10479000984775E04D4B984704004D4B9847A369E7 -:1047A000002BFCD1A3689B46236899469B4501D109 -:1047B00063689946404C2068464B984700902368B0 -:1047C000B42252009A5A9205C4D042009246002662 -:1047D00035000BE00136B6B23500374B1B68B4220A -:1047E00052009A5A9205920D9642B3DA5A194932FA -:1047F000FF321278002AEDD1EA009B184A229F5E10 -:1048000048229A5E009C7C43A41864004C215B5AA9 -:1048100001339B1A1BB25B0001932B000933DB00B1 -:10482000254A126802929446634406229B5EBB426C -:10483000D0DBA046D8444C440935ED00019A210054 -:104840004046254B984701373FB2D04454441A4B59 -:104850001B6802935B1906229B5EBB42EEDAB9E746 -:104860000022194B1A60B4235B00C35A9B0512D176 -:10487000114B1868B4235B00C35A9B0500D060E756 -:10488000164B9847164B984709B03CBC9046994642 -:10489000A246AB46F0BD0023049309E600220A4B72 -:1048A0001A60B4235B00C35A9B05E9D0002304932C -:1048B000FEE5C04691410000E8260020BDF600005C -:1048C000E50F010041F70000EC260020A1F60000F2 -:1048D00011410000ADF50000250C0100CD0B0100D9 -:1048E000D5F3000010B50421014B984710BDC04618 -:1048F000E50F010010B50821014B984710BDC046D7 -:10490000E50F010070B504000D000679002E45D0BA -:104910000068036899420CD0031D721ED2B20132A6 -:10492000920082189A4239D00433191F0968A942AB -:10493000F8D1012E10D0711E8900194B984706003E -:10494000184B9847002811D0002E27D02279002A32 -:1049500021D00021002314E0134B9847002323604B -:104960002371637901229343637117E032000023BE -:104970000E480F498847FEE70133DBB222799A429D -:1049800009D99A00206812589542F5D088008251C2 -:104990000131C9B2F0E7013A2271266070BDC0460C -:1049A000DD0D010015140000D10A0100048801008A -:1049B0001D14000070B505000C00002830D01F4BFE -:1049C00098472B79002B2CD104201D4B98470600CB -:1049D00030001C4B984700282AD0002E20D06B793D -:1049E0005908012211401A4200D001312A7991421E -:1049F00010D2154BD3189B00F31814481018013A25 -:104A0000521AD2B2821A9200B21818685860043B47 -:104A10009342FAD189008C512B7901332B712E608E -:104A200070BD013399002868094B98470600CFE70D -:104A300032000023074808498847FEE7054900007F -:104A4000090A010015140000FFFFFF3FFEFFFF3FB2 -:104A5000DD0D0100048801001D14000070B5050083 -:104A60004279D3070FD506231340063B5A425341E0 -:104A7000DBB20279002A22D09A4222D902689B0036 -:104A80009C58200070BD04200F4B984704000F4B2A -:104A9000984700280DD0002CF3D020000C4B9847ED -:104AA000210028000B4B98476B79012213436B714F -:104AB000E7E722000023084808498847FEE700246A -:104AC000DFE70024DDE7C046090A010015140000F5 -:104AD000E5480000B5490000048801001D140000ED -:104AE00010B504000068024B98470023236010BDF6 -:104AF000D10A010010B50168002919D00B78FF2BED -:104B000012D000200F2403E0901C0B5CFF2B0CD074 -:104B10002340821C082BF7DD821C0B2BF4DD021DC9 -:104B20000D2BF1DC421CEFE70020023080B210BDFB -:104B30000020FCE770B506000C1E0DD00B68002BA2 -:104B40000AD00800054B98470500054B9847306090 -:104B500021682A00034B984770BDC046F54A000003 -:104B6000090A0100250C0100F0B5DE4657464E4605 -:104B70004546E0B585B0061E039100D17BE0006894 -:104B8000002800D17BE0CCB20B0A9846191C0378B0 -:104B9000FF2B4ED0012252420292934600227F25E3 -:104BA000AA464906490E8C46703DC146B0461CE0F7 -:104BB000811849784F464F4056463E420DD049062F -:104BC000490E01910F006646B74310D159450EDDDD -:104BD00009B28B4611B2029109E04346C8461E0055 -:104BE00015E08A1C835CFF2B0DD09C42E0D02B404B -:104BF000911C082BF5DD911C0B2BF2DD111D0D2BEB -:104C0000EFDC511CEDE74346C8461E00029A002A1D -:104C100033DB14008018437842465A4013000020CA -:104C20005B060AD005B03CBC90469946A246AB460E -:104C3000F0BD01235B420293E8E73000114B984737 -:104C40000F23039A134004210B2B03DD01390D2B95 -:104C500000DD03310D00411A8C4206D233685A1927 -:104C6000125D1A5501348C42F8D13068064B9847D2 -:104C700030600120D6E70020D4E70020D2E70020F2 -:104C8000D0E7C046F54A0000DD0D0100F0B5DE4674 -:104C900057464E464546E0B587B0060002ABD98080 -:104CA00003AB1A800468002C58D0CDB20B0A9A4688 -:104CB000191C2378FF2B4DD0012252429046944676 -:104CC00000227F2083464906490E894670380296A5 -:104CD0001AE0A118497856464E405F4637420DD03B -:104CE0004906490E01910E004F46BE430ED1614563 -:104CF0000CDD09B28C4611B2884607E0029E13E033 -:104D00008A1CA35CFF2B0DD09D42E2D00340911C76 -:104D1000082BF5DD911C0B2BF2DD111D0D2BEFDCAB -:104D2000511CEDE7029E4246002A17DBA3185B7870 -:104D300055465D406B0611D10232A41803AB1A78B8 -:104D400022705B78637007B03CBC90469946A246DF -:104D5000AB46F0BD01235B429846E4E7FF220E23F9 -:104D600002A98C4663441A8030001B4B98470028E8 -:104D700000D10230043085B229002000174B98473B -:104D80003060174B9847002820D0002EDBD0AB1F97 -:104D900032689446634402AA9179063219705278B7 -:104DA0005A702B1F32689446634403AA1178197015 -:104DB00052785A70023D33685D190E2302AA944658 -:104DC00063441A782A705B786B70BCE73268002302 -:104DD000044805498847FEE7F54A0000DD0D01005B -:104DE00015140000048801001D140000F0B5DE4613 -:104DF00057464E464546E0B587B0060003AB1A80DD -:104E000002ABD9800468002C58D0CDB20B0A9A4668 -:104E1000191C2378FF2B4DD0012252429046944614 -:104E200000227F2083464906490E89467038029643 -:104E30001AE0A118497856464E405F4637420DD0D9 -:104E40004906490E01910E004F46BE430ED1614501 -:104E50000CDD09B28C4611B2884607E0029E13E0D1 -:104E60008A1CA35CFF2B0DD09D42E2D00340911C15 -:104E7000082BF5DD911C0B2BF2DD111D0D2BEFDC4A -:104E8000511CEDE7029E4246002A17DBA3185B780F -:104E900055465D406B0611D10232A41803AB1A7857 -:104EA00022705B78637007B03CBC90469946A2467E -:104EB000AB46F0BD01235B429846E4E7FF220E2398 -:104EC00002A98C4663441A8030001B4B9847002887 -:104ED00000D10230043085B229002000174B9847DA -:104EE0003060174B9847002820D0002EDBD0AB1F36 -:104EF00032689446634402AA917906321970527856 -:104F00005A702B1F32689446634403AA11781970B3 -:104F100052785A70023D33685D190E2302AA9446F6 -:104F200063441A782A705B786B70BCE732680023A0 -:104F3000044805498847FEE7F54A0000DD0D0100F9 -:104F400015140000048801001D140000F0B5DE46B1 -:104F500057464E464546E0B587B00600019202AB83 -:104F6000D9800468002C55D0C8B20B0A9A46191C87 -:104F70002378FF2B4AD001225242904694460022C9 -:104F80007F25AB464906490E8946703D02961AE0D8 -:104F9000A118497856464E405F4637420DD0490623 -:104FA000490E00910E004F46BE430ED161450CDD07 -:104FB00009B28C4611B2884607E0029E13E08A1CB3 -:104FC000A35CFF2B0DD09842E2D02B40911C082B04 -:104FD000F5DD911C0B2BF2DD111D0D2BEFDC511CAF -:104FE000EDE7029E4246002A14DBA3185B78504688 -:104FF000584043060ED1A2186B461B79937007B038 -:105000003CBC90469946A246AB46F0BD01235B42AC -:105010009846E7E7FF220E2302A98C4663441A80D4 -:1050200030001A4B9847002800D10230033085B277 -:1050300029002000164B98473060164B98470028EF -:105040001DD0002EDBD06B1F32689446634402AA49 -:1050500091790632197052785A7033685B19033BA4 -:105060006A4612791A70023D33685D190E2302AA4E -:10507000944663441A782A705B786B70BFE7326895 -:105080000023054805498847FEE7C046F54A000069 -:10509000DD0D010015140000048801001D1400003E -:1050A000F0B5DE4657464E464546E0B587B00600A9 -:1050B000029202ABD9800468002C5FD0CDB20B0AFB -:1050C0009A46181C2378FF2B54D001225242904656 -:1050D000944600227F218B464006410E89460F21CF -:1050E00001961AE0A0184078564646405F4637427F -:1050F0000DD04006400E009006004F46BE430ED134 -:1051000060450CDD00B2844610B2804607E0019E87 -:1051100013E0821CA35CFF2B0DD09D42E2D00B401C -:10512000901C082BF5DD901C0B2BF2DD101D0D2BB8 -:10513000EFDC501CEDE7019E4246002A1EDBA3185F -:105140005B7855465D406B0618D10232A41802AB5D -:105150001B78237002AB5B78637002AB9B78A37003 -:1051600002ABDB78E37007B03CBC90469946A246A0 -:10517000AB46F0BD01235B429846DDE7FF220E23DC -:1051800002A98C4663441A8030001F4B98470028C0 -:1051900000D10230063085B2290020001B4B984711 -:1051A00030601B4B9847002828D0002EDBD02B0006 -:1051B000083B32689446634402AA9179063219701A -:1051C00052785A70AB1F32689446634402AA127830 -:1051D0001A7002AA52785A7002AA92789A7002AA99 -:1051E000D278DA70023D33685D190E2302AA944624 -:1051F00063441A782A705B786B70B4E732680023D6 -:10520000044805498847FEE7F54A0000DD0D010026 -:1052100015140000048801001D140000F0B5DE46DE -:1052200057464E464546E0B585B081460392002874 -:105230005BD00568002D5BD0CEB2090A081C2B7824 -:10524000FF2B4ED0012252420292934600227F242D -:10525000A2464006400E84460F2788461AE0A8184A -:10526000407844464440514621420DD04006400E0D -:105270000190040061468C430ED158450CDD01B20B -:105280008B4611B2029107E0414613E0821CAB5CF1 -:10529000FF2B0DD09E42E2D03B40901C082BF5DD49 -:1052A000901C0B2BF2DD101D0D2BEFDC501CEDE7DD -:1052B0004146029A002A1EDB931CED182B780398B6 -:1052C00003706B7843704B461B689A1850784906F8 -:1052D000490E084005B03CBC90469946A246AB46F4 -:1052E000F0BD01235B420293E3E701204042F1E776 -:1052F00001204042EEE701204042EBE7F0B5DE46F8 -:1053000057464E464546E0B585B081460392002893 -:1053100058D00568002D58D0CEB2090A081C2B7849 -:10532000FF2B4BD0012252420292934600227F244F -:10533000A2464006400E84460F2788461AE0A81869 -:10534000407844464440514621420DD04006400E2C -:105350000190040061468C430ED158450CDD01B22A -:105360008B4611B2029107E0414613E0821CAB5C10 -:10537000FF2B0DD09E42E2D03B40901C082BF5DD68 -:10538000901C0B2BF2DD101D0D2BEFDC501CEDE7FC -:105390004146029A002A1BDBAD18AB7803980370D4 -:1053A0004B461B689A1850784906490E084005B0CC -:1053B0003CBC90469946A246AB46F0BD01235B42F9 -:1053C0000293E6E701204042F1E701204042EEE788 -:1053D00001204042EBE7F0B5DE4657464E464546D3 -:1053E000E0B585B08146039200285BD00568002DAA -:1053F0005BD0CEB2090A081C2B78FF2B4ED00122BD -:1054000052420292934600227F24A2464006400E5A -:1054100084460F2788461AE0A8184078444644403E -:10542000514621420DD04006400E019004006146D5 -:105430008C430ED158450CDD01B28B4611B202915E -:1054400007E0414613E0821CAB5CFF2B0DD09E426F -:10545000E2D03B40901C082BF5DD901C0B2BF2DDBD -:10546000101D0D2BEFDC501CEDE74146029A002A7F -:105470001EDB931CED182B78039803706B78437038 -:105480004B461B689A1850784906490E084005B0EB -:105490003CBC90469946A246AB46F0BD01235B4218 -:1054A0000293E3E701204042F1E701204042EEE7AA -:1054B00001204042EBE7F0B5DE4657464E464546F2 -:1054C000E0B585B08146934600285FD00668002E7F -:1054D0005FD0CFB20A0A111C3378FF2B52D00120C3 -:1054E0004042039002900024803082464906490ED3 -:1054F0008C460F2190461BE03219507842464240BC -:10550000554615420ED04006400E019005006246F9 -:1055100095430FD1029A90420CDD02B2029222B260 -:10552000039207E0424613E0941C335DFF2B0DD03D -:105530009F42E1D00B40A21C082BF5DDA21C0B2BD7 -:10554000F2DD221D0D2BEFDC621CEDE74246039CD1 -:10555000002C21DB20000234361900235C46F15C6C -:10556000E1540133042BFAD14B461B681B185878C1 -:105570005206520E104005B03CBC90469946A246D9 -:10558000AB46F0BD01235B420393E0E701204042BC -:10559000F1E701204042EEE701204042EBE743798A -:1055A000DA0707D59B0702D40368186870470368B9 -:1055B0005868FBE70020F9E743799B0702D50368A9 -:1055C000186870470020FCE770B5041E26D04379A8 -:1055D000DB0708D5144B9847051E04D0134B98479A -:1055E0002800134B984763799B0709D52000114B7E -:1055F0009847051E04D00D4B984728000C4B984740 -:105600002379002B0BD100232360237163790122BE -:1056100093430132934302329343637170BD206818 -:10562000034B9847EFE7C0469F550000E14A000052 -:10563000D10A0100B955000070B505000C002B4BD4 -:1056400098472368002B3ED06379DA071FD49B0765 -:1056500010D5207901388000254B984728602279A1 -:10566000013A92002368191D224B98472379013B88 -:105670002B7128E0207980001D4B98472860227903 -:10568000920021681B4B984723792B711BE09B07E5 -:105690001AD5207902388000154B98472860227966 -:1056A000023A920021680831124B98472379023B55 -:1056B0002B712800104DA84706002000A8470100C4 -:1056C00030000E4B984770BD207901388000084BA0 -:1056D000984728602279013A92002368191D054BEA -:1056E00098472379013B2B71E3E7C046C955000079 -:1056F000090A0100250C01005D4A0000354B00003D -:1057000070B5050043799B0704D5144B98470400F6 -:10571000200070BD0420124B98470400114B98479D -:10572000002815D0002CF3D020000F4B9847210003 -:1057300028000E4B98476B79022213436B71DB07ED -:10574000E6D52B681A68596819602B685A60DFE73C -:1057500022000023064807498847FEE7B9550000A4 -:10576000090A010015140000E5480000B5490000D1 -:10577000048801001D140000F0B5D6464F46464689 -:10578000C0B584B0051E0191914658D00368002B26 -:1057900057D00B0A9846002202ABDA800279002A21 -:1057A00042DD00240126764206239A46264F16E063 -:1057B0000131C9B219E002AB06331B884A46138097 -:1057C000012036E0B34205DD02AB06331B884A46B2 -:1057D00013800600013424B22A79944226DAE1B219 -:1057E0006B7950460340062BE2D00020002A04D0FB -:1057F000914202D289002B68C85802AB9A1D0199C8 -:10580000B84703008045D6D06A799107DAD50028D9 -:10581000D8DB002CD6D15207D4D402AB06331B8878 -:105820004A461380012004E001267642F04380B20C -:10583000C00B04B01CBC90469946A246F0BD0020A7 -:10584000F7E70020F5E7C0461D520000F0B5D64648 -:105850004F464646C0B584B0051E0191914654D0CE -:105860000368002B53D00B0A9846002203AB1A8022 -:105870000279002A3EDD00240126764206239A465C -:10588000244F14E00131C9B217E003AB1B884A462C -:105890001380012033E0B34204DD03AB1B884A468A -:1058A00013800600013424B22A79944224DAE1B24A -:1058B0006B7950460340062BE4D00020002A04D028 -:1058C000914202D289002B68C85803AA0199B847AF -:1058D00003008045D9D06A799107DCD50028DADB4E -:1058E000002CD8D15207D6D403AB1B884A4613806C -:1058F000012004E001267642F04380B2C00B04B0E0 -:105900001CBC90469946A246F0BD0020F7E7002057 -:10591000F5E7C046D7530000F0B5D6464F46464699 -:10592000C0B584B0051E0191914658D00368002B84 -:1059300057D00B0A9846002202ABDA710279002A8E -:1059400042DD00240126764206239A46264F16E0C1 -:105950000131C9B219E002AB07331B784A46137014 -:10596000012036E0B34205DD02AB07331B784A461F -:1059700013700600013424B22A79944226DAE1B287 -:105980006B7950460340062BE2D00020002A04D059 -:10599000914202D289002B68C85802ABDA1D0199E6 -:1059A000B84703008045D6D06A799107DAD5002838 -:1059B000D8DB002CD6D15207D4D402AB07331B78E6 -:1059C0004A461370012004E001267642F04380B27B -:1059D000C00B04B01CBC90469946A246F0BD002006 -:1059E000F7E70020F5E7C046FD520000F0B5D646C7 -:1059F0004F464646C0B584B0050001911700002807 -:105A00004CD00368002B4BD00B0A98460279002A31 -:105A100039DD00240126764206239A46214B994619 -:105A200010E00131C9B213E0039B3B6001202FE07D -:105A3000B34202DD039B3B600600013424B22A79A5 -:105A4000944222DAE1B26B7950460340062BE8D04B -:105A50000020002A04D0914202D289002B68C85845 -:105A600003AA0199C84703008045DDD06A799107F0 -:105A7000DED50028DCDB002CDAD15207D8D4039B1A -:105A80003B60012004E001267642F04380B2C00B67 -:105A900004B01CBC90469946A246F0BD0020F7E732 -:105AA0000020F5E7B7540000F0B5051CCB06DB0E6F -:105AB0004F05BF0E0904C90E052A3DD92804C00EA2 -:105AC00040181F2800D91F201F240440A4466E053B -:105AD000B60EF6193F2E00D93F263F242640ED068C -:105AE000ED0EED181F2D00D91F251F242C40FF2A75 -:105AF00027D0FF25AD1A54436B43E3181802C01892 -:105B0000C001C018000156436F43F7193E02F61951 -:105B1000F601F619F600B60E7601C00E63465A433A -:105B20006943521811028918C9018A18D20DD2B2DC -:105B3000D20230431043F0BD7801C9021843084334 -:105B4000F9E770016346DA0220431043F3E7F0B54A -:105B5000C64600B5051CC806C30E98464F05BF0EC5 -:105B60000904C90E052A41D92804C00E081AC343E6 -:105B7000DB1718401F2303409C466E05B60EB81B6A -:105B8000C343DB1718403F260640ED06ED0E4346A3 -:105B90005D1BE843C01705401F242C40FF2A2BD073 -:105BA000FF25AD1A544340466843241820020019CB -:105BB000C0010019000156436F43F7193E02F61960 -:105BC000F601F619F600B60E7601C00E63465A438A -:105BD0006943521811028918C9018A18D20DD2B22C -:105BE000D2023043104304BC9046F0BD7801C90294 -:105BF000034318000843F6E776016346D8023443AE -:105C00002043F0E7F0B5DE4657464E464546E0B540 -:105C100093B004000D0069468A8206931CAB1F787E -:105C20001DAB1B789B461EAB1E785B46042B01D92F -:105C3000002F06D113B03CBC90469946A246AB4615 -:105C4000F0BDBF4B98478246BE4B9847804683685D -:105C500004932A00210010A8BB4B98470028E9D0E4 -:105C600043461A8A10AB1988891A89B20B918C465F -:105C700008B20A9018804046418A5D886D1A2DB29C -:105C80005D809888801A80B29880DA88521A12B2A1 -:105C90009146DA80069A002A18D053461B7ADB0711 -:105CA00014D4411C6346C91A09B200290EDD130041 -:105CB0009446614480240A9A94461A789442924108 -:105CC0001A7001338B42F8D163460A9353465B69DD -:105CD000002B00D18CE06B469E8A994B98470500BB -:105CE00043469B8A01334246128A9B1A1BB2059394 -:105CF000012F46D010AA0023D15E069B5B1A98465E -:105D0000938801335B1A1BB208930221535E19007A -:105D100007930623D35E994200DD8BE710AF01ABFA -:105D20009A46B14646460023FC5E0422BB5E9C4276 -:105D30001BDC6B461C229B5E9846069623B2069A95 -:105D4000125D59464A43120A029252464946118050 -:105D500042460092059A049928006E69B0470134C2 -:105D60000422BB5E9C42E9DD069E089B9C4666447D -:105D7000079B01331A00079306217B5E9A42D2DD0E -:105D800058E710AB02215A5E924606229B5E9A4566 -:105D900000DD4FE710AC01AB9946B0460023E75E4B -:105DA0000422A35E9F421BDC53461EB24246694654 -:105DB0000A83B0463BB25A4602924A466946098B6C -:105DC000118042460092059A049928006E69B047F6 -:105DD00001370422A35E9F42ECDD6B461B8B984685 -:105DE00001239C46E2440622A35E9A45D6DD21E7C4 -:105DF000002E01D000F027FC6B469B8A6A46138474 -:105E00004F4B9847040043469D8A01351B8AED1A83 -:105E10002DB210A80023C15E838801335B1A1BB228 -:105E20000B930A930623C25E0223C35E561CF61A26 -:105E300036B20E960C936B435B185B0004998C464C -:105E400063440793012F1ED05B46FA2B00D927E14C -:105E50000C9B934200DDEDE6079B1A886B46998AFE -:105E60000B04DB0E05934B059B0E0893CB06DB0E54 -:105E70009C466B000F9313000026002089B20E9100 -:105E800002009946D0E35B46FA2B24D9636A002BC3 -:105E900004D010A82D4B9847F02812D86D0000248C -:105EA0000E9B002B00DCC5E6294E079F0B9A6B4624 -:105EB000198C3800B0477F1901340E9BA342F5DCE2 -:105EC000B8E66B469A8A1A80666A10AB2A00049973 -:105ED0002000B047AEE6236A002B3DD010A81B4B34 -:105EE0009847F02838D90A9B002B09DD6B469E8A1B -:105EF000184B0B9A52009A181E8002339342FBD122 -:105F000010AB02229E5E06229B5E9E4200DD91E661 -:105F10006D00104B984610AFAA465B4600930B9B52 -:105F20004246079989462000256AA847CC46D444B2 -:105F30006346079301360622BB5E9E42EDDD79E69D -:105F400049430000A1F60000A7FB00008BFB000006 -:105F5000CD010100F026002000236A461383928AB7 -:105F6000D306DB0E9C46131C1A005705BF0E1C04FB -:105F7000E40E5B4663431802C018C001C018C00D90 -:105F80001F23984618405A467A4313029B18DB0198 -:105F90009A18D200930E9A465946634659430B020B -:105FA0005B18DB015918C90D434619405B466A4628 -:105FB0001382138A5C4305945F43089764465C43ED -:105FC00009945B46DF43FFB20E9B002B00DC31E6F9 -:105FD0006B000E93731C0D930B9B5B000F930123BF -:105FE0000C93BFB21F263E330B93634B9846072397 -:105FF0009946524648E02B78B3430B432B70049BE1 -:106000005B012F88424617403B432B80C7001B0A89 -:106010004A4613401F436F700234544526D0250072 -:106020006B461B8B2788BB42E5D06B461F8360788D -:10603000C00863465843059B9B465844000A3040BD -:106040007A05920E63465A43089B9B465A44120AAD -:106050000B9B1A4004922178C906C90E6346594326 -:10606000099B9B465944090A3140C4E7049A674694 -:10607000079B0E9CA446634407930C9B01330C932F -:106080000D9C9C4200D1D5E50A9B002BF0DD079BBF -:106090001C000F9DAA46534404929A46BC46BEE794 -:1060A0000E9B002B00DCC5E50B9B043B05936B00AE -:1060B0000F93069B099300230D936B461A8C1704CC -:1060C000FB0E049353059B0E9A46D306DB0E9B46AC -:1060D00013E26A46128C328001340133984501DCA8 -:1060E00000F0E8FB0236A2073FD020780028F3D06A -:1060F000FF28EED0FF22151A049F47437178C90884 -:1061000069437F183A02D219D201D219D20D4946F9 -:106110000A4006925746474331884905890E69432C -:106120007F183902C919C901C919C9005F467843E6 -:106130003778FA06D20E5543451928024019C00196 -:106140004019C00D4A461040974338433070890EBD -:1061500048013188084D294001433180069AD20018 -:106160004905490F0A437270B6E722000599994222 -:1061700000DBA4E35EE1C0461FF8FFFF6946098C1F -:1061800021806180A180E1800432043308340599C4 -:10619000994200DA49E111680029F5D00131EDD0CA -:1061A0001578002D46D0FF2D00D12EE1FF21491B8F -:1061B0008C46049868436178C90866467143401864 -:1061C00001020918C9010918C90D39408A46280079 -:1061D00006994843814620884005800E70438144DB -:1061E000484600024844C0014844C0005E4675432A -:1061F0002678B046F606F60EB146664649464E4348 -:10620000B446AC4461460D026544ED016544ED0DB4 -:106210003D404646BE4335432570800E45012088EB -:10622000BE490840284320805146C9004005400F20 -:10623000014361705578002D4AD0FF2D00D1E8E070 -:10624000A11CFF20401B8446049868438946E178DE -:10625000C90866467143401801020918C9010918A6 -:10626000C90D39400C912800069E70438246608813 -:106270004005800E664670438244504600025044FA -:10628000C0015044C0005E467543A678B046F6068D -:10629000F60EB246664651464E43B446AC4461469D -:1062A0000D026544ED016544ED0D3D404646BE439B -:1062B0003543A570800E4001658898490D402843FC -:1062C00060800C99C9004005400F01434846417069 -:1062D0009578002D4AD0FF2D00D19EE0211DFF2092 -:1062E000401B84460498684389466179C90866461C -:1062F0007143401801020918C9010918C90D394034 -:106300000C912800069E70438246A0884005800EAE -:10631000664670438244504600025044C0015044D7 -:10632000C0005E4675432679B046F606F60EB246C4 -:10633000664651464E43B446AC4461460D02654440 -:10634000ED016544ED0D3D404646BE4335432571A4 -:10635000800E4001A58871490D402843A0800C990A -:10636000C9004005400F014348464170D578002DD3 -:1063700000D109E7FF2D54D0A11DFF20401B84460A -:10638000049868438946E179C90866467143401814 -:1063900001020918C9010918C90D39400C912800DA -:1063A000069E70438246E0884005800E6646704334 -:1063B0008244504600025044C0015044C0005E4632 -:1063C0007543A679B046F606F60EB24666465146C5 -:1063D0004E43B446AC4461460D026544ED0165444C -:1063E000ED0D3D404646BE433543A571800E40014C -:1063F000E5884A490D402843E0800C99C9004005D2 -:10640000400F014348464170BEE66946098C218031 -:1064100010E76946098C61805AE76946098CA180BA -:10642000A4E76946098CE180AEE606998A460A9996 -:10643000994250DD5E0007998C466644D21A904618 -:106440000A9A914606E06A46128C3280013302367F -:10645000994540DD4246D05C0028F7D0FF28F2D0B5 -:10646000FF22141A049A42437178C90861435118F3 -:106470000A025218D2015218D20D1F273A40069232 -:106480005546454331884905890E61436D182902F7 -:106490004919C9014919C9005D4668433578EA06BA -:1064A000D20E5443041920020019C0010019C00D76 -:1064B00007401F2085432F433770890E48013188DC -:1064C000164C214001433180069AD2004905490FFC -:1064D0000A437270BAE7079B0F9A94466344079386 -:1064E000099B0B9A9446634409930D9B01330D93CA -:1064F0000E9A9A4201DCFFF79DFB0A9A002A00DC03 -:10650000E5E1099B990700D1E4E1079E9846002345 -:106510001F21894644469046E7E5C0461FF8FFFF25 -:106520000D9EFF2A65D0FF2E67D0FF239B1B4A7864 -:10653000D20899465A43059B7343D21813029B18FD -:10654000DB019B18DB0D1F221A4004920A885205BA -:10655000920E4B465A43089B73439A465244130289 -:106560009A4692445346DB019A465244D20D0B7828 -:10657000DB06DB0E9A464B46544663439A46634617 -:1065800073439946CA4453461B029946D1444B462D -:10659000DB019946D1444B46DB0D1F24234099462D -:1065A000099BA3439A464B465446234399463F23AF -:1065B0001A4052014B46444623401A43049BDB02D7 -:1065C0005205520D13436A4693849BB20A88914642 -:1065D0000B802A0001300231B84210D00578002D1E -:1065E000F8D0954205D0FF2D9AD05E466E43360A0C -:1065F00099E70A884A4596D1EAE70E9BE6E70799AC -:106600000F9880464144079106990B988046414473 -:1066100006910C99013108000C9110A90624095F1C -:10662000884201DDFFF706FB0A990029E7DD07999B -:10663000069804000B9DA84644442700A74CA0469A -:106640005C460D94CAE76B469C8A012E45D0022E0B -:1066500001D0FFF7EFFAA24B09936B469A8AD30653 -:10666000DB0E0E9353059B0E0C931604F30E0D9345 -:1066700043469B8A01334246128A9B1A19B20895F7 -:106680004D436D00049B9C46AC4463460793012F29 -:1066900026D001300B9BC01A03B29846069B0A9A7B -:1066A0009E1A079B1A88089B4B4501DDFFF7C2FA2B -:1066B0004B000A93100000210C9B5B019A46434655 -:1066C0000B93099B98460D9B99466B461C823400A0 -:1066D0005B4606930E9B9B46DEE0824B0993BCE72C -:1066E00000236A4693825B460D9F7B431802C018C5 -:1066F000C001C018C00D1F2528405A460C9B5A43A4 -:1067000013029B18DB019B18DB009A0E92465A4637 -:106710000E9E724313029B18DB019B18DB0D1D407C -:10672000089A4A4501DDFFF785FA4A009146330091 -:106730001F22134098464A460B92B9466B461C836B -:106740002C005A460A920C9B9B4650E02B781F2245 -:106750009343049A13432B707A012B889C465F4B1A -:1067600061460B4013432B80C2005B055B0F134354 -:106770006B700134023610AB04229B5E9C4224DC19 -:1067800035006B469B8A32889342DFD011006B46FE -:106790009A8206981F239843434618435B465B0141 -:1067A0004E4F384018434B46DB024005400D18431E -:1067B0006B4618830A9A099B9847C106CB0E04932F -:1067C0004705BF0E0004C00EC0E7049CBA46079BF5 -:1067D0000B9A944663440793089B01331A0008936D -:1067E00010AB06215B5E9A4201DDFFF723FA10AB86 -:1067F00000229E5E370004229B5E9E42E7DC76000C -:10680000079B9C46664404943C005746B8E73A8888 -:106810009446059A944524D115E01F230498984383 -:106820005B4618432D4B1840534618434B46DB023A -:106830004005400D18436B4618823988C04780B226 -:10684000A15D3B88059338800135023710AB0426E3 -:106850009B5F9D420CDC2E00635D002BF4D08B42CD -:10686000D5D006990A00F92BD7D85A43120AD4E793 -:10687000059A079B0A9DAC46634407930B9B9C4675 -:106880006444089B01331D00089310AB06269B5FF0 -:106890009D4201DDFFF7CEF910AB00255F5F3D00A3 -:1068A00004269B5F9F42E4DC7F00079B9C46674475 -:1068B0000592D0E722000599994200DA0BE65C00C8 -:1068C00007998C4664441F275146069163E4099A50 -:1068D0000023F0E7099A002348E4C0461FF8FFFFB1 -:1068E0004F5B0000A95A0000F0B5DE4657464E4601 -:1068F0004546E0B593B00C0007921D001CAB1F7815 -:106900001DAB1B789B461EAB1E785B46042B01D942 -:10691000002F06D113B03CBC90469946A246AB4628 -:10692000F0BD0A00010010A8D74B98470028F1D00D -:10693000D64B98478046D64B984781468368059347 -:10694000028A10AB1988891A89B209918C4608B25B -:10695000824618804846418A5888401A80B20A9078 -:1069600000B2089058809888801A80B29880DA889F -:10697000521A92B20B9212B20C92DA80002D14D0FD -:1069800043461B7ADB0710D4411C6346C91A09B27F -:1069900000290ADD2B006918802294461A78944554 -:1069A00092411A7001338B42F8D143465B69002B48 -:1069B00000D1C3E0B54B98470C904B4610229B5E2C -:1069C00098464B469B8A013342469B1A1BB206935C -:1069D00010A90023C85E0023E25EA38801339B1A3E -:1069E0001BB20226895F09910226A45FA4464E4687 -:1069F0001224365F6446A41B0C1B5C434646921B64 -:106A0000A41A6400079A9446A44462460892012F8F -:106A100053D02A1A904610AA0624125F099C944269 -:106A200000DD77E710AA0424125F5B000A93099146 -:106A300010AB079301AB9A460132131A1BB20B93AA -:106A40000C9E079A130000255D5F2C0013000422A2 -:106A50009B5E9D421FDC6D00089B9C4665446B4617 -:106A600024229B5E994623B24246125D59464A4310 -:106A7000120A02922A8851460A804A460092069AD1 -:106A8000059930007769B84701340235079B042225 -:106A90009B5E9C42E7DD0B9B9C46E044089B0A9A68 -:106AA000944663440893099B01331A000993079B9A -:106AB00006215B5E9A42C4DD2CE710AA0620125E16 -:106AC0008A4200DA26E75B0009938A4610AB0793F7 -:106AD00001AB99460C9E079A13000027DF5F3C002C -:106AE000130004229B5E9F421ADC7F00089B9C4699 -:106AF000674453461BB2984623B25A4602923A88DC -:106B000049460A8042460092069A05993000756906 -:106B1000A84701340237079B04229B5E9C42EBDDB1 -:106B2000089B099A94466344089301239C46E244D7 -:106B3000079B06229B5E9A45CDDDEBE6002E01D039 -:106B400000F0FDFB4B4610229B5E1A004B469B8AD1 -:106B500001330D929B1A1BB298460130099BC01A53 -:106B600003B20C9306930B9801300A9BC01A03B230 -:106B70000B930023E25EA6880136B61A36B2089857 -:106B8000030041464B4353445B0005998C469C44AB -:106B9000634608930221635E49461224095F5B1A2B -:106BA000C31A73430D99521A51468A1A9B185B00F7 -:106BB000079A94469C4463460993344B98470400D3 -:106BC000012F15D05B46FA2B00D9EBE00B9B002B75 -:106BD00000DC9FE643465B000E9373000F93A946CB -:106BE00000230D931F3398465B4607930A939AE35D -:106BF000036A002B2AD010A8264B9847F02825D9E5 -:106C000010AB02229F5E06229B5E9F4200DD81E662 -:106C100043465B009846760010AB05935B460093B5 -:106C20000C9B099A9246089989462000256AA84734 -:106C30004B4643440893D446B44463460993013712 -:106C4000059B06229B5E9F42E8DD63E65B46FA2BCE -:106C500024D80B9B002B00DC5CE643465B000A93C8 -:106C600073000D930C9B5B000C9300230793FF278D -:106C70005B46FF1A1F239C4620339946064B9A46D3 -:106C8000B8465F463BE0C046A7FB00004943000012 -:106C9000A1F600008BFB00001FF8FFFF0B9B002BF1 -:106CA00000DC37E60C9B5C0043465B0098467600B0 -:106CB0000025804F2200099B9A461900089B99469F -:106CC0001800B8474B4643440893D446B44463463F -:106CD000099301350B9BAB42ECDC1BE6089B0A9A3F -:106CE00093465B440893099B0D9A93465B44099332 -:106CF000079B013307930B9A9A4200DC0AE6069B36 -:106D0000002BEBDD099B1E00089D0C9A93465B440B -:106D10009B4641467378DB087B436A78D2084A4336 -:106D20009A1813029B18DB019B18DB0D6246134077 -:106D3000059332885205920E7A432C886405A40E7E -:106D40004C43141922021219D2011219D20D3478AF -:106D5000E406E40E7C4328788046C006C00E484313 -:106D6000201804022418E4012418E40D60460440AD -:106D700040466346984304432C704B461A405401E6 -:106D80002A8853461A4022432A80059BDB00120AB8 -:106D90000720024013436B70023602355E45B9D1BD -:106DA00088469BE70C9B043B07930B9B002B00DC66 -:106DB000B0E543465B000E9373000F930A950023E2 -:106DC0000D931F339B46069B9946A6E303880B80D1 -:106DD00001370136059BB34200DC81E3023002310A -:106DE00003231F4253D03D78002DF1D0FF2DEDD06D -:106DF000FF235B1B99464378DB086B434A78D20834 -:106E00004C4662439A1813029B18DB019B18DB0D5A -:106E10005A461340069302885205920E6A439446DE -:106E20000A885205920E624362441402A4469444B6 -:106E30006446E401A4466244D20D0478E406E40EFC -:106E400065430C78A446E406E40EA0464C4643464F -:106E50005C43A046A84443461D024544ED01454419 -:106E6000ED0D5B461D4064469C4325430D703F235A -:106E70001A4055010A8853461A402A430A80069B45 -:106E8000DB00120A0724224013434B70A0E7059B46 -:106E90009946079BB34200DC19E37000099B1C185C -:106EA000089B9C466044044B9A464B4606930596C5 -:106EB00016E0C046250C01001FF8FFFF2388038061 -:106EC00063884380A3888380E388C3800437059A5E -:106ED0000432059208340830079B934200DC4BE1F2 -:106EE0003B68002BF2D00133E8D03978002949D033 -:106EF000FF2900D134E1FF235D1A6278D208130024 -:106F00004B434278D2086A439A1813029B18DB015C -:106F10009B18DB0D5A46134022885205920E4A43B5 -:106F2000944602885205920E6A4362441602B446A1 -:106F300094446646F601B4466244D20D2678F606BD -:106F4000F60E71430678B446F606F60E75434D19F3 -:106F500029024919C9014919C90D5D4629406546EB -:106F60005E46B543294301703F210A405101028822 -:106F700055462A400A430280DB00120A07210A40D4 -:106F800013434370797800294BD0FF2900D1EAE000 -:106F9000831CFF22551AE278D2084A439846C378E8 -:106FA000DB086B43D21813029B18DB019B18DB0D27 -:106FB0005A46134062885205920E4A4394464288CC -:106FC0005205920E6A4362441602B44694446646E1 -:106FD000F601B4466244D20DA678F606F60E714369 -:106FE0008678B446F606F60E75434D1929024919FE -:106FF000C9014919C90D5D46294065465E46B5433C -:10700000294381703F210A405101428855462A4058 -:107010000A434280DB00120A07210A40134342461A -:107020005370B97800294BD0FF2900D19EE0031D91 -:10703000FF22551A6279D2084A4398464379DB0801 -:107040006B43D21813029B18DB019B18DB0D5A46C9 -:107050001340A2885205920E4A43944682885205F4 -:10706000920E6A4362441602B44694446646F601A0 -:10707000B4466244D20D2679F606F60E71430679BF -:10708000B446F606F60E75434D1929024919C90191 -:107090004919C90D5D46294065465E46B5432943F9 -:1070A00001713F210A405101828855462A400A4316 -:1070B0008280DB00120A07210A40134342465370C4 -:1070C000F978002900D101E7FF2952D0831DFF2262 -:1070D000551AE279D2084A439846C379DB086B43D4 -:1070E000D21813029B18DB019B18DB0D5A46134084 -:1070F000E2885205920E4A439446C2885205920E87 -:107100006A4362441602B44694446646F601B446A5 -:107110006244D20DA679F606F60E71438679B4461E -:10712000F606F60E75434D1929024919C901491988 -:10713000C90D5D46294065465E46B54329438171C8 -:107140003F210A405101C28855462A400A43C28065 -:10715000DB00120A07210A40134342465370B5E68A -:10716000238803800EE7638843805AE7A3888380DF -:10717000A6E7E388C380A9E6069B994616009342DA -:1071800000DCB3E13B007700099A9046B844089AC6 -:10719000944667449B1B0593CE4B9A4607239C4617 -:1071A000444607E023883B80013602340237B1456C -:1071B00000DC9BE1059B995D0029F5D0FF29F1D00A -:1071C000FF23581A6278D2084A4315007A78D20809 -:1071D0004243AD182B025B19DB015B19DB0D5A46EC -:1071E0001340069325886D05AD0E4D433A88520530 -:1071F000920E4243AD182A025219D2015219D20DF1 -:107200002578ED06ED0E69433D78EB06DB0E58431D -:10721000081801020918C9010918C90D5B4619406F -:107220009D43294339703F231A4051013A88534600 -:107230001A400A433A80069BDB00120A61460A4064 -:1072400013437B70B0E7FF231D1A4B78DB084343E1 -:107250007278D2086A439A1813029B18DB019B18B4 -:10726000DB0D4246134005930A885205920E4243B5 -:10727000914632885205920E6A434A441302994657 -:1072800091444B46DB0199464A44D20D0B78DB060C -:10729000DB0E4343994633789C46DB06DB0E5D43A9 -:1072A000A9444B461D024D44ED014D44ED0D4346AE -:1072B0001D406346404683431D4335703F231A40BB -:1072C00055013288834B1A402A433280059BDB00EC -:1072D000120A5846024013437370013702310236D6 -:1072E000069BBB4209DDE55D002DF6D00798F92D20 -:1072F000A9D80A9B5D43280AA5E7A146089B0E9AD8 -:107300009446634408930C9B9C46E144099B0F9A66 -:107310009446634409930D9B01330D930B9A9A4253 -:1073200001DCFFF7F7FA069B002BE7DD099B9C4683 -:10733000089E002707239B4661464C46D3E7012E53 -:107340004DD0022E01D0FFF7E5FA634B0A934B466E -:1073500010229B5E1A000B934B469B8A01339B1AAB -:107360001BB29C460023E25E0D92A38801339B1A58 -:1073700019B2089E624672435300059A904698449B -:10738000434606930222A35E4A461224145F1B1B47 -:10739000F31A4B435B00079AD418012F22D05346AF -:1073A000EB1A1A0053465B00E31A9946089B0C9CA3 -:1073B000A34201DDFFF7AEFA63465B0098464B003F -:1073C000079310AF5B4605930130099BC01A03B2C7 -:1073D00009930A9B9A4643460A93904668E03F4BBE -:1073E0000A93B4E70B9B0D9A9B1A5B00A146994444 -:1073F0000C9A964201DDFFF78DFA63465B009A46D0 -:107400004B00984610AF5B460593D3460A9B9A46BD -:107410000023FD5E2E000422BB5E9D420FDC6D004A -:10742000069B5C194D4421882888059AD047208006 -:107430000136023402350422BB5E9E42F3DD069B18 -:107440005B440693C144089B01331A00089306214C -:107450007B5E9A42DCDDFFF75DFA31882888D047F1 -:1074600030800134023602350422BB5E9C420ADCC5 -:1074700043461B5D002BF4D0059AF92BEDD85A46F4 -:1074800053431A0AE9E7069B0A9A94466344069313 -:10749000099B9C46E044079B9C46E144089B0133C2 -:1074A0001A00089306217B5E9A4201DDFFF732FA4B -:1074B0000023FD5E2C000422BB5E9D42E3DC6D00D8 -:1074C000069B5E194D44D3E70A9F0026E1E43B008A -:1074D00059E6C0461FF8FFFF4F5B0000A95A0000A5 -:1074E000059B9946079B9E4200DAD6E4089B0E9ABC -:1074F0009446634408930A9B0C9A944663440A9307 -:10750000099B0F9A9446634409930D9B01330D9395 -:107510000B9A9A4201DCFFF7FDF94B46002B0FDD79 -:107520000A9B03221342CFD0099A9046089A1F0063 -:107530000026054B9A464B4605934046110052E4FF -:107540000A9F0026CEE7C0461FF8FFFFF0B5DE46D3 -:1075500057464E464546E0B5BFB01C900800249102 -:1075600090460A9348AB1B780B9349AB1B78079363 -:1075700000233CA9C25C5A540133082BFAD1B74B03 -:107580009847B74B98471990048A3CAB1A88121B4E -:107590001A80408A5A88121A5A809988091B998041 -:1075A000DA88121ADA80AF4B98471A90002808D16F -:1075B0000A9A5388002B04D10133FF3312899A426F -:1075C00072D0079B5A1E9341023399461C9B00229E -:1075D000995E8C469F8801377F1A3FB23CA90222F0 -:1075E0008D5E199A1226945FCA4600200E5E102006 -:1075F000125E02201B5E1B1BEB1A7B436046801A47 -:10760000301AC0184B465843030043441593B6B292 -:10761000B21892B228A802808B8801339B1B9BB2C0 -:107620001EB21796013BD3188380ADB22C1924B239 -:107630004480C480CB8801335D1B2DB20A984388F7 -:10764000002B00D044E30289531EFF3B591E8B419F -:10765000DBB29B461A9B002B00D0D5E00133FF33F1 -:107660009A4200D03AE30B9B002B05D1837A002B82 -:1076700002D1079B002B34D13CA87B4B9847F023C9 -:107680005B00984200D8CAE0F0208000774CA04709 -:107690001B90F02676003000A047189048212AA8B9 -:1076A000734B98471D9655E30B9B002B89D1079B85 -:1076B000002B13D10A9B9B7A02229146002B85D185 -:1076C0000A9A937B0293137801930123009300237A -:1076D00042461C992498674CA047DDE20323994653 -:1076E00074E73CA8604B9847F0235B00984219D898 -:1076F0003CA85D4B98470790079E70005B4CA047E5 -:1077000005903000A0470690002D61DD53467B4375 -:107710009A466B1C9B46012398460027179D3E0006 -:107720004C4631E0F0235B000793E5E70133121983 -:107730000237AB4209DA9178C1540029F6D0567865 -:107740003602117889193980F0E76646179B9C4606 -:107750006644159B5344159324AB64229B181B88E5 -:10776000013324AA6021521812889B1A1BB29B195C -:10777000079A9A4217D928AAD3880133D3800123C4 -:107780009C46E044D84523D0179B002BE1DD7700D1 -:10779000059B9C466744159A002306998C46B44481 -:1077A0006046B446C7E728AF0A9A937B02931378E2 -:1077B000019302230093069B059A390024982D4ECD -:1077C000B047FB8801331BB27B80FB800026D6E7E5 -:1077D00028AA0621535E0221525E9A420ED028A9A1 -:1077E000013BCB800A9A937B029313780193022387 -:1077F0000093069B059A24981E4CA04706981E4CA1 -:10780000A0470598A04747E23CA8174B9847F023AC -:107810005B00984203D9F0235B001D9303E03CA872 -:10782000114B98471D901D9E7000104CA0471B9057 -:107830003000A047189048212AA80D4B98475B4676 -:10784000002B00D186E260E200231493129311937F -:1078500097E21D991898094B9847A9E249430000FF -:10786000A1F6000059A600008BFB0000590E010094 -:10787000E50F0100E96800006D0B010089100100AF -:107880000D9BF3181BB22AA908200A5E9B1A0A2036 -:107890000A5E0E98821A80204000C989814259D020 -:1078A0002AA90C20095E00296BD12AA9C88E43435E -:1078B0001D00339B9A46AA444243349BD3180C9331 -:1078C00053461B1298462AAB04229B5E984500DB68 -:1078D000B0E04246002A00DAACE00C9A1212100026 -:1078E00016922AAA0621525E904200DBA2E00028EE -:1078F00000DA9FE034222AA9895C4A076AD52A9ACD -:10790000890758D4434343445B00D21810782AA90E -:10791000087552784A75022134222AA8825CD2075F -:107920000FD51F2222989043FC22D2000243520519 -:10793000520D68468825401902802AA8808A904204 -:1079400078D02AAAD27C002A60D12AAB9A7D2270F4 -:107950009B8A80E03699359805000C9108005843C1 -:1079600029005143411AC9113398169082468A441E -:107970006B430C9842439B18DB11349A9B180C9371 -:107980009EE72AA9C88E43431D00424336985843B8 -:107990008046359850434346181AC013339B9A4685 -:1079A0008244359B6B43369850431B18DB13349A43 -:1079B0009B180C9384E716994B4343445900CB180A -:1079C000D21810782AA908755078487592788A7567 -:1079D0000321A1E7434619B26B4658229B180022A7 -:1079E0009A5E24AB1B8D2692259130A8AE4DA847F8 -:1079F00024AB9885269A259930A8AC4B984724ABA0 -:107A00002E229B1818700023002185E72AA85246D1 -:107A100002876A46128E4287424682876A46582506 -:107A200052191288C28703644423C154A04B98475B -:107A300000288AD10023237042E0FF2323707A7844 -:107A400012023B789B189BB20B9A002A03D0994AEA -:107A500012889A424AD00A9A927A002A2ED06A460E -:107A60004C2152181288D90A94465143119A9046D3 -:107A70004144C904C90E5805800E62465043129A0B -:107A8000904640448004DA06D20E63465A43149B63 -:107A90009C466244D204D50E1F23089A9A431300D1 -:107AA0002A001A43800E4001834B13400343C9024E -:107AB0005B055B0D0B436A4613849BB2059A1380EA -:107AC0000136069B9C4667440134059B02330593AF -:107AD0004E450EDA5B46002B00D0D1E6079B002B0B -:107AE000ABD0BB782370002BEAD0A8E7002323702B -:107AF000E6E7179B0F9A944663441C001A9B002BE1 -:107B000048D1159B1F9A94466344159324AB642275 -:107B10009B181B88013324AA6021521812889B1AD3 -:107B20001BB21B191D9A9A426CD928AAD38801331B -:107B3000D3800F94109B01331093209A934200DB63 -:107B40008FE0199B10229B5E24AA6021521800210D -:107B5000525E9B181C9A0021525E9B1A0D93179A35 -:107B60009146002A14DD189B98460F9A9446E044EB -:107B700053001B9A92469A44159F0026219B109A07 -:107B8000944663441BB20E93444653460593A1E7C3 -:107B90000F9CB3E70F9B189A944663441D0024ABD7 -:107BA00060229B18198824AB04329B181B88013370 -:107BB0005B1A1BB224AA622012181288199E708ABE -:107BC000121810988446624412B2308A091809B219 -:107BD00028003A4EB047002803D0022891D11E90C9 -:107BE0008FE724AB64229B181988013124AB043A37 -:107BF0009B181B88C91A09B22800314B98470223E9 -:107C00001E937EE728AC0A9EB37B029333780193E0 -:107C10001E9B0093189B1B9A21002498294DA8476E -:107C2000E38801331BB26380E38002231E93279B0A -:107C3000002B09D17388002B06D13389013BFF3B10 -:107C40005A1E934101331E9300230F931A9B002B5E -:107C500000D16FE71D9918981B4B984700230F938D -:107C600068E728AA0621535E0221525E9A420ED08E -:107C700028A9013BCB800A9A937B02931378019346 -:107C80001E9B0093189B1B9A24980E4CA047189893 -:107C90000E4CA0471B98A0473FB03CBC904699466D -:107CA000A246AB46F0BDC04685D00000A5D100007D -:107CB000ADD50000848801001FF8FFFFBDA50000BE -:107CC000E50F0100E9680000891001006D0B01005B -:107CD00001239B461A9B002B00D095E53CA8414B05 -:107CE0009847F0235B00984200D898E5F020800088 -:107CF0003D4CA0471B90F02676003000A04718901E -:107D000048212AA8394B98471D960522079B002B2E -:107D100004D1013A0B9B002B00D002322AA80A9C06 -:107D2000638883812389C38143462A9387801C9972 -:107D3000CB88013349885B1AC3808274A38803818E -:107D4000E3884381A3890382E37BDB07DB0FC374F2 -:107D5000274B98470A998B7ADA43D2B21392002BB9 -:107D600000D171E59BB24A7BD2085A4311928A89AD -:107D70005205920E5A4312920A7BD206D20E5A43F1 -:107D800014920B9B079A1343279302221E92002BF7 -:107D90000AD10A9A5388002B06D11389013BFF3B75 -:107DA0005A1E934101331E931A9B002B00D050E5BD -:107DB000199B12229B5E3CAA0221525E9B181C9AC0 -:107DC0000221525E9B1A21932095002D00DC48E78A -:107DD00053467B431F93002310930F934B46069308 -:107DE000AFE6C0468BFB0000590E0100E50F010015 -:107DF000A9D20000F0B59FB005000E00170009AC35 -:107E000020000B4B98470B4B1B88638022003100EE -:107E10002800094B984702A8084B98470023009375 -:107E20003B0002AA31002800054CA0471FB0F0BD5E -:107E3000B9AA0000B48801005DAB00005D810000BC -:107E4000AD81000010B5040010210A4B9847237B38 -:107E50001F2293432373A389074A1340A38100235E -:107E60006373FF33237001332381E37B01221343C8 -:107E7000E37310BDE50F01001FF8FFFF0438C3B224 -:107E80000A2B0FD89800084B1B589F4610200AE079 -:107E9000182008E0012006E0022004E0042002E0AF -:107EA000082000E00020704788880100032805D0E2 -:107EB00002D30638042801D9002070470120FCE7CE -:107EC000052807D003D8022804D0002070470738BF -:107ED0000728FAD80120F9E7F0B5DE4657464E46A6 -:107EE0004546E0B591B0040003911E00002A09D078 -:107EF0001B78052B0AD811B03CBC90469946A24687 -:107F0000AB46F0BD6F4A704B9847F4E7B18910005B -:107F10006E4B9847071E00D19EE0057BED06ED0EE7 -:107F200028006B4B9847049006902800694B9847AF -:107F300005900790BA69002A04D003992000624B8B -:107F40009847D8E73B69002B45D000230CA9E25C99 -:107F50005A540133082BFAD17388002B04D18022A4 -:107F600052003189914223D01BB2E28801326188EC -:107F7000521A12B2A18801312088091A09B20CA83C -:107F80000500301D01903089009006952800524D63 -:107F9000A847228806980388D318038063884188FD -:107FA00059184180818852188280C2889B18C380EA -:107FB0000CAA03990EA8494B9847002800D19AE7CC -:107FC0003A69059B0193049B009333000EA920009E -:107FD000434CA0478FE7220003990AA83F4B9847DC -:107FE000002800D187E70AAA9388013312889B1AD8 -:107FF0001BB2059358009C4660443A4B9847049046 -:1080000000230CA80AA95A5C1A540133082BFAD190 -:1080100001210CA8344B98470AAA0021535E9C46C4 -:108020000020215E0220155E0223E05E281A06234E -:10803000D25E954242DC294A934663465B1A1BB2E4 -:1080400008930994B246804612E0099C3800274BF9 -:1080500098470498264B98471A4A039920001A4BD0 -:10806000984748E701350AAB06229B5E9D4225DC16 -:108070000CAA03990EA8D8470028F3D043461AB299 -:10808000049B0093059B089938001A4CA0470128CF -:10809000DBD10CAC079B0193069B00935346049ADB -:1080A0000EA920000E4EB047638801336380E38839 -:1080B0000133E38001239C46E044D3E704980C4B52 -:1080C000984718E7B8880100F57D000001DA000044 -:1080D000AD7E0000C17E0000DDD30000A7FB0000E4 -:1080E0004D750000590E010081FB00001DE60000E7 -:1080F0006D0B0100F9E50000002808D003781A0094 -:10810000203A01205F2A01D9D80940007047032096 -:10811000FCE700000300303BDBB21A00092B18D942 -:10812000602801D92038C0B24138C3B2052B0DD820 -:108130009800094B1B589F460B220AE00C2208E0CE -:108140000D2206E00E2204E00F2202E0002200E0F1 -:108150000A2210007047C046C088010010B5040014 -:108160001C210F4B9847FF23237223781F22934330 -:10817000237022880B490A402280002363700A4B37 -:10818000636001235B42E3812382A2781F231A43A9 -:10819000A27063880B4063800023E370A37510BD59 -:1081A000E50F01001FF8FFFF30000020F0B5DE46AC -:1081B00057464E464546E0B5DBB010900E9117008D -:1081C0001A000D93649B05933B7A052B02D9137813 -:1081D000002B06D15BB03CBC90469946A246AB460C -:1081E000F0BD7B6807930A000400010058A8D24B39 -:1081F00098470028EED0FA7D910724D4A388013354 -:1082000022889B1A1BB2079A0826965F0A217A5E7B -:108210009146B144109A0020115E1F910220105E19 -:1082200012217A5E1E921422B95E421892B215B2E1 -:10823000059C002C52D0002954D1002814DB119544 -:10824000002208922EE00C217B5E3CAD0292BB4ADC -:1082500001920A217A5E00927A680D992800B84E40 -:10826000B0470022AB5ECEE7A168081AC1174018DC -:108270004840802189004C46091B4900884207DD9F -:108280000122524205990A6011950022089209E0E4 -:1082900005980168002929DB089141688C466244F1 -:1082A00012B211921BB2190012930C23FA5E0D9BAD -:1082B0001800089CA4466044FB7D00930B000799BE -:1082C000A04DA847A44660449E4A92469E4A9046C6 -:1082D00006960600119DBB46059F11E011950022F0 -:1082E0000892DFE7119500220892DBE71195002242 -:1082F0000892D7E708962378002B00D16AE706009A -:10830000069BEB180E9A0221525E934220DA0D9BD7 -:108310009C195B460C229A5E5B46DB7D0093129BA8 -:1083200007992000D04780194D442DB2002FE1D08D -:108330004545DFDB3B68002BDCDA3E60109A02210A -:10834000535EEB1A7B60130002229B5EBB60D1E799 -:108350000B9611955F46FA7D53072FD4130749D426 -:108360003B7A0F93FB8906933A8A9246534502D98A -:10837000524606929A463B7E9B0755D13FAC200061 -:10838000724B98477B8863800F9BFA2B01D9704B07 -:108390001B78DBB21C934B466A469382938A1893F0 -:1083A0006B4644229B181B8814931F9D00231D932A -:1083B000089B9B46D0463E0000F0D2FD0C217B5E20 -:1083C000089C311B89B20D98A44660440092079A1C -:1083D000604CA047109A9388013312889B1A1BB2F5 -:1083E000181AC30F1B185B101F9A944663441BB2E4 -:1083F0001F93B5E70C217B5E0B98089C011B89B28B -:108400000D98A44660440092079A524CA047109AD7 -:108410009388013312889B1A1BB21B1A1F9A944629 -:1084200063441BB21F939BE755AC20004A4B98470F -:108430003B8823807B680820185E05300A21474B63 -:10844000984760803B7A23727A7E03231A40637ACE -:1084500003218B431343637290E70025E2E2099BFB -:10846000002B07D134AB80229B181B881D9301235E -:108470000993C2E2099B012B01D100F005FE022BFA -:1084800001D100F032FD3E88ECE2059B202B00D0AC -:10849000B3E2549B1D9A9B1A072B04D03B8816937A -:1084A00002230993A9E20C9B94466344180000231D -:1084B0003CA9C25C5A540133062BFAD13CAD287852 -:1084C000274EB04780466878B04743461B01984620 -:1084D0008044A878B0470590E878B047059B1B0119 -:1084E0001B1805932879B04708906879B047089A17 -:1084F00015012818C2B2D2081F232C9999430B00EA -:1085000013436A46127D92085101164A13400B43E9 -:10851000424669460A750A7DD208D2025B055B0DA8 -:1085200013436A46B021521813809BB2169302235C -:10853000099362E2169E95E2A7FB0000187C0000FA -:108540007D1A01006117010000FCFFFFB9AA0000BD -:10855000D8880100D919010099900000757A0100AE -:10856000158100001FF8FFFF3CA80480119941808D -:10857000BB89013BE3180A9A944663448380189BA5 -:10858000013B8C466344C3803FAA0E99C64B984773 -:108590007AE2042B00D1E9E0082B00D024E208267F -:1085A000FF232093C14B239303E0C0232093C04BB0 -:1085B00023933CAB5A881A929B881B937243219257 -:1085C0000E9B00229B5E00222B920599994203DAB2 -:1085D0005B1A5A00D3182B930E9B04229B5E2293A6 -:1085E00003211A98B34B984705998C4660441A9A10 -:1085F0001992229A904204DD531A5A1C53009B1878 -:1086000019930E9B02229B5E002229921599994292 -:1086100001DA5B1A29930E9B06229B5E1B990A00C6 -:108620001598844662442F919A4202DD1B1A013349 -:108630002F936B4690229B181A88D306DB0E269345 -:1086400053059B0E28931304DB0E2793219B299A35 -:1086500053432B9A72439B18DA10AD1807221A4025 -:1086600034921B9B1A9A53431A002E93F0235B00FB -:108670009A4200DD2E932E988F4B984724902E9B84 -:1086800058008D4B984725908C4B98478C4B9847BA -:108690001021425E1100838A013322915B1A1BB2C2 -:1086A0001B93219080682A9003212B98814A94463D -:1086B000E047219B12215B5E1599CB1A1B994B4316 -:1086C000059A94466344229A9B1A299A4A4312189F -:1086D0009B185B002A998C469C4461460591414653 -:1086E0006B4654229B18198089B28846404434A9AD -:1086F0000883032119986F4B98474346013BC318E1 -:1087000034A883831798299A9446604403B234A806 -:108710004383C3836B4B98473090299A2F988242AA -:1087200000DB47E1199A2B98111A080031911A9B26 -:108730009B1A2B998C466344190071433291032193 -:1087400049425C4B98471B9BC3185B003393002343 -:108750002A935B46359353463693059B9A46AB4620 -:10876000349B984634943797D4E00426F023209322 -:10877000554B23931DE7082E0BD063461840239BCF -:108780001B5C06E0634603401C994B431B0A00E058 -:10879000002317998B540132032A22D015981A9975 -:1087A00088427BD23318F54001341999A14200D197 -:1087B0008EE015930599087828400821CB1A9B1B59 -:1087C000D840C3B2002BE3D01C99FF29D3D0082E88 -:1087D000D8D063461840239B1B5C1C994B431B0A53 -:1087E000D7E7087853465B78DB086246121A534392 -:1087F000279A42439B181B0A1F221A4021928B780A -:10880000190053461A78D206D20E67467B1A5A438D -:10881000269B4B43D218120A1F231A402292179B01 -:108820005B78984653461B885B059B0E624647461D -:10883000D21B5343289A7A4393465B441B0A3F2238 -:108840001340002807D1002F05D1002903D1249A15 -:108850001B99505403E0249A1B99604650541B996D -:108860004800259A9046404402781F27BA43229F29 -:10887000174307705B010288144F3A40134303808B -:10888000219AD2001B0A07273B40134343704B1C1D -:108890001B9302239846C24400227FE7059B0133C5 -:1088A0000593209D00237FE75DAB0000F488010065 -:1088B000E0880100757A0100590E0100494300006B -:1088C000A1F6000059A60000E48801001FF8FFFF90 -:1088D000059A93469846309B002B33D1319B1B99C8 -:1088E0008C4663442E9A9A4249D93AAAD3880133D6 -:1088F000D3802A91329B4344DA10934407221A40D2 -:108900009046339B9C46E244299B013329932F9A3E -:10891000934249DA209D4346DD402B9C199A9442AC -:108920000DDA2A9B1B930022FF239C4639AB179339 -:1089300008239B1B1A935B460593434639E72A9B02 -:108940001B93C8E72A9B249A944663441C003AAAC6 -:108950000023D15E938801335B1A1BB20620125E9E -:108960002000B14DA8470028B8D13AAB9988013111 -:108970001B88C91A09B22000AC4B9847AEE73AAC45 -:10898000139B02931C9B019302230093249B259A23 -:1089900021000E98A64DA847E38801331BB26380DF -:1089A000E38000232A93A5E7359B9B46369B9A4696 -:1089B000349C379F3AAA0621535E0221525E9A42A6 -:1089C0000DD03AA9013BCB80139B02931C9B0193D2 -:1089D00002230093249B259A0E98954DA84724982E -:1089E000944DA8472598A847089B002B05DDBB8917 -:1089F0001B190A9A944663441CB254990B9B5A461D -:108A00009B1A8B4200D873E28B4B069A9A4200D194 -:108A100023E500259A4505D059440D984B461B681F -:108A2000984785B2854E54A90C9B98461800336828 -:108A300098470590424654998C466244100033682A -:108A400000219847FB7DDA0707D5059B232B00D132 -:108A500005E5099B012B00D117E53E88099B022BF8 -:108A600000D167E5020005990798754B98470A9071 -:108A70000890714B0699994206D09A4504D0A942B4 -:108A800002D8AA4500D96FE50F9B042BACD90798F3 -:108A90000028A9D07B7E13930023059A3CA9694D39 -:108AA000A8470028A0D03CAB9A88002A02D15B8856 -:108AB000002B99D03CAB0620195E8846A0445B8809 -:108AC00043440E980025415F8B428DDB0100042357 -:108AD000CB5E984588DC079908254B5F0A25495FDE -:108AE0005B1A11998C4663449B1A3CA90825495F7F -:108AF0005B1A1D0017939C466244010002200B5E26 -:108B00009A4200DA70E706228B5E9D4200DD6BE739 -:108B1000059907984C4B9847051E00D164E7079BC1 -:108B20001B7B9B0720D043461BB205936B465C2200 -:108B30009B1800229B5E15936B4690229B181E800B -:108B40003CAB9B7A1E00032B00D10EE6022B00D11A -:108B50002BE500D91DE5012B00D045E70126802338 -:108B600020933A4B239324E543461BB29C466B4625 -:108B70005C229B1800229B5E21936B46A0229B18CF -:108B80001E803CAB9B7A2093032B33D0022B19D051 -:108B90000AD8012B00D027E70123209302217F333D -:108BA00015932A4B279312E0042B25D0082B00D0D5 -:108BB0001AE70823209380214900F7331593244BAB -:108BC000279304E00421C0231593224B27931C9A7A -:108BD000F92A57D8204B1B78934213D00022002942 -:108BE00045D01C9E1D485B461993A346340005964C -:108BF000279E12E0042320931021F0231593184B95 -:108C00002793E4E7174B1B68209A9A42E6D12EE09F -:108C1000059B135401328A4226D0B35CFF2BF7D058 -:108C200063431B0AF5E7C046BDA50000E50F010040 -:108C3000E96800006D0B0100FFFF000058000020F4 -:108C400001E70000F9E60000F1E60000DC88010021 -:108C5000F4880100E0880100B42B0020B02A002035 -:108C6000E4880100B02B00205C46199B9B46D74B43 -:108C70006A467021521812781A70D54B209A1A60E1 -:108C8000D44B27933CAB5A8805929988209850433F -:108C90000E9B00229B5E002219929C4502DA6246DE -:108CA0009B1A19930E9B04229B5E059E3200624420 -:108CB0001B969A4203DD62469B1A01331B930E9B5F -:108CC00002229B5E00221A92219E9E4201DA9B1B89 -:108CD0001A930E9B06229A5E219E8B192291934233 -:108CE00002DD921B531C2293199B26931A9A504320 -:108CF000209A5A438018C608AE1907250540059BDF -:108D00004B431A002393F0235B009A4200DD239328 -:108D10002398B14B9847219043466A4690215218B8 -:108D200013806B4690229B1819883AAB199A8A18BF -:108D30001A804A1E1B998C4662449A80179802003A -:108D40001A988446624412B25A80DA80A34B98473C -:108D500024900823209A9B1A9846059B19998C46C3 -:108D600063441B995B1A11005A4325921A98229B5F -:108D7000984200DB9DE0002317935B4629935346FE -:108D80002A93279B9A4627944346209388462B97FD -:108D900039E00023137012E00136159900250132E5 -:108DA000059B934210D033780B40601BC340D8B270 -:108DB0000028EED0584603405046C35C1370AC42C6 -:108DC000EAD9ED19F940EAE7B84620946746249BB2 -:108DD000002B33D11B9B199A9B1ADB19239A9A42B9 -:108DE00049D93AAAD3880133D3801797259B9C464B -:108DF0006544EB08F61807231D401A9B01331A93AC -:108E0000229A93424FDA1599E940199B1A001B9850 -:108E1000824211DA219F3A00179CA4466244030063 -:108E200026981B1A9C443B0063441800FF239B4672 -:108E300005904746209CB6E7179FC8E7179B219AE5 -:108E4000944663449B463AAA0023D15E938801333B -:108E50005B1A1BB20620125E5846614CA0470028E0 -:108E6000B8D13AAB998801311B88C91A09B2584662 -:108E70005C4B9847AEE73AAF139B0293FF230193F5 -:108E8000FD3B0093219B6A46A021521812883900AD -:108E90000E98554CA047FB8801331BB27B80FB80AA -:108EA00000231793A2E7299B9B462A9B9A46279C5F -:108EB0002B9F3AAA0621535E0221525E9A4210D09D -:108EC0003AA9013BCB80139B0293FF230193FD3B07 -:108ED0000093219B6A46A020121812880E98424DDA -:108EE000A8472198414B98477EE50023099384E5E4 -:108EF000D046A2463E003B7E9B0747D4337EDB072D -:108F000000D57BE00D9B1F000B9DAC4667440C23F6 -:108F1000F25EF37D0093129B07993800344CA04712 -:108F20004419109B00255D5FF27D530700D584E056 -:108F3000130700D596E0119B18998C466344149A48 -:108F4000624492B214920B9A93461BB21A00119388 -:108F50000E9B06215B5E934201DAFFF73BF90B940F -:108F60000D9B5B440C931B78002B01D1FFF732F96A -:108F70001E9B9C4665442BB29A460023549309934A -:108F80001C4B99465446C246370036E53AA86B4614 -:108F90007C229B181B8803807B6808229B5EDA0F6B -:108FA000D218521055AB02215C5EE10F091949102D -:108FB000521814998C46624412B242803CA954461D -:108FC0000C804A800E9A0C4CA04797E7B42B0020E7 -:108FD000B02B0020B02A0020590E010059A6000035 -:108FE000BDA50000E50F0100055C00006D0B010050 -:108FF0006117010054000020C99000003AA86B4698 -:109000007C229B181B880380716855AB02229C5EF2 -:10901000E20F1219521001320C8912194989521AA1 -:1090200014998C46624412B242803CA954460C808A -:109030004A800E9A164CA04764E70C21735E00929A -:10904000079A01003800134FB847109A93880133EC -:1090500012889B1A1BB2181AC30F18184010451912 -:109060002DB268E70C21735E0092079A0100380068 -:10907000084FB847109A9388013312889B1A1BB285 -:10908000181A45192DB256E700230993FFF7FBF98B -:10909000C9900000D919010010B504000A21084B3D -:1090A000984701236380FE33237223781F22934362 -:1090B00023702388034A134023800023637010BD6C -:1090C000E50F01001FF8FFFFF0B5DE4657464E469C -:1090D0004546E0B5CBB005900E00069107921C0006 -:1090E00002229B5E002B01D100F046FC227A052A69 -:1090F00001D800F041FC02000020115E0025705FE5 -:10910000814200D12BE1DA0FD3185B109BB20A1C0D -:10911000814200DD021CD21A48AD2A800A1C81421D -:1091200000DA021C9A1848A98A80069A0221525E27 -:1091300005990220085E111C824200DD011CC91A3B -:1091400048AD6980111C824200DA011C5B1848AAF4 -:10915000D380079A48A90800D54B9847002801D129 -:1091600000F00AFC059B02269E5F069B02255D5FC0 -:10917000AE4200D1FCE0059B00229A5E11000892ED -:10918000069B00229B5E9A46514500D106E2AE4204 -:1091900006DB33002E001D00089B524608929A46BB -:1091A0005346089A9B1A0993AA1B0A92D9175B186F -:1091B0004B409946D11753184B409B460222A35E61 -:1091C0009846D94500DCD0E25B4658014946B94B88 -:1091D0009847B94B1B5C42465A4313003F229046C6 -:1091E00098444346DB111F009BB2524608988245C3 -:1091F00000DD021CD21A0EA90A8052460898824548 -:1092000000DA021C9A180EA98A802A1CB54200DDD9 -:10921000321CD21A0EA94A802A1CB54200DA321C2E -:109220009B180EAAD38048AA0EA90800A04B984705 -:10923000002800D19CE343461B12984601233B4083 -:1092400043440B93D94500DCBAE2099A002A00DCBA -:1092500091E2B2B241466B4619868BB2A9B29346EF -:10926000D21A12B2002001908946CB1A1BB2009389 -:109270005346089912A8914FB8476B469B8D5A46A2 -:10928000D21812B2012101914B441BB200935346F4 -:1092900008991DA8B847002112A8894B98469847FD -:1092A0000B9000211DA8C0470C90637ADB0600D408 -:1092B000ACE201235B420D930A93824B9847824BA9 -:1092C00098478146028A0EA80588AD1AABB2038082 -:1092D0004946498A45886D1A45808588AD1AADB2E0 -:1092E0008580C288521AC2800135ED1A2DB2774BA3 -:1092F0009847E023FF33984200D8B3E2F0235B00A5 -:109300009B465846724B984780464B461B8A0EAF89 -:109310003A889A1812B21100099210AA1180B988DD -:109320005B1893807B884946498A5B181BB253803F -:10933000D3805946674B98474B4612229A5E0223C8 -:10934000FE5EB61806217B5E9B189E4200DDECE2B5 -:109350000027614B9A46230044469846D0E20225F6 -:10936000555F32000226925F954200D0CBE603E3C0 -:10937000237A9846534B9847534B9847814602228D -:10938000A35E013B5E1001251D40AD190623E25E80 -:109390000023002A04D00422A35E5A1E9341DBB2AC -:1093A0001F0009934D4B98470021002801D101313E -:1093B0007940069B00229B5E059A0020105E1A1CD5 -:1093C000834200DD021C28AF3A801A1C834200DA77 -:1093D000021C013A28AB9A80059B5B8828AA5D1B7A -:1093E00055809E19D68000290ED02288637A9B076B -:1093F0009B0F02934346019301230093002328A966 -:1094000048A8374DA847B3E228AA48A91000284B1E -:109410009847002800D1ABE228AA0023D75E4B462C -:1094200010215B5E9B4669460B840B8CF91A89B24E -:10943000884609B28A4611800220115E4D466D8A27 -:10944000AC464D1B55800420165EF31A9BB29380E8 -:10945000D58860462D1AD580013342469B1A1BB22F -:109460000B9333AB1F809E805980D9800021099BCC -:10947000002B08D0504658440623E15E0422A35E28 -:10948000C918184B98470BB20C930B980700104B58 -:109490009847089028AB02229E5E06229B5EB3424C -:1094A00000DA77E00B4B9B460B4B9A460A9750E04D -:1094B000A7FB0000757A0100F48901007DA6000079 -:1094C00085A5000049430000A1F600008BFB0000C9 -:1094D000590E010089100100BDA5000059A6000029 -:1094E000055C0000417C01000626A55FED180B001D -:1094F000AA4202DA089B19541300013001331AB250 -:10950000874207D90425635F9342EDDB9A1A12B2B2 -:109510008018F2E70A9766460220228833AD637A04 -:109520009B079B0F0293237A01930090089B2900CD -:1095300048A8D14FB8476B8801336B80EB88013363 -:10954000EB8001360AAB7E229B1800229B5E9E4276 -:1095500020DC0A9F3900089D2800D8474B465A8ACC -:10956000921912B2198A0AAB78201B181B88C918E5 -:1095700009B20B9B2800D047099B002BCDD00028B7 -:10958000CBD0002F04D00C9A00200021B446B9E7BC -:109590000220C2E70898B94B9847E9E1237A984638 -:1095A000B74B9847B74B984707000222A35E013B91 -:1095B0005E1001251D40AD190623E25E0023002A3E -:1095C00004D00422A35E5A1E9341DBB299460A934B -:1095D000AD4B98470021002802D101314B4659403C -:1095E0000598028828AB551B1D8096199E80069A07 -:1095F0000225525F0225455F101CAA4200DD281C8F -:109600005880131CAA4200DA2B1C013B28AAD380E5 -:1096100000290ED02288637A9B079B0F0293434652 -:10962000019301230093002328A948A8924DA8473D -:109630009EE128AA48A91000944B9847002800D121 -:1096400096E128AA0021535E9C463B8A6146C91ACE -:1096500089B211800225505F7D8AA846451B55803E -:109660000425565FF31A9BB299469380D5884346EA -:10967000ED1AD5804B460133591A0BB21A000B93E1 -:1096800033AB614619809E805880D8800C921000C0 -:109690007F4B9847089000210A9B002B0CD0102389 -:1096A000F85E28AB00229B5EC0180623E15E042210 -:1096B000A35EC918774B98470BB2994628AB022294 -:1096C0009E5E06229B5E9E424BDC734B9B46734B19 -:1096D0009A46B8464B4609931DE0099F01373BB2B5 -:1096E0000993228833AD00230293237A01930090DB -:1096F000089B290048A8604FB8476B8801336B80EE -:10970000EB880133EB8001360AAB7E229B180022E6 -:109710009B5E9E4225DC0C99089D2800D847434655 -:109720005A8A921912B2198A0AAB78201B181B8820 -:10973000C91809B20B9B2800D0470A9B002BD0D038 -:109740000028CAD00423E25E099B9A4200DA002076 -:109750000621635E9B18099A9A42BEDB0023099397 -:10976000BBE70898454B984702E14B4658015946DC -:109770004B4B98472DE5B2B26B469B8DA9B29346F1 -:10978000D21812B2002001900B918C4663441BB298 -:1097900000935346089912A8424FB84743466A4679 -:1097A0001386138E5A46D21A12B2012101910B99D7 -:1097B000CB1A1BB20093534608991DA8B8476AE517 -:1097C0006B461A8C998D534668468385838D9B46DC -:1097D000CB181BB20B929446614409B2002201924D -:1097E0000095320012A82F4FB84743466A461386A9 -:1097F000128E5B469B1A1BB20B998A1A11B2012278 -:109800000192009532001DA8B84744E56B461B8DB8 -:1098100099466B469B8C98464B460899CB1A1BB2CF -:10982000032201924246921912B20092320028A8F5 -:109830001C4EB04753464A469B1A1BB20222019265 -:109840004246521912B200922A00514633A8B0473C -:10985000002128A8144DA8470A90002133A8A84742 -:109860000D902AE50EA8114B9847834649E529003B -:1098700008980F4B98474CE0055C00006D0B010009 -:1098800049430000A1F6000059A60000A7FB000014 -:10989000590E0100417C010089100100BDA50000A6 -:1098A000757A01007DA6000085A500008BFB0000F5 -:1098B000E50F010043461A885B7A9B079B0F0293D2 -:1098C00043461B7A019302230093230048A910A862 -:1098D0004D4FB8470AABDB8B01331BB20AAA538347 -:1098E000D38359462000494B9847002701360EABD9 -:1098F00006229B5E4A461221525E9B189E4211DC54 -:10990000E3191800089332B22B000999D0470028B8 -:10991000ADD07F19EB199B45CCD910AAD388013360 -:10992000D380E3E74346A0461C0010AA0621535EFD -:109930000221525E9A420FD010A8013BC3802288B8 -:10994000637A9B079B0F0293237A01930223009370 -:10995000434648A92C4DA84740462D4B98470B98A5 -:109960002C4DA8470C98A8470A98A8470D98A847D7 -:10997000637A0C221A4206D14BB03CBC9046994601 -:10998000A246AB46F0BD33AD2800234B9847238851 -:109990006B80224B2B80237A2B730222A35E5E10F6 -:1099A0000122534001251D40637A5B0717D4637A77 -:1099B0001B07E1D506990A88B6B228A8931B038035 -:1099C00049888B1B4380ADB29219521B8280761856 -:1099D000761BC68033AA0799114B9847CCE7059FA1 -:1099E0003A88B3B228A8D11A01807F88F91A418039 -:1099F000A9B2D218521A8280DB195B1AC38033AA2B -:109A00000799074B9847D2E7055C000089100100D1 -:109A10006D0B010011A60000B9AA0000FF7F000035 -:109A20005DAB0000F8B5DE4657464E464546E0B50C -:109A30000A9CA58A521B12B2658A4D1B2DB2216A5F -:109A4000002940D12831615CC90711D5217C03234D -:109A50000B40012B00D8C5E1022B06D00024032BBC -:109A600045D1D417A41AE40F41E00132D40F3EE0EF -:109A7000217C03220A40911E012900D8B4E1012A69 -:109A80000FD0002A10D1E91800D5AFE16D42002DAA -:109A900000DAADE10224AB4229DD4019BD4B984705 -:109AA00025E00124002D22DC1A00DD4200D5A1E1D1 -:109AB0006942CB43DB17194000248A4217DDB54BBE -:109AC0009847023413E02821615C8B46C90715D4FE -:109AD000A7691100794389128C46F917C91BC90F70 -:109AE00061448D4200DC96E05B469C07E40F200059 -:109AF0003CBC90469946A246AB46F8BDE1692F00B2 -:109B00004F43BF12002906DD974200DC76E15B4639 -:109B10009C07E40FEBE7974200DBABE15B469C0759 -:109B2000E40FE4E75B465E0801246640012434400C -:109B3000DDE75B465E080124664001243440D6E739 -:109B4000002190E100214B46C154636AD21A0135CD -:109B5000BD4243DA636A9A421ADD002DF5DBBD424D -:109B6000F3DA5B10D31ADBB24146615C0E4201D0DE -:109B7000DB43DBB2A946415DF92BE4D8052BE1D9E3 -:109B80004B431902C918C901CB18DB0DD9B2DAE76A -:109B9000BD4223DA002D21DBA36953439B125343BB -:109BA0005B12DBB2E269002A13DB2822A25C920777 -:109BB00001D5DB43DBB246193278F92B0DD8052BE2 -:109BC0000AD953431A02D218D201D318DB0DDAB2E4 -:109BD00003E0DB43DBB2E8E7002232702823E35CDA -:109BE0009B070CD50024674500DA80E70234634602 -:109BF000002B00DA7BE76146664B984777E7013533 -:109C000000D5F9E00224BD4200DD70E7791B401960 -:109C1000604B98476BE79846E9188C4506DD5B4634 -:109C20005C08012666400124344060E71102794354 -:109C30008E14B4468903090E013212027A43961437 -:109C4000B2466646761BB146D4455CD0002F52DB47 -:109C5000FF22511AE5694D43AD12002E19DBC845AC -:109C600017DD69434912CAB25946890701D4D24364 -:109C7000D2B2494646183178F92A09D8052A00D8BF -:109C800099E04A4311028918C9018A18D20DD1B24C -:109C900031704A46511C1DD488451BDDFF22551BDF -:109CA000A2696A43921255436D12EAB22825655D96 -:109CB000AD0701D5D243D2B241180D78F92A08D8A0 -:109CC000052A7AD96A431502AD18ED01AA18D20DFA -:109CD000D5B20D702822A25C920770D50024C84529 -:109CE00000DA04E702344B46002B00DAFFE649466F -:109CF000284B9847FBE6002900D0CCE001398C4680 -:109D0000E1440131FF314E46002E1BDBC84519DD11 -:109D10009203120E521852085946890701D5D243B0 -:109D2000D2B2494646183178F92A0AD8052A07D905 -:109D30004A4311028918C9018A18D20DD1B200E034 -:109D4000002131702822A25C92070CD55346591B82 -:109D50000024884500DCCAE60234002900DAC6E6A1 -:109D60000C4B9847C3E6494601311A00884500DD8F -:109D70000A000024002A00D1B9E60234002A00DCDF -:109D8000B5E6991A8018034B9847B0E60025A1E084 -:109D90000025C2E0E50F01004A460132012490454A -:109DA00000DAA4E60134002A00DAA0E6991A801845 -:109DB000624B98479BE600216AE7002589E7494600 -:109DC00002311A00884500DD0A000024002A00D173 -:109DD0008DE60234002A00DC89E6991A8018574B78 -:109DE000984784E6012482E6012480E601247EE689 -:109DF00000247CE600247AE6002478E61F00EB18B5 -:109E0000594389128A4200DD8CE61202A3695A4343 -:109E100092121112FF231A4039D09C469B1A984681 -:109E2000636A424653431B126246D21A491B8C4650 -:109E30001AD4B94218DA41464B435B12DBB2594699 -:109E4000890701D4DB43DBB2614645182978F92B39 -:109E500009D8052B00D873E64B431902C918C9016C -:109E6000CB18DB0DD9B2297063465D1C28239846B8 -:109E700002266FE61F005B1959438912914200DDEB -:109E800057E601321202A3695A439212C1E74D1BF1 -:109E9000AC46FF22EAE7E26952424A439212002EA0 -:109EA00019DBC84517DD51434912C9B25D46AD07FC -:109EB00001D5C943C9B24D4646193578F92909D8A3 -:109EC000052900D862E769430D026D18ED01691894 -:109ED000C90DCDB23570494601391FD488451DDD05 -:109EE000FF25AA1AA5696D425543AD126A43521265 -:109EF000D2B22825655DAD0701D4D243D2B246184F -:109F00003578F92A09D8052A00D841E76A431502AD -:109F1000AD18ED01AA18D20DD5B235702822A25C79 -:109F2000920700D438E70224884500DADFE50029EB -:109F300000DCDCE5014B9847D9E5C046E50F0100A0 -:109F4000F0B5DE4657464E464546E0B58DB0019029 -:109F500089460093169DAC7CE407E40F1023EE5E67 -:109F60002F00083700230AA8F95C19540133082B85 -:109F7000FAD1002C45D10AAB02215B5E002093424E -:109F80004ADC0AAB06215B5E934245DBB4460AAB72 -:109F900000201B5E9A46F318994508DB009B4B4452 -:109FA00018000AAB04215B5E9B1B98420BDD0AA8DC -:109FB0000227C05F8719BA4262DB0AAF06217F5EC3 -:109FC000BF1BBA425CDC002C3CD153464A469C1A6B -:109FD000009D0020AC421FDC002C03DB2100019817 -:109FE000A24B98470AAB0420185E4B46C01A0130BA -:109FF000002800DC0BE2854215DC002C1ED002207C -:10A000000AE00AAB02215B5E0120934204DC0AAB4A -:10A0100006215B5E9342B9DA0DB03CBC904699468E -:10A02000A246AB46F0BD009B191A019B9C466044BA -:10A030008E4B9847002CE2D10220EDE78542DED11D -:10A040000120E9E753464A469B1ADA43D2171340E8 -:10A05000009A02209342DFDC0AA90420095E4846E8 -:10A06000091AC91A01315818824200DAD11A02209D -:10A070000029D1DB019AD0187C4B98470220CBE70E -:10A080000AAB04215F5E80B2DB8801331B1A1BB26E -:10A09000121A30007043804612B2944500DDE0E1B0 -:10A0A000981B0138824200DDB3E10220B4E76B8BDC -:10A0B00006AA53802B8B1380E9E1802109010291CC -:10A0C000AFE107AB6A8B5A802A8B1A80B8E107A9E7 -:10A0D0004988002900D0F5E107A9013A0A80FF224A -:10A0E0004A80EFE106A9498807AD6D8849194910F2 -:10A0F000CFB2002C01D0FF43FFB2F31A013BC118CD -:10A1000012D4009DA9420FDA019D6E183578F92FFF -:10A1100009D8052F36D97D43AC462D026544ED01A3 -:10A120006544ED0DEDB23570D21A013A151811D40F -:10A13000009B9D420EDA019B5A191378F92F08D81B -:10A14000052F21D95F433B02DB19DB01DF19FF0D2E -:10A15000FBB21370002C19D0481CC343DB17184006 -:10A16000009A1300111A954200DC291A984200DB6C -:10A170002DE1002900DA2AE1019B9C4660443B4B1B -:10A18000984724E10025CEE70023E2E7009CA142A6 -:10A1900000DD3AE1002902DB0198344B9847681C46 -:10A1A00000D532E1A04200DD11E1009B191A019BAC -:10A1B0009C4660442D4B984709E109AD059B18006A -:10A1C00058434346181A029A2900294B98476A882F -:10A1D00006AB5988FF23591A9B1A4B435B12DBB21B -:10A1E000002C01D1DB43DBB2039D002D14DB009872 -:10A1F000854211DA01990800AC4660440178F92BD8 -:10A2000009D8052B2BD959430D0009024919C90159 -:10A210004919C90DC9B20170049D002D13DB0098C6 -:10A22000854210DA01990800AC4660440178F92BA8 -:10A2300008D8052B15D94B431902C918C901C918EB -:10A24000C90DC9B20170039B013B0393049B013309 -:10A25000049308AB5A80059B0133059376E10021F6 -:10A26000D9E70021EEE700223FE0C046E50F0100FC -:10A2700041090100002201984254013C0122944608 -:10A28000E24401372E005F4546D83509029B9C46C3 -:10A290006544380078434346181A00022B006B438C -:10A2A000C01A6900B44B984745192B119BB22D0178 -:10A2B000FF22154076197610F6B24A46002A01D0E0 -:10A2C000F643F6B2002C12DB009AA2420FDD20000A -:10A2D000019A125DF92E08D8052EC4D972431102D5 -:10A2E0008918C9018A18D20DD2B201990A5452466E -:10A2F000002AC2DB009A5245BFDD5146019A525CEA -:10A30000F92EB8D8052EB5D9564332029219D2018A -:10A310009619F60DF2B2AEE74C465A46D243059E68 -:10A32000B446624403998C469444624603925A466A -:10A33000501C049A94466044821B049208AA5580DB -:10A3400009AA1380558008AB5B88002B3DD007AA73 -:10A35000528853435B12DBB2002C01D0DB43DBB2EB -:10A36000039A002A14DB00990800904210DD01993D -:10A370009446614408000A78F92B08D8052B28D99F -:10A380005A4311028918C9018A18D20DD2B202703B -:10A39000049A002A13DB0099080090420FDD01990E -:10A3A000944661440A78F92B08D8052B13D95343F6 -:10A3B0001A02D218D201D318DB0DDAB20A70039B4D -:10A3C000013B0393049B01330493002C05D002202E -:10A3D00022E60022DBE70022F0E703990131009C2E -:10A3E000A14212DC002902DB0198644B9847049BD0 -:10A3F000002B0ADBA342EADA009AD11A019A9C46A2 -:10A40000624410005D4B9847E1E7002004E600201D -:10A4100002E680204000844500DC4EE680210902EF -:10A4200002919A1AB01A431C9B466B69984200D15C -:10A4300047E640434346181A029A07A9504B9847EB -:10A44000584640434346181A029A06A94C4B98476F -:10A450005B466B6106AB5B886B8306AB1B882B830B -:10A4600028E080235B009C4500DD81E080231B0108 -:10A470000293B31A9B466B699B4500D117E6584679 -:10A4800040434346181A029A06A93D4B98475B463B -:10A49000013B1800039358434246101A029A07A939 -:10A4A000374B9847039B6B6106ABDB886B8306AB2E -:10A4B0009B882B8306AB1B8807AA1288511E8B42F0 -:10A4C00000D104E652464946501A0137BA1A12B270 -:10A4D00007A90988994200D104E60133F61A8319C5 -:10A4E00019000393961B013E33181D000493002CA2 -:10A4F00012D0481CC343DB171840009E3300311AAA -:10A50000B54200DC291A984206DA002904DB019BD7 -:10A510009C466044194B984706AB1888431C05932A -:10A5200008AD40434346181A029A2900144B984735 -:10A530006B88002B05D108AB1A88013A1A80FF22DC -:10A540005A8008AB1B889B4500DC36E607AB1B88AE -:10A550009B46059F5F4500D9F5E608AB1A881201B6 -:10A5600002925E88049B9A46039BA1461C008CE6DF -:10A5700080231B0202937CE7757A0100E50F01003E -:10A580004109010010B50C4B1B68002B0CD00A4A86 -:10A5900001239468002C08D00133DBB20832102B61 -:10A5A000F7D10120404206E00023034ADC00A0501E -:10A5B0001219516018B210BD984D0020F0B587B047 -:10A5C0000390049116001F00104B1B68002B1BD03A -:10A5D0000E4C0022059203E008342368002B0DD0B6 -:10A5E00000931D683B00320004990398A847002897 -:10A5F00008D00228F0D101230593EDE70598431E0A -:10A600009841013007B0F0BD0120FBE7984D0020D4 -:10A61000431C07D0044AC300985800219950D3180E -:10A62000596070470020FCE7984D002030B50100CC -:10A63000084B1A0080320020002402E008339342C5 -:10A6400006D05D688D42F9D118681C605C60F5E742 -:10A6500030BDC046984D0020074B1A0080320020C4 -:10A6600002E00833934205D019680029F9D001307F -:10A67000C0B2F6E77047C046984D0020F8B5CE4608 -:10A68000474680B504000F001500984608AB002629 -:10A690009E5F09AB1B7899462C21514B9847B542D8 -:10A6A00005DD2B0035001E003B00474698462781FC -:10A6B00065814346A381E68103234A461340227CF9 -:10A6C00003218A431A4322746782A5824346DF1B13 -:10A6D000761BFB17FA185A40F11773184B400125E7 -:10A6E0009A4200DC0025282101222B001340655CE2 -:10A6F000012085431D4365540023E361A36139496B -:10A70000216023712A4227D0002F07D039008020F2 -:10A710004003354B984770438012E061002E07D00C -:10A72000310080204003304B98474743BF12A76158 -:10A73000E3692362227C0323134024D12822A35CF3 -:10A7400002218B43A354236A9A10002B45DB6262DB -:10A750000CBC90469946F8BD002E07D031008020F1 -:10A760004003214B984778438012A061002F07D007 -:10A770003900802040031C4B984770438012E061F1 -:10A78000A3692362D6E7012B0CD0022B10D0032B38 -:10A79000D9D1236A002B1ADD2822A35C02218B4326 -:10A7A000A354D0E72822A35C02210B43A354CAE799 -:10A7B000236A002B05DD2822A35C02210B43A3544E -:10A7C000C1E72822A35C02218B43A354BBE72822C4 -:10A7D000A35C02210B43A354B5E752426262B7E780 -:10A7E000E50F0100259A0000757A0100F0B5CC88CC -:10A7F00001344D88641B8E8801360D88761B251C1C -:10A8000024B237B2BC4200DD351C2DB26D10AA4215 -:10A8100000DD2AB20E000836040008340D782570D9 -:10A82000013401318E42F9D1028201221A40837C27 -:10A8300001218B4313438374054B0360022303718F -:10A8400080231B064361002343830383F0BDC0467E -:10A85000419F0000F0B5DE4657464E464546E0B5FE -:10A8600091B00D9002910C924B101E000F9301239A -:10A870000B405A425341F31A1D000E930400470047 -:10A880003800884B98470590231E00DCDBE0B91E9A -:10A890000391013B06938C46604407901900491BC5 -:10A8A0000891290028000A957F4BA44663445B1A4F -:10A8B0005D000B9549000A000996710088460C9BC3 -:10A8C00099460023009302256D422B1A01979B465F -:10A8D000CA46914624E09B1A002E10DB2A88D31822 -:10A8E000023F023D013E5E450CD03B8081190022B3 -:10A8F0008C42F0DD4A46AA1842445288EBE75246A1 -:10A900001288ECE7019D2A0005995046674B98474D -:10A91000AC46E244009B01330093A34200DBAAE073 -:10A92000029A0492534603995B5A5343069A002AAB -:10A93000E8DB0B9A52441500089A561E079F099AA5 -:10A94000501C0A9A94466044CFE701360235A6426D -:10A9500007D268882B888342F7D00499C84768805B -:10A96000F3E74446002C00DC7BE00C9B03930E983D -:10A97000421C13007B4308930F9D6B427B439B4615 -:10A980000D994B005B425A4300920B00013B4B4335 -:10A990005B00029300230693030001229446634464 -:10A9A0009A46B8465B460193AB4637E000210FE07C -:10A9B0004846008816E041460298095ACB180132F1 -:10A9C000B944F6190234624512DA002BEEDB991114 -:10A9D000218011005846101A0028E9DD01988019DD -:10A9E000009D405B1B1A51446145E4DA3188E5E77C -:10A9F0004546B846079F6446002341463A882A8068 -:10AA000001336D180237A342F8DB8846069B0133F9 -:10AA10000693039A02320392A34222DA039A1500A4 -:10AA2000138804994B4308990E0094466644059A8E -:10AA300017009446A946002207974746210064461E -:10AA40008C46A846C1E7029B04930C9D28881900F8 -:10AA5000174B984728800D9A130053439846012BB3 -:10AA600017D80598134B984711B03CBC90469946AF -:10AA7000A246AB46F0BD019F0C9D288804990C4B63 -:10AA8000984728800D9A130053439846012B00D80D -:10AA90006BE70C9D0126064B99464346A0461C00D9 -:10AAA00057E7C046590E0100FEFFFF7F250C01004D -:10AAB000757A01006D0B010010B504005421234B81 -:10AAC0009847234B1B88638023791F22934323716C -:10AAD000A188204B1940A18000216171A17B914385 -:10AAE000A173E1891940E1810021E1733420215CE7 -:10AAF00091432154A18E1940A186210034310020B8 -:10AB000048704621605C90436054605A184060521F -:10AB10002100463100204870A17F9143A177E28B4C -:10AB20001340E3830023E377FF33638123732377A9 -:10AB300023753622A354084A2263442163542264B5 -:10AB40002822A354F03B638210BDC046E50F0100EC -:10AB5000188A01001FF8FFFF30000020F0B5DE4624 -:10AB600057464E464546E0B5B1B0814604919346FE -:10AB7000C4884588631C5B1B1BB2002B01DC00F002 -:10AB8000CEFF86880788731CDB1B1BB2002B01DC01 -:10AB900000F0C5FF130020229B5E9846002B01D1D8 -:10ABA00000F0E1FE28235A46D35C0693052B01D81A -:10ABB00000F0D9FE136A012B00D1E2E05B46598C0C -:10ABC000DA8C8B1AFF18BFB214AB1F808918761865 -:10ABD000B6B29E805946898C881A2D18ADB25D8018 -:10ABE0005218A418A4B2DC804346DB0F434459102A -:10ABF000C94389B216AA781810805B1001339BB242 -:10AC0000F018908069185180E318D380069BFA2BC6 -:10AC100001D9FF2306939F4B98479F4B9847824645 -:10AC2000049A16A918A89D4B9847002801D100F056 -:10AC30009AFE53461B8A9C4618AB1A886146521AE4 -:10AC40001A805246508A5A88121A5A809988624647 -:10AC5000891A9980DA88121ADA8000231AA94846DC -:10AC6000C25C5A540133082BFAD181461AAB1988B9 -:10AC700001318AB294461A805888013082B2059216 -:10AC80006A46928A5A809888421E9A80DA88511EB3 -:10AC9000D9805B4600215B5E6146411A09B2059886 -:10ACA000101A00B20200814200DA0A0052100F921C -:10ACB0009A4200DD0F930136F61BB2B2924611B2F2 -:10ACC0000134651BADB22AB21400914200DA0C00C7 -:10ACD00064109C4200DD1C00A0444346099340469A -:10ACE000584340006E4B98470E905B462027DF5F2D -:10ACF00022B2B846D3190793002322A814A95E5C98 -:10AD00001E540133082BFAD1FB0FDB195B109BB2E9 -:10AD1000012139400E001091591E70427041091AEC -:10AD20000C19A4B222A98C8001339BB24B805046EF -:10AD3000241A0C80ED18CD80002329A8594CA04777 -:10AD40004346012B01D102F05BF97B100D93079C68 -:10AD50000C942000524B98470A90002C61DD0C9B0C -:10AD60005B000B93079B504A944663445B000E9A2A -:10AD70009246002290464D4F52460892CA46994646 -:10AD80001CE05B4624229B5E002B00D016E75B464E -:10AD900026229B5E002B00DD10E700F0E4FD0B99FE -:10ADA0000898434B9847089B0B9A94466344089332 -:10ADB00001239C46E044079B434531DD0C990A9CE6 -:10ADC00020003C4B98476B461C229B5E424612B2C9 -:10ADD00029A9009100212000299CA0470028DED04D -:10ADE0000D9B05930A9D2878800119002F4B9847E9 -:10ADF000089B1880079A012AD5DD1C004B441E00D1 -:10AE000005E02388638001350234A642CBD0687800 -:10AE10002B788342F5D080010599B8476080F2E72E -:10AE2000D1460A98244B98470D9B012B01D102F083 -:10AE3000F6F86B461C229B5E08930E9C22000D9D2B -:10AE4000290018001D4B9847109BAC4663441FB265 -:10AE5000012F3ADD0597208880013900134B984770 -:10AE600020800C9D6D43012D2AD90F4A94466544DC -:10AE70006D00A44665440D4E02E00234A5421FD089 -:10AE8000608823888342F8D080010599B0476080AC -:10AE9000F3E7C04649430000A1F60000A7FB00000D -:10AEA000590E0100EDA70000FFFFFF7F757A01003A -:10AEB000E50F0100891001006D0B010055A800008D -:10AEC0000E9A39000898B54B9847079F7F43002F8B -:10AED0000AD00E9A130078009446604419881170C5 -:10AEE000023301328342F9D116A94A88CB88013353 -:10AEF0009B1A1BB2D80FC3185B10D3189BB21093C8 -:10AF00001BB20C930A888B8801339B1A1BB2D90F92 -:10AF1000CB185B10D3189BB211931BB20D93A04BAF -:10AF2000984700230893002810D15B4622229B5E9D -:10AF3000002B0BD15B4624229B5E002B06D15B4687 -:10AF400026229A5E53425341DBB2089316ACA08886 -:10AF500001302388C01A00B2924B984705906B4687 -:10AF60003C229A5E01231AA929A88F4DA8470021E7 -:10AF700029A88E4B98470F900422A35E1CA98B80B2 -:10AF80006A46928C0A9201339B1A0B800220235E40 -:10AF90004B80013B94466344CB80049A1EA8844BAB -:10AFA0009847002871D01EAB06229B5E0C998B42FD -:10AFB00001DD1EABD9801EAB00229B5E0D9A934231 -:10AFC00003DC119B01331EAA13801EAB00215A5EC5 -:10AFD0009B8801339B1A1BB20B93002B55DD1EABD4 -:10AFE00006215C5E02269E5F1CAB02215D5E751B26 -:10AFF00009994D4300215B5ED21AAD180E9B9C4609 -:10B000006544002322A81EA95A5C1A540133082B58 -:10B01000FAD122AB5A88DA800134A61B36B2002E50 -:10B0200033DD731C9846012622AC624B9A46079585 -:10B030005F4619E0FA8B2923FB5C0293069B019380 -:10B040000090059B210004985B4DA847638801335D -:10B050006380E3880133E380099B9C46079B63443C -:10B0600007930136B0450FD00B9A07990598534BBB -:10B0700098470221625E0025615F0B9B0598D047CF -:10B080000128D7D10130D5E7BB4616AA0421535E6B -:10B090001CA98B8001330A981B1A0B800623D25EF1 -:10B0A000531C1B1A4B80CA80049A1EA8404B984719 -:10B0B000002800D185E01EAB02229B5E0C9A9342D1 -:10B0C00003DC109B01331EAA53801EAB00229B5E43 -:10B0D0000D9A934203DC119B01331EAA13801EAB11 -:10B0E00000215A5E9B8801339B1A1BB20B93002BE5 -:10B0F00067DD1EAB06215C5E02269E5F1CAB06214F -:10B100005D5E2D1B09994D4300215B5ED21AAD187F -:10B110000E9B9C466544002322A81EA95A5C1A5423 -:10B120000133082BFAD122ABDA885A800134A61BEE -:10B1300036B2002E45DD731C9846012622AC1D4B0D -:10B140009A4607955F4619E0FA8B2923FB5C029328 -:10B15000069B01930090059B21000498164DA8477B -:10B160006388013B6380E388013BE380099B9C4645 -:10B17000079B634407930136464521D00B9A0799F4 -:10B1800005980E4B98470221625E0025615F0B9B7C -:10B190000598D0470128D7D10130D5E755A8000040 -:10B1A00059A60000590E0100EDA7000085A500007A -:10B1B000A7FB0000BDA50000055C0000250C0100F8 -:10B1C000BB4616AA0421535E1CA98B8001330A9842 -:10B1D0001B1A0B805388844663444B80D3881B1A08 -:10B1E000CB80049A1EA8D14B984700286CD0089BAE -:10B1F000002B0AD01EAA10884B469B88191C1BB234 -:10B2000004B2A34200DA011C11801EAB00215A5E79 -:10B210009B8801339B1A1BB20793002B54DD1EAB96 -:10B22000DF8801375B88FF1A3FB209990B00013BA9 -:10B230004B431CA90020095E521A9A1813000E995C -:10B240008C4663440B93002322A81EA95A5C1A540F -:10B250000133082BFAD122AB5A88DA80002F33DD74 -:10B260000025B34B984622AC089B9A465E46BB46E7 -:10B2700015E0F28B2923F35C02932823F35C0193FE -:10B280000090059B21000498AA4FB84763880133BA -:10B290006380E3880133E38001355D4513DA079A63 -:10B2A0000B990598C04702205346002BE1D1022399 -:10B2B000E25E0023E15E079B05989F4FB847012897 -:10B2C000D7D10130D5E7B346099B002B1FDDDF0F37 -:10B2D0009C4667447F100E9D00265A1E9446B84631 -:10B2E0001F000BE019781078187011700133013AC3 -:10B2F0009C42F7D1ED190136B74208D04346002BE6 -:10B30000F8D02B006246AA1841466C18EAE716AA44 -:10B310000021535E1CA90B80013B0A9CA446634498 -:10B320008B800223D35E4B80013B6344CB80049A25 -:10B330001EA87E4B984700286FD01EAB06229B5E4E -:10B340000C998B4201DD1EABD9801EAB04229B5EA3 -:10B350000D998B4201DD1EAB99801EAB00215A5E18 -:10B360009B8801339B1A1BB20B93002B55DD1EAB40 -:10B3700006215C5E02269E5F1CAB02215D5E751B92 -:10B3800009994D4300215B5ED21AAD180E9B9C4675 -:10B390006544002322A81EA95A5C1A540133082BC5 -:10B3A000FAD122AB5A88DA800134A61B36B2002EBD -:10B3B00033DD731C9846012622AC5F4B9A460795F5 -:10B3C0005F4619E0FA8B2923FB5C0293069B0193ED -:10B3D0000090059B21000498564DA84763880133CF -:10B3E0006380E3880133E380099B9C46079B6344A9 -:10B3F0000793013646450FD00B9A079905984C4B99 -:10B4000098470221625E0025615F0B9B0598D0473B -:10B410000128D7D10130D5E7BB4616AA0021535EDB -:10B420001CA90B80013B0A9CA44663448B80062325 -:10B43000D25E531C1B1B4B80CA80049A1EA83B4B38 -:10B440009847002800D17AE01EAB02229B5E0C9A3E -:10B45000934203DC109B01331EAA53801EAB0422CF -:10B460009B5E0D998B4201DD1EAB99801EAB0021C6 -:10B470005A5E9B8801339B1A1BB20B93002B5EDD37 -:10B480001EAB06215C5E02269E5F1CAB06215D5E44 -:10B490002D1B09994D4300215B5ED21AAD180E9BFE -:10B4A0009C466544002322A81EA95A5C1A54013305 -:10B4B000082BFAD122ABDA885A800134A61B36B2A7 -:10B4C000002E3CDD731C9846012622AC1A4B9A468E -:10B4D00007955F4619E0FA8B2923FB5C0293069BD4 -:10B4E00001930090059B21000498124DA8476388A2 -:10B4F000013B6380E388013BE380099B9C46079BFB -:10B50000634407930136464518D00B9A079905986E -:10B51000074B98470221625E0025615F0B9B0598EF -:10B52000D0470128D7D10130D5E7C046A7FB00009E -:10B53000250C0100055C0000BDA50000BB4616AA55 -:10B540000021535E1CA90B80013B0A9CA446634466 -:10B550008B80538863444B80D3881B1BCB80049A19 -:10B560001EA8C54B984700286CD0089B002B0AD01A -:10B570001EAA4B4618889388191C1BB204B2A3421A -:10B5800000DD011C91801EAB00215A5E9B880133B7 -:10B590009B1A1BB20793002B54DD1EABDF880137CB -:10B5A0005B88FF1A3FB209990B00013B4B431CA972 -:10B5B0000020095E521A9A1813000E998C466344B3 -:10B5C0000B93002322A81EA95A5C1A540133082B9E -:10B5D000FAD122AB5A88DA80002F33DD0025A74B41 -:10B5E000984622AC089B9A465E46BB4615E0F28B15 -:10B5F0002923F35C02932823F35C01930090059BBD -:10B60000210004989E4FB847638801336380E38824 -:10B610000133E38001355D4513DA079A0B990598EC -:10B62000C04702205346002BE1D10223E25E0023F3 -:10B63000E15E079B0598934FB8470128D7D10130A9 -:10B64000D5E7B3461CA916AB1A880A9CA4466244E7 -:10B650000A809A88121B8A8002229B5E4B80013BE3 -:10B660006344CB80049A1EA8834B9847002876D069 -:10B67000089B002B0AD01EAAD0884B465B88191C59 -:10B680001BB204B2A34200DD011CD1801EAA938824 -:10B69000013311885B1A1BB20B930221535ED488CD -:10B6A0000134E41A24B209990C911CAA0225555FB1 -:10B6B0005D1B4D434B1EED180E9B9C4665440023BD -:10B6C00022A81EA95A5C1A540133082BFAD122ABC6 -:10B6D0005A88DA80002C42DD631C984601266A4BAA -:10B6E0009A4622AC07955F461EE0069BFF2B1FD1B2 -:10B6F000069920E0FA8B2923FB5C0293FF23019338 -:10B700000090059B210004985D4DA8476388013394 -:10B710006380E3880133E3800C9B9C46079B634472 -:10B7200007930136464519D0079B1978FF29DCD0CD -:10B73000069B5943090A0B9A0598D0470220089B9B -:10B74000002BD7D10223E25E0023E15E0B9B05981C -:10B750004C4DA8470128CDD10130CBE7BB461CA9F1 -:10B7600016AB1A880A9CA44662440A809A88121B67 -:10B770008A8006229A5E531C1B1B4B80CA80049A47 -:10B780001EA83D4B9847002800D181E0089B002B64 -:10B790000AD01EAA50884B46DB88191C1BB204B283 -:10B7A000A34200DA011C51801EAA9388013311883C -:10B7B0005B1A1BB20B930621535E5C1C5288A41AC1 -:10B7C00024B209991CAA0625555FED1A4D434B1E5C -:10B7D000ED180E9B9C466544002322A81EA95A5CC6 -:10B7E0001A540133082BFAD122ABDA885A80002C84 -:10B7F0004EDD631C98460126234B9A4622AC0795E2 -:10B800005F46CB461EE0069BFF2B1FD1069920E02A -:10B81000FA8B2923FB5C0293FF2301930090059B85 -:10B8200021000498164DA8476388013B6380E38894 -:10B83000013BE380099B9C46079B634407930136C9 -:10B84000B04523D0079B1978FF29DCD0069B5943CC -:10B85000090A0B9A0598D0470220089B002BD7D1E4 -:10B860000223E25E0023E15E0B9B0598054DA8478D -:10B870000128CDD10130CBE7A7FB0000250C01004A -:10B88000055C0000BDA50000450F0100D946BB4680 -:10B890001CA916AB1A880A9CA44662440A809A889E -:10B8A000121B8A805A8862444A80DB881B1BCB802B -:10B8B000049A1EA8C44B984700284CD0089B002B24 -:10B8C00049D11EAA9388013311885B1A1BB20693D3 -:10B8D000D78801375388FF1A3FB2002322A81100EE -:10B8E0005A5C1A540133082BFAD122AB5A88DA80F9 -:10B8F000002F30DD01370125B44B9A4622ACB44B02 -:10B9000098465E46BB4614E0F28B2923F35C029313 -:10B91000FF2301930090059B21000498AD4FB84789 -:10B92000638801336380E3880133E3800135AB45ED -:10B9300010D02823F15C069A059F3800D0470221D9 -:10B94000625E0020215E069B3800C0470128DBD1E3 -:10B950000130D9E7B3460F989F4B984705989F4C05 -:10B96000A0470E98A0475B461B7B9A46052B3FD904 -:10B9700000231AA94846C25C5A540133082BFAD155 -:10B9800081465B4610229B5E012B1FDD5B461B7DC3 -:10B99000F92B1BD95B4600229B5E002B16D05B4621 -:10B9A000588A1AAB8108012211401C880919198094 -:10B9B000410811405C8809195980C40814409988CD -:10B9C000091B99800240D9888A1ADA805346FA2BDB -:10B9D00001D9FF239A46824B9847824B984707002C -:10B9E000049A1AA91CA8784B9847002800D09DE01B -:10B9F0005B46D86A002806D036235A46D35C052B0E -:10BA000001D900F0D7FB5B461E7D052E19D9102207 -:10BA10009B5E002B15D05B4612229B5E002B10D044 -:10BA2000FA2E00D9FF266E4B98476E4B98470700B9 -:10BA3000049A494618A8644B9847002801D000F0A2 -:10BA400023FD5B46D96B002906D044235A46D35CBC -:10BA5000052B01D901F038F85B461B7F9846052B72 -:10BA60005DD95B4618229B5E002B58D04346FA2BCB -:10BA700001D9FF2398465C4B98470A90002316A9EA -:10BA80004846C25C5A540133082BFAD15B465D8BA1 -:10BA900016AB1A88521B92B292461A805A88521BD1 -:10BAA00092B207925A809F88EF19BFB29F80DA88BE -:10BAB000AD18ADB2DD805B4600229B5E06935B460F -:10BAC00018229B5E0593002318A816A95A5C1A54E5 -:10BAD0000133082BFAD16B469C8A18AE33881B1BA6 -:10BAE0009BB208933380B388E3189BB20993B38069 -:10BAF00073881B1B9BB20B937380F388E418A4B26A -:10BB0000F480374B9847374B98478146049A310069 -:10BB10001AA82D4B9847002801D001F031F831B018 -:10BB20003CBC90469946A246AB46F0BD388A1CAA5A -:10BB30001188091A89B211807D8A5488641B548047 -:10BB400093881B1A9BB29380D088401BD08001330E -:10BB50005B1A1BB20A930B931800244B984706906C -:10BB6000214B984783B20C9300220792002B06D1F9 -:10BB70005B469B79023B5A1E9341DBB207931AA99D -:10BB80008C8801340B88E41A24B226005B4600221C -:10BB90009A5ECB88013349885B1A1BB2A34200DD51 -:10BBA00023005B109846934200DD9046079B002BD4 -:10BBB0002FD04346002B2CD15B469B79002B17D00E -:10BBC00001235B420F9333E0A7FB0000450F010008 -:10BBD000BDA50000055C000011A600006D0B010072 -:10BBE00049430000A1F6000059A60000590E0100CB -:10BBF0005B465A885B7B0293534601930123009373 -:10BC000000231AA90498AE4CA04701235B420F936E -:10BC100077E24346002B37DD43461AB200231AA9C8 -:10BC200029A8A84DA847002129A8A74B98470F90FD -:10BC30005B465B886A4613845B469B7900220D92C3 -:10BC4000022B25D01AAB0422995E0020185E4B1CF3 -:10BC50001B1A1BB2424652009B1A09931EAA10805F -:10BC600091801CA90223CD5E7B8A5B191BB2538095 -:10BC7000D38006228B5E9D4200DD32E24B4610935C -:10BC8000B9465E46D346E8E001235B420F93CFE717 -:10BC90005B465A889B889A42D4D060008B4B984769 -:10BCA0000D90002ECEDD002542460992B0462E00B2 -:10BCB0005D46BB4605901EE0A978C906C80E6B8894 -:10BCC0005B059B0EEA78D20821781F27B943014310 -:10BCD0002170590123887E4803400B432380D20002 -:10BCE0001B0A07210B40134363700136059B023387 -:10BCF0000593B04558DD059C0823E95E404648435E -:10BD0000001232B29042D7DA0A27EB5F47465F4310 -:10BD10003F12BA423FDA591A43465943301A00B229 -:10BD20000302181A09126B4B9847FF231840191A7F -:10BD30006A79D2084243EB78DB084B43D3181A02E6 -:10BD4000D218D201D218D20D1F231A40AB885B053E -:10BD50009B0E43439C466B885B059B0E4B436344A1 -:10BD60001F02BC469C446746FF01BC466344DB0D92 -:10BD70003F273B402F79FF06FF0E7843AF78FF0641 -:10BD8000FF0E7943401801020918C9010918C90DAD -:10BD90001F20084098E72979C906C80EAB885B05C3 -:10BDA0009B0E6A79D2088FE7099B98465F46AB469F -:10BDB00048E70B99069F3800474B98474B465A8AED -:10BDC000521912B2198A0EAB1B8FC91809B20A9BFD -:10BDD0003800424FB8470590B379012B19D181E063 -:10BDE0000B99069F38003C4B98474B465A8A52198C -:10BDF00012B2198A0EAB1B8FC91809B20A9B380000 -:10BE0000364FB8470590B379012B6BD0079A002ABB -:10BE10003ED1022B00D153E10C9B002B02D1099B98 -:10BE2000322B0CDC737B02935B460193059B0093E2 -:10BE3000069B6A46128C1EA90498214CA0471EAB93 -:10BE40005A8801325A80DA880132DA8001350EAB25 -:10BE50003E229B5E9D4200DD3FE14B4612241C5F6B -:10BE600064191AAB02229B5E434401339C42B7DD46 -:10BE70001AAB06229B5E42469B1A013B9C42AFDAFC -:10BE8000079B002B95D0B379012B29D00122059275 -:10BE9000099A322A00DDA0E0022B00D110E1012B2B -:10BEA000BAD1737B02935B460193059B0093069B7B -:10BEB0006A46128C1EA90498014CA047BFE7C046F1 -:10BEC000055C0000EDA7000085A50000590E0100EB -:10BED0001FF8FFFF757A010089100100BDA5000061 -:10BEE000012305937288B3889A426DD01AA94A88B3 -:10BEF000A31A9BB20827F05F8246C9880131891ACC -:10BF000009B202004A43121218B28446824245DA4C -:10BF10000A27F05F07004F433F12BC4500DBB1E04A -:10BF20005746C01B41439B1A1BB21802C01A091284 -:10BF3000B84B9847FF210840091A7279D20842434A -:10BF4000F378DB084B43D3181A02D218D201D21867 -:10BF5000D20D1F239C461A40B3885B059B0E4343BA -:10BF60009A4673885B059B0E4B439A4453461B02CB -:10BF70005344DB015344DB009B0E3779FF06FF0E71 -:10BF80007843B778FF06FF0E79434118080240183E -:10BF9000C0014018C00D6146084007E0B178C906ED -:10BFA000C80E73885B059B0EF278D2081F21089F8C -:10BFB0008F43390001435801974B0B400343D20292 -:10BFC0005B055B0D13430893079B002B00D168E7CB -:10BFD0000123099A322A00DC63E71AAA0221525E81 -:10BFE00042440132944208DB1AAA0621525E4146BD -:10BFF000521A013A944200DC4EE71AAB00229B5ED3 -:10C0000022A90B80424668460287048F013BE31851 -:10C010008B801EAB5A884A80DB88CB80737B02936F -:10C020005B460193059B0093069B028C04987B4F13 -:10C03000B847B379012B2ED01AAB04229B5E22A9FC -:10C040005A1C141B0C808B8042469B1A01334A46B3 -:10C050001021525E0EA93820095E52189B1ADA434D -:10C06000D2171340069A94466344727B02925A4652 -:10C070000192059A00926A46128C22A90498674C94 -:10C08000A047DCE63179C906C80EB3885B059B0E74 -:10C090007279D2088AE722A91AAA1388E3180B80BA -:10C0A00093881B1B8B80737B02935B460193012358 -:10C0B000009300236A46128C0498584FB847BBE798 -:10C0C000737B02935B460193059B0093069B0D9A3D -:10C0D0001EA90498524CA047B1E6DA46109B994637 -:10C0E000B3465B469B79002B05D10C9B002B02D1FC -:10C0F000099B322B0CDC0D9B002B02D01800494B06 -:10C1000098470F98484B98470698464B98476FE4D6 -:10C1100043466A469382968A1EAC1AAD2B88F31862 -:10C120002380AB889B1BA3800222AB5E6380F31845 -:10C13000E3805B465A885B7B02935346019301235D -:10C140000093002321000498344FB8470623E95E8A -:10C150008A1B12B262800620235E9A4202DC0133FF -:10C160001EAA53801EACE1805B465A885B7B02931B -:10C170005346019301270097002321000498274D7F -:10C18000A8471AAA138823809388A3805388013371 -:10C19000F3186380D388013B9E1BE6805B465A8878 -:10C1A0005B7B029353460193009700232100049880 -:10C1B000A847A0E71D4B98470700012809D9022886 -:10C1C0003CD00023002204994846194CA047FFF7B1 -:10C1D0001AFC29A95B46D86A164B9847012801D05A -:10C1E000FFF711FC299BDD026D0D6E230EAA94460C -:10C1F00063441E8876091EAC20000F4B98473623F7 -:10C200005A46D35C23703723D35CA372938EA381E9 -:10C2100037E0C046757A01001FF8FFFF055C00009B -:10C22000E96800006D0B010011A60000F980000014 -:10C23000D97E0000E1E40000457E000022AC200031 -:10C24000874B98475B469B8E23805B461B6B6360E6 -:10C2500036235A46D35C23720C22A35E29AE0022F9 -:10C260000292804A01920A21625E00925A46126B43 -:10C270005946C96A30007C4CA0470023F55E022372 -:10C28000F65E38235A46D35CDB073DD44B4618880C -:10C290005988DB8801335B1A1BB24A469288013207 -:10C2A000121A12B2521BD40FA2185210801880B268 -:10C2B0001CAA10809C1BE30F1B195B10C91889B2C4 -:10C2C0005180013D45199580731ECB189BB2D380D8 -:10C2D000022F00D19AE05B4600229A5E49461CA8D4 -:10C2E000624B984701246442002801D100F0ABFE64 -:10C2F0001EAB5A46D26A04991CA85D4DA84720007F -:10C300005C4B9847FFF77FFB5B4600229A5E002359 -:10C31000494629A8584CA047002129A8574B9847BF -:10C3200007904B46988801301B88C01A00B2544BC6 -:10C33000984629009847CB0F59184B1006934B4647 -:10C3400006229B5E9A464B465C885346581C001B4F -:10C3500000B23100C047CB0F5B185B10E41AA4B2E7 -:10C3600023B21CAA5380B1B2884601396418D48024 -:10C370009A4546DB1400ADB2424B9A463C4E0592BC -:10C380004B46B9461F002AE0002300935B46DB6A58 -:10C3900022AA04990598D0472388EB181BB2238062 -:10C3A000A288AA18A2804A460421525E9A4208DB5B -:10C3B000022FE9D01EAB5A46D26A04990598B047BD -:10C3C000EAE74B46B9461F00638843441BB26380CB -:10C3D000E2884244E28006217A5E9A4210DB3B8882 -:10C3E000069A9B1A9BB21AB22280691E5B18A38020 -:10C3F00004217B5E9342E7DB3B004F469946D7E73B -:10C40000B94607981B4B9847FFF7FDFA01221440E5 -:10C410001CA8091941801B19C3805B4600229A5E43 -:10C420004946124B9847002816D15B4600229A5E77 -:10C430000023494629A8104CA047002129A80F4BEA -:10C4400098470400002300935B46DB6A22AA049904 -:10C450001CA80C4DA84752E701246442F2E7C046ED -:10C460005D810000187C00007D1A010035FE00008F -:10C47000D97E000011A60000EDA7000085A50000F0 -:10C48000417C0100AD810000388A18AA1188091A80 -:10C4900089B211807D8A5488641B548093881B1A4A -:10C4A0009BB29380D088401BD08001335B1A1BB2B3 -:10C4B0000A930B931800B84B98470590B74B9847D1 -:10C4C0000025002806D15B4612255D5F0F3D6A42BC -:10C4D0006A41D5B25B460021595E4B469B880133C9 -:10C4E0004A4612889B1A4A46D288013248464088FA -:10C4F000121A12B21BB2934200DD13005B100993B3 -:10C500008B4200DD0991099B002B00DC84E01AB20C -:10C510000023494622A8A24CA047002122A8A14BF3 -:10C5200098470F905B461020185E00231AA94C46CE -:10C53000E25C5A540133082BFAD1A1461AAB1A888F -:10C540005B465B8A59076BD584B21AA912190A8017 -:10C550008A88190769D584B21AA9121B8A804A8869 -:10C56000990767D584B21AA912194A80CA88DB07CD -:10C5700065D583B21AA9D31ACB80099B98466A461F -:10C580001383138B9A461A1A12B2012329A8844CDA -:10C59000A047002129A8834B984710905B461020A4 -:10C5A0001B5E013B0D934146434500DA0D915B460E -:10C5B000DB8911936A4693835B465B7D0693002D6E -:10C5C00000D1BCE11222BB5E4A460221525ED21A61 -:10C5D0000D998C46624418A90620095E0C9191427F -:10C5E00000DD0C921CAA49460988118049468988B9 -:10C5F000918018A902254D5F5B191BB25380D3802F -:10C600000C9BAB4200DA9FE01EAC08954B46B1464E -:10C610005A460E921E0047E001235B420F9381E7CA -:10C62000099944186442A4B28FE7099944186442F6 -:10C63000A4B291E7099944186442A4B293E7099B14 -:10C64000C3185B429BB295E70422B35E5A1C514665 -:10C65000521A2280A380099A9A1A013210217B5E15 -:10C660000EA92820095E5B18D31ADA43D2171340AB -:10C67000059A94466344069A02924A4601924246BB -:10C6800000926A46928B21000498474DA8471CAB44 -:10C690005A8801325A80DA880132DA80089A0132E7 -:10C6A00008920C9B93424ADB0B99059D28003F4B57 -:10C6B00098477A8A089B9C46624412B2398A0EAB2C -:10C6C0001B8DC91809B20A9B05952800384DA8474B -:10C6D00080461CAB5A886280DB88E3800022B35E10 -:10C6E0002380013B5344A380069A02924A4601925A -:10C6F0000090059B6A46928B210004982A4DA8471A -:10C700000623E25E0221735E0E991020095E5B181B -:10C710009A4299DA338853442380B38852469B1A4D -:10C72000A380069B02934B460193012300930023B1 -:10C730006A46928B210004981B4DA84784E732007B -:10C740004E460E9B9B4691461222BB5E4A460621F0 -:10C75000525ED21A0D99521A18A902254D5F9542C0 -:10C7600000DA15000C990A00A94201DB013215001C -:10C770005B191BB21CAA5380D38018AB06229B5EA8 -:10C780009D4200DD99E01EAC08954B46B1465A46E5 -:10C790000C921E0041E0C046590E010059A600004F -:10C7A000EDA7000085A50000055C000089100100D0 -:10C7B000BDA500000422B35E5A1C5146521A2280C5 -:10C7C000A380099A9A1A013210217B5E0EA92820B3 -:10C7D000095E5B18D31ADA43D2171340059A9446C0 -:10C7E0006344069A02924A460192424600926A4681 -:10C7F000928B21000498AF4DA8471CAB5A88013298 -:10C800005A80DA880132DA80089A013211000892DF -:10C810000EAB2E229B5E99424ADC0B99059D2800A7 -:10C82000A54B98477A8A089B9C46624412B2398A83 -:10C830000EAB1B8DC91809B20A9B059528009F4DA8 -:10C84000A84780460022B35E2380013B5344A38067 -:10C850001CAB5A886280DB88E380069A02924A46C3 -:10C8600001920090059B6A46928B21000498914D9D -:10C87000A8470623E25E0621735E0C991020095E2C -:10C880005B1A9A4296DD338853442380B38852461C -:10C890009B1AA380069B02934B46019301230093AE -:10C8A00000236A46928B21000498824DA84781E7B5 -:10C8B00032004E460C9B9B4691466B46998E1CACB3 -:10C8C0004B465A8801328A186280DB88013B5B1A2A -:10C8D000E3804B4600229B5E23805A46128A013A2F -:10C8E0009B18A380069B02930196012700970023C3 -:10C8F0006A46442152181288210004986D4DA847B9 -:10C900004A460421525E59460B8AD31A01332380CA -:10C91000A280069B02930196009700236A46442159 -:10C920005218128821000498A8471098644CA04718 -:10C930000F98A0470598634B9847FFF782F84B463E -:10C940000021595E1CA801804B4604229A5E828019 -:10C9500018AB02241C5F7B8A1B191BB24380C38067 -:10C960005B4612201B5E042B2BD0082B45D00022E7 -:10C9700016210EA8844661440A70172161440A708A -:10C98000022B2CD10132143363441A7016230EAAE1 -:10C99000944663441B78002B04D1173363441B78FF -:10C9A00001255D4001231D4014AB1D70250018AB0F -:10C9B00006229B5E9C42B8DC1CAC3F4B9A46B046BC -:10C9C00051E00D9A944661441CAA918000221621E0 -:10C9D0000EA8844661440A70172161440A70012B35 -:10C9E00010D0032BD2D1023B16220EA98C466244F2 -:10C9F0001370172262441370C8E70D99521A1CA9CC -:10CA00000A80E3E7012216330EA98C4663441A70AC -:10CA1000BCE70B99059E3000D0477A8A521912B2B2 -:10CA2000398A0EAB1B8DC91809B20A9B05963000D6 -:10CA3000224EB047069A0292424601920090059B10 -:10CA40006A46928B210004981A4EB04763880133DE -:10CA50006380E3880133E38001350EAB2E229B5EB9 -:10CA60009D4200DD61E714AB1B78002BD1D116335A -:10CA70000EAA944663441B78002B09D00223E25E81 -:10CA80004B4602215B5E0D998C4663449A42C0DDA1 -:10CA900017230EAA944663441B78002BD6D002239A -:10CAA000E25E4B4606215B5E0D995B1A9A42CDDB36 -:10CAB000AFE7C046055C000089100100BDA500007D -:10CAC00011A600006D0B01004C2398465B464246C0 -:10CAD0009B5E1CAD00260296BC4A01925A464E202F -:10CAE000125E00925A46126C2800B94CA04722AC44 -:10CAF000268066802B88013BA3806B88013BE38006 -:10CB00001EAD50235A46D25C2B0021004846B14F3F -:10CB1000B8472A8848235946CB5AD21892B223885C -:10CB2000D31823806B884A215846415A5B189BB220 -:10CB3000618859186180A1885218A280E2889B18E8 -:10CB4000E38029AD2800A44B98475B461B6C6B60C3 -:10CB50005B4642469B5AAB815B4602329B5A6B81D5 -:10CB600046235A46D35A2B804423D35C2B7200961B -:10CB7000D36B2A0004992000984CA047FEF76CFF65 -:10CB8000069B01375246BA1A01350799691A09B24C -:10CB900012B28A4200DD0A0052109A4200DD069A63 -:10CBA000059B9918099B013308981B1A01340B98AF -:10CBB000201A00B21BB2834200DD03005B10079312 -:10CBC0008B4200DD07914B461E8A1AA90B889B1BDE -:10CBD00098B208804B465C8A4D882D1B4D808B880F -:10CBE0009B1B9BB28B80CD882C1BCC8001331B1AE6 -:10CBF0001BB21E00089312B2012316A922A8784D79 -:10CC0000A847002122A8774CA0470E90079F3AB270 -:10CC1000002318A929A8A847002129A8A0470F90F8 -:10CC200009963000704B984705905B4618229B5E32 -:10CC30005A46D28A119269460A835A46527F9246D0 -:10CC40000A9A002A00D09BE1013B1093BB4200DA14 -:10CC500010974B4612229B5E18A902200A5ED21A38 -:10CC600010988446624414000C921CAA0888108014 -:10CC7000898891801AA90227CF5FDB191BB25380E4 -:10CC8000D380BC4200DA82E01EAC5B460D932EE0FE -:10CC900018AB04229B5E5A1C551B2580A380079A63 -:10CCA0009B1A01334A461021525E0EA93020095EBC -:10CCB00052189B1ADA43D2171340059A94466344DC -:10CCC00052460292424601920A9A00926A46128B9A -:10CCD00021000498454DA8471CAB5A8801325A8060 -:10CCE000DA880132DA8001370C9BBB424DDB0999AF -:10CCF000059E30003E4B98474B465A8AD21912B2D5 -:10CD0000198A0EAB1B8EC91809B2089B3000394D29 -:10CD1000A8470A901CAB5A886280DB88E38018AB76 -:10CD20000B9300215B5E23806A46958B013BEB18D9 -:10CD3000A3805246029242460192009033006A4616 -:10CD4000128B21000498294EB0470623E25E0B9B0C -:10CD500002215B5E0D991820095E5B189A4297DAF2 -:10CD600018AA1388EB18238093885B1BA380534673 -:10CD70000293434601930123009300236A46128BDA -:10CD800021000498194EB04782E70D9B9B464B4605 -:10CD900012229B5E18AA0627D75FFF1A109ABF1AA5 -:10CDA0000C990A00B94201DB01321700DB191BB2F2 -:10CDB0001CAA5380D3801AAB06229B5E9F4200DDE3 -:10CDC0009AE01EAC5B460B9347E0C046187C00001F -:10CDD0007D1A0100D9FE00005D810000AD810000D8 -:10CDE000EDA7000085A50000590E0100055C0000BC -:10CDF00089100100BDA5000018AB04229B5E5A1CDF -:10CE0000551B2580A380079A9B1A01334A4610219F -:10CE1000525E0EA93020095E52189B1ADA43D217CF -:10CE20001340059A94466344524602924246019248 -:10CE30000A9A00926A46128B21000498894DA847ED -:10CE40001CAB5A8801325A80DA880132DA80013705 -:10CE50000EAB36229B5E9F424CDC0999059E30004A -:10CE6000814B98474B465A8AD21912B2198A0EAB97 -:10CE70001B8EC91809B2089B30007C4DA8470A9048 -:10CE80000EAB28215B5E23806A46958B013BEB1835 -:10CE9000A3801CAB5A886280DB88E38052460292F2 -:10CEA00042460192009033006A46128B210004989A -:10CEB0006C4EB0470623E25E0EAB2E215B5E0B99F3 -:10CEC0001820095E5B1A9A4296DD18AA1388EB189F -:10CED000238093885B1BA3805346029343460193B0 -:10CEE0000123009300236A46128B210004985D4EB3 -:10CEF000B04781E70B9B9B466B4640229B181B88E3 -:10CF00001CAC18AD6A8801329A186280EA88013A2E -:10CF1000D31AE3800022AB5E2380013B5A46128B7A -:10CF2000D318A380534602934346019301270097E9 -:10CF300000236A4644215218128821000498494E61 -:10CF4000B0470423EA5E531C5946098B5B1A2380C1 -:10CF5000A2805346029343460193009700236A46FA -:10CF600044215218128821000498B0470E98404C72 -:10CF7000A0470F98A04705983E4B9847FEF7CFFD76 -:10CF80001CAA18AB198811809B8893801AA90223C8 -:10CF9000CE5E4B465B8A9B191BB25380D380062220 -:10CFA0008B5E9E42E2DC314B9B462E4F0999059CDD -:10CFB00020002D4B98474B465A8A921912B21AAD4F -:10CFC000198A2B88C91809B2089B05942000D847F4 -:10CFD0001CAC52460292424601920090059B6A4662 -:10CFE000128B21000498B847638801336380E3887B -:10CFF0000133E38001360622AB5E9E42D6DDB5E703 -:10D00000079C0C9420001C4B98470A9001220D921B -:10D01000002C01DDFDF7A3FE0A98164B9847079FE9 -:10D020007F43002F01D1FDF75FFF0E9A11007800BA -:10D03000944660440B889B0913700231013281428F -:10D04000F8D1FDF751FF5B4600229A5E0023494666 -:10D0500029A80A4CA047002129A8094B9847040099 -:10D06000FFF746F9055C000089100100BDA500002E -:10D0700011A600006D0B0100590E0100EDA7000084 -:10D0800085A50000F0B583B004000E00170001AACA -:10D0900011781F2081431170118840480140118090 -:10D0A00000215170A56821781F220A40111F022912 -:10D0B0000DD9072A22D0082A34D0092A48D00A2AB2 -:10D0C0005ED00B3A032A15D801AA138012E020780B -:10D0D000C006C00E324B98472368DB025B0D5F43EE -:10D0E000BE19C008C0B27043281801AB02781A708C -:10D0F00042785A7001AB188803B0F0BD3240072364 -:10D100009A1A2068C002400D0730C0104743F6103D -:10D11000ED19AE19317A063B93400B40134101AA39 -:10D120001380E7E7053A3240520006239A1A206836 -:10D13000C002400D033080104743B610ED19AE1900 -:10D14000317C033B93400B40134101AA1380D1E78C -:10D15000012333409B00053AD31A2068C002400DDA -:10D160000130401047437610ED19AD19403529784C -:10D170000B329A400A401A41130001AA1380B9E702 -:10D180002368DB025B0D7B43AD19ED188023DB00C8 -:10D190009C4665442A7801AB1A80ABE71FF8FFFF75 -:10D1A0007D7E0000F0B587B00400019286680078AB -:10D1B0001F230340052B0AD00B2B12D00C2B28D099 -:10D1C0000D2B47D0FF200E2B64D007B0F0BD236895 -:10D1D000DB025B0D5A4351184A00511871188878C8 -:10D1E000F3E707250D40043B5D1B2368DB025B0D65 -:10D1F0000733DB10019A5A43C910B218535C01205F -:10D20000A84018402841C3B2584258414042C0B2D9 -:10D21000DBE7002302A80370553343705533837056 -:10D22000FF2002ABD87003250D406D0006235D1B67 -:10D230002368DB025B0D03339B10019A5A4389106C -:10D24000B218525C0323AB4013402B41034002AAA7 -:10D25000D05CBAE702AB9C46124B654685CB85C5D0 -:10D260001B682B6001250D40AD0004235D1B236866 -:10D27000DB025B0D01335B10019A5A434910B2186F -:10D28000525C0F23AB4013402B41FF2213406246F8 -:10D29000D05C9AE72368DB025B0D019A5A43711850 -:10D2A000885C92E71C8A0100F0B5DE4657464E4680 -:10D2B0004546E0B583B004000822835E1B0243624A -:10D2C0000A22835E1B0283620C23C75E3E4B9B4691 -:10D2D0000A213800984705B20A2676426E43F619AD -:10D2E000ABB29846584200B2384B9A4698478146AE -:10D2F0000135ADB2684200B2D04701905A2742468C -:10D30000B81A00B2D04780467D1B28B2D04707002C -:10D310000A25AD1B4B466B431800019B7343C01895 -:10D320000A21D847E06243465D433000784328181D -:10D330000A21D8472063A07C254B98473426012535 -:10D3400003002B40A05D012290431843A055A07C10 -:10D35000204B984705406D00A05D0223984305438C -:10D36000A555A27C131F022B28D93421635C04200D -:10D3700083436354236823621F2313402376A388C7 -:10D380005B05DA0A144BA1690B401343A361E288E1 -:10D390005201DB02DB0E13436383E18980204002EC -:10D3A000094B9847E086FF23A375238AA38203B025 -:10D3B0003CBC90469946A246AB46F0BD3421EBB248 -:10D3C000042003436354D5E7757A0100CD080100BA -:10D3D000AD7E0000C17E0000FF03E0FFF0B5DE4639 -:10D3E00057464E464546E0B587B0009002910592FB -:10D3F0001D0010AB1B889B466A4F0A212800B847C6 -:10D4000004B2661C0A204042604345192000664B66 -:10D4100099469847804630B2C84782465A3420B26F -:10D42000C84704005A3630B2C84781460A26761BE0 -:10D430004046704353466B43C0180A21B8478046A4 -:10D4400074434B465D4360190A21B847119B002283 -:10D450009A5E119B0227DF5F54425B465C432412B5 -:10D4600024B22300434399467B425D466B431B1223 -:10D470001BB24146594396B24D466D1AED137519CC -:10D480002DB2AA46454665434343BCB20395ED1809 -:10D49000ED130194A44665442DB2029CA21A5C4689 -:10D4A0006243121212B2140044430294611AC91367 -:10D4B000711809B244466243049294466344DB13F4 -:10D4C000019CA44663441BB2059CE71B5C46674372 -:10D4D0003F123FB244467C43A0464C464246A41A03 -:10D4E000E2139146B1444A4612B291467843039FF3 -:10D4F0003F18FF13E34667443FB2029A4446121BAB -:10D50000D2139046464436B2049A94466044C013FF -:10D510005A46141824B252468A4500DD0A1C101CD3 -:10D5200012B24A4500DD4846021C00B2B04200DD9E -:10D53000321C0098028050468A4500DA081C011C03 -:10D5400000B2484500DA49460A1C09B2B14200DA85 -:10D55000321C00998A80291C9D4200DD191C0A1C7E -:10D5600009B2B94200DD3A1C111C12B2A24200DD20 -:10D57000211C009A51802A1C9D4200DA1A1C131C9F -:10D5800012B2BA4200DA3B1C1A1C1BB2A34200DAE8 -:10D59000221C009BDA8007B03CBC90469946A2460C -:10D5A000AB46F0BD757A0100CD080100F0B5DE464E -:10D5B00057464E464546E0B58BB004003823C75E5B -:10D5C000FF231A003A403A21465E33406F2A7EDC40 -:10D5D0003C22815E4942C917803FFFB26F2B00DDBC -:10D5E00087E03E23E25E5242D3179846803EF6B271 -:10D5F000257DED06EB0E0093A38A5B059B0E019340 -:10D60000637DDB080293A37D03933423E35C994697 -:10D610005B0700D481E023684422A25C9446514316 -:10D62000226C92465144581809AA05781570407822 -:10D6300050700420225E6046424340465043020040 -:10D64000206C804690449A46C24408A855462D78DE -:10D65000057055466D7845708A189818824607A857 -:10D6600055462D78057055466D78457048468007BB -:10D6700000D484E0604601381B18595C8946414655 -:10D68000595C8A46985CFF21CB1B4A465A43944614 -:10D69000039A7A4362441212434355467D43AC4693 -:10D6A00063441B12DDB2AC460B408D1B6B43114033 -:10D6B00071435B181B12A375D2B2052A00D9DCE0B6 -:10D6C000002362460026052A00D9DAE0ABE0902A62 -:10D6D0000CDD3C21425E01320421405E0121824288 -:10D6E00000DB00217F22D71BFFB277E7FF27002155 -:10D6F00074E7902B0DDD3E22A35E01330622A05E6F -:10D700000122834200DB002290467F239E1BF6B25B -:10D710006EE7FF26002398466AE718239C46A44438 -:10D7200065468BB29B46238A3E21625EA18F594497 -:10D7300009B204956046AF4DA946A84709AB1880C9 -:10D7400042466B46DA8292B29046238AE28F424486 -:10D7500012B23C20215E049D2800C84708AB188007 -:10D76000238AE28F424412B2A18F594409B22800A1 -:10D77000C84707AB18803423E35C9B075BD4FF23C7 -:10D78000A3753B00002B00D08DE009AB1D78ED06A2 -:10D79000EA0E00921A885205920E01925B78DB081D -:10D7A0000293002F00D0B7E007AA1778FF06FF0EFC -:10D7B00013885B059B0E5278D208002E00D1F1E051 -:10D7C000FF2E00D100E1FF21891B009D75434F43CF -:10D7D000EF193D02ED19ED01ED192D01ED0E207D42 -:10D7E0001F27B84305432575019870434B43C01864 -:10D7F00003021B18DB011B18DB009B0E5B01A08AD8 -:10D800007D4D28400343A382029846434A43B618FD -:10D8100032029219D2019619F60DF6005B055B0FE4 -:10D820001E436675012318000BB03CBC9046994618 -:10D83000A246AB46F0BD3E23E25EA18F594409B239 -:10D84000049D28006D4B98478146E28F424412B2F6 -:10D850003C23E15E2800694B98478246E28F4244B0 -:10D8600012B2A18F594409B22800644B984734235F -:10D87000E35C9B0700D506E781E76346052B00D8EC -:10D88000FF263B00039A052A00D800234A46052AB2 -:10D8900000D8FF235246052A00D80027052800D9C2 -:10D8A00070E7FF276EE7FF2B00D17AE7FF22D21A3D -:10D8B00009A84178C9085143029D5D43AC468C4498 -:10D8C000614609026144C9016144C90D1F25AC4686 -:10D8D0000D40029501884905890E5143019D5D4324 -:10D8E000A84641440D02A84688444546ED01A84695 -:10D8F0004144C900890E01910178C906C90E4A4305 -:10D90000009D5D4352191502AD18ED01AD18ED0DE6 -:10D9100063461D40009544E7FF2F39D0FF23DB1BF2 -:10D92000984608A84278D2087A4307A94B78DB08C2 -:10D9300045466B43D3181A02D218D201D218D20D21 -:10D940001F239C461A4003885B059B0E7B43994628 -:10D950000B885B059B0E6B434B441D02A946994403 -:10D960004D46ED01A9464B44DB009B0E0078C006F6 -:10D97000C00E47430978C906C90E4046414379188D -:10D980000F027F18FF017F18FF0D61460F4014E75B -:10D9900008AA1778FF06FF0E13885B059B0E5278C6 -:10D9A000D2080AE7257D1F218D432F432775590192 -:10D9B000A38A114803400B43A382D2005B055B0F8F -:10D9C0001A43627501232EE7237D1F229343009D96 -:10D9D0001D432575019B5A01A38A07490B40134338 -:10D9E000A382029AD6005B055B0F33436375012364 -:10D9F00019E7C04685D000001FF8FFFFA5D1000041 -:10DA0000F0B5CE46474680B583B080466B46D98098 -:10DA1000514B1988002900D19BE0504B1F683B00F7 -:10DA2000203301398AB2D10089188900443179182C -:10DA30004B4802E024338B4205D01A688242F9DB5E -:10DA4000013A1A60F6E70025464E434B994607E037 -:10DA500001282AD00135ADB24B461B88AB422FD9E5 -:10DA6000EC006419A4003C196068B0470028EFD1AD -:10DA700063684345EED120896B46DB88C01A424279 -:10DA80004241D0B20028E5D0236A626994466344DB -:10DA9000FA229200934211DD2262002C10D0200065 -:10DAA00003B00CBC90469946F0BD414660682E4BD1 -:10DAB0009847030058425841C0B2E3E72362ECE7BD -:10DAC000254B1A88012A13D93B002433023A91B21C -:10DAD000CA00521892004832BA183C0002E02433BF -:10DAE000934206D0196A206A8142F8DA1C00F6E7F0 -:10DAF0003C006368002B02D020001C4B98471C4B55 -:10DB000098470500002363616B46DA884146200090 -:10DB1000184B984700280DD0002323626369002B1F -:10DB2000BDD12800144B984760610028B7D101236C -:10DB30006361B4E720000D4B9847202120000F4D72 -:10DB4000A84724212000A84780231B062362002425 -:10DB5000A5E70024A3E7C046B62B0020844D002093 -:10DB600002000080F98000003D7F01001DE60000FA -:10DB700025F7000035E5000041F70000E50F010042 -:10DB8000F8B5D646474680B50700154B1B68984642 -:10DB9000144B1B88002B1ED00025134B9A46114EA8 -:10DBA0000FE0002B02D02000104B984720212000CE -:10DBB000D04724212000D0470135ADB23388AB4295 -:10DBC00009D9EC006419A40044446368BB42E8D05E -:10DBD000002FF1D1E5E70CBC90469A46F8BDC0464F -:10DBE000844D0020B62B0020E50F01001DE600004B -:10DBF000F0B5C64600B50400204B1B68002B06D0CC -:10DC000000201F4B98471D4B18681E4B9847E0009B -:10DC1000001980001C4B9847184B18601B4B984705 -:10DC200000281FD0154B1B68002B22D0184B1C80DE -:10DC3000002C14D00024114F164E9846E5002D19E3 -:10DC4000AD003B6858192021B0473B685819242182 -:10DC5000B0470134A4B243461B88A342EED804BCAB -:10DC60009046F0BD054B1A6800230B480B498847C6 -:10DC7000FEE70022064B1A80F1E7C046844D0020E3 -:10DC800081DB0000D10A0100090A0100151400001F -:10DC9000B62B0020E50F0100048801001D140000D0 -:10DCA00030B585B00C0015000800304B9847031EB6 -:10DCB00022D12378DB06DB0E043BDBB200200A2BEB -:10DCC0001FD82368DB025B0D9B02294A29680A40A2 -:10DCD00013432B6063885B095A0169881F230B403B -:10DCE00013436B802378DB06DA0E2B781F218B43DE -:10DCF00013432B70013004E0012804D00020022BD4 -:10DD000023D005B030BD0222210002A8194B98474C -:10DD100000280AD02B78DB06DB0E1C331F221340B1 -:10DD200001200A2BEDD90020EBE701AB04222900EA -:10DD300002A8114CA047040002A8104B9847002CE1 -:10DD4000F1D1019B042BEED1E4E7094A2B681A407C -:10DD50008023DB0013432B6020226A80C0321340F3 -:10DD60000B2213432B700130CBE7C046F980000033 -:10DD7000FF03E0FFC103010025030100F5020100DC -:10DD800070B50D00CC69002C16D02068002804D096 -:10DD90000A4B984720680A4B98476068002801D0D2 -:10DDA000074B9847A068002801D0054B98472000F2 -:10DDB000034B98470023EB6170BDC046F50201009C -:10DDC000D10A0100F0B5DE4657464E464546E0B55D -:10DDD00085B006000C008B7A012B18D0002B00D0E8 -:10DDE0004AE14B689B68002B00D143E1087BC006E9 -:10DDF000C00E031F022B5AD863689B682361012061 -:10DE000005B03CBC90469946A246AB46F0BD48687A -:10DE10009F4B98479F49A04B984700281AD1022250 -:10DE2000616802A89D4B9847002813D1E369002B35 -:10DE300012D0E56908209A4B98472860994B98477B -:10DE400000281ED02A680023002A20D1210030009B -:10DE5000954B98470020D3E70C30914B9847E061F1 -:10DE6000904B9847002805D1E26900238F489049DC -:10DE70008847FEE7E0690028ECD00C218D4B9847DD -:10DE8000D7E72A680023894889498847FEE702A91D -:10DE9000595CD1540133082BF9D1207BC006C00E48 -:10DEA000031F022B03D8A37A002BA5D0EBE0C31FDE -:10DEB000032B07D90B38032800D9D5E000232361B1 -:10DEC00001209DE77C4B98470700E369002B0FD0AA -:10DED000E5690220B840724B98476860714B9847DB -:10DEE000002820D16A680023704871498847FEE7FE -:10DEF0000C206B4B9847E0616A4B9847002805D18E -:10DF0000E269002369486A498847FEE7E06900281A -:10DF100005D121003000644B9847002070E70C21A8 -:10DF2000644B9847D4E70123BB401F0018005C4BAB -:10DF30009847A8605B4B9847002847D06B68002B38 -:10DF40004AD0AB68002B47D0A37A012B4AD0636834 -:10DF50009868002F00D183E0002398463F339B460A -:10DF6000203B9946554B9A46414601944A006B68BE -:10DF70009C46624443789C0800948678F6084C4698 -:10DF800026400478E408A44614784B469C43A046F7 -:10DF9000644643461C4314705B46009C1C4063016E -:10DFA0009C46138854462340644623431380F6005E -:10DFB0001B0A0724234033435370C378AA68535481 -:10DFC000013104308F42D1D1019C49E0AA6800237D -:10DFD000364837498847FEE721003000324B9847E2 -:10DFE00000200DE704212868354B9847002F37D0D3 -:10DFF0000026344B9A463F239946203B98460023FF -:10E00000042202A92868D04772006B689C466244CB -:10E0100002AB5B789908009102A98978C90840464B -:10E0200001408B4602A90878C008117843469943FD -:10E03000084310704B4600991940480113881F4946 -:10E040000B40034313805946C9005B055B0F0B432C -:10E05000537002ABDB78AA6893550136B742CED134 -:10E06000002323610120CBE6210030000E4B9847AE -:10E070000020C5E60020C3E6087BC006C00E031FD3 -:10E08000022B00D913E7002323610120B8E6C04624 -:10E09000890401003C8A01003D7F0100C1030100A9 -:10E0A000090A01001514000081DD00000488010048 -:10E0B0001D140000E50F01007D7E00001FF8FFFF2A -:10E0C0006703010025030100F0B5DE4657464E46C2 -:10E0D0004546E0B58BB00D001700019314AB002648 -:10E0E0009E5F0A7B1F2313401A1F022A36D88B7AA1 -:10E0F0000020012B06D00BB03CBC90469946A246AE -:10E10000AB46F0BDCB699946087BC006C00ED54B27 -:10E1100098478046E968C902490D019B4B43D919CC -:10E120004143C91004314B461868CF4B9847030050 -:10E130000020002BDFD14346D808C0B2464300235D -:10E1400006934B46186806AB32001599C74CA0479A -:10E15000069B9E1B70427041C0B2CCE71A000B3A7E -:10E16000032A2DD9073B0020032BC4D8087BC00607 -:10E17000C00EBC4B9847814601238340013B9BB2B4 -:10E1800098462B7BDB06DB0EDAB2082A00D135E19C -:10E1900000D8FEE0DAB2092A00D146E10A2A00D00E -:10E1A0005BE1EB68DB025B0D9AB21BB29A46019C05 -:10E1B0005443E7198023DB009B46BB440024FEE068 -:10E1C000002104AB1970FF225A7005AB197055314C -:10E1D000597055319970DA7006AAA54B13CB13C24A -:10E1E0001B6813602989002E11DD080A159C721E18 -:10E1F00092B201329446520062442300A446624423 -:10E20000019C1970587003339A42FAD10194287B0B -:10E21000C006C00E934B9847814601238340013BC3 -:10E220009BB298462B7BDB06DB0EDAB20C2A4BD076 -:10E2300011D9DAB20D2A5DD00E2A70D1EB68DB025B -:10E240005B0D99B21BB20293019C4C43E419002769 -:10E2500000239A4615E00B2A61D1EB68DB025B0DC7 -:10E26000DA10511C02915B0701D113B20293029B99 -:10E27000019C5C43F91064180723BB431F0004ABE7 -:10E280009A46EB699B4602987A4B98470390AB7A83 -:10E29000002B4ED16B6899680C19002E74DD159B0C -:10E2A000981C013EB6B27200921905329C46624437 -:10E2B0001F21FF239B4608234E469B1B5BB2019305 -:10E2C000AC461500C1464BE0EB68DB025B0D9A10D3 -:10E2D000511C02919B0701D113B20293029B019C36 -:10E2E0005C43B9106418BBB203279F437F0005ABA2 -:10E2F0009A46C6E7EB68DB025B0D5A10511C02918F -:10E30000DB0701D413B20293029B019C5C4379109A -:10E310006418FB0709D5002706AB9A46B1E700272A -:10E320000024002302939A46ABE7042706AB9A46E3 -:10E33000A7E7211D5B4618684B4B98475B4618685A -:10E340000023029A0399494CA047039CA5E7DBB23E -:10E350000370BF1B7FB2002F13DB0330854213D045 -:10E36000237898464B46BB40424613403B416246A9 -:10E37000127B0A400E2AEAD05A4613405246D35C1A -:10E38000E6E7019F0134E8E703983B4B98470120FB -:10E39000B1E6072A61D1EB68DB025B0DDA10511C94 -:10E3A0008A465B0701D113B29A465346019C5C43EF -:10E3B000FB10E41808239B46A3440724BC43EF69E1 -:10E3C00050462C4B98470290AB7A002B56D16B6885 -:10E3D00099685944002E78DD1598013EB6B2013691 -:10E3E00073009E1984466644FF239A4608224B46D2 -:10E3F000D21A53B20193B4464E464FE0EB68DB02AB -:10E400005B0D9A10511C8A469B0701D113B29A46A4 -:10E410005346019C5C43BB10E41810239B46A34465 -:10E42000BFB20324BC436400C9E7EB68DB025B0DA9 -:10E430005A10511C8A46DB0701D413B29A46534640 -:10E44000019C5C437B10E41840239B46A3440124B9 -:10E4500027407C427C41A400B1E700239B46002476 -:10E460009A46ACE77D7E00006703010025030100AA -:10E470002C8A0100590E01006D0B01005946043130 -:10E480003868144B98470023524602993868124D59 -:10E49000A84702999EE70330604516D00A784346A4 -:10E4A000A34013402341524613405A007D68525BFB -:10E4B0000270120A4270BA68D35C8370A41B64B203 -:10E4C000002CE8DA019C0131E5E70298034B9847FC -:10E4D000012010E667030100250301006D0B010018 -:10E4E000F0B583B001900D000A781F2313400B7024 -:10E4F0000D480E4B9847041E14D00D4E05E0002722 -:10E5000021000948B047041E09D02368002BF6D02B -:10E510002A0001992000984707000128F0D138000F -:10E5200003B0F0BD0027FAE7D04C0020050601003B -:10E530001D060100F0B583B00700009102810800BC -:10E54000254B9847B8720023FB6101280ED0009B31 -:10E550007B602248224B9847041E36D000250C23AE -:10E560009C46BC44634601931E4E10E0009C200074 -:10E570001D4B984701301D4B9847786021001C4B7C -:10E580009847E6E721001548B047041E18D02368D5 -:10E59000002BF7D06268002AF4D0019A009920007D -:10E5A000984705000128EDD10023BB613B613C6029 -:10E5B000390020006368984705000128E2D101E096 -:10E5C000002D03D0280003B0F0BD00252021380025 -:10E5D000084B9847F6E7C046F9800000D04C002071 -:10E5E000050601001D060100617F0100090A010006 -:10E5F000517F0100E50F010070B582B00568AC687D -:10E60000002C09D0069E0196009313000A00010019 -:10E610002800A04702B070BD0020FBE710B5040041 -:10E620000068002807D0C368002B01D0210098475C -:10E63000A37A012B00D010BD6068024B98470023DD -:10E640006360F8E7D10A010010B50B480B4B9847FF -:10E6500004000B4B9847002807D0002C03D0102152 -:10E660002000084B9847200010BD220000230648D8 -:10E6700006498847FEE7C046D04C002065050100EA -:10E6800015140000E50F0100048801001D140000AE -:10E6900010B510210C480D4B98470D4B984700289A -:10E6A00008D00C4B03600C4B43600C4B83600C4B4D -:10E6B000C36010BD0B4B98470028FAD100220023FD -:10E6C00009480A498847FEE7D04C0020510501005F -:10E6D00049E60000A1DC0000C5DD0000C9E0000043 -:10E6E00081DD000015140000048801001D140000E5 -:10E6F00010B54368984710BD10B50468A04710BD19 -:10E7000010B584B013000A0001A9054CA0470023EE -:10E71000002801D001AB1B88180004B010BDC04612 -:10E72000F9E6000003780A78934201D0981A7047FE -:10E7300040784B78C01AFAE703880A88934201D0E0 -:10E74000981A704740884B88C01AFAE700880B88EF -:10E75000C01A7047F0B587B00C000B1E18D00669C0 -:10E76000B369994217D0728A9205920D002A62DD30 -:10E77000B7683B68C81A0590BB8898420DD800233B -:10E780000393BA7C002A1AD1FB881B18B461F36189 -:10E79000180007B0F0BDF369FAE70021013189B232 -:10E7A000914248DA8B005B189B000393FB181868B2 -:10E7B000201A05909D88A842F0D81F00E1E7012AA1 -:10E7C0001BD0022A1ED00023032ADFD13A8AB9685F -:10E7D0001B4B0093022305A81A4FB847002828D0E6 -:10E7E000039BB268944663441D009B68C01A4008AE -:10E7F000EB68185CEB88C318C8E7FB68185CFB88FB -:10E80000C318C3E73A8AB9680D4B0093022305A8E1 -:10E810000C4FB84700280AD0039BB2689446634463 -:10E820001D009B68C01A4008EB88C318AEE70023A0 -:10E83000ACE70023AAE7B4610023F361A8E7C04670 -:10E840004DE70000891B0100F0B5DE4657464E46F5 -:10E850004546E0B599B009291CD00569CD4B9847CC -:10E86000002801D100F0DBFCC0006B681E182B7D76 -:10E870009B0711D1002E01D100F0D4FC30680003B9 -:10E88000030B2868C01819B03CBC90469946A246B4 -:10E89000AB46F0BD1731E0E7337974795C43002C67 -:10E8A00001D100F0C2FCEB7C9B061B0FDAB2022AFE -:10E8B00000D18DE008D9DAB2032A00D18BE0042A16 -:10E8C00004D10134640801E0012A7ED0B24B1868FB -:10E8D000B24B984784420FD9AF4F21003868B04BF4 -:10E8E00098473860AF4B9847002877D0AA4B1B68F1 -:10E8F000002B01D100F09CFC33681B031B0B2A6822 -:10E90000D218A54B1B68039333790D931BB2119357 -:10E91000737910931BB20E93EB7C9B061B0FD9B23D -:10E9200000910691032960D09F490A609F4A1370A5 -:10E9300000239F4A13709F4A13609F4A13709F4A97 -:10E9400013700D9F38009E4CA047050017903800AB -:10E95000A0470190119B002B00DC5EE2964B1B78D8 -:10E960000293964B1B789A468F4B1E68914B186802 -:10E970008E4B1B789946012349468B40013BDBB205 -:10E980000B9308235B1A0C9310235B1A0A93884B92 -:10E990001B789C462C003B00013B9BB201330F933C -:10E9A0002A009B465A4409920023059308930021AC -:10E9B00007934B469B009B46824B5B441293534606 -:10E9C0000493A84667464D4631E00734E4087DE7E6 -:10E9D0000334A4087AE70134640877E76E4B1A68B9 -:10E9E0000023794879498847FEE7013106919BE782 -:10E9F00003239C46C308072101404A19072A2FD840 -:10EA0000F35C0C9A511A0B4162461A40130000281D -:10EA100002D0029A934231D040190293012101227F -:10EA2000079223700134099B9C4200D14BE1002FD7 -:10EA30002CD14B46082B0DD8654B5A469B58079353 -:10EA40009F4607239C46D5E70F239C46D2E7FF232A -:10EA50009C46CFE70B9B9C46CCE701239C46C9E72D -:10EA6000F25C12029246F3185B7853449BB20A9A06 -:10EA7000511A0B4162461A401300C8E70122059261 -:10EA800000220492013208920127C5E7012F11D01C -:10EA90000023022FC5D1049A013AD3B20493002B6C -:10EAA00000D00CE14B46082B00D9F1E0129B1B680B -:10EAB00002939F46C308072101404A1C072A15D824 -:10EAC000F35CC94308310B4101221340049A01321F -:10EAD000D2B20492411C012B15D04B46082B00D911 -:10EAE000ABE03C4B5A469B5802939F46F25C1202A5 -:10EAF0009446F3185B7863449BB2C94310310B41D1 -:10EB000001221340E2E70B2A05D00800029B0122F4 -:10EB10000592012185E7CB08072211408A1D072AAB -:10EB200013D8F25C0223591A0A413D331A40049269 -:10EB30000730049B002B00D0BAE04B46082B24D8AA -:10EB4000254B5A469B5802939F46F25C1202F318DB -:10EB50005B789A1892B20A23591A0A4135331A403F -:10EB60000492E5E70323C708072101404A19072A51 -:10EB700034D8F75D0C9A511A0F413B4039E0072316 -:10EB8000F1E70F23EFE7FF23EDE70B9BEBE7012313 -:10EB9000E9E7C04655E70000B82B00204D0B010007 -:10EBA000DD0D010015140000C02B0020BC2B00203F -:10EBB000CC2B0020C82B0020C42B0020BD2B002014 -:10EBC000590E0100648A0100048801001D14000030 -:10EBD000408A0100888A0100AC8A0100F25D1202BD -:10EBE0009446F7197F786744BFB20A9A511A0F41C9 -:10EBF0003B4040190293012205920892002701210F -:10EC000007920EE70323CF08072008404219072A7E -:10EC100017D8F75D0C9A101A07413B404819029328 -:10EC2000012205920892002701210792F9E60723A5 -:10EC3000E9E70F23E7E7FF23E5E70B9BE3E7012382 -:10EC4000E1E7F25D12029446F7197F786744BFB29C -:10EC50000A9A101A07413B40E0E70323C70807213F -:10EC600001404A19072A17D8F75D0C9A511A0F412B -:10EC70003B4040190293012205920892002701218E -:10EC80000792CEE60723E9E70F23E7E7FF23E5E74F -:10EC90000B9BE3E70123E1E7F25D12029446F719CB -:10ECA0007F786744BFB20A9A511A0F413B40E0E7B0 -:10ECB000029B01220592089202270121B1E6029BE4 -:10ECC00001220592ADE6049B9A464546BC46079B49 -:10ECD000002B14D1002901D0CC4B1860089B002BCD -:10ECE00002D0CB4B62461A70059B002B02D0C94B59 -:10ECF00052461A700026009B02932F0023E0C64B59 -:10ED00006A46127A1A70E5E704230022072131408F -:10ED100008256D1AED1A7103090C039884466144A5 -:10ED2000012098400300013BDBB2DB43AB40087895 -:10ED30000340AA401A430A70069A13009446664498 -:10ED40000137A74221D03A78029B00990329DDD1EF -:10ED5000072A18D89200B14B9B589F4604230222E1 -:10ED6000D4E704230422D1E704230622CEE70423B8 -:10ED70000922CBE704230B22C8E704230D22C5E7B1 -:10ED800004230F22C2E70423C0E70F9A5A430F92CD -:10ED90000E9B012B00DC34E2A14B1B681E00A14B33 -:10EDA0001B781A00099301239340013BDBB21293B5 -:10EDB0009246984B1B78984608239B1A0C93102375 -:10EDC0009B1A0E93944B1B780293904B1868904BB0 -:10EDD0001978109B023B9BB201331393069C049459 -:10EDE0000D9B013B9BB21D00149323006B431593B5 -:10EDF000002310930B930D930793089393000A93AA -:10EE0000894A9C4662441692119B9B464346069350 -:10EE1000179B1D008C46B146CFE100230F93B7E747 -:10EE2000032308E0072306E00F2304E0FF2302E0AA -:10EE3000129B00E00123C508072202409719072F03 -:10EE40001FD84F467D5D0C9FBA1A15412B40DBB28F -:10EE5000002802D0029A9A4221D0801902930122FE -:10EE60000792089223700134644500D141E10029E2 -:10EE70001DD1099B082BDBD80A9B6C4AD3580593FC -:10EE80009F464F467F5D3F02BA464D446D785544DC -:10EE9000ADB20E9FBA1A15412B40DBB2D8E7012262 -:10EEA0000B920022069201320D920121D5E7012931 -:10EEB00011D000230229D5D1069B013BDBB206937A -:10EEC000002B00D011E1099B082B00D9E0E0169B34 -:10EED0001B6802939F46C30807220240551C072D5A -:10EEE00016D84D46EB5CD243083213410122134041 -:10EEF000069A0132D2B20692451C012B15D0099B0D -:10EF0000082B00D980E04A4B0A9A9B5802939F46EF -:10EF10004D46ED5C2D024B445B785B199BB2D243AE -:10EF20001032134101221340E2E70B2A05D02800DA -:10EF3000029B01220B92079294E7EB0807221540EF -:10EF4000AA1D072A14D84A46D35C0222551B2B411E -:10EF50003D321A4006920730069B002B00D0BDE0E0 -:10EF6000099B082B34D8334B0A9A9B5802939F462F -:10EF70004A46D25C12024B445B789B189BB20A2231 -:10EF8000551B2B4135321A400692E4E703239A467B -:10EF9000C508072303409A19072A1FD84A46525D1D -:10EFA0000C99CB1A1A4153461340DBB280190293D5 -:10EFB00001220B920D9200210792089252E707233B -:10EFC0009A46E5E70F239A46E2E7FF239A46DFE7F2 -:10EFD000129B9A46DCE701239A46D9E74A46515DDF -:10EFE00009024D446A78521892B20E99CB1A1A410E -:10EFF00053461340DBB2D9E703231EE007231CE08E -:10F000000F231AE0FF2318E0129B16E0C82B002004 -:10F01000CC2B0020BD2B0020C42B0020D08A010067 -:10F02000C02B0020BC2B0020148B0100F08A0100B3 -:10F03000388B01005C8B01000123E90807222A407C -:10F04000901907280FD84846415C0C98821A114144 -:10F050000B40DBB2A819029301220B920D92002102 -:10F0600007920892FEE64846405C0002494449780F -:10F07000091889B20E98821A11410B40DBB2E9E7F8 -:10F08000032308E0072306E00F2304E0FF2302E048 -:10F09000129B00E00123C108072202409519072DA9 -:10F0A0000FD84D46695C0C9DAA1A11410B40DBB28A -:10F0B0008019029301220B920D920021079208926F -:10F0C000D0E64D466D5C2D0249444978491989B214 -:10F0D0000E9DAA1A11410B40DBB2E9E7029B012207 -:10F0E0000B920D9202210792BCE6029B01220B9229 -:10F0F000B8E68C46B2460F990027009B05930300A3 -:10F1000040466246119298461EE0042300240722DE -:10F110000A400826B61AF61A4D032D0C039A944697 -:10F12000654401229A401300013BDBB2DB43B3404C -:10F130002A781340B44023432B70049B9C466144BF -:10F1400001373BB29B4525DD019BDC5DC35D5C4027 -:10F15000C455059B009A032AD9D1072C18D8A400BE -:10F16000354B1B599F4604230224D0E70423042473 -:10F17000CDE704230624CAE704230924C7E70423B0 -:10F180000B24C4E704230D24C1E704230F24BEE7A6 -:10F190000423BCE70500119A94464046159B049A47 -:10F1A000904643440F9A9046984443460F93109BD1 -:10F1B00001331093139A93420DD05B46002BF6DD7A -:10F1C000019B98461C00149B5E1C4644A846614661 -:10F1D000B44656464BE6069B98466146089B002B74 -:10F1E00018D1079B002B01D0144B18600D9B002BEE -:10F1F00001D0134B19700B9B002B02D0114B4246D0 -:10F200001A701798104CA0470198A0470F4B186828 -:10F21000FFF739FB0E4B6A46127A1A70E1E70020BD -:10F22000FFF731FB0020FFF72EFB0020FFF72BFB41 -:10F230000020FFF728FBC046808B0100C82B002070 -:10F24000CC2B0020BD2B00206D0B0100B82B002023 -:10F25000C42B0020F0B5DE4657464E464546E0B585 -:10F2600085B081460C001F000025092A3AD04B4684 -:10F270001E6911004846534B98478346002800D129 -:10F2800094E0F368002B00D18EE0390048464D4BE6 -:10F2900098470023002828D15A46D0007268944627 -:10F2A0006044328A5A43121141880909002D00D066 -:10F2B0004900130008335B181B0923804379A3809E -:10F2C000027962800623C356E3800723C356238155 -:10F2D000F37C9B061B0FA372002D00D16FE0520040 -:10F2E000628064E001351732C1E74B461B69DA7C66 -:10F2F000520642D4DB689846DB7A03221A401CD0BF -:10F300000023012AC8D143461B689946000258448D -:10F31000039043469B681A02120A2B4B0093042366 -:10F32000494603A8294FB847002824D04B46C01AA5 -:10F33000000943465B681B56AEE743461B68994687 -:10F3400003AB9C4600025844188043469B681A024F -:10F35000120A1F4B00930223494660461B4FB847D1 -:10F36000002806D04B46C01A400843465B681B562F -:10F3700092E7002390E700238EE7DA685368594646 -:10F38000595C0023002987D09368185C002300286B -:10F3900000D181E70139537B4B4311680918C91823 -:10F3A00001390023CB5677E7002375E700252800B5 -:10F3B00005B03CBC90469946A246AB46F0BD01253F -:10F3C000F5E7C04655E7000039E70000891B01005A -:10F3D00025E7000010B5054B1868002804D0044B41 -:10F3E00098470022014B1A6010BDC046B82B002080 -:10F3F000D10A010010B504002C21154B98470022BA -:10F40000E260F0235B002380A03B63806260237A8C -:10F4100002218B4323722631635C1F208343635494 -:10F42000218DFC23DB000B432385210028315B0564 -:10F430005B0F4B7023890749194082239B000B43C4 -:10F44000238101210B43237222626262626110BD3B -:10F45000E50F010003F0FFFFF8B504000D001700F1 -:10F460001E002421034B984725606760A560E66075 -:10F47000F8BDC046E50F010070B505003848394BAE -:10F480009847041E55D0B8214900374B98472C2285 -:10F4900029002000354B9847200030304C21344B58 -:10F4A00098470022B6235B00E250324B1B68002BCA -:10F4B0004AD0304B1E681C60230003221E212E48B8 -:10F4C0002E4DA847E0622E4B984700283FD0E36AB4 -:10F4D000002B42D0B4225200A35A9B0A9B02A35293 -:10F4E0000022B6235B00E25000210020254DA847F2 -:10F4F000E06300210020A847206400210020A847E5 -:10F5000060640021206C204DA8470021606CA84752 -:10F510000021206C1D4DA8470021606CA847E06BBE -:10F520001B4B9847134B1E60E06A1A4B984720000C -:10F5300070BD0020124B98470028F8D1002200230C -:10F54000154816498847FEE70A4B1C60B1E7E26A96 -:10F550000023114811498847FEE70024E7E7C04629 -:10F56000C44C002065050100E50F0100250C0100D9 -:10F5700051050100D02B00205543000071150100FA -:10F58000151400007D28000011260000AD180000B1 -:10F59000491F0000C5150100048801001D1400006A -:10F5A000014B18687047C046D02B0020031E05D0C1 -:10F5B0001A7A920709D50220185E7047044B1B681F -:10F5C000F0204000002BF8D0F2E70020185EF4E7AE -:10F5D000D02B0020031E05D01A7A920709D50020EF -:10F5E000185E7047044B1B68A0204000002BF8D029 -:10F5F000F2E70220185EF4E7D02B0020031E03D0B0 -:10F6000018890005800D7047024B1B688220002B73 -:10F61000F9D0F5E7D02B002070B5051E19D02800D1 -:10F620000F4B9847040028000E4B98470100A0009C -:10F63000001940000C4B9847020000201D2A07D9F2 -:10F640000130312A04D94430904280414042023096 -:10F6500070BD064B1D68F0246400002DE3D0DEE78A -:10F66000ADF50000FDF5000061790100D02B002010 -:10F670004268002393614268D361704710B5002847 -:10F6800004D001000348044B984710BD0148034BC8 -:10F690009847FAE7C44C00201D060100050601004A -:10F6A0004068704743681A68002A04D05868431EAF -:10F6B0009841C0B270470020FCE7000010B504007C -:10F6C000074B984700280AD00022A35E0222A05EC2 -:10F6D00058436368DB68C01A43425841C0B210BD4A -:10F6E000A5F6000010B5002804D001000348044B23 -:10F6F000984710BD0148034B9847FAE7B84C0020E3 -:10F700001D060100050601000022044B1A70044B7F -:10F710001A689446604418607047C046D82B002091 -:10F72000D42B0020044B012119701A78002AFBD039 -:10F73000024B18687047C046D82B0020D42B0020FD -:10F7400010B50400014B9847001B10BD25F70000C1 -:10F7500010B50C00096A606A81420AD08002064B2B -:10F760009847A369E269D21A50438012181800B270 -:10F7700010BD8020C000F4E76179010010B50122BE -:10F78000094B1A7009480A4B9847002805D0094BC5 -:10F7900018680421084B984710BD064B18680021D3 -:10F7A000054B9847F8E7C046E02B0020884D002025 -:10F7B00005060100DC2B0020E1140100F0B5CE4667 -:10F7C000474680B591B06548654B984700280BD0F7 -:10F7D0003C25624C634E435D022293434355010036 -:10F7E0002000B0470028F6D15F4B18685F4B984760 -:10F7F00007005A485A4B9847041E00D18CE05C4ED3 -:10F800000025B04626E0DB19002B00DA8DE0A26867 -:10F81000002A00D190E02000904728E02369002BC7 -:10F820002FD020001030210098476368002B02D0B1 -:10F8300001B220689847636A226A934227D24346FE -:10F840001B78002B00D171E04448454B98470400D9 -:10F85000002C61D035703C23E35C9B0766D43C22CE -:10F86000A35C02210B43A354636A002BCBDD636AC4 -:10F87000FB186362002BE2DB226A9A42CED26262FC -:10F88000CCE72000103021003A4B9847CDE73C23CD -:10F89000E35C01221340181E07D1A28E002A4DD02E -:10F8A00035498A4251D0013AA286A28E002A1AD046 -:10F8B000236B5A426262E26A002AC0D0002840D01C -:10F8C0004342434199463C20215C012399434B46E6 -:10F8D0000B432354A169E069A061E161DB0700D417 -:10F8E000A26B2262ABE7E26A002A01D0002828D08E -:10F8F000402221006846214B984721001748204BA1 -:10F90000984720001F4B98471F4B9847039B002B9D -:10F9100095D06846984792E71C4B9847124B186061 -:10F9200011B00CBC90469946F0BD636221000B48B3 -:10F930000C4B984704008BE763629DE7E26A002A5C -:10F94000D6D0A36A59426162BAE7236B5A42626217 -:10F95000E26A002A00D172E7F3E7C046884D002032 -:10F96000050601001D060100E42B002041F7000000 -:10F97000E02B002051F70000FFFF0000250C0100E4 -:10F98000ED060100D10A01007DF7000025F7000017 -:10F9900010B540210A480B4B98470B4B98470B4B2F -:10F9A0001860002304221E2109480A4CA0470A4B74 -:10F9B00018600A4B98470022094B1A7010BDC046C8 -:10F9C000884D00205105010025F70000E42B0020A0 -:10F9D000BDF7000071150100DC2B00207DF7000051 -:10F9E000E02B002010B5040040210D4B9847FA236E -:10F9F0005B0023620023A3616433E361094B1A783F -:10FA000022745A7862749A78A274DB78E3740123C2 -:10FA1000A3863622A35C01210B43A35410BDC0462C -:10FA2000E50F010048C80100F0B5D64600B582B028 -:10FA300006008A461548164B9847041E1ED0002320 -:10FA40000193144F0CE021001048134B98472000FD -:10FA5000124B9847124B9847012301932C1E0FD04D -:10FA600021000A48B84705002368B342F6D163680D -:10FA70005345E8D05346002BF0D1E4E7002301932F -:10FA8000019802B004BC9246F0BDC046884D0020EB -:10FA9000050601001D060100ED060100D10A010066 -:10FAA0007DF7000070B505004168002902D00068AC -:10FAB000194B984719481A4B9847002820D11748E6 -:10FAC000184B98470400184B984700281ED0002C6C -:10FAD00015D02B6AAB63402229002000134B9847B6 -:10FAE0003623E35CDB0708D56368002B05D020686C -:10FAF000002802D01822A15E98470D4B984770BD90 -:10FB00000C4B984701380C4B1860D8E722000023B3 -:10FB10000A480B498847FEE729FA0000884D002073 -:10FB2000AD0801006505010015140000250C010059 -:10FB30007DF7000025F70000E42B00200488010079 -:10FB40001D14000070B50023C65E0423C25E921B24 -:10FB5000D40FA4186410A5B224B20B889B1B5B1BA6 -:10FB60001BB24A884188521A521B12B264435B434B -:10FB700052439B18E017DA0F9C425041C0B270BD4F -:10FB80004B1E4188C918C18070470423C25E002102 -:10FB9000435ED21A01320621435E0221405E181AEA -:10FBA000013050437047F0B5C64600B50D88138844 -:10FBB0001C1C1BB22EB2B34200DA2C1C26B20480ED -:10FBC0004D8853881C1C1BB22FB2BB4200DA2C1C80 -:10FBD00027B244808D8893881C1C1BB298462BB298 -:10FBE000984500DD2C1C25B28480C988D3881A1C56 -:10FBF0001BB20CB2A34200DD0A1C13B2C28000206B -:10FC0000AE4204DCF80FDA17BB425041C0B204BC6C -:10FC10009046F0BD70B50D8813881C1C1BB22EB227 -:10FC2000B34200DD2C1C04804D8853881C1C1BB281 -:10FC30002EB2B34200DD2C1C44808D8893881C1C9E -:10FC40001BB22EB2B34200DA2C1C8480C988D38840 -:10FC50001A1C1BB20CB2A34200DA0A1CC28070BD8F -:10FC6000F0B5DE4657464E464546E0B585B00E0037 -:10FC70000023CC5E0023C15E00238C425EDB0425A2 -:10FC8000435F98460023444558DC0223F45E022576 -:10FC9000435F9A460023544550DB0623C35E1D0094 -:10FCA00001930023AC4249DC002A00DC9BE0434680 -:10FCB00068460380038899468CB2AFB253460380EE -:10FCC000008802AB19804B4601331B1B1BB2D90FB6 -:10FCD000CB185B10791C091A09B2CD0F6D186D1085 -:10FCE000191C1BB2AB4200DD291C0D1C09B291424C -:10FCF00000DD151CADB22C19A4B202AB9C8052469B -:10FD00005A80281883B200936B4600215A5E9346AE -:10FD100002AA5946D1800022310002A8FFF7A0FFB5 -:10FD2000002813D02C1902AA9480009B9C4665449D -:10FD3000D580310010002D4B98470300180005B006 -:10FD40003CBC90469946A246AB46F0BD7F1BBFB275 -:10FD500002AB5F806A469288DA8000223100180088 -:10FD6000FFF77EFF00280AD02C1902AB9C807D1B78 -:10FD70005D80310018001D4B98470300DEE74B46BD -:10FD80005C1BA4B202AB1C8042469A800022310068 -:10FD90001800FFF765FF00280AD0641B02AB1C8027 -:10FDA0007D1B5D8031001800104B98470300C5E7AC -:10FDB00002AB52465A805A46DA80002231001800BF -:10FDC000FFF74EFF01230028B8D0641B02AB1C8054 -:10FDD000009B9C46654402ABDD8031001800034B5C -:10FDE00098470300AAE70123A8E7C04645FB0000A7 -:10FDF00010B50023C45E0423CA5E0023944216DCBF -:10FE00000423C45E0023CA5E002394420FDB022356 -:10FE1000C45E0623CA5E0023944208DC0623C45E47 -:10FE20000223CA5EE317D00F94424341DBB21800AD -:10FE300010BD0000F0B5C64600B582B005000C004C -:10FE400016000023C75E00228B5E0020BB4214DC3C -:10FE50000223EA5E0221635E9A420EDB0423EA5E1D -:10FE60000421635E9A4208DC0622AB5E0621625ED4 -:10FE7000D80FD1179A424841C0B2002E03D102B028 -:10FE800004BC9046F0BD01A90F806B884B80320006 -:10FE90002000104B98470028F1D00422AB5E984612 -:10FEA00001A90B80320020000A4B98470028E6D0B9 -:10FEB00001A90F80EB884B8032002000054B98474A -:10FEC0000028DCD001A943460B8032002000014B02 -:10FED0009847D4E761FC000030B5142A27D8920077 -:10FEE000B24CA2589746828801320488121B12B283 -:10FEF000D40FA41864108A8801320D88521B12B2E4 -:10FF0000D50FAA185210A21A1A80C288013244884A -:10FF1000121B12B2D40FA4186410CA880132498887 -:10FF2000521A12B2D10F8A185210A21A5A801A8885 -:10FF3000018852181A805A88418852185A8030BD58 -:10FF400000221A805A80F2E7828801320488121B4C -:10FF500012B2D40FA41864108A8801320988521A88 -:10FF600012B2D10F8A185210A21A1A8000225A8097 -:10FF7000DDE782888C88121B0488121B09885218BE -:10FF80001A8000225A80D2E700221A80C288CC88C8 -:10FF9000121B4488121B498852185A80C7E782886E -:10FFA00001320488121B12B2D40FA41864108A887C -:10FFB00001320D88521B12B2D50FAA185210A21A84 -:10FFC0001A80C288CC88121B4488121B4988521898 -:10FFD0005A80ACE782888C88121B0488121B0C881C -:10FFE00012191A80C288CC88121B4488121B4988B7 -:10FFF00052185A809BE700221A80C2880132448836 +:10016000E800002071F7000030B58DB0144B9847BF +:100170000122144B1A70BFF35F8F62B6124B98477F +:10018000124B9847124B9847124B9847124B98477F +:10019000124B9847124C96235B0100221149200014 +:1001A000114DA84701A8114B9847114B0493029495 +:1001B00001A8104B9847104B98470DB030BDC04672 +:1001C000451300000C000020C97801005978010097 +:1001D000A577010015010000611800006D6901009C +:1001E00070260020F0000020C1F400005DF4000043 +:1001F00089740100E1F40000C579010010B5002008 +:10020000084B9847020000230748002180185941F5 +:10021000064A0023064CA047064B9847064B9847D2 +:1002200010BDC046CD100000571B0000581B000039 +:10023000DD7C0100010000205D130100F0B5DE4609 +:1002400057464E464546E0B587B0804604911600B5 +:100250001F000022002300218B463F2401202100A3 +:10026000009601975C4603944446059413E02024CD +:10027000641A0500E540A84614E0009C019D121B8D +:10028000AB415C464D462C43A346039C45462C435C +:100290000394013925D3202464420C19E7D40500C6 +:1002A000A540A84604008C40A14692185B4114006A +:1002B0001D00059E4F463E40B446049E47463E40C4 +:1002C000B246664657463E4303D0060026433200F8 +:1002D0002B00009C019D9D42DBD8CED19442D8D802 +:1002E000CBE7039B5846190007B03CBC90469946A3 +:1002F000A246AB46F0BD10B5490840230024814218 +:1003000002D2180010BD1C00091A631C9BB288425F +:10031000F9D94023FF2CF4D814800023F1E7000022 +:10032000F0B583B00F00160008AA117804004C4302 +:100330004022BC4202D9100003B0F0BD002B14D102 +:10034000020008000021194CA04701003A000023D8 +:100350000020174CA04700220123121A8B41120CD7 +:100360001B041A4332800022E5E70022012BF9D159 +:100370000A00002300210D4CA04702000B00009250 +:100380000193380000210A4CA047050080239B01FF +:1003900040229842CFD8790FF800009A019BA047DD +:1003A000EA00821AD2B252032A43DBE71D7D010024 +:1003B0003D02000010B582B004000E4B1B78002BEC +:1003C00007D0002905D10B4B5B78834210D01D204C +:1003D0000CE001A90C701320074B98471320074B22 +:1003E0009847044B5C7001221A70002002B010BDC7 +:1003F0000020FBE794260020E511000059110000C1 +:10040000404B984231D00AD93F4B98424DD03F4B98 +:1004100098425AD03E4B984237D0002070473D4B0F +:1004200098420CD03C4B9842F7D1012917D00029B3 +:100430005DD0022915D0032915D00020EEE701294F +:1004400007D0002951D0022905D0032905D000206A +:10045000E4E73248E2E73248E0E73248DEE7324894 +:10046000DCE73248DAE73248D8E7012907D000292B +:100470003FD0022905D0032905D00020CEE72D4822 +:10048000CCE72D48CAE72D48C8E7012907D0002945 +:1004900031D0022905D0032905D00020BEE7284825 +:1004A000BCE72848BAE72848B8E7012907D000295F +:1004B00023D0022905D0032905D00020AEE7234828 +:1004C000ACE72348AAE72348A8E7012907D0002979 +:1004D00015D0022905D0032905D000209EE71E482B +:1004E0009CE71E489AE71E4898E71E4896E70320B7 +:1004F00094E71D4892E71D4890E71D488EE71D4888 +:100500008CE7C0460010004200180042001C004268 +:100510000014004200080042000C004203000500E5 +:1005200003000600030007000300010003001E0093 +:1005300003001F000300090003000A0003000B0072 +:1005400003001100030012000300130003000D005C +:1005500003000E0003000F00030017000300180043 +:10056000030019000300040003000800030010004A +:1005700003000C000300160030B587B00B4B6A4631 +:1005800032CB32C232CB32C2009B83420BD001232A +:100590009A0069465258824206D00133062BF7D1A1 +:1005A000002007B030BD0023D8B2FAE7348801003C +:1005B000F0B5DE4657464E464546E0B591B00500DB +:1005C0000C00160029600800BA4B98470200236807 +:1005D0000520DB0706D511B03CBC90469946A246E3 +:1005E000AB46F0BD236817309B07F4D4B249086AC4 +:1005F000971C0123BB4003430B620FA92D27F35D1A +:100600000B701432D3B202931800AC4B9847029887 +:10061000AB4B9847F05D0021AA4B9847F37A6B717A +:100620002423F35CAB712523F35CEB71F37E2B7217 +:10063000337F6B722B68984618009E4B9847143096 +:1006400000220E2306A98C4663441A80328A029245 +:100650008023DB019A4200D19AE00FD9C023DB014D +:10066000029A9A4200D18EE080231B029A4200D067 +:100670001BE1032306930023079308E080239B01DB +:100680009A4200D011E1102306930F3B0793336881 +:100690000593F3689B4673690393337E0493262383 +:1006A000F35C9A4673689946002B00D19CE0802346 +:1006B0005B05994500D180E0737E002B02D0B37EAC +:1006C000424693730E2306AA944663441B8842460F +:1006D0009381059B5A461343039A13434A46134397 +:1006E000029F1F43049B1B021F4353465B071F438C +:1006F0002723F35C002B01D104331F43737E9B023D +:10070000327F52021343727F120213432422B25CDF +:10071000520413432522B25C12041343B17AF27AD5 +:10072000114319433389FF2B00D181E08022520409 +:10073000174319432C23F35C002B03D1624B9B78A6 +:100740009B0701D580231F432A68D369002BFCD166 +:10075000434659602A68D369002BFCD143461F6089 +:100760000EAB80221A7000225A70DA709A70336BC6 +:100770000A93736B0B93B36B0C93F36B02930D9310 +:1007800000270AAE63E008230693073B07937EE742 +:1007900033680593F3689B4673690393337E049330 +:1007A0002623F35C9A4673689946002B18D0802361 +:1007B0005B05994501D0002025E02723F35C002B41 +:1007C00000D079E7336A1F00C0B2404B9847010060 +:1007D0000E2206AB9C46624438003D4B984712E01F +:1007E00008230693002307932723F35C002B0ED0E6 +:1007F000069B0093079B0E2206A98C466244B16AB1 +:10080000306A344FB847002800D0E4E654E7336A32 +:100810001F00C0B22D4B98470100069B0093079B19 +:100820000E2206A88446624438002A4FB847EAE7F9 +:10083000F37E002B00D17DE78023DB041F4379E7A3 +:100840002000254B984707E00137042F0DD0F9B25F +:10085000BB0098590028F3D0431CF5D00EA90870AE +:10086000000CC0B21D4B9847EEE70023EB602B61F4 +:100870006B61AB61EB612B62AB626B620022EB855B +:10088000AB853033EA540133EA540133EA5401337F +:10089000EA542868074B984704001149114B9847C0 +:1008A000A400114BE550002095E610230693002389 +:1008B0000793ECE67905000000040040E511000014 +:1008C00059110000B5030000002000410112000092 +:1008D000F70200002103000001040000DD12000007 +:1008E000490A0000E10B0000944C0020C2791C234F +:1008F000002A01D118007047C28D92B2173B002A1E +:10090000F8D1026811850221137E0B42FCD000232E +:10091000F0E70000F0B5CE46474680B583B005004D +:1009200001911720002A04D103B00CBC90469946CF +:10093000F0BDEB790530002BF6D02C68013A93B26C +:10094000994600260127204B984611E0731C9BB264 +:10095000019A915D6A79012A17D089B21E00280098 +:100960001A4B98474B46013B9BB29946434513D0DF +:10097000237E3B42EAD1144B227E3A42E6D1012B40 +:1009800019D0013B002BF7D1E0E70236B6B2019A4D +:10099000D35C1B021943E2E7237E9B070DD40A4B6D +:1009A0000221227E0A420AD1012B0AD0013B002BF0 +:1009B000F7D10020B8E71220B6E70020B4E7002006 +:1009C000B2E71220B0E7C046FFFF0000ED080000CC +:1009D000F8B504000D00160007680F4B9847A38D6B +:1009E0009BB2002B03D00D4B98470520F8BDA68580 +:1009F0000A4B9847656205223223E2542E3BBB75B1 +:100A0000237A002B01D02023BB75637A0020002BB2 +:100A1000ECD00823BB75E9E7AD0C0000ED0C00003D +:100A2000931C9B00C31859603021012393401A0086 +:100A3000435C13434354704710B50122014B984760 +:100A400010BDC046D1090000F8B58000624BC55802 +:100A50002C68E369002BFCD1237EA67D1E40302349 +:100A6000EB5C3122AF5C1F40F30722D5EB8D9BB2CC +:100A7000002B1CD0AA6A1378DBB2511CA9626979D9 +:100A800001290ED09BB2DB05DB0D2385EB8D013BED +:100A90009BB2EB85002B0CD1013323750133A37579 +:100AA00007E0517809020B430232AA62EBE7012307 +:100AB0002375B30706D50223237500223133EA5488 +:100AC000FB071AD4730765D5AB8D9BB2002B5FD0A3 +:100AD000638BDBB21A0714D43F221340002B34D0AF +:100AE0009A0711D51A223223EA54303B63837B07DD +:100AF00050D528006B6998474CE02800EB68984770 +:100B0000E0E737221340E9E75A0705D51E223223D2 +:100B1000EA542E3B6383EAE7DA0705D51322322332 +:100B2000EA54313B6383E2E7DA0605D542223223F9 +:100B3000EA54223B6383DAE720221A42D7D02132DB +:100B40003223EA54123B6383D1E7238DDB05DB0DAF +:100B5000DAB2696A0A706A6A511C696269790129A4 +:100B600010D0AB8D013B9BB2AB85002B12D104336F +:100B7000237500222E33EA54BB070BD528002B69BE +:100B8000984707E01B0A53706B6A01336B62E8E712 +:100B900004232375F30604D5102323752376FB065F +:100BA0000ED4B30604D52023237523763B070BD43C +:100BB000330704D5082323752376BB0608D4F8BD74 +:100BC0002800EB699847ECE72800AB699847EFE706 +:100BD0002B6A28009847F2E7944C002070470000E9 +:100BE000F0B50A4B1B78002B0CD1094F094E0A4D6A +:100BF0000024DE515A1914600433182BF9D1012254 +:100C0000024B1A708000024BC150F0BD96260020A6 +:100C100098260020DD0B0000944C002000B583B026 +:100C200009236A4613700133537001339370013303 +:100C3000D3700133137101335371034B98476B46E3 +:100C4000185603B000BDC0467905000010B5024B30 +:100C50001B680020984710BD9826002010B5024B55 +:100C60005B680120984710BD9826002010B5024B04 +:100C70009B680220984710BD9826002010B5024BB3 +:100C8000DB680320984710BD9826002010B5024B62 +:100C90001B690420984710BD9826002010B5024B10 +:100CA0005B690520984710BD982600200C4B1B68F7 +:100CB000002B06D1EFF31083002B07D00022094B45 +:100CC0001A70074A136801331360704772B6BFF396 +:100CD0005F8F0022044B1A700132024B1A70F0E74A +:100CE000B0260020B42600200C000020084B1A6813 +:100CF000013A1A601B68002B09D1064B1B78002BA8 +:100D000005D00122044B1A70BFF35F8F62B67047A3 +:100D1000B0260020B42600200C000020F0B583B0DF +:100D200001AC012565700027A770257021003E20C9 +:100D3000064EB0478022D205054B9A612770657038 +:100D400021000F20B04703B0F0BDC046550D000094 +:100D50008044004100B583B001AB80221A700A784C +:100D60005A704A789A708A78DA701900014B98475D +:100D700003B000BDDD12000010B582B001AB8024CD +:100D80001C7014785C7054789C709278DA701A0039 +:100D9000014B984702B010BD0D13000010B5082894 +:100DA00003D880001C4B1B589F46002032E01B4B91 +:100DB00018692FE01A4B1B6A9B059B0F1948D840F6 +:100DC00028E0164B586925E0144B1B6800209B0750 +:100DD00020D513491022CB681A42FCD00F4B1A6859 +:100DE00024231340042B01D00F4813E000200F4BA5 +:100DF00098470A4B9B681B041B0C58430AE050237E +:100E0000074AD35C00205B0704D5044BD86801E097 +:100E10008020000210BDC0464C880100B82600208A +:100E20000008004000127A00006CDC020112000091 +:100E300070B50C490B6A047885784078012210401F +:100E400080014026B34303432A40D20180208343DC +:100E500013430322224012020348034013430B6250 +:100E600070BDC04600080040FFFCFFFF082803D803 +:100E70008000254B1B589F46172044E0234A136AE5 +:100E800002210B43136200203DE0204A93690221B6 +:100E90000B439361002036E01C4A138A02210B4366 +:100EA000138200202FE0194A938A02210B43938278 +:100EB000002028E016490B68022213430B60134BF5 +:100EC0009A8419000E32CB681A42FCD0104A9168FD +:100ED0000E4BD96252689A6200229A84190010322D +:100EE000CB681A42FCD00A4B1B689BB2074A93841A +:100EF000002008E0054944228B5C022003438B5408 +:100F0000002000E0002070477088010000080040C9 +:100F1000B826002030B585B0C222D2001A4B9A60A4 +:100F20001A4A53681E218B43536001236A4613708B +:100F30000024174DE0B26946A8470134252CF9D1A9 +:100F400003A800244470012585700470114B984754 +:100F50000620114B9847114B9847114B1C725C723D +:100F60009C72DC7201956B465C7006236A461370B6 +:100F700014725472694600200A4B984700200A4BAD +:100F8000984705B030BDC046000800400040004111 +:100F9000E5110000310E00006D0E0000AD0F0000E5 +:100FA00000040040D10F000089100000064A936938 +:100FB00008210B4393610122044B1A7019000B782E +:100FC0001342FCD17047C04600040040000C0040B2 +:100FD00070B5060004000D782D0205434B78002BF8 +:100FE00002D08023DB021D434B7A002B02D08023EA +:100FF0001B031D434868012810D9431E184234D1F1 +:10100000022830D90223002201325B009842FBD82B +:1010100012023243140080235B031D430B7A002B22 +:1010200002D080239B031D43134A53785BB2002BED +:10103000FBDB124B9847124B1E700F4A53785BB282 +:10104000002BFBDB0C4B9C601A0053785BB2002B2F +:10105000FBDB094A5368802149020B401D43556060 +:10106000084B984770BD0022D2E704023443802326 +:101070009B021D43D2E7C046000C0040AD0C0000AF +:10108000080C0040ED0C000010B504000B4A53782A +:101090005BB2002BFBDB0A4B98470A4B1C70074ADC +:1010A00053785BB2002BFBDB044A516880235B0260 +:1010B0000B435360044B984710BDC046000C0040E2 +:1010C000AD0C0000040C0040ED0C000070B50400F5 +:1010D0001A4A53785BB2002BFBDB194B9847194B2C +:1010E0001C70164A53785BB2002BFBDB134E706802 +:1010F000C004C00E144B98470500124B1C70766854 +:10110000F602F60F114B1C700C4A53785BB2002BA1 +:10111000FBDB0A4B9C682402240C0D4B9847002EE5 +:1011200007D1012C07D9210028000A4B9847050058 +:1011300001E00134E540280070BDC046000C0040CD +:10114000AD0C0000040C00409D0D0000080C004098 +:10115000ED0C0000F179010010B50400064B984732 +:10116000064B1C70064A53888021C9010B435380EB +:10117000044B984710BDC046AD0C0000020C004067 +:10118000000C0040ED0C000010B504000F4B984718 +:101190000F4B1C700F4A53881B05180F53880E49BC +:1011A0000B40538053880D490B405380110080221F +:1011B000D2014B881342FCD106494A8803020648F3 +:1011C000024013434B80064B984710BDAD0C000006 +:1011D000020C0040000C0040FFF0FFFFFFBFFFFFCC +:1011E000ED0C000010B50C7824020443024B984724 +:1011F000A4B2024B5C8010BD89110000000C0040BD +:1012000010B50400064B9847064B1C70064B5C88D3 +:101210002405240F054B98472000054B984710BD27 +:10122000AD0C0000020C0040000C0040ED0C000072 +:10123000CD10000030B5D378002B35D11378802B3A +:1012400029D01B0680246402234354780225AC4332 +:1012500006D19478002C20D18024A402234341603D +:101260005478013C012C1CD90D042D0CA024E4055C +:101270002C431C4384620D0CD02424062C431C43B5 +:101280008462D478002C22D15B031CD59378012B87 +:101290001ED0416117E00023D7E7C024E4022343B6 +:1012A000DDE70D4C2340DFE741600C04240CA02354 +:1012B000DB05234383620C0CD0231B06234383628C +:1012C000D378002B03D15378013B012B02D930BDD9 +:1012D0008161F8E78160FAE7FFFFFBFF10B50A00C4 +:1012E000C1090023002904D14309DB0105498C46CB +:1012F00063441F242040012181401800024B98477D +:1013000010BDC0460044004135120000F0B583B066 +:1013100000900E00019200240127084D02E00134E4 +:10132000202C09D03300E3401F42F8D0019A390045 +:10133000A1400098A847F2E703B0F0BD35120000C5 +:101340007047000010B5054B9847054B9847054B73 +:101350009847054B9847054B984710BD150F00005F +:101360001D0D000041130000411300004113000057 +:10137000FEE70000F8B52A4A2A4B9A4211D01A001B +:10138000294B9A420DD2294A03339B1A9B080133F9 +:101390009B000022234822498C58845004329A42F0 +:1013A000FAD1234A234B9A420AD2D34321495B18EC +:1013B00003218B4304339B18002102C29342FCD1CA +:1013C0001D4AFF211D4B8B439360FD3990235B0029 +:1013D0001B4AD1501B4AD3780325AB430224234335 +:1013E000D370D3780C27BB4308263343D370164BF6 +:1013F000987B30229043202210439873997BB94305 +:10140000314399739A7BAA4322439A730F4A5368D4 +:1014100080210B4353600E4B98470E4B9847FEE7D5 +:1014200018CB010000000020C400002004000020B0 +:10143000C8000020384E002000ED00E00000000051 +:101440000070004100500041004800410040004150 +:10145000457F0100DD7901000300064A1268002A79 +:1014600004D0044A1068C318136070470249014A47 +:101470001160F6E7D0260020386E0020431E984108 +:10148000C0B2704710B5C0B00400064B9847E528BD +:1014900001D940B010BD020021006846024B9847B8 +:1014A000F7E7C046F17F01008D0C010010B5002860 +:1014B00001D0C06B10BD034B98470028F9D1002024 +:1014C000F8E7C04609F6000010B5002801D0006C0E +:1014D00010BD034B98470028F9D10020F8E7C0461B +:1014E00009F6000010B5002801D0406C10BD034B78 +:1014F00098470028F9D10020F8E7C04609F6000017 +:10150000F8B5002811D0002534272026074C02E02A +:10151000A047002804D0C35D1E42F9D00500F7E7BC +:10152000002D02D02800024B9847F8BDA11A0000F8 +:1015300019200000F8B5DE4657464E464546E0B550 +:1015400006008A469046037DDB073CD4C46801232D +:1015500099460025324F0F339B4615E0337D5A469E +:101560001A4201D1002D2ED14B46002B2BD030003A +:10157000D0470400002D4CD000239946002C03D006 +:101580002068B84700280CD0002CE7D0002D06D0EA +:1015900021003000C0470400A842EFD113E025002D +:1015A000F6E7F368A3420ED0002B16D01868C36983 +:1015B000002217219847F368186800220E21194B62 +:1015C0009847012805D03CBC90469946A246AB46B8 +:1015D000F8BDF3681868144B9847F4602068C36935 +:1015E000002216219847F368186800220D210D4B40 +:1015F00098470128E7D1F36818680C4B9847F368BF +:101600001868094B98473369002BDCD030009847A5 +:10161000D9E70028D7D0050000239946B0E7C04697 +:10162000851E0000111A0000B11F00000115000006 +:1016300010B518210148024B984710BD184E0020E4 +:10164000B905010010B5024A0249034B984710BD85 +:10165000850601006D0601003515000010B5024A2F +:101660000249034B984710BDAD0601007906010001 +:101670003515000070B50400037DDD06ED0F102266 +:10168000134303751B0708D5054B98472D01237D90 +:10169000102293432B43237570BD024B9847F5E707 +:1016A0005D16000045160000F8B505000C00002886 +:1016B00010D006001B4B984700280CD003689C42B2 +:1016C00008D0194F01003000B847002803D0036844 +:1016D000A342F7D1F8BDA36B002B07D02000134B1A +:1016E0009847002802D0A06B114B9847A5632800AB +:1016F000104B98470600104B984700280BD0002E3F +:10170000E8D034602800074B98478642E2D1280091 +:10171000074B9847DEE7320000230848084988470E +:10172000FEE7C0466D06010085060100293600006F +:10173000751600001D0601007D140000948801004C +:1017400085140000002804D0C368002B03D018685B +:1017500070470020FCE70020FAE7002803D0007D56 +:101760008007C00F70470020FCE70000014B18689D +:101770007047C046D4260020F8B50C00002815D0CC +:101780005022835C02210B438354184B1B68984200 +:1017900005D0002C07D0C36B9C4204D0F8BD0022BA +:1017A000134B1A60F5E70023C363F7E70020114BE2 +:1017B00098470028F2D00D4F0D4D0E4E07E0002344 +:1017C0002B600CE00023C363B0470028E6D0502212 +:1017D000835C02210B4383543B688342EFD0002C8F +:1017E000F0D0C36B9C42EFD1ECE7C046D42600207A +:1017F000D82600204DF7000010B500210020014B35 +:10180000984710BD79170000F0B585B00D00029122 +:1018100016000392031D019318000F4B9847041EF6 +:1018200018D0ADB2B7B20D4E238AEB182382638A6B +:10183000FB186382A38AEB18A382E38AFB18E38276 +:10184000039A02992000FFF7DFFF21000198B047BB +:10185000041EE9D105B0F0BD6D060100850601004A +:1018600030B585B0194B1B78002B01D005B030BDC9 +:10187000174B9847174B9847174B9847174B984764 +:10188000174B984710211748174CA047174B029346 +:101890000193009302221F2115480088154DA84787 +:1018A000154B9847154B9847B82149001448A04755 +:1018B00060211448A047144B9847144B98470120C7 +:1018C000134B98470122014B1A70CFE7E426002002 +:1018D000490A01009911010049030100F9F90000CA +:1018E00031160000684D0020B905010030000020CD +:1018F000A288010091440100511C01009D4200009A +:10190000C44C0020B84C0020F9170000F9E6000094 +:1019100059DC000070B504000D00094B9847002801 +:1019200008D0342201231D40A35C012083432B43B4 +:10193000A35470BD22000023024803498847FEE7F4 +:101940007D140000FC88010085140000F0B587B00C +:1019500007000C0001921E00002904D00800254B4E +:10196000984700283CD003AB039400221A710592DB +:10197000214B1B68002B00D0059303AA1E4B1A6055 +:101980001E4B1D681E601E4B9847002804D08368BC +:10199000002B01D001999847002F02D00199200017 +:1019A000B847164B1D60144B1A6892681A6003AB57 +:1019B0001B790020002B11D1002C17D03433E35CAD +:1019C00001305B060AD52068002811D03200019949 +:1019D0000C4B9847013842424241D0B207B0F0BDAB +:1019E00022000023084809498847FEE70120F5E75F +:1019F0000120F3E77D140000E0260020DC26002013 +:101A00006D170000111A0000FC8801008514000009 +:101A100070B504000D001600002810D0094B98473F +:101A2000002805D122000023074808498847FEE71F +:101A3000A06933002A002100054CA04770BD012099 +:101A4000FCE7C0467D140000FC88010085140000FE +:101A50004D19000010B5002804D0C369002B03D035 +:101A6000984710BD0120FCE70120FAE710B50400FB +:101A7000084B9847002805D1220000230648074953 +:101A80008847FEE700236386E369002206212000E1 +:101A9000984710BD7D140000FC88010085140000EB +:101AA00010B50400054B9847002801D0206810BDF0 +:101AB00022000023024803498847FEE77D14000006 +:101AC000FC8801008514000070B50400094B98479C +:101AD000002801D0084D06E02200002307480849ED +:101AE0008847FEE704002000A8470028FAD120001C +:101AF00070BDC0467D140000A11A0000FC880100E2 +:101B000085140000F0B5C64600B50400194B98478F +:101B100000280FD02368002B03D02000164B9847D5 +:101B200004001648164B9847071E1ED0144B9846C3 +:101B3000144E0BE022000023134814498847FEE7A7 +:101B400039000E480F4B9847071E0ED03D00303528 +:101B50002800C0470028F3D0844206D001002800A6 +:101B6000B0470028ECD08442F8D1380004BC90463D +:101B7000F0BDC0467D140000C91A0000C44C00200E +:101B80006D06010085060100FC8801008514000037 +:101B900070B504000D000A4B9847002806D0002DB0 +:101BA0000AD0201D2900074B984770BD2200002352 +:101BB000054806498847FEE7201D054B9847F4E78E +:101BC0007D14000085060100FC88010085140000DA +:101BD0006D06010070B504000D000A4B98470028FF +:101BE00009D02000183010342178297001350134D3 +:101BF000A042F9D170BD2200002303480349884761 +:101C0000FEE7C0467D140000FC880100851400003A +:101C100010B504000B4B9847002805D12200002383 +:101C200009480A498847FEE72000094B98470028E1 +:101C300004D0238A008A181A00B210BD1023E05E77 +:101C4000FBE7C0467D140000FC88010085140000FD +:101C5000A11A000010B504000B4B9847002805D1CD +:101C60002200002309480A498847FEE72000094B63 +:101C70009847002804D0638A408A181A00B210BD21 +:101C80001223E05EFBE7C0467D140000FC880100E3 +:101C900085140000A11A000010B50400074B9847F6 +:101CA000002805D0A08A0130238AC01A00B210BDD6 +:101CB00022000023024803498847FEE77D14000004 +:101CC000FC8801008514000010B50400074B9847FC +:101CD000002805D0E08A0130638AC01A00B210BD26 +:101CE00022000023024803498847FEE77D140000D4 +:101CF000FC8801008514000000B583B0002902D1E2 +:101D0000283003B000BD6B461970002301936A466A +:101D10000821044B9847012801D10198F1E70020E0 +:101D2000EFE7C046551A0000F0B5DE465746464676 +:101D3000C0B580468A4693461E001D481D4B9847F5 +:101D4000041E2FD0B0422DD01B4F0AE0A3885B4564 +:101D500015D05B46FF2B12D0002D23D02C00AE42B5 +:101D600020D021001248B847050020684045F3D133 +:101D7000A1795145EAD05346FF2BEDD1E6E70F4B51 +:101D800098470F4B9847A1880E4B98470021200099 +:101D90000D4B9847210006480C4B984720000C4BF0 +:101DA0009847D9E71CBC90469A46A346F0BDC0466A +:101DB000684D002079060100AD060100F91C000005 +:101DC00021560000D14B000091FA00005507010098 +:101DD000390B010070B504000D00064B9847002830 +:101DE00007D0054B98470023FF2229002000034C11 +:101DF000A04770BDF91C000031560000291D0000ED +:101E0000F8B504681748184B9847002820D00026DA +:101E1000144D164F04E001002800B84700280DD0EB +:101E20008442F8D0036822689342F4D143681B02CD +:101E3000626812029A42EED10126ECE7002E07D02A +:101E4000210008480A4B984720000A4B9847F8BDE4 +:101E5000A1792068084B9847084B9847A188084B00 +:101E60009847EDE7684D00206D06010085060100EA +:101E700055070100390B0100F91C00002156000034 +:101E8000D14B000010B50400074B9847002804D040 +:101E90003423E05CC006C00F10BD220000230348BD +:101EA00003498847FEE7C0467D140000FC88010016 +:101EB00085140000F0B585B004000E00304B984743 +:101EC000002805D1220000232E482F498847FEE72D +:101ED00020002E4B9847002801D005B0F0BD20000F +:101EE0002B4B984707002B4B984705002A4B9847E8 +:101EF000874209D02800294B9847874204D0280000 +:101F0000274B98478742E8D13222A35E2100103147 +:101F10000022885C6F46D0550132082AF9D19BB265 +:101F20003A88D21A3A807A88D21A7A80BA889A186D +:101F3000BA80FA889B186A46FB80310002A8194BC8 +:101F400098470028C9D02000174B9847041E11D08D +:101F5000144E2200103202A90800B0470028BCD05D +:101F600020000A4B98470028B7D120000E4B984715 +:101F7000041EEED102A928000C4B9847ADE7C046DD +:101F80007D140000FC88010085140000851E0000FF +:101F9000C91A0000051B0000AD140000C9140000A0 +:101FA000E51400000FFC0000A11A0000A14200008F +:101FB00030B583B00400144B984700281DD032235D +:101FC000E25E200010300023C15C6D46595501339C +:101FD000082BF9D193B22A88D21A69462A806A88D6 +:101FE000D21A6A80AA889A18AA80EA889B18EB807D +:101FF0002000064B984703B030BD22000023044860 +:1020000004498847FEE7C0467D140000B51E000065 +:10201000FC88010085140000F8B50400124B9847B5 +:10202000002805D122000023104811498847FEE707 +:102030002000104B98470500061D30000E4B9847B6 +:1020400084420FD028000D4FB847012322003100F1 +:1020500030000B4EB047220001212800EB69984761 +:102060002800B847F8BDC0467D140000FC88010078 +:1020700085140000A11A00006D060100B11F0000C8 +:10208000E5070100F0B5D6464F464646C0B582B0DA +:1020900004000D001700264B9847002841D0266801 +:1020A000002E38D0338A228A9B1A5B199BB29A463B +:1020B0001BB29846758A638AED1AED19ADB22BB240 +:1020C00099464346002B02D14B46002B23D02000DB +:1020D000184FB84769462000174B9847238A534446 +:1020E0002382638AEB186382A38A5344A382E38A20 +:1020F000ED18E5824A4641462000104B98476A4653 +:1021000002212000E3699847F36922000121300091 +:1021100098472000B84702B01CBC90469946A2469A +:10212000F0BD22000023064806498847FEE7C04666 +:102130007D140000B11F0000D51B0000091800002D +:10214000FC88010085140000F0B5D6464F4646468F +:10215000C0B584B004000F00019299460CAB002278 +:102160009A5E9046264B9847002805D1220000230E +:10217000244825498847FEE7002F0AD03800204B25 +:10218000984700280AD13A0000231E481E49884774 +:10219000FEE720001D4B98470700EFE703AD210045 +:1021A0001031380010302B00019A194EB047200032 +:1021B000164B98471222835E6A8842442988494414 +:1021C000008A091A09B22980D21A12B26A80200044 +:1021D000104B984748236A461279E254043B4A461A +:1021E000E25202334246E25227644922A35C0221B2 +:1021F0008B43A35404B01CBC90469946A246F0BD44 +:102200007D140000FC88010085140000A11A000064 +:1022100041FF000085200000F0B5DE4657464E46DF +:102220004546E0B583B080460191924699460CAB95 +:1022300000229B5E9B46A14B9847002805D1424651 +:1022400000239F489F498847FEE740469E4B98479A +:10225000050040469D4B9847040040469C4B9847DC +:10226000C30F1B185B101EB240469A4B9847C70F0E +:102270003F187F103FB2019B002B0BD001988F4B72 +:10228000984700280BD05346142B1FD89B00924A26 +:10229000D3589F464046914B98470190EEE7019AEC +:1022A0000023874887498847FEE7019C2000884B28 +:1022B0009847C50F2D186D10AD1B2DB22000854B12 +:1022C0009847C40F24186410E41B24B24046834B83 +:1022D0009847019A138A4B445D19018A691A1500BF +:1022E000528A5A441219448A121B12B209B2404649 +:1022F0007B4B9847482342465146D154043B4946BC +:10230000D15202335946D1521564492243469B5C4F +:1023100002210B4341468B5403B03CBC9046994686 +:10232000A246AB46F0BD75422DB27C4224B2CDE749 +:102330000198674B9847C50F2D186D10AD1B2DB236 +:102340007C4224B2C2E70198614B9847851B2DB2AD +:102350007C4224B2BAE775422DB201985D4B984792 +:10236000C41B24B2B2E7019C2000594B9847C50F0B +:102370002D186D10AD1B2DB22000564B9847C41B75 +:1023800024B2A3E7019C2000514B9847851B2DB236 +:102390002000504B9847C41B24B297E775422DB2DA +:1023A00001984C4B9847C40F24186410E41B24B2C6 +:1023B0008CE7019C2000464B9847851B2DB22000DE +:1023C000444B9847C40F24186410E41B24B27DE7E3 +:1023D00075422DB27C4224B278E701983C4B984775 +:1023E000C50F2D186D10AD1B2DB27C4224B26DE7C8 +:1023F0000198374B9847851B2DB27C4224B265E784 +:1024000075422DB20198334B9847C41B24B25DE747 +:10241000019C20002E4B9847C50F2D186D10AD1B49 +:102420002DB220002B4B9847C41B24B24EE7019CD1 +:102430002000274B9847851B2DB22000254B98473D +:10244000C41B24B242E775422DB27C4224B23DE760 +:1024500075422DB201981F4B9847C40F2418641081 +:10246000E41B24B232E775422DB20198194B98470C +:10247000C41B24B22AE70198154B9847851B2DB23F +:102480007C4224B222E7019C2000114B9847851B17 +:102490002DB220000F4B9847C40F24186410E41B82 +:1024A00024B213E7019C2000094B9847851B2DB2ED +:1024B0002000084B9847C41B24B207E77D14000096 +:1024C000FC88010085140000111C0000551C000050 +:1024D000991C0000C91C0000A4880100A11A00007A +:1024E0008520000010B582B00400134B98470028E7 +:1024F00010D04923E35C9B0712D54423E35E4822B6 +:10250000A25C4621615E0091216C20000B4CA0472B +:1025100002B010BD2200002309480A498847FEE79F +:102520004423E35E4822A25C4621615E0091216C57 +:102530002000054CA047EBE77D14000019220000A5 +:10254000FC8801008514000049210000F8B5060050 +:1025500000210C4B9847041E12D00B4D094F200050 +:10256000A847002204212000E36998472000A847DB +:102570002000FFF7EBFF21003000B847041EEED12A +:10258000F8BDC046911B0000B11F000070B50500EA +:102590000C00314B9847002813D0712C3ED8702C7A +:1025A0001BD2412C13D8402C17D2022C05D3072C58 +:1025B00013D92300103B082B0FD92800274B98472D +:1025C00028E02A000023264826498847FEE7532CA6 +:1025D00021D8502C01D24C2CEFD128001F4B98470A +:1025E000002204212800EB699847152C0AD3182CE7 +:1025F00001D9FF2C06D12868002803D0C369002226 +:10260000012198472800154B9847FF2C20D024B271 +:10261000002C1DDB70BD5C2CCFD1DEE77F2C0AD9EE +:10262000114B9C4210D8114B9C42D6D2902CD4D046 +:10263000FF2CC2D1D1E77E2CCFD2732CBDD3752C09 +:10264000CBD97C2CB9D1C8E7094B9C42B5D1C4E7A2 +:102650002800084B9847DDE77D140000B11F0000FB +:10266000FC8801008514000081800000808000004B +:102670008E8000004D25000010B50400034B9847E4 +:10268000FF212000024B984710BDC046D51D000019 +:102690008D250000F0B5C64600B582B00700019157 +:1026A0000025214B9846002300931CE05A1CD2B20F +:1026B0000AE0A7420FD0002F0DD00133DBB28B42CE +:1026C0000DD01A000628F1D0009C8A42F1D2920067 +:1026D00034681459EDE7FF210198144B98470135F0 +:1026E000EDB2402D0CD029000198C047061E07D03E +:1026F00001790029F3D04379062018400023E0E750 +:10270000002101980A4B9847041E09D0084E210069 +:102710003800FFF7BFFF21000198B047041EF6D133 +:1027200002B004BC9046F0BDF91C00008D250000ED +:10273000911B0000F0B5D6464F4680B583B001909E +:102740000020114B98478146002817D00F4B9A461E +:102750000F4F104E4D4630352800D047041E07D08D +:1027600021000198B84721002800B047041EF7D186 +:102770004846054B984781460028EBD103B00CBC76 +:1027800091469A46F0BDC046E5F600006D06010090 +:102790009526000085060100F8B504000D0081793A +:1027A00000683F4B98473F4B9847A1880F230B4049 +:1027B000082B19DC002D08D10823E25E3A4B98471C +:1027C000A1882068394B9847F8BDFF2D09D0082310 +:1027D000E65E0C23E25E921B6A431212921912B259 +:1027E000ECE70C23E25EE9E70B2B3CDC002D05DD7A +:1027F000FE2D05DDA2892E4B9847E1E72289FAE7F5 +:10280000EDB2FF22521B637BDB086B43667AF6084E +:1028100056439E1933029B19DB019B191B01DB0EEA +:10282000A7897F05BF0E6F4326897605B60E5643EE +:10283000BF193E02F619F601F619F600277BFF06CE +:10284000FF0E7D43277AFF06FF0E7A43AD182A025A +:102850005219D20152191201B60E7601D20EDB02C4 +:1028600032431A43C7E70D2B11DC002D05DDFE2D89 +:1028700005DD227B0F4B9847A2E7227AFAE7227AFE +:10288000237B9B1A5D432D125219D2B2F2E77F2DA2 +:1028900003DCA268084B984792E7E268FAE7C04673 +:1028A000F91C000021560000F54C00008D250000A9 +:1028B000554E0000B54F00000951000010B504004E +:1028C000054B9847002801D0002010BD22000023AE +:1028D000024803498847FEE77D140000FC88010098 +:1028E00085140000F8B5DE4657464E464546E0B52D +:1028F00082460D0000280AD0E94B9847002800D0F6 +:102900003AE152460023E748E7498847FEE7E74BAC +:102910009847002800D104E23030E54B9847040086 +:10292000DF4B9847002805D122000023E148DE490B +:102930008847FEE7002C00D1ECE14C212000DE4B63 +:10294000984722003432537830218B435370DB4B4D +:10295000E361DB4B23620023A361238263820020B7 +:10296000D84B98470138A0820020D74B98470138B0 +:10297000E082201D4C21D54B984700210020618624 +:1029800000233022A0540132A3541732A35444230D +:10299000E1520233E15221640132A35C0127BB43BF +:1029A000A354A16334239846E25C4B3313400122C5 +:1029B0009446624613437D221340793A934327009D +:1029C00034377A780E26B2430626B1464E46324355 +:1029D0000826B3430836B3432C36A0551C3EB343F8 +:1029E0002036B3434646A35563461A437A703D23C7 +:1029F000E05461620C3F3800B54B9847002D00D180 +:102A000040E1290028313800B24B9847290018319D +:102A1000220010322B00103318781070013201336D +:102A20008B42F9D13222AB5E63863023EA5CE254FA +:102A30000133EA5CE2541733EA5CE254043BEA5E99 +:102A4000E2520233EA5EE2522B6C23644922A95C13 +:102A500001239B4601273940A35C584683430B431F +:102A6000A354AB69A3613423EA5CD209D101E25CCF +:102A700094467F22664632400A43E254EA5CD2071B +:102A8000D20FE15C81430A43E254EA5C52083A40C7 +:102A90005200E15C0226B1430A43E25435229446D7 +:102AA000AA5C210034310C361640B0464A780E2616 +:102AB000B243464632434A70EA5C92083A4092007A +:102AC000E65CB0460426B146464648468643324355 +:102AD000E254EA5CD2083A40D200E05C804608202A +:102AE000464686433243E254EA5C12093A401201F8 +:102AF000E05C80461020464686433243E254EA5C5E +:102B000052093A405201E05C804620204646864306 +:102B10003243E254EA5C92093A409201E75C402079 +:102B200087433A43E2540833EA5CE2546346EB5C81 +:102B3000DB07DB0F4A785846824313434B70A86B80 +:102B4000002802D02100644B98472800634B984727 +:102B5000002800D1D2E05346002B00D1DAE0280053 +:102B60005F4B9847070028005E4B984702003900EA +:102B700020005D4B9847C4E05346181D4C4B9847C6 +:102B80000400474B984700284BD0002C00D1C1E0EF +:102B90004C212000484B9847534623602200343292 +:102BA000537830218B435370444BE361444B236291 +:102BB0000023A361534612229B5E638253465F8AC1 +:102BC00000204A4B98473223434350334022FF3280 +:102BD000012093422BD8C019E0822000444B984733 +:102BE000012830D0534610229B5E238253461F8A11 +:102BF00000203E4B98476423434350334022FF322A +:102C0000012093420AD90020384B984703006420E2 +:102C100058435030A021374B984780B2C019A0824A +:102C2000A7E62200002323481F498847FEE700202B +:102C30002E4B98470300322058435030A0212D4B93 +:102C4000984780B2C7E7534614229B5EA38253463F +:102C50009F8A0020254B98476423434350334022EA +:102C6000FF32012093420AD90020204B98470300ED +:102C7000642058435030A0211E4B984780B2381A28 +:102C8000208276E65346002B04D0022120001A4B06 +:102C9000984736E001212000174B98473AE0C0469C +:102CA0007D140000FC8801008514000009F6000076 +:102CB000CD050100948801004D100100413E000047 +:102CC000E139000015F600003DF60000B9050100ED +:102CD0005D490000A1560000A9160000A11A0000DD +:102CE000111C0000551C00008520000065F6000046 +:102CF000BD280000F1790100691C01005346002B3A +:102D000008D05346DB692200012150469847200035 +:102D1000054B984720003CBC90469946A246AB46DE +:102D2000F8BD5446F6E7C046B11F000070B5040078 +:102D30000D00084B9847002806D03C23E05C284053 +:102D4000431E9841C0B270BD2200002302480349CF +:102D50008847FEE77D140000FC8801008514000010 +:102D600070B582B005000E000D4B9847002805D0C5 +:102D70003F2E09D83D23E85C02B070BD2A00002335 +:102D8000084809498847FEE701AC267000236370B4 +:102D9000220009212800054B98476078ECE7C046DF +:102DA0007D140000FC88010085140000551A000005 +:102DB000F0B5DE4657464E46C0B584B006000D005D +:102DC0001700130A0193002830D0244B9B46244B54 +:102DD0009A46244B99460CE002AB06330020185E5D +:102DE00004B01CBC91469A46A346F0BD0025002EB7 +:102DF0001DD029003000D847009029003000D0476E +:102E000004023C19A4B202AB9A1D21000098C847E5 +:102E10000128E1D06B461B795BB2002B07DA002D4D +:102E2000E4D13000104B98470600DFE714000F4B49 +:102E30001C40222C10D007D80620032CD0D0072C01 +:102E400008D180204000CBE70F20312CC8D00130C2 +:102E5000C02CC5D00020C3E7FF20C1E7F91C00004B +:102E6000612D0000E1570000A11A0000FF80FFFF64 +:102E7000F0B5DE4657464E46C0B584B006000D009C +:102E80001700130A0193002828D01C4B9B461C4BAB +:102E90009A461C4B994605E003AB188825E00025AF +:102EA000002E1CD029003000D847009029003000A7 +:102EB000D04704023C19A4B203AA21000098C847D5 +:102EC0000128E9D06B461B795BB2002B07DA002D95 +:102ED000E5D130000C4B98470600E0E714000B4B9F +:102EE0001C40293C0020012C05D904B01CBC914693 +:102EF0009A46A346F0BD064B1888F6E7F91C000079 +:102F0000612D0000B5580000A11A0000FF80FFFFEE +:102F1000F8880100F0B5DE4657464E46C0B584B08D +:102F200006000D001700130A0193002829D01E4B3C +:102F30009B461E4B9A461E4B994605E002ABD8793C +:102F40002AE00025002E1DD029003000D84700902F +:102F500029003000D04704023C19A4B202ABDA1DAC +:102F600021000098C8470128E8D06B461B795BB266 +:102F7000002B07DA002DE4D130000E4B98470600F5 +:102F8000DFE714000C4B1C406D2C0BD00B4B9C420C +:102F900008D02C2C06D0FF2004B01CBC91469A46C9 +:102FA000A346F0BD0020F7E7F91C0000612D0000EA +:102FB00081590000A11A0000FF80FFFFAD800000D2 +:102FC000F0B5DE4657464E46C0B584B006000D004B +:102FD0001700130A019300282CD01F4B9B461F4B50 +:102FE0009A461F4B994609E0039804B01CBC9146D1 +:102FF0009A46A346F0BD0025002E1CD029003000C3 +:10300000D847009029003000D04704023C19A4B2F0 +:1030100003AA21000098C8470128E5D06B461B7918 +:103020005BB2002B07DA002DE5D130000D4B98473D +:103030000600E0E714000C4B1C40BE2C09D00B4BE3 +:103040009C4203D07E2C01D00020CEE7084B98474D +:10305000CBE70848C9E7C046F91C0000612D000015 +:10306000555A0000A11A0000FF80FFFF8E8000006B +:103070005D1C0100D8C8010070B50468A5880F2345 +:103080002B40082B13DD0B2B18DD0D2B1DDDA1793B +:103090002A002068104B9847A0600023A380A179E4 +:1030A00023002A0020680D4EB047A58070BDA1798D +:1030B0002A0020680A4B98472081EEE7A1792A0070 +:1030C0002068084B98472081E7E7A1792A0020680B +:1030D000054B98472072E0E7C12F0000291D000032 +:1030E000B12D0000712E0000152F0000F0B5DE4656 +:1030F00057464E464546E0B59DB004008B463D23FD +:10310000C35C8B4200D108E2C34B9847002808D02B +:103110003D23E25C91465A46E25400230093CA469E +:10312000B2E122000023BD48BD498847FEE773791C +:103130000422134373713D2399465246E2542A00F8 +:1031400000992000B74FB84707904B465A46E254C3 +:103150002A0000992000B8478046737904229343DF +:103160007371079B83424BD03D265346A3552A00DB +:1031700000992000AB4B9847020081465B46A3555F +:1031800029000198A84B9847012D00D194E0A74849 +:10319000A74B98470600A04B9847002800D1A0E015 +:1031A000002E2DD04B4633814346B3813460B58029 +:1031B0006B461B78B3710CA89E4B98470C969E4BA0 +:1031C0000D939E4B0E939E4B0F9300231293FF3350 +:1031D0001393069B1493059B5B421593049B180065 +:1031E000083010AA19781170013201338342F9D1E5 +:1031F0000CA83622835C01218B438354914B984762 +:10320000029B023302930C2B00D137E109AB029AE7 +:10321000D55A002DF4D003988B4B98470099200085 +:103220008A4B984706008A4B984701900F232B4002 +:10323000082B00DC7BE70B2B59DD0D2B00DDA3E019 +:1032400073790422134373713D2399465246E25425 +:103250002A00009920007F4FB84780464B465A46C7 +:10326000E2542A0000992000B8470700737904222D +:103270009343737143468342C2D03D265346A355C0 +:103280002A0000992000734B9847020007905B4684 +:10329000A35529000198704B98476448644B9847A0 +:1032A00006005D4B9847002868D0002EA8D06B46DA +:1032B0001B7F3372377379E7684B994500D133E14F +:1032C000984500D063E72000654FB847C60F361811 +:1032D000761036B22000B847C30F1B185B101BB224 +:1032E0003AE1320000235F484D498847FEE7737991 +:1032F0000422134373713D2399465246E2542A0037 +:1033000000992000584B98469847071C4B465A4650 +:10331000E2542A0000992000C0476B4698837379D5 +:10332000042293437371BFB283B29F4200D167E717 +:103330003D265346A3552A00009920004A4B984742 +:10334000071C5B46A355021C29000198474B984770 +:103350003648374B984706002F4B9847002807D030 +:10336000002E00D14CE737816B469B8BB3811DE764 +:10337000320000233B482A498847FEE732000023F9 +:10338000384827498847FEE73D2399465246E2548C +:1033900073790422134373712A0000992000344F7B +:1033A000B84708904B465A46E2542A00009920003C +:1033B000B84707000C9073790422934373710CA9EA +:1033C00008A82C4B9847002800D119E73D26534602 +:1033D000A3552A0000992000254B98478146089064 +:1033E0005B46A355020029000198234B98470F48DC +:1033F0000F4B98470600084B9847002806D0002E30 +:1034000000D1FDE64B46B360F760CFE63200002303 +:10341000144803498847FEE77D140000FC8801003A +:1034200085140000B12D0000F54C0000684D00200F +:10343000CD0501004DFA0000992700007930000009 +:10344000011E00000DFB000069570000F91C000080 +:1034500021560000152F0000B54F0000FF7F00002F +:10346000991C000094880100712E0000554E000048 +:10347000C12F00008D7F010009510000009B013326 +:10348000DBB20093402B44D000992000364B984784 +:10349000039000283DD043791B07EFD4B022009E53 +:1034A00031002000314B98470690B12231002000B6 +:1034B0002E4B98470590BE22310020002C4B984798 +:1034C0000490B22231002000284B984709AD288093 +:1034D000B32231002000254B98476880B422310088 +:1034E0002000224B9847A880B522310020001F4BB6 +:1034F0009847E880B622310020001C4B984728816D +:10350000B72231002000194B9847688100230293AD +:103510007CE6FF212000174B98471DB03CBC90462D +:103520009946A246AB46F0BD2000134FB847C60FE0 +:103530003618761036B22000B847C30F1B185B1040 +:103540001BB2711C5A1C8A4200DD0A0012B291465D +:103550000A4A904500D01AE601360133B34200DD35 +:1035600033001BB2984612E6F91C0000B12D000092 +:10357000C12F00008D250000991C0000FF7F000076 +:1035800070B504000D000A4B9847002809D03D2370 +:10359000E35C290019438B4202D02000054B984779 +:1035A00070BD22000023044804498847FEE7C04656 +:1035B0007D140000ED300000FC880100851400003F +:1035C00070B504000D000A4B9847002809D03D2330 +:1035D000E35C1900A9438B4202D02000054B9847B9 +:1035E00070BD22000023044804498847FEE7C04616 +:1035F0007D140000ED300000FC88010085140000FF +:1036000010B50400054B9847002801D0A06B10BDF1 +:1036100022000023024803498847FEE77D1400008A +:10362000FC8801008514000010B504000A4B98477F +:10363000002809D0A06B00280CD0084B9847201A0E +:1036400044426041C0B210BD220000230448054935 +:103650008847FEE70020F6E77D14000045170000CC +:10366000FC8801008514000010B50368002B0DD004 +:10367000021D01231468002C04D00133DBB2043294 +:10368000072BF7D19B001950012010BD0023F9E74B +:10369000F0B5CE4600B582B005000E001400012240 +:1036A000C84B98472080C84A31002800C74B98472C +:1036B00001900700052835D9237B002B3FD1237DBE +:1036C000002B00D06CE0237F002B00D08FE036234E +:1036D000E35C002B00D0AFE02823E35C052B00D98E +:1036E000F7E04423E35C052B00D923E1F92F22D82E +:1036F0006B469B88227B5A43120A2273227D5A43CF +:10370000120A22752821625C5A43120A62540E3151 +:10371000625C5A43120A62544422A75C5F433F0A28 +:10372000A75408E00023237323752822A3540E32E4 +:10373000A3540E32A35402B004BC9146F0BD2C2217 +:1037400031002800A14B984720730528B7D92922BA +:10375000310028009E4B98476080232231002800CA +:10376000984B9847C0B2A071002806D120223100A2 +:103770002800944B98476073A1E72A223100280063 +:10378000934B9847A0802122310028008D4B994609 +:1037900098472081222231002800C8476081E5E750 +:1037A000302231002800874B98472082002800D122 +:1037B00089E73C2231002800844B98472075052872 +:1037C00006D83222310028007E4B984760757AE790 +:1037D0003122310028007B4B9847FF23184060823C +:1037E0003922310028007A4B9847E081E9E74022EE +:1037F00031002800734B98472083002800D166E7EA +:103800004C2231002800714B98472077052806D8B4 +:103810004222310028006B4B9847607757E74122DE +:1038200031002800674B9847608349223100280007 +:10383000674B9847E082EBE76E2231002800654B2A +:103840009847E062002800D146E76C22310028004A +:103850005E4B98473623E054052800D83CE76D229C +:1038600031002800594B98473723E054612231003A +:103870002800544B98470300581E83413822A05C0F +:10388000012188431843A054E06A534B984702280B +:103890000BD03723E35C052B14D8602231002800BD +:1038A000484B98473923E05416E769223100280035 +:1038B000474B9847A086494A31002800454B984716 +:1038C0002063EAE7692231002800414B9847A0862F +:1038D000E3E75022310028003A4B98472084002823 +:1038E00000D1FEE65C2231002800384B984728239F +:1038F000E054052800D8F4E6512231002800314B6D +:10390000994698476084522231002800C847A08415 +:10391000532231002800C847E08459223100280092 +:103920002B4B9847E083542231002800C8472923B5 +:10393000E054D6E67F2231002800264B9847E0630A +:10394000002800D1D2E67C22310028001F4B984786 +:103950004423E054052800D8C8E67322310028002B +:10396000184B994698474823E052742231002800AA +:10397000C8474A23E052792231002800144B984767 +:103980004623E0527E2231002800124B98472064E3 +:10399000702231002800C8474C23E05271223100C8 +:1039A0002800C8474E23E052752231002800C8473E +:1039B0005023E054722231002800C8475123E054BC +:1039C00094E6C046B12D00000C800000152F0000C9 +:1039D000712E0000C12F0000618100008E80000068 +:1039E000F0B59BB004000E00022A07D0002A61D077 +:1039F0000020012A00D1B5E01BB0F0BD0021814BB1 +:103A0000984703000320002BF6D10122002120005B +:103A10007C4FB8470190042200212000B8470500E0 +:103A2000052200212000B84727001037002305A9F0 +:103A3000FA5C5A540133082BFAD1ADB205A90B88B0 +:103A40005B1B0B808B88ED188D8080B24B881B1A16 +:103A50004B80CB88C018C880019A30006A4B9847C9 +:103A600003000220002BC7D02C2200212000674B2E +:103A7000984703000220F92BBED920220021200004 +:103A8000604B9847C3B20220002BB5D132220021EF +:103A900020005C4B9847C3B20220002BACD15C4A9B +:103AA00000212000594B98470023F92282425B41B4 +:103AB000581CA1E705A8574B984733220021200046 +:103AC000504B9847002802D0002205AB1A7505AA72 +:103AD00000212000504B9847042200212000494F2C +:103AE000B8470500052200212000B84727001037FD +:103AF000002303A9FA5C5A540133082BFAD1ADB262 +:103B000003AB1A88521B1A809A88AD189D8080B228 +:103B10005A88121A5A80DA888018D88005AA31008B +:103B200018003E4B9847022200212000354B984751 +:103B3000002801D100205FE71C20394B9847050081 +:103B40000122002120002F4B98470200002339005A +:103B50002800344EB04798239B00E1182800324BD0 +:103B60009847E7E7013200212000264B98470028BC +:103B700040D1332200212000224B9847030000202F +:103B8000002B00D138E705AD2800224B98470023D1 +:103B90002B733622AB540E3AAB542A00002120007E +:103BA0001D4B9847042200212000164FB8470500FE +:103BB000052200212000B8471034002303A9E25C4D +:103BC0005A540133082BFAD1ADB203AB1A88521BF9 +:103BD0001A809A88AD189D8080B25A88121A5A802D +:103BE000DA888018D88005AA310018000B4B984756 +:103BF000002001E798239B00E0180C4B98470C4BE2 +:103C00009847B6E7B12D00009DFE0000152F00007B +:103C10000C80000021AB000091360000C5AB000015 +:103C2000C10E010055A80000EDA5000095A60000FA +:103C3000D50B0100F0B5DE4657464E46C0B58AB0FA +:103C4000040004915022784B98470600051E30D19D +:103C50007F22049F39002000744B9847061E06D02F +:103C60007C2239002000724B9847052850D840220A +:103C7000049920006C4B9847061E00D0C0E0042237 +:103C800004992000684FB8470600052204992000D7 +:103C9000B847031CB04200DA331C1AB2002A01DD17 +:103CA000ED182DB228000AB01CBC91469A46A346D6 +:103CB000F0BD5C22049920005D4B98470025052843 +:103CC000C6D95322049D29002000574FB847F30F4F +:103CD0009E19761001363618B6B251220495290085 +:103CE0002000B8470500522204992000B847EA177F +:103CF000AB185340C21780185040984200DA1800A1 +:103D00003018031C020401D41DB2A1E70023FBE715 +:103D10007022049F39002000434B99469847059034 +:103D2000702239002000C84783467E22049739005C +:103D300020003E4B9847020006AF00218A460291C0 +:103D40003C4B019359460091059B310038003A4E97 +:103D5000B04708AE5346338073803B88013BB38045 +:103D60007B88013BF3807522049F39002000C847FF +:103D70000590732239002000C8478246742239001A +:103D80002000C847814607AA13006A46127D20001A +:103D9000103005933100294FB847059A13885344D2 +:103DA0009BB252884A4492B21020215E36889E19F6 +:103DB00036B28E1BAE4200DA2E001221605E08A9D8 +:103DC0004988511809B236B2411AB14200DA3100BD +:103DD00008A880881B181BB21425605F09B21B1A43 +:103DE0008B4200DA0B0008A9C988521812B21620BB +:103DF000215E1BB2521A9A4200DA1A0015B236E757 +:103E00004C22049920000A4B9847052800D836E731 +:103E1000412204992000044B98478619AE4200DAEB +:103E20002E0035B22BE7C046B12D0000C12F000097 +:103E3000152F0000187C0000E51A010041FF00006A +:103E400010B5040008291BD0072924D0012927D048 +:103E500006292BD0032935D004293DD00B293FD08A +:103E60000B000D3B012B40D9162943D0172957D001 +:103E7000012000290AD120002C4B9847012005E0A1 +:103E80001378002B03D128345460012010BD002387 +:103E900053600120FAE726491000264B9847F5E7C2 +:103EA000254B984701235840C0B2EFE70021234B30 +:103EB0009847638E1A1C1BB2834200DA021C62868A +:103EC0000120E3E74923C35C0120DB07DED52000A6 +:103ED0001B4B98470120D9E71A4B98470120D5E79B +:103EE0000531194B98470120D0E71021174B98470F +:103EF0000120CBE7164B9847164B9847002805D072 +:103F000006212000104B98470120BFE70221200026 +:103F10000D4B9847042120000C4B98470120B5E732 +:103F200011390A4B98470120B0E7C046D51D000063 +:103F30000C890100693600002D2D0000353C000081 +:103F4000E52400006D1A000081350000C135000035 +:103F5000013600005B170000F0B5CE4600B582B018 +:103F6000040001900D00103100221F4B98470028DB +:103F700027D03423EB5CDB0625D42B6A002B28D01A +:103F80000222210028009847814603281DD02E1DBB +:103F90003000164B9847041E0BD0154F2100019896 +:103FA000FFF7DAFF002808D121003000B847041ECF +:103FB000F4D100204B46012B09D002B004BC91463D +:103FC000F0BD0020F9E70020F7E70020F5E7280022 +:103FD000F3E72E1D3000054B984704000223994655 +:103FE0000028DAD1E9E7C0469DFE00006D06010019 +:103FF00085060100F0B5D6464F4680B58DB0070066 +:104000000D003423C35CDB0604D50DB00CBC914617 +:104010009A46F0BD3223C65E06AC21002E4B98476F +:10402000B3B22288D21A22806288D21A6280A28811 +:104030009A18A280E2889B18E3802200290008A831 +:10404000264B98470028E0D03B6A002B03D0002283 +:1040500008A93800984706A938001F4B984706AAB8 +:1040600029000AA81D4B9847002807D13B6A002B5E +:10407000CBD0012208A938009847C6E73B1D019321 +:104080001800174B9847051EF0D0134B9A46134B58 +:104090009946144E04E029000198B047051EE5D06A +:1040A00004AC21002800D0476B8E2288D21A2280CF +:1040B0006288D21A6280A2889A18A280E2889B182D +:1040C000E38022000AA902A8C8470028E3D002A979 +:1040D0002800FFF78FFFDEE7D51B00000FFC000074 +:1040E00079060100AD060100F0B5D64600B582B0F4 +:1040F000041E01910DD0019920001A4B9847200011 +:10410000194B9847051E0AD0184B9A46154E1F00AA +:1041100010E0174B1868174B9847041EEBD102B0FC +:1041200004BC9246F0BD28000F4B98472C00002895 +:10413000F5D005002B1D009321001800D047041E68 +:1041400007D001992000B04721000098B847041E0D +:10415000F7D12B6A002BE6D001220199280098475D +:10416000E1E7C046F53F0000A11A0000AD060100DE +:10417000E8260020AD14000070B51C4D28681C4BCB +:104180009847040028681B4B984700280DD101234D +:10419000A361164B186843681A6AD2070FD51B6AC9 +:1041A0009B070CD50123E3610BE0104D2868A36940 +:1041B000002BECD0C369002BF9D09847F6E7002319 +:1041C000E361C368002B03D021001031A268984737 +:1041D0002368002B06D06268002A03D0A1688B42B6 +:1041E00001D0A36070BDA260FCE7C046E8260020B5 +:1041F00009F700000DF7000070B582B005001C4EF5 +:1042000030681C4B9847040030681B4B98470028C7 +:1042100009D1174E3068A369002B04D0C369002B65 +:10422000F9D09847F6E72200103229006846134B70 +:1042300098470F4C2068124B984701006846114B75 +:1042400098476946104DA8472068104B9847694623 +:10425000A84720680E4B98476946A84720680D4B31 +:104260009847002801D002B070BD0B4B9847FAE781 +:10427000E826002009F700000DF700000FFC000001 +:10428000AD140000593F0000E9400000C9140000CF +:10429000E514000025F70000794100007047000098 +:1042A000F0B585B005000E00002857D0002E5AD07A +:1042B00002AC0023238063802800374B98470138E5 +:1042C000A0802800354B98470138E080220031005B +:1042D0006846334B984700284BD02B69002B02D0FF +:1042E000694628009847B4235B00EB5A9B059B0D59 +:1042F000002B14DD002100242A4EB4277F00093151 +:10430000C900691800226846B047002831D101343D +:10431000A4B22100EB5B9B059B0D9C42EFDB1F2BA6 +:1043200029DC0933DB00EB1800226946515C995403 +:104330000132082AF9D1B42149006B5A9A0580202C +:10434000C00384466244920D9B0A9B0213436B5246 +:10435000E86A6639FF39144B98470AE0134B9847CF +:10436000051E06D0A2E7B4225200AB5A9B0A9B025C +:10437000AB5205B0F0BDB4225200AB5A9B0A9B026F +:10438000AB5228004830002302A95A5CC2540133C2 +:10439000082BFAD1CFE7C04615F600003DF6000025 +:1043A0000FFC00009DFE00004915010009F6000009 +:1043B000014B18687047C046E8260020F0B5DE467D +:1043C00057464E464546E0B589B00500C74B98476D +:1043D0000590C74CEB68236000212800C54B984727 +:1043E0002068C36B002B0ED0B4235B00C35A9B051F +:1043F00048270026002B00D184E2BD4B9846BE4BD7 +:104400009A46C34656E0B4225200835A9B0A9B0246 +:1044100083526DE200194930FF30073B03700134CD +:10442000B34B1868B4235B00C35A9B059B0D9C4299 +:1044300035D203194933FF331B78002BEFD1A64245 +:10444000EDD025000935ED004119C019D0470028ED +:10445000E5D05B4619684A19C91906A8A74B9847C1 +:1044600006A8A74B9946984700905B461B68D81949 +:10447000C84701905B461B685819C847019B9C467A +:104480006044009B8342CAD2994B1868C11900232B +:1044900006AA9A5CCA540133082BF9D1BAE701364F +:1044A000934B1868B4235B00C35A9B059B0D0837D8 +:1044B0009E420FD280194930FF300378002BEED195 +:1044C00043461868B4235B00C35A9B0500D1FBE147 +:1044D0000024AEE700218B4A1160B4225200825AB8 +:1044E000920500D1F8E11A00013A04922DD4049902 +:1044F00042184932FF321278002A0DD04733FF3379 +:10450000C3180A00013A05D3013B59780029F9D1B3 +:10451000049201E00023049341682023CA5C012433 +:10452000A243CA544168CA5C02208243CA54704BF9 +:104530001C68B4235B00E35A9B0500D1CCE14823FF +:10454000019300239B46270044E000230493E3E704 +:10455000796820228B5C012003438B5444E0644C37 +:104560002068694B98470500002606822068674B43 +:1045700098470138A8826E822068654B98470138B9 +:10458000E8822368596820228B5C022003438B5405 +:104590000098604B9847564B18688369002B09D0E8 +:1045A000019B9C466044564B9847564B1A6894466C +:1045B0006044186001239C46E3444D4B1F68019BF7 +:1045C00008330193B4235B00FB5A9B059B0D9B456D +:1045D00000DB81E15B46FB184933FF331B78002B7E +:1045E000E8D1049B5B45B3D0796820228B5C022024 +:1045F00083438B54019B9C46BC4463460093380024 +:10460000454B98470028AAD1394B9A4618683E4B2B +:10461000984706005B46DB00FF184C23FC5A013428 +:10462000043BFB5AE41A23B298464E23FC5E651CF9 +:104630004A23FB5AED1A2DB253461868344B98475B +:10464000844231DA4E23FB5E99464146F068334B93 +:104650009847A846854200DD8046254B1B681B69AC +:10466000002B2FD0002306AA13809380538043464B +:104670001DB21F4B9A464346B0461E006C1E24B224 +:1046800006ABDC8053461868036906A9984706AB59 +:104690000621595E4B1C06AA52889B1A1BB29E42E9 +:1046A0000ADA251EEADC76E7114B1868184B9847A2 +:1046B000013803B29946C8E74646002D00DC6AE798 +:1046C0004B1C98464A23FC5E4B4602934346E31834 +:1046D000013B4B4567DC43466A46938193899A4682 +:1046E000013B03934B46B9461F0026E08DF70000BF +:1046F000E82600204915010059FE00007DFC00005D +:10470000F3FB0000EC26002009F7000015F600007E +:104710003DF60000F941000025F70000F1790100A5 +:10472000AF421CD000987D4B9847544424B2434676 +:10473000E318013B029A93421ADC48234A46D35EAF +:1047400033824C234A46D35EB3827482A4B2039B65 +:10475000E5182DB2F582AF42E2DAF7823D00704BE8 +:104760001B68596820228B5C022003438B54D9E7D5 +:104770003B004F469946A94500D10CE74823FB5E14 +:1047800033824C23FB5EB38274824B46F382644BCC +:104790001B68596820228B5C022003438B540098CD +:1047A0005E4B9847F7E60025E5E75E4B9847002803 +:1047B00004D05B4B18684369002B1FD0584C20680D +:1047C000483080214900584DA84720684930FF30C3 +:1047D0002021A8472168B42252008B5A9B0A9B02D1 +:1047E0008B520598514B9847010020688369002B34 +:1047F00000D179E04E4A1268984775E04D4B9847D2 +:1048000004004D4B9847A369002BFCD1A3689B463D +:10481000236899469B4501D163689946404C2068BE +:10482000464B984700902368B42252009A5A92054A +:10483000C4D042009246002635000BE00136B6B2E5 +:104840003500374B1B68B42252009A5A9205920DDC +:104850009642B3DA5A194932FF321278002AEDD162 +:10486000EA009B184A229F5E48229A5E009C7C4385 +:10487000A41864004C215B5A01339B1A1BB25B00E5 +:1048800001932B000933DB00254A126802929446FB +:10489000634406229B5EBB42D0DBA046D8444C4416 +:1048A0000935ED00019A21004046254B9847013714 +:1048B0003FB2D04454441A4B1B6802935B19062242 +:1048C0009B5EBB42EEDAB9E70022194B1A60B423B3 +:1048D0005B00C35A9B0512D1114B1868B4235B00CF +:1048E000C35A9B0500D060E7164B9847164B984774 +:1048F00009B03CBC90469946A246AB46F0BD0023A9 +:10490000049309E600220A4B1A60B4235B00C35AE1 +:104910009B05E9D000230493FEE5C046F941000061 +:10492000E826002025F700004D100100A9F700003F +:10493000EC26002009F700007941000015F6000080 +:104940008D0C0100350C01003DF4000010B5042170 +:10495000014B984710BDC0464D10010010B508210D +:10496000014B984710BDC0464D10010070B50400C2 +:104970000D000679002E45D00068036899420CD0DE +:10498000031D721ED2B20132920082189A4239D0AF +:104990000433191F0968A942F8D1012E10D0711EE5 +:1049A0008900194B98470600184B9847002811D0EA +:1049B000002E27D02279002A21D00021002314E0E4 +:1049C000134B98470023236023716379012293439B +:1049D000637117E0320000230E480F498847FEE755 +:1049E0000133DBB222799A4209D99A002068125821 +:1049F0009542F5D0880082510131C9B2F0E7013A01 +:104A00002271266070BDC046450E01007D14000075 +:104A1000390B0100948801008514000070B5050071 +:104A20000C00002830D01F4B98472B79002B2CD13D +:104A300004201D4B9847060030001C4B9847002867 +:104A40002AD0002E20D06B795908012211401A4239 +:104A500000D001312A79914210D2154BD3189B0016 +:104A6000F31814481018013A521AD2B2821A92005E +:104A7000B21818685860043B9342FAD189008C51EF +:104A80002B7901332B712E6070BD0133990028689A +:104A9000094B98470600CFE7320000230748084932 +:104AA0008847FEE76D490000710A01007D1400008F +:104AB000FFFFFF3FFEFFFF3F450E0100948801000E +:104AC0008514000070B505004279D3070FD5062381 +:104AD0001340063B5A425341DBB20279002A22D0EE +:104AE0009A4222D902689B009C58200070BD042085 +:104AF0000F4B984704000F4B984700280DD0002C0F +:104B0000F3D020000C4B9847210028000B4B98470E +:104B10006B79012213436B71E7E7220000230848F9 +:104B200008498847FEE70024DFE70024DDE7C046A8 +:104B3000710A01007D1400004D4900001D4A00006B +:104B4000948801008514000010B504000068024B31 +:104B500098470023236010BD390B010010B5016890 +:104B6000002919D00B78FF2B12D000200F2403E06E +:104B7000901C0B5CFF2B0CD02340821C082BF7DD14 +:104B8000821C0B2BF4DD021D0D2BF1DC421CEFE728 +:104B90000020023080B210BD0020FCE770B5060096 +:104BA0000C1E0DD00B68002B0AD00800054B98474F +:104BB0000500054B9847306021682A00034B984751 +:104BC00070BDC0465D4B0000710A01008D0C0100F4 +:104BD000F0B5DE4657464E464546E0B585B0061E62 +:104BE000039100D17BE00068002800D17BE0CCB2CB +:104BF0000B0A9846191C0378FF2B4ED00122524213 +:104C00000292934600227F25AA464906490E8C4609 +:104C1000703DC146B0461CE0811849784F464F4070 +:104C200056463E420DD04906490E01910F00664698 +:104C3000B74310D159450EDD09B28B4611B202912E +:104C400009E04346C8461E0015E08A1C835CFF2B22 +:104C50000DD09C42E0D02B40911C082BF5DD911C1F +:104C60000B2BF2DD111D0D2BEFDC511CEDE7434644 +:104C7000C8461E00029A002A33DB140080184378CD +:104C800042465A40130000205B060AD005B03CBCE7 +:104C900090469946A246AB46F0BD01235B42029383 +:104CA000E8E73000114B98470F23039A1340042183 +:104CB0000B2B03DD01390D2B00DD03310D00411AF3 +:104CC0008C4206D233685A19125D1A5501348C424F +:104CD000F8D13068064B984730600120D6E70020B5 +:104CE000D4E70020D2E70020D0E7C0465D4B0000AB +:104CF000450E0100F0B5DE4657464E464546E0B546 +:104D000087B0060002ABD98003AB1A800468002C80 +:104D100058D0CDB20B0A9A46191C2378FF2B4DD0E0 +:104D2000012252429046944600227F208346490643 +:104D3000490E8946703802961AE0A11849785646FD +:104D40004E405F4637420DD04906490E01910E0094 +:104D50004F46BE430ED161450CDD09B28C4611B2FF +:104D6000884607E0029E13E08A1CA35CFF2B0DD04F +:104D70009D42E2D00340911C082BF5DD911C0B2BCA +:104D8000F2DD111D0D2BEFDC511CEDE7029E4246BA +:104D9000002A17DBA3185B7855465D406B0611D1DE +:104DA0000232A41803AB1A7822705B78637007B0E4 +:104DB0003CBC90469946A246AB46F0BD01235B42FF +:104DC0009846E4E7FF220E2302A98C4663441A802A +:104DD00030001B4B9847002800D10230043085B2C8 +:104DE00029002000174B98473060174B9847002840 +:104DF00020D0002EDBD0AB1F32689446634402AA59 +:104E000091790632197052785A702B1F3268944685 +:104E1000634403AA1178197052785A70023D3368BE +:104E20005D190E2302AA944663441A782A705B78AF +:104E30006B70BCE732680023044805498847FEE7E9 +:104E40005D4B0000450E01007D14000094880100B8 +:104E500085140000F0B5DE4657464E464546E0B59F +:104E600087B0060003AB1A8002ABD9800468002C1F +:104E700058D0CDB20B0A9A46191C2378FF2B4DD07F +:104E8000012252429046944600227F2083464906E2 +:104E9000490E8946703802961AE0A118497856469C +:104EA0004E405F4637420DD04906490E01910E0033 +:104EB0004F46BE430ED161450CDD09B28C4611B29E +:104EC000884607E0029E13E08A1CA35CFF2B0DD0EE +:104ED0009D42E2D00340911C082BF5DD911C0B2B69 +:104EE000F2DD111D0D2BEFDC511CEDE7029E424659 +:104EF000002A17DBA3185B7855465D406B0611D17D +:104F00000232A41803AB1A7822705B78637007B082 +:104F10003CBC90469946A246AB46F0BD01235B429D +:104F20009846E4E7FF220E2302A98C4663441A80C8 +:104F300030001B4B9847002800D10230043085B266 +:104F400029002000174B98473060174B98470028DE +:104F500020D0002EDBD0AB1F32689446634402AAF7 +:104F600091790632197052785A702B1F3268944624 +:104F7000634403AA1178197052785A70023D33685D +:104F80005D190E2302AA944663441A782A705B784E +:104F90006B70BCE732680023044805498847FEE788 +:104FA0005D4B0000450E01007D1400009488010057 +:104FB00085140000F0B5DE4657464E464546E0B53E +:104FC00087B00600019202ABD9800468002C55D04E +:104FD000C8B20B0A9A46191C2378FF2B4AD001222B +:104FE00052429046944600227F25AB464906490E20 +:104FF0008946703D02961AE0A118497856464E40FF +:105000005F4637420DD04906490E00910E004F46CB +:10501000BE430ED161450CDD09B28C4611B2884603 +:1050200007E0029E13E08A1CA35CFF2B0DD0984280 +:10503000E2D02B40911C082BF5DD911C0B2BF2DDEF +:10504000111D0D2BEFDC511CEDE7029E4246002A9C +:1050500014DBA3185B785046584043060ED1A218C3 +:105060006B461B79937007B03CBC90469946A246AC +:10507000AB46F0BD01235B429846E7E7FF220E23D3 +:1050800002A98C4663441A8030001A4B98470028C6 +:1050900000D10230033085B229002000164B98471A +:1050A0003060164B984700281DD0002EDBD06B1FB8 +:1050B00032689446634402AA917906321970527894 +:1050C0005A7033685B19033B6A4612791A70023DC5 +:1050D00033685D190E2302AA944663441A782A7035 +:1050E0005B786B70BFE73268002305480549884745 +:1050F000FEE7C0465D4B0000450E01007D14000038 +:105100009488010085140000F0B5DE4657464E46EF +:105110004546E0B587B00600029202ABD98004682C +:10512000002C5FD0CDB20B0A9A46181C2378FF2BB7 +:1051300054D0012252429046944600227F218B4651 +:105140004006410E89460F2101961AE0A0184078CA +:10515000564646405F4637420DD04006400E00900E +:1051600006004F46BE430ED160450CDD00B28446BA +:1051700010B2804607E0019E13E0821CA35CFF2B67 +:105180000DD09D42E2D00B40901C082BF5DD901C09 +:105190000B2BF2DD101D0D2BEFDC501CEDE7019EFB +:1051A0004246002A1EDBA3185B7855465D406B061D +:1051B00018D10232A41802AB1B78237002AB5B78C3 +:1051C000637002AB9B78A37002ABDB78E37007B02F +:1051D0003CBC90469946A246AB46F0BD01235B42DB +:1051E0009846DDE7FF220E2302A98C4663441A800D +:1051F00030001F4B9847002800D10230063085B29E +:10520000290020001B4B984730601B4B9847002813 +:1052100028D0002EDBD02B00083B32689446634434 +:1052200002AA91790632197052785A70AB1F32680F +:105230009446634402AA12781A7002AA52785A70ED +:1052400002AA92789A7002AAD278DA70023D336884 +:105250005D190E2302AA944663441A782A705B787B +:105260006B70B4E732680023044805498847FEE7BD +:105270005D4B0000450E01007D1400009488010084 +:1052800085140000F0B5DE4657464E464546E0B56B +:1052900085B08146039200285BD00568002D5BD065 +:1052A000CEB2090A081C2B78FF2B4ED001225242A5 +:1052B0000292934600227F24A2464006400E844676 +:1052C0000F2788461AE0A8184078444644405146C3 +:1052D00021420DD04006400E0190040061468C43EF +:1052E0000ED158450CDD01B28B4611B2029107E098 +:1052F000414613E0821CAB5CFF2B0DD09E42E2D0F6 +:105300003B40901C082BF5DD901C0B2BF2DD101D93 +:105310000D2BEFDC501CEDE74146029A002A1EDB04 +:10532000931CED182B78039803706B7843704B46F1 +:105330001B689A1850784906490E084005B03CBCD5 +:1053400090469946A246AB46F0BD01235B420293CC +:10535000E3E701204042F1E701204042EEE701206F +:105360004042EBE7F0B5DE4657464E464546E0B5CF +:1053700085B081460392002858D00568002D58D08A +:10538000CEB2090A081C2B78FF2B4BD001225242C7 +:105390000292934600227F24A2464006400E844695 +:1053A0000F2788461AE0A8184078444644405146E2 +:1053B00021420DD04006400E0190040061468C430E +:1053C0000ED158450CDD01B28B4611B2029107E0B7 +:1053D000414613E0821CAB5CFF2B0DD09E42E2D015 +:1053E0003B40901C082BF5DD901C0B2BF2DD101DB3 +:1053F0000D2BEFDC501CEDE74146029A002A1BDB27 +:10540000AD18AB78039803704B461B689A18507818 +:105410004906490E084005B03CBC90469946A24654 +:10542000AB46F0BD01235B420293E6E70120404218 +:10543000F1E701204042EEE701204042EBE7F0B502 +:10544000DE4657464E464546E0B585B08146039256 +:1054500000285BD00568002D5BD0CEB2090A081C7D +:105460002B78FF2B4ED0012252420292934600220B +:105470007F24A2464006400E84460F2788461AE045 +:10548000A818407844464440514621420DD0400679 +:10549000400E0190040061468C430ED158450CDD4E +:1054A00001B28B4611B2029107E0414613E0821C23 +:1054B000AB5CFF2B0DD09E42E2D03B40901C082BF2 +:1054C000F5DD901C0B2BF2DD101D0D2BEFDC501CBD +:1054D000EDE74146029A002A1EDB931CED182B785B +:1054E000039803706B7843704B461B689A1850788A +:1054F0004906490E084005B03CBC90469946A24674 +:10550000AB46F0BD01235B420293E3E7012040423A +:10551000F1E701204042EEE701204042EBE7F0B521 +:10552000DE4657464E464546E0B585B08146934631 +:1055300000285FD00668002E5FD0CFB20A0A111C87 +:105540003378FF2B52D00120404203900290002478 +:10555000803082464906490E8C460F2190461BE05A +:105560003219507842464240554615420ED0400608 +:10557000400E01900500624695430FD1029A904279 +:105580000CDD02B2029222B2039207E0424613E01F +:10559000941C335DFF2B0DD09F42E1D00B40A21C29 +:1055A000082BF5DDA21C0B2BF2DD221D0D2BEFDCF1 +:1055B000621CEDE74246039C002C21DB20000234F4 +:1055C000361900235C46F15CE1540133042BFAD117 +:1055D0004B461B681B1858785206520E104005B0F7 +:1055E0003CBC90469946A246AB46F0BD01235B42C7 +:1055F0000393E0E701204042F1E701204042EEE75B +:1056000001204042EBE74379DA0707D59B0702D434 +:1056100003681868704703685868FBE70020F9E7DB +:1056200043799B0702D50368186870470020FCE7A0 +:1056300070B5041E26D04379DB0708D5144B984774 +:10564000051E04D0134B98472800134B98476379E5 +:105650009B0709D52000114B9847051E04D00D4B20 +:10566000984728000C4B98472379002B0BD1002337 +:105670002360237163790122934301329343023201 +:105680009343637170BD2068034B9847EFE7C046B2 +:1056900007560000494B0000390B0100215600005D +:1056A00070B505000C002B4B98472368002B3ED0AB +:1056B0006379DA071FD49B0710D520790138800061 +:1056C000254B984728602279013A92002368191DDA +:1056D000224B98472379013B2B7128E020798000E9 +:1056E0001D4B984728602279920021681B4B9847F0 +:1056F00023792B711BE09B071AD520790238800093 +:10570000154B984728602279023A920021680831A7 +:10571000124B98472379023B2B712800104DA84764 +:1057200006002000A847010030000E4B984770BDCE +:10573000207901388000084B984728602279013A87 +:1057400092002368191D054B98472379013B2B7163 +:10575000E3E7C04631560000710A01008D0C0100DC +:10576000C54A00009D4B000070B5050043799B07BA +:1057700004D5144B98470400200070BD0420124B40 +:1057800098470400114B9847002815D0002CF3D0FF +:1057900020000F4B9847210028000E4B98476B794B +:1057A000022213436B71DB07E6D52B681A68596830 +:1057B00019602B685A60DFE722000023064807497A +:1057C0008847FEE721560000710A01007D140000A1 +:1057D0004D4900001D4A0000948801008514000016 +:1057E000F0B5D6464F464646C0B584B0051E019179 +:1057F000914658D00368002B57D00B0A98460022D8 +:1058000002ABDA800279002A42DD002401267642CA +:1058100006239A46264F16E00131C9B219E002ABC1 +:1058200006331B884A461380012036E0B34205DD6B +:1058300002AB06331B884A4613800600013424B2AB +:105840002A79944226DAE1B26B7950460340062B5E +:10585000E2D00020002A04D0914202D289002B68B5 +:10586000C85802AB9A1D0199B84703008045D6D0AD +:105870006A799107DAD50028D8DB002CD6D15207F7 +:10588000D4D402AB06331B884A461380012004E0BF +:1058900001267642F04380B2C00B04B01CBC904697 +:1058A0009946A246F0BD0020F7E70020F5E7C04684 +:1058B00085520000F0B5D6464F464646C0B584B086 +:1058C000051E0191914654D00368002B53D00B0A5A +:1058D0009846002203AB1A800279002A3EDD00249C +:1058E0000126764206239A46244F14E00131C9B2BC +:1058F00017E003AB1B884A461380012033E0B34214 +:1059000004DD03AB1B884A4613800600013424B231 +:105910002A79944224DAE1B26B7950460340062B8F +:10592000E4D00020002A04D0914202D289002B68E2 +:10593000C85803AA0199B84703008045D9D06A79AD +:105940009107DCD50028DADB002CD8D15207D6D459 +:1059500003AB1B884A461380012004E001267642EF +:10596000F04380B2C00B04B01CBC90469946A246DE +:10597000F0BD0020F7E70020F5E7C0463F540000E7 +:10598000F0B5D6464F464646C0B584B0051E0191D7 +:10599000914658D00368002B57D00B0A9846002236 +:1059A00002ABDA710279002A42DD00240126764238 +:1059B00006239A46264F16E00131C9B219E002AB20 +:1059C00007331B784A461370012036E0B34205DDE9 +:1059D00002AB07331B784A4613700600013424B229 +:1059E0002A79944226DAE1B26B7950460340062BBD +:1059F000E2D00020002A04D0914202D289002B6814 +:105A0000C85802ABDA1D0199B84703008045D6D0CB +:105A10006A799107DAD50028D8DB002CD6D1520755 +:105A2000D4D402AB07331B784A461370012004E03C +:105A300001267642F04380B2C00B04B01CBC9046F5 +:105A40009946A246F0BD0020F7E70020F5E7C046E2 +:105A500065530000F0B5D6464F464646C0B584B003 +:105A600005000191170000284CD00368002B4BD093 +:105A70000B0A98460279002A39DD00240126764275 +:105A800006239A46214B994610E00131C9B213E032 +:105A9000039B3B6001202FE0B34202DD039B3B6090 +:105AA0000600013424B22A79944222DAE1B26B79F9 +:105AB00050460340062BE8D00020002A04D0914233 +:105AC00002D289002B68C85803AA0199C84703006D +:105AD0008045DDD06A799107DED50028DCDB002C1B +:105AE000DAD15207D8D4039B3B60012004E00126A1 +:105AF0007642F04380B2C00B04B01CBC904699467D +:105B0000A246F0BD0020F7E70020F5E71F55000092 +:105B1000F0B5051CCB06DB0E4F05BF0E0904C90E00 +:105B2000052A3DD92804C00E40181F2800D91F207F +:105B30001F240440A4466E05B60EF6193F2E00D968 +:105B40003F263F242640ED06ED0EED181F2D00D90F +:105B50001F251F242C40FF2A27D0FF25AD1A5443B0 +:105B60006B43E3181802C018C001C0180001564367 +:105B70006F43F7193E02F619F601F619F600B60E54 +:105B80007601C00E63465A436943521811028918C0 +:105B9000C9018A18D20DD2B2D20230431043F0BDEF +:105BA0007801C90218430843F9E770016346DA0235 +:105BB00020431043F3E7F0B5C64600B5051CC80600 +:105BC000C30E98464F05BF0E0904C90E052A41D9D8 +:105BD0002804C00E081AC343DB1718401F230340D4 +:105BE0009C466E05B60EB81BC343DB1718403F2614 +:105BF0000640ED06ED0E43465D1BE843C017054029 +:105C00001F242C40FF2A2BD0FF25AD1A54434046B9 +:105C10006843241820020019C001001900015643EE +:105C20006F43F7193E02F619F601F619F600B60EA3 +:105C30007601C00E63465A4369435218110289180F +:105C4000C9018A18D20DD2B2D2023043104304BC2B +:105C50009046F0BD7801C902034318000843F6E7F7 +:105C600076016346D80234432043F0E7F0B5DE46C0 +:105C700057464E464546E0B593B004000D006946D0 +:105C80008A8206931CAB1F781DAB1B789B461EAB0C +:105C90001E785B46042B01D9002F06D113B03CBC03 +:105CA00090469946A246AB46F0BDBF4B9847824608 +:105CB000BE4B98478046836804932A00210010A8B1 +:105CC000BB4B98470028E9D043461A8A10AB198885 +:105CD000891A89B20B918C4608B20A901880404606 +:105CE000418A5D886D1A2DB25D809888801A80B2D5 +:105CF0009880DA88521A12B29146DA80069A002AFF +:105D000018D053461B7ADB0714D4411C6346C91ACA +:105D100009B200290EDD13009446614480240A9ADA +:105D200094461A78944292411A7001338B42F8D10A +:105D300063460A9353465B69002B00D18CE06B46A7 +:105D40009E8A994B9847050043469B8A01334246F9 +:105D5000128A9B1A1BB20593012F46D010AA00236A +:105D6000D15E069B5B1A9846938801335B1A1BB27F +:105D700008930221535E190007930623D35E9942CC +:105D800000DD8BE710AF01AB9A46B14646460023D3 +:105D9000FC5E0422BB5E9C421BDC6B461C229B5EAD +:105DA0009846069623B2069A125D59464A43120A4D +:105DB000029252464946118042460092059A049941 +:105DC00028006E69B04701340422BB5E9C42E9DDC5 +:105DD000069E089B9C466644079B01331A00079366 +:105DE00006217B5E9A42D2DD58E710AB02215A5E53 +:105DF000924606229B5E9A4500DD4FE710AC01AB50 +:105E00009946B0460023E75E0422A35E9F421BDC56 +:105E100053461EB2424669460A83B0463BB25A46D2 +:105E200002924A466946098B118042460092059AC1 +:105E3000049928006E69B04701370422A35E9F428F +:105E4000ECDD6B461B8B984601239C46E244062200 +:105E5000A35E9A45D6DD21E7002E01D000F027FC95 +:105E60006B469B8A6A4613844F4B9847040043460F +:105E70009D8A01351B8AED1A2DB210A80023C15E40 +:105E8000838801335B1A1BB20B930A930623C25E0D +:105E90000223C35E561CF61A36B20E960C936B4361 +:105EA0005B185B0004998C4663440793012F1ED056 +:105EB0005B46FA2B00D927E10C9B934200DDEDE60F +:105EC000079B1A886B46998A0B04DB0E05934B05DA +:105ED0009B0E0893CB06DB0E9C466B000F931300C2 +:105EE0000026002089B20E9102009946D0E35B465D +:105EF000FA2B24D9636A002B04D010A82D4B9847A5 +:105F0000F02812D86D0000240E9B002B00DCC5E6A3 +:105F1000294E079F0B9A6B46198C3800B0477F19A2 +:105F200001340E9BA342F5DCB8E66B469A8A1A80D0 +:105F3000666A10AB2A0004992000B047AEE6236AD7 +:105F4000002B3DD010A81B4B9847F02838D90A9B4E +:105F5000002B09DD6B469E8A184B0B9A52009A184B +:105F60001E8002339342FBD110AB02229E5E0622BA +:105F70009B5E9E4200DD91E66D00104B984610AF8F +:105F8000AA465B4600930B9B424607998946200030 +:105F9000256AA847CC46D4446346079301360622B7 +:105FA000BB5E9E42EDDD79E6B143000009F70000DB +:105FB0000FFC0000F3FB000035020100F02600207A +:105FC00000236A461383928AD306DB0E9C46131C79 +:105FD0001A005705BF0E1C04E40E5B46634318020B +:105FE000C018C001C018C00D1F23984618405A465B +:105FF0007A4313029B18DB019A18D200930E9A463B +:106000005946634659430B025B18DB015918C90D09 +:10601000434619405B466A461382138A5C430594E3 +:106020005F43089764465C4309945B46DF43FFB2D5 +:106030000E9B002B00DC31E66B000E93731C0D935E +:106040000B9B5B000F9301230C93BFB21F263E33C3 +:106050000B93634B984607239946524648E02B78AA +:10606000B3430B432B70049B5B012F8842461740C0 +:106070003B432B80C7001B0A4A4613401F436F70E7 +:106080000234544526D025006B461B8B2788BB4223 +:10609000E5D06B461F836078C00863465843059B74 +:1060A0009B465844000A30407A05920E63465A4394 +:1060B000089B9B465A44120A0B9B1A400492217873 +:1060C000C906C90E63465943099B9B465944090AB0 +:1060D0003140C4E7049A6746079B0E9CA44663447C +:1060E00007930C9B01330C930D9C9C4200D1D5E58A +:1060F0000A9B002BF0DD079B1C000F9DAA46534412 +:1061000004929A46BC46BEE70E9B002B00DCC5E518 +:106110000B9B043B05936B000F93069B0993002395 +:106120000D936B461A8C1704FB0E049353059B0EBC +:106130009A46D306DB0E9B4613E26A46128C3280E7 +:1061400001340133984501DC00F0E8FB0236A20778 +:106150003FD020780028F3D0FF28EED0FF22151A78 +:10616000049F47437178C90869437F183A02D219DE +:10617000D201D219D20D49460A40069257464743EA +:1061800031884905890E69437F183902C919C90147 +:10619000C919C9005F4678433778FA06D20E5543CD +:1061A000451928024019C0014019C00D4A46104047 +:1061B000974338433070890E48013188084D294093 +:1061C00001433180069AD2004905490F0A43727093 +:1061D000B6E722000599994200DBA4E35EE1C046E0 +:1061E0001FF8FFFF6946098C21806180A180E18052 +:1061F0000432043308340599994200DA49E1116800 +:106200000029F5D00131EDD01578002D46D0FF2DB5 +:1062100000D12EE1FF21491B8C4604986843617828 +:10622000C90866467143401801020918C9010918D6 +:10623000C90D39408A46280006994843814620887E +:106240004005800E70438144484600024844C00126 +:106250004844C0005E4675432678B046F606F60E02 +:10626000B146664649464E43B446AC4461460D02CB +:106270006544ED016544ED0D3D404646BE43354362 +:106280002570800E45012088BE49084028432080A3 +:106290005146C9004005400F014361705578002DFB +:1062A0004AD0FF2D00D1E8E0A11CFF20401B84460E +:1062B000049868438946E178C908664671434018E6 +:1062C00001020918C9010918C90D39400C912800AB +:1062D000069E7043824660884005800E6646704385 +:1062E0008244504600025044C0015044C0005E4603 +:1062F0007543A678B046F606F60EB2466646514697 +:106300004E43B446AC4461460D026544ED0165441C +:10631000ED0D3D404646BE433543A570800E40011D +:10632000658898490D40284360800C99C900400554 +:10633000400F0143484641709578002D4AD0FF2D0B +:1063400000D19EE0211DFF20401B84460498684335 +:1063500089466179C90866467143401801020918E7 +:10636000C9010918C90D39400C912800069E7043D7 +:106370008246A0884005800E66467043824450469F +:1063800000025044C0015044C0005E467543267967 +:10639000B046F606F60EB246664651464E43B44641 +:1063A000AC4461460D026544ED016544ED0D3D4090 +:1063B0004646BE4335432571800E4001A58871498C +:1063C0000D402843A0800C99C9004005400F0143AF +:1063D00048464170D578002D00D109E7FF2D54D0F3 +:1063E000A11DFF20401B8446049868438946E1793B +:1063F000C90866467143401801020918C901091805 +:10640000C90D39400C912800069E70438246E088F1 +:106410004005800E66467043824450460002504458 +:10642000C0015044C0005E467543A679B046F606EA +:10643000F60EB246664651464E43B446AC446146FB +:106440000D026544ED016544ED0D3D404646BE43F9 +:106450003543A571800E4001E5884A490D40284327 +:10646000E0800C99C9004005400F01434846417047 +:10647000BEE66946098C218010E76946098C618077 +:106480005AE76946098CA180A4E76946098CE18036 +:10649000AEE606998A460A99994250DD5E00079950 +:1064A0008C466644D21A90460A9A914606E06A469D +:1064B000128C328001330236994540DD4246D05C71 +:1064C0000028F7D0FF28F2D0FF22141A049A424382 +:1064D0007178C908614351180A025218D201521842 +:1064E000D20D1F273A40069255464543318849054B +:1064F000890E61436D1829024919C9014919C9005A +:106500005D4668433578EA06D20E544304192002EA +:106510000019C0010019C00D07401F2085432F43FB +:106520003770890E48013188164C21400143318073 +:10653000069AD2004905490F0A437270BAE7079BD1 +:106540000F9A944663440793099B0B9A94466344BD +:1065500009930D9B01330D930E9A9A4201DCFFF7CC +:106560009DFB0A9A002A00DCE5E1099B990700D10E +:10657000E4E1079E984600231F2189464446904641 +:10658000E7E5C0461FF8FFFF0D9EFF2A65D0FF2EEE +:1065900067D0FF239B1B4A78D20899465A43059B34 +:1065A0007343D21813029B18DB019B18DB0D1F22CB +:1065B0001A4004920A885205920E4B465A43089B91 +:1065C00073439A46524413029A4692445346DB015F +:1065D0009A465244D20D0B78DB06DB0E9A464B46A8 +:1065E000544663439A46634673439946CA445346A6 +:1065F0001B029946D1444B46DB019946D1444B4698 +:10660000DB0D1F2423409946099BA3439A464B4622 +:106610005446234399463F231A4052014B46444671 +:1066200023401A43049BDB025205520D13436A4672 +:1066300093849BB20A8891460B802A000130023174 +:10664000B84210D00578002DF8D0954205D0FF2D26 +:106650009AD05E466E43360A99E70A884A4596D133 +:10666000EAE70E9BE6E707990F98804641440791B9 +:1066700006990B988046414406910C990131080017 +:106680000C9110A90624095F884201DDFFF706FB83 +:106690000A990029E7DD0799069804000B9DA84692 +:1066A00044442700A74CA0465C460D94CAE76B46BD +:1066B0009C8A012E45D0022E01D0FFF7EFFAA24BA3 +:1066C00009936B469A8AD306DB0E0E9353059B0EF5 +:1066D0000C931604F30E0D9343469B8A01334246F6 +:1066E000128A9B1A19B208954D436D00049B9C4673 +:1066F000AC4463460793012F26D001300B9BC01A90 +:1067000003B29846069B0A9A9E1A079B1A88089B12 +:106710004B4501DDFFF7C2FA4B000A931000002140 +:106720000C9B5B019A4643460B93099B98460D9B35 +:1067300099466B461C8234005B4606930E9B9B4633 +:10674000DEE0824B0993BCE700236A4693825B46F6 +:106750000D9F7B431802C018C001C018C00D1F2533 +:1067600028405A460C9B5A4313029B18DB019B1886 +:10677000DB009A0E92465A460E9E724313029B18F5 +:10678000DB019B18DB0D1D40089A4A4501DDFFF730 +:1067900085FA4A00914633001F22134098464A4624 +:1067A0000B92B9466B461C832C005A460A920C9BEE +:1067B0009B4650E02B781F229343049A13432B707F +:1067C0007A012B889C465F4B61460B4013432B801C +:1067D000C2005B055B0F13436B700134023610ABD4 +:1067E00004229B5E9C4224DC35006B469B8A3288E7 +:1067F0009342DFD011006B469A8206981F2398437C +:10680000434618435B465B014E4F384018434B46A6 +:10681000DB024005400D18436B4618830A9A099B1A +:106820009847C106CB0E04934705BF0E0004C00E67 +:10683000C0E7049CBA46079B0B9A944663440793AF +:10684000089B01331A00089310AB06215B5E9A4245 +:1068500001DDFFF723FA10AB00229E5E3700042211 +:106860009B5E9E42E7DC7600079B9C466644049450 +:106870003C005746B8E73A889446059A944524D197 +:1068800015E01F23049898435B4618432D4B18408E +:10689000534618434B46DB024005400D18436B46F8 +:1068A00018823988C04780B2A15D3B880593388043 +:1068B0000135023710AB04269B5F9D420CDC2E0095 +:1068C000635D002BF4D08B42D5D006990A00F92BDA +:1068D000D7D85A43120AD4E7059A079B0A9DAC46BB +:1068E000634407930B9B9C466444089B01331D0043 +:1068F000089310AB06269B5F9D4201DDFFF7CEF9A2 +:1069000010AB00255F5F3D0004269B5F9F42E4DCE7 +:106910007F00079B9C4667440592D0E722000599BB +:10692000994200DA0BE65C0007998C4664441F2705 +:106930005146069163E4099A0023F0E7099A00237F +:1069400048E4C0461FF8FFFFB75B0000115B000082 +:10695000F0B5DE4657464E464546E0B593B00C00CE +:1069600007921D001CAB1F781DAB1B789B461EAB0E +:106970001E785B46042B01D9002F06D113B03CBC16 +:1069800090469946A246AB46F0BD0A00010010A809 +:10699000D74B98470028F1D0D64B98478046D64B26 +:1069A0009847814683680593028A10AB1988891A33 +:1069B00089B209918C4608B2824618804846418ABD +:1069C0005888401A80B20A9000B20890588098887F +:1069D000801A80B29880DA88521A92B20B9212B260 +:1069E0000C92DA80002D14D043461B7ADB0710D4BA +:1069F000411C6346C91A09B200290ADD2B00691837 +:106A0000802294461A78944592411A7001338B4241 +:106A1000F8D143465B69002B00D1C3E0B54B9847E2 +:106A20000C904B4610229B5E98464B469B8A013346 +:106A300042469B1A1BB2069310A90023C85E00238E +:106A4000E25EA38801339B1A1BB20226895F09917B +:106A50000226A45FA4464E461224365F6446A41B59 +:106A60000C1B5C434646921BA41A6400079A94468A +:106A7000A44462460892012F53D02A1A904610AAC5 +:106A80000624125F099C944200DD77E710AA0424D3 +:106A9000125F5B000A93099110AB079301AB9A4612 +:106AA0000132131A1BB20B930C9E079A1300002598 +:106AB0005D5F2C00130004229B5E9D421FDC6D0075 +:106AC000089B9C4665446B4624229B5E994623B2F4 +:106AD0004246125D59464A43120A02922A8851469A +:106AE0000A804A460092069A059930007769B847AD +:106AF00001340235079B04229B5E9C42E7DD0B9B21 +:106B00009C46E044089B0A9A944663440893099B78 +:106B100001331A000993079B06215B5E9A42C4DD8C +:106B20002CE710AA0620125E8A4200DA26E75B00F4 +:106B300009938A4610AB079301AB99460C9E079ABE +:106B400013000027DF5F3C00130004229B5E9F427E +:106B50001ADC7F00089B9C46674453461BB298464C +:106B600023B25A4602923A8849460A804246009227 +:106B7000069A059930007569A84701340237079BCA +:106B800004229B5E9C42EBDD089B099A9446634479 +:106B9000089301239C46E244079B06229B5E9A458C +:106BA000CDDDEBE6002E01D000F0FDFB4B461022C0 +:106BB0009B5E1A004B469B8A01330D929B1A1BB2B7 +:106BC00098460130099BC01A03B20C9306930B98A8 +:106BD00001300A9BC01A03B20B930023E25EA68821 +:106BE0000136B61A36B20898030041464B43534467 +:106BF0005B0005998C469C44634608930221635EC2 +:106C000049461224095F5B1AC31A73430D99521A3D +:106C100051468A1A9B185B00079A94469C44634627 +:106C20000993344B98470400012F15D05B46FA2B8B +:106C300000D9EBE00B9B002B00DC9FE643465B009A +:106C40000E9373000F93A94600230D931F339846AC +:106C50005B4607930A939AE3036A002B2AD010A895 +:106C6000264B9847F02825D910AB02229F5E0622BA +:106C70009B5E9F4200DD81E643465B0098467600BE +:106C800010AB05935B4600930C9B099A92460899BA +:106C900089462000256AA8474B4643440893D446BA +:106CA000B444634609930137059B06229B5E9F42CD +:106CB000E8DD63E65B46FA2B24D80B9B002B00DC57 +:106CC0005CE643465B000A9373000D930C9B5B00EC +:106CD0000C9300230793FF275B46FF1A1F239C4654 +:106CE00020339946064B9A46B8465F463BE0C0467D +:106CF0000FFC0000B143000009F70000F3FB0000A7 +:106D00001FF8FFFF0B9B002B00DC37E60C9B5C00A1 +:106D100043465B00984676000025804F2200099B81 +:106D20009A461900089B99461800B8474B464344B9 +:106D30000893D446B4446346099301350B9BAB4298 +:106D4000ECDC1BE6089B0A9A93465B440893099B7C +:106D50000D9A93465B440993079B013307930B9A63 +:106D60009A4200DC0AE6069B002BEBDD099B1E0025 +:106D7000089D0C9A93465B449B4641467378DB081A +:106D80007B436A78D2084A439A1813029B18DB01A6 +:106D90009B18DB0D62461340059332885205920E14 +:106DA0007A432C886405A40E4C431419220212194C +:106DB000D2011219D20D3478E406E40E7C4328780F +:106DC0008046C006C00E4843201804022418E4017F +:106DD0002418E40D6046044040466346984304434B +:106DE0002C704B461A4054012A8853461A402243BD +:106DF0002A80059BDB00120A0720024013436B70B8 +:106E0000023602355E45B9D188469BE70C9B043BB0 +:106E100007930B9B002B00DCB0E543465B000E9311 +:106E200073000F930A9500230D931F339B46069B17 +:106E30009946A6E303880B8001370136059BB342D0 +:106E400000DC81E30230023103231F4253D03D783E +:106E5000002DF1D0FF2DEDD0FF235B1B9946437829 +:106E6000DB086B434A78D2084C4662439A181302F7 +:106E70009B18DB019B18DB0D5A46134006930288D2 +:106E80005205920E6A4394460A885205920E624356 +:106E900062441402A44694446446E401A446624455 +:106EA000D20D0478E406E40E65430C78A446E406AB +:106EB000E40EA0464C4643465C43A046A8444346E5 +:106EC0001D024544ED014544ED0D5B461D40644601 +:106ED0009C4325430D703F231A4055010A885346B1 +:106EE0001A402A430A80069BDB00120A072422402C +:106EF00013434B70A0E7059B9946079BB34200DC08 +:106F000019E37000099B1C18089B9C466044044BC5 +:106F10009A464B460693059616E0C0468D0C010036 +:106F20001FF8FFFF2388038063884380A388838042 +:106F3000E388C3800437059A043205920834083088 +:106F4000079B934200DC4BE13B68002BF2D00133FE +:106F5000E8D03978002949D0FF2900D134E1FF2356 +:106F60005D1A6278D20813004B434278D2086A4314 +:106F70009A1813029B18DB019B18DB0D5A4613402D +:106F800022885205920E4A43944602885205920E78 +:106F90006A4362441602B44694446646F601B44617 +:106FA0006244D20D2678F606F60E71430678B44692 +:106FB000F606F60E75434D1929024919C9014919FA +:106FC000C90D5D46294065465E46B54329430170BB +:106FD0003F210A405101028855462A400A43028057 +:106FE000DB00120A07210A40134343707978002915 +:106FF0004BD0FF2900D1EAE0831CFF22551AE2782A +:10700000D2084A439846C378DB086B43D218130270 +:107010009B18DB019B18DB0D5A4613406288520512 +:10702000920E4A43944642885205920E6A43624445 +:107030001602B44694446646F601B4466244D20D44 +:10704000A678F606F60E71438678B446F606F60E76 +:1070500075434D1929024919C9014919C90D5D46E0 +:10706000294065465E46B543294381703F210A4069 +:107070005101428855462A400A434280DB00120AE9 +:1070800007210A40134342465370B97800294BD078 +:10709000FF2900D19EE0031DFF22551A6279D20814 +:1070A0004A4398464379DB086B43D21813029B1876 +:1070B000DB019B18DB0D5A461340A2885205920E45 +:1070C0004A43944682885205920E6A4362441602ED +:1070D000B44694446646F601B4466244D20D26791D +:1070E000F606F60E71430679B446F606F60E7543BB +:1070F0004D1929024919C9014919C90D5D4629408F +:1071000065465E46B543294301713F210A4051015E +:10711000828855462A400A438280DB00120A0721F2 +:107120000A40134342465370F978002900D101E721 +:10713000FF2952D0831DFF22551AE279D2084A4313 +:107140009846C379DB086B43D21813029B18DB0106 +:107150009B18DB0D5A461340E2885205920E4A43B3 +:107160009446C2885205920E6A4362441602B4469F +:1071700094446646F601B4466244D20DA679F606FA +:10718000F60E71438679B446F606F60E75434D1930 +:1071900029024919C9014919C90D5D4629406546A9 +:1071A0005E46B543294381713F210A405101C2889F +:1071B00055462A400A43C280DB00120A07210A40D2 +:1071C000134342465370B5E6238803800EE7638875 +:1071D00043805AE7A3888380A6E7E388C380A9E6B3 +:1071E000069B99461600934200DCB3E13B00770012 +:1071F000099A9046B844089A944667449B1B0593A5 +:10720000CE4B9A4607239C46444607E023883B80A2 +:10721000013602340237B14500DC9BE1059B995DE4 +:107220000029F5D0FF29F1D0FF23581A6278D2083F +:107230004A4315007A78D2084243AD182B025B19F5 +:10724000DB015B19DB0D5A461340069325886D055B +:10725000AD0E4D433A885205920E4243AD182A02B4 +:107260005219D2015219D20D2578ED06ED0E69435F +:107270003D78EB06DB0E5843081801020918C901D6 +:107280000918C90D5B4619409D43294339703F23B6 +:107290001A4051013A8853461A400A433A80069BE5 +:1072A000DB00120A61460A4013437B70B0E7FF23FC +:1072B0001D1A4B78DB0843437278D2086A439A1848 +:1072C00013029B18DB019B18DB0D4246134005930C +:1072D0000A885205920E4243914632885205920E18 +:1072E0006A434A441302994691444B46DB0199464E +:1072F0004A44D20D0B78DB06DB0E434399463378C4 +:107300009C46DB06DB0E5D43A9444B461D024D4403 +:10731000ED014D44ED0D43461D4063464046834319 +:107320001D4335703F231A4055013288834B1A4064 +:107330002A433280059BDB00120A58460240134361 +:107340007370013702310236069BBB4209DDE55DF1 +:10735000002DF6D00798F92DA9D80A9B5D43280A7D +:10736000A5E7A146089B0E9A9446634408930C9B9C +:107370009C46E144099B0F9A9446634409930D9BF4 +:1073800001330D930B9A9A4201DCFFF7F7FA069B43 +:10739000002BE7DD099B9C46089E002707239B46A0 +:1073A00061464C46D3E7012E4DD0022E01D0FFF7A7 +:1073B000E5FA634B0A934B4610229B5E1A000B932F +:1073C0004B469B8A01339B1A1BB29C460023E25E0C +:1073D0000D92A38801339B1A19B2089E624672432C +:1073E0005300059A90469844434606930222A35EB2 +:1073F0004A461224145F1B1BF31A4B435B00079A87 +:10740000D418012F22D05346EB1A1A0053465B00C2 +:10741000E31A9946089B0C9CA34201DDFFF7AEFAE4 +:1074200063465B0098464B00079310AF5B4605939D +:107430000130099BC01A03B209930A9B9A4643463E +:107440000A93904668E03F4B0A93B4E70B9B0D9A72 +:107450009B1A5B00A14699440C9A964201DDFFF706 +:107460008DFA63465B009A464B00984610AF5B4628 +:107470000593D3460A9B9A460023FD5E2E00042204 +:10748000BB5E9D420FDC6D00069B5C194D4421885C +:107490002888059AD047208001360234023504221C +:1074A000BB5E9E42F3DD069B5B440693C144089B92 +:1074B00001331A00089306217B5E9A42DCDDFFF758 +:1074C0005DFA31882888D047308001340236023591 +:1074D0000422BB5E9C420ADC43461B5D002BF4D0B9 +:1074E000059AF92BEDD85A4653431A0AE9E7069B49 +:1074F0000A9A944663440693099B9C46E044079B82 +:107500009C46E144089B01331A00089306217B5EE8 +:107510009A4201DDFFF732FA0023FD5E2C000422BF +:10752000BB5E9D42E3DC6D00069B5E194D44D3E7D4 +:107530000A9F0026E1E43B0059E6C0461FF8FFFF22 +:10754000B75B0000115B0000059B9946079B9E42BC +:1075500000DAD6E4089B0E9A9446634408930A9B8B +:107560000C9A944663440A93099B0F9A9446634489 +:1075700009930D9B01330D930B9A9A4201DCFFF79F +:10758000FDF94B46002B0FDD0A9B03221342CFD09F +:10759000099A9046089A1F000026054B9A464B46CA +:1075A00005934046110052E40A9F0026CEE7C046EC +:1075B0001FF8FFFFF0B5DE4657464E464546E0B59C +:1075C000BFB01C900800249190460A9348AB1B78EA +:1075D0000B9349AB1B78079300233CA9C25C5A5418 +:1075E0000133082BFAD1B74B9847B74B98471990FE +:1075F000048A3CAB1A88121B1A80408A5A88121AD5 +:107600005A809988091B9980DA88121ADA80AF4B60 +:1076100098471A90002808D10A9A5388002B04D161 +:107620000133FF3312899A4272D0079B5A1E93414D +:10763000023399461C9B0022995E8C469F88013735 +:107640007F1A3FB23CA902228D5E199A1226945FDE +:10765000CA4600200E5E1020125E02201B5E1B1B1D +:10766000EB1A7B436046801A301AC0184B465843C9 +:10767000030043441593B6B2B21892B228A8028010 +:107680008B8801339B1B9BB21EB21796013BD3180C +:107690008380ADB22C1924B24480C480CB880133DE +:1076A0005D1B2DB20A984388002B00D044E3028969 +:1076B000531EFF3B591E8B41DBB29B461A9B002B8E +:1076C00000D0D5E00133FF339A4200D03AE30B9B60 +:1076D000002B05D1837A002B02D1079B002B34D1DC +:1076E0003CA87B4B9847F0235B00984200D8CAE047 +:1076F000F0208000774CA0471B90F02676003000E9 +:10770000A047189048212AA8734B98471D9655E327 +:107710000B9B002B89D1079B002B13D10A9B9B7AD3 +:1077200002229146002B85D10A9A937B029313780B +:10773000019301230093002342461C992498674C2F +:10774000A047DDE20323994674E73CA8604B9847C5 +:10775000F0235B00984219D83CA85D4B98470790EE +:10776000079E70005B4CA04705903000A047069034 +:10777000002D61DD53467B439A466B1C9B460123DB +:1077800098460027179D3E004C4631E0F0235B00F1 +:107790000793E5E7013312190237AB4209DA917812 +:1077A000C1540029F6D056783602117889193980EB +:1077B000F0E76646179B9C466644159B5344159319 +:1077C00024AB64229B181B88013324AA6021521821 +:1077D00012889B1A1BB29B19079A9A4217D928AA9A +:1077E000D3880133D38001239C46E044D84523D07D +:1077F000179B002BE1DD7700059B9C466744159A9B +:10780000002306998C46B4446046B446C7E728AFC7 +:107810000A9A937B02931378019302230093069BA9 +:10782000059A390024982D4EB047FB8801331BB2CE +:107830007B80FB800026D6E728AA0621535E022122 +:10784000525E9A420ED028A9013BCB800A9A937BC4 +:1078500002931378019302230093069B059A2498C0 +:107860001E4CA04706981E4CA0470598A04747E22B +:107870003CA8174B9847F0235B00984203D9F023AC +:107880005B001D9303E03CA8114B98471D901D9E83 +:107890007000104CA0471B903000A0471890482162 +:1078A0002AA80D4B98475B46002B00D186E260E288 +:1078B000002314931293119397E21D991898094B82 +:1078C0009847A9E2B143000009F70000C1A60000F3 +:1078D000F3FB0000C10E01004D10010051690000D2 +:1078E000D50B0100F11001000D9BF3181BB22AA962 +:1078F00008200A5E9B1A0A200A5E0E98821A8020CF +:107900004000C989814259D02AA90C20095E00296A +:107910006BD12AA9C88E43431D00339B9A46AA44C3 +:107920004243349BD3180C9353461B1298462AAB00 +:1079300004229B5E984500DBB0E04246002A00DA54 +:10794000ACE00C9A1212100016922AAA0621525E7E +:10795000904200DBA2E0002800DA9FE034222AA94E +:10796000895C4A076AD52A9A890758D44343434415 +:107970005B00D21810782AA9087552784A7502213E +:1079800034222AA8825CD2070FD51F222298904366 +:10799000FC22D20002435205520D68468825401948 +:1079A00002802AA8808A904278D02AAAD27C002A13 +:1079B00060D12AAB9A7D22709B8A80E036993598F7 +:1079C00005000C910800584329005143411AC91180 +:1079D0003398169082468A446B430C9842439B1816 +:1079E000DB11349A9B180C939EE72AA9C88E434357 +:1079F0001D004243369858438046359850434346CD +:107A0000181AC013339B9A468244359B6B433698B1 +:107A100050431B18DB13349A9B180C9384E7169978 +:107A20004B4343445900CB18D21810782AA9087543 +:107A30005078487592788A750321A1E7434619B2B8 +:107A40006B4658229B1800229A5E24AB1B8D26920F +:107A5000259130A8AE4DA84724AB9885269A259944 +:107A600030A8AC4B984724AB2E229B1818700023EB +:107A7000002185E72AA8524602876A46128E42876D +:107A8000424682876A46582552191288C287036483 +:107A90004423C154A04B984700288AD10023237067 +:107AA00042E0FF2323707A7812023B789B189BB246 +:107AB0000B9A002A03D0994A12889A424AD00A9A0D +:107AC000927A002A2ED06A464C2152181288D90A7E +:107AD00094465143119A90464144C904C90E580531 +:107AE000800E62465043129A904640448004DA0663 +:107AF000D20E63465A43149B9C466244D204D50E70 +:107B00001F23089A9A4313002A001A43800E40014B +:107B1000834B13400343C9025B055B0D0B436A466D +:107B200013849BB2059A13800136069B9C466744DA +:107B30000134059B023305934E450EDA5B46002B5C +:107B400000D0D1E6079B002BABD0BB782370002B75 +:107B5000EAD0A8E700232370E6E7179B0F9A944624 +:107B600063441C001A9B002B48D1159B1F9A944616 +:107B70006344159324AB64229B181B88013324AA09 +:107B80006021521812889B1A1BB21B191D9A9A4227 +:107B90006CD928AAD3880133D3800F94109B01336A +:107BA0001093209A934200DB8FE0199B10229B5E7A +:107BB00024AA602152180021525E9B181C9A0021B1 +:107BC000525E9B1A0D93179A9146002A14DD189B5A +:107BD00098460F9A9446E04453001B9A92469A4462 +:107BE000159F0026219B109A944663441BB20E9366 +:107BF000444653460593A1E70F9CB3E70F9B189AA1 +:107C0000944663441D0024AB60229B18198824AB62 +:107C100004329B181B8801335B1A1BB224AA622012 +:107C200012181288199E708A12181098844662449D +:107C300012B2308A091809B228003A4EB04700281B +:107C400003D0022891D11E908FE724AB64229B18A9 +:107C50001988013124AB043A9B181B88C91A09B250 +:107C60002800314B984702231E937EE728AC0A9EDA +:107C7000B37B0293337801931E9B0093189B1B9A4E +:107C800021002498294DA847E38801331BB2638063 +:107C9000E38002231E93279B002B09D17388002BBE +:107CA00006D13389013BFF3B5A1E934101331E939A +:107CB00000230F931A9B002B00D16FE71D99189892 +:107CC0001B4B984700230F9368E728AA0621535EB1 +:107CD0000221525E9A420ED028A9013BCB800A9A1B +:107CE000937B0293137801931E9B0093189B1B9A1E +:107CF00024980E4CA04718980E4CA0471B98A047FC +:107D00003FB03CBC90469946A246AB46F0BDC0464B +:107D1000EDD000000DD2000015D60000148901003E +:107D20001FF8FFFF25A600004D100100516900005B +:107D3000F1100100D50B010001239B461A9B002B7B +:107D400000D095E53CA8414B9847F0235B00984252 +:107D500000D898E5F02080003D4CA0471B90F0260D +:107D600076003000A047189048212AA8394B984740 +:107D70001D960522079B002B04D1013A0B9B002B7B +:107D800000D002322AA80A9C638883812389C38198 +:107D900043462A9387801C99CB88013349885B1A14 +:107DA000C3808274A3880381E3884381A38903820B +:107DB000E37BDB07DB0FC374274B98470A998B7A69 +:107DC000DA43D2B21392002B00D171E59BB24A7B09 +:107DD000D2085A4311928A895205920E5A4312923E +:107DE0000A7BD206D20E5A4314920B9B079A134376 +:107DF000279302221E92002B0AD10A9A5388002B45 +:107E000006D11389013BFF3B5A1E934101331E9358 +:107E10001A9B002B00D050E5199B12229B5E3CAAB6 +:107E20000221525E9B181C9A0221525E9B1A2193DA +:107E30002095002D00DC48E753467B431F93002329 +:107E400010930F934B460693AFE6C046F3FB00003A +:107E5000C10E01004D10010011D30000F0B59FB01C +:107E600005000E00170009AC20000B4B98470B4B88 +:107E70001B886380220031002800094B984702A824 +:107E8000084B9847002300933B0002AA31002800CA +:107E9000054CA0471FB0F0BD21AB00004489010094 +:107EA000C5AB0000C58100001582000010B50400BC +:107EB00010210A4B9847237B1F2293432373A389E6 +:107EC000074A1340A38100236373FF3323700133F8 +:107ED0002381E37B01221343E37310BD4D100100A6 +:107EE0001FF8FFFF0438C3B20A2B0FD89800084BC5 +:107EF0001B589F4610200AE0182008E0012006E0E9 +:107F0000022004E0042002E0082000E00020704786 +:107F100018890100032805D002D30638042801D9A6 +:107F2000002070470120FCE7052807D003D802286D +:107F300004D00020704707380728FAD80120F9E755 +:107F4000F0B5DE4657464E464546E0B591B00400D2 +:107F500003911E00002A09D01B78052B0AD811B006 +:107F60003CBC90469946A246AB46F0BD6F4A704B6A +:107F70009847F4E7B18910006E4B9847071E00D16F +:107F80009EE0057BED06ED0E28006B4B98470490B4 +:107F900006902800694B984705900790BA69002A17 +:107FA00004D003992000624B9847D8E73B69002B27 +:107FB00045D000230CA9E25C5A540133082BFAD1B6 +:107FC0007388002B04D1802252003189914223D042 +:107FD0001BB2E28801326188521A12B2A1880131C3 +:107FE0002088091A09B20CA80500301D01903089BB +:107FF000009006952800524DA847228806980388CD +:10800000D3180380638841885918418081885218A9 +:108010008280C2889B18C3800CAA03990EA8494B82 +:108020009847002800D19AE73A69059B0193049B81 +:10803000009333000EA92000434CA0478FE7220095 +:1080400003990AA83F4B9847002800D187E70AAA5E +:108050009388013312889B1A1BB2059358009C46E3 +:1080600060443A4B9847049000230CA80AA95A5C34 +:108070001A540133082BFAD101210CA8344B98472C +:108080000AAA0021535E9C460020215E0220155E54 +:108090000223E05E281A0623D25E954242DC294A7A +:1080A000934663465B1A1BB208930994B246804616 +:1080B00012E0099C3800274B98470498264B9847B4 +:1080C0001A4A039920001A4B984748E701350AAB32 +:1080D00006229B5E9D4225DC0CAA03990EA8D84778 +:1080E0000028F3D043461AB2049B0093059B0899DD +:1080F00038001A4CA0470128DBD10CAC079B019338 +:10810000069B00935346049A0EA920000E4EB047DA +:10811000638801336380E3880133E38001239C4655 +:10812000E044D3E704980C4B984718E748890100CE +:108130005D7E000069DA0000157F0000297F0000E5 +:1081400045D400000FFC0000B5750000C10E010011 +:10815000E9FB000085E60000D50B010061E60000A8 +:10816000002808D003781A00203A01205F2A01D99C +:10817000D809400070470320FCE700000300303BB3 +:10818000DBB21A00092B18D9602801D92038C0B2F7 +:108190004138C3B2052B0DD89800094B1B589F4698 +:1081A0000B220AE00C2208E00D2206E00E2204E079 +:1081B0000F2202E0002200E00A2210007047C046B1 +:1081C0005089010010B504001C210F4B9847FF2374 +:1081D000237223781F229343237022880B490A407D +:1081E0002280002363700A4B636001235B42E381BA +:1081F0002382A2781F231A43A27063880B406380F6 +:108200000023E370A37510BD4D1001001FF8FFFFA0 +:1082100030000020F0B5DE4657464E464546E0B5F4 +:10822000DBB010900E9117001A000D93649B05931C +:108230003B7A052B02D91378002B06D15BB03CBCEE +:1082400090469946A246AB46F0BD7B6807930A006C +:108250000400010058A8D24B98470028EED0FA7DC0 +:10826000910724D4A388013322889B1A1BB2079A52 +:108270000826965F0A217A5E9146B144109A002042 +:10828000115E1F910220105E12217A5E1E9214224E +:10829000B95E421892B215B2059C002C52D000294A +:1082A00054D1002814DB1195002208922EE00C21F5 +:1082B0007B5E3CAD0292BB4A01920A217A5E00923B +:1082C0007A680D992800B84EB0470022AB5ECEE721 +:1082D000A168081AC11740184840802189004C46FF +:1082E000091B4900884207DD0122524205990A60B4 +:1082F00011950022089209E005980168002929DB00 +:10830000089141688C46624412B211921BB2190066 +:1083100012930C23FA5E0D9B1800089CA44660443F +:10832000FB7D00930B000799A04DA847A44660442D +:108330009E4A92469E4A904606960600119DBB466E +:10834000059F11E0119500220892DFE711950022A8 +:108350000892DBE7119500220892D7E70896237868 +:10836000002B00D16AE70600069BEB180E9A02214B +:10837000525E934220DA0D9B9C195B460C229A5E5A +:108380005B46DB7D0093129B07992000D047801944 +:108390004D442DB2002FE1D04545DFDB3B68002B7B +:1083A000DCDA3E60109A0221535EEB1A7B60130008 +:1083B00002229B5EBB60D1E70B9611955F46FA7D6A +:1083C00053072FD4130749D43B7A0F93FB890693A5 +:1083D0003A8A9246534502D9524606929A463B7EC5 +:1083E0009B0755D13FAC2000724B98477B88638038 +:1083F0000F9BFA2B01D9704B1B78DBB21C934B46B9 +:108400006A469382938A18936B4644229B181B8872 +:1084100014931F9D00231D93089B9B46D0463E004E +:1084200000F0D2FD0C217B5E089C311B89B20D98B7 +:10843000A44660440092079A604CA047109A938823 +:10844000013312889B1A1BB2181AC30F1B185B103A +:108450001F9A944663441BB21F93B5E70C217B5EC1 +:108460000B98089C011B89B20D98A44660440092A9 +:10847000079A524CA047109A9388013312889B1A8E +:108480001BB21B1A1F9A944663441BB21F939BE7AF +:1084900055AC20004A4B98473B8823807B680820D6 +:1084A000185E05300A21474B984760803B7A23725B +:1084B0007A7E03231A40637A03218B43134363724A +:1084C00090E70025E2E2099B002B07D134AB802224 +:1084D0009B181B881D9301230993C2E2099B012B62 +:1084E00001D100F005FE022B01D100F032FD3E88E3 +:1084F000ECE2059B202B00D0B3E2549B1D9A9B1A03 +:10850000072B04D03B88169302230993A9E20C9B06 +:1085100094466344180000233CA9C25C5A540133BA +:10852000062BFAD13CAD2878274EB04780466878B4 +:10853000B04743461B0198468044A878B047059051 +:10854000E878B047059B1B011B1805932879B047B5 +:1085500008906879B047089A15012818C2B2D20865 +:108560001F232C9999430B0013436A46127D9208EE +:108570005101164A13400B43424669460A750A7D6B +:10858000D208D2025B055B0D13436A46B021521834 +:1085900013809BB216930223099362E2169E95E222 +:1085A0000FFC0000187C0000E51A0100C91701004B +:1085B00000FCFFFF21AB000068890100411A0100A7 +:1085C00001910000057B01007D8100001FF8FFFF85 +:1085D0003CA8048011994180BB89013BE3180A9AA9 +:1085E000944663448380189B013B8C466344C3805C +:1085F0003FAA0E99C64B98477AE2042B00D1E9E0D6 +:10860000082B00D024E20826FF232093C14B23939C +:1086100003E0C0232093C04B23933CAB5A881A92AB +:108620009B881B93724321920E9B00229B5E00222B +:108630002B920599994203DA5B1A5A00D3182B93AF +:108640000E9B04229B5E229303211A98B34B9847FA +:1086500005998C4660441A9A1992229A904204DD38 +:10866000531A5A1C53009B1819930E9B02229B5EAF +:10867000002229921599994201DA5B1A29930E9BDF +:1086800006229B5E1B990A001598844662442F912E +:108690009A4202DD1B1A01332F936B4690229B18DE +:1086A0001A88D306DB0E269353059B0E28931304DA +:1086B000DB0E2793219B299A53432B9A72439B18D5 +:1086C000DA10AD1807221A4034921B9B1A9A5343B2 +:1086D0001A002E93F0235B009A4200DD2E932E9811 +:1086E0008F4B984724902E9B58008D4B9847259090 +:1086F0008C4B98478C4B98471021425E1100838A1F +:10870000013322915B1A1BB21B93219080682A903F +:1087100003212B98814A9446E047219B12215B5EFE +:108720001599CB1A1B994B43059A94466344229A98 +:108730009B1A299A4A4312189B185B002A998C4667 +:108740009C446146059141466B4654229B18198012 +:1087500089B28846404434A90883032119986F4B95 +:1087600098474346013BC31834A883831798299A36 +:108770009446604403B234A84383C3836B4B984749 +:108780003090299A2F98824200DB47E1199A2B9862 +:10879000111A080031911A9B9B1A2B998C4663443D +:1087A000190071433291032149425C4B98471B9B4E +:1087B000C3185B00339300232A935B4635935346DB +:1087C0003693059B9A46AB46349B9846349437972C +:1087D000D4E00426F0232093554B23931DE7082E65 +:1087E0000BD063461840239B1B5C06E063460340A6 +:1087F0001C994B431B0A00E0002317998B5401324C +:10880000032A22D015981A9988427BD23318F54052 +:1088100001341999A14200D18EE015930599087889 +:1088200028400821CB1A9B1BD840C3B2002BE3D0B1 +:108830001C99FF29D3D0082ED8D063461840239B1B +:108840001B5C1C994B431B0AD7E7087853465B789F +:10885000DB086246121A5343279A42439B181B0AAD +:108860001F221A4021928B78190053461A78D2069B +:10887000D20E67467B1A5A43269B4B43D218120AE4 +:108880001F231A402292179B5B78984653461B88F9 +:108890005B059B0E62464746D21B5343289A7A4398 +:1088A00093465B441B0A3F221340002807D1002F48 +:1088B00005D1002903D1249A1B99505403E0249A2E +:1088C0001B99604650541B994800259A9046404495 +:1088D00002781F27BA43229F174307705B01028863 +:1088E000144F3A4013430380219AD2001B0A0727F2 +:1088F0003B40134343704B1C1B9302239846C244D6 +:1089000000227FE7059B01330593209D00237FE72D +:10891000C5AB00008489010070890100057B01005E +:10892000C10E0100B143000009F70000C1A600001C +:10893000748901001FF8FFFF059A93469846309B03 +:10894000002B33D1319B1B998C4663442E9A9A425B +:1089500049D93AAAD3880133D3802A91329B434420 +:10896000DA10934407221A409046339B9C46E24417 +:10897000299B013329932F9A934249DA209D43463C +:10898000DD402B9C199A94420DDA2A9B1B930022FE +:10899000FF239C4639AB179308239B1B1A935B4616 +:1089A0000593434639E72A9B1B93C8E72A9B249AE1 +:1089B000944663441C003AAA0023D15E9388013395 +:1089C0005B1A1BB20620125E2000B14DA84700289A +:1089D000B8D13AAB998801311B88C91A09B2200075 +:1089E000AC4B9847AEE73AAC139B02931C9B0193A8 +:1089F00002230093249B259A21000E98A64DA84798 +:108A0000E38801331BB26380E38000232A93A5E748 +:108A1000359B9B46369B9A46349C379F3AAA062143 +:108A2000535E0221525E9A420DD03AA9013BCB809F +:108A3000139B02931C9B019302230093249B259A72 +:108A40000E98954DA8472498944DA8472598A84777 +:108A5000089B002B05DDBB891B190A9A94466344C9 +:108A60001CB254990B9B5A469B1A8B4200D873E256 +:108A70008B4B069A9A4200D123E500259A4505D0F2 +:108A800059440D984B461B68984785B2854E54A9AA +:108A90000C9B9846180033689847059042465499B5 +:108AA0008C4662441000336800219847FB7DDA074A +:108AB00007D5059B232B00D105E5099B012B00D190 +:108AC00017E53E88099B022B00D167E50200059956 +:108AD0000798754B98470A900890714B06999942F0 +:108AE00006D09A4504D0A94202D8AA4500D96FE51C +:108AF0000F9B042BACD907980028A9D07B7E139339 +:108B00000023059A3CA9694DA8470028A0D03CAB9A +:108B10009A88002A02D15B88002B99D03CAB0620B2 +:108B2000195E8846A0445B8843440E980025415F47 +:108B30008B428DDB01000423CB5E984588DC0799CE +:108B400008254B5F0A25495F5B1A11998C466344DF +:108B50009B1A3CA90825495F5B1A1D0017939C4688 +:108B60006244010002200B5E9A4200DA70E706229E +:108B70008B5E9D4200DD6BE7059907984C4B98474B +:108B8000051E00D164E7079B1B7B9B0720D0434653 +:108B90001BB205936B465C229B1800229B5E1593CB +:108BA0006B4690229B181E803CAB9B7A1E00032BC9 +:108BB00000D10EE6022B00D12BE500D91DE5012BDB +:108BC00000D045E70126802320933A4B239324E5E8 +:108BD00043461BB29C466B465C229B1800229B5E60 +:108BE00021936B46A0229B181E803CAB9B7A20935E +:108BF000032B33D0022B19D00AD8012B00D027E742 +:108C00000123209302217F3315932A4B279312E0EF +:108C1000042B25D0082B00D01AE7082320938021AD +:108C20004900F7331593244B279304E00421C02314 +:108C30001593224B27931C9AF92A57D8204B1B785F +:108C4000934213D00022002945D01C9E1D485B464C +:108C50001993A34634000596279E12E0042320931F +:108C60001021F0231593184B2793E4E7174B1B684B +:108C7000209A9A42E6D12EE0059B135401328A4293 +:108C800026D0B35CFF2BF7D063431B0AF5E7C04641 +:108C900025A600004D10010051690000D50B010010 +:108CA000FFFF00005800002069E7000061E70000B6 +:108CB00059E700006C890100848901007089010076 +:108CC000B42B0020B02A002074890100B02B0020B2 +:108CD0005C46199B9B46D74B6A4670215218127806 +:108CE0001A70D54B209A1A60D44B27933CAB5A8804 +:108CF00005929988209850430E9B00229B5E00228B +:108D000019929C4502DA62469B1A19930E9B042223 +:108D10009B5E059E320062441B969A4203DD6246CA +:108D20009B1A01331B930E9B02229B5E00221A9218 +:108D3000219E9E4201DA9B1B1A930E9B06229A5E8D +:108D4000219E8B192291934202DD921B531C229388 +:108D5000199B26931A9A5043209A5A438018C608A2 +:108D6000AE1907250540059B4B431A002393F023BA +:108D70005B009A4200DD23932398B14B98472190E2 +:108D800043466A469021521813806B4690229B18E6 +:108D900019883AAB199A8A181A804A1E1B998C4670 +:108DA00062449A80179802001A988446624412B26C +:108DB0005A80DA80A34B984724900823209A9B1A64 +:108DC0009846059B19998C4663441B995B1A1100C0 +:108DD0005A4325921A98229B984200DB9DE000237B +:108DE00017935B46299353462A93279B9A462794C9 +:108DF0004346209388462B9739E00023137012E0F6 +:108E00000136159900250132059B934210D0337825 +:108E10000B40601BC340D8B20028EED05846034038 +:108E20005046C35C1370AC42EAD9ED19F940EAE749 +:108E3000B84620946746249B002B33D11B9B199A7C +:108E40009B1ADB19239A9A4249D93AAAD38801334B +:108E5000D3801797259B9C466544EB08F61807239B +:108E60001D401A9B01331A93229A93424FDA1599A7 +:108E7000E940199B1A001B98824211DA219F3A009F +:108E8000179CA4466244030026981B1A9C443B008E +:108E900063441800FF239B4605904746209CB6E795 +:108EA000179FC8E7179B219A944663449B463AAAAA +:108EB0000023D15E938801335B1A1BB20620125E39 +:108EC0005846614CA0470028B8D13AAB9988013187 +:108ED0001B88C91A09B258465C4B9847AEE73AAFAF +:108EE000139B0293FF230193FD3B0093219B6A4652 +:108EF000A0215218128839000E98554CA047FB88C3 +:108F000001331BB27B80FB8000231793A2E7299BD0 +:108F10009B462A9B9A46279C2B9F3AAA0621535E82 +:108F20000221525E9A4210D03AA9013BCB80139B9A +:108F30000293FF230193FD3B0093219B6A46A020EF +:108F4000121812880E98424DA8472198414B984715 +:108F50007EE50023099384E5D046A2463E003B7E91 +:108F60009B0747D4337EDB0700D57BE00D9B1F00BA +:108F70000B9DAC4667440C23F25EF37D0093129B7D +:108F800007993800344CA0474419109B00255D5FB9 +:108F9000F27D530700D584E0130700D596E0119BBE +:108FA00018998C466344149A624492B214920B9AB4 +:108FB00093461BB21A0011930E9B06215B5E9342EF +:108FC00001DAFFF73BF90B940D9B5B440C931B7884 +:108FD000002B01D1FFF732F91E9B9C4665442BB252 +:108FE0009A460023549309931C4B99465446C24613 +:108FF000370036E53AA86B467C229B181B88038015 +:109000007B6808229B5EDA0FD218521055AB022102 +:109010005C5EE10F09194910521814998C4662449C +:1090200012B242803CA954460C804A800E9A0C4CE5 +:10903000A04797E7B42B0020B02B0020B02A0020D7 +:10904000C10E0100C1A6000025A600004D100100C0 +:109050006D5C0000D50B0100C91701005400002011 +:10906000319100003AA86B467C229B181B88038034 +:10907000716855AB02229C5EE20F12195210013248 +:109080000C8912194989521A14998C46624412B2F9 +:1090900042803CA954460C804A800E9A164CA04748 +:1090A00064E70C21735E0092079A01003800134FA9 +:1090B000B847109A9388013312889B1A1BB2181A6A +:1090C000C30F1818401045192DB268E70C21735EC4 +:1090D0000092079A01003800084FB847109A938809 +:1090E000013312889B1A1BB2181A45192DB256E784 +:1090F00000230993FFF7FBF931910000411A0100A9 +:1091000010B504000A21084B984701236380FE3301 +:10911000237223781F22934323702388034A13402A +:1091200023800023637010BD4D1001001FF8FFFF66 +:10913000F0B5DE4657464E464546E0B5CBB0059005 +:109140000E00069107921C0002229B5E002B01D1AB +:1091500000F046FC227A052A01D800F041FC02000A +:109160000020115E0025705F814200D12BE1DA0FF3 +:10917000D3185B109BB20A1C814200DD021CD21A7C +:1091800048AD2A800A1C814200DA021C9A1848A9BC +:109190008A80069A0221525E05990220085E111CFF +:1091A000824200DD011CC91A48AD6980111C82424F +:1091B00000DA011C5B1848AAD380079A48A9080066 +:1091C000D54B9847002801D100F00AFC059B0226E8 +:1091D0009E5F069B02255D5FAE4200D1FCE0059BD1 +:1091E00000229A5E11000892069B00229B5E9A461E +:1091F000514500D106E2AE4206DB33002E001D00D1 +:10920000089B524608929A465346089A9B1A09931D +:10921000AA1B0A92D9175B184B409946D1175318CD +:109220004B409B460222A35E9846D94500DCD0E223 +:109230005B4658014946B94B9847B94B1B5C4246BF +:109240005A4313003F22904698444346DB111F00C7 +:109250009BB252460898824500DD021CD21A0EA924 +:109260000A8052460898824500DA021C9A180EA914 +:109270008A802A1CB54200DD321CD21A0EA94A800F +:109280002A1CB54200DA321C9B180EAAD38048AAC9 +:109290000EA90800A04B9847002800D19CE3434644 +:1092A0001B12984601233B4043440B93D94500DCF5 +:1092B000BAE2099A002A00DC91E2B2B241466B465A +:1092C00019868BB2A9B29346D21A12B2002001902D +:1092D0008946CB1A1BB200935346089912A8914FA6 +:1092E000B8476B469B8D5A46D21812B201210191A4 +:1092F0004B441BB20093534608991DA8B847002160 +:1093000012A8894B984698470B9000211DA8C0478A +:109310000C90637ADB0600D4ACE201235B420D9330 +:109320000A93824B9847824B98478146028A0EA83F +:109330000588AD1AABB203804946498A45886D1A43 +:1093400045808588AD1AADB28580C288521AC28028 +:109350000135ED1A2DB2774B9847E023FF33984241 +:1093600000D8B3E2F0235B009B465846724B984707 +:1093700080464B461B8A0EAF3A889A1812B21100EB +:10938000099210AA1180B9885B1893807B8849469E +:10939000498A5B181BB25380D3805946674B984764 +:1093A0004B4612229A5E0223FE5EB61806217B5EB1 +:1093B0009B189E4200DDECE20027614B9A46230099 +:1093C00044469846D0E20225555F32000226925F5D +:1093D000954200D0CBE603E3237A9846534B984757 +:1093E000534B984781460222A35E013B5E10012544 +:1093F0001D40AD190623E25E0023002A04D004229A +:10940000A35E5A1E9341DBB21F0009934D4B984750 +:109410000021002801D101317940069B00229B5E8A +:10942000059A0020105E1A1C834200DD021C28AF42 +:109430003A801A1C834200DA021C013A28AB9A8057 +:10944000059B5B8828AA5D1B55809E19D680002944 +:109450000ED02288637A9B079B0F029343460193A9 +:1094600001230093002328A948A8374DA847B3E259 +:1094700028AA48A91000284B9847002800D1ABE241 +:1094800028AA0023D75E4B4610215B5E9B466946A7 +:109490000B840B8CF91A89B2884609B28A4611806E +:1094A0000220115E4D466D8AAC464D1B558004204E +:1094B000165EF31A9BB29380D58860462D1AD5802C +:1094C000013342469B1A1BB20B9333AB1F809E8025 +:1094D0005980D9800021099B002B08D05046584460 +:1094E0000623E15E0422A35EC918184B98470BB20D +:1094F0000C930B980700104B9847089028AB02225A +:109500009E5E06229B5EB34200DA77E00B4B9B46E1 +:109510000B4B9A460A9750E00FFC0000057B0100B8 +:10952000848A0100E5A60000EDA50000B14300001B +:1095300009F70000F3FB0000C10E0100F11001006B +:1095400025A60000C1A600006D5C0000D17C0100D2 +:109550000626A55FED180B00AA4202DA089B1954F3 +:109560001300013001331AB2874207D90425635F23 +:109570009342EDDB9A1A12B28018F2E70A97664618 +:109580000220228833AD637A9B079B0F0293237AD4 +:1095900001930090089B290048A8D14FB8476B88D9 +:1095A00001336B80EB880133EB8001360AAB7E22FE +:1095B0009B1800229B5E9E4220DC0A9F3900089D7A +:1095C0002800D8474B465A8A921912B2198A0AAB18 +:1095D00078201B181B88C91809B20B9B2800D0479C +:1095E000099B002BCDD00028CBD0002F04D00C9AA3 +:1095F00000200021B446B9E70220C2E70898B94B21 +:109600009847E9E1237A9846B74B9847B74B984774 +:1096100007000222A35E013B5E1001251D40AD192B +:109620000623E25E0023002A04D00422A35E5A1E11 +:109630009341DBB299460A93AD4B9847002100282D +:1096400002D101314B4659400598028828AB551B81 +:109650001D8096199E80069A0225525F0225455F5D +:10966000101CAA4200DD281C5880131CAA4200DAF4 +:109670002B1C013B28AAD38000290ED02288637AB4 +:109680009B079B0F02934346019301230093002302 +:1096900028A948A8924DA8479EE128AA48A91000E9 +:1096A000944B9847002800D196E128AA0021535EE8 +:1096B0009C463B8A6146C91A89B211800225505FD7 +:1096C0007D8AA846451B55800425565FF31A9BB238 +:1096D00099469380D5884346ED1AD5804B46013391 +:1096E000591A0BB21A000B9333AB614619809E8056 +:1096F0005880D8800C9210007F4B9847089000212A +:109700000A9B002B0CD01023F85E28AB00229B5E36 +:10971000C0180623E15E0422A35EC918774B984760 +:109720000BB2994628AB02229E5E06229B5E9E42A9 +:109730004BDC734B9B46734B9A46B8464B4609939A +:109740001DE0099F01373BB20993228833AD002306 +:109750000293237A01930090089B290048A8604F48 +:10976000B8476B8801336B80EB880133EB8001369F +:109770000AAB7E229B1800229B5E9E4225DC0C9940 +:10978000089D2800D84743465A8A921912B2198A6E +:109790000AAB78201B181B88C91809B20B9B28003C +:1097A000D0470A9B002BD0D00028CAD00423E25E09 +:1097B000099B9A4200DA00200621635E9B18099AF1 +:1097C0009A42BEDB00230993BBE70898454B9847B4 +:1097D00002E14B46580159464B4B98472DE5B2B232 +:1097E0006B469B8DA9B29346D21812B2002001900D +:1097F0000B918C4663441BB200935346089912A800 +:10980000424FB84743466A461386138E5A46D21AC9 +:1098100012B2012101910B99CB1A1BB2009353464E +:1098200008991DA8B8476AE56B461A8C998D53466E +:1098300068468385838D9B46CB181BB20B9294465A +:10984000614409B2002201920095320012A82F4F04 +:10985000B84743466A461386128E5B469B1A1BB274 +:109860000B998A1A11B201220192009532001DA8AB +:10987000B84744E56B461B8D99466B469B8C9846D2 +:109880004B460899CB1A1BB2032201924246921909 +:1098900012B20092320028A81C4EB04753464A46E6 +:1098A0009B1A1BB2022201924246521912B2009236 +:1098B0002A00514633A8B047002128A8144DA847D4 +:1098C0000A90002133A8A8470D902AE50EA8114B55 +:1098D0009847834649E5290008980F4B98474CE084 +:1098E0006D5C0000D50B0100B143000009F70000DA +:1098F000C1A600000FFC0000C10E0100D17C0100D8 +:10990000F110010025A60000057B0100E5A600007E +:10991000EDA50000F3FB00004D10010043461A883E +:109920005B7A9B079B0F029343461B7A01930223AA +:109930000093230048A910A84D4FB8470AABDB8B12 +:1099400001331BB20AAA5383D38359462000494BE3 +:109950009847002701360EAB06229B5E4A4612212D +:10996000525E9B189E4211DCE3191800089332B234 +:109970002B000999D0470028ADD07F19EB199B45E2 +:10998000CCD910AAD3880133D380E3E74346A0465D +:109990001C0010AA0621535E0221525E9A420FD08B +:1099A00010A8013BC3802288637A9B079B0F029318 +:1099B000237A019302230093434648A92C4DA847DC +:1099C00040462D4B98470B982C4DA8470C98A8471C +:1099D0000A98A8470D98A847637A0C221A4206D124 +:1099E0004BB03CBC90469946A246AB46F0BD33AD69 +:1099F0002800234B984723886B80224B2B80237AA7 +:109A00002B730222A35E5E100122534001251D40EC +:109A1000637A5B0717D4637A1B07E1D506990A8836 +:109A2000B6B228A8931B038049888B1B4380ADB234 +:109A30009219521B82807618761BC68033AA07992A +:109A4000114B9847CCE7059F3A88B3B228A8D11AA2 +:109A500001807F88F91A4180A9B2D218521A8280F7 +:109A6000DB195B1AC38033AA0799074B9847D2E7E3 +:109A70006D5C0000F1100100D50B010079A600001B +:109A800021AB0000FF7F0000C5AB0000F8B5DE464B +:109A900057464E464546E0B50A9CA58A521B12B26F +:109AA000658A4D1B2DB2216A002940D12831615CA5 +:109AB000C90711D5217C03230B40012B00D8C5E138 +:109AC000022B06D00024032B45D1D417A41AE40F8F +:109AD00041E00132D40F3EE0217C03220A40911E76 +:109AE000012900D8B4E1012A0FD0002A10D1E918C9 +:109AF00000D5AFE16D42002D00DAADE10224AB42AA +:109B000029DD4019BD4B984725E00124002D22DCBA +:109B10001A00DD4200D5A1E16942CB43DB171940B1 +:109B200000248A4217DDB54B9847023413E0282100 +:109B3000615C8B46C90715D4A76911007943891266 +:109B40008C46F917C91BC90F61448D4200DC96E0B1 +:109B50005B469C07E40F20003CBC90469946A24619 +:109B6000AB46F8BDE1692F004F43BF12002906DD67 +:109B7000974200DC76E15B469C07E40FEBE79742F7 +:109B800000DBABE15B469C07E40FE4E75B465E0865 +:109B90000124664001243440DDE75B465E08012471 +:109BA000664001243440D6E7002190E100214B4675 +:109BB000C154636AD21A0135BD4243DA636A9A42DC +:109BC0001ADD002DF5DBBD42F3DA5B10D31ADBB2F0 +:109BD0004146615C0E4201D0DB43DBB2A946415DE8 +:109BE000F92BE4D8052BE1D94B431902C918C90157 +:109BF000CB18DB0DD9B2DAE7BD4223DA002D21DB29 +:109C0000A36953439B1253435B12DBB2E269002A00 +:109C100013DB2822A25C920701D5DB43DBB2461995 +:109C20003278F92B0DD8052B0AD953431A02D218D2 +:109C3000D201D318DB0DDAB203E0DB43DBB2E8E795 +:109C4000002232702823E35C9B070CD50024674573 +:109C500000DA80E702346346002B00DA7BE76146D6 +:109C6000664B984777E7013500D5F9E00224BD42FD +:109C700000DD70E7791B4019604B98476BE7984609 +:109C8000E9188C4506DD5B465C0801266640012428 +:109C9000344060E7110279438E14B4468903090EFB +:109CA000013212027A439614B2466646761BB146DA +:109CB000D4455CD0002F52DBFF22511AE5694D4399 +:109CC000AD12002E19DBC84517DD69434912CAB22F +:109CD0005946890701D4D243D2B249464618317851 +:109CE000F92A09D8052A00D899E04A4311028918AF +:109CF000C9018A18D20DD1B231704A46511C1DD407 +:109D000088451BDDFF22551BA2696A439212554309 +:109D10006D12EAB22825655DAD0701D5D243D2B2F6 +:109D200041180D78F92A08D8052A7AD96A4315020C +:109D3000AD18ED01AA18D20DD5B20D702822A25C83 +:109D4000920770D50024C84500DA04E702344B4678 +:109D5000002B00DAFFE64946284B9847FBE600292E +:109D600000D0CCE001398C46E1440131FF314E4650 +:109D7000002E1BDBC84519DD9203120E5218520843 +:109D80005946890701D5D243D2B24946461831789F +:109D9000F92A0AD8052A07D94A4311028918C901A4 +:109DA0008A18D20DD1B200E0002131702822A25CC5 +:109DB00092070CD55346591B0024884500DCCAE69F +:109DC0000234002900DAC6E60C4B9847C3E6494640 +:109DD00001311A00884500DD0A000024002A00D164 +:109DE000B9E60234002A00DCB5E6991A8018034B64 +:109DF0009847B0E60025A1E00025C2E04D10010023 +:109E00004A4601320124904500DAA4E60134002AD2 +:109E100000DAA0E6991A8018624B98479BE6002169 +:109E20006AE7002589E7494602311A00884500DDC6 +:109E30000A000024002A00D18DE60234002A00DC4A +:109E400089E6991A8018574B984784E6012482E6E0 +:109E5000012480E601247EE600247CE600247AE6E4 +:109E6000002478E61F00EB18594389128A4200DD6E +:109E70008CE61202A3695A4392121112FF231A4070 +:109E800039D09C469B1A9846636A424653431B123C +:109E90006246D21A491B8C461AD4B94218DA414696 +:109EA0004B435B12DBB25946890701D4DB43DBB27B +:109EB000614645182978F92B09D8052B00D873E697 +:109EC0004B431902C918C901CB18DB0DD9B229704F +:109ED00063465D1C2823984602266FE61F005B1927 +:109EE00059438912914200DD57E601321202A369FB +:109EF0005A439212C1E74D1BAC46FF22EAE7E269E2 +:109F000052424A439212002E19DBC84517DD5143D5 +:109F10004912C9B25D46AD0701D5C943C9B24D4624 +:109F200046193578F92909D8052900D862E7694327 +:109F30000D026D18ED016918C90DCDB23570494695 +:109F400001391FD488451DDDFF25AA1AA5696D4278 +:109F50005543AD126A435212D2B22825655DAD0752 +:109F600001D4D243D2B246183578F92A09D8052A45 +:109F700000D841E76A431502AD18ED01AA18D20DC9 +:109F8000D5B235702822A25C920700D438E70224AB +:109F9000884500DADFE5002900DCDCE5014B984765 +:109FA000D9E5C0464D100100F0B5DE4657464E4695 +:109FB0004546E0B58DB0019089460093169DAC7C76 +:109FC000E407E40F1023EE5E2F00083700230AA8F1 +:109FD000F95C19540133082BFAD1002C45D10AAB96 +:109FE00002215B5E002093424ADC0AAB06215B5EE5 +:109FF000934245DBB4460AAB00201B5E9A46F31839 +:10A00000994508DB009B4B4418000AAB04215B5EBA +:10A010009B1B98420BDD0AA80227C05F8719BA4232 +:10A0200062DB0AAF06217F5EBF1BBA425CDC002CFC +:10A030003CD153464A469C1A009D0020AC421FDC8E +:10A04000002C03DB21000198A24B98470AAB0420A7 +:10A05000185E4B46C01A0130002800DC0BE2854236 +:10A0600015DC002C1ED002200AE00AAB02215B5E48 +:10A070000120934204DC0AAB06215B5E9342B9DA0D +:10A080000DB03CBC90469946A246AB46F0BD009B45 +:10A09000191A019B9C4660448E4B9847002CE2D1D4 +:10A0A0000220EDE78542DED10120E9E753464A462A +:10A0B0009B1ADA43D2171340009A02209342DFDC46 +:10A0C0000AA90420095E4846091AC91A013158181C +:10A0D000824200DAD11A02200029D1DB019AD0187D +:10A0E0007C4B98470220CBE70AAB04215F5E80B22D +:10A0F000DB8801331B1A1BB2121A300070438046F2 +:10A1000012B2944500DDE0E1981B0138824200DD87 +:10A11000B3E10220B4E76B8B06AA53802B8B13802C +:10A12000E9E1802109010291AFE107AB6A8B5A8016 +:10A130002A8B1A80B8E107A94988002900D0F5E1E7 +:10A1400007A9013A0A80FF224A80EFE106A949885F +:10A1500007AD6D8849194910CFB2002C01D0FF43DB +:10A16000FFB2F31A013BC11812D4009DA9420FDAC5 +:10A17000019D6E183578F92F09D8052F36D97D4302 +:10A18000AC462D026544ED016544ED0DEDB2357030 +:10A19000D21A013A151811D4009B9D420EDA019B88 +:10A1A0005A191378F92F08D8052F21D95F433B029C +:10A1B000DB19DB01DF19FF0DFBB21370002C19D086 +:10A1C000481CC343DB171840009A1300111A95422C +:10A1D00000DC291A984200DB2DE1002900DA2AE18F +:10A1E000019B9C4660443B4B984724E10025CEE709 +:10A1F0000023E2E7009CA14200DD3AE1002902DBF6 +:10A200000198344B9847681C00D532E1A04200DD2C +:10A2100011E1009B191A019B9C4660442D4B984705 +:10A2200009E109AD059B180058434346181A029AE4 +:10A230002900294B98476A8806AB5988FF23591A89 +:10A240009B1A4B435B12DBB2002C01D1DB43DBB228 +:10A25000039D002D14DB0098854211DA0199080056 +:10A26000AC4660440178F92B09D8052B2BD959430A +:10A270000D0009024919C9014919C90DC9B2017076 +:10A28000049D002D13DB0098854210DA0199080027 +:10A29000AC4660440178F92B08D8052B15D94B43FF +:10A2A0001902C918C901C918C90DC9B20170039BA7 +:10A2B000013B0393049B0133049308AB5A80059B35 +:10A2C0000133059376E10021D9E70021EEE7002272 +:10A2D0003FE0C0464D100100A9090100002201988D +:10A2E0004254013C01229446E24401372E005F456E +:10A2F00046D83509029B9C4665443800784343465E +:10A30000181A00022B006B43C01A6900B44B98471F +:10A3100045192B119BB22D01FF221540761976109D +:10A32000F6B24A46002A01D0F643F6B2002C12DB00 +:10A33000009AA2420FDD2000019A125DF92E08D882 +:10A34000052EC4D9724311028918C9018A18D20D89 +:10A35000D2B201990A545246002AC2DB009A5245F1 +:10A36000BFDD5146019A525CF92EB8D8052EB5D9F9 +:10A37000564332029219D2019619F60DF2B2AEE7A7 +:10A380004C465A46D243059EB446624403998C46D5 +:10A390009444624603925A46501C049A9446604480 +:10A3A000821B049208AA558009AA1380558008AB25 +:10A3B0005B88002B3DD007AA528853435B12DBB267 +:10A3C000002C01D0DB43DBB2039A002A14DB009996 +:10A3D0000800904210DD01999446614408000A7813 +:10A3E000F92B08D8052B28D95A4311028918C9011D +:10A3F0008A18D20DD2B20270049A002A13DB009997 +:10A40000080090420FDD0199944661440A78F92BC7 +:10A4100008D8052B13D953431A02D218D201D318E6 +:10A42000DB0DDAB20A70039B013B0393049B0133FB +:10A430000493002C05D0022022E60022DBE7002254 +:10A44000F0E703990131009CA14212DC002902DBF4 +:10A450000198644B9847049B002B0ADBA342EADA7D +:10A46000009AD11A019A9C46624410005D4B9847AD +:10A47000E1E7002004E6002002E680204000844559 +:10A4800000DC4EE68021090202919A1AB01A431CA0 +:10A490009B466B69984200D147E640434346181AF1 +:10A4A000029A07A9504B9847584640434346181A0A +:10A4B000029A06A94C4B98475B466B6106AB5B88DA +:10A4C0006B8306AB1B882B8328E080235B009C45B5 +:10A4D00000DD81E080231B010293B31A9B466B6968 +:10A4E0009B4500D117E6584640434346181A029A46 +:10A4F00006A93D4B98475B46013B18000393584320 +:10A500004246101A029A07A9374B9847039B6B6182 +:10A5100006ABDB886B8306AB9B882B8306AB1B8863 +:10A5200007AA1288511E8B4200D104E652464946C2 +:10A53000501A0137BA1A12B207A90988994200D1F4 +:10A5400004E60133F61A831919000393961B013EA2 +:10A5500033181D000493002C12D0481CC343DB1792 +:10A560001840009E3300311AB54200DC291A984287 +:10A5700006DA002904DB019B9C466044194B98478E +:10A5800006AB1888431C059308AD40434346181A90 +:10A59000029A2900144B98476B88002B05D108AB11 +:10A5A0001A88013A1A80FF225A8008AB1B889B4503 +:10A5B00000DC36E607AB1B889B46059F5F4500D94C +:10A5C000F5E608AB1A88120102925E88049B9A464F +:10A5D000039BA1461C008CE680231B0202937CE7B0 +:10A5E000057B01004D100100A909010010B50C4BBD +:10A5F0001B68002B0CD00A4A01239468002C08D059 +:10A600000133DBB20832102BF7D10120404206E0C3 +:10A610000023034ADC00A0501219516018B210BD8B +:10A62000984D0020F0B587B00390049116001F00EC +:10A63000104B1B68002B1BD00E4C0022059203E030 +:10A6400008342368002B0DD000931D683B003200B6 +:10A6500004990398A847002808D00228F0D10123C4 +:10A660000593EDE70598431E9841013007B0F0BD12 +:10A670000120FBE7984D0020431C07D0044AC3008B +:10A68000985800219950D318596070470020FCE772 +:10A69000984D002030B50100084B1A008032002090 +:10A6A000002402E00833934206D05D688D42F9D160 +:10A6B00018681C605C60F5E730BDC046984D00200E +:10A6C000074B1A008032002002E00833934205D085 +:10A6D00019680029F9D00130C0B2F6E77047C046CA +:10A6E000984D0020F8B5CE46474680B504000F00CF +:10A6F0001500984608AB00269E5F09AB1B7899466B +:10A700002C21514B9847B54205DD2B0035001E002A +:10A710003B0047469846278165814346A381E681F1 +:10A7200003234A461340227C03218A431A4322749E +:10A730006782A5824346DF1B761BFB17FA185A4037 +:10A74000F11773184B4001259A4200DC002528219F +:10A7500001222B001340655C012085431D43655495 +:10A760000023E361A3613949216023712A4227D084 +:10A77000002F07D0390080204003354B98477043A5 +:10A780008012E061002E07D0310080204003304B62 +:10A7900098474743BF12A761E3692362227C0323E2 +:10A7A000134024D12822A35C02218B43A354236AA3 +:10A7B0009A10002B45DB62620CBC90469946F8BDAE +:10A7C000002E07D0310080204003214B984778436A +:10A7D0008012A061002F07D03900802040031C4B5D +:10A7E000984770438012E061A3692362D6E7012B8A +:10A7F0000CD0022B10D0032BD9D1236A002B1ADDE9 +:10A800002822A35C02218B43A354D0E72822A35C17 +:10A8100002210B43A354CAE7236A002B05DD28223B +:10A82000A35C02210B43A354C1E72822A35C0221AD +:10A830008B43A354BBE72822A35C02210B43A35400 +:10A84000B5E752426262B7E74D1001008D9A0000F1 +:10A85000057B0100F0B5CC8801344D88641B8E88DF +:10A8600001360D88761B251C24B237B2BC4200DDB0 +:10A87000351C2DB26D10AA4200DD2AB20E0008363A +:10A88000040008340D782570013401318E42F9D16D +:10A89000028201221A40837C01218B43134383747B +:10A8A000054B03600223037180231B0643610023D1 +:10A8B00043830383F0BDC046A99F0000F0B5DE4688 +:10A8C00057464E464546E0B591B00D9002910C9228 +:10A8D0004B101E000F9301230B405A425341F31AB1 +:10A8E0001D000E93040047003800884B98470590E0 +:10A8F000231E00DCDBE0B91E0391013B06938C466E +:10A90000604407901900491B0891290028000A9506 +:10A910007F4BA44663445B1A5D000B9549000A0017 +:10A920000996710088460C9B9946002300930225E6 +:10A930006D422B1A01979B46CA46914624E09B1A0A +:10A94000002E10DB2A88D318023F023D013E5E45EF +:10A950000CD03B80811900228C42F0DD4A46AA18B7 +:10A9600042445288EBE752461288ECE7019D2A00E8 +:10A9700005995046674B9847AC46E244009B01332B +:10A980000093A34200DBAAE0029A04925346039983 +:10A990005B5A5343069A002AE8DB0B9A524415008F +:10A9A000089A561E079F099A501C0A9A94466044BA +:10A9B000CFE701360235A64207D268882B8883424A +:10A9C000F7D00499C8476880F3E74446002C00DCC0 +:10A9D0007BE00C9B03930E98421C13007B4308936F +:10A9E0000F9D6B427B439B460D994B005B425A4344 +:10A9F00000920B00013B4B435B0002930023069344 +:10AA000003000122944663449A46B8465B4601938C +:10AA1000AB4637E000210FE04846008816E041468B +:10AA20000298095ACB180132B944F619023462452A +:10AA300012DA002BEEDB9911218011005846101A12 +:10AA40000028E9DD01988019009D405B1B1A5144E4 +:10AA50006145E4DA3188E5E74546B846079F644634 +:10AA6000002341463A882A8001336D180237A342F9 +:10AA7000F8DB8846069B01330693039A0232039261 +:10AA8000A34222DA039A1500138804994B430899CC +:10AA90000E0094466644059A17009446A946002283 +:10AAA00007974746210064468C46A846C1E7029BAB +:10AAB00004930C9D28881900174B984728800D9AFD +:10AAC000130053439846012B17D80598134B98470A +:10AAD00011B03CBC90469946A246AB46F0BD019FE2 +:10AAE0000C9D288804990C4B984728800D9A1300D8 +:10AAF00053439846012B00D86BE70C9D0126064B6B +:10AB000099464346A0461C0057E7C046C10E0100C7 +:10AB1000FEFFFF7F8D0C0100057B0100D50B0100BE +:10AB200010B504005421234B9847234B1B886380A6 +:10AB300023791F2293432371A188204B1940A180C0 +:10AB400000216171A17B9143A173E1891940E181E9 +:10AB50000021E1733420215C91432154A18E1940DE +:10AB6000A18621003431002048704621605C90436A +:10AB70006054605A184060522100463100204870ED +:10AB8000A17F9143A177E28B1340E3830023E37716 +:10AB9000FF3363812373237723753622A354084A36 +:10ABA00022634421635422642822A354F03B63822D +:10ABB00010BDC0464D100100A88A01001FF8FFFF1C +:10ABC00030000020F0B5DE4657464E464546E0B51B +:10ABD000B1B0814604919346C4884588631C5B1BD1 +:10ABE0001BB2002B01DC00F0CEFF86880788731CA7 +:10ABF000DB1B1BB2002B01DC00F0C5FF1300202281 +:10AC00009B5E9846002B01D100F0E1FE28235A46B6 +:10AC1000D35C0693052B01D800F0D9FE136A012BF3 +:10AC200000D1E2E05B46598CDA8C8B1AFF18BFB278 +:10AC300014AB1F8089187618B6B29E805946898C4D +:10AC4000881A2D18ADB25D805218A418A4B2DC8009 +:10AC50004346DB0F43445910C94389B216AA7818FA +:10AC600010805B1001339BB2F018908069185180FE +:10AC7000E318D380069BFA2B01D9FF2306939F4B41 +:10AC800098479F4B98478246049A16A918A89D4B4F +:10AC90009847002801D100F09AFE53461B8A9C4633 +:10ACA00018AB1A886146521A1A805246508A5A883E +:10ACB000121A5A8099886246891A9980DA88121A7B +:10ACC000DA8000231AA94846C25C5A540133082B83 +:10ACD000FAD181461AAB198801318AB294461A809A +:10ACE0005888013082B205926A46928A5A809888C2 +:10ACF000421E9A80DA88511ED9805B4600215B5E35 +:10AD00006146411A09B20598101A00B20200814248 +:10AD100000DA0A0052100F929A4200DD0F930136BA +:10AD2000F61BB2B2924611B20134651BADB22AB223 +:10AD30001400914200DA0C0064109C4200DD1C00FB +:10AD4000A044434609934046584340006E4B984701 +:10AD50000E905B462027DF5F22B2B846D3190793D7 +:10AD6000002322A814A95E5C1E540133082BFAD1DB +:10AD7000FB0FDB195B109BB2012139400E001091D3 +:10AD8000591E70427041091A0C19A4B222A98C8074 +:10AD900001339BB24B805046241A0C80ED18CD80B5 +:10ADA000002329A8594CA0474346012B01D102F0AA +:10ADB0005BF97B100D93079C0C942000524B984735 +:10ADC0000A90002C61DD0C9B5B000B93079B504AA3 +:10ADD000944663445B000E9A9246002290464D4F83 +:10ADE00052460892CA4699461CE05B4624229B5E66 +:10ADF000002B00D016E75B4626229B5E002B00DD71 +:10AE000010E700F0E4FD0B990898434B9847089B26 +:10AE10000B9A94466344089301239C46E044079BA5 +:10AE2000434531DD0C990A9C20003C4B98476B460A +:10AE30001C229B5E424612B229A9009100212000EB +:10AE4000299CA0470028DED00D9B05930A9D2878F9 +:10AE5000800119002F4B9847089B1880079A012AF8 +:10AE6000D5DD1C004B441E0005E0238863800135BE +:10AE70000234A642CBD068782B788342F5D080018B +:10AE80000599B8476080F2E7D1460A98244B984765 +:10AE90000D9B012B01D102F0F6F86B461C229B5E44 +:10AEA00008930E9C22000D9D290018001D4B984709 +:10AEB000109BAC4663441FB2012F3ADD05972088F2 +:10AEC00080013900134B984720800C9D6D43012D64 +:10AED0002AD90F4A944665446D00A44665440D4E38 +:10AEE00002E00234A5421FD0608823888342F8D054 +:10AEF00080010599B0476080F3E7C046B143000088 +:10AF000009F700000FFC0000C10E010055A8000069 +:10AF1000FFFFFF7F057B01004D100100F1100100D4 +:10AF2000D50B0100BDA800000E9A39000898B54B5A +:10AF30009847079F7F43002F0AD00E9A130078008E +:10AF40009446604419881170023301328342F9D16A +:10AF500016A94A88CB8801339B1A1BB2D80FC31895 +:10AF60005B10D3189BB210931BB20C930A888B888A +:10AF700001339B1A1BB2D90FCB185B10D3189BB2AD +:10AF800011931BB20D93A04B984700230893002800 +:10AF900010D15B4622229B5E002B0BD15B46242204 +:10AFA0009B5E002B06D15B4626229A5E534253419C +:10AFB000DBB2089316ACA08801302388C01A00B217 +:10AFC000924B984705906B463C229A5E01231AA942 +:10AFD00029A88F4DA847002129A88E4B98470F908C +:10AFE0000422A35E1CA98B806A46928C0A920133CC +:10AFF0009B1A0B800220235E4B80013B94466344E6 +:10B00000CB80049A1EA8844B9847002871D01EABB1 +:10B0100006229B5E0C998B4201DD1EABD9801EABD4 +:10B0200000229B5E0D9A934203DC119B01331EAA02 +:10B0300013801EAB00215A5E9B8801339B1A1BB202 +:10B040000B93002B55DD1EAB06215C5E02269E5F36 +:10B050001CAB02215D5E751B09994D4300215B5EAF +:10B06000D21AAD180E9B9C466544002322A81EA947 +:10B070005A5C1A540133082BFAD122AB5A88DA8071 +:10B080000134A61B36B2002E33DD731C9846012610 +:10B0900022AC624B9A4607955F4619E0FA8B29234A +:10B0A000FB5C0293069B01930090059B2100049892 +:10B0B0005B4DA847638801336380E3880133E380F5 +:10B0C000099B9C46079B634407930136B0450FD00C +:10B0D0000B9A07990598534B98470221625E002509 +:10B0E000615F0B9B0598D0470128D7D10130D5E788 +:10B0F000BB4616AA0421535E1CA98B8001330A9813 +:10B100001B1A0B800623D25E531C1B1A4B80CA806D +:10B11000049A1EA8404B9847002800D185E01EAB3A +:10B1200002229B5E0C9A934203DC109B01331EAA01 +:10B1300053801EAB00229B5E0D9A934203DC119B51 +:10B1400001331EAA13801EAB00215A5E9B88013377 +:10B150009B1A1BB20B93002B67DD1EAB06215C5EB6 +:10B1600002269E5F1CAB06215D5E2D1B09994D4397 +:10B1700000215B5ED21AAD180E9B9C4665440023ED +:10B1800022A81EA95A5C1A540133082BFAD122AB0B +:10B19000DA885A800134A61B36B2002E45DD731CB6 +:10B1A0009846012622AC1D4B9A4607955F4619E04A +:10B1B000FA8B2923FB5C0293069B01930090059B6D +:10B1C00021000498164DA8476388013B6380E388FB +:10B1D000013BE380099B9C46079B63440793013630 +:10B1E000464521D00B9A079905980E4B98470221A6 +:10B1F000625E0025615F0B9B0598D0470128D7D17F +:10B200000130D5E7BDA80000C1A60000C10E0100B5 +:10B2100055A80000EDA500000FFC000025A60000C9 +:10B220006D5C00008D0C0100BB4616AA0421535E24 +:10B230001CA98B8001330A981B1A0B805388844603 +:10B2400063444B80D3881B1ACB80049A1EA8D14B31 +:10B25000984700286CD0089B002B0AD01EAA1088A3 +:10B260004B469B88191C1BB204B2A34200DA011C96 +:10B2700011801EAB00215A5E9B8801339B1A1BB2C2 +:10B280000793002B54DD1EABDF8801375B88FF1A64 +:10B290003FB209990B00013B4B431CA90020095EFA +:10B2A000521A9A1813000E998C4663440B9300238C +:10B2B00022A81EA95A5C1A540133082BFAD122ABDA +:10B2C0005A88DA80002F33DD0025B34B984622AC34 +:10B2D000089B9A465E46BB4615E0F28B2923F35C39 +:10B2E00002932823F35C01930090059B21000498AE +:10B2F000AA4FB847638801336380E3880133E38052 +:10B3000001355D4513DA079A0B990598C04702206D +:10B310005346002BE1D10223E25E0023E15E079B4E +:10B3200005989F4FB8470128D7D10130D5E7B346DC +:10B33000099B002B1FDDDF0F9C4667447F100E9D8D +:10B3400000265A1E9446B8461F000BE01978107864 +:10B35000187011700133013A9C42F7D1ED19013692 +:10B36000B74208D04346002BF8D02B006246AA18FB +:10B3700041466C18EAE716AA0021535E1CA90B800F +:10B38000013B0A9CA44663448B800223D35E4B801E +:10B39000013B6344CB80049A1EA87E4B984700284B +:10B3A0006FD01EAB06229B5E0C998B4201DD1EAB5B +:10B3B000D9801EAB04229B5E0D998B4201DD1EAB32 +:10B3C00099801EAB00215A5E9B8801339B1A1BB2E9 +:10B3D0000B93002B55DD1EAB06215C5E02269E5FA3 +:10B3E0001CAB02215D5E751B09994D4300215B5E1C +:10B3F000D21AAD180E9B9C466544002322A81EA9B4 +:10B400005A5C1A540133082BFAD122AB5A88DA80DD +:10B410000134A61B36B2002E33DD731C984601267C +:10B4200022AC5F4B9A4607955F4619E0FA8B2923B9 +:10B43000FB5C0293069B01930090059B21000498FE +:10B44000564DA847638801336380E3880133E38066 +:10B45000099B9C46079B63440793013646450FD0E2 +:10B460000B9A079905984C4B98470221625E00257C +:10B47000615F0B9B0598D0470128D7D10130D5E7F4 +:10B48000BB4616AA0021535E1CA90B80013B0A9CF7 +:10B49000A44663448B800623D25E531C1B1B4B8047 +:10B4A000CA80049A1EA83B4B9847002800D17AE036 +:10B4B0001EAB02229B5E0C9A934203DC109B01336D +:10B4C0001EAA53801EAB04229B5E0D998B4201DDA8 +:10B4D0001EAB99801EAB00215A5E9B8801339B1ADC +:10B4E0001BB20B93002B5EDD1EAB06215C5E0226B9 +:10B4F0009E5F1CAB06215D5E2D1B09994D4300210B +:10B500005B5ED21AAD180E9B9C466544002322A8B0 +:10B510001EA95A5C1A540133082BFAD122ABDA88DF +:10B520005A800134A61B36B2002E3CDD731C9846AF +:10B53000012622AC1A4B9A4607955F4619E0FA8B12 +:10B540002923FB5C0293069B01930090059B21003D +:10B550000498124DA8476388013B6380E388013B50 +:10B56000E380099B9C46079B63440793013646454D +:10B5700018D00B9A07990598074B98470221625EED +:10B580000025615F0B9B0598D0470128D7D101307A +:10B59000D5E7C0460FFC00008D0C01006D5C00007B +:10B5A00025A60000BB4616AA0021535E1CA90B80ED +:10B5B000013B0A9CA44663448B80538863444B80C0 +:10B5C000D3881B1BCB80049A1EA8C54B9847002824 +:10B5D0006CD0089B002B0AD01EAA4B461888938873 +:10B5E000191C1BB204B2A34200DD011C91801EABEA +:10B5F00000215A5E9B8801339B1A1BB20793002BD4 +:10B6000054DD1EABDF8801375B88FF1A3FB2099912 +:10B610000B00013B4B431CA90020095E521A9A18EB +:10B6200013000E998C4663440B93002322A81EA995 +:10B630005A5C1A540133082BFAD122AB5A88DA80AB +:10B64000002F33DD0025A74B984622AC089B9A4675 +:10B650005E46BB4615E0F28B2923F35C0293282358 +:10B66000F35C01930090059B210004989E4FB8471E +:10B67000638801336380E3880133E38001355D45EE +:10B6800013DA079A0B990598C04702205346002BFE +:10B69000E1D10223E25E0023E15E079B0598934F10 +:10B6A000B8470128D7D10130D5E7B3461CA916AB5E +:10B6B0001A880A9CA44662440A809A88121B8A80CF +:10B6C00002229B5E4B80013B6344CB80049A1EA800 +:10B6D000834B9847002876D0089B002B0AD01EAADF +:10B6E000D0884B465B88191C1BB204B2A34200DD14 +:10B6F000011CD1801EAA9388013311885B1A1BB2EA +:10B700000B930221535ED4880134E41A24B20999C0 +:10B710000C911CAA0225555F5D1B4D434B1EED1875 +:10B720000E9B9C466544002322A81EA95A5C1A540D +:10B730000133082BFAD122AB5A88DA80002C42DD83 +:10B74000631C984601266A4B9A4622AC07955F46D1 +:10B750001EE0069BFF2B1FD1069920E0FA8B2923C0 +:10B76000FB5C0293FF2301930090059B210004984A +:10B770005D4DA847638801336380E3880133E3802C +:10B780000C9B9C46079B634407930136464519D0A2 +:10B79000079B1978FF29DCD0069B5943090A0B9AAD +:10B7A0000598D0470220089B002BD7D10223E25EE8 +:10B7B0000023E15E0B9B05984C4DA8470128CDD195 +:10B7C0000130CBE7BB461CA916AB1A880A9CA446DD +:10B7D00062440A809A88121B8A8006229A5E531C51 +:10B7E0001B1B4B80CA80049A1EA83D4B984700281B +:10B7F00000D181E0089B002B0AD01EAA50884B463E +:10B80000DB88191C1BB204B2A34200DA011C518070 +:10B810001EAA9388013311885B1A1BB20B93062171 +:10B82000535E5C1C5288A41A24B209991CAA0625EE +:10B83000555FED1A4D434B1EED180E9B9C4665441B +:10B84000002322A81EA95A5C1A540133082BFAD1EE +:10B8500022ABDA885A80002C4EDD631C9846012604 +:10B86000234B9A4622AC07955F46CB461EE0069BCB +:10B87000FF2B1FD1069920E0FA8B2923FB5C029352 +:10B88000FF2301930090059B21000498164DA847C3 +:10B890006388013B6380E388013BE380099B9C460E +:10B8A000079B634407930136B04523D0079B197863 +:10B8B000FF29DCD0069B5943090A0B9A0598D0470B +:10B8C0000220089B002BD7D10223E25E0023E15E19 +:10B8D0000B9B0598054DA8470128CDD10130CBE73A +:10B8E0000FFC00008D0C01006D5C000025A600001F +:10B8F000AD0F0100D946BB461CA916AB1A880A9C9D +:10B90000A44662440A809A88121B8A805A8862443C +:10B910004A80DB881B1BCB80049A1EA8C44B984727 +:10B9200000284CD0089B002B49D11EAA93880133D4 +:10B9300011885B1A1BB20693D78801375388FF1A08 +:10B940003FB2002322A811005A5C1A540133082B7D +:10B95000FAD122AB5A88DA80002F30DD0137012579 +:10B96000B44B9A4622ACB44B98465E46BB4614E0B4 +:10B97000F28B2923F35C0293FF2301930090059B34 +:10B9800021000498AD4FB847638801336380E38892 +:10B990000133E3800135AB4510D02823F15C069AD2 +:10B9A000059F3800D0470221625E0020215E069B81 +:10B9B0003800C0470128DBD10130D9E7B3460F98E2 +:10B9C0009F4B984705989F4CA0470E98A0475B4611 +:10B9D0001B7B9A46052B3FD900231AA94846C25C17 +:10B9E0005A540133082BFAD181465B4610229B5EE4 +:10B9F000012B1FDD5B461B7DF92B1BD95B4600220B +:10BA00009B5E002B16D05B46588A1AAB8108012238 +:10BA100011401C8809191980410811405C880919D6 +:10BA20005980C40814409988091B99800240D9881C +:10BA30008A1ADA805346FA2B01D9FF239A46824BA1 +:10BA40009847824B98470700049A1AA91CA8784B7C +:10BA50009847002800D09DE05B46D86A002806D0B1 +:10BA600036235A46D35C052B01D900F0D7FB5B4641 +:10BA70001E7D052E19D910229B5E002B15D05B462A +:10BA800012229B5E002B10D0FA2E00D9FF266E4B9F +:10BA900098476E4B98470700049A494618A8644B8C +:10BAA0009847002801D000F023FD5B46D96B0029A0 +:10BAB00006D044235A46D35C052B01D901F038F84F +:10BAC0005B461B7F9846052B5DD95B4618229B5E23 +:10BAD000002B58D04346FA2B01D9FF2398465C4BE4 +:10BAE00098470A90002316A94846C25C5A5401336D +:10BAF000082BFAD15B465D8B16AB1A88521B92B2AB +:10BB000092461A805A88521B92B207925A809F8896 +:10BB1000EF19BFB29F80DA88AD18ADB2DD805B4609 +:10BB200000229B5E06935B4618229B5E05930023D2 +:10BB300018A816A95A5C1A540133082BFAD16B467F +:10BB40009C8A18AE33881B1B9BB208933380B38842 +:10BB5000E3189BB20993B38073881B1B9BB20B93B2 +:10BB60007380F388E418A4B2F480374B9847374BBE +:10BB700098478146049A31001AA82D4B984700280F +:10BB800001D001F031F831B03CBC90469946A24654 +:10BB9000AB46F0BD388A1CAA1188091A89B21180F7 +:10BBA0007D8A5488641B548093881B1A9BB29380AF +:10BBB000D088401BD08001335B1A1BB20A930B93D1 +:10BBC0001800244B98470690214B984783B20C935A +:10BBD00000220792002B06D15B469B79023B5A1E3E +:10BBE0009341DBB207931AA98C8801340B88E41ABD +:10BBF00024B226005B4600229A5ECB880133498836 +:10BC00005B1A1BB2A34200DD23005B1098469342EF +:10BC100000DD9046079B002B2FD04346002B2CD1F4 +:10BC20005B469B79002B17D001235B420F9333E0D7 +:10BC30000FFC0000AD0F010025A600006D5C0000A8 +:10BC400079A60000D50B0100B143000009F7000000 +:10BC5000C1A60000C10E01005B465A885B7B0293BF +:10BC6000534601930123009300231AA90498AE4C74 +:10BC7000A04701235B420F9377E24346002B37DD59 +:10BC800043461AB200231AA929A8A84DA8470021A3 +:10BC900029A8A74B98470F905B465B886A46138498 +:10BCA0005B469B7900220D92022B25D01AAB042211 +:10BCB000995E0020185E4B1C1B1A1BB242465200B4 +:10BCC0009B1A09931EAA108091801CA90223CD5EA5 +:10BCD0007B8A5B191BB25380D38006228B5E9D4208 +:10BCE00000DD32E24B461093B9465E46D346E8E0AB +:10BCF00001235B420F93CFE75B465A889B889A42A9 +:10BD0000D4D060008B4B98470D90002ECEDD0025DF +:10BD100042460992B0462E005D46BB4605901EE0A5 +:10BD2000A978C906C80E6B885B059B0EEA78D20815 +:10BD300021781F27B94301432170590123887E4888 +:10BD400003400B432380D2001B0A07210B401343FF +:10BD500063700136059B02330593B04558DD059CA1 +:10BD60000823E95E40464843001232B29042D7DAD7 +:10BD70000A27EB5F47465F433F12BA423FDA591A40 +:10BD800043465943301A00B20302181A09126B4B8A +:10BD90009847FF231840191A6A79D2084243EB7872 +:10BDA000DB084B43D3181A02D218D201D218D20D95 +:10BDB0001F231A40AB885B059B0E43439C466B8850 +:10BDC0005B059B0E4B4363441F02BC469C44674685 +:10BDD000FF01BC466344DB0D3F273B402F79FF0644 +:10BDE000FF0E7843AF78FF06FF0E7943401801023B +:10BDF0000918C9010918C90D1F20084098E72979B9 +:10BE0000C906C80EAB885B059B0E6A79D2088FE71E +:10BE1000099B98465F46AB4648E70B99069F38005A +:10BE2000474B98474B465A8A521912B2198A0EABA1 +:10BE30001B8FC91809B20A9B3800424FB8470590BA +:10BE4000B379012B19D181E00B99069F38003C4B47 +:10BE500098474B465A8A521912B2198A0EAB1B8F59 +:10BE6000C91809B20A9B3800364FB8470590B37914 +:10BE7000012B6BD0079A002A3ED1022B00D153E14F +:10BE80000C9B002B02D1099B322B0CDC737B0293A1 +:10BE90005B460193059B0093069B6A46128C1EA984 +:10BEA0000498214CA0471EAB5A8801325A80DA8888 +:10BEB0000132DA8001350EAB3E229B5E9D4200DDF1 +:10BEC0003FE14B4612241C5F64191AAB02229B5EB1 +:10BED000434401339C42B7DD1AAB06229B5E4246C7 +:10BEE0009B1A013B9C42AFDA079B002B95D0B3799C +:10BEF000012B29D001220592099A322A00DDA0E007 +:10BF0000022B00D110E1012BBAD1737B02935B4667 +:10BF10000193059B0093069B6A46128C1EA9049808 +:10BF2000014CA047BFE7C0466D5C000055A800006B +:10BF3000EDA50000C10E01001FF8FFFF057B010009 +:10BF4000F110010025A60000012305937288B38833 +:10BF50009A426DD01AA94A88A31A9BB20827F05FAB +:10BF60008246C9880131891A09B202004A43121275 +:10BF700018B28446824245DA0A27F05F07004F4331 +:10BF80003F12BC4500DBB1E05746C01B41439B1A42 +:10BF90001BB21802C01A0912B84B9847FF2108407B +:10BFA000091A7279D2084243F378DB084B43D3185D +:10BFB0001A02D218D201D218D20D1F239C461A4061 +:10BFC000B3885B059B0E43439A4673885B059B0EC3 +:10BFD0004B439A4453461B025344DB015344DB005A +:10BFE0009B0E3779FF06FF0E7843B778FF06FF0EEA +:10BFF0007943411808024018C0014018C00D61463D +:10C00000084007E0B178C906C80E73885B059B0E2F +:10C01000F278D2081F21089F8F433900014358014D +:10C02000974B0B400343D2025B055B0D1343089310 +:10C03000079B002B00D168E70123099A322A00DC14 +:10C0400063E71AAA0221525E42440132944208DB9D +:10C050001AAA0621525E4146521A013A944200DC65 +:10C060004EE71AAB00229B5E22A90B80424668462F +:10C070000287048F013BE3188B801EAB5A884A80ED +:10C08000DB88CB80737B02935B460193059B009317 +:10C09000069B028C04987B4FB847B379012B2ED0B6 +:10C0A0001AAB04229B5E22A95A1C141B0C808B80A5 +:10C0B00042469B1A01334A461021525E0EA938208F +:10C0C000095E52189B1ADA43D2171340069A944617 +:10C0D0006344727B02925A460192059A00926A4624 +:10C0E000128C22A90498674CA047DCE63179C90676 +:10C0F000C80EB3885B059B0E7279D2088AE722A925 +:10C100001AAA1388E3180B8093881B1B8B80737B00 +:10C1100002935B4601930123009300236A46128C2D +:10C120000498584FB847BBE7737B02935B46019373 +:10C13000059B0093069B0D9A1EA90498524CA0479C +:10C14000B1E6DA46109B9946B3465B469B79002BD5 +:10C1500005D10C9B002B02D1099B322B0CDC0D9BD3 +:10C16000002B02D01800494B98470F98484B98472E +:10C170000698464B98476FE443466A469382968AF0 +:10C180001EAC1AAD2B88F3182380AB889B1BA380B1 +:10C190000222AB5E6380F318E3805B465A885B7BC8 +:10C1A0000293534601930123009300232100049836 +:10C1B000344FB8470623E95E8A1B12B2628006201C +:10C1C000235E9A4202DC01331EAA53801EACE1803A +:10C1D0005B465A885B7B0293534601930127009785 +:10C1E000002321000498274DA8471AAA138823800A +:10C1F0009388A38053880133F3186380D388013B6D +:10C200009E1BE6805B465A885B7B029353460193F4 +:10C210000097002321000498A847A0E71D4B9847EA +:10C220000700012809D902283CD0002300220499E4 +:10C230004846194CA047FFF71AFC29A95B46D86A63 +:10C24000164B9847012801D0FFF711FC299BDD020E +:10C250006D0D6E230EAA944663441E8876091EACAB +:10C2600020000F4B984736235A46D35C2370372360 +:10C27000D35CA372938EA38137E0C046057B010097 +:10C280001FF8FFFF6D5C000051690000D50B010035 +:10C2900079A6000061810000417F000049E50000AF +:10C2A000AD7E000022AC2000874B98475B469B8EFA +:10C2B00023805B461B6B636036235A46D35C237234 +:10C2C0000C22A35E29AE00220292804A01920A212A +:10C2D000625E00925A46126B5946C96A30007C4C25 +:10C2E000A0470023F55E0223F65E38235A46D35C4E +:10C2F000DB073DD44B4618885988DB8801335B1A2D +:10C300001BB24A4692880132121A12B2521BD40F43 +:10C31000A2185210801880B21CAA10809C1BE30F38 +:10C320001B195B10C91889B25180013D45199580D0 +:10C33000731ECB189BB2D380022F00D19AE05B46CC +:10C3400000229A5E49461CA8624B98470124644229 +:10C35000002801D100F0ABFE1EAB5A46D26A049908 +:10C360001CA85D4DA84720005C4B9847FFF77FFB5A +:10C370005B4600229A5E0023494629A8584CA047F4 +:10C38000002129A8574B984707904B4698880130C1 +:10C390001B88C01A00B2544B984629009847CB0F0F +:10C3A00059184B1006934B4606229B5E9A464B4605 +:10C3B0005C885346581C001B00B23100C047CB0FAD +:10C3C0005B185B10E41AA4B223B21CAA5380B1B26A +:10C3D000884601396418D4809A4546DB1400ADB212 +:10C3E000424B9A463C4E05924B46B9461F002AE006 +:10C3F000002300935B46DB6A22AA04990598D04784 +:10C400002388EB181BB22380A288AA18A2804A4670 +:10C410000421525E9A4208DB022FE9D01EAB5A4635 +:10C42000D26A04990598B047EAE74B46B9461F001F +:10C43000638843441BB26380E2884244E280062161 +:10C440007A5E9A4210DB3B88069A9B1A9BB21AB21C +:10C450002280691E5B18A38004217B5E9342E7DB88 +:10C460003B004F469946D7E7B94607981B4B98477C +:10C47000FFF7FDFA012214401CA8091941801B197D +:10C48000C3805B4600229A5E4946124B98470028BB +:10C4900016D15B4600229A5E0023494629A8104C1B +:10C4A000A047002129A80F4B9847040000230093C0 +:10C4B0005B46DB6A22AA04991CA80C4DA84752E7E8 +:10C4C00001246442F2E7C046C5810000187C0000E8 +:10C4D000E51A01009DFE0000417F000079A60000E2 +:10C4E00055A80000EDA50000D17C010015820000D8 +:10C4F000388A18AA1188091A89B211807D8A54884D +:10C50000641B548093881B1A9BB29380D088401B75 +:10C51000D08001335B1A1BB20A930B931800B84BFF +:10C5200098470590B74B98470025002806D15B46F1 +:10C5300012255D5F0F3D6A426A41D5B25B4600211C +:10C54000595E4B469B8801334A4612889B1A4A46DD +:10C55000D288013248464088121A12B21BB2934266 +:10C5600000DD13005B1009938B4200DD0991099BEC +:10C57000002B00DC84E01AB20023494622A8A24C1A +:10C58000A047002122A8A14B98470F905B4610209E +:10C59000185E00231AA94C46E25C5A540133082B5A +:10C5A000FAD1A1461AAB1A885B465B8A59076BD54C +:10C5B00084B21AA912190A808A88190769D584B227 +:10C5C0001AA9121B8A804A88990767D584B21AA9CA +:10C5D00012194A80CA88DB0765D583B21AA9D31A13 +:10C5E000CB80099B98466A461383138B9A461A1A86 +:10C5F00012B2012329A8844CA047002129A8834B0B +:10C60000984710905B4610201B5E013B0D934146FE +:10C61000434500DA0D915B46DB8911936A469383AB +:10C620005B465B7D0693002D00D1BCE11222BB5E10 +:10C630004A460221525ED21A0D998C46624418A9CC +:10C640000620095E0C91914200DD0C921CAA49461D +:10C650000988118049468988918018A902254D5F73 +:10C660005B191BB25380D3800C9BAB4200DA9FE076 +:10C670001EAC08954B46B1465A460E921E0047E046 +:10C6800001235B420F9381E7099944186442A4B2E5 +:10C690008FE7099944186442A4B291E709994418B4 +:10C6A0006442A4B293E7099BC3185B429BB295E72F +:10C6B0000422B35E5A1C5146521A2280A380099A62 +:10C6C0009A1A013210217B5E0EA92820095E5B18A0 +:10C6D000D31ADA43D2171340059A94466344069A54 +:10C6E00002924A460192424600926A46928B21008B +:10C6F0000498474DA8471CAB5A8801325A80DA8803 +:10C700000132DA80089A013208920C9B93424ADB8C +:10C710000B99059D28003F4B98477A8A089B9C46B9 +:10C72000624412B2398A0EAB1B8DC91809B20A9B3A +:10C7300005952800384DA84780461CAB5A88628072 +:10C74000DB88E3800022B35E2380013B5344A38057 +:10C75000069A02924A4601920090059B6A46928B85 +:10C76000210004982A4DA8470623E25E0221735E49 +:10C770000E991020095E5B189A4299DA3388534467 +:10C780002380B38852469B1AA380069B02934B4694 +:10C7900001930123009300236A46928B21000498A1 +:10C7A0001B4DA84784E732004E460E9B9B469146A0 +:10C7B0001222BB5E4A460621525ED21A0D99521AC7 +:10C7C00018A902254D5F954200DA15000C990A0060 +:10C7D000A94201DB013215005B191BB21CAA538070 +:10C7E000D38018AB06229B5E9D4200DD99E01EAC13 +:10C7F00008954B46B1465A460C921E0041E0C04691 +:10C80000C10E0100C1A6000055A80000EDA5000062 +:10C810006D5C0000F110010025A600000422B35E4B +:10C820005A1C5146521A2280A380099A9A1A013240 +:10C8300010217B5E0EA92820095E5B18D31ADA430B +:10C84000D2171340059A94466344069A02924A46C8 +:10C850000192424600926A46928B21000498AF4DA5 +:10C86000A8471CAB5A8801325A80DA880132DA8034 +:10C87000089A0132110008920EAB2E229B5E99425B +:10C880004ADC0B99059D2800A54B98477A8A089B9E +:10C890009C46624412B2398A0EAB1B8DC91809B28C +:10C8A0000A9B059528009F4DA84780460022B35E4D +:10C8B0002380013B5344A3801CAB5A886280DB88F1 +:10C8C000E380069A02924A4601920090059B6A46CE +:10C8D000928B21000498914DA8470623E25E062121 +:10C8E000735E0C991020095E5B1A9A4296DD3388BC +:10C8F00053442380B38852469B1AA380069B02931D +:10C900004B4601930123009300236A46928B21003A +:10C910000498824DA84781E732004E460C9B9B4607 +:10C9200091466B46998E1CAC4B465A8801328A1848 +:10C930006280DB88013B5B1AE3804B4600229B5EF2 +:10C9400023805A46128A013A9B18A380069B0293C1 +:10C9500001960127009700236A4644215218128845 +:10C96000210004986D4DA8474A460421525E59465D +:10C970000B8AD31A01332380A280069B029301966F +:10C98000009700236A464421521812882100049817 +:10C99000A8471098644CA0470F98A0470598634B90 +:10C9A0009847FFF782F84B460021595E1CA801808A +:10C9B0004B4604229A5E828018AB02241C5F7B8A5D +:10C9C0001B191BB24380C3805B4612201B5E042BE5 +:10C9D0002BD0082B45D0002216210EA88446614496 +:10C9E0000A70172161440A70022B2CD101321433D2 +:10C9F00063441A7016230EAA944663441B78002BD6 +:10CA000004D1173363441B7801255D4001231D4089 +:10CA100014AB1D70250018AB06229B5E9C42B8DC4F +:10CA20001CAC3F4B9A46B04651E00D9A9446614487 +:10CA30001CAA9180002216210EA8844661440A7027 +:10CA4000172161440A70012B10D0032BD2D1023B75 +:10CA500016220EA98C46624413701722624413708A +:10CA6000C8E70D99521A1CA90A80E3E70122163380 +:10CA70000EA98C4663441A70BCE70B99059E3000E2 +:10CA8000D0477A8A521912B2398A0EAB1B8DC91857 +:10CA900009B20A9B05963000224EB047069A0292D0 +:10CAA000424601920090059B6A46928B21000498B1 +:10CAB0001A4EB047638801336380E3880133E38013 +:10CAC00001350EAB2E229B5E9D4200DD61E714AB6B +:10CAD0001B78002BD1D116330EAA944663441B78E1 +:10CAE000002B09D00223E25E4B4602215B5E0D99CA +:10CAF0008C4663449A42C0DD17230EAA94466344D1 +:10CB00001B78002BD6D00223E25E4B4606215B5EEB +:10CB10000D995B1A9A42CDDBAFE7C0466D5C000011 +:10CB2000F110010025A6000079A60000D50B010038 +:10CB30004C2398465B4642469B5E1CAD00260296FF +:10CB4000BC4A01925A464E20125E00925A46126C1E +:10CB50002800B94CA04722AC268066802B88013B78 +:10CB6000A3806B88013BE3801EAD50235A46D25C04 +:10CB70002B0021004846B14FB8472A884823594620 +:10CB8000CB5AD21892B22388D31823806B884A21BB +:10CB90005846415A5B189BB2618859186180A18838 +:10CBA0005218A280E2889B18E38029AD2800A44B8C +:10CBB00098475B461B6C6B605B4642469B5AAB8159 +:10CBC0005B4602329B5A6B8146235A46D35A2B80CE +:10CBD0004423D35C2B720096D36B2A000499200067 +:10CBE000984CA047FEF76CFF069B01375246BA1AD5 +:10CBF00001350799691A09B212B28A4200DD0A00AA +:10CC000052109A4200DD069A059B9918099B013340 +:10CC100008981B1A01340B98201A00B21BB28342E9 +:10CC200000DD03005B1007938B4200DD07914B464C +:10CC30001E8A1AA90B889B1B98B208804B465C8AF7 +:10CC40004D882D1B4D808B889B1B9BB28B80CD8884 +:10CC50002C1BCC8001331B1A1BB21E00089312B28E +:10CC6000012316A922A8784DA847002122A8774CB5 +:10CC7000A0470E90079F3AB2002318A929A8A847F9 +:10CC8000002129A8A0470F9009963000704B9847C3 +:10CC900005905B4618229B5E5A46D28A11926946DD +:10CCA0000A835A46527F92460A9A002A00D09BE194 +:10CCB000013B1093BB4200DA10974B4612229B5E59 +:10CCC00018A902200A5ED21A109884466244140001 +:10CCD0000C921CAA08881080898891801AA90227C2 +:10CCE000CF5FDB191BB25380D380BC4200DA82E0F5 +:10CCF0001EAC5B460D932EE018AB04229B5E5A1CC3 +:10CD0000551B2580A380079A9B1A01334A461021A0 +:10CD1000525E0EA93020095E52189B1ADA43D217D0 +:10CD20001340059A94466344524602924246019249 +:10CD30000A9A00926A46128B21000498454DA84732 +:10CD40001CAB5A8801325A80DA880132DA80013706 +:10CD50000C9BBB424DDB0999059E30003E4B98472A +:10CD60004B465A8AD21912B2198A0EAB1B8EC918B9 +:10CD700009B2089B3000394DA8470A901CAB5A886D +:10CD80006280DB88E38018AB0B9300215B5E23801D +:10CD90006A46958B013BEB18A380524602924246AD +:10CDA0000192009033006A46128B21000498294EAC +:10CDB000B0470623E25E0B9B02215B5E0D991820B3 +:10CDC000095E5B189A4297DA18AA1388EB18238039 +:10CDD00093885B1BA3805346029343460193012330 +:10CDE000009300236A46128B21000498194EB04725 +:10CDF00082E70D9B9B464B4612229B5E18AA062794 +:10CE0000D75FFF1A109ABF1A0C990A00B94201DBCA +:10CE100001321700DB191BB21CAA5380D3801AAB56 +:10CE200006229B5E9F4200DD9AE01EAC5B460B93A0 +:10CE300047E0C046187C0000E51A010041FF0000F1 +:10CE4000C58100001582000055A80000EDA5000076 +:10CE5000C10E01006D5C0000F110010025A600006C +:10CE600018AB04229B5E5A1C551B2580A380079A91 +:10CE70009B1A01334A461021525E0EA93020095EEA +:10CE800052189B1ADA43D2171340059A944663440A +:10CE900052460292424601920A9A00926A46128BC8 +:10CEA00021000498894DA8471CAB5A8801325A804A +:10CEB000DA880132DA8001370EAB36229B5E9F4260 +:10CEC0004CDC0999059E3000814B98474B465A8AA5 +:10CED000D21912B2198A0EAB1B8EC91809B2089B5F +:10CEE00030007C4DA8470A900EAB28215B5E238062 +:10CEF0006A46958B013BEB18A3801CAB5A88628075 +:10CF0000DB88E38052460292424601920090330051 +:10CF10006A46128B210004986C4EB0470623E25EED +:10CF20000EAB2E215B5E0B991820095E5B1A9A42AC +:10CF300096DD18AA1388EB18238093885B1BA380C7 +:10CF400053460293434601930123009300236A460C +:10CF5000128B210004985D4EB04781E70B9B9B46E6 +:10CF60006B4640229B181B881CAC18AD6A880132A6 +:10CF70009A186280EA88013AD31AE3800022AB5EF5 +:10CF80002380013B5A46128BD318A3805346029349 +:10CF9000434601930127009700236A464421521813 +:10CFA000128821000498494EB0470423EA5E531CBE +:10CFB0005946098B5B1A2380A2805346029343464D +:10CFC0000193009700236A464421521812882100D9 +:10CFD0000498B0470E98404CA0470F98A04705987A +:10CFE0003E4B9847FEF7CFFD1CAA18AB198811805D +:10CFF0009B8893801AA90223CE5E4B465B8A9B19BD +:10D000001BB25380D38006228B5E9E42E2DC314B02 +:10D010009B462E4F0999059C20002D4B98474B4667 +:10D020005A8A921912B21AAD198A2B88C91809B2F4 +:10D03000089B05942000D8471CAC524602924246F9 +:10D0400001920090059B6A46128B21000498B84714 +:10D05000638801336380E3880133E380013606226D +:10D06000AB5E9E42D6DDB5E7079C0C9420001C4BBE +:10D0700098470A9001220D92002C01DDFDF7A3FED6 +:10D080000A98164B9847079F7F43002F01D1FDF761 +:10D090005FFF0E9A11007800944660440B889B094C +:10D0A0001370023101328142F8D1FDF751FF5B4626 +:10D0B00000229A5E0023494629A80A4CA047002175 +:10D0C00029A8094B98470400FFF746F96D5C00005A +:10D0D000F110010025A6000079A60000D50B010083 +:10D0E000C10E010055A80000EDA50000F0B583B009 +:10D0F00004000E00170001AA11781F20814311704F +:10D10000118840480140118000215170A5682178A4 +:10D110001F220A40111F02290DD9072A22D0082AEE +:10D1200034D0092A48D00A2A5ED00B3A032A15D8EF +:10D1300001AA138012E02078C006C00E324B984737 +:10D140002368DB025B0D5F43BE19C008C0B27043A9 +:10D15000281801AB02781A7042785A7001AB18880F +:10D1600003B0F0BD324007239A1A2068C002400D78 +:10D170000730C0104743F610ED19AE19317A063B5F +:10D1800093400B40134101AA1380E7E7053A324070 +:10D19000520006239A1A2068C002400D0330801006 +:10D1A0004743B610ED19AE19317C033B93400B4059 +:10D1B000134101AA1380D1E7012333409B00053AB4 +:10D1C000D31A2068C002400D01304010474376104A +:10D1D000ED19AD19403529780B329A400A401A41B1 +:10D1E000130001AA1380B9E72368DB025B0D7B43C0 +:10D1F000AD19ED188023DB009C4665442A7801AB0D +:10D200001A80ABE71FF8FFFFE57E0000F0B587B09E +:10D2100004000192866800781F230340052B0AD082 +:10D220000B2B12D00C2B28D00D2B47D0FF200E2B10 +:10D2300064D007B0F0BD2368DB025B0D5A43511880 +:10D240004A00511871188878F3E707250D40043B10 +:10D250005D1B2368DB025B0D0733DB10019A5A4329 +:10D26000C910B218535C0120A84018402841C3B22D +:10D27000584258414042C0B2DBE7002302A8037085 +:10D280005533437055338370FF2002ABD8700325AC +:10D290000D406D0006235D1B2368DB025B0D03332D +:10D2A0009B10019A5A438910B218525C0323AB4079 +:10D2B00013402B41034002AAD05CBAE702AB9C4664 +:10D2C000124B654685CB85C51B682B6001250D403B +:10D2D000AD0004235D1B2368DB025B0D01335B1093 +:10D2E000019A5A434910B218525C0F23AB401340C5 +:10D2F0002B41FF2213406246D05C9AE72368DB0291 +:10D300005B0D019A5A437118885C92E7AC8A010060 +:10D31000F0B5DE4657464E464546E0B583B00400BC +:10D320000822835E1B0243620A22835E1B02836221 +:10D330000C23C75E3E4B9B460A213800984705B236 +:10D340000A2676426E43F619ABB29846584200B2AE +:10D35000384B9A46984781460135ADB2684200B2D3 +:10D36000D04701905A274246B81A00B2D0478046AB +:10D370007D1B28B2D04707000A25AD1B4B466B43E7 +:10D380001800019B7343C0180A21D847E062434646 +:10D390005D433000784328180A21D8472063A07CD9 +:10D3A000254B98473426012503002B40A05D012220 +:10D3B00090431843A055A07C204B984705406D0032 +:10D3C000A05D022398430543A555A27C131F022BA1 +:10D3D00028D93421635C0420834363542368236287 +:10D3E0001F2313402376A3885B05DA0A144BA16937 +:10D3F0000B401343A361E2885201DB02DB0E1343AF +:10D400006383E18980204002094B9847E086FF232F +:10D41000A375238AA38203B03CBC90469946A246DA +:10D42000AB46F0BD3421EBB2042003436354D5E78F +:10D43000057B010035090100157F0000297F0000F0 +:10D44000FF03E0FFF0B5DE4657464E464546E0B5E1 +:10D4500087B00090029105921D0010AB1B889B467F +:10D460006A4F0A212800B84704B2661C0A204042CD +:10D47000604345192000664B99469847804630B274 +:10D48000C84782465A3420B2C84704005A3630B2E0 +:10D49000C84781460A26761B4046704353466B4375 +:10D4A000C0180A21B847804674434B465D43601953 +:10D4B0000A21B847119B00229A5E119B0227DF5F69 +:10D4C00054425B465C43241224B2230043439946F2 +:10D4D0007B425D466B431B121BB24146594396B2D9 +:10D4E0004D466D1AED1375192DB2AA464546654392 +:10D4F0004343BCB20395ED18ED130194A446654473 +:10D500002DB2029CA21A5C466243121212B214009F +:10D5100044430294611AC913711809B24446624324 +:10D52000049294466344DB13019CA44663441BB2FB +:10D53000059CE71B5C4667433F123FB244467C4371 +:10D54000A0464C464246A41AE2139146B1444A46CC +:10D5500012B291467843039F3F18FF13E346674496 +:10D560003FB2029A4446121BD2139046464436B24A +:10D57000049A94466044C0135A46141824B2524682 +:10D580008A4500DD0A1C101C12B24A4500DD4846DF +:10D59000021C00B2B04200DD321C009802805046EE +:10D5A0008A4500DA081C011C00B2484500DA4946E9 +:10D5B0000A1C09B2B14200DA321C00998A80291C87 +:10D5C0009D4200DD191C0A1C09B2B94200DD3A1C5B +:10D5D000111C12B2A24200DD211C009A51802A1CAB +:10D5E0009D4200DA1A1C131C12B2BA4200DA3B1C2C +:10D5F0001A1C1BB2A34200DA221C009BDA8007B07F +:10D600003CBC90469946A246AB46F0BD057B010066 +:10D6100035090100F0B5DE4657464E464546E0B5B1 +:10D620008BB004003823C75EFF231A003A403A212A +:10D63000465E33406F2A7EDC3C22815E4942C91738 +:10D64000803FFFB26F2B00DD87E03E23E25E524257 +:10D65000D3179846803EF6B2257DED06EB0E00937B +:10D66000A38A5B059B0E0193637DDB080293A37D78 +:10D6700003933423E35C99465B0700D481E023687D +:10D680004422A25C94465143226C9246514458185D +:10D6900009AA05781570407850700420225E604613 +:10D6A0004243404650430200206C804690449A46D4 +:10D6B000C24408A855462D78057055466D784570CA +:10D6C0008A189818824607A855462D780570554641 +:10D6D0006D7845704846800700D484E06046013884 +:10D6E0001B18595C89464146595C8A46985CFF2163 +:10D6F000CB1B4A465A439446039A7A436244121219 +:10D70000434355467D43AC4663441B12DDB2AC46F1 +:10D710000B408D1B6B43114071435B181B12A375AB +:10D72000D2B2052A00D9DCE0002362460026052A91 +:10D7300000D9DAE0ABE0902A0CDD3C21425E0132F8 +:10D740000421405E0121824200DB00217F22D71BA1 +:10D75000FFB277E7FF27002174E7902B0DDD3E2213 +:10D76000A35E01330622A05E0122834200DB002279 +:10D7700090467F239E1BF6B26EE7FF260023984655 +:10D780006AE718239C46A44465468BB29B46238ACD +:10D790003E21625EA18F594409B204956046AF4DA7 +:10D7A000A946A84709AB188042466B46DA8292B276 +:10D7B0009046238AE28F424412B23C20215E049DAF +:10D7C0002800C84708AB1880238AE28F424412B26F +:10D7D000A18F594409B22800C84707AB18803423E9 +:10D7E000E35C9B075BD4FF23A3753B00002B00D0B9 +:10D7F0008DE009AB1D78ED06EA0E00921A885205FD +:10D80000920E01925B78DB080293002F00D0B7E004 +:10D8100007AA1778FF06FF0E13885B059B0E527848 +:10D82000D208002E00D1F1E0FF2E00D100E1FF214F +:10D83000891B009D75434F43EF193D02ED19ED0122 +:10D84000ED192D01ED0E207D1F27B84305432575E9 +:10D85000019870434B43C01803021B18DB011B18CF +:10D86000DB009B0E5B01A08A7D4D28400343A38211 +:10D87000029846434A43B61832029219D2019619C9 +:10D88000F60DF6005B055B0F1E436675012318005D +:10D890000BB03CBC90469946A246AB46F0BD3E2339 +:10D8A000E25EA18F594409B2049D28006D4B984750 +:10D8B0008146E28F424412B23C23E15E2800694B6C +:10D8C00098478246E28F424412B2A18F594409B26E +:10D8D0002800644B98473423E35C9B0700D506E798 +:10D8E00081E76346052B00D8FF263B00039A052AF3 +:10D8F00000D800234A46052A00D8FF235246052AAD +:10D9000000D80027052800D970E7FF276EE7FF2B16 +:10D9100000D17AE7FF22D21A09A84178C9085143F9 +:10D92000029D5D43AC468C44614609026144C901D5 +:10D930006144C90D1F25AC460D400295018849057B +:10D94000890E5143019D5D43A84641440D02A846FE +:10D9500088444546ED01A8464144C900890E01911D +:10D960000178C906C90E4A43009D5D43521915024C +:10D97000AD18ED01AD18ED0D63461D40009544E76F +:10D98000FF2F39D0FF23DB1B984608A84278D20826 +:10D990007A4307A94B78DB0845466B43D3181A0234 +:10D9A000D218D201D218D20D1F239C461A400388E8 +:10D9B0005B059B0E7B4399460B885B059B0E6B4377 +:10D9C0004B441D02A94699444D46ED01A9464B44DE +:10D9D000DB009B0E0078C006C00E47430978C906DD +:10D9E000C90E4046414379180F027F18FF017F1886 +:10D9F000FF0D61460F4014E708AA1778FF06FF0ED7 +:10DA000013885B059B0E5278D2080AE7257D1F21FB +:10DA10008D432F4327755901A38A114803400B43B7 +:10DA2000A382D2005B055B0F1A43627501232EE7C8 +:10DA3000237D1F229343009D1D432575019B5A01A1 +:10DA4000A38A07490B401343A382029AD6005B05C1 +:10DA50005B0F33436375012319E7C046EDD0000027 +:10DA60001FF8FFFF0DD20000F0B5CE46474680B547 +:10DA700083B080466B46D980514B1988002900D16C +:10DA80009BE0504B1F683B00203301398AB2D10024 +:10DA900089188900443179184B4802E024338B42BD +:10DAA00005D01A688242F9DB013A1A60F6E70025D0 +:10DAB000464E434B994607E001282AD00135ADB2C6 +:10DAC0004B461B88AB422FD9EC006419A4003C19CB +:10DAD0006068B0470028EFD163684345EED12089E4 +:10DAE0006B46DB88C01A42424241D0B20028E5D0E2 +:10DAF000236A626994466344FA229200934211DDDC +:10DB00002262002C10D0200003B00CBC9046994635 +:10DB1000F0BD414660682E4B98470300584258417B +:10DB2000C0B2E3E72362ECE7254B1A88012A13D938 +:10DB30003B002433023A91B2CA0052189200483294 +:10DB4000BA183C0002E02433934206D0196A206AD6 +:10DB50008142F8DA1C00F6E73C006368002B02D033 +:10DB600020001C4B98471C4B98470500002363611D +:10DB70006B46DA8841462000184B984700280DD0A4 +:10DB8000002323626369002BBDD12800144B984702 +:10DB900060610028B7D101236361B4E720000D4B19 +:10DBA0009847202120000F4DA84724212000A84796 +:10DBB00080231B0623620024A5E70024A3E7C046B8 +:10DBC000B62B0020844D00200200008061810000FF +:10DBD000CD7F010085E600008DF700009DE5000087 +:10DBE000A9F700004D100100F8B5D646474680B5AC +:10DBF0000700154B1B689846144B1B88002B1ED042 +:10DC00000025134B9A46114E0FE0002B02D0200046 +:10DC1000104B984720212000D04724212000D047D6 +:10DC20000135ADB23388AB4209D9EC006419A400C8 +:10DC300044446368BB42E8D0002FF1D1E5E70CBC57 +:10DC400090469A46F8BDC046844D0020B62B002071 +:10DC50004D10010085E60000F0B5C64600B5040091 +:10DC6000204B1B68002B06D000201F4B98471D4BF4 +:10DC700018681E4B9847E000001980001C4B98471D +:10DC8000184B18601B4B984700281FD0154B1B687A +:10DC9000002B22D0184B1C80002C14D00024114FD4 +:10DCA000164E9846E5002D19AD003B685819202105 +:10DCB000B0473B6858192421B0470134A4B2434609 +:10DCC0001B88A342EED804BC9046F0BD054B1A68F1 +:10DCD00000230B480B498847FEE70022064B1A80B9 +:10DCE000F1E7C046844D0020E9DB0000390B01005C +:10DCF000710A01007D140000B62B00204D100100B8 +:10DD0000948801008514000030B585B00C00150022 +:10DD10000800304B9847031E22D12378DB06DB0E28 +:10DD2000043BDBB200200A2B1FD82368DB025B0D0B +:10DD30009B02294A29680A4013432B6063885B09C8 +:10DD40005A0169881F230B4013436B802378DB063D +:10DD5000DA0E2B781F218B4313432B70013004E024 +:10DD6000012804D00020022B23D005B030BD0222B0 +:10DD7000210002A8194B984700280AD02B78DB060F +:10DD8000DB0E1C331F22134001200A2BEDD900208B +:10DD9000EBE701AB0422290002A8114CA0470400C4 +:10DDA00002A8104B9847002CF1D1019B042BEED117 +:10DDB000E4E7094A2B681A408023DB0013432B60F9 +:10DDC00020226A80C03213400B2213432B70013093 +:10DDD000CBE7C04661810000FF03E0FF290401009A +:10DDE0008D0301005D03010070B50D00CC69002CAE +:10DDF00016D02068002804D00A4B984720680A4BA8 +:10DE000098476068002801D0074B9847A068002811 +:10DE100001D0054B98472000034B98470023EB6146 +:10DE200070BDC0465D030100390B0100F0B5DE4650 +:10DE300057464E464546E0B585B006000C008B7A45 +:10DE4000012B18D0002B00D04AE14B689B68002BB7 +:10DE500000D143E1087BC006C00E031F022B5AD835 +:10DE600063689B682361012005B03CBC90469946DD +:10DE7000A246AB46F0BD48689F4B98479F49A04BD0 +:10DE8000984700281AD10222616802A89D4B984742 +:10DE9000002813D1E369002B12D0E56908209A4BC2 +:10DEA00098472860994B984700281ED02A6800237D +:10DEB000002A20D121003000954B98470020D3E75D +:10DEC0000C30914B9847E061904B9847002805D162 +:10DED000E26900238F4890498847FEE7E0690028FF +:10DEE000ECD00C218D4B9847D7E72A68002389484E +:10DEF00089498847FEE702A9595CD1540133082BB0 +:10DF0000F9D1207BC006C00E031F022B03D8A37AD1 +:10DF1000002BA5D0EBE0C31F032B07D90B38032838 +:10DF200000D9D5E00023236101209DE77C4B984771 +:10DF30000700E369002B0FD0E5690220B840724B5F +:10DF400098476860714B9847002820D16A68002381 +:10DF5000704871498847FEE70C206B4B9847E06199 +:10DF60006A4B9847002805D1E269002369486A494D +:10DF70008847FEE7E069002805D121003000644BA6 +:10DF80009847002070E70C21644B9847D4E70123A1 +:10DF9000BB401F0018005C4B9847A8605B4B98473C +:10DFA000002847D06B68002B4AD0AB68002B47D0C5 +:10DFB000A37A012B4AD063689868002F00D183E0D0 +:10DFC000002398463F339B46203B9946554B9A4643 +:10DFD000414601944A006B689C46624443789C0821 +:10DFE00000948678F6084C4626400478E408A44657 +:10DFF00014784B469C43A046644643461C43147029 +:10E000005B46009C1C4063019C4613885446234099 +:10E01000644623431380F6001B0A0724234033433E +:10E020005370C378AA685354013104308F42D1D160 +:10E03000019C49E0AA680023364837498847FEE733 +:10E0400021003000324B984700200DE7042128685A +:10E05000354B9847002F37D00026344B9A463F2344 +:10E060009946203B98460023042202A92868D047FD +:10E0700072006B689C46624402AB5B789908009121 +:10E0800002A98978C908404601408B4602A9087850 +:10E09000C008117843469943084310704B460099D5 +:10E0A0001940480113881F490B4003431380594608 +:10E0B000C9005B055B0F0B43537002ABDB78AA68AA +:10E0C00093550136B742CED1002323610120CBE620 +:10E0D000210030000E4B98470020C5E60020C3E623 +:10E0E000087BC006C00E031F022B00D913E70023D4 +:10E0F00023610120B8E6C046F1040100CC8A01008A +:10E10000CD7F010029040100710A01007D14000087 +:10E11000E9DD000094880100851400004D10010025 +:10E12000E57E00001FF8FFFFCF0301008D03010013 +:10E13000F0B5DE4657464E464546E0B58BB00D007D +:10E140001700019314AB00269E5F0A7B1F23134028 +:10E150001A1F022A36D88B7A0020012B06D00BB06A +:10E160003CBC90469946A246AB46F0BDCB69994669 +:10E17000087BC006C00ED54B98478046E968C902A7 +:10E18000490D019B4B43D9194143C91004314B46FA +:10E190001868CF4B984703000020002BDFD143467F +:10E1A000D808C0B24643002306934B46186806AB16 +:10E1B00032001599C74CA047069B9E1B70427041C8 +:10E1C000C0B2CCE71A000B3A032A2DD9073B002036 +:10E1D000032BC4D8087BC006C00EBC4B98478146B1 +:10E1E00001238340013B9BB298462B7BDB06DB0E71 +:10E1F000DAB2082A00D135E100D8FEE0DAB2092A05 +:10E2000000D146E10A2A00D05BE1EB68DB025B0D3E +:10E210009AB21BB29A46019C5443E7198023DB0053 +:10E220009B46BB440024FEE0002104AB1970FF2292 +:10E230005A7005AB19705531597055319970DA70B3 +:10E2400006AAA54B13CB13C21B6813602989002EA5 +:10E2500011DD080A159C721E92B2013294465200DA +:10E2600062442300A4466244019C19705870033331 +:10E270009A42FAD10194287BC006C00E934B98476E +:10E28000814601238340013B9BB298462B7BDB06F2 +:10E29000DB0EDAB20C2A4BD011D9DAB20D2A5DD0DE +:10E2A0000E2A70D1EB68DB025B0D99B21BB20293B0 +:10E2B000019C4C43E419002700239A4615E00B2AE1 +:10E2C00061D1EB68DB025B0DDA10511C02915B0738 +:10E2D00001D113B20293029B019C5C43F9106418B4 +:10E2E0000723BB431F0004AB9A46EB699B46029889 +:10E2F0007A4B98470390AB7A002B4ED16B689968A4 +:10E300000C19002E74DD159B981C013EB6B27200EC +:10E31000921905329C4662441F21FF239B46082325 +:10E320004E469B1B5BB20193AC461500C1464BE0C9 +:10E33000EB68DB025B0D9A10511C02919B0701D127 +:10E3400013B20293029B019C5C43B9106418BBB2E8 +:10E3500003279F437F0005AB9A46C6E7EB68DB02C5 +:10E360005B0D5A10511C0291DB0701D413B20293CA +:10E37000029B019C5C4379106418FB0709D50027B8 +:10E3800006AB9A46B1E700270024002302939A4681 +:10E39000ABE7042706AB9A46A7E7211D5B46186842 +:10E3A0004B4B98475B4618680023029A0399494CE7 +:10E3B000A047039CA5E7DBB20370BF1B7FB2002F11 +:10E3C00013DB0330854213D0237898464B46BB407D +:10E3D000424613403B416246127B0A400E2AEAD075 +:10E3E0005A4613405246D35CE6E7019F0134E8E702 +:10E3F00003983B4B98470120B1E6072A61D1EB68AF +:10E40000DB025B0DDA10511C8A465B0701D113B2A7 +:10E410009A465346019C5C43FB10E41808239B4634 +:10E42000A3440724BC43EF6950462C4B9847029005 +:10E43000AB7A002B56D16B6899685944002E78DD71 +:10E440001598013EB6B2013673009E1984466644A3 +:10E45000FF239A4608224B46D21A53B20193B44680 +:10E460004E464FE0EB68DB025B0D9A10511C8A466A +:10E470009B0701D113B29A465346019C5C43BB10E3 +:10E48000E41810239B46A344BFB20324BC4364009A +:10E49000C9E7EB68DB025B0D5A10511C8A46DB07AB +:10E4A00001D413B29A465346019C5C437B10E41896 +:10E4B00040239B46A344012427407C427C41A40086 +:10E4C000B1E700239B4600249A46ACE7E57E0000B6 +:10E4D000CF0301008D030100BC8A0100C10E0100C1 +:10E4E000D50B0100594604313868144B9847002376 +:10E4F000524602993868124DA84702999EE70330A8 +:10E50000604516D00A784346A34013402341524643 +:10E5100013405A007D68525B0270120A4270BA685A +:10E52000D35C8370A41B64B2002CE8DA019C013137 +:10E53000E5E70298034B9847012010E6CF0301005E +:10E540008D030100D50B0100F0B583B001900D00E3 +:10E550000A781F2313400B700D480E4B9847041E7A +:10E5600014D00D4E05E0002721000948B047041ED5 +:10E5700009D02368002BF6D02A0001992000984783 +:10E5800007000128F0D1380003B0F0BD0027FAE7FA +:10E59000D04C00206D06010085060100F0B583B067 +:10E5A0000700009102810800254B9847B8720023AC +:10E5B000FB6101280ED0009B7B602248224B9847CC +:10E5C000041E36D000250C239C46BC4463460193B0 +:10E5D0001E4E10E0009C20001D4B984701301D4B43 +:10E5E0009847786021001C4B9847E6E721001548C2 +:10E5F000B047041E18D02368002BF7D06268002AA9 +:10E60000F4D0019A00992000984705000128EDD127 +:10E610000023BB613B613C60390020006368984780 +:10E6200005000128E2D101E0002D03D0280003B04D +:10E63000F0BD002520213800084B9847F6E7C0467A +:10E6400061810000D04C00206D06010085060100AC +:10E65000F17F0100710A0100E17F01004D1001000E +:10E6600070B582B00568AC68002C09D0069E019692 +:10E67000009313000A0001002800A04702B070BDFB +:10E680000020FBE710B504000068002807D0C3682D +:10E69000002B01D021009847A37A012B00D010BD98 +:10E6A0006068024B984700236360F8E7390B01006C +:10E6B00010B50B480B4B984704000B4B98470028AC +:10E6C00007D0002C03D010212000084B98472000D1 +:10E6D00010BD22000023064806498847FEE7C046D1 +:10E6E000D04C0020CD0501007D1400004D1001002C +:10E6F000948801008514000010B510210C480D4BC2 +:10E7000098470D4B9847002808D00C4B03600C4BE2 +:10E7100043600C4B83600C4BC36010BD0B4B9847A0 +:10E720000028FAD10022002309480A498847FEE759 +:10E73000D04C0020B9050100B1E6000009DD000061 +:10E740002DDE000031E10000E9DD00007D14000055 +:10E75000948801008514000010B54368984710BDE7 +:10E7600010B50468A04710BD10B584B013000A00AE +:10E7700001A9054CA0470023002801D001AB1B884C +:10E78000180004B010BDC04661E7000003780A78A5 +:10E79000934201D0981A704740784B78C01AFAE734 +:10E7A00003880A88934201D0981A704740884B88A2 +:10E7B000C01AFAE700880B88C01A7047F0B587B016 +:10E7C0000C000B1E18D00669B369994217D0728AE3 +:10E7D0009205920D002A62DDB7683B68C81A059061 +:10E7E000BB8898420DD800230393BA7C002A1AD123 +:10E7F000FB881B18B461F361180007B0F0BDF36922 +:10E80000FAE70021013189B2914248DA8B005B18A6 +:10E810009B000393FB181868201A05909D88A84256 +:10E82000F0D81F00E1E7012A1BD0022A1ED00023E6 +:10E83000032ADFD13A8AB9681B4B0093022305A84B +:10E840001A4FB847002828D0039BB2689446634407 +:10E850001D009B68C01A4008EB68185CEB88C31861 +:10E86000C8E7FB68185CFB88C318C3E73A8AB96835 +:10E870000D4B0093022305A80C4FB84700280AD07F +:10E88000039BB268944663441D009B68C01A40080D +:10E89000EB88C318AEE70023ACE70023AAE7B46116 +:10E8A0000023F361A8E7C046B5E70000F11B0100B3 +:10E8B000F0B5DE4657464E464546E0B599B00929C3 +:10E8C0001CD00569CD4B9847002801D100F0DBFC36 +:10E8D000C0006B681E182B7D9B0711D1002E01D143 +:10E8E00000F0D4FC30680003030B2868C01819B08E +:10E8F0003CBC90469946A246AB46F0BD1731E0E7D6 +:10E90000337974795C43002C01D100F0C2FCEB7CBC +:10E910009B061B0FDAB2022A00D18DE008D9DAB2C9 +:10E92000032A00D18BE0042A04D10134640801E0F9 +:10E93000012A7ED0B24B1868B24B984784420FD957 +:10E94000AF4F21003868B04B98473860AF4B9847BD +:10E95000002877D0AA4B1B68002B01D100F09CFC4B +:10E9600033681B031B0B2A68D218A54B1B68039343 +:10E9700033790D931BB21193737910931BB20E93DD +:10E98000EB7C9B061B0FD9B200910691032960D046 +:10E990009F490A609F4A137000239F4A13709F4A41 +:10E9A00013609F4A13709F4A13700D9F38009E4C4E +:10E9B000A047050017903800A0470190119B002B3D +:10E9C00000DC5EE2964B1B780293964B1B789A46CE +:10E9D0008F4B1E68914B18688E4B1B78994601230C +:10E9E00049468B40013BDBB20B9308235B1A0C9327 +:10E9F00010235B1A0A93884B1B789C462C003B0023 +:10EA0000013B9BB201330F932A009B465A44099263 +:10EA1000002305930893002107934B469B009B46D8 +:10EA2000824B5B44129353460493A84667464D4677 +:10EA300031E00734E4087DE70334A4087AE70134C1 +:10EA4000640877E76E4B1A6800237948794988474C +:10EA5000FEE7013106919BE703239C46C30807218B +:10EA600001404A19072A2FD8F35C0C9A511A0B411E +:10EA700062461A401300002802D0029A934231D015 +:10EA80004019029301210122079223700134099B4E +:10EA90009C4200D14BE1002F2CD14B46082B0DD8C6 +:10EAA000654B5A469B5807939F4607239C46D5E7DC +:10EAB0000F239C46D2E7FF239C46CFE70B9B9C4647 +:10EAC000CCE701239C46C9E7F25C12029246F31898 +:10EAD0005B7853449BB20A9A511A0B4162461A4022 +:10EAE0001300C8E701220592002204920132089225 +:10EAF0000127C5E7012F11D00023022FC5D1049AA9 +:10EB0000013AD3B20493002B00D00CE14B46082B02 +:10EB100000D9F1E0129B1B6802939F46C3080721AE +:10EB200001404A1C072A15D8F35CC94308310B4140 +:10EB300001221340049A0132D2B20492411C012BEB +:10EB400015D04B46082B00D9ABE03C4B5A469B589E +:10EB500002939F46F25C12029446F3185B7863447A +:10EB60009BB2C94310310B4101221340E2E70B2A4B +:10EB700005D00800029B01220592012185E7CB0800 +:10EB8000072211408A1D072A13D8F25C0223591A62 +:10EB90000A413D331A4004920730049B002B00D0F9 +:10EBA000BAE04B46082B24D8254B5A469B58029373 +:10EBB0009F46F25C1202F3185B789A1892B20A230D +:10EBC000591A0A4135331A400492E5E70323C7086E +:10EBD000072101404A19072A34D8F75D0C9A511AC7 +:10EBE0000F413B4039E00723F1E70F23EFE7FF2315 +:10EBF000EDE70B9BEBE70123E9E7C046BDE700002B +:10EC0000B82B0020B50B0100450E01007D1400005B +:10EC1000C02B0020BC2B0020CC2B0020C82B0020B8 +:10EC2000C42B0020BD2B0020C10E0100F48A01007E +:10EC30009488010085140000D08A0100188B01001F +:10EC40003C8B0100F25D12029446F7197F7867440D +:10EC5000BFB20A9A511A0F413B4040190293012258 +:10EC6000059208920027012107920EE70323CF089F +:10EC7000072008404219072A17D8F75D0C9A101A86 +:10EC800007413B4048190293012205920892002750 +:10EC900001210792F9E60723E9E70F23E7E7FF23BE +:10ECA000E5E70B9BE3E70123E1E7F25D12029446FF +:10ECB000F7197F786744BFB20A9A101A07413B40A0 +:10ECC000E0E70323C708072101404A19072A17D89C +:10ECD000F75D0C9A511A0F413B40401902930122F3 +:10ECE00005920892002701210792CEE60723E9E763 +:10ECF0000F23E7E7FF23E5E70B9BE3E70123E1E7CA +:10ED0000F25D12029446F7197F786744BFB20A9AFF +:10ED1000511A0F413B40E0E7029B01220592089205 +:10ED200002270121B1E6029B01220592ADE6049B78 +:10ED30009A464546BC46079B002B14D1002901D0BA +:10ED4000CC4B1860089B002B02D0CB4B62461A704C +:10ED5000059B002B02D0C94B52461A700026009B1F +:10ED600002932F0023E0C64B6A46127A1A70E5E739 +:10ED7000042300220721314008256D1AED1A710382 +:10ED8000090C039884466144012098400300013B2C +:10ED9000DBB2DB43AB4008780340AA401A430A7059 +:10EDA000069A1300944666440137A74221D03A7868 +:10EDB000029B00990329DDD1072A18D89200B14B94 +:10EDC0009B589F4604230222D4E704230422D1E760 +:10EDD00004230622CEE704230922CBE704230B22D7 +:10EDE000C8E704230D22C5E704230F22C2E704234A +:10EDF000C0E70F9A5A430F920E9B012B00DC34E2BE +:10EE0000A14B1B681E00A14B1B781A00099301231C +:10EE10009340013BDBB212939246984B1B78984685 +:10EE200008239B1A0C9310239B1A0E93944B1B7868 +:10EE30000293904B1868904B1978109B023B9BB241 +:10EE400001331393069C04940D9B013B9BB21D0060 +:10EE5000149323006B431593002310930B930D938E +:10EE60000793089393000A93894A9C46624416923A +:10EE7000119B9B4643460693179B1D008C46B1464B +:10EE8000CFE100230F93B7E7032308E0072306E051 +:10EE90000F2304E0FF2302E0129B00E00123C508DA +:10EEA000072202409719072F1FD84F467D5D0C9F00 +:10EEB000BA1A15412B40DBB2002802D0029A9A42BE +:10EEC00021D0801902930122079208922370013405 +:10EED000644500D141E100291DD1099B082BDBD8F5 +:10EEE0000A9B6C4AD35805939F464F467F5D3F026D +:10EEF000BA464D446D785544ADB20E9FBA1A1541CD +:10EF00002B40DBB2D8E701220B920022069201329D +:10EF10000D920121D5E7012911D000230229D5D175 +:10EF2000069B013BDBB20693002B00D011E1099B4D +:10EF3000082B00D9E0E0169B1B6802939F46C3088C +:10EF400007220240551C072D16D84D46EB5CD243D4 +:10EF50000832134101221340069A0132D2B20692BE +:10EF6000451C012B15D0099B082B00D980E04A4B8A +:10EF70000A9A9B5802939F464D46ED5C2D024B44E6 +:10EF80005B785B199BB2D2431032134101221340CC +:10EF9000E2E70B2A05D02800029B01220B92079280 +:10EFA00094E7EB0807221540AA1D072A14D84A4601 +:10EFB000D35C0222551B2B413D321A40069207308A +:10EFC000069B002B00D0BDE0099B082B34D8334BA7 +:10EFD0000A9A9B5802939F464A46D25C12024B44BF +:10EFE0005B789B189BB20A22551B2B4135321A4085 +:10EFF0000692E4E703239A46C508072303409A19BB +:10F00000072A1FD84A46525D0C99CB1A1A4153461B +:10F010001340DBB28019029301220B920D92002162 +:10F020000792089252E707239A46E5E70F239A468C +:10F03000E2E7FF239A46DFE7129B9A46DCE70123CB +:10F040009A46D9E74A46515D09024D446A785218FA +:10F0500092B20E99CB1A1A4153461340DBB2D9E74C +:10F0600003231EE007231CE00F231AE0FF2318E010 +:10F07000129B16E0C82B0020CC2B0020BD2B0020BB +:10F08000C42B0020608B0100C02B0020BC2B002073 +:10F09000A48B0100808B0100C88B0100EC8B010068 +:10F0A0000123E90807222A40901907280FD848466B +:10F0B000415C0C98821A11410B40DBB2A8190293F3 +:10F0C00001220B920D92002107920892FEE648461B +:10F0D000405C000249444978091889B20E98821AA6 +:10F0E00011410B40DBB2E9E7032308E0072306E008 +:10F0F0000F2304E0FF2302E0129B00E00123C1087C +:10F10000072202409519072D0FD84D46695C0C9DCA +:10F11000AA1A11410B40DBB28019029301220B9213 +:10F120000D92002107920892D0E64D466D5C2D02AB +:10F1300049444978491989B20E9DAA1A11410B40D8 +:10F14000DBB2E9E7029B01220B920D9202210792AA +:10F15000BCE6029B01220B92B8E68C46B2460F99A0 +:10F160000027009B05930300404662461192984693 +:10F170001EE00423002407220A400826B61AF61AC5 +:10F180004D032D0C039A9446654401229A401300C6 +:10F19000013BDBB2DB43B3402A781340B440234346 +:10F1A0002B70049B9C46614401373BB29B4525DD97 +:10F1B000019BDC5DC35D5C40C455059B009A032A3E +:10F1C000D9D1072C18D8A400354B1B599F460423CE +:10F1D0000224D0E704230424CDE704230624CAE74D +:10F1E00004230924C7E704230B24C4E704230D24C4 +:10F1F000C1E704230F24BEE70423BCE70500119AEE +:10F2000094464046159B049A904643440F9A904674 +:10F21000984443460F93109B01331093139A9342E3 +:10F220000DD05B46002BF6DD019B98461C00149B1D +:10F230005E1C4644A8466146B44656464BE6069BCD +:10F2400098466146089B002B18D1079B002B01D0E4 +:10F25000144B18600D9B002B01D0134B19700B9BA6 +:10F26000002B02D0114B42461A701798104CA04741 +:10F270000198A0470F4B1868FFF739FB0E4B6A4601 +:10F28000127A1A70E1E70020FFF731FB0020FFF748 +:10F290002EFB0020FFF72BFB0020FFF728FBC046CA +:10F2A000108C0100C82B0020CC2B0020BD2B00208F +:10F2B000D50B0100B82B0020C42B0020F0B5DE4692 +:10F2C00057464E464546E0B585B081460C001F00C6 +:10F2D0000025092A3AD04B461E6911004846534B77 +:10F2E00098478346002800D194E0F368002B00D1B2 +:10F2F0008EE0390048464D4B98470023002828D11E +:10F300005A46D000726894466044328A5A431211B9 +:10F3100041880909002D00D04900130008335B180B +:10F320001B0923804379A380027962800623C35698 +:10F33000E3800723C3562381F37C9B061B0FA37234 +:10F34000002D00D16FE05200628064E00135173279 +:10F35000C1E74B461B69DA7C520642D4DB6898460B +:10F36000DB7A03221A401CD00023012AC8D143466D +:10F370001B68994600025844039043469B681A0252 +:10F38000120A2B4B00930423494603A8294FB84780 +:10F39000002824D04B46C01A000943465B681B5620 +:10F3A000AEE743461B68994603AB9C4600025844AF +:10F3B000188043469B681A02120A1F4B00930223CF +:10F3C000494660461B4FB847002806D04B46C01A36 +:10F3D000400843465B681B5692E7002390E70023F2 +:10F3E0008EE7DA6853685946595C0023002987D0B4 +:10F3F0009368185C0023002800D181E70139537B12 +:10F400004B4311680918C91801390023CB5677E717 +:10F41000002375E70025280005B03CBC90469946BE +:10F42000A246AB46F0BD0125F5E7C046BDE70000AA +:10F43000A1E70000F11B01008DE7000010B5054BAE +:10F440001868002804D0044B98470022014B1A602A +:10F4500010BDC046B82B0020390B010010B50400C8 +:10F460002C21154B98470022E260F0235B0023809B +:10F47000A03B63806260237A02218B432372263192 +:10F48000635C1F2083436354218DFC23DB000B430B +:10F490002385210028315B055B0F4B7023890749C9 +:10F4A000194082239B000B43238101210B432372CC +:10F4B00022626262626110BD4D10010003F0FFFF25 +:10F4C000F8B504000D0017001E002421034B9847D7 +:10F4D00025606760A560E660F8BDC0464D1001007C +:10F4E00070B505003848394B9847041E55D0B821EF +:10F4F0004900374B98472C2229002000354B98476C +:10F50000200030304C21344B98470022B6235B005A +:10F51000E250324B1B68002B4AD0304B1E681C60F7 +:10F52000230003221E212E482E4DA847E0622E4BB9 +:10F53000984700283FD0E36A002B42D0B422520003 +:10F54000A35A9B0A9B02A3520022B6235B00E250FF +:10F5500000210020254DA847E06300210020A84796 +:10F56000206400210020A84760640021206C204D09 +:10F57000A8470021606CA8470021206C1D4DA847BA +:10F580000021606CA847E06B1B4B9847134B1E6033 +:10F59000E06A1A4B9847200070BD0020124B984734 +:10F5A0000028F8D100220023154816498847FEE7B5 +:10F5B0000A4B1C60B1E7E26A0023114811498847F1 +:10F5C000FEE70024E7E7C046C44C0020CD0501005B +:10F5D0004D1001008D0C0100B9050100D02B002059 +:10F5E000BD430000D91501007D140000E52800008E +:10F5F0007926000015190000B11F00002D1601002A +:10F600009488010085140000014B18687047C046BB +:10F61000D02B0020031E05D01A7A920709D50220AC +:10F62000185E7047044B1B68F0204000002BF8D098 +:10F63000F2E70020185EF4E7D02B0020031E05D06F +:10F640001A7A920709D50020185E7047044B1B6890 +:10F65000A0204000002BF8D0F2E70220185EF4E76B +:10F66000D02B0020031E03D018890005800D7047A1 +:10F67000024B1B688220002BF9D0F5E7D02B00202D +:10F6800070B5051E19D028000F4B984704002800BC +:10F690000E4B98470100A000001940000C4B984702 +:10F6A000020000201D2A07D90130312A04D9443034 +:10F6B000904280414042023070BD064B1D68F024EC +:10F6C0006400002DE3D0DEE715F6000065F60000CB +:10F6D000F1790100D02B0020426800239361426839 +:10F6E000D361704710B5002804D001000348044BD3 +:10F6F000984710BD0148034B9847FAE7C44C0020D7 +:10F70000850601006D0601004068704743681A686D +:10F71000002A04D05868431E9841C0B270470020A8 +:10F72000FCE7000010B50400074B984700280AD0FA +:10F730000022A35E0222A05E58436368DB68C01A01 +:10F7400043425841C0B210BD0DF7000010B500286B +:10F7500004D001000348044B984710BD0148034BF7 +:10F760009847FAE7B84C0020850601006D060100B5 +:10F770000022044B1A70044B1A68944660441860C7 +:10F780007047C046D82B0020D42B0020044B012109 +:10F7900019701A78002AFBD0024B18687047C046CF +:10F7A000D82B0020D42B002010B50400014B984723 +:10F7B000001B10BD8DF7000010B50C00096A606ACF +:10F7C00081420AD08002064B9847A369E269D21AA7 +:10F7D00050438012181800B210BD8020C000F4E71A +:10F7E000F179010010B50122094B1A7009480A4B42 +:10F7F0009847002805D0094B18680421084B984702 +:10F8000010BD064B18680021054B9847F8E7C04625 +:10F81000E02B0020884D00206D060100DC2B00202D +:10F8200049150100F0B5CE46474680B591B0654810 +:10F83000654B984700280BD03C25624C634E435DD6 +:10F8400002229343435501002000B0470028F6D11F +:10F850005F4B18685F4B984707005A485A4B9847C8 +:10F86000041E00D18CE05C4E0025B04626E0DB197A +:10F87000002B00DA8DE0A268002A00D190E0200081 +:10F88000904728E02369002B2FD020001030210062 +:10F8900098476368002B02D001B220689847636ADA +:10F8A000226A934227D243461B78002B00D171E095 +:10F8B0004448454B98470400002C61D035703C23E8 +:10F8C000E35C9B0766D43C22A35C02210B43A35458 +:10F8D000636A002BCBDD636AFB186362002BE2DBFB +:10F8E000226A9A42CED26262CCE720001030210018 +:10F8F0003A4B9847CDE73C23E35C01221340181EA6 +:10F9000007D1A28E002A4DD035498A4251D0013A02 +:10F91000A286A28E002A1AD0236B5A426262E26A41 +:10F92000002AC0D0002840D04342434199463C20A1 +:10F93000215C012399434B460B432354A169E069A1 +:10F94000A061E161DB0700D4A26B2262ABE7E26A4F +:10F95000002A01D0002828D0402221006846214BEF +:10F96000984721001748204B984720001F4B984785 +:10F970001F4B9847039B002B95D06846984792E70A +:10F980001C4B9847124B186011B00CBC904699461E +:10F99000F0BD636221000B480C4B984704008BE7D5 +:10F9A00063629DE7E26A002AD6D0A36A5942616287 +:10F9B000BAE7236B5A426262E26A002A00D172E718 +:10F9C000F3E7C046884D00206D0601008506010062 +:10F9D000E42B0020A9F70000E02B0020B9F700007D +:10F9E000FFFF00008D0C010055070100390B0100DD +:10F9F000E5F700008DF7000010B540210A480B4BD9 +:10FA000098470B4B98470B4B1860002304221E218C +:10FA100009480A4CA0470A4B18600A4B9847002235 +:10FA2000094B1A7010BDC046884D0020B905010071 +:10FA30008DF70000E42B002025F80000D915010007 +:10FA4000DC2B0020E5F70000E02B002010B50400BF +:10FA500040210D4B9847FA235B0023620023A361EA +:10FA60006433E361094B1A7822745A7862749A7885 +:10FA7000A274DB78E3740123A3863622A35C012100 +:10FA80000B43A35410BDC0464D100100D8C801005F +:10FA9000F0B5D64600B582B006008A461548164B2A +:10FAA0009847041E1ED000230193144F0CE0210040 +:10FAB0001048134B98472000124B9847124B984719 +:10FAC000012301932C1E0FD021000A48B8470500DE +:10FAD0002368B342F6D163685345E8D05346002B00 +:10FAE000F0D1E4E700230193019802B004BC9246F0 +:10FAF000F0BDC046884D00206D060100850601005E +:10FB000055070100390B0100E5F7000070B505004D +:10FB10004168002902D00068194B984719481A4BD0 +:10FB20009847002820D11748184B98470400184BD5 +:10FB3000984700281ED0002C15D02B6AAB634022BA +:10FB400029002000134B98473623E35CDB0708D5D8 +:10FB50006368002B05D02068002802D01822A15E1F +:10FB600098470D4B984770BD0C4B984701380C4B8C +:10FB70001860D8E7220000230A480B498847FEE7AF +:10FB800091FA0000884D002015090100CD05010003 +:10FB90007D1400008D0C0100E5F700008DF70000DA +:10FBA000E42B0020948801008514000070B5002328 +:10FBB000C65E0423C25E921BD40FA4186410A5B2C3 +:10FBC00024B20B889B1B5B1B1BB24A884188521ACC +:10FBD000521B12B264435B4352439B18E017DA0F87 +:10FBE0009C425041C0B270BD4B1E4188C918C180B3 +:10FBF00070470423C25E0021435ED21A01320621FF +:10FC0000435E0221405E181A013050437047F0B540 +:10FC1000C64600B50D8813881C1C1BB22EB2B34219 +:10FC200000DA2C1C26B204804D8853881C1C1BB2A1 +:10FC30002FB2BB4200DA2C1C27B244808D889388F7 +:10FC40001C1C1BB298462BB2984500DD2C1C25B21B +:10FC50008480C988D3881A1C1BB20CB2A34200DD71 +:10FC60000A1C13B2C2800020AE4204DCF80FDA177F +:10FC7000BB425041C0B204BC9046F0BD70B50D8887 +:10FC800013881C1C1BB22EB2B34200DD2C1C048056 +:10FC90004D8853881C1C1BB22EB2B34200DD2C1CB5 +:10FCA00044808D8893881C1C1BB22EB2B34200DAAC +:10FCB0002C1C8480C988D3881A1C1BB20CB2A342A6 +:10FCC00000DA0A1CC28070BDF0B5DE4657464E46CB +:10FCD0004546E0B585B00E000023CC5E0023C15E32 +:10FCE00000238C425EDB0425435F98460023444595 +:10FCF00058DC0223F45E0225435F9A4600235445F4 +:10FD000050DB0623C35E1D0001930023AC4249DC97 +:10FD1000002A00DC9BE0434668460380038899463E +:10FD20008CB2AFB253460380008802AB19804B46B9 +:10FD300001331B1B1BB2D90FCB185B10791C091A9E +:10FD400009B2CD0F6D186D10191C1BB2AB4200DD4E +:10FD5000291C0D1C09B2914200DD151CADB22C19F5 +:10FD6000A4B202AB9C8052465A80281883B20093FA +:10FD70006B4600215A5E934602AA5946D180002262 +:10FD8000310002A8FFF7A0FF002813D02C1902AA07 +:10FD90009480009B9C466544D580310010002D4B1B +:10FDA00098470300180005B03CBC90469946A2460F +:10FDB000AB46F0BD7F1BBFB202AB5F806A46928844 +:10FDC000DA80002231001800FFF77EFF00280AD0F9 +:10FDD0002C1902AB9C807D1B5D80310018001D4BEF +:10FDE00098470300DEE74B465C1BA4B202AB1C80C5 +:10FDF00042469A80002231001800FFF765FF002874 +:10FE00000AD0641B02AB1C807D1B5D803100180092 +:10FE1000104B98470300C5E702AB52465A805A463A +:10FE2000DA80002231001800FFF74EFF012300287E +:10FE3000B8D0641B02AB1C80009B9C46654402AB9F +:10FE4000DD8031001800034B98470300AAE7012327 +:10FE5000A8E7C046ADFB000010B50023C45E042334 +:10FE6000CA5E0023944216DC0423C45E0023CA5EEB +:10FE7000002394420FDB0223C45E0623CA5E0023E4 +:10FE8000944208DC0623C45E0223CA5EE317D00F47 +:10FE900094424341DBB2180010BD0000F0B5C646E5 +:10FEA00000B582B005000C0016000023C75E0022DA +:10FEB0008B5E0020BB4214DC0223EA5E0221635EFB +:10FEC0009A420EDB0423EA5E0421635E9A4208DC58 +:10FED0000622AB5E0621625ED80FD1179A424841D6 +:10FEE000C0B2002E03D102B004BC9046F0BD01A9FF +:10FEF0000F806B884B8032002000104B9847002801 +:10FF0000F1D00422AB5E984601A90B80320020009C +:10FF10000A4B98470028E6D001A90F80EB884B8058 +:10FF200032002000054B98470028DCD001A9434649 +:10FF30000B8032002000014B9847D4E7C9FC000039 +:10FF400030B5142A27D89200B24CA258974682881E +:10FF500001320488121B12B2D40FA41864108A88CC +:10FF600001320D88521B12B2D50FAA185210A21AD4 +:10FF70001A80C28801324488121B12B2D40FA4180E +:10FF80006410CA8801324988521A12B2D10F8A18F5 +:10FF90005210A21A5A801A88018852181A805A8858 +:10FFA000418852185A8030BD00221A805A80F2E7E8 +:10FFB000828801320488121B12B2D40FA418641074 +:10FFC0008A8801320988521A12B2D10F8A18521047 +:10FFD000A21A1A8000225A80DDE782888C88121BC0 +:10FFE0000488121B098852181A8000225A80D2E70E +:10FFF00000221A80C288CC88121B4488121B4988B0 :020000021000EC -:10000000121B12B2D40FA4186410CA880132498896 -:10001000521A12B2D10F8A185210A21A5A8086E7C9 -:1000200082888C88121B0488121B0C8812191A8073 -:10003000C28801324488121B12B2D40FA418641073 -:10004000CA8801324988521A12B2D10F8A18521046 -:10005000A21A5A806BE700221A80CA884988521A6D -:10006000D2435A8063E7828801320488121B12B29D -:10007000D40FA41864108A8801320D88521B12B262 -:10008000D50FAA185210A21A1A80CA884988521A83 -:10009000D2435A804BE782888C88121B0488121B3B -:1000A0000C8812191A80CA884988521AD2435A8079 -:1000B0003DE700221A80C28801324188521A5A80D4 -:1000C00035E7828801320488121B12B2D40FA418BB -:1000D00064108A8801320988521A12B2D10F8A1824 -:1000E0005210A21A1A80C28801324188521A5A80CC -:1000F0001DE782888C88121B0488121B09885218FD -:100100001A80C28801324188521A5A800FE78A88C1 -:100110000988521AD2431A8000225A8007E78A8837 -:100120000C88121BD2431A80C28801324488121BE9 -:1001300012B2D40FA4186410CA8801324988521A26 -:1001400012B2D10F8A185210A21A5A80EFE68A888A -:100150000C88121BD2431A80C288CC88121B448898 -:10016000121B498852185A80E1E6828801320188C0 -:10017000521A1A8000225A80D9E6828801320488F5 -:10018000121B1A80C28801324488121B12B2D40F8B -:10019000A4186410CA8801324988521A12B2D10FC9 -:1001A0008A185210A21A5A80C1E6C04650C80100EF -:1001B000828801320488121B1A80C288CC88121BE4 -:1001C0004488121B498852185A80B0E630B58DB267 -:1001D000830702D001800230013A29044919102A0C -:1001E00016D903001400196059609960D96019612B -:1001F00059619961D9612033103C102CF3D811005A -:10020000113909094C1C6401103A0901521A0019EC -:10021000002A04D005800230013A002AFAD130BD0C -:1002200070B54A01521AFF24641A0304DB0E6343BB -:100230009D182B025B19DB015B191B01DB0E4505C9 -:10024000AD0E65438E01711A6D1829024919C90155 -:100250004919C900C006C00E6043821810028018F8 -:10026000C00180180001890E4901C00EDB0208435D -:10027000184370BD10B5FF23591A0304DB0E4B431E -:100280001A001B029B18DB019B181B01DB0E4205A9 -:10029000920E4A43140012021219D2011219D2000E -:1002A000C006C00E414308024018C00140180001BA -:1002B000920E5201C00EDB021043184310BD421CC7 -:1002C0004378002B04D109E001321378002B05D0CC -:1002D0003A2BF9D05C2BF7D02F2BF5D010007047BC -:1002E00010B544210148024B984710BD5C4D0020D9 -:1002F0005105010070B50400406800280ED0036964 -:100300000925002B08D02168984705002068044B78 -:100310009847002323606360280070BD0B25FBE72E -:10032000D10A010070B584B01C1E01D000232360E7 -:100330004568002D15D0AE690923002E0ED000238C -:100340000393006803AB009313000A000100280028 -:10035000B0470300002C01D0039A2260180004B0BB -:1003600070BD0B23FAE770B50A004468002C09D071 -:10037000256A0923002D03D001682000A847030047 -:10038000180070BD0B23FBE770B5040009480A4B49 -:10039000984700280CD00378A34209D0054D074E9A -:1003A00001002800B047002802D00378A342F7D10B -:1003B00070BDC0465C4D0020050601001D06010011 -:1003C000F0B5D6464F4680B583B004000F000192C9 -:1003D000002343600360002941D00878234B9847ED -:1003E000606000280AD08368002B0BD09847002853 -:1003F00008D1002363602360012531E000232360DE -:1004000003252DE063685888194B98472060194BE5 -:100410009847002806D023689A46002B08D16360CD -:100420000A251DE022680023134814498847FEE787 -:1004300063689946DE680925002E11D03800104BFC -:1004400098470200019B51464846B047051E07D019 -:1004500020680C4B984700232360636000E00B2565 -:10046000280003B00CBC91469A46F0BD89030100F8 -:10047000090A010015140000048801001D14000081 -:10048000BF020100D10A010010B50400114B9847CA -:10049000031E17D0225C2E2A0FD02F2A14D05C2ADC -:1004A00014D0013B002B0BD0E25C2E2A05D02F2A62 -:1004B0000ED05C2AF5D1084801E00133E01810BDE8 -:1004C0000548FCE70448FAE70348F8E70248F6E77E -:1004D0000148F4E7617F010028CA010000B583B03C -:1004E000019200290DD0002A0DD0006804300918AF -:1004F00001AB1A780A705A784A709A788A70DB7859 -:10050000CB7003B000BD0068043008180421014B13 -:100510009847F6E7E50F010000B583B00192002986 -:100520000CD0002A0CD00068091801AB1A780A70A8 -:100530005A784A709A788A70DB78CB7003B000BD25 -:10054000006808180421014B9847F7E7E50F010000 -:100550000023436083608B0702D003239943043157 -:100560000160704770B50400006808300E4B984772 -:10057000051E14D00022010020000C4B9847626831 -:10058000290020000A4B98476168002903D02A00FF -:100590002000064B98476560A368002B01D0280017 -:1005A00070BDA560FBE7C046090A010019050100FE -:1005B000DD04010070B50400006808300E4B984758 -:1005C000051E14D00022010020000C4B9847A268A1 -:1005D000290020000A4B9847A168002903D02A006F -:1005E0002000064B9847A5606368002B01D02800C7 -:1005F00070BD6560FBE7C046090A0100DD0401002B -:1006000019050100002801D0406870470020FCE770 -:10061000002801D0806870470020FCE782B00023EA -:10062000019300280BD003680433C91801AB0A7882 -:100630001A704A785A708A789A70CA78DA70019873 -:1006400002B0704782B00023019300280AD00368EB -:10065000C91801AB0A781A704A785A708A789A7069 -:10066000CA78DA70019802B070470000F0B5C6464B -:1006700000B504000E00002829D0002929D04368C5 -:10068000994221D000680830134B9847051E18D0B6 -:1006900031002000114B984707002A00010020007C -:1006A0000F4B984698473A00290020000D4FB84755 -:1006B0002A0031002000B847320029002000C0473E -:1006C000280004BC9046F0BD074B9847F9E700208E -:1006D000F7E70800F5E7C046090A010045060100F2 -:1006E000DD040100190501006505010070B5040075 -:1006F0000D0000282BD0436899422AD08368994284 -:1007000017D029002000194B984706002900200027 -:10071000174B98470500020031002000154B984701 -:10072000320029002000144B984770BD0023A360BD -:10073000FBE70E4B9847A060002805D0002201007F -:1007400020000C4B9847F0E700236360EDE7002999 -:10075000D7D129002000064B984760600028E5D0DB -:10076000002201002000044B9847DEE74506010007 -:100770001D060100DD0401001905010070B50C0023 -:1007800015001E001100194B9847002E17D00022AB -:1007900029002000164B9847626829002000154B5D -:1007A00098476168002903D02A002000104B984721 -:1007B0006560A368002B00D070BDA560FCE7A2684F -:1007C000290020000A4B9847002229002000094BED -:1007D0009847A168002903D02A002000054B9847BC -:1007E000A5606368002BE7D16560E5E7ED060100D1 -:1007F00019050100DD040100F8B5CE46474680B575 -:1008000005000C001600914221D0002A23D01100CF -:10081000224B98470700844219D021002800204B22 -:1008200098472200390028001E4B984698473A0006 -:10083000210028001C4B99469847220031002800CF -:10084000C847320021002800C047002F21D00CBC2F -:1008500090469946F8BD00281DD08768BC42F6D066 -:10086000210028000E4B98472200390028000D4E29 -:10087000B0473A00210028000B4B984698472200C9 -:1008800000212800C047002221002800B047AC60AA -:10089000DBE76C60DBE71700E0E7C04645060100D8 -:1008A000ED060100DD0401001905010000280AD051 -:1008B00000234268002A01D0180070478268534222 -:1008C0005341DBB2F8E70123F6E7000010B5B4218D -:1008D0004900194B984709B2002916DB592918DD40 -:1008E00089B20B005A3B9BB2592B16D90B00B43B73 -:1008F0009BB2592B18D9B4235B00591A09B249008D -:100900000E4BC85A404200B206E06931FF3109B2CD -:10091000E4E74900094BC85E10BDB423591A09B277 -:100920004900064BC85EF7E71BB25B00034A985AC2 -:10093000404200B2F0E7C046417C0100A4C801007B -:1009400030B50002002501E0520806D053191C0002 -:100950005C43A042F8D31D00F6E72B090B802D0164 -:10096000FF231D404D8030BD00280ED0031D0068C0 -:1009700040081818021D064B1B68802189018C460F -:1009800063449A429B4118407047014B1868FBE74B -:100990000C2C002030B58B0702D00323994304317F -:1009A00003685B080A1D934217D099420ED0021DBE -:1009B000521813780124A343137003685B08043BA7 -:1009C0005B1A5B0015682C40234313604900012328 -:1009D000026813401943016030BD1100F6E70000C2 -:1009E000064B074A13601978012291431970196860 -:1009F0000A4004490A431A607047C046102C002080 -:100A00000C2C0020F83F0000F0B5C64600B5051ECE -:100A100020D0830702D003239D4304350024104EC9 -:100A2000012398460F4F08E02900B8472378012298 -:100A300013432370201D00280FD12000B047041E4F -:100A40000AD0037842461A42F7D103685B089D42F8 -:100A5000EAD9F2E7044800E0002004BC9046F0BD6B -:100A60006909010095090100104C0020F0B5C64647 -:100A700000B50020154B984704000125134F3E0098 -:100A8000B84617E02000B84700281CD003781D4264 -:100A90000FD1226853080433016849085B185B00D2 -:100AA0002A4013432360B04700280CD003781D422E -:100AB000EFD00400002C06D023781D42E2D02000A5 -:100AC000C0470400F6E704BC9046F0BD6909010088 -:100AD00070B50400194B984228D0002826D0021F78 -:100AE000137801218B431370154A138801339BB28D -:100AF00013800F2B1BD80438124B9847002815D0B1 -:100B00000378DB0712D4043C01250E4E22685308FB -:100B10000433016849085B185B002A4013432360D3 -:100B2000B047002802D003781D42EFD070BD0022EC -:100B3000034B1A80044B9847F8E7C046104C00203E -:100B4000E82B0020690901006D0A0100002806D089 -:100B5000054B984205D004380068400870470020D3 -:100B6000FCE70020FAE7C046104C002010B5154BFA -:100B70001B68984213D0134B9B68012283420FD00D -:100B8000114B1B68984213D001230F4C1900DA0057 -:100B9000A25890420DD00133102BF7D110BD002286 -:100BA000D200084B9B189A7901218A439A71F5E784 -:100BB0000021C900044B59188B79012293438B7192 -:100BC000ECE7C04644000020DC4C0020F0B5C646EF -:100BD00000B5114B9A7901218A439A719A7B8A4315 -:100BE0009A730E4C00250E4B98460026270003E012 -:100BF00001350834102D0CD020680028F8D0C047EB -:100C00002660EB00FB189A7901218A439A71A6802D -:100C1000EEE704BC9046F0BD44000020DC4C002010 -:100C2000D10A0100F0B5C64600B503231C000440FC -:100C30000B409C4267D0202A63D921235B429C460B -:100C4000944463465F097B1C5B01C5180C000300DC -:100C500026781E7066785E70A6789E70E678DE70E4 -:100C600026791E7166795E71A6799E71E679DE71CC -:100C7000267A1E72667A5E72A67A9E72E67ADE72B4 -:100C8000267B1E73667B5E73A67B9E73E67BDE739C -:100C9000267C1E74667C5E74A67C9E74E67CDE7484 -:100CA000267D1E75667D5E75A67D9E75E67DDE756C -:100CB000267E1E76667E5E76A67E9E76E67EDE7654 -:100CC000267F1E77667F5E77A67F9E77E67FDE773C -:100CD00020332034AB42BBD11F2365469D432035D2 -:100CE00043194919203A7F01D21B002A06D09A18CD -:100CF0000C781C70013301319342F9D104BC904649 -:100D0000F0BD0300F1E70500002C14D004252D1BD5 -:100D10000ED0002A5FD0451903000C781C700133F7 -:100D20000131013AAB4205D0002AF6D1002248E059 -:100D3000050000E01D00202A28D91700213FB846F1 -:100D40007B099C465E1C7601AE190C002B002768BF -:100D50001F6067685F60A7689F60E768DF6027695A -:100D60001F6167695F61A7699F61E769DF61203380 -:100D700020349E42EBD11F2347469F432037ED1975 -:100D8000C9191300203B624652019A1A2B00042A0B -:100D900017D9531F9C469B08984601339B00EB18BC -:100DA0000E002C0080CE80C49C42FBD103236446FD -:100DB0009C4323000433141F42469200A21AC91810 -:100DC000EB18002A9AD09A180C781C700133013164 -:100DD0009342F9D192E70300A8E70000F8B50500B7 -:100DE0000C008B0702D003239C430434002D04D055 -:100DF0002B1F1B78DB07DB171D402800114B984782 -:100E0000070084421CD014D320000F4B9847061EC5 -:100E100014D0002D12D0002F10D02200BC4200D9D7 -:100E20003A0029003000094B98472800084B9847A2 -:100E300004E0281F2100074B98472E003000F8BD22 -:100E40002E00FBE74D0B0100090A0100250C0100F3 -:100E5000D10A010095090100F8B5002800D168E029 -:100E6000102807D8344B9B79DB0713D5324B9B7B7B -:100E7000DB0705D5314C002301267642270019E017 -:100E800001232D49DB00C818827901242243827195 -:100E900058582DE00023F4E7284ADD0051198B79DA -:100EA000012003438B71A85822E05EB2013308345D -:100EB000102B13D0DA00BA189279D207F6D4A28890 -:100EC0009042F3D8E8D0002EEFDBF1001B4DAC468A -:100ED000614489889142E9D95EB2E7E7002E08DBD8 -:100EE0001649F300C81882790124224382715858A8 -:100EF000F8BD124B9A7901230024D2070BD50F4974 -:100F00001C00DA008A189279D20704D50133102B1D -:100F1000F6D10020ECE7094DE4002B199A79012164 -:100F20000A439A71988001006059054B98476051B7 -:100F3000DEE70020DCE7C04644000020DC4C002057 -:100F4000DD0D0100F0B5032404400ED004231B1B6B -:100F50000BD0002A07D0C31801700130013A984223 -:100F600003D0002AF8D1002234E00C0264180B04EC -:100F7000E4180B06E4180600202A18D91600213EB2 -:100F800077097D1C6D01451903001C605C609C6045 -:100F9000DC601C615C619C61DC6120339D42F4D1AA -:100FA0001F239E4320368619203A7F01D21B300032 -:100FB000042A0FD9501F87087D1CAD007519330016 -:100FC00010C3AB42FCD1032398430430043ABF0062 -:100FD000D21B3018002A04D08218017001309042D0 -:100FE000FBD1F0BD70B5032303403AD1202919D9B4 -:100FF0000D00213D6E09741C6401041903000022D8 -:101000001A605A609A60DA601A615A619A61DA610C -:1010100020339C42F4D11F239D43203540192039B1 -:101020007601891B0300042910D94B1F9E08741CEC -:10103000A40004190200002520C2A242FCD1032210 -:10104000934304330439B600891BC318002905D023 -:10105000591800221A7001338B42FBD170BD180061 -:10106000C4E70422D21AC1D000290BD08218030091 -:1010700000201870013301399342F0D00029F8D1D3 -:101080000021E3E70300FBE770B5032303403CD1F5 -:1010900020291AD90D00213D6E09741C6401041920 -:1010A0000300012252421A605A609A60DA601A61A3 -:1010B0005A619A61DA6120339C42F4D11F239D4327 -:1010C0002035401920397601891B0300042911D9E4 -:1010D0004B1F9E08741CA4000419020001256D42D8 -:1010E00020C2A242FCD10322934304330439B60048 -:1010F000891BC318002905D05918FF221A70013323 -:101100008B42FBD170BD1800C2E70422D21ABFD0B7 -:1011100000290BD082180300FF2018700133013919 -:101120009342F0D00029F8D10021E3E70300FBE768 -:1011300010B518210448054B98470022044B1A703B -:101140000132044B1A7010BDAC4C00205105010057 -:101150002B4C0020284C002070B52F482F4B98476F -:10116000041E18D02E4D237D5B075B0F032B23DD60 -:1011700021002948A847041EF5D12748294B984744 -:101180000500294B9847002842D12A000023274810 -:1011900027498847FEE72048264B98470500224B01 -:1011A0009847002805D12A00002320482049884775 -:1011B000FEE7002D0DD123E0210017481E4B984774 -:1011C0000500194B984700281CD0002D18D0002C82 -:1011D000D3D00124194B1C70FA235B002B6000262E -:1011E000AE602B7D07229343032213432B7501230B -:1011F0005B422B61124B98476860EE60114B1C708C -:10120000280070BD2A000023084809498847FEE7E6 -:10121000002DDED1F4E7C046AC4C002005060100ED -:101220001D060100B5050100151400000488010029 -:101230001D140000650501006D0601002B4C002007 -:1012400025F70000294C002010B5040001000948D2 -:10125000094B98470122094B1A702000084B984708 -:10126000084B1B689C4200D010BD0122064B1A702F -:10127000FAE7C046AC4C0020ED0601002B4C0020E4 -:10128000D10A0100784D00202A4C002010B504003E -:101290004068134B984700232268904201D21800FF -:1012A00010BD104B9847606000230F4A13700F4A1F -:1012B0001370A368002B05D0200098470A4B1B78B9 -:1012C000002BECD12369002B01DD013B23610123BD -:1012D0002269002AE3D12000054B98470123DEE76D -:1012E00041F7000025F700002A4C0020294C00207F -:1012F00049120100F0B5DE4657464E46C0B5664B72 -:101300001B780120002B09D10122634B1A70634B1B -:101310001B78002B07D100225F4B1A701CBC914632 -:101320009A46A346F0BD5E4B98475E4B186000247A -:101330005D4B9B46002399465C4B9A4684E05C4B90 -:101340001D6000240FE05B4B9847584B1B78002B27 -:101350002FD1554B1B78002B2BD1574B1B78002BD3 -:101360006ED1534B1D603168002922D05348B847D5 -:1013700005004F4B1868027D0723134019D08442A3 -:10138000DDD0052BDFD0002C4BD0027D5207520F51 -:10139000237D5B075B0F9A42D7DD464B98470028B9 -:1013A000D3D0424B1B78002B03D13F4B1B78002B33 -:1013B00034D03C4B1868424CA047424B1A689446C4 -:1013C00060441860404B1868A047F423FF339842EC -:1013D00017D93C4B186864235843FA2149003B4B0A -:1013E0009847C0B20023642802D864231B1ADBB2DA -:1013F000374A13700022334B1A60294B9847324BFF -:10140000186001225242334B1A602C48324B9847E5 -:10141000041E3BD02A4D2F4F3E0028E0244B1C6871 -:1014200012E0244B984700288FD0204B1B78002BCC -:10143000BFD11D4B1B78002BBBD11D4B1C6803E09B -:101440001D4B00221A7000245B464A461A70534610 -:101450001A701A48204B9847154B18601E001F4FF2 -:1014600081E7210015481D4B9847041E0ED0237DAF -:101470005B07F6D06068A84722680023904200D23C -:10148000131A3A689A42ECD93360EAE70022024B19 -:101490001A70104B186841E7144C0020284C0020AB -:1014A00025F700001C4C00202A4C0020294C00206D -:1014B000784D00208D1201002B4C0020AC4C0020F8 -:1014C00041F70000184C0020244C002061790100F5 -:1014D000204C00202C4C0020050601001D060100B8 -:1014E000F0B5CE4600B5050089460E00037D5B07CA -:1014F0005B0F8B4228D01948194B9847041E26D001 -:10150000037D5B075B0F9E420ADA164F21001348EA -:10151000B847041E1BD0237D5B075B0F9E42F5DBA3 -:10152000A54206D0220029000C480F4B9847002CFA -:101530000DD001220D4B1A7006324B461A402B7DFE -:1015400007218B4313432B7504BC9146F0BD002249 -:1015500029000248044B9847EBE7C046AC4C0020FA -:10156000050601001D060100F90701002B4C0020B3 -:10157000F0B583B006000F0001921D000C4B984798 -:1015800004000C4B984700280BD0002C06D0A66016 -:10159000276001992000084B9847E560200003B0C0 -:1015A000F0BD22000023054805498847FEE7C046F4 -:1015B0005911010015140000E11401000488010014 -:1015C0001D14000010B50400034B98472368DB434B -:1015D0001818606010BDC04625F70000F0B583B054 -:1015E0000023019300290AD00B68C25C54B2002C7E -:1015F00007DB140001330B60200003B0F0BD01A92C -:10160000F2E71F241500A543C02D0DD00F241500AF -:10161000A543E02D1CD007241500A543F02D36D09E -:1016200001330B600024E7E75C1C0C60055D3F2084 -:101630002C008443200000248028DDD19201F8246E -:10164000E40022403F242C40A41802330B60D3E76F -:101650005C1C0C60055D3F242E00A6430024802EF8 -:10166000CAD19C1C0C60005D3F240600A6430024E8 -:10167000802EC1D11407240C3F2210402418AD0144 -:10168000FC20000105402C1903330B60B4E75C1CFF -:101690000C60055D3F242E00A6430024802EABD1B4 -:1016A0009C1C0C60065D3F243700A7430024802F5C -:1016B000A2D1DC1C0C60005D3F240700A74300247E -:1016C000802F99D19204E024640322402C03FC254E -:1016D000AD022C402243B401FC26360134403F25A4 -:1016E00028402418A41804330B6085E7F0B583B0B4 -:1016F00006000D000023019300290CD00024074FA1 -:1017000001A930003B6898470134019BAB42F7D3F5 -:10171000200003B0F0BD0C00FAE7C04658000020DE -:10172000232905D002780023012A12D0180070471F -:101730000278002A02D101230370F7E7012A05D0BD -:101740000023022AF2D103700133EFE70023037074 -:10175000ECE701332029E9D101330370013BE5E7D0 -:10176000F0B5DE4657464E464546E0B591B0079087 -:101770000391924605931AAB1B781A000A9300282E -:1017800000D10BE1002900D10AE11223134216D047 -:10179000020003780A2B00D104E10D2B00D10BE1EC -:1017A000002B00D10AE100200130135C0A2B00D18C -:1017B000F9E00D2B00D1F6E0002BF5D1F4E0022387 -:1017C0000A9A1A400B9201D07D4B059300230F22F9 -:1017D0000CA98C46624413700E937A4B99467A4F4B -:1017E0005346049383E0009A21000398774B98476F -:1017F0004519ADB200B2002803DD049B9C46654448 -:10180000ADB22DB24346013339D022000A3A162A2E -:101810003CD86F4BD34001221A423AD101232B32DC -:10182000944238D00133DBB2FA5C002AF8D1434647 -:10183000013300D18DE00C9E0D9B0C93029B019314 -:10184000009C53469B5D002B00D184E00DA95046BF -:101850004B461B6898470090019B013302935B46FF -:10186000002BC0D021000F200CAB9C466044594B8C -:1018700098470028B7D00C9E0D9B0C93DEE7049B85 -:10188000EB1A089A9342C0DDB046BEE701232C2232 -:10189000C6E7B24600E0B2465346002B5CD1434651 -:1018A00001335CD10695019B002B04D00D2C04D193 -:1018B000009B0A2B01D10C9B9A4653466A46138023 -:1018C0001688059B069A9B1A1BB20593002E49D0D9 -:1018D0000E9B9C4666440E96079A13780A2B51D0AD -:1018E0000D2B4FD0935D0A2B4AD00D2B48D00E9B69 -:1018F0000993079A9C46624416001378002B41D046 -:10190000059B002B3EDD002E2CD0059B08930B9BE6 -:10191000002B01D02A4B089300230C930D930CA9A4 -:101920003000284B1B680093984704000C9B0D93D4 -:1019300000230693013B9846002301930025009362 -:101940009A4601330A9A13409B465346B2461E00FC -:1019500077E706956FE7B24643460133A3D0099B6C -:10196000002B08D00E9B002B0FD1164B1B680EA925 -:101970000798984706E043466A4613801688A0E712 -:1019800001360E960E9B002B02D00CAB18890CE092 -:101990000C4B1B680EA907989847F6E7002004E057 -:1019A000002002E00020013080B211B03CBC904623 -:1019B0009946A246AB46F0BD0020F4E70020F3E7CD -:1019C000187C0000580000205CC9010001E70000FD -:1019D0000900400021170100F0B5CE46474680B50A -:1019E00085B005008946019298460CAB1F78002807 -:1019F0003AD0002A3AD00023039302AAD3700024DD -:101A000000292BD001231F400AE0320000990198E1 -:101A1000174B984703B2002B02DD4444041924B24B -:101A2000039B994515D9134E03A92800336898479D -:101A30000090039BE8183368002198470600002FA8 -:101A4000E3D0009902ABD81C0B4B98470028E7D194 -:101A5000DBE7002C02DD4346E41A24B2200005B087 -:101A60000CBC90469946F0BD0024F7E70024F5E74A -:101A700001E700005800002021170100F0B5DE4604 -:101A800057464E464546E0B589B004008946029265 -:101A9000039312AB00215B5E069313AB00215B5EE8 -:101AA000049314AB1F780023038043804B46002B24 -:101AB00051D0002A4FD0BB0701D52F4B0493029B76 -:101AC00008229B5E07939AB24B461B78002B4FD09F -:101AD0004D460026294B9B46069B9A469244534608 -:101AE0006A469382938A984605E022804B469D1968 -:101AF0002B78002B1FD00097049B039A0299280093 -:101B0000D84736180221635E5146C9181C4A9142D3 -:101B100021D841460591434463800097039B029A74 -:101B200001002800174DA84723881A1C1BB28342C6 -:101B3000DBDA021CD9E7002E06D02E00013E3378F6 -:101B40000A2B0FD00D2B0DD00222A35E002B0FD03D -:101B5000069A9B1A638009B03CBC90469946A246FF -:101B6000AB46F0BD6388059A944663446380EBE717 -:101B70006B469B8B6380EEE7187C000061170100C9 -:101B8000FF7F0000D9190100F0B5D6464F46464602 -:101B9000C0B582B001900F00141E99460A9B9A4668 -:101BA0001DD00123984604E000281ADA3400002CE6 -:101BB0000ED066084D4675437D1929000198D0471F -:101BC0000028F1DD4346A343F41A4D442F00EEE70D -:101BD000002002B01CBC90469946A246F0BD0020F1 -:101BE000F7E72800F5E70000014B18607047C04692 -:101BF000304C0020014B1B68D8687047304C0020E7 -:101C000010B5024B1B681B68984710BD304C002074 -:101C1000F0B5CE46474680B583B0040028290ED8DB -:101C20008900E44B5B589F460021E34B9847002115 -:101C30002000E24B9847E24B1968E24B9847FF219E -:101C40002000E14B984703B00CBC90469946F0BD8C -:101C50000021D94B984700212000D84B9847D84BFA -:101C600019680431D74B9847E9E70021D24B9847D0 -:101C700000212000D14B9847D14B19680431D14B3A -:101C80009847DCE70021CC4B984700212000CB4B44 -:101C90009847CB4B19681031CA4B9847CFE70021C2 -:101CA000C54B9946984700212000C44FB847C44E01 -:101CB0003368191D0190C34DA84731681831019848 -:101CC000A84701212000C84701212000B84707008C -:101CD0003368191DA847316808313800A847AEE7B6 -:101CE0000021B54B9946984700212000B34FB847D3 -:101CF000B34E31680190B34DA847316868310198FF -:101D0000A84701212000C84701212000B84707004B -:101D10003368191DA847316808313800A8478EE795 -:101D20000021A54B9846984700212000A34FB847B3 -:101D3000A34E31682431A34DA84701212000C0479C -:101D400001212000B84731682831A84777E70021F2 -:101D5000994B9846984700212000984FB847984ED5 -:101D600031682431974DA84701212000C047012147 -:101D70002000B84731682831A84702212000C04719 -:101D800002212000B84731689C31A84757E700215D -:101D9000894B984753E70021874B98474FE700212D -:101DA000854B98474BE70021834B984747E7002135 -:101DB000814B984743E700217F4B99469847002184 -:101DC00020007E4FB8477E4E3368191D01907D4D2F -:101DD000A847316820310198A84701212000C84751 -:101DE00001212000B84731681C31A84727E70021AE -:101DF000714B9846984700212000704FB847704EAD -:101E0000316820316F4DA84701212000C0470121D2 -:101E10002000B84731681C31A84710E70021664B05 -:101E20009946984700212000644FB847644E3168B6 -:101E300024310190634DA847316894310198A84737 -:101E400001212000C84701212000B847316828310E -:101E5000A84702212000C84702212000B847316866 -:101E60009031A847EBE60021534B98469847002154 -:101E70002000524EB047524F39684C31514DA8475F -:101E800040212000C04740212000B04706003968AB -:101E90001031A847396850313000A847CFE60021FB -:101EA000454B984700212000444B98470500444F7C -:101EB0003B68191D434EB04739687C312800B04754 -:101EC000BDE640213C4B98469847402120003B4FBF -:101ED000B8473B4E316818313A4DA84741212000A0 -:101EE000C04741212000B84731681031A847A6E615 -:101EF0000021314B984700212000304B9847304B50 -:101F000019686C312F4B984799E600212A4B984667 -:101F1000984700212000294FB847294E3368191DE2 -:101F2000284DA84740212000C04740212000B84745 -:101F300031681431A84701212000C0470121200049 -:101F4000B84731688031A84702212000C0470221EC -:101F50002000B84731688431A84770E60021164D4B -:101F6000A84700212000154B98469847144F396820 -:101F7000144EB04740212000A84741212000A84727 -:101F800041212000C0473968A831B04743212000D3 -:101F9000A84743212000C0473968AC31B0474221EF -:101FA0002000A84742212000C0473968A431B0472B -:101FB00045E6C04664C901006D1D0000911C00008B -:101FC000384C0020B5490000252500000021F34DC4 -:101FD000A84740212000A84740212000F04B984707 -:101FE000F04B1968B031F04B984728E60021EB4BD5 -:101FF0009846984700212000E94FB847E94E3168DC -:10200000E94DA84701212000C04701212000B84721 -:1020100031688031A84702212000C04702212000FA -:10202000B84731688431A84709E60021DB4B99465F -:10203000984700212000DA4FB847DA4E3368191D5F -:102040000190D94DA847316888310198A8470321EC -:102050002000C84703212000B84731688C31A847C9 -:10206000EDE50021CD4B984700212000CC4B98474F -:10207000E5E50021C94B9846984700212000C84F4C -:10208000B847C84E3368191D0190C74DA84731683D -:1020900074310198A84740212000C0470121200049 -:1020A000C04701212000B84731688031A847C6E504 -:1020B0000021BA4B984700212000B94B9847B94BF3 -:1020C00019687831B84B9847B9E50021B34B994668 -:1020D000984700212000B24FB847B24E3368191D0F -:1020E0000190B14DA847316808310198A84731687F -:1020F00018310198A84740212000C84740212000FE -:10210000B8473368191D0190A847316854310198C8 -:10211000A84741212000C84741212000B847316825 -:102120008031A84742212000C84742212000B847FB -:1021300031685831A84782E50021984B9946984765 -:1021400000212000964FB847964E3368191D019024 -:10215000954DA847316840310198A847316818313A -:102160000198A84701212000C84701212000B84755 -:10217000316818310190A847316844310198A84767 -:1021800002212000C84702212000B84731684831A9 -:10219000A84754E50021814B98469847002120002C -:1021A0007F4FB8477F4E3368191D7F4DA8470121E7 -:1021B0002000C04701212000B8473168A031A8475E -:1021C00002212000C04702212000B8473168A03119 -:1021D000A84703212000C04703212000B8473168E9 -:1021E000A031A84704212000C04704212000B8479F -:1021F0003168A031A84722E50021684B98469847EE -:1022000000212000664FB847664E3168664DA847EA -:1022100042212000C04742212000B8473168803168 -:10222000A84741212000C04741212000B84731681C -:10223000B031A84740212000C04740212000B847C6 -:102240003168A831A847FAE40021544B984700218F -:102250002000534B9847534B1968A431524B984771 -:10226000EDE400214D4B99469847002120004C4F4A -:10227000B8474C4E3368191D01904B4DA847316843 -:1022800018310198A84704212000C84704212000E4 -:10229000B8473168B831A84703212000C847032157 -:1022A0002000B8473168B431A84701212000C84751 -:1022B00001212000B84731688031A847BFE40021E0 -:1022C000364B9946984700212000354FB847354E88 -:1022D0003368191D0190344DA847316818310198B1 -:1022E000A84703212000C84703212000B8473168D0 -:1022F0009831A847A3E40021284B984700212000EB -:10230000274B98470500274F3B68191D264EB047BD -:10231000396808312800B04791E400211F4B9846E6 -:102320009847002120001E4FB8471E4E3368191DE4 -:102330001D4DA84703212000C04703212000B847B6 -:1023400031682C31A84701212000C047012120001D -:10235000B84731683031A84702212000C047022128 -:102360002000B84731683431A84768E400210B4B9E -:102370009846984700212000094FB847094E316818 -:102380003831094DA84701212000C0470121200014 -:10239000B84731683C31A84751E4C0466D1D000084 -:1023A000911C0000384C0020B549000000211B4B57 -:1023B0009847002120001A4B98470500194F3B68A9 -:1023C000191D194EB047396870312800B04736E4FE -:1023D0000021124B9946984700212000104FB84722 -:1023E000104E3368191D01900F4DA84731685C31BC -:1023F0000198A84701212000C84701212000B847C3 -:1024000031686031A84702212000C847022120001E -:10241000B84731686431A847FFF711FC6D1D000013 -:10242000911C0000384C0020B549000010B5054B48 -:102430001B78002B02D1044B984710BD034B9847E3 -:10244000FBE7C046344C0020E5480000E14A0000AC -:10245000F8B5CE46474680B5F94C2068F94B984709 -:10246000FF222C212068F84B98472068F74B9B6986 -:102470009B0701D500F05DFE082312210B224901C4 -:10248000DB020A431A432921F14B9847EC4B1868A9 -:10249000EE4B9B699B0701D500F050FE1C233A21AF -:1024A0001D224901DB020A431A43EA49E84B9847D7 -:1024B000E34B1868E54B9B699B0701D500F043FE91 -:1024C0001C233A211D224901DB020A431A437921C8 -:1024D000DF4B9847DD4EDA4CF268DF492068DF4D6C -:1024E000A847F2687E212068A8472368181DD54BAD -:1024F0009847246804340020D94B98470A30C0001C -:102500004023FF330122984201D900F021FE01212E -:102510002000D44B9847CA4C2368181DFF222C2159 -:10252000C94B984720680430C84B9B699B0701D56D -:1025300000F019FE0B2318210E224901DB020A4389 -:102540001A432921C24B9847BD4B18680430BF4B32 -:102550009B699B0701D500F00BFE1023222112225C -:102560004901DB020A431A433921B94DA847B44C4B -:102570002368181DB54EB288BB49A8472368181DAB -:10258000F288BA49A847246804340020B44B98471D -:10259000283040004023FF330122984201D900F047 -:1025A000ECFD30212000AF4DA847A54C2368181D35 -:1025B00001223321A847A54D2368181DEA68A649C2 -:1025C000A64B984720680430AB699B0701D500F003 -:1025D000DFFD1F233F211F224901DB020A431A436B -:1025E0009C499B4B9847994C954D2B68181DE26868 -:1025F0007E219A4B984728680430A3699B0701D530 -:1026000000F0CBFD1F233F211F224901DB020A43BB -:102610001A4379218E4B9847894B186804308B4BAD -:102620009B699B0701D500F0BDFD1F233F211F22A1 -:102630004901DB020A431A438D49854B9847804B79 -:1026400018680430814B9B699B0701D500F0AFFDF2 -:102650001F233F211F224901DB020A431A4399210C -:102660007B4B9847764C2368181D012290217D4BA7 -:1026700098472568043500207E4B9847012801D8EB -:1026800000F09AFD0020764B98470301181A40008D -:1026900050304023FF330124984201D900F0A5FDBA -:1026A00000206F4B9847030028335B004021FF3127 -:1026B00001228B4201D900F0A5FDA21812B212210D -:1026C0002800684B98475E4B1D6804350020694B15 -:1026D0009847012801D800F0A0FD0020604B9847E2 -:1026E0000301181A400050304023FF330124984260 -:1026F00001D900F0ABFD0020594B98470300283367 -:102700005B004021FF3101228B4201D900F0ABFD7B -:10271000A21812B213212800524B9847484B1D684B -:1027200004350020534B9847012801D800F0A6FD3E -:1027300000204B4B98470301181A400050304023AB -:10274000FF330124984201D900F0B1FD0020444B31 -:102750009847030028335B004021FF3101228B4260 -:1027600001D900F0B1FDA21812B2102128003D4B92 -:102770009847334B1D68043500203E4B984701288D -:1027800001D800F0ACFD0020354B98470301181A22 -:10279000400050304023FF330124984201D900F01B -:1027A000B7FD00202E4B9847030028335B004021E3 -:1027B000FF3101228B4201D900F0B7FDA21812B2FD -:1027C00011212800274B98471D4B1C68043400201A -:1027D000284B9847012801D800F0B2FD0020204B7B -:1027E000984703011B1A5B0050334021FF3101223F -:1027F0008B4201D900F0BDFD14212000194DA847DE -:102800000F4C2368181D9622B021A8472368181D75 -:102810003922B721A84720680C300A4B9847206816 -:10282000011D0C30144B984720680C30074B9B69F6 -:102830009B0701D500F0AAFD0823122109221DE003 -:10284000384C00202D2401004D4F00003C4C00204E -:10285000ED4D0000898000008E800000A150000036 -:10286000FDF500008D4C0000390200003904000025 -:10287000A980000019F60000354B00004901DB0279 -:102880000A431A432921FB4B9847FB4B18680C302D -:10289000FA4B9B699B0701D500F07DFD08231021B1 -:1028A00008224901DB020A431A433921F14B9847B8 -:1028B000F14B18680C30F14B9B699B0701D500F078 -:1028C0006FFD14232A2115224901DB020A431A4312 -:1028D000EB49E84B9847E84B18680C30E74B9B698D -:1028E0009B0701D500F061FD14232A21152249011F -:1028F000DB020A431A437921DE4B9847DE4B186806 -:102900000C30DE4B9B699B0701D500F053FD14236F -:102910002A2115224901DB020A431A43D949D54B22 -:102920009847D54B18680C30D44B9B699B0701D551 -:1029300000F045FD14232A2115224901DB020A4338 -:102940001A439921CB4B9847CB4C20680830CE4B8B -:10295000984720680830C94B9B699B0701D500F058 -:1029600033FD092313210A224901DB020A431A43DA -:10297000C649C04FB847C04E30680830BF4DAA881E -:102980002A21FF31B84734680834A8883321C04B66 -:102990009847021CBF492000B84730680830AB692F -:1029A0009B0701D500F015FD0B2318210E224901CC -:1029B000DB020A431A43B849AE4FB847AE4D286808 -:1029C0000830002298214900B44B98472C680834FD -:1029D000AA4EB0883321AE4B9847021CB049200064 -:1029E000B84728680830B3699B0701D500F0F6FCAA -:1029F0000B2319210D224901DB020A431A43A9497D -:102A00009C4B98479C4B186808309C4B9B699B07D4 -:102A100001D500F0E8FC0B2319210D224901DB024E -:102A20000A431A433A21FF31924B9847924B186858 -:102A30000830924B9B699B0701D500F0D9FC0B2312 -:102A400019210D224901DB020A431A439649894B99 -:102A50009847894B18680830884B9B699B0701D5BC -:102A600000F0CBFC0B2319210D224901DB020A43A4 -:102A70001A438E497F4B98477F4B186808307F4B2D -:102A80009B699B0701D500F0BDFC1F233F211F223E -:102A90001F24A0464901DB020A431A438449754FAB -:102AA000B847754E30680830FC25ED0042462A4391 -:102AB000804C22438049B8473068083042462A4358 -:102AC00022437E49B847306808306C4B9B699B07AE -:102AD00001D500F09CFC262213235201D9021A438F -:102AE0000A437749634B9847634B18680830634B38 -:102AF0009B699B0701D500F08EFC1F233F211F22FD -:102B00001F24A0464901DB020A431A436D49594F6D -:102B1000B847594E30680830FC25ED0042462A433C -:102B2000644C22436849B8473068083042462A431B -:102B300022436649B84730680830504B9B699B0771 -:102B400001D500F06DFC262213235201D9021A434D -:102B50000A435F49474B9847474C20680830292271 -:102B6000B6214E4DA84720681030474B9847206843 -:102B70001030584A0121A84720681030FF222C212C -:102B8000554B9847206810303C4B9B699B0701D5FB -:102B900000F04AFC0B2318210E224901DB020A43F4 -:102BA0001A432921334B9847334B18681030334B65 -:102BB0009B699B0701D400F03CFC304D6A79D20838 -:102BC00093009B189A009B18444A944663441A0247 -:102BD000D218D201D218D20D1F210A40AC88640548 -:102BE000A30E9C00E418A300E4183D4B9C466444EB -:102BF00023021B19DB011B19DB009B0E2C79E40659 -:102C0000E50EAC006419A5006419344DAC4664446B -:102C100025022D19ED012C19E40D21405B01D20292 -:102C20000B431A431949134FB847134E30681030FD -:102C3000124DAA882A21FF31B84734681034A88879 -:102C40004C21134B9847021C12492000B8473068AA -:102C50001030AB699B0701D500F015FC0B23182140 -:102C60000E224901DB020A431A430B49014B9847E4 -:102C700038E0C046ED4D0000384C00203C4C0020B0 -:102C800089800000A98000002D2401002910000087 -:102C90007502010029110000292000008D4C000060 -:102CA00039120000391000003911000039200000ED -:102CB0008990000000F8FFFF8981000089910000E1 -:102CC00089A00000A9900000A9810000A99100003E -:102CD000A9A00000FF7F00004D4F0000DA1B00009C -:102CE0009A380000F14B18681030F14B9B699B0734 -:102CF00000D5CDE3222211235201D9021A430A43FF -:102D0000EC49ED4DA847E94C20681030E84EB288F8 -:102D10003921A84720681030B288E849A8472068C0 -:102D20001030B3699B0700D5B5E310220823520188 -:102D3000D9021A430A43E249DF4B9847DB4B1C6830 -:102D400010340020DF4B9847283040004023FF33E9 -:102D50000122984200D9A1E330212000DA4B9847A4 -:102D6000D24C2068103000229E214900D74B984752 -:102D700020681030CE4B9B699B0700D598E31F233A -:102D80003F211F224901DB020A431A43D049CA4BA3 -:102D90009847C64B18681030C54B9B699B0700D5F8 -:102DA0008AE31F233F211F221F24A0464901DB0283 -:102DB0000A431A43C749C04DA847BC4C206810308D -:102DC000FC27FF0042463A43C34E3243C349A8475B -:102DD0002068103042463A433243C149A847206830 -:102DE0001030C04B1A88C049A84720681030B04B3B -:102DF0009B699B0700D563E31F233F211F224901E5 -:102E0000DB020A431A43B949AB4B9847A74B1868F2 -:102E10001030A74B9B699B0700D555E31F233F212B -:102E20001F221F264901DB020A431A43B049A24D63 -:102E3000A8479E4C20681030FC23DB0099461A00FE -:102E40003243A54F3A43AA49A847206810304A4662 -:102E500032433A43A749A84720681030A14B1A884B -:102E6000A549A84720681030914B9B699B0700D566 -:102E70002EE31F233F211F224901DB020A431A438D -:102E800079218D4B9847894B18681030884B9B6986 -:102E90009B0700D520E31F233F211F221F24A046AC -:102EA0004901DB020A431A439449834DA8477F4CEA -:102EB00020681030FC27FF0042463A43864E3243DA -:102EC0007A21FF31A8472068103042463A43324306 -:102ED0008B49A84720681030824B1A888949A84737 -:102EE000246810340020774B984783001B18DB00C0 -:102EF00050334021FF3101228B4200D9F0E21221F0 -:102F00002000714B9847694B1C68103400206D4BB2 -:102F1000984783001B18DB0050334021FF3101220A -:102F20008B4200D9E9E213212000674B98475F4BA1 -:102F30001C6810340020634B98470301181A503066 -:102F40004023FF330122984200D9E3E21021200000 -:102F50005D4B9847554B1C6810340020594B9847DF -:102F60000301181A50304023FF330122984200D940 -:102F7000E8E211212000544B98474C4B1C68103458 -:102F80000020504B984783001B189B005033402172 -:102F9000FF3101228B4200D9DFE2142120004A4D8B -:102FA000A847424C2068103003224021A8472068DF -:102FB000103000224C21454EB047206810307F224F -:102FC00093218900B04720681030394FBA884921D1 -:102FD000394EB04720681030FA884B49B047206816 -:102FE00010309622B021A847206810303C22B5212D -:102FF000A847206810302922B621A8472068103041 -:103000004C22B721A847206810309622B121A8474A -:103010002068103000223D49A847206814303C4BFE -:1030200098472468143400203A4B9847322800D936 -:10303000ADE20020234B984783001B189B005033C0 -:103040004021FF3101228B4200D993E2142120005C -:103050001D4B9847154B186818302D4B984700208A -:103060002C4B9847322800D9B8E20020154B9847DE -:1030700003008000C018400050304023FF3301247B -:10308000984200D99DE2094E306818302200122182 -:103090000D4DA8473068183022001321A84730682A -:1030A000183022001021A847306835E0384C002045 -:1030B0003C4C002029210000ED4D0000391000009B -:1030C00039200000FDF500008D4C00004D4F000040 -:1030D000898000008990000000F8FFFF89810000CE -:1030E0008991000008CA010089A00000A9800000A1 -:1030F000A9900000A9910000A9A00000791000008B -:10310000791100007920000049040000B11000008E -:103110002D24010019F60000183022001121A847C3 -:103120003068183022001421A8470CBC90469946FC -:10313000F8BD1D233B211E22FFF7A1F907230F2114 -:103140000822FFF7AEF907230F210822FFF7BBF98A -:103150000020F64B98470A30C000A021F44B984756 -:1031600002B2FFF7D4F91F233F211F22FFF7E5F931 -:103170001A2337211C22FFF7F3F90020EB4B984765 -:1031800028304000A021EA4B984702B2FFF709FA25 -:1031900007230F210822FFF71FFA07230F21082218 -:1031A000FFF733FA07230F210822FFF741FA07231D -:1031B0000F210822FFF74FFA0020DC4B984703014C -:1031C000181A50304023FF330124984201D8FFF7EA -:1031D00067FA0020D54B98470301181A5030A021F8 -:1031E000D34B984784B2FFF75BFA0020CF4B984748 -:1031F0000301181A40005030A021CD4B984784B2EB -:10320000FFF74EFA0020C94B984728304000A02114 -:10321000C74B984782B2FFF750FA0020C34B98473C -:103220000301181A50304023FF330124984201D87B -:10323000FFF761FA0020BD4B98470301181A503080 -:10324000A021BB4B984784B2FFF755FA0020B74B3B -:1032500098470301181A40005030A021B44B9847FA -:1032600084B2FFF748FA0020B04B9847283040005E -:10327000A021AF4B984782B2FFF74AFA0020AB4B30 -:1032800098470301181A50304023FF330124984215 -:1032900001D8FFF75BFA0020A44B98470301181AE6 -:1032A0005030A021A24B984784B2FFF74FFA00207C -:1032B0009E4B98470301181A40005030A0219C4BA8 -:1032C000984784B2FFF742FA0020984B984728307D -:1032D0004000A021964B984782B2FFF744FA0020A5 -:1032E000924B98470301181A50304023FF330124B2 -:1032F000984201D8FFF755FA00208C4B98470301FC -:10330000181A5030A0218A4B984784B2FFF749FA27 -:103310000020864B98470301181A40005030A02126 -:10332000834B984784B2FFF73CFA00207F4B9847C5 -:1033300028304000A0217E4B984782B2FFF73EFA2A -:1033400000207A4B98470301181A50304023FF336E -:103350000122984201D8FFF74FFA0020734B98479B -:103360000301181A5030A021714B984702B2FFF7A1 -:1033700043FA00206D4B98470301181A4000503063 -:10338000A0216B4B984702B2FFF736FA1A2335217A -:103390001B22FFF773FA1B2339211D22FFF781FA45 -:1033A000062310210922FFF78FFA06231021092294 -:1033B000FFF79DFA062310210922FFF7ABFA062337 -:1033C00010210922FFF7B9FA1D233B211D22FFF727 -:1033D000CBFA1F233F211F22FFF7E9FA19233321DC -:1033E0001922FFF708FB07230F210822FFF716FB1E -:1033F00007230F210822FFF725FB1A2337211C2260 -:10340000FFF733FB07230F210822FFF741FB2A2296 -:103410001523FFF762FB07230F210822FFF770FB3C -:103420002A221523FFF791FB1F233F211F22FFF7BD -:10343000B4FB404E7279D2084C256A433E4BD318F8 -:103440001A02D218D201D218D20D1F210A40B48814 -:103450006405A40E6C43394B9C46644423021B193B -:10346000DB011B19DB009B0E3479E406E40E654397 -:10347000334CA44665442C026419E4016419E40D3C -:103480002140FFF7CBFB1F233F211F22FFF7E9FB62 -:103490003322192330E42222112348E40020234B55 -:1034A000984728304000A021214B984702B253E4AE -:1034B00006231021092265E406231021092273E462 -:1034C0000623102109229AE4062310210922A8E4E8 -:1034D000062310210922CFE4062310210922DDE46E -:1034E0000020124B984703008000C018C0005030E5 -:1034F000A0210F4B984702B201E500200B4B9847E3 -:1035000003008000C018C0005030A021084B98472D -:1035100002B208E50020054B98470301181A503005 -:10352000A021034B984702B210E5C046FDF500000C -:10353000617901003C4C0020B1070000C810000078 -:10354000CA0900000020334B98470301181A503075 -:10355000A021314B984702B20BE500202D4B984734 -:1035600003008000C01880005030A0212A4B9847EB -:1035700002B212E50020274B984703008000C018D4 -:1035800080005030A021244B984702B25EE5002015 -:10359000204B984783001B18DB0050334021FF313C -:1035A00001228B4200D851E500201A4B98470300B6 -:1035B0008000C018C0005030A021174B984702B2BD -:1035C00044E50020134B984703008000C0184000DA -:1035D0005030A021104B984704B254E500200D4B09 -:1035E000984703008000C018800050304023FF330C -:1035F0000124984200D846E50020064B9847030076 -:103600008000C01880005030A021034B984704B2BE -:1036100039E5C046FDF5000061790100F0B5C64608 -:1036200000B5494C20682430484B98472068243026 -:10363000474A0121474B984720682430FF222C211C -:10364000454B984720682430444B9B699B0700D525 -:103650006EE00823122109224901DB020A431A43C2 -:1036600029213F4B9847384B186824303B4B9B69C6 -:103670009B0761D41F233F211F224901DB020A431C -:103680001A437921364DA8472F4C20682430334EF9 -:10369000B2884921A84720682430F2883149A847D8 -:1036A0002068243000224C212B4B984698472068F4 -:1036B00024307F2293218900C047206824300322D0 -:1036C0004021244FB847206824309622B021B847C3 -:1036D000206824304C22B721B847206828301B4B83 -:1036E000984720682830FF222C21C04720682830C6 -:1036F000174A0121B84720682830B2882921A847F5 -:1037000020682830184B1A881849A84720682830A4 -:10371000B3699B0714D41F233F211F224901DB02F9 -:103720000A431A4379210E4B984704BC9046F0BDDA -:103730001A2335211B228FE70623102109229CE73B -:10374000082310210922E9E7384C00202D2401002C -:10375000FF7F00008D4C00004D4F00003C4C0020CE -:10376000ED4D00004904000008CA010029200000B6 -:1037700010B59A4C20689030994B9847206890304B -:10378000FF222C21974B984720689030964B9B69DD -:103790009B0700D4BBE0944B9A882921934B984710 -:1037A0008E4B18689030904B9B699B0700D5B1E019 -:1037B0001F233F211F224901DB020A431A437921BB -:1037C0008A4B9847854C20689030894A0121894B63 -:1037D0009847246890340020874B9847C300181AF4 -:1037E00050304023FF330122984200D996E0122145 -:1037F0002000804B9847794B1C68903400207E4B0A -:103800009847C300181A50304023FF3301229842D2 -:1038100000D98EE013212000764B98476F4B1C682F -:1038200090340020744B9847C300181A503040233E -:10383000FF330122984200D986E0102120006D4B11 -:103840009847664B1C68903400206B4B9847C30028 -:10385000181A50304023FF330122984200D97EE0ED -:1038600011212000634B98475C4C206894305C4BDE -:1038700098472468943400205F4B984783001B18B6 -:103880005B0050334021FF3101228B4200D971E0AF -:1038900017212000574B9847504B1C689434002048 -:1038A000554B984783001B185B0050334021FF3174 -:1038B00001228B4200D96AE0182120004D4B984725 -:1038C000464B1C68943400204B4B984783001B18D0 -:1038D0005B0050334021FF3101228B4264D8152117 -:1038E0002000444B98473D4B1C6894340020424BC9 -:1038F000984783001B185B0050334021FF310122A1 -:103900008B425ED8162120003A4B984710BD3B4BA6 -:103910001A8842E70623102109224CE70020364B83 -:103920009847C300181A5030A021354B984702B26F -:103930005DE70020304B9847C300181A5030A02193 -:103940002F4B984702B265E700202B4B9847C300E6 -:10395000181A5030A0212A4B984702B26DE7002078 -:10396000254B9847C300181A5030A021244B984784 -:1039700002B275E70020204B984703008000C01872 -:1039800040005030A0211E4B984702B280E7002033 -:10399000194B984703008000C01840005030A02108 -:1039A000174B984702B287E70020134B9847030054 -:1039B0008000C01840005030A021114B984702B23F -:1039C0008DE700200C4B984703008000C018400092 -:1039D0005030A0210A4B984702B293E7384C0020A0 -:1039E0002D2401004D4F00003C4C0020ED4D000007 -:1039F000FF7F00008D4C0000FDF500000CCA0100A7 -:103A00006179010010B5464C20689C30454B9847C1 -:103A100020689C30FF222C21434B984720689C3023 -:103A2000424B1A882921424B984720689C30414AD2 -:103A30000121414B984724689C3400203F4B984714 -:103A4000143080004023FF3398423CD80122524278 -:103A500010212000384B9847314B1C689C340020C3 -:103A6000364B9847143080004023FF33984235D8B6 -:103A700001225242112120002F4B9847284B1C68ED -:103A80009C3400202D4B9847143080004023FF3396 -:103A900098422ED80122524212212000264B9847EC -:103AA0001F4B1C689C340020244B98471430800026 -:103AB0004023FF33984227D801225242132120008D -:103AC0001D4B984710BD00201C4B984714308000B8 -:103AD000A0211B4B9847424212B2B9E70020174B76 -:103AE000984714308000A021154B9847424212B2EB -:103AF000C0E70020114B984714308000A021104BE4 -:103B00009847424212B2C7E700200C4B9847143046 -:103B10008000A0210A4B9847424212B2CEE7C0462D -:103B2000384C00202D2401004D4F00000CCA01002C -:103B3000ED4D0000FF7F00008D4C0000FDF5000002 -:103B40006179010070B57F4C206870307E4B9847DA -:103B5000206870307D4A01217D4B9847246870347D -:103B600000207C4B984783001B189B00503340215A -:103B7000FF3101228B4200D98CE012212000744BCE -:103B80009847704B1C6870340020724B9847830034 -:103B90001B189B0050334021FF3101228B4200D97A -:103BA00085E0132120006A4B9847664B1C687034EF -:103BB0000020684B984783001B189B00503340211E -:103BC000FF3101228B4200D97EE010212000604BA2 -:103BD00098475C4B1C68703400205E4B984703018B -:103BE0001B1A5B0050334021FF3101228B4200D968 -:103BF00077E014212000564B9847524B1C687034D4 -:103C00000020544B9847830018188300C018503088 -:103C10004023FF330122984200D96EE0C0212000EA -:103C20004B4B9847474C206870304B4EB2889921D7 -:103C30004A4DA84720687030B288C921A84720683B -:103C40007030474B1A88CA21A84724687034002076 -:103C5000404B984783001B185B0050334021FF31D5 -:103C600001228B4256D890212000394B9847354B82 -:103C70001C6870340020374B9847C300181A503026 -:103C80004023FF330122984251D8C3212000304BFA -:103C9000984770BD00202F4B984703008000C01844 -:103CA00080005030A0212F4B984702B265E70020DA -:103CB000284B984703008000C01880005030A02196 -:103CC000284B984702B26CE70020224B984703002C -:103CD0008000C01880005030A021224B984702B2CB -:103CE00073E700201B4B98470301181A400050301F -:103CF000A0211C4B984702B27BE70020154B984748 -:103D0000830018188300C0185030A021154B984725 -:103D100002B283E700200F4B984703008000C018D1 -:103D200040005030A0210F4B984702B29BE7002083 -:103D3000084B9847C300181A5030A021094B9847E8 -:103D400002B2A2E7384C00202D240100FF7F0000C2 -:103D50008D4C0000FDF500003C4C0020ED4D0000B6 -:103D600008CA010061790100F0B5C64600B5E34D0F -:103D700028685C30E24B984728685C30112788241B -:103D8000E40022003A435205520DDE4E324399219F -:103D9000DD4B9846984728685C3022003A4352052C -:103DA000520D3243C921C04728685C30D74B9A88EE -:103DB000CA21C0472C685C340020D54B984783004B -:103DC000181850304023FF330122984200D95BE19C -:103DD00090212000CF4B9847C84B1C685C340020D2 -:103DE000CB4B9847143080004023FF330122984288 -:103DF00000D955E1C3212000C64B9847BF4B1C6832 -:103E00005C340020C24B98470A30C0004023FF3387 -:103E10000122984200D94DE1C2212000BD4B9847B4 -:103E2000B64B1C685C340020B94B984783001B18C4 -:103E30009B0050334021FF3101228B4200D943E1E6 -:103E400012212000B34B9847AC4B1C685C34002017 -:103E5000AF4B984783001B189B0050334021FF3124 -:103E600001228B4200D93CE113212000A94B984745 -:103E7000A24B1C685C340020A54B984783001B189C -:103E80009B0050334021FF3101228B4200D949E190 -:103E9000102120009F4B9847984B1C685C340020F1 -:103EA0009B4B984783001B189B0050334021FF31E8 -:103EB00001228B4200D942E114212000954B984702 -:103EC0008E4B1C685C340020914B98470301181AF4 -:103ED00050304023FF330122984200D93CE1C021F9 -:103EE00020008C4CA047854D28685C308A4A01210F -:103EF000A04728686030824B9847286860301127B7 -:103F00008824E40022003A435205520D7D4E32438C -:103F100099217D4B984698472868603022003A43A3 -:103F20005205520D3243C921C04728686030774B93 -:103F30009A88CA21C0472C6860340020744B984787 -:103F40000A30C0004023FF330122984200D90EE11D -:103F5000902120006F4B9847684B1C68603400200C -:103F60006B4B98470A30C0004023FF330122984230 -:103F700000D906E1C3212000664B98475F4B1C68BF -:103F800060340020624B9847830018188300C018E3 -:103F900050304023FF330122984200D9FBE0C0217A -:103FA00020005C4B9847554C20686430544B984730 -:103FB00020686430554B9B699B0700D5F8E01F23B0 -:103FC0003F211F224901DB020A431A4399214E4B2C -:103FD00098474A4B1C68643400204D4B98470A3080 -:103FE000C0004023FF330122984200D9E4E0902131 -:103FF0002000484B9847414C20686430FF222C2118 -:10400000464B984720686430404B9B699B0700D51E -:10401000DCE01F233F211F224901DB020A431A4330 -:104020002921394B9847354C206864303A4A0121A0 -:10403000384B9847246864340020354B9847030177 -:104040001B1A5B0050334021FF3101228B4200D903 -:10405000C0E0032120002F4B9847284B1C68643494 -:1040600000202B4B984783001B185B0050334021E6 -:10407000FF3101228B4200D9B8E014212000254BEA -:10408000984704BC9046F0BD0020214B98470300A0 -:104090008000C0185030A021214B984702B297E60B -:1040A00000201B4B984714308000A0211C4B9847E0 -:1040B00002B29FE60020164B98470A30C000A021AC -:1040C000174B984702B2A7E60020114B9847030010 -:1040D0008000C01880005030A021114B984702B2D8 -:1040E000AEE600200A4B984703008000C01880000D -:1040F0005030A0210A4B984702B2B5E6384C002058 -:104100002D2401000088FFFFED4D00003C4C0020F5 -:10411000FDF500008D4C0000FF7F00004D4F0000BA -:10412000617901000020384B984703008000C018D7 -:1041300080005030A021354B984702B2A8E60020FD -:10414000314B984703008000C01880005030A021F8 -:104150002E4B984702B2AFE600202B4B9847030145 -:10416000181A5030A021294B984702B2B7E6002018 -:10417000254B98470A30C000A021244B984702B233 -:10418000E6E60020204B98470A30C000A0211F4BD4 -:10419000984702B2EEE600201B4B984783001818A0 -:1041A0008300C0185030A021184B984702B2F6E6A1 -:1041B000082312210B2205E70020134B98470A30F1 -:1041C000C000A021114B984702B210E7082312212A -:1041D0000B2221E700200C4B98470301181A4000DE -:1041E0005030A021094B984702B232E70020064B1D -:1041F000984703008000C01840005030A021034BB6 -:10420000984702B239E7C046FDF500006179010028 -:1042100070B5394C20681C30384B984720681C30EA -:10422000374B9A889921374B984724681C340020D3 -:10423000354B9847830018188300C018503040232E -:10424000FF330122984238D8902120002F4DA847F3 -:10425000294C20681C3001229421A8472068203076 -:10426000264B984720682030254B9B699B0731D40B -:104270000823122109224901DB020A431A4399212A -:10428000204B98471C4B1C68203400201E4B98473D -:10429000830018188300C01850304023FF330122D8 -:1042A00098421BD890212000184CA047124B186848 -:1042B000203001229421A04770BD0020124B984766 -:1042C000830018188300C0185030A021104B984765 -:1042D00002B2B9E71A2335211B22CCE700200A4B92 -:1042E0009847830018188300C0185030A021084B4D -:1042F000984702B2D6E7C046384C00202D24010072 -:104300003C4C0020ED4D0000FDF500008D4C000000 -:1043100061790100F0B5C64600B5394C20686C30B3 -:10432000384B984720686C30FF222C21364DA84727 -:1043300020686C30354B98469A882921344FB8470D -:1043400020686C3002223021324EB04720686C3039 -:104350007F223C21A84725686C35434698884C212C -:104360002D4B9847021C39212800B84720686C3033 -:104370002A4A0121B04724686C340020284B984712 -:104380000301181A50304023FF33012298421FD8EE -:10439000502120001F4B9847194C20686C301B4B54 -:1043A0009A8859211A4B984724686C3400201C4B7A -:1043B00098478300181850304023FF330122984259 -:1043C00011D853212000134B984704BC9046F0BDF0 -:1043D0000020134B98470301181A5030A021114BAD -:1043E000984702B2D4E700200D4B984703008000A5 -:1043F000C0185030A0210B4B984702B2E1E7C046ED -:10440000384C00202D2401004D4F00003C4C002072 -:10441000ED4D00008D4C000021020100FF7F0000E7 -:10442000FDF5000061790100F0B5C64600B5804693 -:104430000F1C15001E00FE4B1B78002B01D101F054 -:104440009EFBFC4C4346A380E780A660069BE3608E -:10445000079B2361089B6361A561F74B9847F74B66 -:104460009847F74B9847F74B9847F74B9847F74BC8 -:104470009847F74B9847F74B9847F74D28684030D7 -:10448000F64B984728684030A3699B0701D501F097 -:104490007FFB14232B2117224901DB020A431A4315 -:1044A000EF49F04B9847EC4C20684430EB4B984771 -:1044B000246844340020EC4B984750304023FF33AD -:1044C0000122984201D901F068FB90212000E74BBE -:1044D0009847E14B1C6844340020E34B9847830025 -:1044E0001B185B0050334021FF3101228B4201D960 -:1044F00001F05DFB92212000DC4B9847D64B1C68F5 -:1045000044340020D84B984783001B185B0050337D -:104510004021FF3101228B4201D901F056FB93214A -:104520002000D24B9847CC4B18684430C14B9B6954 -:104530009B0701D501F057FB1023222112224901CC -:10454000DB020A431A439921C64B9847C24C2068A4 -:104550004830C24B9847246848340020C24B9847E3 -:104560004300181850304023FF330122984201D9EC -:1045700001F03EFB90212000BC4B9847B64B1C68D5 -:1045800048340020B84B9847143080004023FF3354 -:104590000122984201D901F038FB03212000B34BDE -:1045A0009847AD4B1C6848340020AF4B98472830E3 -:1045B00040004023FF330122984201D901F030FB33 -:1045C00014212000A94B9847A34B1C6848340020B5 -:1045D000A54B984750304023FF330122984201D920 -:1045E00001F029FB01212000A04B98479A4C20683C -:1045F00030309A4B98472468303400209C4B9847C1 -:10460000012801D801F021FB0020974B98470301B6 -:104610001B1A5B0050334021FF3101228B4201D92C -:1046200001F02CFB10212000904B98478A4B1C680E -:10463000303400208E4B9847012801D801F02BFB25 -:104640000020894B984703011B1A5B00503340211F -:10465000FF3101228B4201D901F036FB12212000EB -:10466000824B98477C4B1C6830340020804B984725 -:10467000012801D801F035FB00207B4B984703014E -:104680001B1A5B0050334021FF3101228B4201D9BC -:1046900001F040FB13212000744B98476E4B1C68BF -:1046A00030340020724B9847012801D801F03FFBBD -:1046B00000206D4B984703011B1A5B0050334021CB -:1046C000FF3101228B4201D901F064FB112120004E -:1046D000664B9847604B18683030564B9B699B0778 -:1046E00001D501F064FB3F221F235201D9021A4376 -:1046F0000A4360495B4B9847574C20683430574B0E -:104700009847206834304B4B9B699B0701D501F0DB -:1047100052FB1D233B211D224901DB020A431A43A0 -:104720004F49504B98474C4B1C6834340020504B39 -:104730009847012801D801F043FB00204A4B9847D5 -:1047400003011B1A5B0050334021FF3101228B42D1 -:1047500001D901F04EFB12212000444B98473E4BFB -:104760001C6834340020424B9847012801D801F0DE -:104770004DFB00203C4B984703011B1A5B00503354 -:104780004021FF3101228B4201D901F058FB132156 -:104790002000364B9847304B1C6834340020344B93 -:1047A0009847012801D801F057FB00202E4B98476D -:1047B00003011B1A5B0050334021FF3101228B4261 -:1047C00001D901F062FB11212000284B9847224CAF -:1047D00020682C30214B984724682C340020224B31 -:1047E0009847143080004023FF330122984201D9BA -:1047F00001F058FB012120001C4B9847164B18680C -:104800002C300C4B9B699B0701D501F056FB1F23F5 -:104810003F211F224901DB020A431A431649114B6B -:1048200098470D4B18682C30024B9B69332225E0CA -:10483000344C00203C4C0020512401001D36010066 -:104840001543010071370100053A0100453B0100A5 -:10485000693D010011420100384C00202D24010067 -:1048600089800000ED4D0000FDF500008D4C00003A -:1048700019F6000089900000898100009B0700D490 -:10488000333296214900FA4DA847FA4C20682C3063 -:104890003322F949A84720682C30FF228B21890058 -:1048A000A84720682C30F54B1A88F549F54EB047DB -:1048B00020682C30F44DAA88F449B04720682C3089 -:1048C000AB699B0701D501F0FDFA3F221F2352017E -:1048D000D9021A430A432921EA4EB047E54C206821 -:1048E0002C30E94FBA882A21FF31B04720682C309C -:1048F000022298214900E64DA84720682C30042266 -:104900003221FF31A84720682C30BA883A21FF3184 -:10491000B04724682C340020DE4B98474300181819 -:1049200050304023FF330122984201D901F0CEFAE2 -:1049300014212000D64B9847CE4B1C682C34002005 -:10494000D54B9847012801D801F0CDFA0020D14B72 -:10495000984703011B1A5B0050334021FF310122AD -:104960008B4201D901F0D8FA12212000C84B984798 -:10497000C04B1C682C340020C74B9847012801D835 -:1049800001F0D7FA0020C34B984703011B1A5B00C4 -:1049900050334021FF3101228B4201D901F0E2FA6C -:1049A00013212000BA4B9847B24B1C682C340020CE -:1049B000B94B9847012801D801F0E1FA0020B54B26 -:1049C000984703011B1A5B0050334021FF3101223D -:1049D0008B4201D901F0ECFA11212000AC4B984731 -:1049E000A44C20683830AD4B9847246838340020F8 -:1049F000A84B984703011B1A5B0050334021FF313D -:104A000001228B4201D901F0E0FAC0212000A04B25 -:104A10009847984C20683830FF222C21944B9847B7 -:104A200020683830984B9B699B0701D501F0DAFA72 -:104A3000082312210B224901DB020A431A432921D0 -:104A4000904B98478B4B1C6838340020914B98470B -:104A500083001B189B0050334021FF3101228B4201 -:104A600001D901F0C4FA14212000894EB0478C4DC1 -:104A7000804C206838302A000121B04720683C3043 -:104A8000864B984720683C302A000121B0472068B7 -:104A90003C307A4F3A8829217A4DA84720683C302B -:104AA000FF222C21724B984720683C300222302193 -:104AB000B04720683C30BA883921A84720683C308C -:104AC000714EB2887749A84720683C30F288764911 -:104AD000A84724683C3400206E4B984703004000F0 -:104AE000C0188000C01850304023FF330122984284 -:104AF00001D901F08AFA12212000654B98475D4BDD -:104B00001C683C340020634B984703004000C018E9 -:104B10008000C01850304023FF330122984201D951 -:104B200001F082FA13212000594B9847514B1C6821 -:104B30003C340020574B984703004000C0188000C9 -:104B4000C01850304023FF330122984201D901F0B0 -:104B50007AFA102120004E4B9847464B1C683C3493 -:104B600000204C4B984703004000C0188000C0183C -:104B700050304023FF330122984201D901F072FAEC -:104B800011212000424B98473A4C20684C30434B4F -:104B9000984724684C3400203E4B984714308000DE -:104BA0004023FF330122984201D901F06AFA012122 -:104BB0002000374B98472F4B1C684C340020354B56 -:104BC000984783001B185B0050334021FF310122BE -:104BD0008B4201D901F060FA142120002C4B984738 -:104BE000244C20684C30284B9A884921254B984703 -:104BF00020684C3000224C211D4DA84720684C30C5 -:104C00007F2293218900A84724684C340020214B3F -:104C100098474300181850304023FF330122984230 -:104C200001D901F047FA40212000194B9847114B58 -:104C30001C684C340020174B984783001B185B00FE -:104C400050334021FF3101228B4201D901F03FFA5C -:104C5000412120000E4DA847064C20684C3096227A -:104C6000B021A84720684C304C22B7211EE0C04636 -:104C70004D4F0000384C00202C1000000CCA0100E1 -:104C800089820000ED4D00003C4C0020290200000C -:104C90008D4C0000FDF5000019F600002D240100E8 -:104CA000FF7F00003902000039040000A847206897 -:104CB0005030FD4B984720685030002293218900E6 -:104CC000FA4B9847246850340020F94B9847143029 -:104CD00080004023FF330122984201D901F005FAF8 -:104CE00001212000F34B9847F34C20685030F34AE1 -:104CF000B7214900F24DA84720685030F14B1A887F -:104D00006A21FF31F04B9847F04B9A682068503089 -:104D1000EF49A847246850340020E54B98474300EA -:104D2000181850304023FF330122984201D901F076 -:104D3000E7F912212000DF4B9847DF4B1C68503405 -:104D40000020DB4B98474300181850304023FF33B6 -:104D50000122984201D901F0E0F913212000D54B3E -:104D60009847D54B1C6850340020D14B98474300DE -:104D7000181850304023FF330122984201D901F026 -:104D8000D9F910212000CB4B9847CB4B1C685034ED -:104D90000020C74B98474300181850304023FF337A -:104DA0000122984201D901F0D2F911212000C14D10 -:104DB000A847C14C20686830BB4B984720686830D2 -:104DC00000220121A847246868340020B84B984786 -:104DD000143080004023FF330122984201D901F0B2 -:104DE000C3F930212000B34DA847B34C2068683088 -:104DF00002223121A84720686830B44B9B699B0789 -:104E000001D501F0BCF90023002100224901DB0299 -:104E10000A431A433921AC4DA847A74C2068683093 -:104E2000AA4BDA88AB49A847246868340020A04B15 -:104E300098478300181850304023FF3301229842CE -:104E400001D901F0A5F9122120009A4B98479A4BFD -:104E50001C6868340020964B98478300181850301F -:104E60004023FF330122984201D901F09EF913211A -:104E70002000904B9847904B1C68683400208C4B66 -:104E800098478300181850304023FF33012298427E -:104E900001D901F097F910212000864B9847864BE5 -:104EA0001C6868340020824B9847830018185030E3 -:104EB0004023FF330122984201D901F090F91121DA -:104EC00020007C4B98477C4B1C6868340020784B52 -:104ED00098474300181850304023FF33012298426E -:104EE00001D901F089F914212000724B9847724CC6 -:104EF00020687C306C4B984724687C3400206C4BD5 -:104F000098473223584350304023FF3301229842C0 -:104F100001D901F07EF950212000664B9847664B7D -:104F200018687C30694B9B699B0701D401F07EF9BE -:104F3000302218235201D9021A430A435921624BE5 -:104F400098475D4C20688030574B984720688030E8 -:104F5000FF222C21554B9847206880305B4B9B6982 -:104F60009B0701D501F066F90E231F21102249018C -:104F7000DB020A431A432921534B98474E4C2068C1 -:104F80008030554A01214B4B9847246880340020DB -:104F9000474B9847C300181A50304023FF33012273 -:104FA000984201D901F04BF903212000414B984769 -:104FB000414B1C68803400203D4B9847C300181AB1 -:104FC00050304023FF330122984201D901F043F9C8 -:104FD00013212000374B9847374B1C688034002042 -:104FE000334B9847C300181A50304023FF33012237 -:104FF000984201D901F03BF9112120002D4B98472F -:105000002D4C20688430284DA84720688430FF222A -:105010002C21264B984720688430304B1A88292150 -:10502000294B98472068B430A8472068B430274BF4 -:105030009B699B0701D501F026F914232A2115222B -:105040004901DB020A431A4339211F4B98471A4B87 -:105050001C68B4340020164B984728304000402389 -:10506000FF330122984201D901F012F930212000CA -:10507000104B9847104B1C68B43400200C4B9847D9 -:1050800050304023FF330122984201D901F00BF93F -:1050900012212000074DA847074C2068B430042295 -:1050A0003121A8471CE0C0462D2401004D4F0000CF -:1050B000FDF500008D4C0000384C002014CA0100A2 -:1050C000A15000000CCA0100ED4D00003C4C002036 -:1050D0008E81000039040000FF7F000008CA010033 -:1050E0002068B830FB4B98472068B830FA4B9B6972 -:1050F0009B0701D501F0E1F814232B211722490168 -:10510000DB020A431A43F54E3100F54DA847F54C32 -:1051100020689830EF4B984720689830FF222C2168 -:10512000F14B984720689830EB4B9A882921A84783 -:1051300020689830ED4B1A883100A84724689834CD -:105140000020EB4B98476423584350304023FF33F3 -:105150000122984201D901F0B5F810212000E54B59 -:105160009847E04B1C6898340020E14B9847642333 -:10517000584350304023FF330122984201D901F0B7 -:10518000AEF811212000DB4DA847D64C20687430C2 -:10519000D04EB0472068743001220221A847206811 -:1051A000743000221221A847206874300022132195 -:1051B000A8472068743000221021A8472068743066 -:1051C00000221121A8472068743000221421A8472A -:1051D00020687830B04720687830FF222C21C24BFD -:1051E000984720687830BC4B9B699B0701D501F03C -:1051F00083F80B2318210E224901DB020A431A43CC -:105200002921B74B9847B74B18687830B24B9B6948 -:105210009B0701D501F075F8092313210A224901E2 -:10522000DB020A431A43B449AD4B9847AD4B1868AB -:105230007830A94B9B699B0701D501F067F80B23D8 -:1052400018210E224901DB020A431A43AB49A44E3E -:10525000B047A44D286878309F4CA2882A21FF319E -:10526000B0472F687837A0883321A54B9847021C98 -:10527000A4493800B04728687830A3699B0701D556 -:1052800001F049F81F233F211F224901DB020A4395 -:105290001A439249924DA847924C206878300122D7 -:1052A00052429949A847206878308B4B9B699B07ED -:1052B00001D501F035F8262213235201D9021A43F1 -:1052C0000A439249864B9847864B18687830824B40 -:1052D0009B699B0701D501F027F81F233F211F225F -:1052E0004901DB020A431A4389497D4DA8477D4C99 -:1052F00020687830012252428649A84720687830D9 -:10530000754B9B699B0701D501F013F826221323E7 -:105310005201D9021A430A437F49714B9847714C95 -:105320002068783001223121724B9847206878300C -:10533000694B9B699B0701D500F0FFFF10232221D9 -:1053400012224901DB020A431A433921644DA8475E -:10535000644C20687830604B9A887049A847206870 -:10536000783001223021634B98472468783400203C -:105370006B4B9847012801D800F0E4FF00205C4BFC -:10538000984703011B1A5B0050334021FF31012273 -:105390008B4201D900F0EFFF12212000554B9847B6 -:1053A000504B1C68783400205D4B9847012801D889 -:1053B00000F0EEFF00204E4B984703011B1A5B00E4 -:1053C00050334021FF3101228B4201D900F0F9FF17 -:1053D00013212000474B9847424B1C68783400202B -:1053E0004F4B9847012801D800F0F8FF0020404BB0 -:1053F000984703011B1A5B0050334021FF31012203 -:105400008B4201D901F003F810212000394B984755 -:10541000344B1C6878340020414B9847012801D850 -:1054200001F002F80020324B984703011B1A5B0081 -:1054300050334021FF3101228B4201D901F00DF898 -:10544000112120002B4B9847264B1C6878340020F4 -:10545000334B9847012801D801F00CF80020244B69 -:10546000984703011B1A5B0050334021FF31012292 -:105470008B4201D901F017F8142120001D4B9847E9 -:10548000184B1C6878340020254B9847012801D818 -:1054900001F016F80020164B98470301181A400037 -:1054A00050304023FF33984201D901F024F8012203 -:1054B0005242042120000F4DA8470A4C2068783042 -:1054C00000221849A847206878300022822149002C -:1054D000A84729E02D2401003C4C002089800000D1 -:1054E000ED4D0000384C00204D4F00000CCA01006B -:1054F000FDF500008D4C000029100000292000005F -:1055000075020100291100008981000089A00000B6 -:10551000A9800000A9810000A9A0000039020000B4 -:1055200019F6000004100000206878300022FA49C3 -:10553000A847206878309622B021A84720687830A4 -:105540002922B721A847206878300422B621A8472D -:1055500020685430F14B9847246854340020F04BB5 -:10556000984783001B189B0050334021FF310122D4 -:105570008B4201D900F0CDFFEA492000EA4DA8474F -:10558000EA4C2068543001220221A8472068583094 -:10559000E24B984720685830FF222C21E44B984773 -:1055A00020685830E34DAA882921E34EB04720688F -:1055B000583001225242E149B04720685830AB6967 -:1055C0009B0701D500F0B3FF092313210A224901EB -:1055D000DB020A431A43DA49D74B9847D34B186882 -:1055E0005830D44B9B699B0701D500F0A5FF1F23C2 -:1055F0003F211F224901DB020A431A43D149CE4B06 -:105600009847CA4C20688830C44B9847246888342F -:105610000020C34B9847830018188300C0185030EF -:105620004023FF330122984201D900F08AFFBD498F -:105630002000BD4B9847BD4C20688C30B74FB84711 -:1056400020688C30FF222C21B94EB04720688C3066 -:10565000B84DAA882921B84B9846984720688C30C5 -:10566000B94B1A88B549C0472068A830B8472068A8 -:10567000A830FF222C21B0472068A830AB699B07D7 -:1056800001D500F06CFF0B2318210E224901DB022B -:105690000A431A432921A84B9847A44B1868A830FD -:1056A000A44B9B699B0701D500F05EFF07230F21E8 -:1056B00008224901DB020A431A4339219E4B9847CD -:1056C0009A4B1C68A8340020954B98478300181803 -:1056D00050304023FF330122984201D900F04EFFA1 -:1056E00030212000904DA847904C2068A83001221E -:1056F0003121A8472068A8308E4B9B699B0701D5B4 -:1057000000F049FF1C233A211D224901DB020A4314 -:105710001A438A49884DA847864BDA68834C20682B -:10572000A8308A498A4B98472068A830894B1A8844 -:105730008949A8472468A8340020794B9847C300BA -:10574000181A50304023FF330122984201D900F04B -:1057500027FF10212000744B9847744B1C68A83415 -:1057600000206F4B9847C300181A50304023FF3376 -:105770000122984201D900F01FFF122120006A4B3C -:1057800098476A4B1C68A8340020654B9847C300B3 -:10579000181A50304023FF330122984201D900F0FB -:1057A00017FF13212000604B9847604C2068A430FD -:1057B0005A4B98472068A4307F2268495C4B984731 -:1057C0002068A430664B1A885D495B4B9847206877 -:1057D000A430584B9B699B0701D500F005FF1C23A3 -:1057E0003A211D224901DB020A431A435D49524B0B -:1057F00098474E4B1C68A4340020494B98478300BF -:105800001B189B0050334021FF3101228B4201D9EC -:1058100000F0EFFE10212000434B9847434B1C68DB -:10582000A43400203E4B984783001B189B00503344 -:105830004021FF3101228B4201D900F0E8FE112105 -:105840002000394B9847394C2068A430394EB28833 -:105850004549394DA8472068A430F2884349A847F4 -:105860002068AC302D4B98472068AC30FF222C21AB -:105870002F4B98472068AC30B2882921A847206870 -:10588000AC30F2883A49A8472468AC340020244B55 -:1058900098478300181850304023FF330122984264 -:1058A00001D900F0C2FE032120001F4DA8471F4C64 -:1058B0002068AC302F4A0121A8472068B030174B30 -:1058C00098472468B03400202B4B9847012801D812 -:1058D00000F0B8FE0020124B984703011B1A5B0032 -:1058E00050334021FF3101228B4201D900F0C3FE29 -:1058F000102120000C4B98470C4B1C68B034002042 -:105900001D4B9847012801D800F0C2FE0020044B2F -:105910009847030132E0C046042000002D24010016 -:10592000FDF50000818000008D4C0000384C002007 -:105930004D4F00003C4C0020ED4D000089800000E0 -:1059400029100000899000000CCA01008E80000020 -:10595000A15000000ACA0100A98000002C1000001C -:1059600008CA010089810000898200008984000042 -:1059700029040000FF7F000019F600001B1A5B00DD -:1059800050334021FF3101228B4201D900F099FEB2 -:1059900011212000F24B9847F24B1C68B0340020D4 -:1059A000F14B9847012801D800F098FE0020EF4BFA -:1059B000984703011B1A5B0050334021FF3101223D -:1059C0008B4201D900F0A3FE12212000E44B98473E -:1059D000E44B1C68B0340020E34B9847012801D801 -:1059E00000F0A2FE0020E14B984703011B1A5B0068 -:1059F00050334021FF3101228B4201D900F0ADFE2E -:105A000013212000D64B9847D64B1C68B034002099 -:105A1000D54B9847012801D800F0ACFE0020D34BAD -:105A2000984703011B1A5B0050334021FF310122CC -:105A30008B4201D900F0B7FE14212000C84B9847D3 -:105A4000C84C2068A030CA4B98472068A030C94B8A -:105A50009B699B0701D500F0B3FE1023222112227F -:105A60004901DB020A431A433921C34B9847BD4C15 -:105A70002068A03001223021B94DA8472068A0300D -:105A800003223121A8472468A0340020B64B984750 -:105A9000012801D800F099FE0020B44B984703017B -:105AA0001B1A5B0050334021FF3101228B4201D988 -:105AB00000F0A4FE12212000A94B9847A94B1C68B6 -:105AC000A0340020A84B9847012801D800F0A3FE7D -:105AD0000020A64B984703011B1A5B00503340215E -:105AE000FF3101228B4201D900F0AEFE13212000CC -:105AF0009B4B98479B4B1C68A03400209A4B9847BF -:105B0000012801D800F0ADFE0020984B9847030112 -:105B10001B1A5B0050334021FF3101228B4201D917 -:105B200000F0B8FE102120008D4B98478D4B1C686B -:105B3000A03400208C4B9847012801D800F0B7FE14 -:105B400000208A4B984703011B1A5B005033402109 -:105B5000FF3101228B4201D900F0C2FE1121200049 -:105B60007F4B9847834C854B23600122844B1A70EE -:105B70000020844B9847200004BC9046F0BDBC2018 -:105B8000814B9847814B1860764B1860FEF759FCA3 -:105B900015232A211522FEF77FFC0020734B98471E -:105BA0005030A0217A4B984702B2FEF78EFC0020BD -:105BB0006E4B984703008000C01840005030A02171 -:105BC000734B984702B2FEF795FC0020674B98474D -:105BD00003008000C01840005030A0216C4B984753 -:105BE00002B2FEF79CFC1A2337211C22FEF7A7FC09 -:105BF00000205E4B984703004000C0185030A021A1 -:105C0000634B984702B2FEF7B5FC0020574B98470C -:105C100014308000A0215E4B984702B2FEF7BDFC15 -:105C20000020524B984728304000A021584B9847FD -:105C300002B2FEF7C5FC00204C4B98475030A02123 -:105C4000534B984702B2FEF7CDFC0020474B9847D4 -:105C50000301181A50304023FF330122984201D823 -:105C6000FEF7E0FC0020414B98470301181A503022 -:105C7000A021474B984702B2FEF7D4FC00203B4BD3 -:105C800098470301181A40005030A021404B984714 -:105C900002B2FEF7C7FC0020344B98470301181AE4 -:105CA00050304023FF330122984201D8FEF7D6FC42 -:105CB00000202E4B98470301181A5030A021344B76 -:105CC000984702B2FEF7CAFC0020284B9847030110 -:105CD000181A40005030A0212D4B984702B2FEF711 -:105CE000BDFC0020214B98470301181A5030402377 -:105CF000FF330122984201D8FEF7CCFC00201B4B59 -:105D000098470301181A5030A021214B984702B23E -:105D1000FEF7C0FC0020154B98470301181A4000FD -:105D20005030A0211A4B984702B2FEF7B3FC002076 -:105D30000E4B98470301181A50304023FF330122BD -:105D4000984201D8FEF7C2FC0020084B9847030197 -:105D5000181A5030A0210E4B984702B2FEF7B6FC3D -:105D60008D4C0000384C002019F60000FDF50000B5 -:105D70002D2401003C4C0020ED4D0000111C0100C1 -:105D8000344C0020CD260000090A0100744D00208B -:105D9000617901000020FC4B98470301181A40006C -:105DA0005030A021F94B984702B2FEF78FFC222217 -:105DB0001123FEF79AFC062310210922FEF7ACFC02 -:105DC0000020F14B98470301181A50304023FF334D -:105DD0000122984201D8FEF7BEFC0020EA4B98470A -:105DE0000301181A5030A021E84B984702B2FEF781 -:105DF000B2FC0020E44B98470301181A40005030D1 -:105E0000A021E24B984702B2FEF7A5FC0020DE4B32 -:105E100098470301181A50304023FF33012298425B -:105E200001D8FEF7B4FC0020D74B98470301181A9D -:105E30005030A021D54B984702B2FEF7A8FC0020B5 -:105E4000D14B98470301181A40005030A021CF4B86 -:105E5000984702B2FEF79BFC0020CB4B984703010A -:105E6000181A50304023FF330122984201D8FEF720 -:105E7000AAFC0020C44B98470301181A5030A021F7 -:105E8000C24B984702B2FEF79EFC0020BE4B9847DB -:105E90000301181A40005030A021BC4B984702B2B1 -:105EA000FEF791FC0020B84B984714308000A021E9 -:105EB000B64B984702B2FEF79DFC0623102109223B -:105EC000FEF7A8FC19220C23FEF701FD0020AE4BC3 -:105ED000984703004000C0185030A021AB4B9847B2 -:105EE00002B2FEF725FD0020A74B98470301181AC0 -:105EF00050304023FF330122984201D8FEF734FD91 -:105F00000020A14B98470301181A5030A0219F4B45 -:105F1000984702B2FEF728FD00209B4B98470301EB -:105F2000181A40005030A021984B984702B2FEF753 -:105F30001BFD0020944B98470301181A5030402352 -:105F4000FF330122984201D8FEF72AFD00208E4B34 -:105F500098470301181A5030A0218C4B984702B281 -:105F6000FEF71EFD0020884B98470301181A4000D9 -:105F70005030A021854B984702B2FEF711FD00205A -:105F8000814B98470301181A50304023FF330122F8 -:105F9000984201D8FEF720FD00207B4B9847030173 -:105FA000181A5030A021794B984702B2FEF714FD21 -:105FB0000020754B98470301181A40005030A0216B -:105FC000724B984702B2FEF707FD00206E4B9847D0 -:105FD0000301181A40005030A0216C4B984702B2C0 -:105FE000FEF713FD1D233B211E22FEF724FD00209A -:105FF000654B984703008000C01880005030A021F6 -:10600000624B984702B2FEF72EFD00205E4B984788 -:1060100003004000C0188000C0185030A0215B4B26 -:10602000984702B2FEF767FD0020574B98470300E0 -:106030004000C0188000C0185030A021534B984732 -:1060400002B2FEF76FFD00204F4B9847030040005F -:10605000C0188000C0185030A0214C4B984702B2A5 -:10606000FEF777FD0020484B984703004000C0181A -:106070008000C0185030A021444B984702B2FEF770 -:106080007FFD0020404B984714308000A0213F4BFB -:10609000984702B2FEF78BFD00203B4B9847030068 -:1060A0008000C01840005030A021384B984702B201 -:1060B000FEF792FD0020344B984703004000C018C3 -:1060C0005030A021314B984702B2FEF7ACFD0020C2 -:1060D0002D4B984703008000C01840005030A0218D -:1060E0002A4B984702B2FEF7B3FD0020264B984793 -:1060F00014308000A021254B984702B2FEF7F0FD36 -:106100000020214B984703004000C0185030A021C8 -:106110001E4B984702B2FEF70CFE00201A4B984720 -:1061200003004000C0185030A021184B984702B21D -:10613000FEF713FE0020144B984703004000C018E0 -:106140005030A021114B984702B2FEF71AFE0020F2 -:106150000D4B984703004000C0185030A0210B4B56 -:10616000984702B2FEF721FE0020074B98471430F3 -:106170008000A021054B984702B2FEF732FE0723AC -:106180000F210822FEF742FEFDF5000061790100B3 -:106190000020F84B984703008000C0185030A02121 -:1061A000F54B984702B2FEF74EFE0020F14B9847A0 -:1061B00003008000C0185030A021EF4B984702B276 -:1061C000FEF755FE0020EB4B984703008000C018F7 -:1061D0005030A021E84B984702B2FEF75CFE002049 -:1061E000E44B984703008000C0185030A021E24BD8 -:1061F000984702B2FEF763FE0020DE4B984703008B -:106200004000C0185030A021DB4B984702B2FEF787 -:106210006AFE0020D74B9847030032205843503085 -:10622000A021D54B984702B2FEF775FE2622132314 -:10623000FEF780FE192333211A22FEF798FE002074 -:10624000CC4B9847C300181A5030A021CA4B98472E -:1062500002B2FEF7A9FE0020C64B9847C300181AE9 -:106260005030A021C44B984702B2FEF7B1FE002087 -:10627000C04B9847C300181A5030A021BE4B984716 -:1062800002B2FEF7B9FE062310210922FEF7D8FE5E -:106290000020B84B984728304000A021B64B9847C3 -:1062A00002B2FEF7E3FE0020B24B98475030A02127 -:1062B000B14B984702B2FEF7EBFE15232A211522B7 -:1062C000FEF71DFF0020AB4B9847030064205843A6 -:1062D0005030A021A84B984702B2FEF73EFF0020A5 -:1062E000A44B98470300642058435030A021A24B90 -:1062F000984702B2FEF745FF1F233F211F22FEF7FA -:106300007BFF1D233B211D22FEF789FF1F233F2119 -:106310001F22FEF797FF07230F210822FEF7B5FF84 -:106320002A221523FEF7C9FF07230F210822FEF7B3 -:10633000D7FF2A221523FEF7EBFF1A2337211C2251 -:10634000FEF7FFFF00208B4B98470301181A5030CF -:106350004023FF330122984201D8FFF71DF80020A7 -:10636000844B98470301181A5030A021824B98475C -:1063700002B2FFF711F800207E4B98470301181A6C -:1063800040005030A0217C4B984702B2FFF704F840 -:106390000020784B98470301181A50304023FF33F0 -:1063A0000122984201D8FFF713F80020714B98475B -:1063B0000301181A5030A0216F4B984702B2FFF723 -:1063C00007F800206B4B98470301181A4000503023 -:1063D000A021694B984702B2FEF7FAFF0020654BF7 -:1063E00098470301181A50304023FF330122984286 -:1063F00001D8FFF709F800205E4B98470301181AEF -:106400005030A0215C4B984702B2FEF7FDFF002000 -:10641000584B98470301181A40005030A021564BA2 -:10642000984702B2FEF7F0FF0020524B9847030155 -:10643000181A50304023FF330122984201D8FEF74A -:10644000FFFF00204B4B98470301181A5030A02142 -:10645000494B984702B2FEF7F3FF0020454B98479F -:106460000301181A40005030A021434B984702B254 -:10647000FEF7E6FF00203F4B98470301181A503003 -:106480004023FF330122984201D8FEF7F5FF002098 -:10649000384B98470301181A5030A021364B9847C3 -:1064A00002B2FEF7E9FF0020324B98470301181AA9 -:1064B00040005030A021304B984702B2FEF7DCFF7D -:1064C00000202C4B98470301181A50304023FF330B -:1064D000984203D801225242FEF7EBFF0020254BE1 -:1064E00098470301181A5030A021234B9847424285 -:1064F00012B2FEF7DEFF00201E4B98470301181A68 -:1065000040005030A0211C4B9847424212B2FEF787 -:10651000D0FF0020174B984703008000C018800070 -:106520005030A021144B984702B2FFF725F81D23E5 -:106530003B211D22FFF74BF807230F210822FFF70D -:1065400059F800200B4B9847830018188300C01897 -:106550005030A021084B984702B2FFF768F81F237C -:106560003F211F22FFF792F81C233A211E22FFF73A -:10657000A0F8C046FDF50000617901000020DF4B66 -:10658000984703008000C0185030A021DC4B98478A -:1065900002B2FFF7A5F807230F210822FFF7B5F88D -:1065A0000020D64B9847C300181A5030A021D44B76 -:1065B000984702B2FFF7CDF80020D04B9847C300B0 -:1065C000181A5030A021CE4B984702B2FFF7D5F8E9 -:1065D0000020CA4B9847C300181A5030A021C84B5E -:1065E000984702B2FFF7DDF807230F210822FFF7D3 -:1065F000F9F80020C14B984703008000C0188000C4 -:106600005030A021BE4B984702B2FFF703F900209B -:10661000BA4B984703008000C01880005030A0217A -:10662000B74B984702B2FFF70AF90020B34B9847DF -:1066300003008000C0185030A021B14B984702B22F -:10664000FFF731F90020AD4B98470301181A50307D -:106650004023FF330122984201D8FFF749F9002077 -:10666000A64B98470301181A5030A021A44B984715 -:1066700002B2FFF73DF90020A04B98470301181A1A -:1066800040005030A0219E4B984702B2FFF730F9EE -:1066900000209A4B98470301181A50304023FF33CB -:1066A0000122984201D8FFF773F90020934B9847D5 -:1066B0000301181A5030A021914B984702B2FFF7FE -:1066C00067F900208D4B98470301181A400050309D -:1066D000A0218B4B984702B2FFF75AF90020874B55 -:1066E00098470301181A50304023FF330122984283 -:1066F00001D8FFF769F90020804B98470301181A69 -:106700005030A0217E4B984702B2FFF75DF9002080 -:106710007A4B98470301181A40005030A021784B5B -:10672000984702B2FFF750F90020744B98470301D5 -:10673000181A50304023FF330122984201D8FFF746 -:106740005FF900206D4B98470301181A5030A021C3 -:106750006B4B984702B2FFF753F90020674B9847FD -:106760000301181A40005030A021654B984702B22F -:10677000FFF746F90020614B98470301181A503083 -:106780004023FF330122984201D8FFF755F900203A -:106790005A4B98470301181A5030A021584B98477C -:1067A00002B2FFF749F90020544B98470301181A29 -:1067B00040005030A021524B984702B2FFF73CF9FD -:1067C0001A2337211C22FFF74BF900204B4B984727 -:1067D0000301181A50304023FF330122984201D898 -:1067E000FFF768F90020454B98470301181A50300D -:1067F000A021434B984702B2FFF75CF900203F4BC2 -:1068000098470301181A40005030A0213C4B98478C -:1068100002B2FFF74FF90020384B98470301181ACE -:1068200050304023FF330122984201D8FFF75EF930 -:106830000020324B98470301181A5030A021304BEA -:10684000984702B2FFF752F900202C4B98470301FA -:10685000181A40005030A021294B984702B2FFF788 -:1068600045F90020254B98470301181A5030402362 -:10687000FF330122984201D8FFF754F900201F4B43 -:1068800098470301181A5030A0211D4B984702B2B7 -:10689000FFF748F90020194B98470301181A4000E8 -:1068A0005030A021164B984702B2FFF73BF9002069 -:1068B000124B98470301181A50304023FF3301222E -:1068C000984201D8FFF74AF900200C4B9847030182 -:1068D000181A5030A0210A4B984702B2FFF73EF930 -:1068E0000020064B98470301181A40005030A021A1 -:1068F000034B984702B2FFF731F9C046FDF500009F -:106900006179010070B5E94D20236B61E84C1F3BB4 -:1069100023700020E74B9847FA2200230021E64E1F -:10692000B047E64A002380185941E54A0023E54E66 -:10693000B047E54B984740236B612378002B04D187 -:1069400020226A611F3ADA4B1A70E222DF49E048DE -:10695000E04B9847D54B40229A615A61D44B1B7843 -:10696000002B05D0203AD14B9A610022D04B1A70EF -:106970002322D649D648D74B9847CC4B40229A6120 -:106980005A61CB4B1B78002B05D0203AC74B9A613C -:106990000022C74B1A700222CC49CD48CD4B9847F4 -:1069A000C24B40229A615A61C14B1B78002B05D023 -:1069B000203ABE4B9A610022BD4B1A700422C34993 -:1069C000C348C44B9847B94B40229A615A61B84BAF -:1069D0001B78002B05D1203AB44B5A611F3AB44BB7 -:1069E0001A70E022B949BA48BA4B9847AF4B4022D7 -:1069F0009A615A61AE4B1B78002B05D0203AAB4B05 -:106A00009A610022AA4B1A700122B049B048B14BDA -:106A10009847A64C4025A5610020A64B9847020048 -:106A20000023A648002180185941A54A0023A54EFD -:106A3000B047A54B984765619D4B1B78002B04D14F -:106A4000202262611F3A9A4B1A70E0229F49A048A7 -:106A5000A04B9847954B40229A615A61944B1B7802 -:106A6000002B05D0203A914B9A610022904B1A706E -:106A7000032296499648974B98478C4C4025A56130 -:106A800000208C4B9847020000238C48002180187E -:106A900059418B4A00238B4EB0478B4B9847656119 -:106AA000834B1B78002B04D1202262611F3A804B5C -:106AB0001A70012285498648864B98477B4C4025B1 -:106AC000A56100207B4B9847020000237B480021F2 -:106AD000801859417A4A00237A4EB0477A4B98473A -:106AE0006561734B1B78002B04D1202262611F3A31 -:106AF0006F4B1A70E62275497548764B98476B4B79 -:106B000040229A615A616A4B1B78002B05D0203ACB -:106B1000664B9A610022664B1A7001226B496C48E1 -:106B20006C4B9847614B40229A615A61604B1B78CD -:106B3000002B05D0203A5D4B9A6100225C4B1A7005 -:106B4000332262496248634B9847584B40229A610E -:106B50005A61574B1B78002B05D0203A534B9A6152 -:106B60000022534B1A70332258495948594B9847C1 -:106B70004E4B40229A615A614D4B1B78002B05D138 -:106B8000203A4A4B5A611F3A494B1A70B0224F497A -:106B90004F48504B9847454B40229A615A61444BAD -:106BA0001B78002B05D0203A404B9A610022404BC5 -:106BB0001A70202245494648464B98473B4B402295 -:106BC0009A615A613A4B1B78002B05D0203A374B1B -:106BD0009A610022364B1A7000223C493C483D4BDA -:106BE0009847324C4025A5613B4B98473B4B984713 -:106BF000421E121265612E4B1B78002B04D02021FF -:106C0000A16100212A4B1970FF2002402F49304812 -:106C1000304B9847254C4025A5612F4B98472F4B6B -:106C200098470138C2B26561214B1B78002B04D014 -:106C30002021A16100211E4B197024492448254BB5 -:106C400098471A4C4025A561234B9847244B9847F9 -:106C5000421E12126561164B1B78002B04D02021B6 -:106C6000A1610021124B1970FF20024017491848FA -:106C7000184B98470D4C4025A561174B9847184B6A -:106C800098470138C2B26561094B1B78002B04D0CC -:106C90002021A1610021064B19700C490C480D4BB5 -:106CA0009847024B40229A615A611BE00044004120 -:106CB0005C000020651000008D7C0100571B000067 -:106CC000581B00004D7C010001000020F7C3031C8D -:106CD00080440041AD770100A1F50000ADF5000052 -:106CE000D5F50000E54B1B78002B05D0203AE44B8E -:106CF0009A610022E14B1A700022E249E248E34B1C -:106D00009847DF4C4025A5610020E14B98470200E1 -:106D10000023E048002180185941DF4A0023DF4E5C -:106D2000B047DF4B98476561D44B1B78002B04D1EB -:106D3000202262611F3AD14B1A70B422D149D24845 -:106D4000D24B9847CE4B40229A615A61CB4B1B786D -:106D5000002B05D0203ACA4B9A610022C74B1A700B -:106D60000222C849C848C94B9847C54B40229A617E -:106D70005A61C24B1B78002B05D0203AC04B9A6158 -:106D80000022BE4B1A700D22BE49BF48BF4B984728 -:106D9000BB4B40229A615A61B84B1B78002B05D03F -:106DA000203AB74B9A610022B44B1A700122B549C0 -:106DB000B548B64B9847B24B40229A615A61AF4BE7 -:106DC0001B78002B05D0203AAD4B9A610022AB4BCB -:106DD0001A70E022AB49AC48AC4B9847A84B402214 -:106DE0009A615A61A54B1B78002B05D0203AA44B21 -:106DF0009A610022A14B1A700522A249A248A34B16 -:106E000098479F4B40229A615A619C4B1B78002BFC -:106E100005D0203A9A4B9A610022984B1A700022B2 -:106E200098499948994B9847954B40229A615A61E5 -:106E3000924B1B78002B05D0203A914B9A6100228F -:106E40008E4B1A7028228F498F48904B98478C4B55 -:106E500040229A615A61894B1B78002B05D0203A59 -:106E6000874B9A610022854B1A700022854986481B -:106E7000864B9847824B40229A615A617F4B1B7820 -:106E8000002B05D1203A7E4B5A611F3A7B4B1A707A -:106E9000B6227C497C487D4B9847794B40229A61C9 -:106EA0005A61764B1B78002B05D0203A744B9A61BF -:106EB0000022724B1A70012272497348734B984733 -:106EC0006F4B40229A615A616C4B1B78002B05D0A6 -:106ED000203A6B4B9A610022684B1A702022694954 -:106EE00069486A4B9847664B40229A615A61634BE6 -:106EF0001B78002B05D0203A614B9A6100225F4B32 -:106F00001A7001225F496048604B98475C4B4022F1 -:106F10009A615A61594B1B78002B05D0203A584B87 -:106F20009A610022554B1A70102256495648574B09 -:106F30009847534B40229A615A61504B1B78002B63 -:106F400005D0203A4E4B9A6100224C4B1A70082211 -:106F50004C494D484D4B9847494B40229A615A61E4 -:106F6000464B1B78002B05D0203A454B9A610022F6 -:106F7000424B1A70002243494348444B9847404BC8 -:106F800040229A615A613D4B1B78002B05D0203A74 -:106F90003B4B9A610022394B1A70082239493A4812 -:106FA0003A4B9847364B40229A615A61334B1B78D3 -:106FB000002B05D1203A324B5A611F3A2F4B1A70E1 -:106FC000B82230493048314B98472D4B40229A61C6 -:106FD0005A612A4B1B78002B05D0203A284B9A6126 -:106FE0000022264B1A700F2226492748274B984724 -:106FF000234B40229A615A61204B1B78002B05D00D -:10700000203A1F4B9A6100221C4B1A7001221D4925 -:107010001D481E4B98471A4B40229A615A61174BE4 -:107020001B78002B05D1203A154B5A611F3A134BA0 -:107030001A70BA2213491448144B9847104B402237 -:107040009A615A610D4B1B78002B05D0203A0C4BEE -:107050009A610022094B1A7001220A490A480B4B17 -:107060009847074B40229A615A61044B1B78002BCA -:107070001AD1203A024B5A611F3A13E05C000020FB -:1070800000440041F7C3031C80440041AD77010078 -:1070900065100000571B0000581B00004D7C0100CC -:1070A00001000020D44B1A703622D449D448D54B65 -:1070B0009847D54B40229A615A61CF4B1B78002BE1 -:1070C00005D0203AD04B9A610022CB4B1A7008228F -:1070D000CA49CB48CB4B9847CB4B40229A615A6167 -:1070E000C54B1B78002B05D1203AC74B5A611F3A7C -:1070F000C14B1A703A22C149C148C24B9847C24B92 -:1071000040229A615A61BC4B1B78002B05D0203A73 -:10711000BD4B9A610022B84B1A705022B749B8484B -:10712000B84B9847B84B40229A615A61B24B1B78D2 -:10713000002B05D1203AB44B5A611F3AAE4B1A705E -:10714000F022AE49AE48AF4B9847AF4B40229A6110 -:107150005A61A94B1B78002B05D0203AAA4B9A61A3 -:107160000022A54B1A700322A449A548A54B9847B5 -:10717000A54B40229A615A619F4B1B78002B05D189 -:10718000203AA14B5A611F3A9B4B1A70BC229B4973 -:107190009B489C4B98479C4B40229A615A61964B66 -:1071A0001B78002B05D0203A974B9A610022924B16 -:1071B0001A70402291499248924B9847924B402234 -:1071C0009A615A618C4B1B78002B05D0203A8E4B6C -:1071D0009A610022884B1A70802288498848894B1E -:1071E0009847894B40229A615A61834B1B78002B48 -:1071F00005D0203A844B9A6100227F4B1A704022BE -:107200007E497F487F4B98477F4B40229A615A6165 -:10721000794B1B78002B05D0203A7B4B9A610022DA -:10722000754B1A70012275497548764B9847764C14 -:107230004025A5610020754B984702000023744843 -:10724000002180185941734A0023734EB047734B95 -:1072500098476561684B1B78002B04D1202262613E -:107260001F3A654B1A70292264496548654B984757 -:10727000654B40229A615A615F4B1B78002B05D108 -:10728000203A614B5A611F3A5B4B1A70BE225B4930 -:107290005B485C4B98475C4B40229A615A61564B65 -:1072A0001B78002B05D0203A574B9A610022524B95 -:1072B0001A70062251495248524B9847524B40226D -:1072C0009A615A614C4B1B78002B05D0203A4E4BEB -:1072D0009A610022484B1A70802248494848494B1D -:1072E0009847494B40229A615A61434B1B78002BC7 -:1072F00005D0203A444B9A6100223F4B1A7001227C -:107300003E493F483F4B98473F4B40229A615A6164 -:10731000394B1B78002B05D0203A3B4B9A61002259 -:10732000354B1A70F02235493548364B9847364B65 -:1073300040229A615A61304B1B78002B05D0203ACD -:10734000314B9A6100222C4B1A7000222B492C4899 -:107350002C4B98472C4B40229A615A61264B1B7844 -:10736000002B05D0203A284B9A610022224B1A703C -:10737000002222492248234B9847234B40229A61FE -:107380005A611D4B1B78002B05D1203A1E4B5A61C8 -:107390001F3A194B1A70D02218491948194B9847AF -:1073A000194B40229A615A61134B1B78002B05D070 -:1073B000203A154B9A6100220F4B1A700D220F498B -:1073C0000F48104B984740220F4B9A6100200F4BFB -:1073D000984702000023110F1001801A99410018EC -:1073E00049410B4A0023801859410A4A00230A4C9C -:1073F000A0470A4B984770BD5C000020F7C3031CF0 -:1074000080440041AD770100004400416510000058 -:10741000571B0000581B00004D7C0100010000209C -:10742000F0B5DE4657464E464546E0B583B000907F -:107430000F00160004228B5E002B0CDB06228B5EF5 -:10744000002B08DB0023CC5EB24B9847B24B984729 -:107450000138844206DD03B03CBC90469946A24602 -:10746000AB46F0BD0223FC5EAA4B9847AB4B984756 -:1074700001388442EFDC3B881D1C1BB2002B00DA74 -:1074800036E12BB299467B881C1C1BB2002B00DA1C -:1074900030E124B2A3460423FD5E9E4B98479E4BE9 -:1074A00098470138854200DD26E10423FD5E06226F -:1074B000BB5E9A46974B9847984B98470138824550 -:1074C00000DD1FE10622BB5E9A464022944B5A61C2 -:1074D000944B1B78002B05D1203A914B5A611F3AEF -:1074E000904B1A702A2290499048914B98478C4BA8 -:1074F000402199614A46101259618A4B1B78002B32 -:1075000005D02022864B9A610022864B1A70FF22FA -:10751000024085498548864B9847814B40219961B7 -:107520004A4668460271027959617E4B1B78002BEE -:1075300005D020397A4B996100217A4B19707A492C -:107540007A487B4B9847764B4021996128125961C4 -:10755000744B1B78002B05D02022714B9A610022BE -:10756000704B1A70FF2202406F497048704B984769 -:107570006B4B40229A615A616A4B1B78002B05D0F5 -:10758000203A674B9A610022664B1A70FF222A400C -:1075900065496648664B9847614B40229A615A613B -:1075A000604B1B78002B05D1203A5D4B5A611F3A86 -:1075B0005C4B1A702B225C495C485D4B9847584BDA -:1075C000402199615A4610125961564B1B78002B85 -:1075D00005D02022524B9A610022524B1A70FF2292 -:1075E000024051495148524B98474D4B40219961B7 -:1075F000E2B259614B4B1B78002B05D02039484B28 -:1076000099610021474B197047494848484B9847B2 -:10761000434B40219961524610125961414B1B78EE -:10762000002B05D020223E4B9A6100223D4B1A7060 -:10763000FF2202403C493D483D4B9847384B402291 -:107640009A615A61374B1B78002B05D0203A344B96 -:107650009A610022334B1A70FF2253461A40324976 -:107660003248334B98472E4B40229A615A612D4B3A -:107670001B78002B05D1203A294B5A611F3A294B20 -:107680001A702C2228492948294B98474022244B1C -:107690009A61BB8801333A889B1A9FB2214A1278BB -:1076A000002A05D020211E4A916100211D4A117037 -:1076B00040211B4A51614B46ED1A0135ADB2DA4506 -:1076C0000FDB7F001B4B984601953D005746019B01 -:1076D000320015491548C0477619013424B2A74233 -:1076E000F5DA40220E4B9A610098134B9847B2E6A8 -:1076F0000025C6E60024CCE6064B9847064B984783 -:10770000451ED4E6034B9847044B9847431E9A46C0 -:10771000DBE6C046A1F50000ADF50000D5F50000A0 -:10772000004400415C000020F7C3031C804400417A -:10773000AD770100C577010071F6000030B583B068 -:1077400001AA002494700125157054701249134841 -:10775000134B98476B469C705C701D706946042003 -:10776000104CA04769460520A04769460620A0475F -:1077700069460720A04769460A20A0470A4B102205 -:107780009A6110329A6120329A6140329A61802265 -:10779000D2009A6103B030BDF7C3031C804400419E -:1077A000110D0000ED0C00000044004113000B40DF -:1077B000836191434161024B80225A619A61704713 -:1077C00000440041F0B583B000900191002B0AD035 -:1077D00015001F000024054E04CD01990098B04704 -:1077E0000134BC42F8D103B0F0BDC046AD77010012 -:1077F000704700000FB430B5C3B046AC20CC0222B5 -:10780000FF32002101A80D4B984700942200290067 -:1078100001A80B4B984701A80A4B984782B28023D6 -:107820005B009A4204D943B030BC08BC04B018478E -:1078300001A90548054B9847F5E7C0462D7F010093 -:10784000A17F0100617F0100584C00200D0900005C -:1078500070B590B08023DB05009300230193FF22D5 -:1078600069460A8100228B72CB720124242168466A -:1078700044540131445401314354013143540A9377 -:10788000053143540131435405930382C376027694 -:1078900002774276132383764277E1235B020893D3 -:1078A000184B0C93184B0D9301235B420E930F93CF -:1078B00080235B030393154E6A4615493000154B30 -:1078C000984735682800144B98471F231840844078 -:1078D000124B1C603268D369002BFCD12B6802224A -:1078E00013432B60094C013A0D4920000D4B98477A -:1078F0003122A35C02210B43A3540B480B4B984746 -:1079000010B070BD0200160002001700584C002095 -:1079100000140042A9050000B50B000000E100E0E2 -:1079200031790100C90900001CCA0100F577010086 -:1079300010B5034B1988C9B20248034B984710BDD4 -:10794000304E002018CA0100F577010010B5024B37 -:107950009847024CA047FDE769010000F5010000CF -:10796000002243088B4274D303098B425FD3030A7E -:107970008B4244D3030B8B4228D3030C8B420DD391 -:10798000FF22090212BA030C8B4202D3121209021F -:1079900065D0030B8B4219D300E0090AC30B8B425D -:1079A00001D3CB03C01A5241830B8B4201D38B030B -:1079B000C01A5241430B8B4201D34B03C01A5241B0 -:1079C000030B8B4201D30B03C01A5241C30A8B42F3 -:1079D00001D3CB02C01A5241830A8B4201D38B02DE -:1079E000C01A5241430A8B4201D34B02C01A524182 -:1079F000030A8B4201D30B02C01A5241CDD2C309F4 -:107A00008B4201D3CB01C01A524183098B4201D36F -:107A10008B01C01A524143098B4201D34B01C01A5A -:107A2000524103098B4201D30B01C01A5241C308D2 -:107A30008B4201D3CB00C01A524183088B4201D341 -:107A40008B00C01A524143088B4201D34B00C01A2D -:107A50005241411A00D20146524110467047FFE799 -:107A600001B5002000F0F0F802BDC0460029F7D0B3 -:107A700076E7704703460B437FD4002243088B42CE -:107A800074D303098B425FD3030A8B4244D3030BA5 -:107A90008B4228D3030C8B420DD3FF22090212BA6A -:107AA000030C8B4202D31212090265D0030B8B42E6 -:107AB00019D300E0090AC30B8B4201D3CB03C01AD0 -:107AC0005241830B8B4201D38B03C01A5241430BAB -:107AD0008B4201D34B03C01A5241030B8B4201D39B -:107AE0000B03C01A5241C30A8B4201D3CB02C01A06 -:107AF0005241830A8B4201D38B02C01A5241430A7E -:107B00008B4201D34B02C01A5241030A8B4201D36C -:107B10000B02C01A5241CDD2C3098B4201D3CB0113 -:107B2000C01A524183098B4201D38B01C01A5241C2 -:107B300043098B4201D34B01C01A524103098B42C6 -:107B400001D30B01C01A5241C3088B4201D3CB00B1 -:107B5000C01A524183088B4201D38B00C01A524194 -:107B600043088B4201D34B00C01A5241411A00D244 -:107B700001465241104670475DE0CA0F00D04942AD -:107B8000031000D34042534000229C4603098B421D -:107B90002DD3030A8B4212D3FC22890112BA030AA5 -:107BA0008B420CD3890192118B4208D38901921127 -:107BB0008B4204D389013AD0921100E08909C309AC -:107BC0008B4201D3CB01C01A524183098B4201D3AE -:107BD0008B01C01A524143098B4201D34B01C01A99 -:107BE000524103098B4201D30B01C01A5241C30811 -:107BF0008B4201D3CB00C01A524183088B4201D380 -:107C00008B00C01A5241D9D243088B4201D34B009A -:107C1000C01A5241411A00D20146634652415B10DC -:107C2000104601D34042002B00D5494270476346BD -:107C30005B1000D3404201B5002000F005F802BD02 -:107C40000029F8D016E770477047C046002B11D1C5 -:107C5000002A0FD1002900D1002802D00021C943F9 -:107C6000081C07B4024802A14018029003BDC04698 -:107C7000D9FFFFFF03B4684601B5029800F030F861 -:107C8000019B9E4602B00CBC7047C046F0B5CE4684 -:107C9000474615042D0C2E0080B50704140C3F0C2C -:107CA0009946030C7E435D43674363437F19340C5D -:107CB000E4199C46A54203D980235B029846C4443C -:107CC0004B46514343433604360C250C240465448B -:107CD000A4195918491920000CBC90469946F0BDCA -:107CE000F0B557464E464546DE46E0B5040083B043 -:107CF0000D00924699468B422FD82CD049465046CB -:107D000000F0CCF829000600200000F0C7F8331A74 -:107D10009846203B9B4600D574E053465A46934014 -:107D20001F005346424693401E00AF4229D826D03A -:107D30005B46A41BBD41002B00DA79E00022002342 -:107D40000092019301235A46934001930123424636 -:107D50009340009319E08242D0D900220023009280 -:107D600001930C9B002B01D01C605D600098019971 -:107D700003B03CBC90469946A246AB46F0BDA34238 -:107D8000D6D900220023009201934346002BE8D06D -:107D9000FB0772081A4346467B080EE0AB4201D14E -:107DA000A2420CD8A41A9D41012024196D41002142 -:107DB000013E24184D41002E06D0AB42EED9013EC3 -:107DC00024196D41002EF8D15B46009801990019E5 -:107DD0006941002B22DB2B005A46D3402A0044463F -:107DE000E2401C005B461500002B2CDB26009E4069 -:107DF000330026004746BE403200801A9941009069 -:107E00000191AEE7424620239B1A5246DA40414692 -:107E100013004A468A4017001F4382E74246202348 -:107E20009B1A2A0046469A402300F3401343D5E7A5 -:107E30004246202300219B1A002200910192012238 -:107E4000DA40019282E74246202326009B1ADE4058 -:107E50002F00B446974066463B003343C9E7C0460F -:107E60001C2101231B04984201D3000C10391B0A6A -:107E7000984201D3000A08391B09984201D300092E -:107E8000043902A2105C40187047C0460403020285 -:107E900001010101000000000000000010B50029F0 -:107EA00003D1FFF7DDFF203002E0081CFFF7D8FF09 -:107EB00010BDC04670B500260C4D0D4C641BA410BF -:107EC000A64209D1002604F0CBFD0A4D0A4C641BE2 -:107ED000A410A64205D170BDB300EB5898470136F7 -:107EE000EEE7B300EB5898470136F2E76CCA0100A1 -:107EF0006CCA01006CCA010070CA010030B50024D0 -:107F0000A24201D1002005E0035D651C0C5DA34287 -:107F100001D0181B30BD2C00F2E7002310B59A42A7 -:107F200000D110BDCC5CC4540133F8E703008218C3 -:107F3000934200D1704719700133F9E702780B784A -:107F4000002A03D0013001319A42F7D0D01A70478D -:107F5000031C0A7801311A700133002AF9D17047E5 -:107F60000023C25C0133002AFBD1581E7047000079 -:107F700030B59BB00091049108496D46029105917E -:107F8000012182244942E981A4006946AC8100F0C4 -:107F900075F80023009A13701BB030BDFFFFFF7F00 -:107FA00010B513000A00010002480068FFF7E0FF67 -:107FB00010BDC04660000020F0B58E6885B0070097 -:107FC0000C00039201939E4239D890238A89DB00EA -:107FD0001A4234D00325096923685B1A0293636946 -:107FE00002985D43EB0F5D19019B6D1001331B1867 -:107FF000AB4200D91D00530532D52900380000F0EE -:1080000031FB061E09D10C233B6040230120A289CD -:1080100040421343A38105B0F0BD029A2169FFF7E6 -:108020007CFFA389144A1A4080231343A381029B37 -:108030002661F61826606561019EED1AA560019B18 -:10804000B34200D21E0032000399206800F0ADFA5E -:10805000A36800209B1BA36023689E192660DAE7B3 -:108060002A00380000F05CFB061EE0D121693800D0 -:1080700000F0AEFAC7E7C0467FFBFFFFF0B59FB048 -:10808000029005938B890F0016001B0611D50B6912 -:10809000002B0ED1402100F0E5FA3860386100284D -:1080A00005D10C23029A013813601FB0F0BD4023A4 -:1080B0007B61002306AD6B6120336B761033AB76AA -:1080C00034002378002B47D1A31B04930DD0A31BAE -:1080D000320039000298FFF76FFF431C00D1B5E072 -:1080E0006A69049B944663446B612378002B00D13A -:1080F000ACE00122002352426A6002A954325218B5 -:1081000001342B60EB60AB601370AB65584E0522F9 -:108110002178300000F03EFA621C002820D1296846 -:10812000CB0604D5532302AE20309B1918700B07E1 -:1081300004D553232B2002AE9B19187023782A2BC9 -:1081400016D000200A21099B2278303A092A55D9F5 -:10815000002815D0099313E0252BB5D00134B0E7E2 -:108160000123801B8340296814000B432B60CDE75B -:10817000059B181D1B680590002B39DB0993140023 -:1081800023782E2B0BD16378621C2A2B3ED1059BC2 -:1081900002341A1D1B680592002B34DB0793354E01 -:1081A00021780322300000F0F5F9002806D04023A2 -:1081B000801B83402A68013413432B6021780622F8 -:1081C0002D48661C297600F0E5F9002846D02B4B97 -:1081D000002B2FD12968059B0722C90528D59B189C -:1081E0009343083305936B69039A9B186B6167E7A8 -:1081F0005B42EB6002230B432B60C0E74B4301342F -:108200009B180120A0E701235B42C7E7002314006D -:108210000A201A006B6021783039092903D9002B14 -:10822000BDD00792BBE74243013452180123F2E765 -:108230000733D5E705AB00933A00114B29000298AC -:1082400000E000BF0390039B0133CCD1BB890B98A6 -:108250005B0600D429E70120404226E705AB0093E6 -:108260003A00074B2900029800F07AF8EAE7C04686 -:108270002CCA010032CA010036CA01000000000009 -:10828000B97F0100F7B5150001938A680B6900906A -:108290000C00934200DA130022002B604332127864 -:1082A000002A01D001332B6023689B0602D52B687E -:1082B00002332B60062723681F4027D02300433357 -:1082C0001B785A1E93412268920630D422000199ED -:1082D00043320098089EB047431C25D006232068EF -:1082E0002A68E16803400025042B03D18D1AEB4373 -:1082F000DB171D40A3682269934201DD9B1AED182C -:108300000027BD4220D1002010E00137E3682A6831 -:108310009B1A9F42D2DA2200012319320199009858 -:10832000089EB047431CF0D101204042FEBD3020E2 -:10833000E1184331087021005A1C45310978A21810 -:10834000433202331170C1E7220001231A3201992E -:108350000098089EB047431CE6D00137D1E70000E3 -:10836000F0B58BB006920A00433207930590049251 -:108370000A7E0C00109B6E2A00D18FE017D8632A6A -:108380002CD008D8002A00D199E0582A54D02600D1 -:108390004236327029E0642A01D0692AF7D1216877 -:1083A0001A68080623D5111D1960156825E0732A7F -:1083B00000D188E008D86F2A29D0702AE7D120227E -:1083C00009680A43226003E0752A20D0782ADED1AA -:1083D00022007821453211706C4A30E00E001A6894 -:1083E0004236111D196013683370012379E0490684 -:1083F000D9D5111D19600023D55E002D03DA2D2378 -:10840000049A6D421370624B0A2703932FE0206891 -:108410001968050603D5081D18600D6805E04006BB -:10842000F9D50D68081D1860ADB2594B08270393A4 -:108430006F2A18D00A2716E045310A70544A039271 -:108440001A682168101D18601568080622D5CB0728 -:1084500002D52023194321601027002D03D12023AA -:1084600022689A4322602300002243331A70636813 -:10847000A360002B5CDB0422216891432160002D66 -:1084800058D1049E002B64D02600039B42361B78F3 -:1084900033705EE04806DAD5ADB2D8E709681A68ED -:1084A000080605D5111D1960136862691A6006E097 -:1084B0004906F7D5111D19601368A28A1A80002396 -:1084C000049E236154E01A68111D1960166800218A -:1084D0006268300000F05EF8002801D0801B606008 -:1084E000636823610023049A137041E0236932001A -:1084F00006990598079DA847431C43D0236800258B -:108500009B070FD4099BE06898423DDA18003BE0D6 -:1085100022000123193206990598079EB047431C93 -:1085200030D00135E368099A9B1A9D42F0DBE9E7F8 -:10853000002DA9D0049E28003900FFF797FA039B6D -:10854000013E5B5C280033703900FFF709FA051E15 -:10855000F1D1082F09D12368DB0706D563682269AA -:10856000934202DC3023013E3370049B9B1B23614A -:10857000079B09AA00932100069B0598FFF782FE3E -:10858000431CB3D1012040420BB0F0BD4ECA0100E4 -:108590003DCA0100C9B28218904201D10020704743 -:1085A00003788B42FBD00130F6E710B5884202D940 -:1085B0008B18984208D300239A4207D0CC5CC4544D -:1085C0000133F9E78B5C8354013AFBD210BD000004 -:1085D00070B50500002910D00C1F2368002B00DAAD -:1085E000E418280000F0D4F81D4A1368002B05D1C8 -:1085F00063601460280000F0CCF870BDA34209D974 -:10860000216860188342F3D118685B6841182160C3 -:10861000EEE713005A68002A01D0A242F9D919687E -:108620005818A0420BD120680918581819608242C6 -:10863000E0D110685268411819605A60DAE7A04228 -:1086400002D90C232B60D5E721686018824203D140 -:10865000106852684118216062605C60CAE7C046D9 -:108660008C4C0020032370B5CD1C9D4308350600BB -:108670000C2D1ED20C25A9421DD8300000F088F820 -:10868000254A14682100002919D1244C2368002BA5 -:1086900003D1300000F06AF820602900300000F0BB -:1086A00065F8431C2CD10C233000336000F071F8C6 -:1086B00003E0002DDFDA0C233360002070BD0B686F -:1086C0005B1B1AD40B2B03D90B60CC18256003E07D -:1086D0008C420ED163681360300000F05AF820001D -:1086E00007220B30231D9043C31AE7D05A42E250B1 -:1086F000E4E74B6863600C00EEE70C004968C2E7F2 -:108700000323C41C9C43A042E0D0211A300000F097 -:108710002DF8431CDAD1C6E78C4C0020904C002089 -:10872000F8B507000D001600002905D11100FFF76C -:1087300099FF04002000F8BD002A03D1FFF748FF8D -:108740003400F7E700F026F82C008642F2D9310019 -:108750003800FFF787FF041EECD029003200FFF736 -:10876000DCFB29003800FFF733FFE3E7002370B597 -:10877000064C050008002360E8F73AFE431C03D1CD -:108780002368002B00D02B6070BDC046344E002003 -:10879000704770470B1F1B68181F002B01DA0B581E -:1087A000C018704700080042000C00420010004250 -:1087B0000014004200180042001C0042460D000058 -:1087C000420D0000420D0000A80D0000A80D0000A1 -:1087D0005A0D00004C0D0000600D0000960D0000C9 -:1087E000300E0000100E0000100E00009C0E000065 -:1087F000220E00003E0E0000140E00004C0E000081 -:108800008C0E00004F7574206F66206D656D6F7261 -:10881000790000F842220000BE220000C8220000B9 -:10882000DE220000EE220000FE2200001C230000D9 -:10883000342300004A230000682300007223000054 -:108840008823000098230000A8230000C62300000E -:10885000DE230000E8230000FE2300000E240000B9 -:108860001E2400003C240000FFFF00004E554C4C2D -:1088700020706F696E746572000000006C765F6F27 -:10888000626A0000E00700008C7E0000907E00001D -:108890008C7E0000947E0000987E00009C7E00008C -:1088A000A07E0000947E0000987E00009C7E000068 -:1088B000A07E0000FFFF00004E6F0A64617461003B -:1088C00050810000388100003C81000040810000A0 -:1088D0004481000048810000FF00000000FF00000C -:1088E0000055AAFF00112233445566778899AABB28 -:1088F000CCDDEEFF000102030405060708090A0BA0 -:108900000C0D0E0F101112131415161718191A1B2F -:108910001C1D1E1F202122232425262728292A2B1F -:108920002C2D2E2F303132333435363738393A3B0F -:108930003C3D3E3F404142434445464748494A4BFF -:108940004C4D4E4F505152535455565758595A5BEF -:108950005C5D5E5F606162636465666768696A6BDF -:108960006C6D6E6F707172737475767778797A7BCF -:108970007C7D7E7F808182838485868788898A8BBF -:108980008C8D8E8F909192939495969798999A9BAF -:108990009C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB9F -:1089A000ACADAEAFB0B1B2B3B4B5B6B7B8B9BABB8F -:1089B000BCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB7F -:1089C000CCCDCECFD0D1D2D3D4D5D6D7D8D9DADB6F -:1089D000DCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB5F -:1089E000ECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB4F -:1089F000FCFDFEFF80808081818282838485868762 -:108A0000898A8C8D8F91939597999B9EA0A2A5A7FB -:108A1000AAADAFB2B5000000FFFF00000011223385 -:108A2000445566778899AABBCCDDEEFF001122334E -:108A3000445566778899AABBCCDDEEFF62696E006B -:108A400054EA00005AEA0000F0E9000042EA00009F -:108A500048EA000054EA000054EA000054EA00002A -:108A60004EEA000090EC000094EC00005AEC00008C -:108A700084EC000088EC000090EC000090EC00001A -:108A800090EC00008CEC00003AEC00003EEC0000A2 -:108A900004EC00002EEC000032EC00003AEC000088 -:108AA0003AEC00003AEC000036EC00008AEB0000E3 -:108AB0008EEB000064EB00007EEB000082EB000018 -:108AC0008AEB00008AEB00008AEB000086EB0000D6 -:108AD00008ED00005CED000062ED000068ED0000B4 -:108AE0006EED000074ED00007AED000080ED0000F6 -:108AF00030EE000034EE000020EE000024EE000016 -:108B000028EE000030EE000030EE000030EE0000F5 -:108B10002CEE000090F0000094F0000080F00000C7 -:108B200084F0000088F0000090F0000090F0000059 -:108B300090F000008CF0000008F0000038F0000019 -:108B4000F8EF0000FCEF000000F0000008F000006B -:108B500008F0000008F0000004F00000D0EF000072 -:108B6000D6EF00008CEF0000BEEF0000C4EF000065 -:108B7000D0EF0000D0EF0000D0EF0000CAEF0000FF -:108B80000AF1000066F100006CF1000072F10000D3 -:108B900078F100007EF1000084F100008AF100000D -:108BA000200000005F000100000000000000000045 -:108BB00000000000B0000000F3F76000D0C7010023 -:108BC000000000003B000200000000000000000068 -:108BD000000050040000000000005004030C0100DD -:108BE00012004006050501071F00400B0B0C00009A -:108BF0006100F0090A1000FEB100800D0D0C0000AC -:108C0000FF00000B0B0D00FF470160030205010789 -:108C10004C016005040F01FD6A017005040F00FDA1 -:108C20008801600607070005A10150090808010234 -:108C3000C101A003030500FEC901200606030003CD -:108C4000D201A00303030000D701A0050810FFFE16 -:108C50001702B00A0A0C00005302F005050C0000D0 -:108C600071023009090C0000A7022009090C00005C -:108C7000DD02B00A0B0C00001F033009090C0000D4 -:108C80005503E0090A0C000091039009090C00004B -:108C9000C703500A0A0C00000304E0090A0C000094 -:108CA0003F04A003030900004D04A003030C00FDD2 -:108CB0005F045009080801027F04500908060103F7 -:108CC0009704500908080102B7043009090C000094 -:108CD000ED049010100F00FD6505B00B0D0CFF00AA -:108CE000B305200C0B0C0100F505900B0B0C0000DC -:108CF0003706300D0C0C01007F06C00A090C01007C -:108D0000B506300A090C0100EB06600C0C0C0000E3 -:108D10003307000D0B0C01007507F004030C010074 -:108D200087073008080CFF00B707800B0B0C010009 -:108D3000F9078009090C01002F08400F0D0C0100F4 -:108D40007D08000D0B0C0100BF08700D0D0C00001C -:108D50000D09900B0A0C01004909700D0E0F00FD62 -:108D6000B209A00B0A0C0100EE09F0090A0C000080 -:108D70002A0A60090A0C0000660AA00C0B0C01000C -:108D8000A80A600B0D0CFF00F60A0012120C00007E -:108D9000620BC00A0B0C0000A40B600A0C0CFF0055 -:108DA000EC0B800A0B0C00002E0C5005050F01FD8A -:108DB000540CA0050810FFFE940C5005040F00FD94 -:108DC000B20C500908070102CE0C0008080200FE90 -:108DD000D60CA0090502010ADB0C90090909000064 -:108DE000040DF00A0A0C0100400D200909090000D9 -:108DF000690DF00A0A0C0000A50DD0090A0900004F -:108E0000D20DA005070C0000FC0D100B0A0C00FD94 -:108E1000380EE00A090C01006E0E7004030C01000C -:108E2000800E9004060FFEFDAD0EE009090C010056 -:108E3000E30E7004020C0100EF0EF0100F090100A8 -:108E4000330FE00A090901005C0F300A0A0900002B -:108E5000890FF00A0A0C01FDC50FF00A0A0C00FD8B -:108E600001109006060901001C1000080809000006 -:108E70004010A006070B00006710D00A0909010086 -:108E80009010F0080A09FF00BD10600E0F090000E5 -:108E90000111D008090900002A11F0080A0CFFFD91 -:108EA00066115008080900008A11A005060F00FD90 -:108EB000B711D004030F01FDCE11A005050F00FD71 -:108EC000F4115009090500040B12B006060600064D -:108ED0001D1200050304010323120010101100FEEF -:108EE000AB120010100C00000B130010100E00FF4E -:108EF0007B130010100C0000DB13000B0B0C0000A8 -:108F00001D140010101000FE9D140010101000FE23 -:108F10001D150012120E00FF9B150010101000FE10 -:108F20001B160012120C000087160010101000FE15 -:108F300007170008080E00FF3F17000C0C0E00FF7B -:108F400093170012121000FE23180010100C0000DE -:108F50008318000E0A1002FED318000E0E1200FD38 -:108F60005119000E0E0F00FFBA19000E0E0E00FF71 -:108F70001C1A000E0A1002FE6C1A000E100EFFFFE3 -:108F8000DC1A000A0A0E00FF221B000A0A0E00FF6C -:108F9000681B000E0E0E00FFCA1B000E0E0400041C -:108FA000E61B0012120C0000521C0014141000FEEC -:108FB000F21C00121410FFFE921D0010101000FE93 -:108FC000121E000E0E0A0001581E000E0E0A0001AD -:108FD0009E1E0014140E00FF2A1F0010100C00002B -:108FE0008A1F0010101000FE0A2000101111FFFE51 -:108FF0009B20000E0F0E00FF0421000E0E1000FE3D -:109000007421000E0E0E00FFD621000A0C10FFFE88 -:109010003622000E0E1000FEA622000E0E1000FEDC -:1090200016230012120C0000822300101212FFFD02 -:109030002424000C0C1000FE84240014140F00FFE4 -:109040001A250014140A00017E250014140A0001D8 -:10905000E2250014140A000146260014140A000137 -:10906000AA260014140A00010E270014150E00FF92 -:10907000A127000E0C1001FE0128000E0E1000FEAC -:10908000712800101111FFFD02290014140C0000BA -:109090007A29000C0C1000FEDA292010110B0001B7 -:1090A000BF0BF0AF0AE09E08D08C07C0000010BFD5 -:1090B0001AE0F51F3F51F3E40F3E40F27208100032 -:1090C00005C003E000007A005C0000098007A001F1 -:1090D000FFFFFFFFFD033E733C833000F200C5003D -:1090E000000F100E300002F000F2009FFFFFFFFFA4 -:1090F0004138C336E3300089005C00000A7007A0E5 -:109100000000007900000000790000005CFFE92009 -:1091100006FCBC9E900EB07900100F807900000D07 -:10912000F579000003EFFD50000006CFFE4000007F -:10913000795EF100007905F307007907F12FE9BCAA -:10914000AFA003AEFFD70000007900000000790057 -:109150000003DE800005D000E40C5001E3004C0069 -:109160005A00A90006A004C04E00004C005A0D5041 -:109170000000E41C58A0000003CE73E13CE90000AD -:1091800000D60E40A800007C03C003D0002E203C77 -:10919000003D000B7000E2098006D00004DDA00055 -:1091A00009EFB1000009E43CA00000D9007D0000F7 -:1091B0000CC01CA000003FAEC1000001DFC00000D9 -:1091C00003EB8F701800DB007F65F03F40008FEAF3 -:1091D00003F70000CF700BF966CFBF4008DFEA301D -:1091E000A5000000000000F5F5E4E47200DA05F2E5 -:1091F0000BC00F703F405F206F107F006F105F202B -:109200003F400F700BC005F200DA3F300CB006F1A2 -:1092100001F600E900BC00AD00AE00AD00BC00E905 -:1092200001F606F10CB03F30004A000674A4A02BF2 -:10923000FFE5007FFB207B6B8D0004A00000130086 -:109240000000051000000F5000000F5000011F51DA -:1092500010EFFFFFF3344F7440000F5000000F5029 -:10926000000952FD0BA0C50F000111101FFFF304F0 -:1092700044400312FC1E90000005F100000AB000FB -:10928000000F6000005F100000AB000000F600005F -:1092900005F100000AB000000F6000004F10000050 -:1092A000AC000000F6000004F100000AC000000E4F -:1092B0006000004F1000000008EFC50000CFA8CFED -:1092C0007007F5000AF20DC00001F81F800000DCF5 -:1092D0003F600000BD3F600000BD1F800000DC0D4E -:1092E000C00001F807F5000AF200CFA8CF7000080F -:1092F000EFC500EFFF367AF3005F3005F3005F3013 -:1093000005F3005F3005F3005F3005F3005F3005C3 -:10931000F304BEFD7007FD98CF90280000BF000049 -:109320000007F2000000AF0000004F8000003FC0C7 -:1093300000003EC100002EC100002ED100002EF81A -:10934000777746FFFFFFFA6FFFFFFF0277779FB047 -:1093500000000CE1000009F3000005F6000000DF4A -:10936000E910000459FD00000006F40000003F640D -:10937000400008F3BFC98CFB007CFFD70000000150 -:10938000EB00000000BE100000006F500000002F36 -:10939000900000000CD000000008F301D50003F895 -:1093A000002F6000ED2223F7216FFFFFFFFF8155A3 -:1093B0005556F9520000002F6000000002F600052B -:1093C000FFFFFF007F77777008E0000000AD00002E -:1093D000000BC2100000DFFFFB30045568FF2000C7 -:1093E0000004F80000000F92500005F68FD98AFDA6 -:1093F000105BEFE9100005CEFC60009FC88B700584 -:10940000F80000000CD00000001F800000002F6852 -:10941000EFFA103FEE648FD02FF10006F40EC0007B -:1094200002F609F10006F301DE869FB00019EFD8BD -:10943000008FFFFFFFE8F77777FC8F00004F559014 -:10944000000BE0000002F80000009F1000000FB0C9 -:10945000000006F4000000DD0000003F7000000A7C -:10946000F1000001F90000005CFFD70006FC76AFB8 -:10947000A00CD00009F10DC00007F207F7115EC083 -:1094800000BFFFFE1009F9547ED02F800004F64F74 -:10949000500000F81FA00005F609FB76AFD0006C65 -:1094A000FFD810008EFD80000CF868FC005F5000B3 -:1094B0003F708F00000EC07F30001FF01FD413CF0D -:1094C000F104EFFFA9F00002310AF00000000EA045 -:1094D0000000009F3009A78DF70007DFEB40001E5A -:1094E00092FC0310000000000312FC1E901E92FC70 -:1094F0000310000000000001E91FD0A80E30A000FA -:1095000000004200017DF3039FE810BFB50000EEAC -:1095100081000017DFB4000004AFD200000182EF29 -:10952000FFFFF3455555510000000001111110EFE8 -:10953000FFFFF33444444050000000EF9200000667 -:10954000CFB50000039FE200006CF3029EE920BF4C -:10955000C600009300000004BEFD7007FC77BFA0AA -:10956000270000CF00000009F0000001EA00000120 -:10957000DD100000CE1000003F6000000130000050 -:10958000000100000006F50000005F400000001729 -:10959000CEFDB500000005FB53237DC200006E40E8 -:1095A0000000008E1002F401AEFA3F49B00A901E8E -:1095B000E65BEF40E30F308F1000AF40981F00D9FB -:1095C00000003F406A3F00E800001F405C1F00D9D8 -:1095D00000003F406A0F308F1000AF40980A901E85 -:1095E000D65ADEA6F203F301AFFA16EE50006E4033 -:1095F00000000000000006FB532375000000001768 -:10960000CEFDA30000000002FD00000000009FF45A -:10961000000000000F9EB000000006F27F20000056 -:1096200000DC01F80000004F600BE000000BF000D0 -:109630004F600001FA1111ED00008FFFFFFFF300F2 -:109640000EC444444FA006F4000000AF10CD00004B -:109650000002F85FFFFFEB4005F85557DF405F4021 -:109660000001FA05F400000FA05F51113AF405FF64 -:10967000FFFFFA005F744459FA05F4000008F25F36 -:109680004000005F45F4000009F25F85556AFB0564 -:10969000FFFFFFD70000028DFEB40004FFB89DF964 -:1096A00002FD20000850BF200000000FA0000000B5 -:1096B00002F6000000002F6000000000FA00000029 -:1096C000000BF2000000002FD2000085005FFB8934 -:1096D000DF800029DFEB405FFFFFEA30005F977714 -:1096E0009EF8005F400000AF605F4000000DE05F4B -:1096F00040000006F45F40000003F65F40000003F6 -:10970000F65F40000006F45F4000000DE05F40009F -:1097100000AF605F97779EF8005FFFFFEA30005F61 -:10972000FFFFFF95F97777745F40000005F40000B4 -:10973000005F51111105FFFFFFE05F74444405F421 -:109740000000005F40000005F40000005F9777779D -:1097500065FFFFFFFD5FFFFFFF95F97777745F40BF -:10976000000005F40000005F40000005F522221013 -:109770005FFFFFFE05F85555405F40000005F4000F -:1097800000005F40000005F400000000018DFEB500 -:1097900000004FFB89DFB002FD200006600BF200E5 -:1097A0000000000FA0000000002F60000000002F4C -:1097B00060000009F00FA0000009F00BF2000009A2 -:1097C000F002FD20000AF0004FFB89DFC000028D8F -:1097D000FEC6005F4000004F55F4000004F55F40F6 -:1097E00000004F55F4000004F55F5222225F55FF40 -:1097F000FFFFFFF55F8555558F55F4000004F55FB9 -:109800004000004F55F4000004F55F4000004F5544 -:10981000F4000004F55F45F45F45F45F45F45F45EF -:10982000F45F45F45F45F400FFFFFA007777FA0034 -:109830000000FA000000FA000000FA000000FA0040 -:109840000000FA000000FA000000F9072003F60DFE -:10985000E98EF101AEFB305F400002EB05F4000140 -:10986000EC005F4001DE1005F400CE20005F40BF39 -:10987000300005F49F9000005FCFEF400005FF919E -:10988000EE10005FA003FC0005F40006F8005F4046 -:109890000009F505F400000CF25F40000005F4003B -:1098A00000005F40000005F40000005F400000057C -:1098B000F40000005F40000005F40000005F40007D -:1098C0000005F40000005F97777725FFFFFFF55F45 -:1098D000400000001E95FC00000008F95FF5000044 -:1098E00002FF95FDE00000AEF95F5F70003F5F95FD -:1098F000F38F100BC0F95F31E904F30F95F307F212 -:10990000DB00F95F300DEF200F95F3005F9000F959 -:109910005F300071000F95F300000000F95F500008 -:10992000004F55FF200004F55FFD00004F55FAF988 -:109930000004F55F4AF5004F55F40DF204F55F4061 -:109940002FD04F55F4006F94F55F4000AFAF55F442 -:109950000000DFF55F400002FF55F4000006F5004F -:10996000018DFEB5000004FFB89EFA0002FD200044 -:1099700008F900BF2000000AF20FA00000003F72AB -:10998000F600000000F92F600000000F90FA0000C0 -:109990000003F70BF2000000AF202FD200008F90E1 -:1099A000004FFB89EFA0000028DFEB50005FFFFFB6 -:1099B000D7005F9778BFC05F400007F65F400000A8 -:1099C000FA5F400000FA5F400003F85F62236EF127 -:1099D0005FFFFFFD305F855420005F400000005FA7 -:1099E000400000005F4000000000018DFEB5000057 -:1099F000004EFB89EFA00002FD200008F9000AF2EA -:109A0000000000AF200FA00000003F702F6000009A -:109A1000000F902F600000000F901F900000002F9B -:109A2000700BF1000000AF2003FC100007F90000EC -:109A30006FFA78DFB0000003AEFFC5000000000041 -:109A40003ED415B000000002BFFF800000000001FE -:109A500031005FFFFFD7005F9778BFC05F4000070E -:109A6000F65F400000FA5F400000FA5F400003F834 -:109A70005F52236EE15FFFFFFC305F8555F9005FA9 -:109A800040007F405F40000CE05F400002F9005C56 -:109A9000EFD92007FC87AF900EC00001100F8000A7 -:109AA00000000DF500000003EFEA50000005AEFED7 -:109AB000400000004EF100000005F308000008F22D -:109AC0002FFA77BFA0029DFFC700FFFFFFFFF567DA -:109AD00078FB77720001F700000001F70000000139 -:109AE000F700000001F700000001F700000001F797 -:109AF00000000001F700000001F700000001F7007E -:109B0000000001F700006F3000008F16F30000081E -:109B1000F16F3000008F16F3000008F16F30000085 -:109B20008F16F3000008F16F3000008F05F400007D -:109B300009F03F700000CD00DE20005F8004FFA828 -:109B4000BFD00003BEFD81000CE00000006F306F4D -:109B50005000000CC000FB000003F60009F20000FA -:109B6000AE00002F80001F900000CE0007F2000022 -:109B700005F600DB0000000EC04F500000008F3BD8 -:109B8000E000000002FBF8000000000BFF100000E6 -:109B900000004FB000005F400000DF000002F50F42 -:109BA000900002FF400007F00BE00007FE90000C61 -:109BB000B006F3000CAAE0001F6001F8001F54F388 -:109BC000006F1000CD007F10F800CC00007F20CB8C -:109BD00000AD01F700002F71F6005F26F200000DC6 -:109BE000C6F1000F7BD0000008FDC0000BDF800035 -:109BF0000003FF700006FF30000000EF200001FEB0 -:109C000000003F900000CD008F40007F3000DE104C -:109C10002F800003FA0CD0000007FBF30000000CBB -:109C2000F800000001EFC0000000BF7F7000006F6F -:109C300060AF20002FB001ED000CF10004F807F632 -:109C4000000009F30CE0000007F203F700001F908A -:109C500000AF10009E10001FA002F6000008F30BDA -:109C6000D0000000EC4F400000005FFB000000004F -:109C70000CF20000000009F00000000009F00000F4 -:109C8000000009F00000000009F000003FFFFFFFA6 -:109C9000FD01777777BF900000001EC00000000C28 -:109CA000F200000008F500000004F900000001ECDB -:109CB00000000000CF200000008F500000004F90F7 -:109CC0000000001EF877777705FFFFFFFFF05FFFCA -:109CD00005F7505F3005F3005F3005F3005F300596 -:109CE000F3005F3005F3005F3005F3005F3005F7E8 -:109CF000505FFF007E0000001F4000000C9000003D -:109D000007E0000002F4000000C90000007E00002F -:109D1000002F4000000C90000007E0000002F3005C -:109D20000000D90000007E0000002F3000000D90E0 -:109D3000000007E0BFFA35EA00EA00EA00EA00EABC -:109D400000EA00EA00EA00EA00EA00EA00EA35EA8E -:109D5000BFFA002F8000009DE00000F3D50006D080 -:109D60007B000C601F203F100B809A0004E0FFFF77 -:109D7000FFFF1111111107F60003E7019EFD80009E -:109D8000CE87AF90020000AF00000006F202BEFFD7 -:109D9000FF20EC4227F22F50007F20EC427FF2029E -:109DA000BFFB6F208F000000008F000000008F00BD -:109DB0000000008F2BFEB3008FEC78EF308FA000F7 -:109DC0001EC08F200007F18F000005F38F200007D1 -:109DD000F18FA0001ED08FEC78EF308E2BFEB300F9 -:109DE000003AEFC4004FD87CF40DD0000713F60002 -:109DF00000004F30000003F60000000DD0000610F8 -:109E00004FD77CF4003AEFC40000000001F70000D7 -:109E10000001F700000001F7003BFFA3F704FD87F6 -:109E2000CEF70ED0000BF73F600003F74F30000174 -:109E3000F73F500003F70EC0000AF704FC65BEF7B9 -:109E4000003BFFB2F7003BFEA20004FC67EE200ED1 -:109E5000C0001EA03F500007F04FFFFFFFF13F7210 -:109E60002222200EC000020004FD87AF50003AEF0E -:109E7000D600005DFC002FB57004F3000CFFFFA0BE -:109E800048F753005F300005F300005F300005F332 -:109E900000005F300005F300005F3000003BFFB2C0 -:109EA000E904FE87CFF90ED1000AF93F600001F9FD -:109EB0004F400000F93F600001F90ED00009F9049D -:109EC000FD87CFF8003BFFB3F700000005F409E978 -:109ED00077AFB0017CFFD8008F00000008F00000D1 -:109EE000008F00000008F2BFEA108FFB89FD08F820 -:109EF0000006F48F10001F78F00000F88F00000FAC -:109F000088F00000F88F00000F88F00000F89E1A1B -:109F1000F20008F08F08F08F08F08F08F08F08F03B -:109F20000007E20009F30000000007F10007F1005C -:109F300007F10007F10007F10007F10007F1000742 -:109F4000F10007F10008F0186EC03EFC208F000001 -:109F50000008F00000008F00000008F0001DD18F05 -:109F6000001DE208F01DE2008F2DF30008FEFF70D7 -:109F7000008FE2BF3008F201EE108F0003FB08F003 -:109F80000007F78F8F8F8F8F8F8F8F8F8F8F8F8E91 -:109F90003CFE913BFEA208FF969FCFC68FD08F70EC -:109FA000009FC0005F58F10005F60001F78F000028 -:109FB0004F40000F88F00004F40000F88F00004FBD -:109FC00040000F88F00004F40000F88F00004F40BC -:109FD000000F808E3BFEA108FFA68FD08F80006F00 -:109FE00048F10001F78F00000F88F00000F88F00A3 -:109FF000000F88F00000F88F00000F80003BEFC4D6 -:10A000000004FD87CF600ED0000BF13F600003F528 -:10A010004F300001F73F600003F50ED0000BF10454 -:10A02000FD77CF60003BEFC4008E3BFEB3008FFB9B -:10A0300057DF308F90000DC08F100007F18F0000A8 -:10A0400005F38F200007F18FA0001ED08FEC78EF72 -:10A05000308F2BFEB3008F000000008F0000000047 -:10A060008F00000000003BFFA2F704FD87DEF70E23 -:10A07000D0000BF73F600003F74F300001F73F605F -:10A080000003F70ED0000BF704FD77CEF7003BFF7F -:10A09000A3F700000001F700000001F70000000135 -:10A0A000F78E2BF08FED908FA0008F20008F000097 -:10A0B0008F00008F00008F00008F000002AEFD9126 -:10A0C0001ED769D04F3000002FB4100006EFFD609E -:10A0D00000015BF5010000F75FA76BF319DFEC40AF -:10A0E00005F300005F3000CFFFFA048F753005F3F1 -:10A0F00000005F300005F300005F300004F4000052 -:10A100001FC680005DFC10AE00002F5AE00002F573 -:10A11000AE00002F5AE00002F5AE00002F59F0000B -:10A1200004F56F3000AF51EE76BFF502BEFB3F5035 -:10A130000DC00000CB06F20002F500F90009E000B6 -:10A140009E000F80002F606F10000CC0CB00000538 -:10A15000F6F4000000EFD00000008F7000BB00009C -:10A160009F10004F16F1000EF60009C00F6005FCAD -:10A17000B000F600AC00AB5F105F1005F10F50F7B8 -:10A180000AB0000F76F009C0F50000ACBA004F8F9E -:10A19000000004FF4000EFA000000EE00008F40003 -:10A1A000004F70009F208F305F5000CD2E90000236 -:10A1B000FFD000000AF6000004FDE10001EB0DC035 -:10A1C00000BE103F806F40007F400DC00000CB06F6 -:10A1D000F30002F400EA0009D0008F101F70001F86 -:10A1E000707F10000AE0D9000003F9F2000000CFF0 -:10A1F000B00000006F40000000AD00001C79F500C9 -:10A20000001AEE7000004FFFFFF915555BF40000D7 -:10A210004F800001EC00000BE100008F400004F7CC -:10A2200000001EE555535FFFFFFC002CF500AF61F9 -:10A2300000CC0000DB0000DB0000DB0002EA001FB6 -:10A24000F40005FA0000DB0000DB0000DB0000CCBE -:10A250000000AF61002CF55F15F15F15F15F15F19E -:10A260005F15F15F15F15F15F15F15F15F10BE80AD -:10A2700003AF4001F6001F7001F7001F7000F900E6 -:10A280000AFB00FB201F7001F7001F7001F603AFEF -:10A2900040BE900000000000003DE400B50C86F5D3 -:10A2A0001E20F003EF90020000100002CE900D403F -:10A2B000893B000E3B000E0D408902CE900008F84D -:10A2C000EFE7F700000000000000000000000000C1 -:10A2D0000049DC0000000016BFFFFF0000038DFFF7 -:10A2E000FFFFFF0000CFFFFFFFFFFF0000FFFFFFAA -:10A2F000FFC7FF0000FFFFEA5100FF0000FF8300DF -:10A300000000FF0000FF00000000FF0000FF000051 -:10A310000000FF0000FF00000000FF0000FF000041 -:10A320002BFFFF0000FF0000DFFFFF2BFFFF0000FF -:10A33000DFFFFDDFFFFF00002BFFB2DFFFFD0000AE -:10A340000000002BFFB20000000000D00FFFFFFF55 -:10A35000FFF00DFFFFC888888CFFFFF00F80000022 -:10A3600008F00FF00F80000008F00FFFFF800000E2 -:10A3700008FFFFF00FECCCCCCEF00FF00FECCCCC04 -:10A38000CEF00FFFFF80000008FFFFF00F800000FD -:10A3900008F00FF00F80000008F00FFFFFC888885A -:10A3A0008CFFFFD00FFFFFFFFFF00DDFFF73FFFFFC -:10A3B000FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF63 -:10A3C000FFFFFFDFFF73FFFFFFFFFD000000000046 -:10A3D000000000DFFF73FFFFFFFFFDFFFFA5FFFF92 -:10A3E000FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFF83 -:10A3F000FFFFFD0000000000000000DFFF73FFFF13 -:10A40000FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF12 -:10A41000FFFFFFDFFF73FFFFFFFFFD0000000000F5 -:10A42000000AB1000000000000BFFC0000000000B6 -:10A430000BFFFB0000000000BFFFC01BA000000BD3 -:10A44000FFFC00CFFB0000BFFFC000BFFFB00BFF51 -:10A45000FC00000CFFFBBFFFC0000000CFFFFFFBB4 -:10A46000000000000CFFFFB00000000000BFFB0078 -:10A4700000000000000BB00000000003000000031B -:10A4800008FC10001CF8FFFC101CFFF5FFFC2CFF63 -:10A49000F505FFFFFFF50005FFFFF500001DFFFDBF -:10A4A00010001CFFFFFC101CFFF9FFFC1CFFF50552 -:10A4B000FFFCDFF50005FFD1A4000004A1000000AF -:10A4C0004FE00000000002106FF1031000005FD0A9 -:10A4D0006FF13FD10003FFF16FF15FFD000DFF4011 -:10A4E0006FF109FF704FF7006FF100CFE09FF000B0 -:10A4F0006FF1005FF3BFC0006FF1002FF5BFC00028 -:10A500004FE0001FF6AFE0000000004FF46FF400D2 -:10A51000000000AFF00FFE10000005FFA006FFD303 -:10A5200000007FFF20009FFFDABEFFF4000006FF5F -:10A53000FFFFFD3000000017BDCA50000000000002 -:10A540008BB8000000000000FFFF00000000300694 -:10A55000FFFF60030004FDDFFFFFFDEF400DFFFF85 -:10A56000FFFFFFFFD04FFFFFF99FFFFFF408FFFF42 -:10A570002002FFFF8000FFF900009FFF0000FFF9AD -:10A5800000009FFF0008FFFF2002FFFF804FFFFF3A -:10A59000F99FFFFFF40DFFFFFFFFFFFFD004FEDF79 -:10A5A000FFFFFDDF40003006FFFF600300000000FA -:10A5B000FFFF0000000000008BB80000000000005A -:10A5C00003DD303FF3000000006FFFF54FF40000A3 -:10A5D0000009FF99FFBFF4000001BFF6226FFFF4EE -:10A5E00000002DFE35FF53EFF40004FFC18FFFF88C -:10A5F0002DFE407FFA1AFFFFFFA1AFF7CF82DFFFEA -:10A60000FFFFFD28FC140EFFFFFFFFFFE041000FDE -:10A61000FFFFFFFFFFF000000FFFF9008FFFF000CA -:10A62000000FFFF8008FFFF000000FFFF8008FFF12 -:10A63000F000000EFFF6006FFFE000000000DFFDFD -:10A64000000000000000FFFF000000000000FFFF0E -:10A65000000000000000FFFF000000000000FFFFFE -:10A66000000000000000FFFF000000004FFFFFFFA0 -:10A67000FFF400000BFFFFFFFFB0000000BFFFFF73 -:10A68000FB000000000BFFFFB00000000000BFFB5C -:10A69000000000DFFFFC1BB1CFFFFDFFFFFFC22C5E -:10A6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA -:10A6B000F0E0FFDFFFFFFFFFFFFFFD0004EFFFFF04 -:10A6C000FFFE4000001EFFFFFFFFFFE10000AFB0F4 -:10A6D0000000000BFA0005FF1000000001FF501EF3 -:10A6E000F600000000006FE1AFB000000000000BBA -:10A6F000FAFFFFFF800008FFFFFFFFFFFFF1001FD1 -:10A70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 -:10A71000FFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFB9 -:10A72000FFFFFFFFFFFFF8000006BDDA5002FF0049 -:10A7300005EFFFFFFE42FF007FFFA77BFFF9FF054C -:10A74000FFC100002CFFFF0EFC00000222DFFF5FB4 -:10A75000F200000FFFFFFF8FB000000FFFFFFF00B0 -:10A76000000000000000000000000000000000FFEA -:10A77000FFFFF000000BF8FFFFFFF000002FF4FFD9 -:10A78000FD22200000CFE0FFFFC200002CFF40FFB1 -:10A790009FFFB76AFFF700FF24DFFFFFFE5000FFB7 -:10A7A0002005ACDB600000000000000000008D0010 -:10A7B0000008FF00008FFFDFFFFFFFFFFFFFFFFF2D -:10A7C000FFFFFFFFFFFFFFFFFFFFFFDFFFFFFF00B8 -:10A7D000008FFF000008FF0000008D000000000057 -:10A7E00000000000000000008D0000000008FF00D5 -:10A7F0000000008FFF0000CFFFFFFF0150FFFFFFB1 -:10A80000FF06F7FFFFFFFF00BEFFFFFFFF00AEFFE9 -:10A81000FFFFFF05F8DFFFFFFF026000009FFF0062 -:10A8200000000009FF00000000009E000000000082 -:10A830000000000000000000000610000000000002 -:10A8400000001FD2000000008D000003EE10000089 -:10A8500008FF000AB12FB000008FFF0005FC07F4CD -:10A86000DFFFFFFF02505F60F9FFFFFFFF06F70DFC -:10A87000C0BDFFFFFFFF00AE09F09FFFFFFFFF001D -:10A88000AE09F08FFFFFFFFF06F70DC0ADDFFFFF42 -:10A89000FF02505F60E900008FFF0005FC06F40036 -:10A8A0000008FF000AB12FB00000008D000002EE8A -:10A8B000100000000000001FD20000000000000097 -:10A8C0000610008FFFFFFFFFFFFFF8FFFCFFFFFFF9 -:10A8D000FFFFFFFF202FFFFFFFFFFFFC000CFFFF2C -:10A8E000EEFFFFFF202FFFFE22EFFFFFFCFFFFE246 -:10A8F000002EFFFFFE4EFE200002FFFFE202C2001C -:10A900000000FFFF200000000000FFFF000000002B -:10A910000000FFFFFFFFFFFFFFFFFF8FFFFFFFFFB5 -:10A92000FFFFF80000000000FF300001CCFF4000F6 -:10A930002DFFFF4003EFFFFF403FFFFFFF44FFFFFE -:10A94000FFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFF77 -:10A95000FFAFFFFFFFFF45FFFFFFFF404FFFFFFF80 -:10A960004003EFFFFF40002EFFFF300001CC00004E -:10A97000000000000000000000008F9100000000B7 -:10A9800000FFFF7000000000FFFFFD40000000FF1F -:10A99000FFFFFA100000FFFFFFFFF70000FFFFFFBF -:10A9A000FFFFD500FFFFFFFFFFFFB2FFFFFFFFFF2D -:10A9B000FFFDFFFFFFFFFFFFFDFFFFFFFFFFFFB2F8 -:10A9C000FFFFFFFFFFD500FFFFFFFFF70000FFFFC6 -:10A9D000FFFA100000FFFFFD40000000FFFF7000C5 -:10A9E0000000008EA1000000000000000000000038 -:10A9F00000000000000000008FFFF8008FFFF8FF4C -:10AA0000FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF54 -:10AA100000FFFFFFFFFFFF00FFFFFFFFFFFF00FF43 -:10AA2000FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF34 -:10AA3000FFFFFF00FFFFFFFFFFFF00FFFFFFFFFF24 -:10AA4000FF00FFFFFFFFFFFF00FFFFFFFFFFFF0013 -:10AA5000FFFFFF7FFFF7007FFFF78FFFFFFFFFFF85 -:10AA6000F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD -:10AA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 -:10AA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 -:10AA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 -:10AAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 -:10AAB000FFFFFFFFFF8FFFFFFFFFFFF80000000019 -:10AAC00000CC100003FFFFD20004FFFFFE3004FFA4 -:10AAD000FFFFF404FFFFFFFF54FFFFFFFFF9FFFF3D -:10AAE000FFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFF7C -:10AAF000FF44FFFFFFF304FFFFFE3004FFFFD2001F -:10AB000004FFCC100003FF00000000000000002D37 -:10AB1000D2000000000001EFFE10000000001DFF49 -:10AB2000FFD100000000CFFFFFFC0000000BFFFF83 -:10AB3000FFFFB00000AFFFFFFFFFFA0009FFFFFFBC -:10AB4000FFFFFF900FFFFFFFFFFFFFF008FFFFFF7A -:10AB5000FFFFFF8000000000000000000CFFFFFF6F -:10AB6000FFFFFFC00FFFFFFFFFFFFFF00FFFFFFF23 -:10AB7000FFFFFFF00CFFFFFFFFFFFFC00000001A08 -:10AB800040000001DFF000001DFFA00001DFFA001F -:10AB9000001DFFA00001DFFA00000CFFA000000D67 -:10ABA000FF80000001DFF80000001DFF80000001B1 -:10ABB000DFF80000001DFF80000001DFF000000052 -:10ABC0001B5004A10000000FFD1000000AFFD1007F -:10ABD0000000AFFD1000000AFFD1000000AFFD1023 -:10ABE00000000AFFC0000008FFD000008FFD100029 -:10ABF00008FFD100008FFD100008FFD100000FFDFD -:10AC000010000005B1000000000004FF400000003B -:10AC10000008FF800000000008FF8000000000081E -:10AC2000FF800000000008FF80000048888CFFC8FB -:10AC30008884FFFFFFFFFFFFFFFFFFFFFFFFFFFF16 -:10AC400048888CFFC88884000008FF80000000004E -:10AC500008FF800000000008FF800000000008FFDF -:10AC6000800000000004FF400000144444444444B9 -:10AC700041EFFFFFFFFFFFFEFFFFFFFFFFFFFF7B37 -:10AC8000BBBBBBBBBBB7000005ADFFDA500000008B -:10AC900004DFFC88CFFD4000007FFE400004EFF79A -:10ACA0000007FFF4009E804FFF704FFFC000AFF819 -:10ACB0000CFFF4DFFF809AFFFE08FFFDDFFF80EF4F -:10ACC000FFFE08FFFD4FFFC08FFFF80CFFF407FFEA -:10ACD000F408EE804FFF70007FFE400004EFF800A4 -:10ACE0000004DFFC88CFFD4000000005ADFFDA5016 -:10ACF00000008C200000000000000000DFE40000E5 -:10AD00000000000000001BFF8049DFFDA5000000DF -:10AD1000007FFFFFD88CFFD400000004EFF8000094 -:10AD20004EFF700000001CFF69E804FFF70004E319 -:10AD3000009FFEFF80CFFF400DFF7005FFFFE08FFB -:10AD4000FFD00DFFF7002DFFE08FFFD004FFFC00C8 -:10AD500000AFF8CFFF30007FFF400006FFFFF70095 -:10AD60000008FFF400003EFFA00000004DFFC88275 -:10AD700001BFF7000000005ADFFC1008FFA0000030 -:10AD80000000000000004EFD000000000000000078 -:10AD900002C8000000002DD20000000000000000EA -:10ADA000BFFB0000000000000005FFFF5000000096 -:10ADB0000000000DFFFFD00000000000007FFFFF3B -:10ADC000F7000000000001FFD88DFF100000000018 -:10ADD0000AFFA00AFFA0000000003FFFB00BFFF336 -:10ADE00000000000CFFFC00CFFFC00000005FFFFCB -:10ADF000D00DFFFF5000000EFFFFF99FFFFFE000A6 -:10AE0000008FFFFFE22EFFFFF80002FFFFFF900917 -:10AE1000FFFFFF100AFFFFFFE33EFFFFFFA00FFF52 -:10AE2000FFFFFFFFFFFFFFF008FFFFFFFFFFFFFF38 -:10AE3000FF80000000000000000000000000000093 -:10AE4000D800000000000000FF80FFFF700007FF37 -:10AE5000FFF8FFFFF6006FFFFFFD788EFF15FFE89C -:10AE6000FFE20002E54FFE20FE20000013FFF3008A -:10AE7000520000003FFF310052000002EFF45E205C -:10AE8000FE20788EFF51FFE8FFE2FFFFF6006FFF24 -:10AE9000FFFDFFFF700007FFFFF80000000000004B -:10AEA000FF80000000000000D8000000000000004B -:10AEB000000000000000000000000001DD100000A4 -:10AEC00000001DFFD100000001DFFFFD1000001D8C -:10AED000FF99FFD10001DFF9009FFD101DFF9000D9 -:10AEE00009FFD1BFF90000009FFB5F90000000093F -:10AEF000F500000000000000000000000000005FFE -:10AF00009000000009F5BFF90000009FFB1DFF90B5 -:10AF10000009FFD101DFF9009FFD10001DFF99FF1F -:10AF2000D1000001DFFFFD100000001DFFD1000077 -:10AF3000000001DD10000000000000000000000023 -:10AF40000000000000000000001DD1000000000013 -:10AF5000000001DFFD10EFFFFFFFD0001DFFFFD15C -:10AF6000AFFFFFFFF000CFCFFCFC0000000FF000B0 -:10AF70006B1FF1B60000000FF000000FF0000000A2 -:10AF8000000FF000000FF0000000000FF000000FB5 -:10AF9000F00000006B1FF1B6000FF0000000CFCFF3 -:10AFA000FCFC000FFFFFFFFA1DFFFFD1000DFFFFAC -:10AFB000FFFE01DFFD10000000000000001DD100B9 -:10AFC000000000000000000000008FFFFFE2000012 -:10AFD0000000FFFFFFFE20000000FFFFFFFFFFFF5C -:10AFE000FFF8FFFFFFFFFFFFFFFFFFFFFFFFFFFF78 -:10AFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 -:10B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 -:10B01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 -:10B02000FFFF8FFFFFFFFFFFFFF80000000BB000E6 -:10B030000000000000BFFB00000000000BFFFFB09D -:10B0400000000000BFFFFFFB0000000BFFFFFFFF41 -:10B05000B000004FFFFFFFFFF400000000FFFF0003 -:10B060000000000000FFFF000000000000FFFF00E4 -:10B070000000000000FFFF000000000000FFFF00D4 -:10B080000000DFFFF0DFFD0FFFFDFFFFF900009F75 -:10B09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0CF -:10B0A000E0FFDFFFFFFFFFFFFFFD000000000000EB -:10B0B00000000000000000000AEA6200000000003A -:10B0C00002FFFFF000000000009FFFFF00000000F3 -:10B0D000000FFFFFD00000000002FFFFFB00000098 -:10B0E000000003EFFF70000000000004FFF200000A -:10B0F00000000000BFFB0000000000006FFF3000F8 -:10B10000000200004FFF9000028FF3006FFFD0009D -:10B110000AFFFFE4BFFFD10000EFFFFFFFFFD100F8 -:10B12000000AFFFFFFFF900000006FFFFFFB3000F1 -:10B13000000002FFDB72000000000008EE8000004B -:10B14000066108FFFF80002DFFD0EF33FE002EFFC9 -:10B15000F30EF33FE02EFFF3008FFFFF6EFFF300CF -:10B16000008EFFFFFFF300000002EFFFF30000007E -:10B17000002EFFFF30000008EFFFFFFF300008FF48 -:10B18000FFF6EFFF3000EF33FE02EFFF300EF33F2C -:10B19000E002EFFF308FFFF80002DFFD008EE800D5 -:10B1A000000066100000DFFFFF0D200000FFFFFF22 -:10B1B0000FE20000FFFFFF0FFDDFF0FFFFFF2000A9 -:10B1C000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0BC -:10B1D000FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFF9D -:10B1E000FFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFF8D -:10B1F000FFFFF0FFFFFFFFFFFFF0DFFFFFFFFDFF9F -:10B20000F90000000000FFFFFFFFFF0000DFFFFF6D -:10B21000FFFD00008FFFFFFFFFC200FFFFFFFFFFEA -:10B22000FE20FF00000001FFE2FF00000000FFFC25 -:10B23000FF00000000FFFFFF00000000FFFFFFFF16 -:10B24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1100 -:10B25000BFFFFFFFFFF1001FFFFFFFFFF1001FFF18 -:10B26000FFFFFFFB11BFFFFFFFFFFFFFFFFFFF8F90 -:10B27000FFFFFFFFFFF800DFFFFD000001FFFFFC05 -:10B28000000003FFFFF7000006FFFFF2000008FFC9 -:10B29000FFD000000AFFFFFFFFD00CFFFFFFFFA061 -:10B2A0000EFFFFFFFF200DFFFFFFF80000000AFF69 -:10B2B000E00000000EFF500000002FFC0000000026 -:10B2C0005FF3000000009FA000000000DF100000FE -:10B2D0000000D70000000004EE40000000DFFF99EE -:10B2E000FFFD0000FFFF99FFFF0000FFFFFFFFFFD2 -:10B2F0000000FFFF9000000000FFFF0DFFFF0D208A -:10B30000FFFF0FFFFF0FE2FFFF0FFFFF0FFDFFFF2C -:10B310000FFFFF2000FFFF0FFFFFFFFFFFFF0FFFEB -:10B32000FFFFFFFFFF0FFFFFFFFFDFFF0FFFFFFF2D -:10B33000FF00000FFFFFFFFF00000FFFFFFFFF00F8 -:10B34000000DFFFFFFFD000000CC00000000000228 -:10B35000FF3000000001BFFFFC2000001EFFFFFFC8 -:10B36000E100009FFFFFFFF80000EFFFFFFFFD007F -:10B3700000FFFFFFFFFF0001FFFFFFFFFF0003FFD4 -:10B38000FFFFFFFF3008FFFFFFFFFF801EFFFFFFF3 -:10B39000FFFFE1CFFFFFFFFFFFFCCFFFFFFFFFFF3E -:10B3A000FC0000000000000000000EFFE0000000B4 -:10B3B0000004EE4000008FFFFFFFFFFFFFFFF8FFDC -:10B3C000FFFFFFFFFFFFFFFFFF00F00F00F00F0088 -:10B3D000FFFF00F00F00F00F00FFFFFFFFFFFFFF78 -:10B3E000FFFFFFFFF808808808808FFFFFF80880C4 -:10B3F0008808808FFFFFFFFFFFFFFFFFFFFFFF00B9 -:10B40000F00000000F00FFFF00F00000000F00FF41 -:10B41000FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFAC -:10B42000FFF8000000000000000000000000000025 -:10B430000003AF70000000000004CFFFF000000028 -:10B440000006DFFFFFA000000017EFFFFFFF300046 -:10B450000018FFFFFFFFFC00002AFFFFFFFFFFF4C3 -:10B460000008FFFFFFFFFFFFD0000FFFFFFFFFFF00 -:10B47000FF600008FFFFFFFFFFFE0000000000006C -:10B48000FFFFF7000000000000FFFFF100000000D8 -:10B490000000FFFF80000000000000FFFF10000020 -:10B4A00000000000FFFA00000000000000FFF200B2 -:10B4B0000000000000008F8000000000000000007D -:10B4C00000000000DFFFFFF0D200FFFFFFF0FE20D2 -:10B4D000FFFFFFF0FFE2FFFFFFF0FFFDFFFFFFF2C6 -:10B4E0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF6A -:10B4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C -:10B50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B -:10B51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFF5B -:10B52000FFFFFFFD00000000000000000000000021 -:10B53000049CEFFEC94000000007EFFFFFFFFFFE85 -:10B54000700004DFFFFCA88ACFFFFD406FFFD5002D -:10B550000000005DFFF6CFF60000000000006FFC69 -:10B560001A30005ADFFDA50003A100004DFFFFFFC8 -:10B57000FFD400000005FFFEA88AEFFF5000000185 -:10B58000DF70000007FD1000000012000000002125 -:10B590000000000000004EE4000000000000000079 -:10B5A000EFFE0000000000000000EFFE00000000C1 -:10B5B000000000004EE4000000008FFFFFFFFFFFCF -:10B5C000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0018 -:10B5D0000000000000000FFDFF0FFFFFFFFFFFFF57 -:10B5E0000FFFFF0FFFFFFFFFFFFF00FFFF0FFFFF3A -:10B5F000FFFFFFFF00FFFF0FFFFFFFFFFFFF0FFF3A -:10B60000FF000000000000000FFDFFFFFFFFFFFF35 -:10B61000FFFFFFF08FFFFFFFFFFFFFFFFF808FFFA8 -:10B62000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFA9 -:10B63000FFF0FF000000000000000FFDFF0FFFFF04 -:10B64000FFFFF0000FFFFF0FFFFFFFFFF00000FF05 -:10B65000FF0FFFFFFFFFF00000FFFF0FFFFFFFFFE7 -:10B66000F0000FFFFF000000000000000FFDFFFFD3 -:10B67000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF59 -:10B68000FF808FFFFFFFFFFFFFFFFF80FFFFFFFF38 -:10B69000FFFFFFFFFFF0FF000000000000000FFDB4 -:10B6A000FF0FFFFFFF0000000FFFFF0FFFFFFF0076 -:10B6B000000000FFFF0FFFFFFF00000000FFFF0F73 -:10B6C000FFFFFF0000000FFFFF0000000000000070 -:10B6D0000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFFEB -:10B6E000FFFFFFFFFF808FFFFFFFFFFFFFFFFF80D8 -:10B6F000FFFFFFFFFFFFFFFFFFF0FF000000000064 -:10B7000000000FFDFF0FFFF0000000000FFFFF0F14 -:10B71000FFF00000000000FFFF0FFFF0000000003E -:10B7200000FFFF0FFFF0000000000FFFFF00000010 -:10B73000000000000FFDFFFFFFFFFFFFFFFFFFF016 -:10B740008FFFFFFFFFFFFFFFFF808FFFFFFFFFFF68 -:10B75000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0086 -:10B760000000000000000FFDFF00000000000000CE -:10B770000FFFFF0000000000000000FFFF000000BE -:10B780000000000000FFFF000000000000000FFFAD -:10B79000FF000000000000000FFDFFFFFFFFFFFFA4 -:10B7A000FFFFFFF08FFFFFFFFFFFFFFFFF800000A5 -:10B7B0000000000100000000000000000007FD1074 -:10B7C00000000000000001CFFFF5000000000000B5 -:10B7D00000B929FE100000000000003F1002000028 -:10B7E000000003DF800A90000000037000DFFF7795 -:10B7F000F7555555558FD30FFFFDCCDFDCCCCCCDA5 -:10B80000FFB08FFE1000AA0000004D40004610005F -:10B8100001F202331000000000000009B1CFF9006E -:10B820000000000000000AFFFF9000000000000080 -:10B830000000BFF90000000000000000012200002D -:10B84000000018DFFD920002EFFBEFFF300DFFFA62 -:10B850002EFFE04FFFFA03FFF59FFAFA354FFACFBC -:10B86000C08A3D0BFDEFFB03128FFEFFFFB006FF0A -:10B87000FFFFFFD108FFFFEFFD11109FFFDFD15940 -:10B880003B0BFDAFD7FA381DFB5FFFFA01DFF70D69 -:10B89000FFFA1DFFF103EFFCDFFF500018DFFEA3EE -:10B8A0000000007FFFF70000EFFFFFFFFFFFFEEF4C -:10B8B000FFFFFFFFFFFE000000000000000FFFFF82 -:10B8C000FFFFFFF00FFFFFFFFFFFF00FF99F99F958 -:10B8D0009FF00FF88F88F88FF00FF88F88F88FF0AF -:10B8E0000FF88F88F88FF00FF88F88F88FF00FF827 -:10B8F0008F88F88FF00FF88F88F88FF00FF99F99E5 -:10B90000F99FF00FFFFFFFFFFFF008FFFFFFFFFFB2 -:10B91000800000000000007FA00000000000008FF9 -:10B92000FFB000000000000DFFFFA0000000008A33 -:10B930001DFFFF000000008FFA1DFF700000008F48 -:10B94000FFFA1D800000008FFFFFFA000000008F4B -:10B95000FFFFFF800000008FFFFFFF800000008FCF -:10B96000FFFFFF800000008FFFFFFF800000006FDF -:10B97000FFFFFF800000000BFFFFFF8000000000C2 -:10B98000DFFFFF80000000000EFFFF8000000000CE -:10B9900000DEDB600000000000000000000000008E -:10B9A000000000001BFFFFFFFFFFFFE40001DFFFBF -:10B9B000FFFFFFFFFFFE001DFFFFFAEFFEAFFFFFDF -:10B9C00001DFFFFFA02EE20AFFFF1DFFFFFFE202E3 -:10B9D000202EFFFFCFFFFFFFFE2002EFFFFFCFFF74 -:10B9E000FFFFFE2002EFFFFF1DFFFFFFE202202E00 -:10B9F000FFFF01DFFFFFA02EE20AFFFF001DFFFF98 -:10BA0000FAEFFEAFFFFF0001DFFFFFFFFFFFFFFECA -:10BA100000001BFFFFFFFFFFFFE40008FFFFFFE444 -:10BA2000008FFFFFFFFE08F80F0B40FF8FF80F0B92 -:10BA300040FFFFF80F0B40FFFFFFFFFFFFFFFFFF7F -:10BA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 -:10BA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 -:10BA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFF6 -:10BA7000FFFFFFFE4EFFFFFFFFE40000000000009D -:10BA800000010000000000000003E00000100000C2 -:10BA90000002EF1000BF000000007FF100CFF100B6 -:10BAA000000007FF11CFFF77777777BFF1CFFFFF58 -:10BAB000FFFFFFFFFF17FFFFFFFFFFFFFFE007FF95 -:10BAC000F100000000000006FF1000000000000070 -:10BAD00005A00000000000000001000000000000C0 -:10BAE0000001000003000000000200000000000050 -:10BAF0000000000000000000000001000000000045 -:10BB0000000000000000000000010C0007FA000027 -:10BB10000000F2F1020C0604F6020D010B0308000E -:10BB2000000000000000000000000F02FE00000006 -:10BB30000000000000000000000500F80000000008 -:10BB400000FB04050000FD00FE0300FD00FDFFFBFF -:10BB500000000000FD0000FDFC0000FD00FB0000F7 -:10BB600000000000000000FDFD00FC00F900E10005 -:10BB700000FB0005080000FB03030805FC050000AE -:10BB8000F10000000000000000000000F7000000CD -:10BB90000000000000000000000000F9FDF300F6C6 -:10BBA000FE00000000010A00F8FEFF0100FC00009A -:10BBB000FEED0000000000000000000000ECFE0AA6 -:10BBC000000000000000000000000000F60000007F -:10BBD000000000000000000800030000FB0000005F -:10BBE00000000000000000000000000000000A0249 -:10BBF0000100000000000000000000000000000044 -:10BC00000000000000000000000000000000000034 -:10BC10000000000000000000F7000000000000002D -:10BC20000000000000000000000000000000000212 -:10BC3000050308FD000005FDF8DD02070501FD0014 -:10BC4000090008000800E800FD080008FD050300E1 -:10BC50000001FD0000FC1400140008000B030408A0 -:10BC6000000000F70000000001FE0002FBFDFB02E7 -:10BC700000FD000000F600000000000000000000D1 -:10BC800000EF0000000000000000000000000000C5 -:10BC90000001F200F000000000FE0019FDFD0303AA -:10BCA000FE00FD030000F2000000000000000000A4 -:10BCB0000000E7000300000000000000000000009A -:10BCC00000F0000F0000F7000800EFE7EFFB0800AE -:10BCD00000EF0003FA00FC0000000000000000007C -:10BCE0000000000708E10000000000000000000064 -:10BCF00000000C000200000000000202FDFB00FF3B -:10BD0000FFFD0000FE000000FB00FE00FAFB00FA51 -:10BD1000F8F8FB00FB00FB00000000FE0000030041 -:10BD200002FD000100000003FE000000FE0303FF0F -:10BD3000000000FB00FF0000000000010003FE0007 -:10BD4000FD00FC0000FE00080000FD0000000000F7 -:10BD5000FF01FEFE0000FD00FD00000000000000ED -:10BD60000000FFFF00FDFD0000000000010000FEDC -:10BD700000FDFDFD000000000000000000FE0000CE -:10BD80000000FEFD00FC00F8FEF8050000FB0305C6 -:10BD90000700FAFFFD00FFF403FE02F203000001BA -:10BDA000F300F2FEEAFE00F30005070003000000C6 -:10BDB000000100FBFD00F8000000FD000000FD0098 -:10BDC00000000000FFFF00FFFD0000000000000079 -:10BDD000FDFD00FEFDFE0000FD0000000000000073 -:10BDE00000000000FEFE00FD00FE00FB030000FD61 -:10BDF000010303000000000000FE0000000000023C -:10BE00000000FD00FDFEFD0000000000000002003B -:10BE1000FE00000000FDFC00FB0008FE01F8000031 -:10BE200007F3F3F5FB0300FEEFFB00FB00FB04FB55 -:10BE3000F000F9000001FF02FE000300F8F600F335 -:10BE4000FAFBFAF8FDF9FFFBF902000100FD000022 -:10BE5000000200030000000000000000000000FDE0 -:10BE600000FF00FFFD00FCFAFAFF00F800000000F0 -:10BE70000000FE0000000001FE00000003000000C2 -:10BE800000000000000C00000000000002000000A4 -:10BE9000FD0000000000000000000000FB000300A7 -:10BEA000000000000000000000000000FE00000094 -:10BEB000FB00000000F3F8000000FCF30000FD03AD -:10BEC00000F900000000000000000000FC0000FB82 -:10BED0000000000000000000000000000300FB0064 -:10BEE000000000030002FBFB00FDFDFD0000000060 -:10BEF0000000F800FD00FCFD00FAFAF8FE00FB006F -:10BF0000F800000000140000010000FD000300F52F -:10BF10000000000000E8FB0808FEF50003FC00F349 -:10BF2000FFFD03EEFD030004F7FCF7F8F50000F158 -:10BF3000000F0000FF000000FFFFFDF9F8FFE80020 -:10BF400000000000000000000100000000000000F0 -:10BF5000000000000000000000FD00FFFDFC0000EC -:10BF6000FB00FD00000000000000000000000000D9 -:10BF70000000FF00FB000005FF0300FA03FEFFF9CD -:10BF8000FD00FDFDFE00FCFC0000FEFFFEFCFD00D0 -:10BF900000FD0003FE00FA000000FB00FC00FCFCBA -:10BFA000030000000000000000FB0300FC00FEFD99 -:10BFB000F8FEFEFEFFFEFDFF0000000000FDFEFE9D -:10BFC0000000000003FE00FE000000FEFDFEFEFD7E -:10BFD000FE00020AFF00F900FE0500FDF5FD040069 -:10BFE00000F4FC03FC0200FEFEF800FC010000FC73 -:10BFF0000000000303FBFB00FCFDFCFDFD00FC0159 -:10C00000FBFC08000000000000000000030000002E -:10C010000000000000000000000000000000000020 -:10C0200000000000FC000000000000000000000014 -:10C030000000000000000000000000000000000000 -:10C0400000000000000000000000000000000000F0 -:10C05000FE000000000000000000000000000000E2 -:10C060000000000000000000000000000000FEFDD5 -:10C07000000000000000000000000000FC0000FDC7 -:10C080000000FDFD00000000FD00000000FF0000BA -:10C09000000000FE00000000FC00FB000000F800B3 -:10C0A00002FA0501FEF40000FAFD00F6FAF90000BC -:10C0B000F5FDF6F6F400F9000211FD00FAFDFFFDB2 -:10C0C000FCF9FBF7F6FAFD0000FE00010000EEFEB1 -:10C0D0000806FAF70001F800F3FEFD05E8FD01008F -:10C0E00000EFFDF3FDED0000EE000F0100FE00008B -:10C0F0000000FFFEF6FE00EF00000000F800FE006A -:10C10000FFF9F40000FFFCF8FD00FE00000000F461 -:10C11000FDF8F8FEFCFAFDFC00FBFEF8FC00FDFB60 -:10C12000FDFB000100FEF8000500FB00000000031D -:10C130000002FB0A00FDFDFD000000000000F80009 -:10C14000FD00FCFD00FAFAF8FE00FB020A00000008 -:10C1500000140000010000FD0003000000000000CA -:10C160000000FF0000000000FEFB0000000000FFD8 -:10C17000000000FDFD0000FBFD0000FB0004FF00CF -:10C1800000000000000100000000040502FE00F8AD -:10C19000FC0008F8F8FBFB0A0503EAFE05FD00FDBC -:10C1A00003FDF700FD03FDFEF8FE0000080500F9A1 -:10C1B00000F2FD07FDF601FDF8F8FD0A0300FC00A2 -:10C1C000F9000208FAF7F6FA080001EDFE03FCFE9A -:10C1D000FA00FAF7FCFCFE0000FAFBFD000806FD81 -:10C1E000F200F2FC00F7F1FFF8FCF8F9070000FD9F -:10C1F00000FBFE00FDFB0004F8030000F200FDFA66 -:10C20000FCFEF8FAF8FA00F8FDFAFBF8FD00000170 -:10C210000CFC00F8FD00FDFBFAF9F9F6FDFB05004A -:10C22000FC00F3FD0205F8F7FBF808FD01E8FB054B -:10C23000FAFCF700F8F5FDFDFEFDFBF8FF00000835 -:10C2400007FEEF00F1FA06F6EFFBF7F5F3F805004D -:10C25000000000FD000003FD0502FB050000F8FFE3 -:10C2600000FF000101FE000000000000FD000000D2 -:10C270000002080100FD00000000FEFEFD000000BD -:10C280000102000000000200FE000A00050101FD9D -:10C290000005000000020000000000000000000097 -:10C2A000000800070000000000000000000000007F -:10C2B0000000F100FD04000800001903FBFB03036C -:10C2C000FE01F300000CF10000000000000000007F -:10C2D0000000EF0A24000000000000000000000041 -:10C2E00000F100000000000000000000000000005D -:10C2F000000000000000000000000000FC0000FB47 -:10C30000FE0000000000000000000000000000002F -:10C3100000000000FE00F900000100000321FBFE08 -:10C320000807F90300000303FD00000000000000FF -:10C3300000000000DF070000000000000000000017 -:10C3400000000000000000F9000000F900000000FB -:10C35000FAFF000000FA00FD00F4000000000000F9 -:10C360000000000000EF00000000010000000000DD -:10C3700000FD0000FB00FC00F9000000FC03FD00D4 -:10C3800000F9FDFA0000F900FD00F400FD0000EBEB -:10C39000FBF6FDF70000EF00F9FF000000000000D1 -:10C3A0000000FCFBFEFC00000000FA00FA03FD05A3 -:10C3B00000FEFAFEFCFB00FDFFFE02F9FF0000009C -:10C3C000E9FEFC00FA00FEF4FE0000FEFE000000A4 -:10C3D000000200FEFCFE040000000000000000005F -:10C3E000000000000000000000000000000000004D -:10C3F000000000000000000000000000000000003D -:10C40000000003000000000000FA00FE000000FB36 -:10C4100003000000F9FDFB0000F900FD00F400003E -:10C420000000E700FBF7F30000EF00FEFC00000057 -:10C430000000000000FDFCFFFC01000004FD0008FE -:10C440000DFDFDF8030D0406F9030B0307060700B5 -:10C4500000000000000000000000100CFBFD00FECA -:10C46000140B14000000030000090000FC00000091 -:10C47000000000000000FE000000000000000004BA -:10C4800000000000EAFDFEF6F30000EF00000000EF -:10C4900000000000000000000000000000FC0000A0 -:10C4A00000000000000000FE00000000000000008E -:10C4B0000400000000EAFDFEF6F30000F6000000B4 -:10C4C000000000000000000000000000000000006C -:10C4D000FE000000FA0300FD020503F800FFFE0362 -:10C4E000000200000000FA00FEFEFB00FEF6001055 -:10C4F000FD00FAFE00FEFC00FDF9FBFD000000FC63 -:10C50000000000000000000000FE0000000000002D -:10C5100000000400000000EAFDFEF6F30000EF005A -:10C5200000000000000D00000000000000000000FE -:10C53000FC00F8FDFE08FEFDF601FE01FEF9010615 -:10C5400001020102FAF6FD00F6FBF9F5F600FCFB2C -:10C55000FDFDFEFEFDFE00FEFF040004FE000800DF -:10C560000000000000000000000000FEFDFD0000D3 -:10C57000F900FF00FC0000000000000000000000C7 -:10C58000F10000000000000000000000FDFD00FDC3 -:10C5900000000000FE0000FCFD0300FCFBFE00F9B3 -:10C5A000FEFAFEFD00FC000000000000000000009C -:10C5B00000EF00080000FB00000000FD00FD00008F -:10C5C000FF0000FE00FA00000BFDF8F8020303FF75 -:10C5D000F9020402080208FEF90000F60000F8F96A -:10C5E0000000FB00FDFC00FC00FC00FE0400FEF867 -:10C5F000FD090000FE00FB000003FA0003FD02003D -:10C6000000F800FEFF00FD03FE000000F6FDFA004A -:10C61000F80000F40009FD00FB000200FD00FDF839 -:10C6200000FD0300000000FE000003FD010000FD0E -:10C63000FE00FD00000000000000000000000000FF -:10C6400000000000F000060000FE000000000100F5 -:10C65000FDFD0000000500060000000000F0F101F3 -:10C660000B0804F6020B00090005000000000000A2 -:10C6700000000000000E00000000000000000000AC -:10C680000000000000000000D8BA010098C60100B8 -:10C6900034C701003D310000000001020003040521 -:10C6A00002060708090A090A0B0C000D0E0F1011EB -:10C6B00012130C14140000001516171819161A1B63 -:10C6C0001C1D1D1E1F201D1D1621222303241E2597 -:10C6D00025262728292A2B002C002D2E2F303132F9 -:10C6E000332D343435302D2D2E2E36373839333A1C -:10C6F0003A3B3A3C290000093D09000000000000D7 -:10C700000000000000000000000000000000000029 -:10C710000000000000000000000000000000000019 -:10C720000000000000000000000000000000000009 -:10C7300000000000000001020003040502060708D3 -:10C74000090A090A0B0C0D0E0F10110C1213141507 -:10C750001500000016171819171919191719191AA1 -:10C760001919191917191719031B1C1D1D1E1F2034 -:10C7700021222300240025262727270027262829D1 -:10C7800026262A2A272A272A2B2C2D2E2E2F2E30FA -:10C790000000230931090000000000000000000033 +:1000000052185A80C7E7828801320488121B12B244 +:10001000D40FA41864108A8801320D88521B12B2C2 +:10002000D50FAA185210A21A1A80C288CC88121BA7 +:100030004488121B498852185A80ACE782888C8801 +:10004000121B0488121B0C8812191A80C288CC88D3 +:10005000121B4488121B498852185A809BE70022C1 +:100060001A80C28801324488121B12B2D40FA4181D +:100070006410CA8801324988521A12B2D10F8A1804 +:100080005210A21A5A8086E782888C88121B048834 +:10009000121B0C8812191A80C28801324488121B64 +:1000A00012B2D40FA4186410CA8801324988521AB7 +:1000B00012B2D10F8A185210A21A5A806BE700228E +:1000C0001A80CA884988521AD2435A8063E78288C4 +:1000D00001320488121B12B2D40FA41864108A884B +:1000E00001320D88521B12B2D50FAA185210A21A53 +:1000F0001A80CA884988521AD2435A804BE78288AC +:100100008C88121B0488121B0C8812191A80CA884A +:100110004988521AD2435A803DE700221A80C28889 +:1001200001324188521A5A8035E7828801320488A8 +:10013000121B12B2D40FA41864108A8801320988E5 +:10014000521A12B2D10F8A185210A21A1A80C288FB +:1001500001324188521A5A801DE782888C88121B0E +:100160000488121B098852181A80C28801324188FB +:10017000521A5A800FE78A880988521AD2431A8085 +:1001800000225A8007E78A880C88121BD2431A8003 +:10019000C28801324488121B12B2D40FA418641012 +:1001A000CA8801324988521A12B2D10F8A185210E5 +:1001B000A21A5A80EFE68A880C88121BD2431A8052 +:1001C000C288CC88121B4488121B498852185A8056 +:1001D000E1E6828801320188521A1A8000225A8090 +:1001E000D9E6828801320488121B1A80C288013243 +:1001F0004488121B12B2D40FA4186410CA880132AA +:100200004988521A12B2D10F8A185210A21A5A8073 +:10021000C1E6C046E0C80100828801320488121B92 +:100220001A80C288CC88121B4488121B4988521835 +:100230005A80B0E630B58DB2830702D0018002301B +:10024000013A29044919102A16D90300140019602B +:1002500059609960D960196159619961D9612033F8 +:10026000103C102CF3D81100113909094C1C640101 +:10027000103A0901521A0019002A04D005800230F0 +:10028000013A002AFAD130BD70B54A01521AFF2452 +:10029000641A0304DB0E63439D182B025B19DB0118 +:1002A0005B191B01DB0E4505AD0E65438E01711A0E +:1002B0006D1829024919C9014919C900C006C00EA3 +:1002C0006043821810028018C00180180001890E56 +:1002D0004901C00EDB020843184370BD10B5FF236F +:1002E000591A0304DB0E4B431A001B029B18DB0157 +:1002F0009B181B01DB0E4205920E4A4314001202AA +:100300001219D2011219D200C006C00E41430802D0 +:100310004018C00140180001920E5201C00EDB02CD +:100320001043184310BD421C4378002B04D109E050 +:1003300001321378002B05D03A2BF9D05C2BF7D083 +:100340002F2BF5D01000704710B544210148024B07 +:10035000984710BD5C4D0020B905010070B5040040 +:10036000406800280ED003690925002B08D02168B9 +:10037000984705002068044B98470023236063607A +:10038000280070BD0B25FBE7390B010070B584B068 +:100390001C1E01D0002323604568002D15D0AE69D6 +:1003A0000923002E0ED000230393006803AB0093B3 +:1003B00013000A0001002800B0470300002C01D000 +:1003C000039A2260180004B070BD0B23FAE770B5E1 +:1003D0000A004468002C09D0256A0923002D03D0A7 +:1003E00001682000A8470300180070BD0B23FBE73D +:1003F00070B5040009480A4B984700280CD00378D0 +:10040000A34209D0054D074E01002800B04700283F +:1004100002D00378A342F7D170BDC0465C4D0020E6 +:100420006D06010085060100F0B5D6464F4680B541 +:1004300083B004000F000192002343600360002991 +:1004400041D00878234B9847606000280AD0836821 +:10045000002B0BD09847002808D10023636023604D +:10046000012531E00023236003252DE063685888CF +:10047000194B98472060194B9847002806D02368ED +:100480009A46002B08D163600A251DE022680023EC +:10049000134814498847FEE763689946DE680925D2 +:1004A000002E11D03800104B98470200019B514696 +:1004B0004846B047051E07D020680C4B98470023DC +:1004C0002360636000E00B25280003B00CBC91465C +:1004D0009A46F0BDF1030100710A01007D1400008D +:1004E000948801008514000027030100390B0100E6 +:1004F00010B50400114B9847031E17D0225C2E2A1A +:100500000FD02F2A14D05C2A14D0013B002B0BD023 +:10051000E25C2E2A05D02F2A0ED05C2AF5D108489D +:1005200001E00133E01810BD0548FCE70448FAE794 +:100530000348F8E70248F6E70148F4E7F17F0100D5 +:10054000B8CA010000B583B0019200290DD0002A7D +:100550000DD000680430091801AB1A780A705A7877 +:100560004A709A788A70DB78CB7003B000BD00685F +:10057000043008180421014B9847F6E74D1001009C +:1005800000B583B0019200290CD0002A0CD000687D +:10059000091801AB1A780A705A784A709A788A70EA +:1005A000DB78CB7003B000BD006808180421014B54 +:1005B0009847F7E74D1001000023436083608B07E5 +:1005C00002D00323994304310160704770B50400E1 +:1005D000006808300E4B9847051E14D00022010019 +:1005E00020000C4B98476268290020000A4B98476E +:1005F0006168002903D02A002000064B98476560F7 +:10060000A368002B01D0280070BDA560FBE7C046A1 +:10061000710A0100810501004505010070B5040063 +:10062000006808300E4B9847051E14D000220100C8 +:1006300020000C4B9847A268290020000A4B9847DD +:10064000A168002903D02A002000064B9847A56026 +:100650006368002B01D0280070BD6560FBE7C046D1 +:10066000710A01004505010081050100002801D043 +:10067000406870470020FCE7002801D08068704780 +:100680000020FCE782B00023019300280BD0036810 +:100690000433C91801AB0A781A704A785A708A78FC +:1006A0009A70CA78DA70019802B0704782B000235D +:1006B000019300280AD00368C91801AB0A781A70A0 +:1006C0004A785A708A789A70CA78DA70019802B0BB +:1006D00070470000F0B5C64600B504000E000028C3 +:1006E00029D0002929D04368994221D000680830D8 +:1006F000134B9847051E18D031002000114B984726 +:1007000007002A00010020000F4B984698473A0046 +:10071000290020000D4FB8472A0031002000B847BB +:10072000320029002000C047280004BC9046F0BDDC +:10073000074B9847F9E70020F7E70800F5E7C046C0 +:10074000710A0100AD0601004505010081050100A7 +:10075000CD05010070B504000D0000282BD04368C2 +:1007600099422AD08368994217D029002000194B5A +:100770009847060029002000174B98470500020003 +:1007800031002000154B9847320029002000144BFF +:10079000984770BD0023A360FBE70E4B9847A0600D +:1007A000002805D00022010020000C4B9847F0E7FC +:1007B00000236360EDE70029D7D129002000064B14 +:1007C000984760600028E5D0002201002000044B1B +:1007D0009847DEE7AD0601008506010045050100EA +:1007E0008105010070B50C0015001E001100194BA9 +:1007F0009847002E17D0002229002000164B98475A +:10080000626829002000154B98476168002903D0D1 +:100810002A002000104B98476560A368002B00D089 +:1008200070BDA560FCE7A268290020000A4B98472C +:10083000002229002000094B9847A168002903D015 +:100840002A002000054B9847A5606368002BE7D17C +:100850006560E5E7550701008105010045050100D8 +:10086000F8B5CE46474680B505000C00160091420B +:1008700021D0002A23D01100224B98470700844240 +:1008800019D021002800204B984722003900280069 +:100890001E4B984698473A00210028001C4B994669 +:1008A0009847220031002800C84732002100280064 +:1008B000C047002F21D00CBC90469946F8BD0028B7 +:1008C0001DD08768BC42F6D0210028000E4B984707 +:1008D0002200390028000D4EB0473A0021002800C0 +:1008E0000B4B98469847220000212800C047002261 +:1008F00021002800B047AC60DBE76C60DBE7170045 +:10090000E0E7C046AD0601005507010045050100BE +:100910008105010000280AD000234268002A01D086 +:1009200018007047826853425341DBB2F8E7012355 +:10093000F6E7000010B5B4214900194B984709B2F9 +:10094000002916DB592918DD89B20B005A3B9BB2EE +:10095000592B16D90B00B43B9BB2592B18D9B42391 +:100960005B00591A09B249000E4BC85A404200B206 +:1009700006E06931FF3109B2E4E74900094BC85E7E +:1009800010BDB423591A09B24900064BC85EF7E7F7 +:100990001BB25B00034A985A404200B2F0E7C046DF +:1009A000D17C010034C9010030B50002002501E00E +:1009B000520806D053191C005C43A042F8D31D0016 +:1009C000F6E72B090B802D01FF231D404D8030BD24 +:1009D00000280ED0031D006840081818021D064BA1 +:1009E0001B68802189018C4663449A429B411840D0 +:1009F0007047014B1868FBE70C2C002030B58B07C3 +:100A000002D003239943043103685B080A1D934213 +:100A100017D099420ED0021D521813780124A34317 +:100A2000137003685B08043B5B1A5B0015682C407D +:100A300023431360490001230268134019430160F6 +:100A400030BD1100F6E70000064B074A1360197825 +:100A500001229143197019680A4004490A431A6037 +:100A60007047C046102C00200C2C0020F83F0000DE +:100A7000F0B5C64600B5051E20D0830702D003237B +:100A80009D4304350024104E012398460F4F08E083 +:100A90002900B8472378012213432370201D002822 +:100AA0000FD12000B047041E0AD0037842461A42F4 +:100AB000F7D103685B089D42EAD9F2E7044800E0F9 +:100AC000002004BC9046F0BDD1090100FD090100E1 +:100AD000104C0020F0B5C64600B50020154B9847D5 +:100AE00004000125134F3E00B84617E02000B84728 +:100AF00000281CD003781D420FD12268530804330C +:100B0000016849085B185B002A4013432360B04723 +:100B100000280CD003781D42EFD00400002C06D032 +:100B200023781D42E2D02000C0470400F6E704BC51 +:100B30009046F0BDD109010070B50400194B9842F0 +:100B400028D0002826D0021F137801218B43137070 +:100B5000154A138801339BB213800F2B1BD804381E +:100B6000124B9847002815D00378DB0712D4043CB9 +:100B700001250E4E226853080433016849085B18AA +:100B80005B002A4013432360B047002802D003785B +:100B90001D42EFD070BD0022034B1A80044B9847D2 +:100BA000F8E7C046104C0020E82B0020D1090100D6 +:100BB000D50A0100002806D0054B984205D004381C +:100BC0000068400870470020FCE70020FAE7C046B4 +:100BD000104C002010B5154B1B68984213D0134BD6 +:100BE0009B68012283420FD0114B1B68984213D09F +:100BF00001230F4C1900DA00A25890420DD00133A6 +:100C0000102BF7D110BD0022D200084B9B189A7907 +:100C100001218A439A71F5E70021C900044B591854 +:100C20008B79012293438B71ECE7C046440000208E +:100C3000DC4C0020F0B5C64600B5114B9A79012175 +:100C40008A439A719A7B8A439A730E4C00250E4B05 +:100C500098460026270003E001350834102D0CD0FB +:100C600020680028F8D0C0472660EB00FB189A796E +:100C700001218A439A71A680EEE704BC9046F0BD3C +:100C800044000020DC4C0020390B0100F0B5C646C2 +:100C900000B503231C0004400B409C4267D0202A6F +:100CA00063D921235B429C46944463465F097B1CC5 +:100CB0005B01C5180C00030026781E7066785E7014 +:100CC000A6789E70E678DE7026791E7166795E7170 +:100CD000A6799E71E679DE71267A1E72667A5E7258 +:100CE000A67A9E72E67ADE72267B1E73667B5E7340 +:100CF000A67B9E73E67BDE73267C1E74667C5E7428 +:100D0000A67C9E74E67CDE74267D1E75667D5E750F +:100D1000A67D9E75E67DDE75267E1E76667E5E76F7 +:100D2000A67E9E76E67EDE76267F1E77667F5E77DF +:100D3000A67F9E77E67FDE7720332034AB42BBD19F +:100D40001F2365469D43203543194919203A7F01E9 +:100D5000D21B002A06D09A180C781C70013301317E +:100D60009342F9D104BC9046F0BD0300F1E70500C1 +:100D7000002C14D004252D1B0ED0002A5FD045195D +:100D800003000C781C7001330131013AAB4205D0ED +:100D9000002AF6D1002248E0050000E01D00202ACC +:100DA00028D91700213FB8467B099C465E1C760176 +:100DB000AE190C002B0027681F6067685F60A7688A +:100DC0009F60E768DF6027691F6167695F61A769E6 +:100DD0009F61E769DF61203320349E42EBD11F23FE +:100DE00047469F432037ED19C9191300203B62463F +:100DF00052019A1A2B00042A17D9531F9C469B08AC +:100E0000984601339B00EB180E002C0080CE80C466 +:100E10009C42FBD1032364469C4323000433141FEC +:100E200042469200A21AC918EB18002A9AD09A18C2 +:100E30000C781C70013301319342F9D192E7030021 +:100E4000A8E70000F8B505000C008B0702D00323CB +:100E50009C430434002D04D02B1F1B78DB07DB17C9 +:100E60001D402800114B9847070084421CD014D322 +:100E700020000F4B9847061E14D0002D12D0002FD3 +:100E800010D02200BC4200D93A0029003000094BA2 +:100E900098472800084B984704E0281F2100074B7B +:100EA00098472E003000F8BD2E00FBE7B50B01007F +:100EB000710A01008D0C0100390B0100FD090100D0 +:100EC000F8B5002800D168E0102807D8344B9B798A +:100ED000DB0713D5324B9B7BDB0705D5314C002359 +:100EE00001267642270019E001232D49DB00C818AE +:100EF000827901242243827158582DE00023F4E7BF +:100F0000284ADD0051198B79012003438B71A858C1 +:100F100022E05EB201330834102B13D0DA00BA1885 +:100F20009279D207F6D4A2889042F3D8E8D0002E66 +:100F3000EFDBF1001B4DAC46614489889142E9D951 +:100F40005EB2E7E7002E08DB1649F300C818827985 +:100F50000124224382715858F8BD124B9A7901231B +:100F60000024D2070BD50F491C00DA008A189279A9 +:100F7000D20704D50133102BF6D10020ECE7094D40 +:100F8000E4002B199A7901210A439A719880010093 +:100F90006059054B98476051DEE70020DCE7C0460A +:100FA00044000020DC4C0020450E0100F0B5032475 +:100FB00004400ED004231B1B0BD0002A07D0C318FB +:100FC00001700130013A984203D0002AF8D1002282 +:100FD00034E00C0264180B04E4180B06E418060055 +:100FE000202A18D91600213E77097D1C6D0145196C +:100FF00003001C605C609C60DC601C615C619C6147 +:10100000DC6120339D42F4D11F239E432036861994 +:10101000203A7F01D21B3000042A0FD9501F8708C5 +:101020007D1CAD007519330010C3AB42FCD1032306 +:1010300098430430043ABF00D21B3018002A04D071 +:101040008218017001309042FBD1F0BD70B50323CE +:1010500003403AD1202919D90D00213D6E09741C95 +:1010600064010419030000221A605A609A60DA6071 +:101070001A615A619A61DA6120339C42F4D11F23CC +:101080009D432035401920397601891B030004292E +:1010900010D94B1F9E08741CA400041902000025DF +:1010A00020C2A242FCD10322934304330439B60088 +:1010B000891BC318002905D0591800221A70013362 +:1010C0008B42FBD170BD1800C4E70422D21AC1D0F4 +:1010D00000290BD082180300002018700133013959 +:1010E0009342F0D00029F8D10021E3E70300FBE7A9 +:1010F00070B5032303403CD120291AD90D00213DAE +:101100006E09741C640104190300012252421A6022 +:101110005A609A60DA601A615A619A61DA61203322 +:101120009C42F4D11F239D4320354019203976017C +:10113000891B0300042911D94B1F9E08741CA400AD +:101140000419020001256D4220C2A242FCD10322F3 +:10115000934304330439B600891BC318002905D012 +:101160005918FF221A7001338B42FBD170BD180051 +:10117000C2E70422D21ABFD000290BD08218030084 +:10118000FF201870013301399342F0D00029F8D1C3 +:101190000021E3E70300FBE710B518210448054BE5 +:1011A00098470022044B1A700132044B1A7010BD8C +:1011B000AC4C0020B90501002B4C0020284C00202D +:1011C00070B52F482F4B9847041E18D02E4D237D05 +:1011D0005B075B0F032B23DD21002948A847041E72 +:1011E000F5D12748294B98470500294B98470028F7 +:1011F00042D12A000023274827498847FEE7204894 +:10120000264B98470500224B9847002805D12A0015 +:101210000023204820498847FEE7002D0DD123E018 +:10122000210017481E4B98470500194B9847002886 +:101230001CD0002D18D0002CD3D00124194B1C70C9 +:10124000FA235B002B600026AE602B7D07229343C0 +:10125000032213432B7501235B422B61124B9847EA +:101260006860EE60114B1C70280070BD2A000023DE +:10127000084809498847FEE7002DDED1F4E7C0465B +:10128000AC4C00206D060100850601001D06010022 +:101290007D1400009488010085140000CD05010034 +:1012A000D50601002B4C00208DF70000294C0020B2 +:1012B00010B5040001000948094B98470122094B69 +:1012C0001A702000084B9847084B1B689C4200D0BE +:1012D00010BD0122064B1A70FAE7C046AC4C002044 +:1012E000550701002B4C0020390B0100784D0020E0 +:1012F0002A4C002010B504004068134B9847002387 +:101300002268904201D2180010BD104B98476060CF +:1013100000230F4A13700F4A1370A368002B05D0E7 +:10132000200098470A4B1B78002BECD12369002B37 +:1013300001DD013B236101232269002AE3D1200062 +:10134000054B98470123DEE7A9F700008DF7000061 +:101350002A4C0020294C0020B1120100F0B5DE46D5 +:1013600057464E46C0B5664B1B780120002B09D16D +:101370000122634B1A70634B1B78002B07D10022AC +:101380005F4B1A701CBC91469A46A346F0BD5E4B5B +:1013900098475E4B186000245D4B9B46002399469E +:1013A0005C4B9A4684E05C4B1D6000240FE05B4B75 +:1013B0009847584B1B78002B2FD1554B1B78002B8F +:1013C0002BD1574B1B78002B6ED1534B1D603168CE +:1013D000002922D05348B84705004F4B1868027DBA +:1013E0000723134019D08442DDD0052BDFD0002C19 +:1013F0004BD0027D5207520F237D5B075B0F9A4251 +:10140000D7DD464B98470028D3D0424B1B78002BA2 +:1014100003D13F4B1B78002B34D03C4B1868424C17 +:10142000A047424B1A68944660441860404B1868C5 +:10143000A047F423FF33984217D93C4B1868642324 +:101440005843FA2149003B4B9847C0B20023642817 +:1014500002D864231B1ADBB2374A13700022334BC5 +:101460001A60294B9847324B186001225242334B85 +:101470001A602C48324B9847041E3BD02A4D2F4F00 +:101480003E0028E0244B1C6812E0244B98470028BB +:101490008FD0204B1B78002BBFD11D4B1B78002B0E +:1014A000BBD11D4B1C6803E01D4B00221A700024A9 +:1014B0005B464A461A7053461A701A48204B9847A2 +:1014C000154B18601E001F4F81E7210015481D4B6A +:1014D0009847041E0ED0237D5B07F6D06068A847AE +:1014E00022680023904200D2131A3A689A42ECD93B +:1014F0003360EAE70022024B1A70104B186841E78C +:10150000144C0020284C00208DF700001C4C0020BB +:101510002A4C0020294C0020784D0020F5120100B3 +:101520002B4C0020AC4C0020A9F70000184C0020E8 +:10153000244C0020F1790100204C00202C4C00208C +:101540006D06010085060100F0B5CE4600B5050028 +:1015500089460E00037D5B075B0F8B4228D019483C +:10156000194B9847041E26D0037D5B075B0F9E42F4 +:101570000ADA164F21001348B847041E1BD0237DFA +:101580005B075B0F9E42F5DBA54206D022002900D7 +:101590000C480F4B9847002C0DD001220D4B1A70B0 +:1015A00006324B461A402B7D07218B4313432B7584 +:1015B00004BC9146F0BD002229000248044B984724 +:1015C000EBE7C046AC4C00206D060100850601002B +:1015D000610801002B4C0020F0B583B006000F001D +:1015E00001921D000C4B984704000C4B98470028B3 +:1015F0000BD0002C06D0A660276001992000084B74 +:101600009847E560200003B0F0BD220000230548A4 +:1016100005498847FEE7C046C11101007D1400005E +:1016200049150100948801008514000010B50400DC +:10163000034B98472368DB431818606010BDC04611 +:101640008DF70000F0B583B00023019300290AD084 +:101650000B68C25C54B2002C07DB140001330B6032 +:10166000200003B0F0BD01A9F2E71F241500A54337 +:10167000C02D0DD00F241500A543E02D1CD007244C +:101680001500A543F02D36D001330B600024E7E7A9 +:101690005C1C0C60055D3F202C008443200000246E +:1016A0008028DDD19201F824E40022403F242C4020 +:1016B000A41802330B60D3E75C1C0C60055D3F246B +:1016C0002E00A6430024802ECAD19C1C0C60005D15 +:1016D0003F240600A6430024802EC1D11407240C09 +:1016E0003F2210402418AD01FC20000105402C19B8 +:1016F00003330B60B4E75C1C0C60055D3F242E00D7 +:10170000A6430024802EABD19C1C0C60065D3F24B8 +:101710003700A7430024802FA2D1DC1C0C60005DA1 +:101720003F240700A7430024802F99D19204E0248E +:10173000640322402C03FC25AD022C402243B4015B +:10174000FC26360134403F2528402418A4180433D1 +:101750000B6085E7F0B583B006000D000023019310 +:1017600000290CD00024074F01A930003B6898479E +:101770000134019BAB42F7D3200003B0F0BD0C0055 +:10178000FAE7C04658000020232905D0027800233C +:10179000012A12D0180070470278002A02D10123D2 +:1017A0000370F7E7012A05D00023022AF2D1037063 +:1017B0000133EFE700230370ECE701332029E9D17F +:1017C00001330370013BE5E7F0B5DE4657464E4670 +:1017D0004546E0B591B007900391924605931AAB48 +:1017E0001B781A000A93002800D10BE1002900D1D0 +:1017F0000AE11223134216D0020003780A2B00D10B +:1018000004E10D2B00D10BE1002B00D10AE10020F7 +:101810000130135C0A2B00D1F9E00D2B00D1F6E06A +:10182000002BF5D1F4E002230A9A1A400B9201D062 +:101830007D4B059300230F220CA98C466244137044 +:101840000E937A4B99467A4F5346049383E0009A5D +:1018500021000398774B98474519ADB200B2002894 +:1018600003DD049B9C466544ADB22DB24346013373 +:1018700039D022000A3A162A3CD86F4BD3400122B5 +:101880001A423AD101232B32944238D00133DBB2D1 +:10189000FA5C002AF8D14346013300D18DE00C9E5A +:1018A0000D9B0C93029B0193009C53469B5D002B68 +:1018B00000D184E00DA950464B461B689847009024 +:1018C000019B013302935B46002BC0D021000F2007 +:1018D0000CAB9C466044594B98470028B7D00C9EEF +:1018E0000D9B0C93DEE7049BEB1A089A9342C0DD34 +:1018F000B046BEE701232C22C6E7B24600E0B2465E +:101900005346002B5CD1434601335CD10695019BC5 +:10191000002B04D00D2C04D1009B0A2B01D10C9B71 +:101920009A4653466A4613801688059B069A9B1A68 +:101930001BB20593002E49D00E9B9C4666440E9622 +:10194000079A13780A2B51D00D2B4FD0935D0A2B99 +:101950004AD00D2B48D00E9B0993079A9C466244AF +:1019600016001378002B41D0059B002B3EDD002E86 +:101970002CD0059B08930B9B002B01D02A4B08937E +:1019800000230C930D930CA93000284B1B68009387 +:10199000984704000C9B0D9300230693013B984647 +:1019A00000230193002500939A4601330A9A1340BD +:1019B0009B465346B2461E0077E706956FE7B24650 +:1019C00043460133A3D0099B002B08D00E9B002B6C +:1019D0000FD1164B1B680EA90798984706E043469F +:1019E0006A4613801688A0E701360E960E9B002BE0 +:1019F00002D00CAB18890CE00C4B1B680EA90798A1 +:101A00009847F6E7002004E0002002E000200130C3 +:101A100080B211B03CBC90469946A246AB46F0BDA0 +:101A20000020F4E70020F3E7187C000058000020B5 +:101A3000ECC9010069E700000900400089170100B6 +:101A4000F0B5CE46474680B585B00500894601927F +:101A500098460CAB1F7800283AD0002A3AD00023D1 +:101A6000039302AAD370002400292BD001231F4026 +:101A70000AE0320000990198174B984703B2002BF7 +:101A800002DD4444041924B2039B994515D9134E31 +:101A900003A92800336898470090039BE81833682F +:101AA000002198470600002FE3D0009902ABD81C14 +:101AB0000B4B98470028E7D1DBE7002C02DD4346BB +:101AC000E41A24B2200005B00CBC90469946F0BD43 +:101AD0000024F7E70024F5E769E70000580000203C +:101AE00089170100F0B5DE4657464E464546E0B53B +:101AF00089B0040089460292039312AB00215B5E19 +:101B0000069313AB00215B5E049314AB1F78002394 +:101B1000038043804B46002B51D0002A4FD0BB0797 +:101B200001D52F4B0493029B08229B5E07939AB228 +:101B30004B461B78002B4FD04D460026294B9B4629 +:101B4000069B9A46924453466A469382938A9846E5 +:101B500005E022804B469D192B78002B1FD0009763 +:101B6000049B039A02992800D84736180221635E25 +:101B70005146C9181C4A914221D841460591434417 +:101B800063800097039B029A01002800174DA84725 +:101B900023881A1C1BB28342DBDA021CD9E7002E11 +:101BA00006D02E00013E33780A2B0FD00D2B0DD01E +:101BB0000222A35E002B0FD0069A9B1A638009B005 +:101BC0003CBC90469946A246AB46F0BD6388059A58 +:101BD000944663446380EBE76B469B8B6380EEE740 +:101BE000187C0000C9170100FF7F0000411A0100A6 +:101BF000F0B5D6464F464646C0B582B001900F00BC +:101C0000141E99460A9B9A461DD00123984604E06B +:101C100000281ADA3400002C0ED066084D467543B1 +:101C20007D1929000198D0470028F1DD4346A343E0 +:101C3000F41A4D442F00EEE7002002B01CBC904681 +:101C40009946A246F0BD0020F7E72800F5E700001E +:101C5000014B18607047C046304C0020014B1B6898 +:101C6000D8687047304C002010B5024B1B681B68C9 +:101C7000984710BD304C0020F0B5CE46474680B5A1 +:101C800083B0040028290ED88900E44B5B589F4696 +:101C90000021E34B984700212000E24B9847E24B9C +:101CA0001968E24B9847FF212000E14B984703B0A9 +:101CB0000CBC90469946F0BD0021D94B98470021B5 +:101CC0002000D84B9847D84B19680431D74B984718 +:101CD000E9E70021D24B984700212000D14B9847DB +:101CE000D14B19680431D14B9847DCE70021CC4B2C +:101CF000984700212000CB4B9847CB4B19681031F7 +:101D0000CA4B9847CFE70021C54B99469847002119 +:101D10002000C44FB847C44E3368191D0190C34D0D +:101D2000A847316818310198A84701212000C84709 +:101D300001212000B84707003368191DA847316802 +:101D400008313800A847AEE70021B54B99469847BF +:101D500000212000B34FB847B34E31680190B34D16 +:101D6000A847316868310198A84701212000C84779 +:101D700001212000B84707003368191DA8473168C2 +:101D800008313800A8478EE70021A54B98469847B0 +:101D900000212000A34FB847A34E31682431A34D42 +:101DA000A84701212000C04701212000B847316821 +:101DB0002831A84777E70021994B9846984700219A +:101DC0002000984FB847984E31682431974DA84766 +:101DD00001212000C04701212000B8473168283187 +:101DE000A84702212000C04702212000B8473168DF +:101DF0009C31A84757E70021894B984753E70021BA +:101E0000874B98474FE70021854B98474BE70021C8 +:101E1000834B984747E70021814B984743E70021D0 +:101E20007F4B99469847002120007E4FB8477E4E51 +:101E30003368191D01907D4DA84731682031019804 +:101E4000A84701212000C84701212000B847316878 +:101E50001C31A84727E70021714B9846984700217D +:101E60002000704FB847704E316820316F4DA84741 +:101E700001212000C04701212000B84731681C31F2 +:101E8000A84710E70021664B99469847002120009B +:101E9000644FB847644E316824310190634DA847C0 +:101EA000316894310198A84701212000C8470121D9 +:101EB0002000B84731682831A84702212000C847D0 +:101EC00002212000B84731689031A847EBE6002195 +:101ED000534B9846984700212000524EB047524F2E +:101EE00039684C31514DA84740212000C04740215E +:101EF0002000B047060039681031A84739685031D2 +:101F00003000A847CFE60021454B9847002120002C +:101F1000444B98470500444F3B68191D434EB0475A +:101F200039687C312800B047BDE640213C4B9846DB +:101F30009847402120003B4FB8473B4E316818314D +:101F40003A4DA84741212000C04741212000B84711 +:101F500031681031A847A6E60021314B984700218F +:101F60002000304B9847304B19686C312F4B984705 +:101F700099E600212A4B9846984700212000294FD6 +:101F8000B847294E3368191D284DA8474021200025 +:101F9000C04740212000B84731681431A8470121CB +:101FA0002000C04701212000B84731688031A84790 +:101FB00002212000C04702212000B8473168843147 +:101FC000A84770E60021164DA84700212000154BB8 +:101FD00098469847144F3968144EB0474021200066 +:101FE000A84741212000A84741212000C047396867 +:101FF000A831B04743212000A84743212000C04713 +:102000003968AC31B04742212000A8474221200066 +:10201000C0473968A431B04745E6C046F4C901005D +:10202000D51D0000F91C0000384C00201D4A00009E +:102030008D2500000021F34DA84740212000A8472E +:1020400040212000F04B9847F04B1968B031F04B1D +:10205000984728E60021EB4B98469847002120003E +:10206000E94FB847E94E3168E94DA8470121200002 +:10207000C04701212000B84731688031A8470221BC +:102080002000C04702212000B84731688431A847AA +:1020900009E60021DB4B9946984700212000DA4FE2 +:1020A000B847DA4E3368191D0190D94DA8473168F9 +:1020B00088310198A84703212000C8470321200048 +:1020C000B84731688C31A847EDE50021CD4B9847E2 +:1020D00000212000CC4B9847E5E50021C94B9846EC +:1020E000984700212000C84FB847C84E3368191DD3 +:1020F0000190C74DA847316874310198A847402125 +:102100002000C04701212000C04701212000B8471E +:1021100031688031A847C6E50021BA4B98470021B5 +:102120002000B94B9847B94B19687831B84B98479C +:10213000B9E50021B34B9946984700212000B24FE2 +:10214000B847B24E3368191D0190B14DA8473168A8 +:1021500008310198A847316818310198A8474021F3 +:102160002000C84740212000B8473368191D01905E +:10217000A847316854310198A84741212000C84739 +:1021800041212000B84731688031A8474221200012 +:10219000C84742212000B84731685831A84782E536 +:1021A0000021984B9946984700212000964FB84748 +:1021B000964E3368191D0190954DA84731684031FE +:1021C0000198A847316818310198A84701212000DB +:1021D000C84701212000B847316818310190A8474D +:1021E000316844310198A84702212000C8470221E4 +:1021F0002000B84731684831A84754E50021814B99 +:1022000098469847002120007F4FB8477F4E33689B +:10221000191D7F4DA84701212000C0470121200042 +:10222000B8473168A031A84702212000C0470221E9 +:102230002000B8473168A031A84703212000C047DB +:1022400003212000B8473168A031A84704212000AD +:10225000C04704212000B8473168A031A84722E5D3 +:102260000021684B9846984700212000664FB847E8 +:10227000664E3168664DA84742212000C047422182 +:102280002000B84731688031A84741212000C0476D +:1022900041212000B8473168B031A84740212000D3 +:1022A000C04740212000B8473168A831A847FAE468 +:1022B0000021544B984700212000534B9847534B23 +:1022C0001968A431524B9847EDE400214D4B9946D3 +:1022D0009847002120004C4FB8474C4E3368191DD9 +:1022E00001904B4DA847316818310198A847042147 +:1022F0002000C84704212000B8473168B831A847FA +:1023000003212000C84703212000B8473168B431B9 +:10231000A84701212000C84701212000B8473168A3 +:102320008031A847BFE40021364B994698470021E9 +:102330002000354FB847354E3368191D0190344D94 +:10234000A847316818310198A84703212000C847E1 +:1023500003212000B84731689831A847A3E4002141 +:10236000284B984700212000274B98470500274F0E +:102370003B68191D264EB047396808312800B04720 +:1023800091E400211F4B98469847002120001E4FE2 +:10239000B8471E4E3368191D1D4DA8470321200064 +:1023A000C04703212000B84731682C31A8470121DC +:1023B0002000C04701212000B84731683031A847CC +:1023C00002212000C04702212000B8473168343183 +:1023D000A84768E400210B4B98469847002120004D +:1023E000094FB847094E31683831094DA8470121D6 +:1023F0002000C04701212000B84731683C31A84780 +:1024000051E4C046D51D0000F91C0000384C0020E6 +:102410001D4A000000211B4B9847002120001A4B49 +:1024200098470500194F3B68191D194EB047396888 +:1024300070312800B04736E40021124B9946984786 +:1024400000212000104FB847104E3368191D01902D +:102450000F4DA84731685C310198A8470121200041 +:10246000C84701212000B84731686031A8470221E0 +:102470002000C84702212000B84731686431A847CE +:10248000FFF711FCD51D0000F91C0000384C00209E +:102490001D4A000010B5054B1B78002B02D1044BE0 +:1024A000984710BD034B9847FBE7C046344C0020CB +:1024B0004D490000494B0000F8B5CE46474680B56F +:1024C000F94C2068F94B9847FF222C212068F84BE3 +:1024D00098472068F74B9B699B0701D500F05DFE8C +:1024E000082312210B224901DB020A431A43292146 +:1024F000F14B9847EC4B1868EE4B9B699B0701D555 +:1025000000F050FE1C233A211D224901DB020A4340 +:102510001A43EA49E84B9847E34B1868E54B9B6937 +:102520009B0701D500F043FE1C233A211D224901DF +:10253000DB020A431A437921DF4B9847DD4EDA4C20 +:10254000F268DF492068DF4DA847F2687E212068E5 +:10255000A8472368181DD54B9847246804340020E9 +:10256000D94B98470A30C0004023FF3301229842DC +:1025700001D900F021FE01212000D44B9847CA4C1C +:102580002368181DFF222C21C94B9847206804306E +:10259000C84B9B699B0701D500F019FE0B2318213E +:1025A0000E224901DB020A431A432921C24B9847F4 +:1025B000BD4B18680430BF4B9B699B0701D500F0E9 +:1025C0000BFE1023222112224901DB020A431A4387 +:1025D0003921B94DA847B44C2368181DB54EB288AF +:1025E000BB49A8472368181DF288BA49A847246840 +:1025F00004340020B44B9847283040004023FF3378 +:102600000122984201D900F0ECFD30212000AF4DAD +:10261000A847A54C2368181D01223321A847A54DC2 +:102620002368181DEA68A649A64B9847206804301D +:10263000AB699B0701D500F0DFFD1F233F211F225F +:102640004901DB020A431A439C499B4B9847994C2A +:10265000954D2B68181DE2687E219A4B9847286893 +:102660000430A3699B0701D500F0CBFD1F233F2158 +:102670001F224901DB020A431A4379218E4B9847F6 +:10268000894B186804308B4B9B699B0701D500F080 +:10269000BDFD1F233F211F224901DB020A431A43CC +:1026A0008D49854B9847804B18680430814B9B6956 +:1026B0009B0701D500F0AFFD1F233F211F224901D9 +:1026C000DB020A431A4399217B4B9847764C2368D7 +:1026D000181D012290217D4B984725680435002064 +:1026E0007E4B9847012801D800F09AFD0020764BD8 +:1026F00098470301181A400050304023FF3301244B +:10270000984201D900F0A5FD00206F4B98470300C7 +:1027100028335B004021FF3101228B4201D900F0B8 +:10272000A5FDA21812B212212800684B98475E4BF3 +:102730001D6804350020694B9847012801D800F036 +:10274000A0FD0020604B98470301181A400050304C +:102750004023FF330124984201D900F0ABFD002053 +:10276000594B9847030028335B004021FF31012279 +:102770008B4201D900F0ABFDA21812B21321280040 +:10278000524B9847484B1D6804350020534B9847DF +:10279000012801D800F0A6FD00204B4B984703010B +:1027A000181A400050304023FF330124984201D9C9 +:1027B00000F0B1FD0020444B9847030028335B0034 +:1027C0004021FF3101228B4201D900F0B1FDA21856 +:1027D00012B2102128003D4B9847334B1D68043539 +:1027E00000203E4B9847012801D800F0ACFD0020A6 +:1027F000354B98470301181A400050304023FF33EF +:102800000124984201D900F0B7FD00202E4B9847D3 +:10281000030028335B004021FF3101228B4201D9A4 +:1028200000F0B7FDA21812B211212800274B9847DB +:102830001D4B1C6804340020284B9847012801D800 +:1028400000F0B2FD0020204B984703011B1A5B00EB +:1028500050334021FF3101228B4201D900F0BDFDF0 +:1028600014212000194DA8470F4C2368181D9622EB +:10287000B021A8472368181D3922B721A84720682E +:102880000C300A4B98472068011D0C30144B9847B8 +:1028900020680C30074B9B699B0701D500F0AAFD0F +:1028A0000823122109221DE0384C00209524010044 +:1028B000B54F00003C4C0020554E000089800000C0 +:1028C0008E8000000951000065F60000F54C000004 +:1028D0003902000039040000A980000081F60000E0 +:1028E0009D4B00004901DB020A431A432921FB4B9F +:1028F0009847FB4B18680C30FA4B9B699B0701D536 +:1029000000F07DFD0823102108224901DB020A4363 +:102910001A433921F14B9847F14B18680C30F14BB1 +:102920009B699B0701D500F06FFD14232A21152216 +:102930004901DB020A431A43EB49E84B9847E84B4D +:1029400018680C30E74B9B699B0701D500F061FDCF +:1029500014232A2115224901DB020A431A43792153 +:10296000DE4B9847DE4B18680C30DE4B9B699B07AB +:1029700001D500F053FD14232A2115224901DB0261 +:102980000A431A43D949D54B9847D54B18680C30A0 +:10299000D44B9B699B0701D500F045FD14232A21E8 +:1029A00015224901DB020A431A439921CB4B984770 +:1029B000CB4C20680830CE4B984720680830C94B74 +:1029C0009B699B0701D500F033FD092313210A22DF +:1029D0004901DB020A431A43C649C04FB847C04EFB +:1029E00030680830BF4DAA882A21FF31B8473468C3 +:1029F0000834A8883321C04B9847021CBF492000E7 +:102A0000B84730680830AB699B0701D500F015FD69 +:102A10000B2318210E224901DB020A431A43B8494D +:102A2000AE4FB847AE4D28680830002298214900C3 +:102A3000B44B98472C680834AA4EB0883321AE4B6B +:102A40009847021CB0492000B84728680830B3698D +:102A50009B0701D500F0F6FC0B2319210D2249013B +:102A6000DB020A431A43A9499C4B98479C4B1868C0 +:102A700008309C4B9B699B0701D500F0E8FC0B23B9 +:102A800019210D224901DB020A431A433A21FF3181 +:102A9000924B9847924B18680830924B9B699B0762 +:102AA00001D500F0D9FC0B2319210D224901DB02CD +:102AB0000A431A439649894B9847894B186808304E +:102AC000884B9B699B0701D500F0CBFC0B23192198 +:102AD0000D224901DB020A431A438E497F4B984776 +:102AE0007F4B186808307F4B9B699B0701D500F02E +:102AF000BDFC1F233F211F221F24A0464901DB02EA +:102B00000A431A438449754FB847754E30680830F8 +:102B1000FC25ED0042462A43804C22438049B847B9 +:102B20003068083042462A4322437E49B84730681D +:102B300008306C4B9B699B0701D500F09CFC26225A +:102B400013235201D9021A430A437749634B98472A +:102B5000634B18680830634B9B699B0701D500F0F5 +:102B60008EFC1F233F211F221F24A0464901DB02A8 +:102B70000A431A436D49594FB847594E30680830D7 +:102B8000FC25ED0042462A43644C22436849B8477D +:102B90003068083042462A4322436649B8473068C5 +:102BA0000830504B9B699B0701D500F06DFC262235 +:102BB00013235201D9021A430A435F49474B9847EE +:102BC000474C206808302922B6214E4DA84720687E +:102BD0001030474B984720681030584A0121A847C9 +:102BE00020681030FF222C21554B98472068103068 +:102BF0003C4B9B699B0701D500F04AFC0B23182135 +:102C00000E224901DB020A431A432921334B98471C +:102C1000334B18681030334B9B699B0701D400F08D +:102C20003CFC304D6A79D20893009B189A009B189F +:102C3000444A944663441A02D218D201D218D20DE3 +:102C40001F210A40AC886405A30E9C00E418A30071 +:102C5000E4183D4B9C46644423021B19DB011B19FD +:102C6000DB009B0E2C79E406E50EAC006419A50090 +:102C70006419344DAC46644425022D19ED012C191C +:102C8000E40D21405B01D2020B431A431949134F53 +:102C9000B847134E30681030124DAA882A21FF31F0 +:102CA000B84734681034A8884C21134B9847021C4D +:102CB00012492000B84730681030AB699B0701D536 +:102CC00000F015FC0B2318210E224901DB020A43F8 +:102CD0001A430B49014B984738E0C046554E000057 +:102CE000384C00203C4C002089800000A980000066 +:102CF0009524010029100000DD02010029110000C7 +:102D000029200000F54C00003912000039100000A5 +:102D100039110000392000008990000000F8FFFF01 +:102D2000898100008991000089A00000A99000001D +:102D3000A9810000A9910000A9A00000FF7F000068 +:102D4000B54F0000DA1B00009A380000F14B1868FC +:102D50001030F14B9B699B0700D5CDE32222112354 +:102D60005201D9021A430A43EC49ED4DA847E94CF8 +:102D700020681030E84EB2883921A847206810300A +:102D8000B288E849A84720681030B3699B0700D58E +:102D9000B5E3102208235201D9021A430A43E2493B +:102DA000DF4B9847DB4B1C6810340020DF4B984703 +:102DB000283040004023FF330122984200D9A1E38C +:102DC00030212000DA4B9847D24C20681030002286 +:102DD0009E214900D74B984720681030CE4B9B6905 +:102DE0009B0700D598E31F233F211F224901DB02E7 +:102DF0000A431A43D049CA4B9847C64B186810304B +:102E0000C54B9B699B0700D58AE31F233F211F22E7 +:102E10001F24A0464901DB020A431A43C749C04D9B +:102E2000A847BC4C20681030FC27FF0042463A43BC +:102E3000C34E3243C349A8472068103042463A4344 +:102E40003243C149A84720681030C04B1A88C04996 +:102E5000A84720681030B04B9B699B0700D563E3FF +:102E60001F233F211F224901DB020A431A43B949AC +:102E7000AB4B9847A74B18681030A74B9B699B0733 +:102E800000D555E31F233F211F221F264901DB02E6 +:102E90000A431A43B049A24DA8479E4C20681030FF +:102EA000FC23DB0099461A003243A54F3A43AA4956 +:102EB000A847206810304A4632433A43A749A847FA +:102EC00020681030A14B1A88A549A8472068103007 +:102ED000914B9B699B0700D52EE31F233F211F22A7 +:102EE0004901DB020A431A4379218D4B9847894BEC +:102EF00018681030884B9B699B0700D520E31F237F +:102F00003F211F221F24A0464901DB020A431A4326 +:102F10009449834DA8477F4C20681030FC27FF0060 +:102F200042463A43864E32437A21FF31A847206811 +:102F3000103042463A4332438B49A847206810304C +:102F4000824B1A888949A847246810340020774B9F +:102F5000984783001B18DB0050334021FF310122CA +:102F60008B4200D9F0E212212000714B9847694B47 +:102F70001C68103400206D4B984783001B18DB0041 +:102F800050334021FF3101228B4200D9E9E2132165 +:102F90002000674B98475F4B1C6810340020634B40 +:102FA00098470301181A50304023FF3301229842FA +:102FB00000D9E3E2102120005D4B9847554B1C6877 +:102FC00010340020594B98470301181A5030402301 +:102FD000FF330122984200D9E8E211212000544B2E +:102FE00098474C4B1C6810340020504B9847830086 +:102FF0001B189B0050334021FF3101228B4200D926 +:10300000DFE2142120004A4DA847424C20681030CE +:1030100003224021A8472068103000224C21454E51 +:10302000B047206810307F2293218900B047206884 +:103030001030394FBA884921394EB04720681030D6 +:10304000FA884B49B047206810309622B021A84733 +:10305000206810303C22B521A84720681030292272 +:10306000B621A847206810304C22B721A847206815 +:1030700010309622B121A8472068103000223D4927 +:10308000A847206814303C4B98472468143400202B +:103090003A4B9847322800D9ADE20020234B98479D +:1030A00083001B189B0050334021FF3101228B42CB +:1030B00000D993E2142120001D4B9847154B186846 +:1030C00018302D4B984700202C4B9847322800D9B8 +:1030D000B8E20020154B984703008000C01840005C +:1030E00050304023FF330124984200D99DE2094E1D +:1030F00030681830220012210D4DA8473068183072 +:1031000022001321A8473068183022001021A84758 +:10311000306835E0384C00203C4C0020292100006C +:10312000554E0000391000003920000065F60000FF +:10313000F54C0000B54F0000898000008990000028 +:1031400000F8FFFF898100008991000098CA010002 +:1031500089A00000A9800000A9900000A9910000AA +:10316000A9A000007910000079110000792000006A +:1031700049040000B11000009524010081F6000010 +:10318000183022001121A84730681830220014217D +:10319000A8470CBC90469946F8BD1D233B211E2232 +:1031A000FFF7A1F907230F210822FFF7AEF9072344 +:1031B0000F210822FFF7BBF90020F64B98470A3091 +:1031C000C000A021F44B984702B2FFF7D4F91F23A7 +:1031D0003F211F22FFF7E5F91A2337211C22FFF7B1 +:1031E000F3F90020EB4B984728304000A021EA4B30 +:1031F000984702B2FFF709FA07230F210822FFF7C9 +:103200001FFA07230F210822FFF733FA07230F21A4 +:103210000822FFF741FA07230F210822FFF74FFA90 +:103220000020DC4B98470301181A50304023FF332D +:103230000124984201D8FFF767FA0020D54B984740 +:103240000301181A5030A021D34B984784B2FFF7DE +:103250005BFA0020CF4B98470301181A400050300A +:10326000A021CD4B984784B2FFF74EFA0020C94BFE +:10327000984728304000A021C74B984782B2FFF7FB +:1032800050FA0020C34B98470301181A50304023CE +:10329000FF330124984201D8FFF761FA0020BD4BAB +:1032A00098470301181A5030A021BB4B984784B2AD +:1032B000FFF755FA0020B74B98470301181A400052 +:1032C0005030A021B44B984784B2FFF748FA002051 +:1032D000B04B984728304000A021AF4B984782B2AE +:1032E000FFF74AFA0020AB4B98470301181A5030F9 +:1032F0004023FF330124984201D8FFF75BFA0020F6 +:10330000A44B98470301181A5030A021A24B9847AC +:1033100084B2FFF74FFA00209E4B98470301181A1A +:1033200040005030A0219C4B984784B2FFF742FAEE +:103330000020984B984728304000A021964B984792 +:1033400082B2FFF744FA0020924B98470301181A03 +:1033500050304023FF330124984201D8FFF755FA3B +:1033600000208C4B98470301181A5030A0218A4B3B +:10337000984784B2FFF749FA0020864B984703012B +:10338000181A40005030A021834B984784B2FFF7B1 +:103390003CFA00207F4B984728304000A0217E4B0C +:1033A000984782B2FFF73EFA00207A4B9847030114 +:1033B000181A50304023FF330122984201D8FFF7FA +:1033C0004FFA0020734B98470301181A5030A02180 +:1033D000714B984702B2FFF743FA00206D4B9847B4 +:1033E0000301181A40005030A0216B4B984702B2DD +:1033F000FFF736FA1A2335211B22FFF773FA1B2336 +:1034000039211D22FFF781FA062310210922FFF737 +:103410008FFA062310210922FFF79DFA06231021B7 +:103420000922FFF7ABFA062310210922FFF7B9FAA8 +:103430001D233B211D22FFF7CBFA1F233F211F2213 +:10344000FFF7E9FA192333211922FFF708FB0723B5 +:103450000F210822FFF716FB07230F210822FFF791 +:1034600025FB1A2337211C22FFF733FB07230F21EB +:103470000822FFF741FB2A221523FFF762FB0723EF +:103480000F210822FFF770FB2A221523FFF791FB7B +:103490001F233F211F22FFF7B4FB404E7279D20851 +:1034A0004C256A433E4BD3181A02D218D201D218C7 +:1034B000D20D1F210A40B4886405A40E6C43394B19 +:1034C0009C46644423021B19DB011B19DB009B0E85 +:1034D0003479E406E40E6543334CA44665442C027B +:1034E0006419E4016419E40D2140FFF7CBFB1F23AD +:1034F0003F211F22FFF7E9FB3322192330E4222268 +:10350000112348E40020234B984728304000A02195 +:10351000214B984702B253E406231021092265E4A7 +:1035200006231021092273E40623102109229AE4BC +:10353000062310210922A8E4062310210922CFE442 +:10354000062310210922DDE40020124B98470300D6 +:103550008000C018C0005030A0210F4B984702B225 +:1035600001E500200B4B984703008000C018C00005 +:103570005030A021084B984702B208E50020054BC7 +:1035800098470301181A5030A021034B984702B204 +:1035900010E5C04665F60000F17901003C4C0020C2 +:1035A000B1070000C8100000CA0900000020334B1A +:1035B00098470301181A5030A021314B984702B2A6 +:1035C0000BE500202D4B984703008000C0188000B9 +:1035D0005030A0212A4B984702B212E50020274B19 +:1035E000984703008000C01880005030A021244B71 +:1035F000984702B25EE50020204B984783001B18D5 +:10360000DB0050334021FF3101228B4200D851E5CD +:1036100000201A4B984703008000C018C0005030AB +:10362000A021174B984702B244E50020134B98475E +:1036300003008000C01840005030A021104B984774 +:1036400004B254E500200D4B984703008000C018D9 +:10365000800050304023FF330124984200D846E5D3 +:103660000020064B984703008000C01880005030AF +:10367000A021034B984704B239E5C04665F6000027 +:10368000F1790100F0B5C64600B5494C20682430F8 +:10369000484B984720682430474A0121474B9847B8 +:1036A00020682430FF222C21454B98472068243085 +:1036B000444B9B699B0700D56EE008231221092229 +:1036C0004901DB020A431A4329213F4B9847384BF3 +:1036D000186824303B4B9B699B0761D41F233F2113 +:1036E0001F224901DB020A431A437921364DA847BC +:1036F0002F4C20682430334EB2884921A8472068D7 +:103700002430F2883149A8472068243000224C2117 +:103710002B4B98469847206824307F2293218900BC +:10372000C0472068243003224021244FB847206836 +:1037300024309622B021B847206824304C22B7218B +:10374000B847206828301B4B984720682830FF2254 +:103750002C21C04720682830174A0121B84720682B +:103760002830B2882921A84720682830184B1A88A9 +:103770001849A84720682830B3699B0714D41F2331 +:103780003F211F224901DB020A431A4379210E4BD4 +:10379000984704BC9046F0BD1A2335211B228FE7C1 +:1037A0000623102109229CE7082310210922E9E7BA +:1037B000384C002095240100FF7F0000F54C0000EC +:1037C000B54F00003C4C0020554E0000490400005D +:1037D00098CA01002920000010B59A4C206890304A +:1037E000994B984720689030FF222C21974B98479F +:1037F00020689030964B9B699B0700D4BBE0944BAC +:103800009A882921934B98478E4B18689030904B9B +:103810009B699B0700D5B1E01F233F211F2249016F +:10382000DB020A431A4379218A4B9847854C20686A +:103830009030894A0121894B9847246890340020B0 +:10384000874B9847C300181A50304023FF3301229A +:10385000984200D996E012212000804B9847794B7E +:103860001C68903400207E4B9847C300181A5030D3 +:103870004023FF330122984200D98EE0132120001B +:10388000764B98476F4B1C6890340020744B9847D8 +:10389000C300181A50304023FF330122984200D948 +:1038A00086E0102120006D4B9847664B1C689034D1 +:1038B00000206B4B9847C300181A50304023FF3349 +:1038C0000122984200D97EE011212000634B9847E5 +:1038D0005C4C206894305C4B9847246894340020FA +:1038E0005F4B984783001B185B0050334021FF312A +:1038F00001228B4200D971E017212000574B9847D5 +:10390000504B1C6894340020554B984783001B187B +:103910005B0050334021FF3101228B4200D96AE025 +:10392000182120004D4B9847464B1C6894340020CA +:103930004B4B984783001B185B0050334021FF31ED +:1039400001228B4264D815212000444B98473D4BFF +:103950001C6894340020424B984783001B185B007E +:1039600050334021FF3101228B425ED816212000C6 +:103970003A4B984710BD3B4B1A8842E7062310216B +:1039800009224CE70020364B9847C300181A5030E4 +:10399000A021354B984702B25DE70020304B984795 +:1039A000C300181A5030A0212F4B984702B265E788 +:1039B00000202B4B9847C300181A5030A0212A4BE7 +:1039C000984702B26DE70020254B9847C300181AAC +:1039D0005030A021244B984702B275E70020204BBD +:1039E000984703008000C01840005030A0211E4BB3 +:1039F000984702B280E70020194B984703008000E7 +:103A0000C01840005030A021174B984702B287E7FA +:103A10000020134B984703008000C018400050302E +:103A2000A021114B984702B28DE700200C4B98471C +:103A300003008000C01840005030A0210A4B984776 +:103A400002B293E7384C002095240100B54F0000E6 +:103A50003C4C0020554E0000FF7F0000F54C00005C +:103A600065F600009CCA0100F179010010B5464CD2 +:103A700020689C30454B984720689C30FF222C21C1 +:103A8000434B984720689C30424B1A882921424B6F +:103A9000984720689C30414A0121414B984724684F +:103AA0009C3400203F4B9847143080004023FF3364 +:103AB00098423CD80122524210212000384B9847AE +:103AC000314B1C689C340020364B984714308000E2 +:103AD0004023FF33984235D8012252421121200061 +:103AE0002F4B9847284B1C689C3400202D4B98473F +:103AF000143080004023FF3398422ED801225242D6 +:103B000012212000264B98471F4B1C689C34002034 +:103B1000244B9847143080004023FF33984227D825 +:103B200001225242132120001D4B984710BD002056 +:103B30001C4B984714308000A0211B4B98474242F1 +:103B400012B2B9E70020174B984714308000A0212B +:103B5000154B9847424212B2C0E70020114B9847DC +:103B600014308000A021104B9847424212B2C7E7A0 +:103B700000200C4B984714308000A0210A4B984736 +:103B8000424212B2CEE7C046384C002095240100D4 +:103B9000B54F00009CCA0100554E0000FF7F000099 +:103BA000F54C000065F60000F179010070B57F4C1E +:103BB000206870307E4B9847206870307D4A012124 +:103BC0007D4B98472468703400207C4B98478300D5 +:103BD0001B189B0050334021FF3101228B4200D93A +:103BE0008CE012212000744B9847704B1C68703495 +:103BF0000020724B984783001B189B0050334021D4 +:103C0000FF3101228B4200D985E0132120006A4B4D +:103C10009847664B1C6870340020684B98478300B7 +:103C20001B189B0050334021FF3101228B4200D9E9 +:103C30007EE010212000604B98475C4B1C6870347C +:103C400000205E4B984703011B1A5B005033402154 +:103C5000FF3101228B4200D977E014212000564B1E +:103C60009847524B1C6870340020544B984783008F +:103C700018188300C01850304023FF3301229842A7 +:103C800000D96EE0C02120004B4B9847474C20687C +:103C900070304B4EB28899214A4DA8472068703049 +:103CA000B288C921A84720687030474B1A88CA21BA +:103CB000A847246870340020404B984783001B18A5 +:103CC0005B0050334021FF3101228B4256D89021B6 +:103CD0002000394B9847354B1C6870340020374B17 +:103CE0009847C300181A50304023FF3301229842EE +:103CF00051D8C3212000304B984770BD00202F4B76 +:103D0000984703008000C01880005030A0212F4B3E +:103D1000984702B265E70020284B984703008000CF +:103D2000C01880005030A021284B984702B26CE7A1 +:103D30000020224B984703008000C01880005030BC +:103D4000A021224B984702B273E700201B4B9847F3 +:103D50000301181A40005030A0211C4B984702B2B2 +:103D60007BE70020154B9847830018188300C01884 +:103D70005030A021154B984702B283E700200F4B2B +:103D8000984703008000C01840005030A0210F4B1E +:103D9000984702B29BE70020084B9847C300181AC7 +:103DA0005030A021094B984702B2A2E7384C0020BE +:103DB00095240100FF7F0000F54C000065F600002F +:103DC0003C4C0020554E000098CA0100F1790100DA +:103DD000F0B5C64600B5E34D28685C30E24B984725 +:103DE00028685C3011278824E40022003A435205F9 +:103DF000520DDE4E32439921DD4B98469847286894 +:103E00005C3022003A435205520D3243C921C0476B +:103E100028685C30D74B9A88CA21C0472C685C342C +:103E20000020D54B98478300181850304023FF33AB +:103E30000122984200D95BE190212000CF4B9847A6 +:103E4000C84B1C685C340020CB4B98471430800072 +:103E50004023FF330122984200D955E1C3212000BD +:103E6000C64B9847BF4B1C685C340020C24B984738 +:103E70000A30C0004023FF330122984200D94DE1AF +:103E8000C2212000BD4B9847B64B1C685C34002013 +:103E9000B94B984783001B189B0050334021FF31DA +:103EA00001228B4200D943E112212000B34B9847F5 +:103EB000AC4B1C685C340020AF4B984783001B1848 +:103EC0009B0050334021FF3101228B4200D93CE15D +:103ED00013212000A94B9847A24B1C685C3400209A +:103EE000A54B984783001B189B0050334021FF319E +:103EF00001228B4200D949E1102120009F4B9847B5 +:103F0000984B1C685C3400209B4B984783001B181F +:103F10009B0050334021FF3101228B4200D942E106 +:103F200014212000954B98478E4B1C685C34002070 +:103F3000914B98470301181A50304023FF33012258 +:103F4000984200D93CE1C02120008C4CA047854D0F +:103F500028685C308A4A0121A04728686030824B7B +:103F600098472868603011278824E40022003A43EB +:103F70005205520D7D4E324399217D4B984698470C +:103F80002868603022003A435205520D3243C9215D +:103F9000C04728686030774B9A88CA21C0472C6890 +:103FA00060340020744B98470A30C0004023FF3330 +:103FB0000122984200D90EE1902120006F4B9847D2 +:103FC000684B1C68603400206B4B98470A30C00077 +:103FD0004023FF330122984200D906E1C32120008B +:103FE000664B98475F4B1C6860340020624B9847D3 +:103FF000830018188300C01850304023FF3301227B +:10400000984200D9FBE0C02120005C4B9847554CFA +:1040100020686430544B984720686430554B9B6946 +:104020009B0700D5F8E01F233F211F224901DB0237 +:104030000A431A4399214E4B98474A4B1C686434F3 +:1040400000204D4B98470A30C0004023FF33012227 +:10405000984200D9E4E090212000484B9847414C19 +:1040600020686430FF222C21464B9847206864303A +:10407000404B9B699B0700D5DCE01F233F211F229B +:104080004901DB020A431A432921394B9847354C31 +:10409000206864303A4A0121384B984724686434D8 +:1040A0000020354B984703011B1A5B005033402119 +:1040B000FF3101228B4200D9C0E0032120002F4BA9 +:1040C0009847284B1C68643400202B4B984783008A +:1040D0001B185B0050334021FF3101228B4200D975 +:1040E000B8E014212000254B984704BC9046F0BD51 +:1040F0000020214B984703008000C0185030A021B9 +:10410000214B984702B297E600201B4B984714308A +:104110008000A0211C4B984702B29FE60020164B5E +:1041200098470A30C000A021174B984702B2A7E673 +:104130000020114B984703008000C01880005030C9 +:10414000A021114B984702B2AEE600200A4B9847D7 +:1041500003008000C01880005030A0210A4B98470F +:1041600002B2B5E6384C0020952401000088FFFF1C +:10417000554E00003C4C002065F60000F54C000058 +:10418000FF7F0000B54F0000F17901000020384B9F +:10419000984703008000C01880005030A021354BA4 +:1041A000984702B2A8E60020314B984703008000F0 +:1041B000C01880005030A0212E4B984702B2AFE6C5 +:1041C00000202B4B98470301181A5030A021294B8F +:1041D000984702B2B7E60020254B98470A30C00046 +:1041E000A021244B984702B2E6E60020204B9847D6 +:1041F0000A30C000A0211F4B984702B2EEE6002013 +:104200001B4B9847830018188300C0185030A0211A +:10421000184B984702B2F6E6082312210B2205E755 +:104220000020134B98470A30C000A021114B98473B +:1042300002B210E7082312210B2221E700200C4BC9 +:1042400098470301181A40005030A021094B9847A5 +:1042500002B232E70020064B984703008000C018E6 +:1042600040005030A021034B984702B239E7C046C6 +:1042700065F60000F179010070B5394C20681C30FA +:10428000384B984720681C30374B9A889921374B18 +:10429000984724681C340020354B98478300181831 +:1042A0008300C01850304023FF330122984238D891 +:1042B000902120002F4DA847294C20681C30012256 +:1042C0009421A84720682030264B9847206820304A +:1042D000254B9B699B0731D40823122109224901F0 +:1042E000DB020A431A439921204B98471C4B1C6858 +:1042F000203400201E4B9847830018188300C018F4 +:1043000050304023FF33012298421BD890212000D7 +:10431000184CA047124B1868203001229421A04766 +:1043200070BD0020124B9847830018188300C018F6 +:104330005030A021104B984702B2B9E71A2335211B +:104340001B22CCE700200A4B9847830018188300F3 +:10435000C0185030A021084B984702B2D6E7C0469B +:10436000384C0020952401003C4C0020554E0000A4 +:1043700065F60000F54C0000F1790100F0B5C64685 +:1043800000B5394C20686C30384B984720686C3049 +:10439000FF222C21364DA84720686C30354B9846BB +:1043A0009A882921344FB84720686C300222302186 +:1043B000324EB04720686C307F223C21A8472568E8 +:1043C0006C35434698884C212D4B9847021C392167 +:1043D0002800B84720686C302A4A0121B047246879 +:1043E0006C340020284B98470301181A50304023A2 +:1043F000FF33012298421FD8502120001F4B9847BD +:10440000194C20686C301B4B9A8859211A4B9847DD +:1044100024686C3400201C4B9847830018185030D7 +:104420004023FF330122984211D853212000134B1F +:10443000984704BC9046F0BD0020134B98470301F9 +:10444000181A5030A021114B984702B2D4E700202F +:104450000D4B984703008000C0185030A0210B4B33 +:10446000984702B2E1E7C046384C0020952401008D +:10447000B54F00003C4C0020554E0000F54C0000AC +:1044800089020100FF7F000065F60000F17901005C +:10449000F0B5C64600B580460F1C15001E00FE4B49 +:1044A0001B78002B01D101F09EFBFC4C4346A380FE +:1044B000E780A660069BE360079B2361089B63611E +:1044C000A561F74B9847F74B9847F74B9847F74B41 +:1044D0009847F74B9847F74B9847F74B9847F74B58 +:1044E0009847F74D28684030F64B98472868403089 +:1044F000A3699B0701D501F07FFB14232B21172211 +:104500004901DB020A431A43EF49F04B9847EC4C50 +:1045100020684430EB4B9847246844340020EC4B2F +:10452000984750304023FF330122984201D901F0CF +:1045300068FB90212000E74B9847E14B1C6844340E +:104540000020E34B984783001B185B005033402149 +:10455000FF3101228B4201D901F05DFB9221200045 +:10456000DC4B9847D64B1C6844340020D84B984706 +:1045700083001B185B0050334021FF3101228B4226 +:1045800001D901F056FB93212000D24B9847CC4B28 +:1045900018684430C14B9B699B0701D501F057FB5C +:1045A0001023222112224901DB020A431A439921D6 +:1045B000C64B9847C24C20684830C24B9847246885 +:1045C00048340020C24B984743001818503040230D +:1045D000FF330122984201D901F03EFB90212000D7 +:1045E000BC4B9847B64B1C6848340020B84B9847E2 +:1045F000143080004023FF330122984201D901F09A +:1046000038FB03212000B34B9847AD4B1C6848345E +:104610000020AF4B9847283040004023FF33012251 +:10462000984201D901F030FB14212000A94B984792 +:10463000A34B1C6848340020A54B984750304023BA +:10464000FF330122984201D901F029FB012120000A +:10465000A04B98479A4C206830309A4B9847246872 +:10466000303400209C4B9847012801D801F021FBF1 +:104670000020974B984703011B1A5B0050334021E1 +:10468000FF3101228B4201D901F02CFB10212000C7 +:10469000904B98478A4B1C68303400208E4B9847CB +:1046A000012801D801F02BFB0020894B984703011A +:1046B0001B1A5B0050334021FF3101228B4201D98C +:1046C00001F036FB12212000824B98477C4B1C687E +:1046D00030340020804B9847012801D801F035FB89 +:1046E00000207B4B984703011B1A5B00503340218D +:1046F000FF3101228B4201D901F040FB1321200040 +:10470000744B98476E4B1C6830340020724B9847AE +:10471000012801D801F03FFB00206D4B98470301B1 +:104720001B1A5B0050334021FF3101228B4201D91B +:1047300001F064FB11212000664B9847604B18681C +:104740003030564B9B699B0701D501F064FB3F223B +:104750001F235201D9021A430A4360495B4B984711 +:10476000574C20683430574B9847206834304B4BB7 +:104770009B699B0701D501F052FB1D233B211D22A4 +:104780004901DB020A431A434F49504B98474C4BAF +:104790001C6834340020504B9847012801D801F0A0 +:1047A00043FB00204A4B984703011B1A5B00503320 +:1047B0004021FF3101228B4201D901F04EFB122131 +:1047C0002000444B98473E4B1C6834340020424B39 +:1047D0009847012801D801F04DFB00203C4B984739 +:1047E00003011B1A5B0050334021FF3101228B4231 +:1047F00001D901F058FB13212000364B9847304B6C +:104800001C6834340020344B9847012801D801F04B +:1048100057FB00202E4B984703011B1A5B005033B7 +:104820004021FF3101228B4201D901F062FB1121AD +:104830002000284B9847224C20682C30214B984769 +:1048400024682C340020224B9847143080004023E9 +:10485000FF330122984201D901F058FB01212000C9 +:104860001C4B9847164B18682C300C4B9B699B07C8 +:1048700001D501F056FB1F233F211F224901DB0216 +:104880000A431A431649114B98470D4B18682C30B0 +:10489000024B9B69332225E0344C00203C4C002025 +:1048A000B9240100853601007D430100D93701009C +:1048B0006D3A0100AD3B0100D13D0100794201009C +:1048C000384C00209524010089800000554E0000DE +:1048D00065F60000F54C000081F6000089900000AC +:1048E000898100009B0700D4333296214900FA4D9C +:1048F000A847FA4C20682C303322F949A847206891 +:104900002C30FF228B218900A84720682C30F54BE2 +:104910001A88F549F54EB04720682C30F44DAA8826 +:10492000F449B04720682C30AB699B0701D501F0F2 +:10493000FDFA3F221F235201D9021A430A432921BB +:10494000EA4EB047E54C20682C30E94FBA882A215E +:10495000FF31B04720682C30022298214900E64DF3 +:10496000A84720682C3004223221FF31A847206854 +:104970002C30BA883A21FF31B04724682C3400200B +:10498000DE4B98474300181850304023FF33012274 +:10499000984201D901F0CEFA14212000D64B984755 +:1049A000CE4B1C682C340020D54B9847012801D8E9 +:1049B00001F0CDFA0020D14B984703011B1A5B0090 +:1049C00050334021FF3101228B4201D901F0D8FA46 +:1049D00012212000C84B9847C04B1C682C34002083 +:1049E000C74B9847012801D801F0D7FA0020C34BE4 +:1049F000984703011B1A5B0050334021FF3101220D +:104A00008B4201D901F0E2FA13212000BA4B9847FA +:104A1000B24B1C682C340020B94B9847012801D8B0 +:104A200001F0E1FA0020B54B984703011B1A5B0027 +:104A300050334021FF3101228B4201D901F0ECFAC1 +:104A400011212000AC4B9847A44C20683830AD4B66 +:104A50009847246838340020A84B984703011B1A54 +:104A60005B0050334021FF3101228B4201D901F01C +:104A7000E0FAC0212000A04B9847984C20683830BD +:104A8000FF222C21944B984720683830984B9B6923 +:104A90009B0701D501F0DAFA082312210B22490104 +:104AA000DB020A431A432921904B98478B4B1C6821 +:104AB00038340020914B984783001B189B005033DB +:104AC0004021FF3101228B4201D901F0C4FA1421A7 +:104AD0002000894EB0478C4D804C206838302A0029 +:104AE0000121B04720683C30864B984720683C3015 +:104AF0002A000121B04720683C307A4F3A882921AA +:104B00007A4DA84720683C30FF222C21724B9847F1 +:104B100020683C3002223021B04720683C30BA88FF +:104B20003921A84720683C30714EB2887749A847A0 +:104B300020683C30F2887649A84724683C3400203D +:104B40006E4B984703004000C0188000C0185030DA +:104B50004023FF330122984201D901F08AFA122141 +:104B60002000654B98475D4B1C683C340020634B2C +:104B7000984703004000C0188000C0185030402300 +:104B8000FF330122984201D901F082FA132120005B +:104B9000594B9847514B1C683C340020574B984761 +:104BA00003004000C0188000C01850304023FF337D +:104BB0000122984201D901F07AFA102120004E4BCF +:104BC0009847464B1C683C3400204C4B98470300E8 +:104BD0004000C0188000C01850304023FF3301222D +:104BE000984201D901F072FA11212000424B9847F6 +:104BF0003A4C20684C30434B984724684C34002092 +:104C00003E4B9847143080004023FF3301229842E6 +:104C100001D901F06AFA01212000374B98472F4B48 +:104C20001C684C340020354B984783001B185B00F0 +:104C300050334021FF3101228B4201D901F060FA4B +:104C4000142120002C4B9847244C20684C30284BD2 +:104C50009A884921254B984720684C3000224C21E6 +:104C60001D4DA84720684C307F2293218900A8471A +:104C700024684C340020214B9847430018185030CA +:104C80004023FF330122984201D901F047FA402125 +:104C90002000194B9847114B1C684C340020174BCF +:104CA000984783001B185B0050334021FF310122DD +:104CB0008B4201D901F03FFA412120000E4DA84757 +:104CC000064C20684C309622B021A84720684C3012 +:104CD0004C22B7211EE0C046B54F0000384C0020E2 +:104CE0002C1000009CCA010089820000554E000073 +:104CF0003C4C002029020000F54C000065F6000045 +:104D000081F6000095240100FF7F000039020000B9 +:104D100039040000A84720685030FD4B98472068B0 +:104D20005030002293218900FA4B98472468503470 +:104D30000020F94B9847143080004023FF330122B4 +:104D4000984201D901F005FA01212000F34B984760 +:104D5000F34C20685030F34AB7214900F24DA84780 +:104D600020685030F14B1A886A21FF31F04B984788 +:104D7000F04B9A6820685030EF49A84724685034B7 +:104D80000020E54B98474300181850304023FF336C +:104D90000122984201D901F0E7F912212000DF4BEE +:104DA0009847DF4B1C6850340020DB4B984743008A +:104DB000181850304023FF330122984201D901F0E6 +:104DC000E0F913212000D54B9847D54B1C6850348F +:104DD0000020D14B98474300181850304023FF3330 +:104DE0000122984201D901F0D9F910212000CB4BC2 +:104DF0009847CB4B1C6850340020C74B9847430062 +:104E0000181850304023FF330122984201D901F095 +:104E1000D2F911212000C14DA847C14C206868304B +:104E2000BB4B98472068683000220121A8472468BE +:104E300068340020B84B9847143080004023FF337B +:104E40000122984201D901F0C3F930212000B34D6D +:104E5000A847B34C2068683002223121A847206857 +:104E60006830B44B9B699B0701D501F0BCF9002366 +:104E7000002100224901DB020A431A433921AC4DCB +:104E8000A847A74C20686830AA4BDA88AB49A847E6 +:104E9000246868340020A04B9847830018185030CD +:104EA0004023FF330122984201D901F0A5F91221D4 +:104EB00020009A4B98479A4B1C6868340020964B08 +:104EC00098478300181850304023FF33012298423E +:104ED00001D901F09EF913212000904B9847904B87 +:104EE0001C68683400208C4B984783001818503099 +:104EF0004023FF330122984201D901F097F9102194 +:104F00002000864B9847864B1C6868340020824BF3 +:104F100098478300181850304023FF3301229842ED +:104F200001D901F090F9112120007C4B98477C4B6E +:104F30001C6868340020784B98474300181850309C +:104F40004023FF330122984201D901F089F914214D +:104F50002000724B9847724C20687C306C4B98470D +:104F600024687C3400206C4B9847322358435030DF +:104F70004023FF330122984201D901F07EF95021EC +:104F80002000664B9847664B18687C30694B9B69DC +:104F90009B0701D401F07EF9302218235201D90277 +:104FA0001A430A435921624B98475D4C2068803070 +:104FB000574B984720688030FF222C21554B98474B +:104FC000206880305B4B9B699B0701D501F066F937 +:104FD0000E231F2110224901DB020A431A43292113 +:104FE000534B98474E4C20688030554A01214B4B1B +:104FF0009847246880340020474B9847C300181A0C +:1050000050304023FF330122984201D901F04BF97F +:1050100003212000414B9847414B1C6880340020FD +:105020003D4B9847C300181A50304023FF330122EC +:10503000984201D901F043F913212000374B9847DA +:10504000374B1C6880340020334B9847C300181A34 +:1050500050304023FF330122984201D901F03BF93F +:10506000112120002D4B98472D4C20688430284D6D +:10507000A84720688430FF222C21264B98472068BF +:105080008430304B1A882921294B98472068B43046 +:10509000A8472068B430274B9B699B0701D501F0D6 +:1050A00026F914232A2115224901DB020A431A4357 +:1050B00039211F4B98471A4B1C68B4340020164BFB +:1050C0009847283040004023FF330122984201D9FD +:1050D00001F012F930212000104B9847104B1C684A +:1050E000B43400200C4B984750304023FF3301224A +:1050F000984201D901F00BF912212000074DA84771 +:10510000074C2068B43004223121A8471CE0C04677 +:1051100095240100B54F000065F60000F54C000035 +:10512000384C0020A4CA0100095100009CCA0100AB +:10513000554E00003C4C00208E81000039040000D8 +:10514000FF7F000098CA01002068B830FB4B9847E9 +:105150002068B830FA4B9B699B0701D501F0E1F854 +:1051600014232B2117224901DB020A431A43F54E6F +:105170003100F54DA847F54C20689830EF4B984723 +:1051800020689830FF222C21F14B984720689830F6 +:10519000EB4B9A882921A84720689830ED4B1A8854 +:1051A0003100A847246898340020EB4B98476423CB +:1051B000584350304023FF330122984201D901F077 +:1051C000B5F810212000E54B9847E04B1C68983457 +:1051D0000020E14B98476423584350304023FF336D +:1051E0000122984201D901F0AEF811212000DB4DD7 +:1051F000A847D64C20687430D04EB0472068743031 +:1052000001220221A8472068743000221221A847F9 +:105210002068743000221321A847206874300022CF +:105220001021A8472068743000221121A847206867 +:10523000743000221421A84720687830B0472068D5 +:105240007830FF222C21C24B984720687830BC4B25 +:105250009B699B0701D501F083F80B2318210E22CF +:105260004901DB020A431A432921B74B9847B74B40 +:1052700018687830B24B9B699B0701D501F075F82F +:10528000092313210A224901DB020A431A43B449C4 +:10529000AD4B9847AD4B18687830A94B9B699B077D +:1052A00001D501F067F80B2318210E224901DB021A +:1052B0000A431A43AB49A44EB047A44D286878303E +:1052C0009F4CA2882A21FF31B0472F687837A088E9 +:1052D0003321A54B9847021CA4493800B0472868E1 +:1052E0007830A3699B0701D501F049F81F233F21BE +:1052F0001F224901DB020A431A439249924DA847F3 +:10530000924C20687830012252429949A84720687F +:1053100078308B4B9B699B0701D501F035F826222D +:1053200013235201D9021A430A439249864B9847E4 +:10533000864B18687830824B9B699B0701D501F03A +:1053400027F81F233F211F224901DB020A431A438A +:1053500089497D4DA8477D4C206878300122524212 +:105360008649A84720687830754B9B699B0701D513 +:1053700001F013F8262213235201D9021A430A43DB +:105380007F49714B9847714C206878300122312158 +:10539000724B984720687830694B9B699B0701D511 +:1053A00000F0FFFF1023222112224901DB020A43F1 +:1053B0001A433921644DA847644C20687830604B0B +:1053C0009A887049A8472068783001223021634BC1 +:1053D00098472468783400206B4B9847012801D8FF +:1053E00000F0E4FF00205C4B984703011B1A5B00B0 +:1053F00050334021FF3101228B4201D900F0EFFFF1 +:1054000012212000554B9847504B1C6878340020DF +:105410005D4B9847012801D800F0EEFF00204E4B6D +:10542000984703011B1A5B0050334021FF310122D2 +:105430008B4201D900F0F9FF13212000474B984718 +:10544000424B1C68783400204F4B9847012801D804 +:1054500000F0F8FF0020404B984703011B1A5B0047 +:1054600050334021FF3101228B4201D901F003F872 +:1054700010212000394B9847344B1C6878340020A9 +:10548000414B9847012801D801F002F80020324B27 +:10549000984703011B1A5B0050334021FF31012262 +:1054A0008B4201D901F00DF8112120002B4B9847B8 +:1054B000264B1C6878340020334B9847012801D8CC +:1054C00001F00CF80020244B984703011B1A5B00E5 +:1054D00050334021FF3101228B4201D901F017F8EE +:1054E000142120001D4B9847184B1C68783400206D +:1054F000254B9847012801D801F016F80020164BDB +:1055000098470301181A400050304023FF33984257 +:1055100001D901F024F801225242042120000F4D4C +:10552000A8470A4C2068783000221849A84720680C +:105530007830002282214900A84729E09524010003 +:105540003C4C002089800000554E0000384C002063 +:10555000B54F00009CCA010065F60000F54C000044 +:105560002910000029200000DD020100291100009F +:105570008981000089A00000A9800000A9810000A5 +:10558000A9A000003902000081F60000041000000C +:10559000206878300022FA49A8472068783096229F +:1055A000B021A847206878302922B721A847206871 +:1055B00078300422B621A84720685430F14B984730 +:1055C000246854340020F04B984783001B189B003C +:1055D00050334021FF3101228B4201D900F0CDFF31 +:1055E000EA492000EA4DA847EA4C206854300122DD +:1055F0000221A84720685830E24B9847206858306D +:10560000FF222C21E44B984720685830E34DAA88AC +:105610002921E34EB0472068583001225242E14927 +:10562000B04720685830AB699B0701D500F0B3FF45 +:10563000092313210A224901DB020A431A43DA49EA +:10564000D74B9847D34B18685830D44B9B699B076E +:1056500001D500F0A5FF1F233F211F224901DB02D6 +:105660000A431A43D149CE4B9847CA4C2068883028 +:10567000C44B9847246888340020C34B9847830064 +:1056800018188300C01850304023FF33012298427D +:1056900001D900F08AFFBD492000BD4B9847BD4CA1 +:1056A00020688C30B74FB84720688C30FF222C21FF +:1056B000B94EB04720688C30B84DAA882921B84B24 +:1056C0009846984720688C30B94B1A88B549C0472E +:1056D0002068A830B8472068A830FF222C21B047A6 +:1056E0002068A830AB699B0701D500F06CFF0B2345 +:1056F00018210E224901DB020A431A432921A84B33 +:105700009847A44B1868A830A44B9B699B0701D508 +:1057100000F05EFF07230F2108224901DB020A4344 +:105720001A4339219E4B98479A4B1C68A834002095 +:10573000954B98478300181850304023FF330122BF +:10574000984201D900F04EFF30212000904DA8472B +:10575000904C2068A83001223121A8472068A83049 +:105760008E4B9B699B0701D500F049FF1C233A2112 +:105770001D224901DB020A431A438A49884DA84782 +:10578000864BDA68834C2068A8308A498A4B984750 +:105790002068A830894B1A888949A8472468A8340A +:1057A0000020794B9847C300181A50304023FF332C +:1057B0000122984201D900F027FF10212000744BEC +:1057C0009847744B1C68A83400206F4B9847C3005F +:1057D000181A50304023FF330122984201D900F0BB +:1057E0001FFF122120006A4B98476A4B1C68A8349F +:1057F0000020654B9847C300181A50304023FF33F0 +:105800000122984201D900F017FF13212000604BBC +:105810009847604C2068A4305A4B98472068A430C1 +:105820007F2268495C4B98472068A430664B1A88F1 +:105830005D495B4B98472068A430584B9B699B0798 +:1058400001D500F005FF1C233A211D224901DB028E +:105850000A431A435D49524B98474E4B1C68A43487 +:105860000020494B984783001B189B005033402170 +:10587000FF3101228B4201D900F0EFFE1021200000 +:10588000434B9847434B1C68A43400203E4B984739 +:1058900083001B189B0050334021FF3101228B42B3 +:1058A00001D900F0E8FE11212000394B9847394C0E +:1058B0002068A430394EB2884549394DA847206840 +:1058C000A430F2884349A8472068AC302D4B984754 +:1058D0002068AC30FF222C212F4B98472068AC3039 +:1058E000B2882921A8472068AC30F2883A49A847F5 +:1058F0002468AC340020244B98478300181850309B +:105900004023FF330122984201D900F0C2FE032157 +:1059100020001F4DA8471F4C2068AC302F4A0121A2 +:10592000A8472068B030174B98472468B03400204F +:105930002B4B9847012801D800F0B8FE0020124BED +:10594000984703011B1A5B0050334021FF310122AD +:105950008B4201D900F0C3FE102120000C4B984768 +:105960000C4B1C68B03400201D4B9847012801D80F +:1059700000F0C2FE0020044B9847030132E0C0460D +:10598000042000009524010065F6000081800000DD +:10599000F54C0000384C0020B54F00003C4C002076 +:1059A000554E0000898000002910000089900000F9 +:1059B0009CCA01008E800000095100009ACA0100B3 +:1059C000A98000002C10000098CA01008981000005 +:1059D000898200008984000029040000FF7F000004 +:1059E00081F600001B1A5B0050334021FF31012279 +:1059F0008B4201D900F099FE11212000F24B98470B +:105A0000F24B1C68B0340020F14B9847012801D8B4 +:105A100000F098FE0020EF4B984703011B1A5B0033 +:105A200050334021FF3101228B4201D900F0A3FE07 +:105A300012212000E44B9847E44B1C68B03400204E +:105A4000E34B9847012801D800F0A2FE0020E14B6B +:105A5000984703011B1A5B0050334021FF3101229C +:105A60008B4201D900F0ADFE13212000D64B9847A0 +:105A7000D64B1C68B0340020D54B9847012801D87C +:105A800000F0ACFE0020D34B984703011B1A5B00CB +:105A900050334021FF3101228B4201D900F0B7FE83 +:105AA00014212000C84B9847C84C2068A030CA4B2E +:105AB00098472068A030C94B9B699B0701D500F02F +:105AC000B3FE1023222112224901DB020A431A43AA +:105AD0003921C34B9847BD4C2068A03001223021AA +:105AE000B94DA8472068A03003223121A847246877 +:105AF000A0340020B64B9847012801D800F099FE49 +:105B00000020B44B984703011B1A5B00503340211F +:105B1000FF3101228B4201D900F0A4FE12212000A6 +:105B2000A94B9847A94B1C68A0340020A84B984764 +:105B3000012801D800F0A3FE0020A64B98470301DE +:105B40001B1A5B0050334021FF3101228B4201D9E7 +:105B500000F0AEFE132120009B4B98479B4B1C6826 +:105B6000A03400209A4B9847012801D800F0ADFEE0 +:105B70000020984B984703011B1A5B0050334021CB +:105B8000FF3101228B4201D900F0B8FE1021200024 +:105B90008D4B98478D4B1C68A03400208C4B984748 +:105BA000012801D800F0B7FE00208A4B9847030176 +:105BB0001B1A5B0050334021FF3101228B4201D977 +:105BC00000F0C2FE112120007F4B9847834C854B8B +:105BD00023600122844B1A700020844B98472000D8 +:105BE00004BC9046F0BDBC20814B9847814B1860A7 +:105BF000764B1860FEF759FC15232A211522FEF773 +:105C00007FFC0020734B98475030A0217A4B984777 +:105C100002B2FEF78EFC00206E4B98470300800016 +:105C2000C01840005030A021734B984702B2FEF7D5 +:105C300095FC0020674B984703008000C018400087 +:105C40005030A0216C4B984702B2FEF79CFC1A23FF +:105C500037211C22FEF7A7FC00205E4B984703006B +:105C60004000C0185030A021634B984702B2FEF7A5 +:105C7000B5FC0020574B984714308000A0215E4BA4 +:105C8000984702B2FEF7BDFC0020524B98472830DF +:105C90004000A021584B984702B2FEF7C5FC0020F7 +:105CA0004C4B98475030A021534B984702B2FEF717 +:105CB000CDFC0020474B98470301181A5030402371 +:105CC000FF330122984201D8FEF7E0FC0020414B4F +:105CD00098470301181A5030A021474B984702B249 +:105CE000FEF7D4FC00203B4B98470301181A4000F4 +:105CF0005030A021404B984702B2FEF7C7FC00206D +:105D0000344B98470301181A50304023FF330122C7 +:105D1000984201D8FEF7D6FC00202E4B984703018D +:105D2000181A5030A021344B984702B2FEF7CAFC33 +:105D30000020284B98470301181A40005030A0213A +:105D40002D4B984702B2FEF7BDFC0020214B98472F +:105D50000301181A50304023FF330122984201D822 +:105D6000FEF7CCFC00201B4B98470301181A50305B +:105D7000A021214B984702B2FEF7C0FC0020154B32 +:105D800098470301181A40005030A0211A4B984739 +:105D900002B2FEF7B3FC00200E4B98470301181A1D +:105DA00050304023FF330122984201D8FEF7C2FC55 +:105DB0000020084B98470301181A5030A0210E4BC1 +:105DC000984702B2FEF7B6FCF54C0000384C0020B4 +:105DD00081F6000065F60000952401003C4C00208F +:105DE000554E0000791C0100344C0020352700007E +:105DF000710A0100744D0020F17901000020FC4B74 +:105E000098470301181A40005030A021F94B9847D9 +:105E100002B2FEF78FFC22221123FEF79AFC062322 +:105E200010210922FEF7ACFC0020F14B984703013A +:105E3000181A50304023FF330122984201D8FEF750 +:105E4000BEFC0020EA4B98470301181A5030A021ED +:105E5000E84B984702B2FEF7B2FC0020E44B9847AB +:105E60000301181A40005030A021E24B984702B2BB +:105E7000FEF7A5FC0020DE4B98470301181A5030AE +:105E80004023FF330122984201D8FEF7B4FC0020E2 +:105E9000D74B98470301181A5030A021D54B98478B +:105EA00002B2FEF7A8FC0020D14B98470301181A54 +:105EB00040005030A021CF4B984702B2FEF79BFC28 +:105EC0000020CB4B98470301181A50304023FF3372 +:105ED0000122984201D8FEF7AAFC0020C44B984743 +:105EE0000301181A5030A021C24B984702B2FEF7A6 +:105EF0009EFC0020BE4B98470301181A400050300A +:105F0000A021BC4B984702B2FEF791FC0020B84B91 +:105F1000984714308000A021B64B984702B2FEF794 +:105F20009DFC062310210922FEF7A8FC19220C2350 +:105F3000FEF701FD0020AE4B984703004000C0185B +:105F40005030A021AB4B984702B2FEF725FD002050 +:105F5000A74B98470301181A50304023FF33012202 +:105F6000984201D8FEF734FD0020A14B9847030169 +:105F7000181A5030A0219F4B984702B2FEF728FD17 +:105F800000209B4B98470301181A40005030A02175 +:105F9000984B984702B2FEF71BFD0020944B9847A0 +:105FA0000301181A50304023FF330122984201D8D0 +:105FB000FEF72AFD00208E4B98470301181A503037 +:105FC000A0218C4B984702B2FEF71EFD0020884BA3 +:105FD00098470301181A40005030A021854B98477C +:105FE00002B2FEF711FD0020814B98470301181AF9 +:105FF00050304023FF330122984201D8FEF720FDA4 +:1060000000207B4B98470301181A5030A021794B90 +:10601000984702B2FEF714FD0020754B9847030124 +:10602000181A40005030A021724B984702B2FEF778 +:1060300007FD00206E4B98470301181A40005030AE +:10604000A0216C4B984702B2FEF713FD1D233B21A4 +:106050001E22FEF724FD0020654B984703008000B8 +:10606000C01880005030A021624B984702B2FEF762 +:106070002EFD00205E4B984703004000C0188000B2 +:10608000C0185030A0215B4B984702B2FEF767FD65 +:106090000020574B984703004000C0188000C018EC +:1060A0005030A021534B984702B2FEF76FFD0020FD +:1060B0004F4B984703004000C0188000C018503074 +:1060C000A0214C4B984702B2FEF777FD0020484BC9 +:1060D000984703004000C0188000C0185030A0212D +:1060E000444B984702B2FEF77FFD0020404B984793 +:1060F00014308000A0213F4B984702B2FEF78BFD81 +:1061000000203B4B984703008000C01840005030EF +:10611000A021384B984702B2FEF792FD0020344B85 +:10612000984703004000C0185030A021314B9847D9 +:1061300002B2FEF7ACFD00202D4B98470300800013 +:10614000C01840005030A0212A4B984702B2FEF7F9 +:10615000B3FD0020264B984714308000A021254B2A +:10616000984702B2FEF7F0FD0020214B984703004C +:106170004000C0185030A0211E4B984702B2FEF7D5 +:106180000CFE00201A4B984703004000C018503006 +:10619000A021184B984702B2FEF713FE0020144BC3 +:1061A000984703004000C0185030A021114B984779 +:1061B00002B2FEF71AFE00200D4B98470300400084 +:1061C000C0185030A0210B4B984702B2FEF721FEB9 +:1061D0000020074B984714308000A021054B9847BA +:1061E00002B2FEF732FE07230F210822FEF742FE1D +:1061F00065F60000F17901000020F84B9847030094 +:106200008000C0185030A021F54B984702B2FEF72D +:106210004EFE0020F14B984703008000C01850301C +:10622000A021EF4B984702B2FEF755FE0020EB4B42 +:10623000984703008000C0185030A021E84B9847D1 +:1062400002B2FEF75CFE0020E44B9847030080009A +:10625000C0185030A021E24B984702B2FEF763FE0F +:106260000020DE4B984703004000C0185030A021AA +:10627000DB4B984702B2FEF76AFE0020D74B9847E7 +:106280000300322058435030A021D54B984702B22A +:10629000FEF775FE26221323FEF780FE1923332115 +:1062A0001A22FEF798FE0020CC4B9847C300181A1C +:1062B0005030A021CA4B984702B2FEF7A9FE002039 +:1062C000C64B9847C300181A5030A021C44B9847BA +:1062D00002B2FEF7B1FE0020C04B9847C300181A67 +:1062E0005030A021BE4B984702B2FEF7B9FE0623FC +:1062F00010210922FEF7D8FE0020B84B984728301D +:106300004000A021B64B984702B2FEF7E3FE002002 +:10631000B24B98475030A021B14B984702B2FEF7DC +:10632000EBFE15232A211522FEF71DFF0020AB4BA3 +:1063300098470300642058435030A021A84B984749 +:1063400002B2FEF73EFF0020A44B984703006420F2 +:1063500058435030A021A24B984702B2FEF745FFA8 +:106360001F233F211F22FEF77BFF1D233B211D2200 +:10637000FEF789FF1F233F211F22FEF797FF072308 +:106380000F210822FEF7B5FF2A221523FEF7C9FFC9 +:1063900007230F210822FEF7D7FF2A221523FEF735 +:1063A000EBFF1A2337211C22FEF7FFFF00208B4B47 +:1063B00098470301181A50304023FF3301229842B6 +:1063C00001D8FFF71DF80020844B98470301181AE5 +:1063D0005030A021824B984702B2FFF711F80020FD +:1063E0007E4B98470301181A40005030A0217C4B87 +:1063F000984702B2FFF704F80020784B9847030152 +:10640000181A50304023FF330122984201D8FFF779 +:1064100013F80020714B98470301181A5030A0213F +:106420006F4B984702B2FFF707F800206B4B984775 +:106430000301181A40005030A021694B984702B25E +:10644000FEF7FAFF0020654B98470301181A5030F9 +:106450004023FF330122984201D8FFF709F80020BA +:106460005E4B98470301181A5030A0215C4B9847A7 +:1064700002B2FEF7FDFF0020584B98470301181A9F +:1064800040005030A021564B984702B2FEF7F0FF73 +:106490000020524B98470301181A50304023FF3315 +:1064A0000122984201D8FEF7FFFF00204B4B98478E +:1064B0000301181A5030A021494B984702B2FEF749 +:1064C000F3FF0020454B98470301181A4000503055 +:1064D000A021434B984702B2FEF7E6FF00203F4B56 +:1064E00098470301181A50304023FF330122984285 +:1064F00001D8FEF7F5FF0020384B98470301181A22 +:106500005030A021364B984702B2FEF7E9FF002039 +:10651000324B98470301181A40005030A021304BED +:10652000984702B2FEF7DCFF00202C4B984703018E +:10653000181A50304023FF33984203D801225242A8 +:10654000FEF7EBFF0020254B98470301181A503047 +:10655000A021234B9847424212B2FEF7DEFF0020F3 +:106560001E4B98470301181A40005030A0211C4BC5 +:106570009847424212B2FEF7D0FF0020174B9847CF +:1065800003008000C01880005030A021144B9847B1 +:1065900002B2FFF725F81D233B211D22FFF74BF820 +:1065A00007230F210822FFF759F800200B4B9847CB +:1065B000830018188300C0185030A021084B98475A +:1065C00002B2FFF768F81F233F211F22FFF792F85E +:1065D0001C233A211E22FFF7A0F8C04665F60000F2 +:1065E000F17901000020DF4B984703008000C018BC +:1065F0005030A021DC4B984702B2FFF7A5F80723E3 +:106600000F210822FFF7B5F80020D64B9847C300AA +:10661000181A5030A021D44B984702B2FFF7CDF89A +:106620000020D04B9847C300181A5030A021CE4B01 +:10663000984702B2FFF7D5F80020CA4B9847C3002D +:10664000181A5030A021C84B984702B2FFF7DDF866 +:1066500007230F210822FFF7F9F80020C14B9847C4 +:1066600003008000C01880005030A021BE4B984726 +:1066700002B2FFF703F90020BA4B984703008000ED +:10668000C01880005030A021B74B984702B2FFF7E6 +:106690000AF90020B34B984703008000C01850301F +:1066A000A021B14B984702B2FFF731F90020AD4B62 +:1066B00098470301181A50304023FF3301229842B3 +:1066C00001D8FFF749F90020A64B98470301181A93 +:1066D0005030A021A44B984702B2FFF73DF90020AB +:1066E000A04B98470301181A40005030A0219E4B40 +:1066F000984702B2FFF730F900209A4B9847030100 +:10670000181A50304023FF330122984201D8FFF776 +:1067100073F90020934B98470301181A5030A021B9 +:10672000914B984702B2FFF767F900208D4B9847CD +:106730000301181A40005030A0218B4B984702B239 +:10674000FFF75AF90020874B98470301181A503079 +:106750004023FF330122984201D8FFF769F9002056 +:10676000804B98470301181A5030A0217E4B984760 +:1067700002B2FFF75DF900207A4B98470301181A1F +:1067800040005030A021784B984702B2FFF750F9F3 +:106790000020744B98470301181A50304023FF33F0 +:1067A0000122984201D8FFF75FF900206D4B98470E +:1067B0000301181A5030A0216B4B984702B2FFF723 +:1067C00053F90020674B98470301181A40005030D6 +:1067D000A021654B984702B2FFF746F90020614BB4 +:1067E00098470301181A50304023FF330122984282 +:1067F00001D8FFF755F900205A4B98470301181AA2 +:106800005030A021584B984702B2FFF749F90020B9 +:10681000544B98470301181A40005030A021524BA6 +:10682000984702B2FFF73CF91A2337211C22FFF7E1 +:106830004BF900204B4B98470301181A5030402366 +:10684000FF330122984201D8FFF768F90020454B39 +:1068500098470301181A5030A021434B984702B2C1 +:10686000FFF75CF900203F4B98470301181A4000DE +:106870005030A0213C4B984702B2FFF74FF900205F +:10688000384B98470301181A50304023FF33012238 +:10689000984201D8FFF75EF90020324B9847030178 +:1068A000181A5030A021304B984702B2FFF752F926 +:1068B00000202C4B98470301181A40005030A021AB +:1068C000294B984702B2FFF745F90020254B98471E +:1068D0000301181A50304023FF330122984201D897 +:1068E000FFF754F900201F4B98470301181A503046 +:1068F000A0211D4B984702B2FFF748F90020194B21 +:1069000098470301181A40005030A021164B9847B1 +:1069100002B2FFF73BF90020124B98470301181A07 +:1069200050304023FF330122984201D8FFF74AF943 +:1069300000200C4B98470301181A5030A0210A4B35 +:10694000984702B2FFF73EF90020064B9847030133 +:10695000181A40005030A021034B984702B2FFF7AD +:1069600031F9C04665F60000F179010070B5E94DD6 +:1069700020236B61E84C1F3B23700020E74B9847B6 +:10698000FA2200230021E64EB047E64A0023801891 +:106990005941E54A0023E54EB047E54B984740236F +:1069A0006B612378002B04D120226A611F3ADA4BF5 +:1069B0001A70E222DF49E048E04B9847D54B40226D +:1069C0009A615A61D44B1B78002B05D0203AD14BE9 +:1069D0009A610022D04B1A702322D649D648D74B51 +:1069E0009847CC4B40229A615A61CB4B1B78002BC5 +:1069F00005D0203AC74B9A610022C74B1A70022279 +:106A0000CC49CD48CD4B9847C24B40229A615A6140 +:106A1000C14B1B78002B05D0203ABE4B9A61002257 +:106A2000BD4B1A700422C349C348C44B9847B94BA5 +:106A300040229A615A61B84B1B78002B05D1203A4D +:106A4000B44B5A611F3AB44B1A70E022B949BA48A4 +:106A5000BA4B9847AF4B40229A615A61AE4B1B78B4 +:106A6000002B05D0203AAB4B9A610022AA4B1A703A +:106A70000122B049B048B14B9847A64C4025A561CA +:106A80000020A64B984702000023A648002180184A +:106A90005941A54A0023A54EB047A54B98476561CB +:106AA0009D4B1B78002B04D1202262611F3A9A4B28 +:106AB0001A70E0229F49A048A04B9847954B40226E +:106AC0009A615A61944B1B78002B05D0203A914B68 +:106AD0009A610022904B1A70032296499648974B70 +:106AE00098478C4C4025A56100208C4B98470200AC +:106AF00000238C480021801859418B4A00238B4E7B +:106B0000B0478B4B98476561834B1B78002B04D1B2 +:106B1000202262611F3A804B1A7001228549864803 +:106B2000864B98477B4C4025A56100207B4B9847BE +:106B3000020000237B480021801859417A4A002333 +:106B40007A4EB0477A4B98476561734B1B78002BA0 +:106B500004D1202262611F3A6F4B1A70E6227549F8 +:106B60007548764B98476B4B40229A615A616A4B45 +:106B70001B78002B05D0203A664B9A610022664BA9 +:106B80001A7001226B496C486C4B9847614B40224C +:106B90009A615A61604B1B78002B05D0203A5D4BFF +:106BA0009A6100225C4B1A70332262496248634B3F +:106BB0009847584B40229A615A61574B1B78002BDB +:106BC00005D0203A534B9A610022534B1A7033225E +:106BD00058495948594B98474E4B40229A615A613F +:106BE0004D4B1B78002B05D1203A4A4B5A611F3A76 +:106BF000494B1A70B0224F494F48504B9847454B6C +:106C000040229A615A61444B1B78002B05D0203AF0 +:106C1000404B9A610022404B1A7020224549464859 +:106C2000464B98473B4B40229A615A613A4B1B783E +:106C3000002B05D0203A374B9A610022364B1A7050 +:106C400000223C493C483D4B9847324C4025A561C9 +:106C50003B4B98473B4B9847421E121265612E4BA7 +:106C60001B78002B04D02021A16100212A4B197030 +:106C7000FF2002402F493048304B9847254C402593 +:106C8000A5612F4B98472F4B98470138C2B26561D9 +:106C9000214B1B78002B04D02021A16100211E4B29 +:106CA000197024492448254B98471A4C4025A56162 +:106CB000234B9847244B9847421E12126561164B8E +:106CC0001B78002B04D02021A1610021124B1970E8 +:106CD000FF20024017491848184B98470D4C402593 +:106CE000A561174B9847184B98470138C2B26561A8 +:106CF000094B1B78002B04D02021A1610021064BF9 +:106D000019700C490C480D4B9847024B40229A6170 +:106D10005A611BE0004400415C000020CD100000DF +:106D20001D7D0100571B0000581B0000DD7C010089 +:106D300001000020F7C3031C8044004115780100C6 +:106D400009F6000015F600003DF60000E54B1B7843 +:106D5000002B05D0203AE44B9A610022E14B1A70D7 +:106D60000022E249E248E34B9847DF4C4025A56109 +:106D70000020E14B984702000023E04800218018E2 +:106D80005941DF4A0023DF4EB047DF4B984765612A +:106D9000D44B1B78002B04D1202262611F3AD14BC7 +:106DA0001A70B422D149D248D24B9847CE4B4022D8 +:106DB0009A615A61CB4B1B78002B05D0203ACA4B05 +:106DC0009A610022C74B1A700222C849C848C94BB1 +:106DD0009847C54B40229A615A61C24B1B78002BE1 +:106DE00005D0203AC04B9A610022BE4B1A700D228A +:106DF000BE49BF48BF4B9847BB4B40229A615A617E +:106E0000B84B1B78002B05D0203AB74B9A61002273 +:106E1000B44B1A700122B549B548B64B9847B24BEE +:106E200040229A615A61AF4B1B78002B05D0203A63 +:106E3000AD4B9A610022AB4B1A70E022AB49AC48D3 +:106E4000AC4B9847A84B40229A615A61A54B1B78DE +:106E5000002B05D0203AA44B9A610022A14B1A7056 +:106E60000522A249A248A34B98479F4B40229A6112 +:106E70005A619C4B1B78002B05D0203A9A4B9A61A3 +:106E80000022984B1A70002298499948994B9847CC +:106E9000954B40229A615A61924B1B78002B05D08A +:106EA000203A914B9A6100228E4B1A7028228F490A +:106EB0008F48904B98478C4B40229A615A61894B7E +:106EC0001B78002B05D0203A874B9A610022854B16 +:106ED0001A70002285498648864B9847824B40228B +:106EE0009A615A617F4B1B78002B05D1203A7E4B6B +:106EF0005A611F3A7B4B1A70B6227C497C487D4B05 +:106F00009847794B40229A615A61764B1B78002B47 +:106F100005D0203A744B9A610022724B1A700122FC +:106F200072497348734B98476F4B40229A615A617C +:106F30006C4B1B78002B05D0203A6B4B9A610022DA +:106F4000684B1A702022694969486A4B9847664B1A +:106F500040229A615A61634B1B78002B05D0203A7E +:106F6000614B9A6100225F4B1A7001225F496048B1 +:106F7000604B98475C4B40229A615A61594B1B7891 +:106F8000002B05D0203A584B9A610022554B1A70BD +:106F9000102256495648574B9847534B40229A6106 +:106FA0005A61504B1B78002B05D0203A4E4B9A610A +:106FB00000224C4B1A7008224C494D484D4B9847C3 +:106FC000494B40229A615A61464B1B78002B05D0F1 +:106FD000203A454B9A610022424B1A7000224349E5 +:106FE0004348444B9847404B40229A615A613D4B7D +:106FF0001B78002B05D0203A3B4B9A610022394B7D +:107000001A70082239493A483A4B9847364B402281 +:107010009A615A61334B1B78002B05D1203A324BD1 +:107020005A611F3A2F4B1A70B82230493048314B01 +:1070300098472D4B40229A615A612A4B1B78002BAE +:1070400005D0203A284B9A610022264B1A700F2255 +:1070500026492748274B9847234B40229A615A617B +:10706000204B1B78002B05D0203A1F4B9A61002241 +:107070001C4B1A7001221D491D481E4B98471A4B84 +:1070800040229A615A61174B1B78002B05D1203A98 +:10709000154B5A611F3A134B1A70BA221349144800 +:1070A000144B9847104B40229A615A610D4B1B7844 +:1070B000002B05D0203A0C4B9A610022094B1A7024 +:1070C00001220A490A480B4B9847074B40229A6114 +:1070D0005A61044B1B78002B1AD1203A024B5A619B +:1070E0001F3A13E05C00002000440041F7C3031C7A +:1070F0008044004115780100CD100000571B0000AE +:10710000581B0000DD7C010001000020D44B1A70E8 +:107110003622D449D448D54B9847D54B40229A6162 +:107120005A61CF4B1B78002B05D0203AD04B9A6187 +:107130000022CB4B1A700822CA49CB48CB4B984748 +:10714000CB4B40229A615A61C54B1B78002B05D16D +:10715000203AC74B5A611F3AC14B1A703A22C149B3 +:10716000C148C24B9847C24B40229A615A61BC4BFE +:107170001B78002B05D0203ABD4B9A610022B84BFA +:107180001A705022B749B848B84B9847B84B4022BC +:107190009A615A61B24B1B78002B05D1203AB44B4F +:1071A0005A611F3AAE4B1A70F022AE49AE48AF4B4F +:1071B0009847AF4B40229A615A61A94B1B78002B2C +:1071C00005D0203AAA4B9A610022A54B1A700322DF +:1071D000A449A548A54B9847A54B40229A615A61FE +:1071E0009F4B1B78002B05D1203AA14B5A611F3AC7 +:1071F0009B4B1A70BC229B499B489C4B98479C4BCD +:1072000040229A615A61964B1B78002B05D0203A98 +:10721000974B9A610022924B1A70402291499248F2 +:10722000924B9847924B40229A615A618C4B1B7843 +:10723000002B05D0203A8E4B9A610022884B1A70A1 +:10724000802288498848894B9847894B40229A6117 +:107250005A61834B1B78002B05D0203A844B9A61EE +:1072600000227F4B1A7040227E497F487F4B98470F +:107270007F4B40229A615A61794B1B78002B05D0D5 +:10728000203A7B4B9A610022754B1A700122754996 +:107290007548764B9847764C4025A5610020754B84 +:1072A0009847020000237448002180185941734A0E +:1072B0000023734EB047734B98476561684B1B784A +:1072C000002B04D1202262611F3A654B1A702922DB +:1072D00064496548654B9847654B40229A615A61FD +:1072E0005F4B1B78002B05D1203A614B5A611F3A46 +:1072F0005B4B1A70BE225B495B485C4B98475C4B0A +:1073000040229A615A61564B1B78002B05D0203AD7 +:10731000574B9A610022524B1A700622514952482B +:10732000524B9847524B40229A615A614C4B1B7802 +:10733000002B05D0203A4E4B9A610022484B1A7020 +:10734000802248494848494B9847494B40229A6116 +:107350005A61434B1B78002B05D0203A444B9A616D +:1073600000223F4B1A7001223E493F483F4B98474D +:107370003F4B40229A615A61394B1B78002B05D054 +:10738000203A3B4B9A610022354B1A70F022354966 +:107390003548364B9847364B40229A615A61304BFC +:1073A0001B78002B05D0203A314B9A6100222C4BE0 +:1073B0001A7000222B492C482C4B98472C4B40220A +:1073C0009A615A61264B1B78002B05D0203A284B36 +:1073D0009A610022224B1A70002222492248234B34 +:1073E0009847234B40229A615A611D4B1B78002B12 +:1073F00005D1203A1E4B5A611F3A194B1A70D02200 +:1074000018491948194B9847194B40229A615A61FB +:10741000134B1B78002B05D0203A154B9A610022A4 +:107420000F4B1A700D220F490F48104B98474022FE +:107430000F4B9A6100200F4B984702000023110F59 +:107440001001801A9941001849410B4A0023801805 +:1074500059410A4A00230A4CA0470A4B984770BD7D +:107460005C000020F7C3031C804400411578010034 +:1074700000440041CD100000571B0000581B0000C5 +:10748000DD7C010001000020F0B5DE4657464E4687 +:107490004546E0B583B000900F00160004228B5ED5 +:1074A000002B0CDB06228B5E002B08DB0023CC5E5E +:1074B000B24B9847B24B98470138844206DD03B07F +:1074C0003CBC90469946A246AB46F0BD0223FC5E0A +:1074D000AA4B9847AB4B984701388442EFDC3B8876 +:1074E0001D1C1BB2002B00DA36E12BB299467B88BB +:1074F0001C1C1BB2002B00DA30E124B2A34604238B +:10750000FD5E9E4B98479E4B98470138854200DDB3 +:1075100026E10423FD5E0622BB5E9A46974B984700 +:10752000984B98470138824500DD1FE10622BB5E7B +:107530009A464022944B5A61944B1B78002B05D1FC +:10754000203A914B5A611F3A904B1A702A22904967 +:107550009048914B98478C4B402199614A461012B4 +:1075600059618A4B1B78002B05D02022864B9A61EB +:107570000022864B1A70FF22024085498548864BBF +:107580009847814B402199614A46684602710279C9 +:1075900059617E4B1B78002B05D020397A4B9961BD +:1075A00000217A4B19707A497A487B4B9847764B81 +:1075B0004021996128125961744B1B78002B05D02A +:1075C0002022714B9A610022704B1A70FF220240F8 +:1075D0006F497048704B98476B4B40229A615A61D3 +:1075E0006A4B1B78002B05D0203A674B9A6100222A +:1075F000664B1A70FF222A4065496648664B9847D9 +:10760000614B40229A615A61604B1B78002B05D177 +:10761000203A5D4B5A611F3A5C4B1A702B225C4931 +:107620005C485D4B9847584B402199615A4610126F +:107630005961564B1B78002B05D02022524B9A6182 +:107640000022524B1A70FF22024051495148524BBE +:1076500098474D4B40219961E2B259614B4B1B78E1 +:10766000002B05D02039484B99610021474B1970F8 +:1076700047494848484B9847434B402199615246F7 +:1076800010125961414B1B78002B05D020223E4B34 +:107690009A6100223D4B1A70FF2202403C493D484E +:1076A0003D4B9847384B40229A615A61374B1B78C3 +:1076B000002B05D0203A344B9A610022334B1A70CC +:1076C000FF2253461A4032493248334B98472E4BDB +:1076D00040229A615A612D4B1B78002B05D1203A2C +:1076E000294B5A611F3A294B1A702C2228492948E4 +:1076F000294B98474022244B9A61BB8801333A8832 +:107700009B1A9FB2214A1278002A05D020211E4AD6 +:10771000916100211D4A117040211B4A51614B4665 +:10772000ED1A0135ADB2DA450FDB7F001B4B9846F1 +:1077300001953D005746019B320015491548C04749 +:107740007619013424B2A742F5DA40220E4B9A6131 +:107750000098134B9847B2E60025C6E60024CCE615 +:10776000064B9847064B9847451ED4E6034B98476F +:10777000044B9847431E9A46DBE6C04609F60000D4 +:1077800015F600003DF60000004400415C000020BA +:10779000F7C3031C80440041157801002D780100D7 +:1077A000D9F6000030B583B001AA002494700125F9 +:1077B0001570547012491348134B98476B469C70D0 +:1077C0005C701D7069460420104CA0476946052076 +:1077D000A04769460620A04769460720A04769469A +:1077E0000A20A0470A4B10229A6110329A61203277 +:1077F0009A6140329A618022D2009A6103B030BD12 +:10780000F7C3031C80440041790D0000550D0000B2 +:107810000044004113000B40836191434161024BDE +:1078200080225A619A61704700440041F0B583B0EC +:1078300000900191002B0AD015001F000024054E76 +:1078400004CD01990098B0470134BC42F8D103B08F +:10785000F0BDC04615780100704700000FB430B588 +:10786000C3B046AC20CC0222FF32002101A80F4B4E +:10787000984700942200290001A80D4B984701A8C1 +:107880000C4B984782B280235B009A4204D943B0E4 +:1078900030BC08BC04B01847074C01A92000074BB6 +:1078A000984707492000074B9847F0E7BD7F010044 +:1078B00031800100F17F0100584C002015090000C3 +:1078C000304E0020390A000070B590B08023DB05EF +:1078D000009300230193FF2269460A8100228B72E4 +:1078E000CB720124242168464454013144540131AF +:1078F0004354013143540A930531435401314354F5 +:1079000005930382C3760276027742761323837649 +:107910004277E1235B020893184B0C93184B0D93AD +:1079200001235B420E930F9380235B030393154E59 +:107930006A4615493000154B984735682800144BA6 +:1079400098471F2318408440124B1C603268D3694B +:10795000002BFCD12B68022213432B60094C013A07 +:107960000D4920000D4B98473122A35C02210B43A7 +:10797000A3540B480B4B984710B070BD0200160083 +:1079800002001700584C002000140042B10500000E +:107990001D0C000000E100E0A9790100210A0000AF +:1079A000ACCA01005D78010010B5034B1988C9B25B +:1079B0000248034B984710BD304E0020A8CA010072 +:1079C0005D78010010B502490248034B984710BD8D +:1079D000304E0020584C0020390A000010B5024BF0 +:1079E0009847024CA047FDE769010000FD01000037 +:1079F000002243088B4274D303098B425FD3030AEE +:107A00008B4244D3030B8B4228D3030C8B420DD300 +:107A1000FF22090212BA030C8B4202D3121209028E +:107A200065D0030B8B4219D300E0090AC30B8B42CC +:107A300001D3CB03C01A5241830B8B4201D38B037A +:107A4000C01A5241430B8B4201D34B03C01A52411F +:107A5000030B8B4201D30B03C01A5241C30A8B4262 +:107A600001D3CB02C01A5241830A8B4201D38B024D +:107A7000C01A5241430A8B4201D34B02C01A5241F1 +:107A8000030A8B4201D30B02C01A5241CDD2C30963 +:107A90008B4201D3CB01C01A524183098B4201D3DF +:107AA0008B01C01A524143098B4201D34B01C01ACA +:107AB000524103098B4201D30B01C01A5241C30842 +:107AC0008B4201D3CB00C01A524183088B4201D3B1 +:107AD0008B00C01A524143088B4201D34B00C01A9D +:107AE0005241411A00D20146524110467047FFE709 +:107AF00001B5002000F0F0F802BDC0460029F7D023 +:107B000076E7704703460B437FD4002243088B423D +:107B100074D303098B425FD3030A8B4244D3030B14 +:107B20008B4228D3030C8B420DD3FF22090212BAD9 +:107B3000030C8B4202D31212090265D0030B8B4255 +:107B400019D300E0090AC30B8B4201D3CB03C01A3F +:107B50005241830B8B4201D38B03C01A5241430B1A +:107B60008B4201D34B03C01A5241030B8B4201D30A +:107B70000B03C01A5241C30A8B4201D3CB02C01A75 +:107B80005241830A8B4201D38B02C01A5241430AED +:107B90008B4201D34B02C01A5241030A8B4201D3DC +:107BA0000B02C01A5241CDD2C3098B4201D3CB0183 +:107BB000C01A524183098B4201D38B01C01A524132 +:107BC00043098B4201D34B01C01A524103098B4236 +:107BD00001D30B01C01A5241C3088B4201D3CB0021 +:107BE000C01A524183088B4201D38B00C01A524104 +:107BF00043088B4201D34B00C01A5241411A00D2B4 +:107C000001465241104670475DE0CA0F00D049421C +:107C1000031000D34042534000229C4603098B428C +:107C20002DD3030A8B4212D3FC22890112BA030A14 +:107C30008B420CD3890192118B4208D38901921196 +:107C40008B4204D389013AD0921100E08909C3091B +:107C50008B4201D3CB01C01A524183098B4201D31D +:107C60008B01C01A524143098B4201D34B01C01A08 +:107C7000524103098B4201D30B01C01A5241C30880 +:107C80008B4201D3CB00C01A524183088B4201D3EF +:107C90008B00C01A5241D9D243088B4201D34B000A +:107CA000C01A5241411A00D20146634652415B104C +:107CB000104601D34042002B00D54942704763462D +:107CC0005B1000D3404201B5002000F005F802BD72 +:107CD0000029F8D016E770477047C046002B11D135 +:107CE000002A0FD1002900D1002802D00021C94369 +:107CF000081C07B4024802A14018029003BDC04608 +:107D0000D9FFFFFF03B4684601B5029800F030F8D0 +:107D1000019B9E4602B00CBC7047C046F0B5CE46F3 +:107D2000474615042D0C2E0080B50704140C3F0C9B +:107D30009946030C7E435D43674363437F19340CCC +:107D4000E4199C46A54203D980235B029846C444AB +:107D50004B46514343433604360C250C24046544FA +:107D6000A4195918491920000CBC90469946F0BD39 +:107D7000F0B557464E464546DE46E0B5040083B0B2 +:107D80000D00924699468B422FD82CD0494650463A +:107D900000F0CCF829000600200000F0C7F8331AE4 +:107DA0009846203B9B4600D574E053465A46934084 +:107DB0001F005346424693401E00AF4229D826D0AA +:107DC0005B46A41BBD41002B00DA79E000220023B2 +:107DD0000092019301235A469340019301234246A6 +:107DE0009340009319E08242D0D9002200230092F0 +:107DF00001930C9B002B01D01C605D6000980199E1 +:107E000003B03CBC90469946A246AB46F0BDA342A7 +:107E1000D6D900220023009201934346002BE8D0DC +:107E2000FB0772081A4346467B080EE0AB4201D1BD +:107E3000A2420CD8A41A9D41012024196D410021B1 +:107E4000013E24184D41002E06D0AB42EED9013E32 +:107E500024196D41002EF8D15B4600980199001954 +:107E60006941002B22DB2B005A46D3402A004446AE +:107E7000E2401C005B461500002B2CDB26009E40D8 +:107E8000330026004746BE403200801A99410090D8 +:107E90000191AEE7424620239B1A5246DA40414602 +:107EA00013004A468A4017001F4382E742462023B8 +:107EB0009B1A2A0046469A402300F3401343D5E715 +:107EC0004246202300219B1A0022009101920122A8 +:107ED000DA40019282E74246202326009B1ADE40C8 +:107EE0002F00B446974066463B003343C9E7C0467F +:107EF0001C2101231B04984201D3000C10391B0ADA +:107F0000984201D3000A08391B09984201D300099D +:107F1000043902A2105C40187047C04604030202F4 +:107F200001010101000000000000000010B500295F +:107F300003D1FFF7DDFF203002E0081CFFF7D8FF78 +:107F400010BDC04670B500260C4D0D4C641BA4102E +:107F5000A64209D1002604F0CBFD0A4D0A4C641B51 +:107F6000A410A64205D170BDB300EB589847013666 +:107F7000EEE7B300EB5898470136F2E7FCCA010080 +:107F8000FCCA0100FCCA010000CB010030B500248E +:107F9000A24201D1002005E0035D651C0C5DA342F7 +:107FA00001D0181B30BD2C00F2E7002310B59A4217 +:107FB00000D110BDCC5CC4540133F8E70300821833 +:107FC000934200D1704719700133F9E702780B78BA +:107FD000002A03D0013001319A42F7D0D01A7047FD +:107FE000031C0A7801311A700133002AF9D1704755 +:107FF0000023C25C0133002AFBD1581E70470000E9 +:1080000030B59BB00091049108496D4602910591ED +:10801000012182244942E981A4006946AC8100F033 +:1080200075F80023009A13701BB030BDFFFFFF7F6F +:1080300010B513000A00010002480068FFF7E0FFD6 +:1080400010BDC04660000020F0B58E6885B0070006 +:108050000C00039201939E4239D890238A89DB0059 +:108060001A4234D00325096923685B1A02936369B5 +:1080700002985D43EB0F5D19019B6D1001331B18D6 +:10808000AB4200D91D00530532D52900380000F05D +:1080900031FB061E09D10C233B6040230120A2893D +:1080A00040421343A38105B0F0BD029A2169FFF756 +:1080B0007CFFA389144A1A4080231343A381029BA7 +:1080C0002661F61826606561019EED1AA560019B88 +:1080D000B34200D21E0032000399206800F0ADFACE +:1080E000A36800209B1BA36023689E192660DAE723 +:1080F0002A00380000F05CFB061EE0D12169380040 +:1081000000F0AEFAC7E7C0467FFBFFFFF0B59FB0B7 +:10811000029005938B890F0016001B0611D50B6981 +:10812000002B0ED1402100F0E5FA386038610028BC +:1081300005D10C23029A013813601FB0F0BD402313 +:108140007B61002306AD6B6120336B761033AB7619 +:1081500034002378002B47D1A31B04930DD0A31B1D +:10816000320039000298FFF76FFF431C00D1B5E0E1 +:108170006A69049B944663446B612378002B00D1A9 +:10818000ACE00122002352426A6002A95432521824 +:1081900001342B60EB60AB601370AB65584E052269 +:1081A0002178300000F03EFA621C002820D12968B6 +:1081B000CB0604D5532302AE20309B1918700B0751 +:1081C00004D553232B2002AE9B19187023782A2B39 +:1081D00016D000200A21099B2278303A092A55D965 +:1081E000002815D0099313E0252BB5D00134B0E752 +:1081F0000123801B8340296814000B432B60CDE7CB +:10820000059B181D1B680590002B39DB0993140092 +:1082100023782E2B0BD16378621C2A2B3ED1059B31 +:1082200002341A1D1B680592002B34DB0793354E70 +:1082300021780322300000F0F5F9002806D0402311 +:10824000801B83402A68013413432B602178062267 +:108250002D48661C297600F0E5F9002846D02B4B06 +:10826000002B2FD12968059B0722C90528D59B180B +:108270009343083305936B69039A9B186B6167E717 +:108280005B42EB6002230B432B60C0E74B4301349E +:108290009B180120A0E701235B42C7E700231400DD +:1082A0000A201A006B6021783039092903D9002B84 +:1082B000BDD00792BBE74243013452180123F2E7D5 +:1082C0000733D5E705AB00933A00114B290002981C +:1082D00000E000BF0390039B0133CCD1BB890B9816 +:1082E0005B0600D429E70120404226E705AB009356 +:1082F0003A00074B2900029800F07AF8EAE7C046F6 +:10830000BCCA0100C2CA0100C6CA010000000000C8 +:1083100049800100F7B5150001938A680B69009048 +:108320000C00934200DA130022002B6043321278D3 +:10833000002A01D001332B6023689B0602D52B68ED +:1083400002332B60062723681F4027D023004333C6 +:108350001B785A1E93412268920630D4220001995C +:1083600043320098089EB047431C25D0062320685E +:108370002A68E16803400025042B03D18D1AEB43E2 +:10838000DB171D40A3682269934201DD9B1AED189B +:108390000027BD4220D1002010E00137E3682A68A1 +:1083A0009B1A9F42D2DA22000123193201990098C8 +:1083B000089EB047431CF0D101204042FEBD302052 +:1083C000E1184331087021005A1C45310978A21880 +:1083D000433202331170C1E7220001231A3201999E +:1083E0000098089EB047431CE6D00137D1E7000053 +:1083F000F0B58BB006920A004332079305900492C1 +:108400000A7E0C00109B6E2A00D18FE017D8632AD9 +:108410002CD008D8002A00D199E0582A54D0260040 +:108420004236327029E0642A01D0692AF7D12168E6 +:108430001A68080623D5111D1960156825E0732AEE +:1084400000D188E008D86F2A29D0702AE7D12022ED +:1084500009680A43226003E0752A20D0782ADED119 +:1084600022007821453211706C4A30E00E001A6803 +:108470004236111D196013683370012379E04906F3 +:10848000D9D5111D19600023D55E002D03DA2D23E7 +:10849000049A6D421370624B0A2703932FE0206801 +:1084A0001968050603D5081D18600D6805E040062B +:1084B000F9D50D68081D1860ADB2594B0827039314 +:1084C0006F2A18D00A2716E045310A70544A0392E1 +:1084D0001A682168101D18601568080622D5CB0798 +:1084E00002D52023194321601027002D03D120231A +:1084F00022689A4322602300002243331A70636883 +:10850000A360002B5CDB0422216891432160002DD5 +:1085100058D1049E002B64D02600039B42361B7862 +:1085200033705EE04806DAD5ADB2D8E709681A685C +:10853000080605D5111D1960136862691A6006E006 +:108540004906F7D5111D19601368A28A1A80002305 +:10855000049E236154E01A68111D196016680021F9 +:108560006268300000F05EF8002801D0801B606077 +:10857000636823610023049A137041E02369320089 +:1085800006990598079DA847431C43D023680025FA +:108590009B070FD4099BE06898423DDA18003BE046 +:1085A00022000123193206990598079EB047431C03 +:1085B00030D00135E368099A9B1A9D42F0DBE9E768 +:1085C000002DA9D0049E28003900FFF797FA039BDD +:1085D000013E5B5C280033703900FFF709FA051E85 +:1085E000F1D1082F09D12368DB0706D5636822691A +:1085F000934202DC3023013E3370049B9B1B2361BA +:10860000079B09AA00932100069B0598FFF782FEAD +:10861000431CB3D1012040420BB0F0BDDECA0100C3 +:10862000CDCA0100C9B28218904201D10020704722 +:1086300003788B42FBD00130F6E710B5884202D9AF +:108640008B18984208D300239A4207D0CC5CC454BC +:108650000133F9E78B5C8354013AFBD210BD000073 +:1086600070B50500002910D00C1F2368002B00DA1C +:10867000E418280000F0D4F81D4A1368002B05D137 +:1086800063601460280000F0CCF870BDA34209D9E3 +:10869000216860188342F3D118685B684118216033 +:1086A000EEE713005A68002A01D0A242F9D91968EE +:1086B0005818A0420BD12068091858181960824236 +:1086C000E0D110685268411819605A60DAE7A04298 +:1086D00002D90C232B60D5E721686018824203D1B0 +:1086E000106852684118216062605C60CAE7C04649 +:1086F0008C4C0020032370B5CD1C9D43083506002B +:108700000C2D1ED20C25A9421DD8300000F088F88F +:10871000254A14682100002919D1244C2368002B14 +:1087200003D1300000F06AF820602900300000F02A +:1087300065F8431C2CD10C233000336000F071F835 +:1087400003E0002DDFDA0C233360002070BD0B68DE +:108750005B1B1AD40B2B03D90B60CC18256003E0EC +:108760008C420ED163681360300000F05AF820008C +:1087700007220B30231D9043C31AE7D05A42E25020 +:10878000E4E74B6863600C00EEE70C004968C2E761 +:108790000323C41C9C43A042E0D0211A300000F007 +:1087A0002DF8431CDAD1C6E78C4C0020904C0020F9 +:1087B000F8B507000D001600002905D11100FFF7DC +:1087C00099FF04002000F8BD002A03D1FFF748FFFD +:1087D0003400F7E700F026F82C008642F2D9310089 +:1087E0003800FFF787FF041EECD029003200FFF7A6 +:1087F000DCFB29003800FFF733FFE3E7002370B507 +:10880000064C050008002360E8F726FE431C03D150 +:108810002368002B00D02B6070BDC046344E002072 +:10882000704770470B1F1B68181F002B01DA0B588D +:10883000C018704700080042000C004200100042BF +:108840000014004200180042001C0042AE0D00005F +:10885000AA0D0000AA0D0000100E0000100E00006E +:10886000C20D0000B40D0000C80D0000FE0D000098 +:10887000980E0000780E0000780E0000040F000033 +:108880008A0E0000A60E00007C0E0000B40E000050 +:10889000F40E00004F7574206F66206D656D6F7269 +:1088A000790000F8AA2200002623000030230000EF +:1088B00046230000562300006623000084230000A6 +:1088C0009C230000B2230000D0230000DA23000024 +:1088D000F023000000240000102400002E240000DB +:1088E0004624000050240000662400007624000086 +:1088F00086240000A4240000FFFF00004E554C4CCD +:1089000020706F696E746572000000006C765F6F96 +:10891000626A0000E0070000F47E0000F87E0000BC +:10892000F47E0000FC7E0000007F0000047F000059 +:10893000087F0000FC7E0000007F0000047F000034 +:10894000087F0000FFFF00004E6F0A646174610041 +:10895000B8810000A0810000A4810000A88100006F +:10896000AC810000B0810000FF00000000FF0000AB +:108970000055AAFF00112233445566778899AABB97 +:10898000CCDDEEFF000102030405060708090A0B0F +:108990000C0D0E0F101112131415161718191A1B9F +:1089A0001C1D1E1F202122232425262728292A2B8F +:1089B0002C2D2E2F303132333435363738393A3B7F +:1089C0003C3D3E3F404142434445464748494A4B6F +:1089D0004C4D4E4F505152535455565758595A5B5F +:1089E0005C5D5E5F606162636465666768696A6B4F +:1089F0006C6D6E6F707172737475767778797A7B3F +:108A00007C7D7E7F808182838485868788898A8B2E +:108A10008C8D8E8F909192939495969798999A9B1E +:108A20009C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB0E +:108A3000ACADAEAFB0B1B2B3B4B5B6B7B8B9BABBFE +:108A4000BCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBEE +:108A5000CCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDE +:108A6000DCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBCE +:108A7000ECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBBE +:108A8000FCFDFEFF808080818182828384858687D1 +:108A9000898A8C8D8F91939597999B9EA0A2A5A76B +:108AA000AAADAFB2B5000000FFFF000000112233F5 +:108AB000445566778899AABBCCDDEEFF00112233BE +:108AC000445566778899AABBCCDDEEFF62696E00DB +:108AD000BCEA0000C2EA000058EA0000AAEA00006E +:108AE000B0EA0000BCEA0000BCEA0000BCEA0000FA +:108AF000B6EA0000F8EC0000FCEC0000C2EC00005C +:108B0000ECEC0000F0EC0000F8EC0000F8EC0000E9 +:108B1000F8EC0000F4EC0000A2EC0000A6EC000071 +:108B20006CEC000096EC00009AEC0000A2EC000057 +:108B3000A2EC0000A2EC00009EEC0000F2EB0000B2 +:108B4000F6EB0000CCEB0000E6EB0000EAEB0000E7 +:108B5000F2EB0000F2EB0000F2EB0000EEEB0000A5 +:108B600070ED0000C4ED0000CAED0000D0ED000083 +:108B7000D6ED0000DCED0000E2ED0000E8ED0000C5 +:108B800098EE00009CEE000088EE00008CEE0000E5 +:108B900090EE000098EE000098EE000098EE0000C5 +:108BA00094EE0000F8F00000FCF00000E8F0000097 +:108BB000ECF00000F0F00000F8F00000F8F0000029 +:108BC000F8F00000F4F0000070F00000A0F00000E9 +:108BD00060F0000064F0000068F0000070F0000039 +:108BE00070F0000070F000006CF0000038F0000041 +:108BF0003EF00000F4EF000026F000002CF0000032 +:108C000038F0000038F0000038F0000032F00000CA +:108C100072F10000CEF10000D4F10000DAF10000A2 +:108C2000E0F10000E6F10000ECF10000F2F10000DC +:108C3000200000005F0001000000000000000000B4 +:108C400000000000B0000000F3F7600060C8010001 +:108C5000000000003B0002000000000000000000D7 +:108C6000000050040000000000005004030C01004C +:108C700012004006050501071F00400B0B0C000009 +:108C80006100F0090A1000FEB100800D0D0C00001B +:108C9000FF00000B0B0D00FF4701600302050107F9 +:108CA0004C016005040F01FD6A017005040F00FD11 +:108CB0008801600607070005A101500908080102A4 +:108CC000C101A003030500FEC9012006060300033D +:108CD000D201A00303030000D701A0050810FFFE86 +:108CE0001702B00A0A0C00005302F005050C000040 +:108CF00071023009090C0000A7022009090C0000CC +:108D0000DD02B00A0B0C00001F033009090C000043 +:108D10005503E0090A0C000091039009090C0000BA +:108D2000C703500A0A0C00000304E0090A0C000003 +:108D30003F04A003030900004D04A003030C00FD41 +:108D40005F045009080801027F0450090806010366 +:108D50009704500908080102B7043009090C000003 +:108D6000ED049010100F00FD6505B00B0D0CFF0019 +:108D7000B305200C0B0C0100F505900B0B0C00004B +:108D80003706300D0C0C01007F06C00A090C0100EB +:108D9000B506300A090C0100EB06600C0C0C000053 +:108DA0003307000D0B0C01007507F004030C0100E4 +:108DB00087073008080CFF00B707800B0B0C010079 +:108DC000F9078009090C01002F08400F0D0C010064 +:108DD0007D08000D0B0C0100BF08700D0D0C00008C +:108DE0000D09900B0A0C01004909700D0E0F00FDD2 +:108DF000B209A00B0A0C0100EE09F0090A0C0000F0 +:108E00002A0A60090A0C0000660AA00C0B0C01007B +:108E1000A80A600B0D0CFF00F60A0012120C0000ED +:108E2000620BC00A0B0C0000A40B600A0C0CFF00C4 +:108E3000EC0B800A0B0C00002E0C5005050F01FDF9 +:108E4000540CA0050810FFFE940C5005040F00FD03 +:108E5000B20C500908070102CE0C0008080200FEFF +:108E6000D60CA0090502010ADB0C900909090000D3 +:108E7000040DF00A0A0C0100400D20090909000048 +:108E8000690DF00A0A0C0000A50DD0090A090000BE +:108E9000D20DA005070C0000FC0D100B0A0C00FD04 +:108EA000380EE00A090C01006E0E7004030C01007C +:108EB000800E9004060FFEFDAD0EE009090C0100C6 +:108EC000E30E7004020C0100EF0EF0100F09010018 +:108ED000330FE00A090901005C0F300A0A0900009B +:108EE000890FF00A0A0C01FDC50FF00A0A0C00FDFB +:108EF00001109006060901001C1000080809000076 +:108F00004010A006070B00006710D00A09090100F5 +:108F10009010F0080A09FF00BD10600E0F09000054 +:108F20000111D008090900002A11F0080A0CFFFD00 +:108F300066115008080900008A11A005060F00FDFF +:108F4000B711D004030F01FDCE11A005050F00FDE0 +:108F5000F4115009090500040B12B00606060006BC +:108F60001D1200050304010323120010101100FE5E +:108F7000AB120010100C00000B130010100E00FFBD +:108F80007B130010100C0000DB13000B0B0C000017 +:108F90001D140010101000FE9D140010101000FE93 +:108FA0001D150012120E00FF9B150010101000FE80 +:108FB0001B160012120C000087160010101000FE85 +:108FC00007170008080E00FF3F17000C0C0E00FFEB +:108FD00093170012121000FE23180010100C00004E +:108FE0008318000E0A1002FED318000E0E1200FDA8 +:108FF0005119000E0E0F00FFBA19000E0E0E00FFE1 +:109000001C1A000E0A1002FE6C1A000E100EFFFF52 +:10901000DC1A000A0A0E00FF221B000A0A0E00FFDB +:10902000681B000E0E0E00FFCA1B000E0E0400048B +:10903000E61B0012120C0000521C0014141000FE5B +:10904000F21C00121410FFFE921D0010101000FE02 +:10905000121E000E0E0A0001581E000E0E0A00011C +:109060009E1E0014140E00FF2A1F0010100C00009A +:109070008A1F0010101000FE0A2000101111FFFEC0 +:109080009B20000E0F0E00FF0421000E0E1000FEAC +:109090007421000E0E0E00FFD621000A0C10FFFEF8 +:1090A0003622000E0E1000FEA622000E0E1000FE4C +:1090B00016230012120C0000822300101212FFFD72 +:1090C0002424000C0C1000FE84240014140F00FF54 +:1090D0001A250014140A00017E250014140A000148 +:1090E000E2250014140A000146260014140A0001A7 +:1090F000AA260014140A00010E270014150E00FF02 +:10910000A127000E0C1001FE0128000E0E1000FE1B +:10911000712800101111FFFD02290014140C000029 +:109120007A29000C0C1000FEDA292010110B000126 +:10913000BF0BF0AF0AE09E08D08C07C0000010BF44 +:109140001AE0F51F3F51F3E40F3E40F272081000A1 +:1091500005C003E000007A005C0000098007A00160 +:10916000FFFFFFFFFD033E733C833000F200C500AC +:10917000000F100E300002F000F2009FFFFFFFFF13 +:109180004138C336E3300089005C00000A7007A054 +:109190000000007900000000790000005CFFE92079 +:1091A00006FCBC9E900EB07900100F807900000D77 +:1091B000F579000003EFFD50000006CFFE400000EF +:1091C000795EF100007905F307007907F12FE9BC1A +:1091D000AFA003AEFFD700000079000000007900C7 +:1091E0000003DE800005D000E40C5001E3004C00D9 +:1091F0005A00A90006A004C04E00004C005A0D50B1 +:109200000000E41C58A0000003CE73E13CE900001C +:1092100000D60E40A800007C03C003D0002E203CE6 +:10922000003D000B7000E2098006D00004DDA000C4 +:1092300009EFB1000009E43CA00000D9007D000066 +:109240000CC01CA000003FAEC1000001DFC0000048 +:1092500003EB8F701800DB007F65F03F40008FEA62 +:1092600003F70000CF700BF966CFBF4008DFEA308C +:10927000A5000000000000F5F5E4E47200DA05F254 +:109280000BC00F703F405F206F107F006F105F209A +:109290003F400F700BC005F200DA3F300CB006F112 +:1092A00001F600E900BC00AD00AE00AD00BC00E975 +:1092B00001F606F10CB03F30004A000674A4A02B62 +:1092C000FFE5007FFB207B6B8D0004A000001300F6 +:1092D0000000051000000F5000000F5000011F514A +:1092E00010EFFFFFF3344F7440000F5000000F5099 +:1092F000000952FD0BA0C50F000111101FFFF30460 +:1093000044400312FC1E90000005F100000AB0006A +:10931000000F6000005F100000AB000000F60000CE +:1093200005F100000AB000000F6000004F100000BF +:10933000AC000000F6000004F100000AC000000EBE +:109340006000004F1000000008EFC50000CFA8CF5C +:109350007007F5000AF20DC00001F81F800000DC64 +:109360003F600000BD3F600000BD1F800000DC0DBD +:10937000C00001F807F5000AF200CFA8CF7000087E +:10938000EFC500EFFF367AF3005F3005F3005F3082 +:1093900005F3005F3005F3005F3005F3005F300533 +:1093A000F304BEFD7007FD98CF90280000BF0000B9 +:1093B0000007F2000000AF0000004F8000003FC037 +:1093C00000003EC100002EC100002ED100002EF88A +:1093D000777746FFFFFFFA6FFFFFFF0277779FB0B7 +:1093E00000000CE1000009F3000005F6000000DFBA +:1093F000E910000459FD00000006F40000003F647D +:10940000400008F3BFC98CFB007CFFD700000001BF +:10941000EB00000000BE100000006F500000002FA5 +:10942000900000000CD000000008F301D50003F804 +:10943000002F6000ED2223F7216FFFFFFFFF815512 +:109440005556F9520000002F6000000002F600059A +:10945000FFFFFF007F77777008E0000000AD00009D +:10946000000BC2100000DFFFFB30045568FF200036 +:109470000004F80000000F92500005F68FD98AFD15 +:10948000105BEFE9100005CEFC60009FC88B7005F3 +:10949000F80000000CD00000001F800000002F68C2 +:1094A000EFFA103FEE648FD02FF10006F40EC000EB +:1094B00002F609F10006F301DE869FB00019EFD82D +:1094C000008FFFFFFFE8F77777FC8F00004F559084 +:1094D000000BE0000002F80000009F1000000FB039 +:1094E000000006F4000000DD0000003F7000000AEC +:1094F000F1000001F90000005CFFD70006FC76AF28 +:10950000A00CD00009F10DC00007F207F7115EC0F2 +:1095100000BFFFFE1009F9547ED02F800004F64FE3 +:10952000500000F81FA00005F609FB76AFD0006CD4 +:10953000FFD810008EFD80000CF868FC005F500022 +:109540003F708F00000EC07F30001FF01FD413CF7C +:10955000F104EFFFA9F00002310AF00000000EA0B4 +:109560000000009F3009A78DF70007DFEB40001EC9 +:1095700092FC0310000000000312FC1E901E92FCDF +:109580000310000000000001E91FD0A80E30A00069 +:1095900000004200017DF3039FE810BFB50000EE1C +:1095A00081000017DFB4000004AFD200000182EF99 +:1095B000FFFFF3455555510000000001111110EF58 +:1095C000FFFFF33444444050000000EF92000006D7 +:1095D000CFB50000039FE200006CF3029EE920BFBC +:1095E000C600009300000004BEFD7007FC77BFA01A +:1095F000270000CF00000009F0000001EA00000190 +:10960000DD100000CE1000003F60000001300000BF +:10961000000100000006F50000005F400000001798 +:10962000CEFDB500000005FB53237DC200006E4057 +:109630000000008E1002F401AEFA3F49B00A901EFD +:10964000E65BEF40E30F308F1000AF40981F00D96A +:1096500000003F406A3F00E800001F405C1F00D947 +:1096600000003F406A0F308F1000AF40980A901EF4 +:10967000D65ADEA6F203F301AFFA16EE50006E40A2 +:1096800000000000000006FB5323750000000017D7 +:10969000CEFDA30000000002FD00000000009FF4CA +:1096A000000000000F9EB000000006F27F200000C6 +:1096B00000DC01F80000004F600BE000000BF00040 +:1096C0004F600001FA1111ED00008FFFFFFFF30062 +:1096D0000EC444444FA006F4000000AF10CD0000BB +:1096E0000002F85FFFFFEB4005F85557DF405F4091 +:1096F0000001FA05F400000FA05F51113AF405FFD4 +:10970000FFFFFA005F744459FA05F4000008F25FA5 +:109710004000005F45F4000009F25F85556AFB05D3 +:10972000FFFFFFD70000028DFEB40004FFB89DF9D3 +:1097300002FD20000850BF200000000FA000000024 +:1097400002F6000000002F6000000000FA00000098 +:10975000000BF2000000002FD2000085005FFB89A3 +:10976000DF800029DFEB405FFFFFEA30005F977783 +:109770009EF8005F400000AF605F4000000DE05FBA +:1097800040000006F45F40000003F65F4000000365 +:10979000F65F40000006F45F4000000DE05F40000F +:1097A00000AF605F97779EF8005FFFFFEA30005FD1 +:1097B000FFFFFF95F97777745F40000005F4000024 +:1097C000005F51111105FFFFFFE05F74444405F491 +:1097D0000000005F40000005F40000005F9777770D +:1097E00065FFFFFFFD5FFFFFFF95F97777745F402F +:1097F000000005F40000005F40000005F522221083 +:109800005FFFFFFE05F85555405F40000005F4007E +:1098100000005F40000005F400000000018DFEB56F +:1098200000004FFB89DFB002FD200006600BF20054 +:109830000000000FA0000000002F60000000002FBB +:1098400060000009F00FA0000009F00BF200000911 +:10985000F002FD20000AF0004FFB89DFC000028DFE +:10986000FEC6005F4000004F55F4000004F55F4065 +:1098700000004F55F4000004F55F5222225F55FFAF +:10988000FFFFFFF55F8555558F55F4000004F55F28 +:109890004000004F55F4000004F55F4000004F55B4 +:1098A000F4000004F55F45F45F45F45F45F45F455F +:1098B000F45F45F45F45F400FFFFFA007777FA00A4 +:1098C0000000FA000000FA000000FA000000FA00B0 +:1098D0000000FA000000FA000000F9072003F60D6E +:1098E000E98EF101AEFB305F400002EB05F40001B0 +:1098F000EC005F4001DE1005F400CE20005F40BFA9 +:10990000300005F49F9000005FCFEF400005FF910D +:10991000EE10005FA003FC0005F40006F8005F40B5 +:109920000009F505F400000CF25F40000005F400AA +:1099300000005F40000005F40000005F40000005EB +:10994000F40000005F40000005F40000005F4000EC +:109950000005F40000005F97777725FFFFFFF55FB4 +:10996000400000001E95FC00000008F95FF50000B3 +:1099700002FF95FDE00000AEF95F5F70003F5F956C +:10998000F38F100BC0F95F31E904F30F95F307F281 +:10999000DB00F95F300DEF200F95F3005F9000F9C9 +:1099A0005F300071000F95F300000000F95F500078 +:1099B000004F55FF200004F55FFD00004F55FAF9F8 +:1099C0000004F55F4AF5004F55F40DF204F55F40D1 +:1099D0002FD04F55F4006F94F55F4000AFAF55F4B2 +:1099E0000000DFF55F400002FF55F4000006F500BF +:1099F000018DFEB5000004FFB89EFA0002FD2000B4 +:109A000008F900BF2000000AF20FA00000003F721A +:109A1000F600000000F92F600000000F90FA00002F +:109A20000003F70BF2000000AF202FD200008F9050 +:109A3000004FFB89EFA0000028DFEB50005FFFFF25 +:109A4000D7005F9778BFC05F400007F65F40000017 +:109A5000FA5F400000FA5F400003F85F62236EF196 +:109A60005FFFFFFD305F855420005F400000005F16 +:109A7000400000005F4000000000018DFEB50000C6 +:109A8000004EFB89EFA00002FD200008F9000AF259 +:109A9000000000AF200FA00000003F702F6000000A +:109AA000000F902F600000000F901F900000002F0B +:109AB000700BF1000000AF2003FC100007F900005C +:109AC0006FFA78DFB0000003AEFFC50000000000B1 +:109AD0003ED415B000000002BFFF8000000000016E +:109AE00031005FFFFFD7005F9778BFC05F4000077E +:109AF000F65F400000FA5F400000FA5F400003F8A4 +:109B00005F52236EE15FFFFFFC305F8555F9005F18 +:109B100040007F405F40000CE05F400002F9005CC5 +:109B2000EFD92007FC87AF900EC00001100F800016 +:109B300000000DF500000003EFEA50000005AEFE46 +:109B4000400000004EF100000005F308000008F29C +:109B50002FFA77BFA0029DFFC700FFFFFFFFF56749 +:109B600078FB77720001F700000001F700000001A8 +:109B7000F700000001F700000001F700000001F706 +:109B800000000001F700000001F700000001F700ED +:109B9000000001F700006F3000008F16F30000088E +:109BA000F16F3000008F16F3000008F16F300000F5 +:109BB0008F16F3000008F16F3000008F05F40000ED +:109BC00009F03F700000CD00DE20005F8004FFA898 +:109BD000BFD00003BEFD81000CE00000006F306FBD +:109BE0005000000CC000FB000003F60009F200006A +:109BF000AE00002F80001F900000CE0007F2000092 +:109C000005F600DB0000000EC04F500000008F3B47 +:109C1000E000000002FBF8000000000BFF10000055 +:109C200000004FB000005F400000DF000002F50FB1 +:109C3000900002FF400007F00BE00007FE90000CD0 +:109C4000B006F3000CAAE0001F6001F8001F54F3F7 +:109C5000006F1000CD007F10F800CC00007F20CBFB +:109C600000AD01F700002F71F6005F26F200000D35 +:109C7000C6F1000F7BD0000008FDC0000BDF8000A4 +:109C80000003FF700006FF30000000EF200001FE1F +:109C900000003F900000CD008F40007F3000DE10BC +:109CA0002F800003FA0CD0000007FBF30000000C2B +:109CB000F800000001EFC0000000BF7F7000006FDF +:109CC00060AF20002FB001ED000CF10004F807F6A2 +:109CD000000009F30CE0000007F203F700001F90FA +:109CE00000AF10009E10001FA002F6000008F30B4A +:109CF000D0000000EC4F400000005FFB00000000BF +:109D00000CF20000000009F00000000009F0000063 +:109D1000000009F00000000009F000003FFFFFFF15 +:109D2000FD01777777BF900000001EC00000000C97 +:109D3000F200000008F500000004F900000001EC4A +:109D400000000000CF200000008F500000004F9066 +:109D50000000001EF877777705FFFFFFFFF05FFF39 +:109D600005F7505F3005F3005F3005F3005F300505 +:109D7000F3005F3005F3005F3005F3005F3005F757 +:109D8000505FFF007E0000001F4000000C900000AC +:109D900007E0000002F4000000C90000007E00009F +:109DA000002F4000000C90000007E0000002F300CC +:109DB0000000D90000007E0000002F3000000D9050 +:109DC000000007E0BFFA35EA00EA00EA00EA00EA2C +:109DD00000EA00EA00EA00EA00EA00EA00EA35EAFE +:109DE000BFFA002F8000009DE00000F3D50006D0F0 +:109DF0007B000C601F203F100B809A0004E0FFFFE7 +:109E0000FFFF1111111107F60003E7019EFD80000D +:109E1000CE87AF90020000AF00000006F202BEFF46 +:109E2000FF20EC4227F22F50007F20EC427FF2020D +:109E3000BFFB6F208F000000008F000000008F002C +:109E40000000008F2BFEB3008FEC78EF308FA00066 +:109E50001EC08F200007F18F000005F38F20000740 +:109E6000F18FA0001ED08FEC78EF308E2BFEB30068 +:109E7000003AEFC4004FD87CF40DD0000713F60071 +:109E800000004F30000003F60000000DD000061067 +:109E90004FD77CF4003AEFC40000000001F7000047 +:109EA0000001F700000001F7003BFFA3F704FD8766 +:109EB000CEF70ED0000BF73F600003F74F300001E4 +:109EC000F73F500003F70EC0000AF704FC65BEF729 +:109ED000003BFFB2F7003BFEA20004FC67EE200E41 +:109EE000C0001EA03F500007F04FFFFFFFF13F7280 +:109EF0002222200EC000020004FD87AF50003AEF7E +:109F0000D600005DFC002FB57004F3000CFFFFA02D +:109F100048F753005F300005F300005F300005F3A1 +:109F200000005F300005F300005F3000003BFFB22F +:109F3000E904FE87CFF90ED1000AF93F600001F96C +:109F40004F400000F93F600001F90ED00009F9040C +:109F5000FD87CFF8003BFFB3F700000005F409E9E7 +:109F600077AFB0017CFFD8008F00000008F0000040 +:109F7000008F00000008F2BFEA108FFB89FD08F88F +:109F80000006F48F10001F78F00000F88F00000F1B +:109F900088F00000F88F00000F88F00000F89E1A8B +:109FA000F20008F08F08F08F08F08F08F08F08F0AB +:109FB0000007E20009F30000000007F10007F100CC +:109FC00007F10007F10007F10007F10007F10007B2 +:109FD000F10007F10008F0186EC03EFC208F000071 +:109FE0000008F00000008F00000008F0001DD18F75 +:109FF000001DE208F01DE2008F2DF30008FEFF7047 +:10A00000008FE2BF3008F201EE108F0003FB08F072 +:10A010000007F78F8F8F8F8F8F8F8F8F8F8F8F8E00 +:10A020003CFE913BFEA208FF969FCFC68FD08F705B +:10A03000009FC0005F58F10005F60001F78F000097 +:10A040004F40000F88F00004F40000F88F00004F2C +:10A0500040000F88F00004F40000F88F00004F402B +:10A06000000F808E3BFEA108FFA68FD08F80006F6F +:10A0700048F10001F78F00000F88F00000F88F0012 +:10A08000000F88F00000F88F00000F80003BEFC445 +:10A090000004FD87CF600ED0000BF13F600003F598 +:10A0A0004F300001F73F600003F50ED0000BF104C4 +:10A0B000FD77CF60003BEFC4008E3BFEB3008FFB0B +:10A0C00057DF308F90000DC08F100007F18F000018 +:10A0D00005F38F200007F18FA0001ED08FEC78EFE2 +:10A0E000308F2BFEB3008F000000008F00000000B7 +:10A0F0008F00000000003BFFA2F704FD87DEF70E93 +:10A10000D0000BF73F600003F74F300001F73F60CE +:10A110000003F70ED0000BF704FD77CEF7003BFFEE +:10A12000A3F700000001F700000001F700000001A4 +:10A13000F78E2BF08FED908FA0008F20008F000006 +:10A140008F00008F00008F00008F000002AEFD9195 +:10A150001ED769D04F3000002FB4100006EFFD600D +:10A1600000015BF5010000F75FA76BF319DFEC401E +:10A1700005F300005F3000CFFFFA048F753005F360 +:10A1800000005F300005F300005F300004F40000C1 +:10A190001FC680005DFC10AE00002F5AE00002F5E3 +:10A1A000AE00002F5AE00002F5AE00002F59F0007B +:10A1B00004F56F3000AF51EE76BFF502BEFB3F50A5 +:10A1C0000DC00000CB06F20002F500F90009E00026 +:10A1D0009E000F80002F606F10000CC0CB000005A8 +:10A1E000F6F4000000EFD00000008F7000BB00000C +:10A1F0009F10004F16F1000EF60009C00F6005FC1D +:10A20000B000F600AC00AB5F105F1005F10F50F727 +:10A210000AB0000F76F009C0F50000ACBA004F8F0D +:10A22000000004FF4000EFA000000EE00008F40072 +:10A23000004F70009F208F305F5000CD2E900002A5 +:10A24000FFD000000AF6000004FDE10001EB0DC0A4 +:10A2500000BE103F806F40007F400DC00000CB0665 +:10A26000F30002F400EA0009D0008F101F70001FF5 +:10A27000707F10000AE0D9000003F9F2000000CF5F +:10A28000B00000006F40000000AD00001C79F50038 +:10A29000001AEE7000004FFFFFF915555BF4000047 +:10A2A0004F800001EC00000BE100008F400004F73C +:10A2B00000001EE555535FFFFFFC002CF500AF6169 +:10A2C00000CC0000DB0000DB0000DB0002EA001F26 +:10A2D000F40005FA0000DB0000DB0000DB0000CC2E +:10A2E0000000AF61002CF55F15F15F15F15F15F10E +:10A2F0005F15F15F15F15F15F15F15F15F10BE801D +:10A3000003AF4001F6001F7001F7001F7000F90055 +:10A310000AFB00FB201F7001F7001F7001F603AF5E +:10A3200040BE900000000000003DE400B50C86F542 +:10A330001E20F003EF90020000100002CE900D40AE +:10A34000893B000E3B000E0D408902CE900008F8BC +:10A35000EFE7F70000000000000000000000000030 +:10A360000049DC0000000016BFFFFF0000038DFF66 +:10A37000FFFFFF0000CFFFFFFFFFFF0000FFFFFF19 +:10A38000FFC7FF0000FFFFEA5100FF0000FF83004E +:10A390000000FF0000FF00000000FF0000FF0000C1 +:10A3A0000000FF0000FF00000000FF0000FF0000B1 +:10A3B0002BFFFF0000FF0000DFFFFF2BFFFF00006F +:10A3C000DFFFFDDFFFFF00002BFFB2DFFFFD00001E +:10A3D0000000002BFFB20000000000D00FFFFFFFC5 +:10A3E000FFF00DFFFFC888888CFFFFF00F80000092 +:10A3F00008F00FF00F80000008F00FFFFF80000052 +:10A4000008FFFFF00FECCCCCCEF00FF00FECCCCC73 +:10A41000CEF00FFFFF80000008FFFFF00F8000006C +:10A4200008F00FF00F80000008F00FFFFFC88888C9 +:10A430008CFFFFD00FFFFFFFFFF00DDFFF73FFFF6B +:10A44000FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFFD2 +:10A45000FFFFFFDFFF73FFFFFFFFFD0000000000B5 +:10A46000000000DFFF73FFFFFFFFFDFFFFA5FFFF01 +:10A47000FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFFF2 +:10A48000FFFFFD0000000000000000DFFF73FFFF82 +:10A49000FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF82 +:10A4A000FFFFFFDFFF73FFFFFFFFFD000000000065 +:10A4B000000AB1000000000000BFFC000000000026 +:10A4C0000BFFFB0000000000BFFFC01BA000000B43 +:10A4D000FFFC00CFFB0000BFFFC000BFFFB00BFFC1 +:10A4E000FC00000CFFFBBFFFC0000000CFFFFFFB24 +:10A4F000000000000CFFFFB00000000000BFFB00E8 +:10A5000000000000000BB00000000003000000038A +:10A5100008FC10001CF8FFFC101CFFF5FFFC2CFFD2 +:10A52000F505FFFFFFF50005FFFFF500001DFFFD2E +:10A5300010001CFFFFFC101CFFF9FFFC1CFFF505C1 +:10A54000FFFCDFF50005FFD1A4000004A10000001E +:10A550004FE00000000002106FF1031000005FD018 +:10A560006FF13FD10003FFF16FF15FFD000DFF4080 +:10A570006FF109FF704FF7006FF100CFE09FF0001F +:10A580006FF1005FF3BFC0006FF1002FF5BFC00097 +:10A590004FE0001FF6AFE0000000004FF46FF40042 +:10A5A000000000AFF00FFE10000005FFA006FFD373 +:10A5B00000007FFF20009FFFDABEFFF4000006FFCF +:10A5C000FFFFFD3000000017BDCA50000000000072 +:10A5D0008BB8000000000000FFFF00000000300604 +:10A5E000FFFF60030004FDDFFFFFFDEF400DFFFFF5 +:10A5F000FFFFFFFFD04FFFFFF99FFFFFF408FFFFB2 +:10A600002002FFFF8000FFF900009FFF0000FFF91C +:10A6100000009FFF0008FFFF2002FFFF804FFFFFA9 +:10A62000F99FFFFFF40DFFFFFFFFFFFFD004FEDFE8 +:10A63000FFFFFDDF40003006FFFF60030000000069 +:10A64000FFFF0000000000008BB8000000000000C9 +:10A6500003DD303FF3000000006FFFF54FF4000012 +:10A660000009FF99FFBFF4000001BFF6226FFFF45D +:10A6700000002DFE35FF53EFF40004FFC18FFFF8FB +:10A680002DFE407FFA1AFFFFFFA1AFF7CF82DFFF59 +:10A69000FFFFFD28FC140EFFFFFFFFFFE041000F4E +:10A6A000FFFFFFFFFFF000000FFFF9008FFFF0003A +:10A6B000000FFFF8008FFFF000000FFFF8008FFF82 +:10A6C000F000000EFFF6006FFFE000000000DFFD6D +:10A6D000000000000000FFFF000000000000FFFF7E +:10A6E000000000000000FFFF000000000000FFFF6E +:10A6F000000000000000FFFF000000004FFFFFFF10 +:10A70000FFF400000BFFFFFFFFB0000000BFFFFFE2 +:10A71000FB000000000BFFFFB00000000000BFFBCB +:10A72000000000DFFFFC1BB1CFFFFDFFFFFFC22CCD +:10A73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10A74000F0E0FFDFFFFFFFFFFFFFFD0004EFFFFF73 +:10A75000FFFE4000001EFFFFFFFFFFE10000AFB063 +:10A760000000000BFA0005FF1000000001FF501E62 +:10A77000F600000000006FE1AFB000000000000B29 +:10A78000FAFFFFFF800008FFFFFFFFFFFFF1001F40 +:10A79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10A7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFF29 +:10A7B000FFFFFFFFFFFFF8000006BDDA5002FF00B9 +:10A7C00005EFFFFFFE42FF007FFFA77BFFF9FF05BC +:10A7D000FFC100002CFFFF0EFC00000222DFFF5F24 +:10A7E000F200000FFFFFFF8FB000000FFFFFFF0020 +:10A7F000000000000000000000000000000000FF5A +:10A80000FFFFF000000BF8FFFFFFF000002FF4FF48 +:10A81000FD22200000CFE0FFFFC200002CFF40FF20 +:10A820009FFFB76AFFF700FF24DFFFFFFE5000FF26 +:10A830002005ACDB600000000000000000008D007F +:10A840000008FF00008FFFDFFFFFFFFFFFFFFFFF9C +:10A85000FFFFFFFFFFFFFFFFFFFFFFDFFFFFFF0027 +:10A86000008FFF000008FF0000008D0000000000C6 +:10A8700000000000000000008D0000000008FF0044 +:10A880000000008FFF0000CFFFFFFF0150FFFFFF20 +:10A89000FF06F7FFFFFFFF00BEFFFFFFFF00AEFF59 +:10A8A000FFFFFF05F8DFFFFFFF026000009FFF00D2 +:10A8B00000000009FF00000000009E0000000000F2 +:10A8C0000000000000000000000610000000000072 +:10A8D00000001FD2000000008D000003EE100000F9 +:10A8E00008FF000AB12FB000008FFF0005FC07F43D +:10A8F000DFFFFFFF02505F60F9FFFFFFFF06F70D6C +:10A90000C0BDFFFFFFFF00AE09F09FFFFFFFFF008C +:10A91000AE09F08FFFFFFFFF06F70DC0ADDFFFFFB1 +:10A92000FF02505F60E900008FFF0005FC06F400A5 +:10A930000008FF000AB12FB00000008D000002EEF9 +:10A94000100000000000001FD20000000000000006 +:10A950000610008FFFFFFFFFFFFFF8FFFCFFFFFF68 +:10A96000FFFFFFFF202FFFFFFFFFFFFC000CFFFF9B +:10A97000EEFFFFFF202FFFFE22EFFFFFFCFFFFE2B5 +:10A98000002EFFFFFE4EFE200002FFFFE202C2008B +:10A990000000FFFF200000000000FFFF000000009B +:10A9A0000000FFFFFFFFFFFFFFFFFF8FFFFFFFFF25 +:10A9B000FFFFF80000000000FF300001CCFF400066 +:10A9C0002DFFFF4003EFFFFF403FFFFFFF44FFFF6E +:10A9D000FFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10A9E000FFAFFFFFFFFF45FFFFFFFF404FFFFFFFF0 +:10A9F0004003EFFFFF40002EFFFF300001CC0000BE +:10AA0000000000000000000000008F910000000026 +:10AA100000FFFF7000000000FFFFFD40000000FF8E +:10AA2000FFFFFA100000FFFFFFFFF70000FFFFFF2E +:10AA3000FFFFD500FFFFFFFFFFFFB2FFFFFFFFFF9C +:10AA4000FFFDFFFFFFFFFFFFFDFFFFFFFFFFFFB267 +:10AA5000FFFFFFFFFFD500FFFFFFFFF70000FFFF35 +:10AA6000FFFA100000FFFFFD40000000FFFF700034 +:10AA70000000008EA10000000000000000000000A7 +:10AA800000000000000000008FFFF8008FFFF8FFBB +:10AA9000FFFF00FFFFFFFFFFFF00FFFFFFFFFFFFC4 +:10AAA00000FFFFFFFFFFFF00FFFFFFFFFFFF00FFB3 +:10AAB000FFFFFFFFFF00FFFFFFFFFFFF00FFFFFFA4 +:10AAC000FFFFFF00FFFFFFFFFFFF00FFFFFFFFFF94 +:10AAD000FF00FFFFFFFFFFFF00FFFFFFFFFFFF0083 +:10AAE000FFFFFF7FFFF7007FFFF78FFFFFFFFFFFF5 +:10AAF000F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10AB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10AB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10AB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10AB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10AB4000FFFFFFFFFF8FFFFFFFFFFFF80000000088 +:10AB500000CC100003FFFFD20004FFFFFE3004FF13 +:10AB6000FFFFF404FFFFFFFF54FFFFFFFFF9FFFFAC +:10AB7000FFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFEB +:10AB8000FF44FFFFFFF304FFFFFE3004FFFFD2008E +:10AB900004FFCC100003FF00000000000000002DA7 +:10ABA000D2000000000001EFFE10000000001DFFB9 +:10ABB000FFD100000000CFFFFFFC0000000BFFFFF3 +:10ABC000FFFFB00000AFFFFFFFFFFA0009FFFFFF2C +:10ABD000FFFFFF900FFFFFFFFFFFFFF008FFFFFFEA +:10ABE000FFFFFF8000000000000000000CFFFFFFDF +:10ABF000FFFFFFC00FFFFFFFFFFFFFF00FFFFFFF93 +:10AC0000FFFFFFF00CFFFFFFFFFFFFC00000001A77 +:10AC100040000001DFF000001DFFA00001DFFA008E +:10AC2000001DFFA00001DFFA00000CFFA000000DD6 +:10AC3000FF80000001DFF80000001DFF8000000120 +:10AC4000DFF80000001DFF80000001DFF0000000C1 +:10AC50001B5004A10000000FFD1000000AFFD100EE +:10AC60000000AFFD1000000AFFD1000000AFFD1092 +:10AC700000000AFFC0000008FFD000008FFD100098 +:10AC800008FFD100008FFD100008FFD100000FFD6C +:10AC900010000005B1000000000004FF40000000AB +:10ACA0000008FF800000000008FF8000000000088E +:10ACB000FF800000000008FF80000048888CFFC86B +:10ACC0008884FFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10ACD00048888CFFC88884000008FF8000000000BE +:10ACE00008FF800000000008FF800000000008FF4F +:10ACF000800000000004FF40000014444444444429 +:10AD000041EFFFFFFFFFFFFEFFFFFFFFFFFFFF7BA6 +:10AD1000BBBBBBBBBBB7000005ADFFDA50000000FA +:10AD200004DFFC88CFFD4000007FFE400004EFF709 +:10AD30000007FFF4009E804FFF704FFFC000AFF888 +:10AD40000CFFF4DFFF809AFFFE08FFFDDFFF80EFBE +:10AD5000FFFE08FFFD4FFFC08FFFF80CFFF407FF59 +:10AD6000F408EE804FFF70007FFE400004EFF80013 +:10AD70000004DFFC88CFFD4000000005ADFFDA5085 +:10AD800000008C200000000000000000DFE4000054 +:10AD90000000000000001BFF8049DFFDA50000004F +:10ADA000007FFFFFD88CFFD400000004EFF8000004 +:10ADB0004EFF700000001CFF69E804FFF70004E389 +:10ADC000009FFEFF80CFFF400DFF7005FFFFE08F6B +:10ADD000FFD00DFFF7002DFFE08FFFD004FFFC0038 +:10ADE00000AFF8CFFF30007FFF400006FFFFF70005 +:10ADF0000008FFF400003EFFA00000004DFFC882E5 +:10AE000001BFF7000000005ADFFC1008FFA000009F +:10AE10000000000000004EFD0000000000000000E7 +:10AE200002C8000000002DD2000000000000000059 +:10AE3000BFFB0000000000000005FFFF5000000005 +:10AE40000000000DFFFFD00000000000007FFFFFAA +:10AE5000F7000000000001FFD88DFF100000000087 +:10AE60000AFFA00AFFA0000000003FFFB00BFFF3A5 +:10AE700000000000CFFFC00CFFFC00000005FFFF3A +:10AE8000D00DFFFF5000000EFFFFF99FFFFFE00015 +:10AE9000008FFFFFE22EFFFFF80002FFFFFF900987 +:10AEA000FFFFFF100AFFFFFFE33EFFFFFFA00FFFC2 +:10AEB000FFFFFFFFFFFFFFF008FFFFFFFFFFFFFFA8 +:10AEC000FF80000000000000000000000000000003 +:10AED000D800000000000000FF80FFFF700007FFA7 +:10AEE000FFF8FFFFF6006FFFFFFD788EFF15FFE80C +:10AEF000FFE20002E54FFE20FE20000013FFF300FA +:10AF0000520000003FFF310052000002EFF45E20CB +:10AF1000FE20788EFF51FFE8FFE2FFFFF6006FFF93 +:10AF2000FFFDFFFF700007FFFFF8000000000000BA +:10AF3000FF80000000000000D800000000000000BA +:10AF4000000000000000000000000001DD10000013 +:10AF500000001DFFD100000001DFFFFD1000001DFB +:10AF6000FF99FFD10001DFF9009FFD101DFF900048 +:10AF700009FFD1BFF90000009FFB5F9000000009AE +:10AF8000F500000000000000000000000000005F6D +:10AF90009000000009F5BFF90000009FFB1DFF9025 +:10AFA0000009FFD101DFF9009FFD10001DFF99FF8F +:10AFB000D1000001DFFFFD100000001DFFD10000E7 +:10AFC000000001DD10000000000000000000000093 +:10AFD0000000000000000000001DD1000000000083 +:10AFE000000001DFFD10EFFFFFFFD0001DFFFFD1CC +:10AFF000AFFFFFFFF000CFCFFCFC0000000FF00020 +:10B000006B1FF1B60000000FF000000FF000000011 +:10B01000000FF000000FF0000000000FF000000F24 +:10B02000F00000006B1FF1B6000FF0000000CFCF62 +:10B03000FCFC000FFFFFFFFA1DFFFFD1000DFFFF1B +:10B04000FFFE01DFFD10000000000000001DD10028 +:10B05000000000000000000000008FFFFFE2000081 +:10B060000000FFFFFFFE20000000FFFFFFFFFFFFCB +:10B07000FFF8FFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10B08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10B09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10B0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10B0B000FFFF8FFFFFFFFFFFFFF80000000BB00056 +:10B0C0000000000000BFFB00000000000BFFFFB00D +:10B0D00000000000BFFFFFFB0000000BFFFFFFFFB1 +:10B0E000B000004FFFFFFFFFF400000000FFFF0073 +:10B0F0000000000000FFFF000000000000FFFF0054 +:10B100000000000000FFFF000000000000FFFF0043 +:10B110000000DFFFF0DFFD0FFFFDFFFFF900009FE4 +:10B12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03E +:10B13000E0FFDFFFFFFFFFFFFFFD0000000000005A +:10B1400000000000000000000AEA620000000000A9 +:10B1500002FFFFF000000000009FFFFF0000000062 +:10B16000000FFFFFD00000000002FFFFFB00000007 +:10B17000000003EFFF70000000000004FFF2000079 +:10B1800000000000BFFB0000000000006FFF300067 +:10B19000000200004FFF9000028FF3006FFFD0000D +:10B1A0000AFFFFE4BFFFD10000EFFFFFFFFFD10068 +:10B1B000000AFFFFFFFF900000006FFFFFFB300061 +:10B1C000000002FFDB72000000000008EE800000BB +:10B1D000066108FFFF80002DFFD0EF33FE002EFF39 +:10B1E000F30EF33FE02EFFF3008FFFFF6EFFF3003F +:10B1F000008EFFFFFFF300000002EFFFF3000000EE +:10B20000002EFFFF30000008EFFFFFFF300008FFB7 +:10B21000FFF6EFFF3000EF33FE02EFFF300EF33F9B +:10B22000E002EFFF308FFFF80002DFFD008EE80044 +:10B23000000066100000DFFFFF0D200000FFFFFF91 +:10B240000FE20000FFFFFF0FFDDFF0FFFFFF200018 +:10B25000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF02B +:10B26000FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFF0C +:10B27000FFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFC +:10B28000FFFFF0FFFFFFFFFFFFF0DFFFFFFFFDFF0E +:10B29000F90000000000FFFFFFFFFF0000DFFFFFDD +:10B2A000FFFD00008FFFFFFFFFC200FFFFFFFFFF5A +:10B2B000FE20FF00000001FFE2FF00000000FFFC95 +:10B2C000FF00000000FFFFFF00000000FFFFFFFF86 +:10B2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1170 +:10B2E000BFFFFFFFFFF1001FFFFFFFFFF1001FFF88 +:10B2F000FFFFFFFB11BFFFFFFFFFFFFFFFFFFF8F00 +:10B30000FFFFFFFFFFF800DFFFFD000001FFFFFC74 +:10B31000000003FFFFF7000006FFFFF2000008FF38 +:10B32000FFD000000AFFFFFFFFD00CFFFFFFFFA0D0 +:10B330000EFFFFFFFF200DFFFFFFF80000000AFFD8 +:10B34000E00000000EFF500000002FFC0000000095 +:10B350005FF3000000009FA000000000DF1000006D +:10B360000000D70000000004EE40000000DFFF995D +:10B37000FFFD0000FFFF99FFFF0000FFFFFFFFFF41 +:10B380000000FFFF9000000000FFFF0DFFFF0D20F9 +:10B39000FFFF0FFFFF0FE2FFFF0FFFFF0FFDFFFF9C +:10B3A0000FFFFF2000FFFF0FFFFFFFFFFFFF0FFF5B +:10B3B000FFFFFFFFFF0FFFFFFFFFDFFF0FFFFFFF9D +:10B3C000FF00000FFFFFFFFF00000FFFFFFFFF0068 +:10B3D000000DFFFFFFFD000000CC00000000000298 +:10B3E000FF3000000001BFFFFC2000001EFFFFFF38 +:10B3F000E100009FFFFFFFF80000EFFFFFFFFD00EF +:10B4000000FFFFFFFFFF0001FFFFFFFFFF0003FF43 +:10B41000FFFFFFFF3008FFFFFFFFFF801EFFFFFF62 +:10B42000FFFFE1CFFFFFFFFFFFFCCFFFFFFFFFFFAD +:10B43000FC0000000000000000000EFFE000000023 +:10B440000004EE4000008FFFFFFFFFFFFFFFF8FF4B +:10B45000FFFFFFFFFFFFFFFFFF00F00F00F00F00F7 +:10B46000FFFF00F00F00F00F00FFFFFFFFFFFFFFE7 +:10B47000FFFFFFFFF808808808808FFFFFF8088033 +:10B480008808808FFFFFFFFFFFFFFFFFFFFFFF0028 +:10B49000F00000000F00FFFF00F00000000F00FFB1 +:10B4A000FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFF1C +:10B4B000FFF8000000000000000000000000000095 +:10B4C0000003AF70000000000004CFFFF000000098 +:10B4D0000006DFFFFFA000000017EFFFFFFF3000B6 +:10B4E0000018FFFFFFFFFC00002AFFFFFFFFFFF433 +:10B4F0000008FFFFFFFFFFFFD0000FFFFFFFFFFF70 +:10B50000FF600008FFFFFFFFFFFE000000000000DB +:10B51000FFFFF7000000000000FFFFF10000000047 +:10B520000000FFFF80000000000000FFFF1000008F +:10B5300000000000FFFA00000000000000FFF20021 +:10B540000000000000008F800000000000000000EC +:10B5500000000000DFFFFFF0D200FFFFFFF0FE2041 +:10B56000FFFFFFF0FFE2FFFFFFF0FFFDFFFFFFF235 +:10B570000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10B58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10B59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10B5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFCB +:10B5B000FFFFFFFD00000000000000000000000091 +:10B5C000049CEFFEC94000000007EFFFFFFFFFFEF5 +:10B5D000700004DFFFFCA88ACFFFFD406FFFD5009D +:10B5E0000000005DFFF6CFF60000000000006FFCD9 +:10B5F0001A30005ADFFDA50003A100004DFFFFFF38 +:10B60000FFD400000005FFFEA88AEFFF50000001F4 +:10B61000DF70000007FD1000000012000000002194 +:10B620000000000000004EE40000000000000000E8 +:10B63000EFFE0000000000000000EFFE0000000030 +:10B64000000000004EE4000000008FFFFFFFFFFF3E +:10B65000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0087 +:10B660000000000000000FFDFF0FFFFFFFFFFFFFC6 +:10B670000FFFFF0FFFFFFFFFFFFF00FFFF0FFFFFA9 +:10B68000FFFFFFFF00FFFF0FFFFFFFFFFFFF0FFFA9 +:10B69000FF000000000000000FFDFFFFFFFFFFFFA5 +:10B6A000FFFFFFF08FFFFFFFFFFFFFFFFF808FFF18 +:10B6B000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF19 +:10B6C000FFF0FF000000000000000FFDFF0FFFFF74 +:10B6D000FFFFF0000FFFFF0FFFFFFFFFF00000FF75 +:10B6E000FF0FFFFFFFFFF00000FFFF0FFFFFFFFF57 +:10B6F000F0000FFFFF000000000000000FFDFFFF43 +:10B70000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFFC8 +:10B71000FF808FFFFFFFFFFFFFFFFF80FFFFFFFFA7 +:10B72000FFFFFFFFFFF0FF000000000000000FFD23 +:10B73000FF0FFFFFFF0000000FFFFF0FFFFFFF00E5 +:10B74000000000FFFF0FFFFFFF00000000FFFF0FE2 +:10B75000FFFFFF0000000FFFFF00000000000000DF +:10B760000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF5A +:10B77000FFFFFFFFFF808FFFFFFFFFFFFFFFFF8047 +:10B78000FFFFFFFFFFFFFFFFFFF0FF0000000000D3 +:10B7900000000FFDFF0FFFF0000000000FFFFF0F84 +:10B7A000FFF00000000000FFFF0FFFF000000000AE +:10B7B00000FFFF0FFFF0000000000FFFFF00000080 +:10B7C000000000000FFDFFFFFFFFFFFFFFFFFFF086 +:10B7D0008FFFFFFFFFFFFFFFFF808FFFFFFFFFFFD8 +:10B7E000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF00F6 +:10B7F0000000000000000FFDFF000000000000003E +:10B800000FFFFF0000000000000000FFFF0000002D +:10B810000000000000FFFF000000000000000FFF1C +:10B82000FF000000000000000FFDFFFFFFFFFFFF13 +:10B83000FFFFFFF08FFFFFFFFFFFFFFFFF80000014 +:10B840000000000100000000000000000007FD10E3 +:10B8500000000000000001CFFFF500000000000024 +:10B8600000B929FE100000000000003F1002000097 +:10B87000000003DF800A90000000037000DFFF7704 +:10B88000F7555555558FD30FFFFDCCDFDCCCCCCD14 +:10B89000FFB08FFE1000AA0000004D4000461000CF +:10B8A00001F202331000000000000009B1CFF900DE +:10B8B0000000000000000AFFFF90000000000000F0 +:10B8C0000000BFF90000000000000000012200009D +:10B8D000000018DFFD920002EFFBEFFF300DFFFAD2 +:10B8E0002EFFE04FFFFA03FFF59FFAFA354FFACF2C +:10B8F000C08A3D0BFDEFFB03128FFEFFFFB006FF7A +:10B90000FFFFFFD108FFFFEFFD11109FFFDFD159AF +:10B910003B0BFDAFD7FA381DFB5FFFFA01DFF70DD8 +:10B92000FFFA1DFFF103EFFCDFFF500018DFFEA35D +:10B930000000007FFFF70000EFFFFFFFFFFFFEEFBB +:10B94000FFFFFFFFFFFE000000000000000FFFFFF1 +:10B95000FFFFFFF00FFFFFFFFFFFF00FF99F99F9C7 +:10B960009FF00FF88F88F88FF00FF88F88F88FF01E +:10B970000FF88F88F88FF00FF88F88F88FF00FF896 +:10B980008F88F88FF00FF88F88F88FF00FF99F9954 +:10B99000F99FF00FFFFFFFFFFFF008FFFFFFFFFF22 +:10B9A000800000000000007FA00000000000008F69 +:10B9B000FFB000000000000DFFFFA0000000008AA3 +:10B9C0001DFFFF000000008FFA1DFF700000008FB8 +:10B9D000FFFA1D800000008FFFFFFA000000008FBB +:10B9E000FFFFFF800000008FFFFFFF800000008F3F +:10B9F000FFFFFF800000008FFFFFFF800000006F4F +:10BA0000FFFFFF800000000BFFFFFF800000000031 +:10BA1000DFFFFF80000000000EFFFF80000000003D +:10BA200000DEDB60000000000000000000000000FD +:10BA3000000000001BFFFFFFFFFFFFE40001DFFF2E +:10BA4000FFFFFFFFFFFE001DFFFFFAEFFEAFFFFF4E +:10BA500001DFFFFFA02EE20AFFFF1DFFFFFFE20252 +:10BA6000202EFFFFCFFFFFFFFE2002EFFFFFCFFFE3 +:10BA7000FFFFFE2002EFFFFF1DFFFFFFE202202E6F +:10BA8000FFFF01DFFFFFA02EE20AFFFF001DFFFF07 +:10BA9000FAEFFEAFFFFF0001DFFFFFFFFFFFFFFE3A +:10BAA00000001BFFFFFFFFFFFFE40008FFFFFFE4B4 +:10BAB000008FFFFFFFFE08F80F0B40FF8FF80F0B02 +:10BAC00040FFFFF80F0B40FFFFFFFFFFFFFFFFFFEF +:10BAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10BAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10BAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFF66 +:10BB0000FFFFFFFE4EFFFFFFFFE40000000000000C +:10BB100000010000000000000003E0000010000031 +:10BB20000002EF1000BF000000007FF100CFF10025 +:10BB3000000007FF11CFFF77777777BFF1CFFFFFC7 +:10BB4000FFFFFFFFFF17FFFFFFFFFFFFFFE007FF04 +:10BB5000F100000000000006FF10000000000000DF +:10BB600005A000000000000000010000000000002F +:10BB700000010000030000000002000000000000BF +:10BB800000000000000000000000010000000000B4 +:10BB9000000000000000000000010C0007FA000097 +:10BBA0000000F2F1020C0604F6020D010B0308007E +:10BBB000000000000000000000000F02FE00000076 +:10BBC0000000000000000000000500F80000000078 +:10BBD00000FB04050000FD00FE0300FD00FDFFFB6F +:10BBE00000000000FD0000FDFC0000FD00FB000067 +:10BBF00000000000000000FDFD00FC00F900E10075 +:10BC000000FB0005080000FB03030805FC0500001D +:10BC1000F10000000000000000000000F70000003C +:10BC20000000000000000000000000F9FDF300F635 +:10BC3000FE00000000010A00F8FEFF0100FC000009 +:10BC4000FEED0000000000000000000000ECFE0A15 +:10BC5000000000000000000000000000F6000000EE +:10BC6000000000000000000800030000FB000000CE +:10BC700000000000000000000000000000000A02B8 +:10BC800001000000000000000000000000000000B3 +:10BC900000000000000000000000000000000000A4 +:10BCA0000000000000000000F7000000000000009D +:10BCB0000000000000000000000000000000000282 +:10BCC000050308FD000005FDF8DD02070501FD0084 +:10BCD000090008000800E800FD080008FD05030051 +:10BCE0000001FD0000FC1400140008000B03040810 +:10BCF000000000F70000000001FE0002FBFDFB0257 +:10BD000000FD000000F60000000000000000000040 +:10BD100000EF000000000000000000000000000034 +:10BD20000001F200F000000000FE0019FDFD030319 +:10BD3000FE00FD030000F200000000000000000013 +:10BD40000000E70003000000000000000000000009 +:10BD500000F0000F0000F7000800EFE7EFFB08001D +:10BD600000EF0003FA00FC000000000000000000EB +:10BD70000000000708E100000000000000000000D3 +:10BD800000000C000200000000000202FDFB00FFAA +:10BD9000FFFD0000FE000000FB00FE00FAFB00FAC1 +:10BDA000F8F8FB00FB00FB00000000FE00000300B1 +:10BDB00002FD000100000003FE000000FE0303FF7F +:10BDC000000000FB00FF0000000000010003FE0077 +:10BDD000FD00FC0000FE00080000FD000000000067 +:10BDE000FF01FEFE0000FD00FD000000000000005D +:10BDF0000000FFFF00FDFD0000000000010000FE4C +:10BE000000FDFDFD000000000000000000FE00003D +:10BE10000000FEFD00FC00F8FEF8050000FB030535 +:10BE20000700FAFFFD00FFF403FE02F20300000129 +:10BE3000F300F2FEEAFE00F3000507000300000035 +:10BE4000000100FBFD00F8000000FD000000FD0007 +:10BE500000000000FFFF00FFFD00000000000000E8 +:10BE6000FDFD00FEFDFE0000FD00000000000000E2 +:10BE700000000000FEFE00FD00FE00FB030000FDD0 +:10BE8000010303000000000000FE000000000002AB +:10BE90000000FD00FDFEFD000000000000000200AB +:10BEA000FE00000000FDFC00FB0008FE01F80000A1 +:10BEB00007F3F3F5FB0300FEEFFB00FB00FB04FBC5 +:10BEC000F000F9000001FF02FE000300F8F600F3A5 +:10BED000FAFBFAF8FDF9FFFBF902000100FD000092 +:10BEE000000200030000000000000000000000FD50 +:10BEF00000FF00FFFD00FCFAFAFF00F80000000060 +:10BF00000000FE0000000001FE0000000300000031 +:10BF100000000000000C0000000000000200000013 +:10BF2000FD0000000000000000000000FB00030016 +:10BF3000000000000000000000000000FE00000003 +:10BF4000FB00000000F3F8000000FCF30000FD031C +:10BF500000F900000000000000000000FC0000FBF1 +:10BF60000000000000000000000000000300FB00D3 +:10BF7000000000030002FBFB00FDFDFD00000000CF +:10BF80000000F800FD00FCFD00FAFAF8FE00FB00DE +:10BF9000F800000000140000010000FD000300F59F +:10BFA0000000000000E8FB0808FEF50003FC00F3B9 +:10BFB000FFFD03EEFD030004F7FCF7F8F50000F1C8 +:10BFC000000F0000FF000000FFFFFDF9F8FFE80090 +:10BFD0000000000000000000010000000000000060 +:10BFE000000000000000000000FD00FFFDFC00005C +:10BFF000FB00FD0000000000000000000000000049 +:10C000000000FF00FB000005FF0300FA03FEFFF93C +:10C01000FD00FDFDFE00FCFC0000FEFFFEFCFD003F +:10C0200000FD0003FE00FA000000FB00FC00FCFC29 +:10C03000030000000000000000FB0300FC00FEFD08 +:10C04000F8FEFEFEFFFEFDFF0000000000FDFEFE0C +:10C050000000000003FE00FE000000FEFDFEFEFDED +:10C06000FE00020AFF00F900FE0500FDF5FD0400D8 +:10C0700000F4FC03FC0200FEFEF800FC010000FCE2 +:10C080000000000303FBFB00FCFDFCFDFD00FC01C8 +:10C09000FBFC08000000000000000000030000009E +:10C0A0000000000000000000000000000000000090 +:10C0B00000000000FC000000000000000000000084 +:10C0C0000000000000000000000000000000000070 +:10C0D0000000000000000000000000000000000060 +:10C0E000FE00000000000000000000000000000052 +:10C0F0000000000000000000000000000000FEFD45 +:10C10000000000000000000000000000FC0000FD36 +:10C110000000FDFD00000000FD00000000FF000029 +:10C12000000000FE00000000FC00FB000000F80022 +:10C1300002FA0501FEF40000FAFD00F6FAF900002B +:10C14000F5FDF6F6F400F9000211FD00FAFDFFFD21 +:10C15000FCF9FBF7F6FAFD0000FE00010000EEFE20 +:10C160000806FAF70001F800F3FEFD05E8FD0100FE +:10C1700000EFFDF3FDED0000EE000F0100FE0000FA +:10C180000000FFFEF6FE00EF00000000F800FE00D9 +:10C19000FFF9F40000FFFCF8FD00FE00000000F4D1 +:10C1A000FDF8F8FEFCFAFDFC00FBFEF8FC00FDFBD0 +:10C1B000FDFB000100FEF8000500FB00000000038D +:10C1C0000002FB0A00FDFDFD000000000000F80079 +:10C1D000FD00FCFD00FAFAF8FE00FB020A00000078 +:10C1E00000140000010000FD00030000000000003A +:10C1F0000000FF0000000000FEFB0000000000FF48 +:10C20000000000FDFD0000FBFD0000FB0004FF003E +:10C2100000000000000100000000040502FE00F81C +:10C22000FC0008F8F8FBFB0A0503EAFE05FD00FD2B +:10C2300003FDF700FD03FDFEF8FE0000080500F910 +:10C2400000F2FD07FDF601FDF8F8FD0A0300FC0011 +:10C25000F9000208FAF7F6FA080001EDFE03FCFE09 +:10C26000FA00FAF7FCFCFE0000FAFBFD000806FDF0 +:10C27000F200F2FC00F7F1FFF8FCF8F9070000FD0E +:10C2800000FBFE00FDFB0004F8030000F200FDFAD5 +:10C29000FCFEF8FAF8FA00F8FDFAFBF8FD000001E0 +:10C2A0000CFC00F8FD00FDFBFAF9F9F6FDFB0500BA +:10C2B000FC00F3FD0205F8F7FBF808FD01E8FB05BB +:10C2C000FAFCF700F8F5FDFDFEFDFBF8FF000008A5 +:10C2D00007FEEF00F1FA06F6EFFBF7F5F3F80500BD +:10C2E000000000FD000003FD0502FB050000F8FF53 +:10C2F00000FF000101FE000000000000FD00000042 +:10C300000002080100FD00000000FEFEFD0000002C +:10C310000102000000000200FE000A00050101FD0C +:10C320000005000000020000000000000000000006 +:10C3300000080007000000000000000000000000EE +:10C340000000F100FD04000800001903FBFB0303DB +:10C35000FE01F300000CF1000000000000000000EE +:10C360000000EF0A240000000000000000000000B0 +:10C3700000F10000000000000000000000000000CC +:10C38000000000000000000000000000FC0000FBB6 +:10C39000FE0000000000000000000000000000009F +:10C3A00000000000FE00F900000100000321FBFE78 +:10C3B0000807F90300000303FD000000000000006F +:10C3C00000000000DF070000000000000000000087 +:10C3D00000000000000000F9000000F9000000006B +:10C3E000FAFF000000FA00FD00F400000000000069 +:10C3F0000000000000EF000000000100000000004D +:10C4000000FD0000FB00FC00F9000000FC03FD0043 +:10C4100000F9FDFA0000F900FD00F400FD0000EB5A +:10C42000FBF6FDF70000EF00F9FF00000000000040 +:10C430000000FCFBFEFC00000000FA00FA03FD0512 +:10C4400000FEFAFEFCFB00FDFFFE02F9FF0000000B +:10C45000E9FEFC00FA00FEF4FE0000FEFE00000013 +:10C46000000200FEFCFE04000000000000000000CE +:10C4700000000000000000000000000000000000BC +:10C4800000000000000000000000000000000000AC +:10C49000000003000000000000FA00FE000000FBA6 +:10C4A00003000000F9FDFB0000F900FD00F40000AE +:10C4B0000000E700FBF7F30000EF00FEFC000000C7 +:10C4C0000000000000FDFCFFFC01000004FD00086E +:10C4D0000DFDFDF8030D0406F9030B030706070025 +:10C4E00000000000000000000000100CFBFD00FE3A +:10C4F000140B14000000030000090000FC00000001 +:10C50000000000000000FE00000000000000000429 +:10C5100000000000EAFDFEF6F30000EF000000005E +:10C5200000000000000000000000000000FC00000F +:10C5300000000000000000FE0000000000000000FD +:10C540000400000000EAFDFEF6F30000F600000023 +:10C5500000000000000000000000000000000000DB +:10C56000FE000000FA0300FD020503F800FFFE03D1 +:10C57000000200000000FA00FEFEFB00FEF60010C4 +:10C58000FD00FAFE00FEFC00FDF9FBFD000000FCD2 +:10C59000000000000000000000FE0000000000009D +:10C5A00000000400000000EAFDFEF6F30000EF00CA +:10C5B00000000000000D000000000000000000006E +:10C5C000FC00F8FDFE08FEFDF601FE01FEF9010685 +:10C5D00001020102FAF6FD00F6FBF9F5F600FCFB9C +:10C5E000FDFDFEFEFDFE00FEFF040004FE0008004F +:10C5F0000000000000000000000000FEFDFD000043 +:10C60000F900FF00FC000000000000000000000036 +:10C61000F10000000000000000000000FDFD00FD32 +:10C6200000000000FE0000FCFD0300FCFBFE00F922 +:10C63000FEFAFEFD00FC000000000000000000000B +:10C6400000EF00080000FB00000000FD00FD0000FE +:10C65000FF0000FE00FA00000BFDF8F8020303FFE4 +:10C66000F9020402080208FEF90000F60000F8F9D9 +:10C670000000FB00FDFC00FC00FC00FE0400FEF8D6 +:10C68000FD090000FE00FB000003FA0003FD0200AC +:10C6900000F800FEFF00FD03FE000000F6FDFA00BA +:10C6A000F80000F40009FD00FB000200FD00FDF8A9 +:10C6B00000FD0300000000FE000003FD010000FD7E +:10C6C000FE00FD000000000000000000000000006F +:10C6D00000000000F000060000FE00000000010065 +:10C6E000FDFD0000000500060000000000F0F10163 +:10C6F0000B0804F6020B0009000500000000000012 +:10C7000000000000000E000000000000000000001B +:10C71000000000000000000068BB010028C7010005 +:10C72000C4C701003D310000000001020003040500 +:10C7300002060708090A090A0B0C000D0E0F10115A +:10C7400012130C14140000001516171819161A1BD2 +:10C750001C1D1D1E1F201D1D1621222303241E2506 +:10C7600025262728292A2B002C002D2E2F30313268 +:10C77000332D343435302D2D2E2E36373839333A8B +:10C780003A3B3A3C290000093D0900000000000046 +:10C790000000000000000000000000000000000099 :10C7A0000000000000000000000000000000000089 :10C7B0000000000000000000000000000000000079 -:10C7C0000000000000000000000000000000000069 -:10C7D0000000721F51EF58EF5BEF5CEF5DEF61EF10 -:10C7E00063EF65EF69EF6CEF71EF76EF77EF78EF5E -:10C7F0008EEF98EF9BEF9CEF9DEFA1EFA2EFA3EFE1 -:10C80000A4EFB7EFB8EFBEEFC0EFC1EFC4EFC7EFD3 -:10C81000C8EFC9EFCBEFE3EFE5EF14F015F017F039 -:10C8200037F03AF043F06CF074F0ABF03BF190F17C -:10C8300091F192F193F194F1D7F1E3F13DF254F2D9 -:10C84000AAF412F7F2F7000051F700000000000010 -:10C85000E6FE000040FF000048FF000072FF0000FD -:10C8600088FF00009EFF0000D4FF0000F6FF0000DC -:10C870002000010056000100660001009600010042 -:10C88000B2000100C2000100F20001000E0101002F -:10C890001E0101004E0101006A0101007A01010040 -:10C8A000B001010000003C027804B306EE08280B3A -:10C8B000610D990FD01106143A166C189D1ACB1CF5 -:10C8C000F71E212148236C258E27AC29C72BDF2D8D -:10C8D000F32F0332103418361C381C3A173C0E3E26 -:10C8E000FF3FEC41D443B64593476A493C4B084D62 -:10C8F000CD4E8D504652F953A5554B57EA58825AA2 -:10C90000135C9C5D1F5F9A600D627963DD6439661C -:10C910008D67D9681D6A596B8C6CB76DD96EF36FD2 -:10C9200004710C720B730174EE74D275AD767F775F -:10C9300047780679BB79677A0A7BA27B327CB77C21 -:10C94000337DA57D0D7E6C7EC07E0B7F4B7F827F0D -:10C95000AF7FD27FEB7FFA7FFF7F0000202C2E3B42 -:10C960003A2D5F003E1C0100281C0100501C0100F4 -:10C97000B61D0100201D0100841C01009E1C010049 -:10C980001A2301008E1D0100661E010038210100DE -:10C990006A1C01006C230100CA200100D0230100A1 -:10C9A000961D01009E1D0100E01C0100A61D010056 -:10C9B000F01E0100AE1D010072200100B020010038 -:10C9C000AC2301009E1E0100C21E01006220010076 -:10C9D0000A1F01002A2001001C1E0100BE220100C6 -:10C9E000F6220100EE1D01004E1D01009421010000 -:10C9F0005C1F0100CC1F010062220100EC1F01003E -:10CA0000F821010048220100518CD394FFFF00005F -:10CA100010840000EF808C002563000048656C6C7A -:10CA20006F20574F726C640A00000000232D302BDA -:10CA30002000686C4C00656667454647003031321F -:10CA40003334353637383941424344454600303176 -:10CA500032333435363738396162636465660000D5 -:10CA6000F8B5C046F8BC08BC9E467047DD00000023 -:10CA7000F8B5C046F8BC08BC9E467047B50000003B -:08CA800060B2FF7F010000001D -:10CA8800BFF35F8F01380028FAD17047010000001A -:10CA9800A0900100C88B0100A08B010088C601008E -:10CAA800100002500000000000000000000000001C -:10CAB80055F2000049E800001200030000000000E1 -:10CAC80010000020EC2B002010000000FC2B0020A0 -:10CAD80010000000ED160100DD1501000100000046 -:10CAE80064000020000000000000000000000000BA -:10CAF800000000000000000000000000000000002E -:10CB0800000000000000000000000000000000001D -:10CB1800000000000000000000000000000000000D -:10CB280000000000000000000000000000000000FD -:10CB380000000000000000000000000000000000ED -:04CB480000000000E9 -:040000030000130DD9 +:10C7C0000000000000000102000304050206070843 +:10C7D000090A090A0B0C0D0E0F10110C1213141577 +:10C7E0001500000016171819171919191719191A11 +:10C7F0001919191917191719031B1C1D1D1E1F20A4 +:10C800002122230024002526272727002726282940 +:10C8100026262A2A272A272A2B2C2D2E2E2F2E3069 +:10C8200000002309310900000000000000000000A2 +:10C8300000000000000000000000000000000000F8 +:10C8400000000000000000000000000000000000E8 +:10C8500000000000000000000000000000000000D8 +:10C860000000721F51EF58EF5BEF5CEF5DEF61EF7F +:10C8700063EF65EF69EF6CEF71EF76EF77EF78EFCD +:10C880008EEF98EF9BEF9CEF9DEFA1EFA2EFA3EF50 +:10C89000A4EFB7EFB8EFBEEFC0EFC1EFC4EFC7EF43 +:10C8A000C8EFC9EFCBEFE3EFE5EF14F015F017F0A9 +:10C8B00037F03AF043F06CF074F0ABF03BF190F1EC +:10C8C00091F192F193F194F1D7F1E3F13DF254F249 +:10C8D000AAF412F7F2F70000B9F700000000000018 +:10C8E0004EFF0000A8FF0000B0FF0000DAFF0000CC +:10C8F000F0FF0000060001003C0001005E000100A6 +:10C9000088000100BE000100CE000100FE00010011 +:10C910001A0101002A0101005A01010076010100FB +:10C9200086010100B6010100D2010100E20101000F +:10C930001802010000003C027804B306EE08280B40 +:10C94000610D990FD01106143A166C189D1ACB1C64 +:10C95000F71E212148236C258E27AC29C72BDF2DFC +:10C96000F32F0332103418361C381C3A173C0E3E95 +:10C97000FF3FEC41D443B64593476A493C4B084DD1 +:10C98000CD4E8D504652F953A5554B57EA58825A11 +:10C99000135C9C5D1F5F9A600D627963DD6439668C +:10C9A0008D67D9681D6A596B8C6CB76DD96EF36F42 +:10C9B00004710C720B730174EE74D275AD767F77CF +:10C9C00047780679BB79677A0A7BA27B327CB77C91 +:10C9D000337DA57D0D7E6C7EC07E0B7F4B7F827F7D +:10C9E000AF7FD27FEB7FFA7FFF7F0000202C2E3BB2 +:10C9F0003A2D5F00A61C0100901C0100B81C01002C +:10CA00001E1E0100881D0100EC1C0100061D010016 +:10CA100082230100F61D0100CE1E0100A0210100AD +:10CA2000D21C0100D423010032210100382401006E +:10CA3000FE1D0100061E0100481D01000E1E010022 +:10CA4000581F0100161E0100DA2001001821010004 +:10CA500014240100061F01002A1F0100CA20010042 +:10CA6000721F010092200100841E01002623010094 +:10CA70005E230100561E0100B61D0100FC210100CD +:10CA8000C41F010034200100CA220100542001000B +:10CA900060220100B0220100518CD394FFFF0000FE +:10CAA00010840000EF808C002563000048656C6CEA +:10CAB0006F20574F726C640A00000000232D302B4A +:10CAC0002000686C4C00656667454647003031328F +:10CAD00033343536373839414243444546003031E6 +:10CAE0003233343536373839616263646566000045 +:10CAF000F8B5C046F8BC08BC9E467047DD00000093 +:10CB0000F8B5C046F8BC08BC9E467047B5000000AA +:08CB100060B2FF7F010000008C +:10CB1800BFF35F8F01380028FAD170470100000089 +:10CB280030910100588C0100308C010018C70100B9 +:10CB3800100002500000000000000000000000008B +:10CB4800BDF20000B1E80000120003000000000080 +:10CB580010000020EC2B002010000000FC2B00200F +:10CB680010000000551701004516010001000000E3 +:10CB78006400002000000000000000000000000029 +:10CB8800000000000000000000000000000000009D +:10CB9800000000000000000000000000000000008D +:10CBA800000000000000000000000000000000007D +:10CBB800000000000000000000000000000000006D +:10CBC800000000000000000000000000000000005D +:04CBD8000000000059 +:040000030000137571 :00000001FF diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.lss b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.lss index 6a07a37..ed8171f 100644 --- a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.lss +++ b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.lss @@ -3,37 +3,37 @@ oracle_test_d21.elf: file format elf32-littlearm Sections: Idx Name Size VMA LMA File off Algn - 0 .text 0001ca80 00000000 00000000 00010000 2**2 + 0 .text 0001cb10 00000000 00000000 00010000 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .ARM.exidx 00000008 0001ca80 0001ca80 0002ca80 2**2 + 1 .ARM.exidx 00000008 0001cb10 0001cb10 0002cb10 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 2 .relocate 000000c4 20000000 0001ca88 00030000 2**2 + 2 .relocate 000000c4 20000000 0001cb18 00030000 2**2 CONTENTS, ALLOC, LOAD, CODE - 3 .bss 00004d70 200000c8 0001cb50 000300c4 2**3 + 3 .bss 00004d70 200000c8 0001cbe0 000300c4 2**3 ALLOC - 4 .stack 00002000 20004e38 000218c0 000300c4 2**0 + 4 .stack 00002000 20004e38 00021950 000300c4 2**0 ALLOC 5 .ARM.attributes 00000028 00000000 00000000 000300c4 2**0 CONTENTS, READONLY 6 .comment 00000059 00000000 00000000 000300ec 2**0 CONTENTS, READONLY - 7 .debug_info 0008aa76 00000000 00000000 00030145 2**0 + 7 .debug_info 0008aaaa 00000000 00000000 00030145 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_abbrev 0000bbde 00000000 00000000 000babbb 2**0 + 8 .debug_abbrev 0000bbd3 00000000 00000000 000babef 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_aranges 000017e0 00000000 00000000 000c6799 2**0 + 9 .debug_aranges 000017e0 00000000 00000000 000c67c2 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_ranges 00003230 00000000 00000000 000c7f79 2**0 + 10 .debug_ranges 00003230 00000000 00000000 000c7fa2 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_macro 0002642b 00000000 00000000 000cb1a9 2**0 + 11 .debug_macro 0002642b 00000000 00000000 000cb1d2 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_line 000310b3 00000000 00000000 000f15d4 2**0 + 12 .debug_line 000310b5 00000000 00000000 000f15fd 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_str 0009fce7 00000000 00000000 00122687 2**0 + 13 .debug_str 0009fce7 00000000 00000000 001226b2 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_frame 00004794 00000000 00000000 001c2370 2**2 + 14 .debug_frame 00004794 00000000 00000000 001c239c 2**2 CONTENTS, READONLY, DEBUGGING - 15 .debug_loc 0003d5da 00000000 00000000 001c6b04 2**0 + 15 .debug_loc 0003d5da 00000000 00000000 001c6b30 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -45,20 +45,20 @@ Disassembly of section .text: void _lv_gc_clear_roots(void) { - 0: 38 6e 00 20 0d 13 00 00 09 13 00 00 09 13 00 00 8n. ............ + 0: 38 6e 00 20 75 13 00 00 71 13 00 00 71 13 00 00 8n. u...q...q... ... #define LV_CLEAR_ROOT(root_type, root_name) _lv_memset_00(&LV_GC_ROOT(root_name), sizeof(LV_GC_ROOT(root_name))); LV_ITERATE_ROOTS(LV_CLEAR_ROOT) - 2c: 09 13 00 00 00 00 00 00 00 00 00 00 09 13 00 00 ................ - 3c: 45 01 00 00 09 13 00 00 09 13 00 00 09 13 00 00 E............... - 4c: 09 13 00 00 09 13 00 00 09 13 00 00 09 13 00 00 ................ - 5c: 09 13 00 00 09 13 00 00 e5 0b 00 00 f5 0b 00 00 ................ + 2c: 71 13 00 00 00 00 00 00 00 00 00 00 71 13 00 00 q...........q... + 3c: 45 01 00 00 71 13 00 00 71 13 00 00 71 13 00 00 E...q...q...q... + 4c: 71 13 00 00 71 13 00 00 71 13 00 00 71 13 00 00 q...q...q...q... + 5c: 71 13 00 00 71 13 00 00 4d 0c 00 00 5d 0c 00 00 q...q...M...]... } - 6c: 05 0c 00 00 15 0c 00 00 25 0c 00 00 35 0c 00 00 ........%...5... - 7c: 09 13 00 00 09 13 00 00 09 13 00 00 09 13 00 00 ................ - 8c: 09 13 00 00 09 13 00 00 09 13 00 00 09 13 00 00 ................ - 9c: 09 13 00 00 09 13 00 00 09 13 00 00 09 13 00 00 ................ - ac: 09 13 00 00 00 00 00 00 ........ + 6c: 6d 0c 00 00 7d 0c 00 00 8d 0c 00 00 9d 0c 00 00 m...}........... + 7c: 71 13 00 00 71 13 00 00 71 13 00 00 71 13 00 00 q...q...q...q... + 8c: 71 13 00 00 71 13 00 00 71 13 00 00 71 13 00 00 q...q...q...q... + 9c: 71 13 00 00 71 13 00 00 71 13 00 00 71 13 00 00 q...q...q...q... + ac: 71 13 00 00 00 00 00 00 q....... 000000b4 <__do_global_dtors_aux>: b4: b510 push {r4, lr} @@ -77,7 +77,7 @@ void _lv_gc_clear_roots(void) ce: bd10 pop {r4, pc} d0: 200000c8 .word 0x200000c8 d4: 00000000 .word 0x00000000 - d8: 0001ca88 .word 0x0001ca88 + d8: 0001cb18 .word 0x0001cb18 000000dc : dc: 4b08 ldr r3, [pc, #32] ; (100 ) @@ -100,8 +100,8 @@ void _lv_gc_clear_roots(void) fe: e7f9 b.n f4 100: 00000000 .word 0x00000000 104: 200000cc .word 0x200000cc - 108: 0001ca88 .word 0x0001ca88 - 10c: 0001ca88 .word 0x0001ca88 + 108: 0001cb18 .word 0x0001cb18 + 10c: 0001cb18 .word 0x0001cb18 110: 00000000 .word 0x00000000 00000114 : @@ -170,7 +170,7 @@ void p_time_init(void) } 15e: bd70 pop {r4, r5, r6, pc} 160: 200000e8 .word 0x200000e8 - 164: 0000f709 .word 0x0000f709 + 164: 0000f771 .word 0x0000f771 00000168 : #include "p_ssd1963.h" @@ -182,7 +182,7 @@ void oracle_init(void) 168: b530 push {r4, r5, lr} 16a: b08d sub sp, #52 ; 0x34 system_init(); - 16c: 4b13 ldr r3, [pc, #76] ; (1bc ) + 16c: 4b14 ldr r3, [pc, #80] ; (1c0 ) 16e: 4798 blx r3 * * Enables global interrupts in the device to fire any enabled interrupt handlers. @@ -191,7 +191,7 @@ static inline void system_interrupt_enable_global(void) { cpu_irq_enable(); 170: 2201 movs r2, #1 - 172: 4b13 ldr r3, [pc, #76] ; (1c0 ) + 172: 4b14 ldr r3, [pc, #80] ; (1c4 ) 174: 701a strb r2, [r3, #0] \details Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion. @@ -206,61766 +206,61892 @@ __STATIC_FORCEINLINE void __DMB(void) system_interrupt_enable_global(); p_usart_init(); - 17c: 4b11 ldr r3, [pc, #68] ; (1c4 ) + 17c: 4b12 ldr r3, [pc, #72] ; (1c8 ) 17e: 4798 blx r3 p_i2c_init(); - 180: 4b11 ldr r3, [pc, #68] ; (1c8 ) + 180: 4b12 ldr r3, [pc, #72] ; (1cc ) 182: 4798 blx r3 p_gpio_init(); - 184: 4b11 ldr r3, [pc, #68] ; (1cc ) + 184: 4b12 ldr r3, [pc, #72] ; (1d0 ) 186: 4798 blx r3 p_time_init(); - 188: 4b11 ldr r3, [pc, #68] ; (1d0 ) + 188: 4b12 ldr r3, [pc, #72] ; (1d4 ) 18a: 4798 blx r3 lv_init(); - 18c: 4b11 ldr r3, [pc, #68] ; (1d4 ) + 18c: 4b12 ldr r3, [pc, #72] ; (1d8 ) 18e: 4798 blx r3 ssd1963_init(); - 190: 4b11 ldr r3, [pc, #68] ; (1d8 ) + 190: 4b12 ldr r3, [pc, #72] ; (1dc ) 192: 4798 blx r3 lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * 10); /*Initialize the display buffer*/ - 194: 4c11 ldr r4, [pc, #68] ; (1dc ) + 194: 4c12 ldr r4, [pc, #72] ; (1e0 ) 196: 2396 movs r3, #150 ; 0x96 198: 015b lsls r3, r3, #5 19a: 2200 movs r2, #0 - 19c: 4910 ldr r1, [pc, #64] ; (1e0 ) + 19c: 4911 ldr r1, [pc, #68] ; (1e4 ) 19e: 0020 movs r0, r4 - 1a0: 4d10 ldr r5, [pc, #64] ; (1e4 ) + 1a0: 4d11 ldr r5, [pc, #68] ; (1e8 ) 1a2: 47a8 blx r5 lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/ lv_disp_drv_init(&disp_drv); /*Basic initialization*/ 1a4: a801 add r0, sp, #4 - 1a6: 4b10 ldr r3, [pc, #64] ; (1e8 ) + 1a6: 4b11 ldr r3, [pc, #68] ; (1ec ) 1a8: 4798 blx r3 disp_drv.flush_cb = ssd1963_flush; /*Set your driver function*/ - 1aa: 4b10 ldr r3, [pc, #64] ; (1ec ) + 1aa: 4b11 ldr r3, [pc, #68] ; (1f0 ) 1ac: 9304 str r3, [sp, #16] disp_drv.buffer = &disp_buf; /*Assign the buffer to the display*/ 1ae: 9402 str r4, [sp, #8] lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ 1b0: a801 add r0, sp, #4 - 1b2: 4b0f ldr r3, [pc, #60] ; (1f0 ) + 1b2: 4b10 ldr r3, [pc, #64] ; (1f4 ) 1b4: 4798 blx r3 -} - 1b6: b00d add sp, #52 ; 0x34 - 1b8: bd30 pop {r4, r5, pc} - 1ba: 46c0 nop ; (mov r8, r8) - 1bc: 000012dd .word 0x000012dd - 1c0: 2000000c .word 0x2000000c - 1c4: 00017851 .word 0x00017851 - 1c8: 000177f1 .word 0x000177f1 - 1cc: 0001773d .word 0x0001773d - 1d0: 00000115 .word 0x00000115 - 1d4: 000017f9 .word 0x000017f9 - 1d8: 00016905 .word 0x00016905 - 1dc: 20002670 .word 0x20002670 - 1e0: 200000f0 .word 0x200000f0 - 1e4: 0000f459 .word 0x0000f459 - 1e8: 0000f3f5 .word 0x0000f3f5 - 1ec: 00017421 .word 0x00017421 - 1f0: 0000f479 .word 0x0000f479 - -000001f4 : + p_debug_start_service(); + 1b6: 4b10 ldr r3, [pc, #64] ; (1f8 ) + 1b8: 4798 blx r3 +} + 1ba: b00d add sp, #52 ; 0x34 + 1bc: bd30 pop {r4, r5, pc} + 1be: 46c0 nop ; (mov r8, r8) + 1c0: 00001345 .word 0x00001345 + 1c4: 2000000c .word 0x2000000c + 1c8: 000178c9 .word 0x000178c9 + 1cc: 00017859 .word 0x00017859 + 1d0: 000177a5 .word 0x000177a5 + 1d4: 00000115 .word 0x00000115 + 1d8: 00001861 .word 0x00001861 + 1dc: 0001696d .word 0x0001696d + 1e0: 20002670 .word 0x20002670 + 1e4: 200000f0 .word 0x200000f0 + 1e8: 0000f4c1 .word 0x0000f4c1 + 1ec: 0000f45d .word 0x0000f45d + 1f0: 00017489 .word 0x00017489 + 1f4: 0000f4e1 .word 0x0000f4e1 + 1f8: 000179c5 .word 0x000179c5 + +000001fc : void oracle_service(void) { - 1f4: b510 push {r4, lr} + 1fc: b510 push {r4, lr} delay_ms(1); - 1f6: 2000 movs r0, #0 - 1f8: 4b08 ldr r3, [pc, #32] ; (21c ) - 1fa: 4798 blx r3 - 1fc: 0002 movs r2, r0 - 1fe: 2300 movs r3, #0 - 200: 4807 ldr r0, [pc, #28] ; (220 ) - 202: 2100 movs r1, #0 - 204: 1880 adds r0, r0, r2 - 206: 4159 adcs r1, r3 - 208: 4a06 ldr r2, [pc, #24] ; (224 ) - 20a: 2300 movs r3, #0 - 20c: 4c06 ldr r4, [pc, #24] ; (228 ) - 20e: 47a0 blx r4 - 210: 4b06 ldr r3, [pc, #24] ; (22c ) - 212: 4798 blx r3 + 1fe: 2000 movs r0, #0 + 200: 4b08 ldr r3, [pc, #32] ; (224 ) + 202: 4798 blx r3 + 204: 0002 movs r2, r0 + 206: 2300 movs r3, #0 + 208: 4807 ldr r0, [pc, #28] ; (228 ) + 20a: 2100 movs r1, #0 + 20c: 1880 adds r0, r0, r2 + 20e: 4159 adcs r1, r3 + 210: 4a06 ldr r2, [pc, #24] ; (22c ) + 212: 2300 movs r3, #0 + 214: 4c06 ldr r4, [pc, #24] ; (230 ) + 216: 47a0 blx r4 + 218: 4b06 ldr r3, [pc, #24] ; (234 ) + 21a: 4798 blx r3 lv_task_handler(); - 214: 4b06 ldr r3, [pc, #24] ; (230 ) - 216: 4798 blx r3 - 218: bd10 pop {r4, pc} - 21a: 46c0 nop ; (mov r8, r8) - 21c: 00001065 .word 0x00001065 - 220: 00001b57 .word 0x00001b57 - 224: 00001b58 .word 0x00001b58 - 228: 00017c4d .word 0x00017c4d - 22c: 20000001 .word 0x20000001 - 230: 000112f5 .word 0x000112f5 - -00000234 : + 21c: 4b06 ldr r3, [pc, #24] ; (238 ) + 21e: 4798 blx r3 + 220: bd10 pop {r4, pc} + 222: 46c0 nop ; (mov r8, r8) + 224: 000010cd .word 0x000010cd + 228: 00001b57 .word 0x00001b57 + 22c: 00001b58 .word 0x00001b58 + 230: 00017cdd .word 0x00017cdd + 234: 20000001 .word 0x20000001 + 238: 0001135d .word 0x0001135d + +0000023c : /** * \internal Calculate 64 bit division, ref can be found in * http://en.wikipedia.org/wiki/Division_algorithm#Long_division */ static uint64_t long_division(uint64_t n, uint64_t d) { - 234: b5f0 push {r4, r5, r6, r7, lr} - 236: 46de mov lr, fp - 238: 4657 mov r7, sl - 23a: 464e mov r6, r9 - 23c: 4645 mov r5, r8 - 23e: b5e0 push {r5, r6, r7, lr} - 240: b087 sub sp, #28 - 242: 4680 mov r8, r0 - 244: 9104 str r1, [sp, #16] - 246: 0016 movs r6, r2 - 248: 001f movs r7, r3 + 23c: b5f0 push {r4, r5, r6, r7, lr} + 23e: 46de mov lr, fp + 240: 4657 mov r7, sl + 242: 464e mov r6, r9 + 244: 4645 mov r5, r8 + 246: b5e0 push {r5, r6, r7, lr} + 248: b087 sub sp, #28 + 24a: 4680 mov r8, r0 + 24c: 9104 str r1, [sp, #16] + 24e: 0016 movs r6, r2 + 250: 001f movs r7, r3 int32_t i; uint64_t q = 0, r = 0, bit_shift; - 24a: 2200 movs r2, #0 - 24c: 2300 movs r3, #0 - 24e: 2100 movs r1, #0 - 250: 468b mov fp, r1 + 252: 2200 movs r2, #0 + 254: 2300 movs r3, #0 + 256: 2100 movs r1, #0 + 258: 468b mov fp, r1 for (i = 63; i >= 0; i--) { - 252: 243f movs r4, #63 ; 0x3f + 25a: 243f movs r4, #63 ; 0x3f bit_shift = (uint64_t)1 << i; - 254: 2001 movs r0, #1 - 256: 0021 movs r1, r4 - 258: 9600 str r6, [sp, #0] - 25a: 9701 str r7, [sp, #4] - 25c: 465c mov r4, fp - 25e: 9403 str r4, [sp, #12] - 260: 4644 mov r4, r8 - 262: 9405 str r4, [sp, #20] - 264: e013 b.n 28e - 266: 2420 movs r4, #32 - 268: 1a64 subs r4, r4, r1 - 26a: 0005 movs r5, r0 - 26c: 40e5 lsrs r5, r4 - 26e: 46a8 mov r8, r5 - 270: e014 b.n 29c + 25c: 2001 movs r0, #1 + 25e: 0021 movs r1, r4 + 260: 9600 str r6, [sp, #0] + 262: 9701 str r7, [sp, #4] + 264: 465c mov r4, fp + 266: 9403 str r4, [sp, #12] + 268: 4644 mov r4, r8 + 26a: 9405 str r4, [sp, #20] + 26c: e013 b.n 296 + 26e: 2420 movs r4, #32 + 270: 1a64 subs r4, r4, r1 + 272: 0005 movs r5, r0 + 274: 40e5 lsrs r5, r4 + 276: 46a8 mov r8, r5 + 278: e014 b.n 2a4 if (n & bit_shift) { r |= 0x01; } if (r >= d) { r = r - d; - 272: 9c00 ldr r4, [sp, #0] - 274: 9d01 ldr r5, [sp, #4] - 276: 1b12 subs r2, r2, r4 - 278: 41ab sbcs r3, r5 + 27a: 9c00 ldr r4, [sp, #0] + 27c: 9d01 ldr r5, [sp, #4] + 27e: 1b12 subs r2, r2, r4 + 280: 41ab sbcs r3, r5 q |= bit_shift; - 27a: 465c mov r4, fp - 27c: 464d mov r5, r9 - 27e: 432c orrs r4, r5 - 280: 46a3 mov fp, r4 - 282: 9c03 ldr r4, [sp, #12] - 284: 4645 mov r5, r8 + 282: 465c mov r4, fp + 284: 464d mov r5, r9 286: 432c orrs r4, r5 - 288: 9403 str r4, [sp, #12] + 288: 46a3 mov fp, r4 + 28a: 9c03 ldr r4, [sp, #12] + 28c: 4645 mov r5, r8 + 28e: 432c orrs r4, r5 + 290: 9403 str r4, [sp, #12] for (i = 63; i >= 0; i--) { - 28a: 3901 subs r1, #1 - 28c: d325 bcc.n 2da + 292: 3901 subs r1, #1 + 294: d325 bcc.n 2e2 bit_shift = (uint64_t)1 << i; - 28e: 2420 movs r4, #32 - 290: 4264 negs r4, r4 - 292: 190c adds r4, r1, r4 - 294: d4e7 bmi.n 266 - 296: 0005 movs r5, r0 - 298: 40a5 lsls r5, r4 - 29a: 46a8 mov r8, r5 - 29c: 0004 movs r4, r0 - 29e: 408c lsls r4, r1 - 2a0: 46a1 mov r9, r4 + 296: 2420 movs r4, #32 + 298: 4264 negs r4, r4 + 29a: 190c adds r4, r1, r4 + 29c: d4e7 bmi.n 26e + 29e: 0005 movs r5, r0 + 2a0: 40a5 lsls r5, r4 + 2a2: 46a8 mov r8, r5 + 2a4: 0004 movs r4, r0 + 2a6: 408c lsls r4, r1 + 2a8: 46a1 mov r9, r4 r = r << 1; - 2a2: 1892 adds r2, r2, r2 - 2a4: 415b adcs r3, r3 - 2a6: 0014 movs r4, r2 - 2a8: 001d movs r5, r3 + 2aa: 1892 adds r2, r2, r2 + 2ac: 415b adcs r3, r3 + 2ae: 0014 movs r4, r2 + 2b0: 001d movs r5, r3 if (n & bit_shift) { - 2aa: 9e05 ldr r6, [sp, #20] - 2ac: 464f mov r7, r9 - 2ae: 403e ands r6, r7 - 2b0: 46b4 mov ip, r6 - 2b2: 9e04 ldr r6, [sp, #16] - 2b4: 4647 mov r7, r8 + 2b2: 9e05 ldr r6, [sp, #20] + 2b4: 464f mov r7, r9 2b6: 403e ands r6, r7 - 2b8: 46b2 mov sl, r6 - 2ba: 4666 mov r6, ip - 2bc: 4657 mov r7, sl - 2be: 433e orrs r6, r7 - 2c0: d003 beq.n 2ca + 2b8: 46b4 mov ip, r6 + 2ba: 9e04 ldr r6, [sp, #16] + 2bc: 4647 mov r7, r8 + 2be: 403e ands r6, r7 + 2c0: 46b2 mov sl, r6 + 2c2: 4666 mov r6, ip + 2c4: 4657 mov r7, sl + 2c6: 433e orrs r6, r7 + 2c8: d003 beq.n 2d2 r |= 0x01; - 2c2: 0006 movs r6, r0 - 2c4: 4326 orrs r6, r4 - 2c6: 0032 movs r2, r6 - 2c8: 002b movs r3, r5 + 2ca: 0006 movs r6, r0 + 2cc: 4326 orrs r6, r4 + 2ce: 0032 movs r2, r6 + 2d0: 002b movs r3, r5 if (r >= d) { - 2ca: 9c00 ldr r4, [sp, #0] - 2cc: 9d01 ldr r5, [sp, #4] - 2ce: 429d cmp r5, r3 - 2d0: d8db bhi.n 28a - 2d2: d1ce bne.n 272 - 2d4: 4294 cmp r4, r2 - 2d6: d8d8 bhi.n 28a - 2d8: e7cb b.n 272 - 2da: 9b03 ldr r3, [sp, #12] + 2d2: 9c00 ldr r4, [sp, #0] + 2d4: 9d01 ldr r5, [sp, #4] + 2d6: 429d cmp r5, r3 + 2d8: d8db bhi.n 292 + 2da: d1ce bne.n 27a + 2dc: 4294 cmp r4, r2 + 2de: d8d8 bhi.n 292 + 2e0: e7cb b.n 27a + 2e2: 9b03 ldr r3, [sp, #12] } } return q; } - 2dc: 4658 mov r0, fp - 2de: 0019 movs r1, r3 - 2e0: b007 add sp, #28 - 2e2: bc3c pop {r2, r3, r4, r5} - 2e4: 4690 mov r8, r2 - 2e6: 4699 mov r9, r3 - 2e8: 46a2 mov sl, r4 - 2ea: 46ab mov fp, r5 - 2ec: bdf0 pop {r4, r5, r6, r7, pc} - -000002ee <_sercom_get_sync_baud_val>: + 2e4: 4658 mov r0, fp + 2e6: 0019 movs r1, r3 + 2e8: b007 add sp, #28 + 2ea: bc3c pop {r2, r3, r4, r5} + 2ec: 4690 mov r8, r2 + 2ee: 4699 mov r9, r3 + 2f0: 46a2 mov sl, r4 + 2f2: 46ab mov fp, r5 + 2f4: bdf0 pop {r4, r5, r6, r7, pc} + +000002f6 <_sercom_get_sync_baud_val>: */ enum status_code _sercom_get_sync_baud_val( const uint32_t baudrate, const uint32_t external_clock, uint16_t *const baudvalue) { - 2ee: b510 push {r4, lr} + 2f6: b510 push {r4, lr} uint16_t baud_calculated = 0; uint32_t clock_value = external_clock; /* Check if baudrate is outside of valid range */ if (baudrate > (external_clock / 2)) { - 2f0: 0849 lsrs r1, r1, #1 + 2f8: 0849 lsrs r1, r1, #1 /* Return with error code */ return STATUS_ERR_BAUDRATE_UNAVAILABLE; - 2f2: 2340 movs r3, #64 ; 0x40 - 2f4: 2400 movs r4, #0 + 2fa: 2340 movs r3, #64 ; 0x40 + 2fc: 2400 movs r4, #0 if (baudrate > (external_clock / 2)) { - 2f6: 4281 cmp r1, r0 - 2f8: d202 bcs.n 300 <_sercom_get_sync_baud_val+0x12> + 2fe: 4281 cmp r1, r0 + 300: d202 bcs.n 308 <_sercom_get_sync_baud_val+0x12> return STATUS_ERR_BAUDRATE_UNAVAILABLE; } else { *baudvalue = baud_calculated; return STATUS_OK; } } - 2fa: 0018 movs r0, r3 - 2fc: bd10 pop {r4, pc} + 302: 0018 movs r0, r3 + 304: bd10 pop {r4, pc} baud_calculated++; - 2fe: 001c movs r4, r3 + 306: 001c movs r4, r3 clock_value = clock_value - baudrate; - 300: 1a09 subs r1, r1, r0 + 308: 1a09 subs r1, r1, r0 baud_calculated++; - 302: 1c63 adds r3, r4, #1 - 304: b29b uxth r3, r3 + 30a: 1c63 adds r3, r4, #1 + 30c: b29b uxth r3, r3 while (clock_value >= baudrate) { - 306: 4288 cmp r0, r1 - 308: d9f9 bls.n 2fe <_sercom_get_sync_baud_val+0x10> + 30e: 4288 cmp r0, r1 + 310: d9f9 bls.n 306 <_sercom_get_sync_baud_val+0x10> return STATUS_ERR_BAUDRATE_UNAVAILABLE; - 30a: 2340 movs r3, #64 ; 0x40 + 312: 2340 movs r3, #64 ; 0x40 if (baud_calculated > 0xFF) { - 30c: 2cff cmp r4, #255 ; 0xff - 30e: d8f4 bhi.n 2fa <_sercom_get_sync_baud_val+0xc> + 314: 2cff cmp r4, #255 ; 0xff + 316: d8f4 bhi.n 302 <_sercom_get_sync_baud_val+0xc> *baudvalue = baud_calculated; - 310: 8014 strh r4, [r2, #0] + 318: 8014 strh r4, [r2, #0] return STATUS_OK; - 312: 2300 movs r3, #0 - 314: e7f1 b.n 2fa <_sercom_get_sync_baud_val+0xc> + 31a: 2300 movs r3, #0 + 31c: e7f1 b.n 302 <_sercom_get_sync_baud_val+0xc> ... -00000318 <_sercom_get_async_baud_val>: +00000320 <_sercom_get_async_baud_val>: const uint32_t baudrate, const uint32_t peripheral_clock, uint16_t *const baudval, enum sercom_asynchronous_operation_mode mode, enum sercom_asynchronous_sample_num sample_num) { - 318: b5f0 push {r4, r5, r6, r7, lr} - 31a: b083 sub sp, #12 - 31c: 000f movs r7, r1 - 31e: 0016 movs r6, r2 - 320: aa08 add r2, sp, #32 - 322: 7811 ldrb r1, [r2, #0] + 320: b5f0 push {r4, r5, r6, r7, lr} + 322: b083 sub sp, #12 + 324: 000f movs r7, r1 + 326: 0016 movs r6, r2 + 328: aa08 add r2, sp, #32 + 32a: 7811 ldrb r1, [r2, #0] uint8_t baud_fp; uint32_t baud_int = 0; uint64_t temp1; /* Check if the baudrate is outside of valid range */ if ((baudrate * sample_num) > peripheral_clock) { - 324: 0004 movs r4, r0 - 326: 434c muls r4, r1 + 32c: 0004 movs r4, r0 + 32e: 434c muls r4, r1 /* Return with error code */ return STATUS_ERR_BAUDRATE_UNAVAILABLE; - 328: 2240 movs r2, #64 ; 0x40 + 330: 2240 movs r2, #64 ; 0x40 if ((baudrate * sample_num) > peripheral_clock) { - 32a: 42bc cmp r4, r7 - 32c: d902 bls.n 334 <_sercom_get_async_baud_val+0x1c> + 332: 42bc cmp r4, r7 + 334: d902 bls.n 33c <_sercom_get_async_baud_val+0x1c> baud_calculated = baud_int | (baud_fp << 13); } *baudval = baud_calculated; return STATUS_OK; } - 32e: 0010 movs r0, r2 - 330: b003 add sp, #12 - 332: bdf0 pop {r4, r5, r6, r7, pc} + 336: 0010 movs r0, r2 + 338: b003 add sp, #12 + 33a: bdf0 pop {r4, r5, r6, r7, pc} if(mode == SERCOM_ASYNC_OPERATION_MODE_ARITHMETIC) { - 334: 2b00 cmp r3, #0 - 336: d114 bne.n 362 <_sercom_get_async_baud_val+0x4a> + 33c: 2b00 cmp r3, #0 + 33e: d114 bne.n 36a <_sercom_get_async_baud_val+0x4a> temp1 = ((sample_num * (uint64_t)baudrate) << SHIFT); - 338: 0002 movs r2, r0 - 33a: 0008 movs r0, r1 - 33c: 2100 movs r1, #0 - 33e: 4c19 ldr r4, [pc, #100] ; (3a4 <_sercom_get_async_baud_val+0x8c>) - 340: 47a0 blx r4 - 342: 0001 movs r1, r0 + 340: 0002 movs r2, r0 + 342: 0008 movs r0, r1 + 344: 2100 movs r1, #0 + 346: 4c19 ldr r4, [pc, #100] ; (3ac <_sercom_get_async_baud_val+0x8c>) + 348: 47a0 blx r4 + 34a: 0001 movs r1, r0 ratio = long_division(temp1, peripheral_clock); - 344: 003a movs r2, r7 - 346: 2300 movs r3, #0 - 348: 2000 movs r0, #0 - 34a: 4c17 ldr r4, [pc, #92] ; (3a8 <_sercom_get_async_baud_val+0x90>) - 34c: 47a0 blx r4 + 34c: 003a movs r2, r7 + 34e: 2300 movs r3, #0 + 350: 2000 movs r0, #0 + 352: 4c17 ldr r4, [pc, #92] ; (3b0 <_sercom_get_async_baud_val+0x90>) + 354: 47a0 blx r4 scale = ((uint64_t)1 << SHIFT) - ratio; - 34e: 2200 movs r2, #0 - 350: 2301 movs r3, #1 - 352: 1a12 subs r2, r2, r0 - 354: 418b sbcs r3, r1 + 356: 2200 movs r2, #0 + 358: 2301 movs r3, #1 + 35a: 1a12 subs r2, r2, r0 + 35c: 418b sbcs r3, r1 baud_calculated = (65536 * scale) >> SHIFT; - 356: 0c12 lsrs r2, r2, #16 - 358: 041b lsls r3, r3, #16 - 35a: 431a orrs r2, r3 + 35e: 0c12 lsrs r2, r2, #16 + 360: 041b lsls r3, r3, #16 + 362: 431a orrs r2, r3 *baudval = baud_calculated; - 35c: 8032 strh r2, [r6, #0] + 364: 8032 strh r2, [r6, #0] return STATUS_OK; - 35e: 2200 movs r2, #0 - 360: e7e5 b.n 32e <_sercom_get_async_baud_val+0x16> + 366: 2200 movs r2, #0 + 368: e7e5 b.n 336 <_sercom_get_async_baud_val+0x16> uint64_t baud_calculated = 0; - 362: 2200 movs r2, #0 + 36a: 2200 movs r2, #0 } else if(mode == SERCOM_ASYNC_OPERATION_MODE_FRACTIONAL) { - 364: 2b01 cmp r3, #1 - 366: d1f9 bne.n 35c <_sercom_get_async_baud_val+0x44> + 36c: 2b01 cmp r3, #1 + 36e: d1f9 bne.n 364 <_sercom_get_async_baud_val+0x44> temp1 = ((uint64_t)baudrate * sample_num); - 368: 000a movs r2, r1 - 36a: 2300 movs r3, #0 - 36c: 2100 movs r1, #0 - 36e: 4c0d ldr r4, [pc, #52] ; (3a4 <_sercom_get_async_baud_val+0x8c>) - 370: 47a0 blx r4 - 372: 0002 movs r2, r0 - 374: 000b movs r3, r1 - 376: 9200 str r2, [sp, #0] - 378: 9301 str r3, [sp, #4] + 370: 000a movs r2, r1 + 372: 2300 movs r3, #0 + 374: 2100 movs r1, #0 + 376: 4c0d ldr r4, [pc, #52] ; (3ac <_sercom_get_async_baud_val+0x8c>) + 378: 47a0 blx r4 + 37a: 0002 movs r2, r0 + 37c: 000b movs r3, r1 + 37e: 9200 str r2, [sp, #0] + 380: 9301 str r3, [sp, #4] baud_int = long_division( peripheral_clock, temp1); - 37a: 0038 movs r0, r7 - 37c: 2100 movs r1, #0 - 37e: 4c0a ldr r4, [pc, #40] ; (3a8 <_sercom_get_async_baud_val+0x90>) - 380: 47a0 blx r4 - 382: 0005 movs r5, r0 + 382: 0038 movs r0, r7 + 384: 2100 movs r1, #0 + 386: 4c0a ldr r4, [pc, #40] ; (3b0 <_sercom_get_async_baud_val+0x90>) + 388: 47a0 blx r4 + 38a: 0005 movs r5, r0 if(baud_int > BAUD_INT_MAX) { - 384: 2380 movs r3, #128 ; 0x80 - 386: 019b lsls r3, r3, #6 + 38c: 2380 movs r3, #128 ; 0x80 + 38e: 019b lsls r3, r3, #6 return STATUS_ERR_BAUDRATE_UNAVAILABLE; - 388: 2240 movs r2, #64 ; 0x40 + 390: 2240 movs r2, #64 ; 0x40 if(baud_int > BAUD_INT_MAX) { - 38a: 4298 cmp r0, r3 - 38c: d8cf bhi.n 32e <_sercom_get_async_baud_val+0x16> + 392: 4298 cmp r0, r3 + 394: d8cf bhi.n 336 <_sercom_get_async_baud_val+0x16> temp1 = long_division( 8 * (uint64_t)peripheral_clock, temp1); - 38e: 0f79 lsrs r1, r7, #29 - 390: 00f8 lsls r0, r7, #3 - 392: 9a00 ldr r2, [sp, #0] - 394: 9b01 ldr r3, [sp, #4] - 396: 47a0 blx r4 + 396: 0f79 lsrs r1, r7, #29 + 398: 00f8 lsls r0, r7, #3 + 39a: 9a00 ldr r2, [sp, #0] + 39c: 9b01 ldr r3, [sp, #4] + 39e: 47a0 blx r4 baud_fp = temp1 - 8 * baud_int; - 398: 00ea lsls r2, r5, #3 - 39a: 1a82 subs r2, r0, r2 + 3a0: 00ea lsls r2, r5, #3 + 3a2: 1a82 subs r2, r0, r2 baud_calculated = baud_int | (baud_fp << 13); - 39c: b2d2 uxtb r2, r2 - 39e: 0352 lsls r2, r2, #13 - 3a0: 432a orrs r2, r5 - 3a2: e7db b.n 35c <_sercom_get_async_baud_val+0x44> - 3a4: 00017c8d .word 0x00017c8d - 3a8: 00000235 .word 0x00000235 - -000003ac : + 3a4: b2d2 uxtb r2, r2 + 3a6: 0352 lsls r2, r2, #13 + 3a8: 432a orrs r2, r5 + 3aa: e7db b.n 364 <_sercom_get_async_baud_val+0x44> + 3ac: 00017d1d .word 0x00017d1d + 3b0: 0000023d .word 0x0000023d + +000003b4 : * forced. */ enum status_code sercom_set_gclk_generator( const enum gclk_generator generator_source, const bool force_change) { - 3ac: b510 push {r4, lr} - 3ae: b082 sub sp, #8 - 3b0: 0004 movs r4, r0 + 3b4: b510 push {r4, lr} + 3b6: b082 sub sp, #8 + 3b8: 0004 movs r4, r0 /* Check if valid option */ if (!_sercom_config.generator_is_set || force_change) { - 3b2: 4b0e ldr r3, [pc, #56] ; (3ec ) - 3b4: 781b ldrb r3, [r3, #0] - 3b6: 2b00 cmp r3, #0 - 3b8: d007 beq.n 3ca - 3ba: 2900 cmp r1, #0 - 3bc: d105 bne.n 3ca + 3ba: 4b0e ldr r3, [pc, #56] ; (3f4 ) + 3bc: 781b ldrb r3, [r3, #0] + 3be: 2b00 cmp r3, #0 + 3c0: d007 beq.n 3d2 + 3c2: 2900 cmp r1, #0 + 3c4: d105 bne.n 3d2 /* Save config */ _sercom_config.generator_source = generator_source; _sercom_config.generator_is_set = true; return STATUS_OK; } else if (generator_source == _sercom_config.generator_source) { - 3be: 4b0b ldr r3, [pc, #44] ; (3ec ) - 3c0: 785b ldrb r3, [r3, #1] - 3c2: 4283 cmp r3, r0 - 3c4: d010 beq.n 3e8 + 3c6: 4b0b ldr r3, [pc, #44] ; (3f4 ) + 3c8: 785b ldrb r3, [r3, #1] + 3ca: 4283 cmp r3, r0 + 3cc: d010 beq.n 3f0 /* Return status OK if same config */ return STATUS_OK; } /* Return invalid config to already initialized GCLK */ return STATUS_ERR_ALREADY_INITIALIZED; - 3c6: 201d movs r0, #29 - 3c8: e00c b.n 3e4 + 3ce: 201d movs r0, #29 + 3d0: e00c b.n 3ec gclk_chan_conf.source_generator = generator_source; - 3ca: a901 add r1, sp, #4 - 3cc: 700c strb r4, [r1, #0] + 3d2: a901 add r1, sp, #4 + 3d4: 700c strb r4, [r1, #0] system_gclk_chan_set_config(SERCOM_GCLK_ID, &gclk_chan_conf); - 3ce: 2013 movs r0, #19 - 3d0: 4b07 ldr r3, [pc, #28] ; (3f0 ) - 3d2: 4798 blx r3 + 3d6: 2013 movs r0, #19 + 3d8: 4b07 ldr r3, [pc, #28] ; (3f8 ) + 3da: 4798 blx r3 system_gclk_chan_enable(SERCOM_GCLK_ID); - 3d4: 2013 movs r0, #19 - 3d6: 4b07 ldr r3, [pc, #28] ; (3f4 ) - 3d8: 4798 blx r3 + 3dc: 2013 movs r0, #19 + 3de: 4b07 ldr r3, [pc, #28] ; (3fc ) + 3e0: 4798 blx r3 _sercom_config.generator_source = generator_source; - 3da: 4b04 ldr r3, [pc, #16] ; (3ec ) - 3dc: 705c strb r4, [r3, #1] + 3e2: 4b04 ldr r3, [pc, #16] ; (3f4 ) + 3e4: 705c strb r4, [r3, #1] _sercom_config.generator_is_set = true; - 3de: 2201 movs r2, #1 - 3e0: 701a strb r2, [r3, #0] + 3e6: 2201 movs r2, #1 + 3e8: 701a strb r2, [r3, #0] return STATUS_OK; - 3e2: 2000 movs r0, #0 + 3ea: 2000 movs r0, #0 } - 3e4: b002 add sp, #8 - 3e6: bd10 pop {r4, pc} + 3ec: b002 add sp, #8 + 3ee: bd10 pop {r4, pc} return STATUS_OK; - 3e8: 2000 movs r0, #0 - 3ea: e7fb b.n 3e4 - 3ec: 20002694 .word 0x20002694 - 3f0: 0000117d .word 0x0000117d - 3f4: 000010f1 .word 0x000010f1 + 3f0: 2000 movs r0, #0 + 3f2: e7fb b.n 3ec + 3f4: 20002694 .word 0x20002694 + 3f8: 000011e5 .word 0x000011e5 + 3fc: 00001159 .word 0x00001159 -000003f8 <_sercom_get_default_pad>: +00000400 <_sercom_get_default_pad>: */ uint32_t _sercom_get_default_pad( Sercom *const sercom_module, const uint8_t pad) { switch ((uintptr_t)sercom_module) { - 3f8: 4b40 ldr r3, [pc, #256] ; (4fc <_sercom_get_default_pad+0x104>) - 3fa: 4298 cmp r0, r3 - 3fc: d031 beq.n 462 <_sercom_get_default_pad+0x6a> - 3fe: d90a bls.n 416 <_sercom_get_default_pad+0x1e> - 400: 4b3f ldr r3, [pc, #252] ; (500 <_sercom_get_default_pad+0x108>) + 400: 4b40 ldr r3, [pc, #256] ; (504 <_sercom_get_default_pad+0x104>) 402: 4298 cmp r0, r3 - 404: d04d beq.n 4a2 <_sercom_get_default_pad+0xaa> - 406: 4b3f ldr r3, [pc, #252] ; (504 <_sercom_get_default_pad+0x10c>) - 408: 4298 cmp r0, r3 - 40a: d05a beq.n 4c2 <_sercom_get_default_pad+0xca> - 40c: 4b3e ldr r3, [pc, #248] ; (508 <_sercom_get_default_pad+0x110>) - 40e: 4298 cmp r0, r3 - 410: d037 beq.n 482 <_sercom_get_default_pad+0x8a> + 404: d031 beq.n 46a <_sercom_get_default_pad+0x6a> + 406: d90a bls.n 41e <_sercom_get_default_pad+0x1e> + 408: 4b3f ldr r3, [pc, #252] ; (508 <_sercom_get_default_pad+0x108>) + 40a: 4298 cmp r0, r3 + 40c: d04d beq.n 4aa <_sercom_get_default_pad+0xaa> + 40e: 4b3f ldr r3, [pc, #252] ; (50c <_sercom_get_default_pad+0x10c>) + 410: 4298 cmp r0, r3 + 412: d05a beq.n 4ca <_sercom_get_default_pad+0xca> + 414: 4b3e ldr r3, [pc, #248] ; (510 <_sercom_get_default_pad+0x110>) + 416: 4298 cmp r0, r3 + 418: d037 beq.n 48a <_sercom_get_default_pad+0x8a> /* Auto-generate a lookup table for the default SERCOM pad defaults */ MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) } Assert(false); return 0; - 412: 2000 movs r0, #0 + 41a: 2000 movs r0, #0 } - 414: 4770 bx lr + 41c: 4770 bx lr switch ((uintptr_t)sercom_module) { - 416: 4b3d ldr r3, [pc, #244] ; (50c <_sercom_get_default_pad+0x114>) - 418: 4298 cmp r0, r3 - 41a: d00c beq.n 436 <_sercom_get_default_pad+0x3e> - 41c: 4b3c ldr r3, [pc, #240] ; (510 <_sercom_get_default_pad+0x118>) - 41e: 4298 cmp r0, r3 - 420: d1f7 bne.n 412 <_sercom_get_default_pad+0x1a> + 41e: 4b3d ldr r3, [pc, #244] ; (514 <_sercom_get_default_pad+0x114>) + 420: 4298 cmp r0, r3 + 422: d00c beq.n 43e <_sercom_get_default_pad+0x3e> + 424: 4b3c ldr r3, [pc, #240] ; (518 <_sercom_get_default_pad+0x118>) + 426: 4298 cmp r0, r3 + 428: d1f7 bne.n 41a <_sercom_get_default_pad+0x1a> MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) - 422: 2901 cmp r1, #1 - 424: d017 beq.n 456 <_sercom_get_default_pad+0x5e> - 426: 2900 cmp r1, #0 - 428: d05d beq.n 4e6 <_sercom_get_default_pad+0xee> - 42a: 2902 cmp r1, #2 - 42c: d015 beq.n 45a <_sercom_get_default_pad+0x62> - 42e: 2903 cmp r1, #3 - 430: d015 beq.n 45e <_sercom_get_default_pad+0x66> + 42a: 2901 cmp r1, #1 + 42c: d017 beq.n 45e <_sercom_get_default_pad+0x5e> + 42e: 2900 cmp r1, #0 + 430: d05d beq.n 4ee <_sercom_get_default_pad+0xee> + 432: 2902 cmp r1, #2 + 434: d015 beq.n 462 <_sercom_get_default_pad+0x62> + 436: 2903 cmp r1, #3 + 438: d015 beq.n 466 <_sercom_get_default_pad+0x66> return 0; - 432: 2000 movs r0, #0 - 434: e7ee b.n 414 <_sercom_get_default_pad+0x1c> + 43a: 2000 movs r0, #0 + 43c: e7ee b.n 41c <_sercom_get_default_pad+0x1c> MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) - 436: 2901 cmp r1, #1 - 438: d007 beq.n 44a <_sercom_get_default_pad+0x52> - 43a: 2900 cmp r1, #0 - 43c: d051 beq.n 4e2 <_sercom_get_default_pad+0xea> - 43e: 2902 cmp r1, #2 - 440: d005 beq.n 44e <_sercom_get_default_pad+0x56> - 442: 2903 cmp r1, #3 - 444: d005 beq.n 452 <_sercom_get_default_pad+0x5a> + 43e: 2901 cmp r1, #1 + 440: d007 beq.n 452 <_sercom_get_default_pad+0x52> + 442: 2900 cmp r1, #0 + 444: d051 beq.n 4ea <_sercom_get_default_pad+0xea> + 446: 2902 cmp r1, #2 + 448: d005 beq.n 456 <_sercom_get_default_pad+0x56> + 44a: 2903 cmp r1, #3 + 44c: d005 beq.n 45a <_sercom_get_default_pad+0x5a> return 0; - 446: 2000 movs r0, #0 - 448: e7e4 b.n 414 <_sercom_get_default_pad+0x1c> + 44e: 2000 movs r0, #0 + 450: e7e4 b.n 41c <_sercom_get_default_pad+0x1c> MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) - 44a: 4832 ldr r0, [pc, #200] ; (514 <_sercom_get_default_pad+0x11c>) - 44c: e7e2 b.n 414 <_sercom_get_default_pad+0x1c> - 44e: 4832 ldr r0, [pc, #200] ; (518 <_sercom_get_default_pad+0x120>) - 450: e7e0 b.n 414 <_sercom_get_default_pad+0x1c> - 452: 4832 ldr r0, [pc, #200] ; (51c <_sercom_get_default_pad+0x124>) - 454: e7de b.n 414 <_sercom_get_default_pad+0x1c> - 456: 4832 ldr r0, [pc, #200] ; (520 <_sercom_get_default_pad+0x128>) - 458: e7dc b.n 414 <_sercom_get_default_pad+0x1c> - 45a: 4832 ldr r0, [pc, #200] ; (524 <_sercom_get_default_pad+0x12c>) - 45c: e7da b.n 414 <_sercom_get_default_pad+0x1c> - 45e: 4832 ldr r0, [pc, #200] ; (528 <_sercom_get_default_pad+0x130>) - 460: e7d8 b.n 414 <_sercom_get_default_pad+0x1c> - 462: 2901 cmp r1, #1 - 464: d007 beq.n 476 <_sercom_get_default_pad+0x7e> - 466: 2900 cmp r1, #0 - 468: d03f beq.n 4ea <_sercom_get_default_pad+0xf2> - 46a: 2902 cmp r1, #2 - 46c: d005 beq.n 47a <_sercom_get_default_pad+0x82> - 46e: 2903 cmp r1, #3 - 470: d005 beq.n 47e <_sercom_get_default_pad+0x86> + 452: 4832 ldr r0, [pc, #200] ; (51c <_sercom_get_default_pad+0x11c>) + 454: e7e2 b.n 41c <_sercom_get_default_pad+0x1c> + 456: 4832 ldr r0, [pc, #200] ; (520 <_sercom_get_default_pad+0x120>) + 458: e7e0 b.n 41c <_sercom_get_default_pad+0x1c> + 45a: 4832 ldr r0, [pc, #200] ; (524 <_sercom_get_default_pad+0x124>) + 45c: e7de b.n 41c <_sercom_get_default_pad+0x1c> + 45e: 4832 ldr r0, [pc, #200] ; (528 <_sercom_get_default_pad+0x128>) + 460: e7dc b.n 41c <_sercom_get_default_pad+0x1c> + 462: 4832 ldr r0, [pc, #200] ; (52c <_sercom_get_default_pad+0x12c>) + 464: e7da b.n 41c <_sercom_get_default_pad+0x1c> + 466: 4832 ldr r0, [pc, #200] ; (530 <_sercom_get_default_pad+0x130>) + 468: e7d8 b.n 41c <_sercom_get_default_pad+0x1c> + 46a: 2901 cmp r1, #1 + 46c: d007 beq.n 47e <_sercom_get_default_pad+0x7e> + 46e: 2900 cmp r1, #0 + 470: d03f beq.n 4f2 <_sercom_get_default_pad+0xf2> + 472: 2902 cmp r1, #2 + 474: d005 beq.n 482 <_sercom_get_default_pad+0x82> + 476: 2903 cmp r1, #3 + 478: d005 beq.n 486 <_sercom_get_default_pad+0x86> return 0; - 472: 2000 movs r0, #0 - 474: e7ce b.n 414 <_sercom_get_default_pad+0x1c> + 47a: 2000 movs r0, #0 + 47c: e7ce b.n 41c <_sercom_get_default_pad+0x1c> MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) - 476: 482d ldr r0, [pc, #180] ; (52c <_sercom_get_default_pad+0x134>) - 478: e7cc b.n 414 <_sercom_get_default_pad+0x1c> - 47a: 482d ldr r0, [pc, #180] ; (530 <_sercom_get_default_pad+0x138>) - 47c: e7ca b.n 414 <_sercom_get_default_pad+0x1c> - 47e: 482d ldr r0, [pc, #180] ; (534 <_sercom_get_default_pad+0x13c>) - 480: e7c8 b.n 414 <_sercom_get_default_pad+0x1c> - 482: 2901 cmp r1, #1 - 484: d007 beq.n 496 <_sercom_get_default_pad+0x9e> - 486: 2900 cmp r1, #0 - 488: d031 beq.n 4ee <_sercom_get_default_pad+0xf6> - 48a: 2902 cmp r1, #2 - 48c: d005 beq.n 49a <_sercom_get_default_pad+0xa2> - 48e: 2903 cmp r1, #3 - 490: d005 beq.n 49e <_sercom_get_default_pad+0xa6> + 47e: 482d ldr r0, [pc, #180] ; (534 <_sercom_get_default_pad+0x134>) + 480: e7cc b.n 41c <_sercom_get_default_pad+0x1c> + 482: 482d ldr r0, [pc, #180] ; (538 <_sercom_get_default_pad+0x138>) + 484: e7ca b.n 41c <_sercom_get_default_pad+0x1c> + 486: 482d ldr r0, [pc, #180] ; (53c <_sercom_get_default_pad+0x13c>) + 488: e7c8 b.n 41c <_sercom_get_default_pad+0x1c> + 48a: 2901 cmp r1, #1 + 48c: d007 beq.n 49e <_sercom_get_default_pad+0x9e> + 48e: 2900 cmp r1, #0 + 490: d031 beq.n 4f6 <_sercom_get_default_pad+0xf6> + 492: 2902 cmp r1, #2 + 494: d005 beq.n 4a2 <_sercom_get_default_pad+0xa2> + 496: 2903 cmp r1, #3 + 498: d005 beq.n 4a6 <_sercom_get_default_pad+0xa6> return 0; - 492: 2000 movs r0, #0 - 494: e7be b.n 414 <_sercom_get_default_pad+0x1c> + 49a: 2000 movs r0, #0 + 49c: e7be b.n 41c <_sercom_get_default_pad+0x1c> MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) - 496: 4828 ldr r0, [pc, #160] ; (538 <_sercom_get_default_pad+0x140>) - 498: e7bc b.n 414 <_sercom_get_default_pad+0x1c> - 49a: 4828 ldr r0, [pc, #160] ; (53c <_sercom_get_default_pad+0x144>) - 49c: e7ba b.n 414 <_sercom_get_default_pad+0x1c> - 49e: 4828 ldr r0, [pc, #160] ; (540 <_sercom_get_default_pad+0x148>) - 4a0: e7b8 b.n 414 <_sercom_get_default_pad+0x1c> - 4a2: 2901 cmp r1, #1 - 4a4: d007 beq.n 4b6 <_sercom_get_default_pad+0xbe> - 4a6: 2900 cmp r1, #0 - 4a8: d023 beq.n 4f2 <_sercom_get_default_pad+0xfa> - 4aa: 2902 cmp r1, #2 - 4ac: d005 beq.n 4ba <_sercom_get_default_pad+0xc2> - 4ae: 2903 cmp r1, #3 - 4b0: d005 beq.n 4be <_sercom_get_default_pad+0xc6> + 49e: 4828 ldr r0, [pc, #160] ; (540 <_sercom_get_default_pad+0x140>) + 4a0: e7bc b.n 41c <_sercom_get_default_pad+0x1c> + 4a2: 4828 ldr r0, [pc, #160] ; (544 <_sercom_get_default_pad+0x144>) + 4a4: e7ba b.n 41c <_sercom_get_default_pad+0x1c> + 4a6: 4828 ldr r0, [pc, #160] ; (548 <_sercom_get_default_pad+0x148>) + 4a8: e7b8 b.n 41c <_sercom_get_default_pad+0x1c> + 4aa: 2901 cmp r1, #1 + 4ac: d007 beq.n 4be <_sercom_get_default_pad+0xbe> + 4ae: 2900 cmp r1, #0 + 4b0: d023 beq.n 4fa <_sercom_get_default_pad+0xfa> + 4b2: 2902 cmp r1, #2 + 4b4: d005 beq.n 4c2 <_sercom_get_default_pad+0xc2> + 4b6: 2903 cmp r1, #3 + 4b8: d005 beq.n 4c6 <_sercom_get_default_pad+0xc6> return 0; - 4b2: 2000 movs r0, #0 - 4b4: e7ae b.n 414 <_sercom_get_default_pad+0x1c> + 4ba: 2000 movs r0, #0 + 4bc: e7ae b.n 41c <_sercom_get_default_pad+0x1c> MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) - 4b6: 4823 ldr r0, [pc, #140] ; (544 <_sercom_get_default_pad+0x14c>) - 4b8: e7ac b.n 414 <_sercom_get_default_pad+0x1c> - 4ba: 4823 ldr r0, [pc, #140] ; (548 <_sercom_get_default_pad+0x150>) - 4bc: e7aa b.n 414 <_sercom_get_default_pad+0x1c> - 4be: 4823 ldr r0, [pc, #140] ; (54c <_sercom_get_default_pad+0x154>) - 4c0: e7a8 b.n 414 <_sercom_get_default_pad+0x1c> - 4c2: 2901 cmp r1, #1 - 4c4: d007 beq.n 4d6 <_sercom_get_default_pad+0xde> - 4c6: 2900 cmp r1, #0 - 4c8: d015 beq.n 4f6 <_sercom_get_default_pad+0xfe> - 4ca: 2902 cmp r1, #2 - 4cc: d005 beq.n 4da <_sercom_get_default_pad+0xe2> - 4ce: 2903 cmp r1, #3 - 4d0: d005 beq.n 4de <_sercom_get_default_pad+0xe6> + 4be: 4823 ldr r0, [pc, #140] ; (54c <_sercom_get_default_pad+0x14c>) + 4c0: e7ac b.n 41c <_sercom_get_default_pad+0x1c> + 4c2: 4823 ldr r0, [pc, #140] ; (550 <_sercom_get_default_pad+0x150>) + 4c4: e7aa b.n 41c <_sercom_get_default_pad+0x1c> + 4c6: 4823 ldr r0, [pc, #140] ; (554 <_sercom_get_default_pad+0x154>) + 4c8: e7a8 b.n 41c <_sercom_get_default_pad+0x1c> + 4ca: 2901 cmp r1, #1 + 4cc: d007 beq.n 4de <_sercom_get_default_pad+0xde> + 4ce: 2900 cmp r1, #0 + 4d0: d015 beq.n 4fe <_sercom_get_default_pad+0xfe> + 4d2: 2902 cmp r1, #2 + 4d4: d005 beq.n 4e2 <_sercom_get_default_pad+0xe2> + 4d6: 2903 cmp r1, #3 + 4d8: d005 beq.n 4e6 <_sercom_get_default_pad+0xe6> return 0; - 4d2: 2000 movs r0, #0 - 4d4: e79e b.n 414 <_sercom_get_default_pad+0x1c> + 4da: 2000 movs r0, #0 + 4dc: e79e b.n 41c <_sercom_get_default_pad+0x1c> MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_DEFAULTS_CASE, pad) - 4d6: 481e ldr r0, [pc, #120] ; (550 <_sercom_get_default_pad+0x158>) - 4d8: e79c b.n 414 <_sercom_get_default_pad+0x1c> - 4da: 481e ldr r0, [pc, #120] ; (554 <_sercom_get_default_pad+0x15c>) - 4dc: e79a b.n 414 <_sercom_get_default_pad+0x1c> - 4de: 481e ldr r0, [pc, #120] ; (558 <_sercom_get_default_pad+0x160>) - 4e0: e798 b.n 414 <_sercom_get_default_pad+0x1c> - 4e2: 481e ldr r0, [pc, #120] ; (55c <_sercom_get_default_pad+0x164>) - 4e4: e796 b.n 414 <_sercom_get_default_pad+0x1c> - 4e6: 2003 movs r0, #3 - 4e8: e794 b.n 414 <_sercom_get_default_pad+0x1c> - 4ea: 481d ldr r0, [pc, #116] ; (560 <_sercom_get_default_pad+0x168>) - 4ec: e792 b.n 414 <_sercom_get_default_pad+0x1c> - 4ee: 481d ldr r0, [pc, #116] ; (564 <_sercom_get_default_pad+0x16c>) - 4f0: e790 b.n 414 <_sercom_get_default_pad+0x1c> - 4f2: 481d ldr r0, [pc, #116] ; (568 <_sercom_get_default_pad+0x170>) - 4f4: e78e b.n 414 <_sercom_get_default_pad+0x1c> - 4f6: 481d ldr r0, [pc, #116] ; (56c <_sercom_get_default_pad+0x174>) - 4f8: e78c b.n 414 <_sercom_get_default_pad+0x1c> - 4fa: 46c0 nop ; (mov r8, r8) - 4fc: 42001000 .word 0x42001000 - 500: 42001800 .word 0x42001800 - 504: 42001c00 .word 0x42001c00 - 508: 42001400 .word 0x42001400 - 50c: 42000800 .word 0x42000800 - 510: 42000c00 .word 0x42000c00 - 514: 00050003 .word 0x00050003 - 518: 00060003 .word 0x00060003 - 51c: 00070003 .word 0x00070003 - 520: 00010003 .word 0x00010003 - 524: 001e0003 .word 0x001e0003 - 528: 001f0003 .word 0x001f0003 - 52c: 00090003 .word 0x00090003 - 530: 000a0003 .word 0x000a0003 - 534: 000b0003 .word 0x000b0003 - 538: 00110003 .word 0x00110003 - 53c: 00120003 .word 0x00120003 - 540: 00130003 .word 0x00130003 - 544: 000d0003 .word 0x000d0003 - 548: 000e0003 .word 0x000e0003 - 54c: 000f0003 .word 0x000f0003 - 550: 00170003 .word 0x00170003 - 554: 00180003 .word 0x00180003 - 558: 00190003 .word 0x00190003 - 55c: 00040003 .word 0x00040003 - 560: 00080003 .word 0x00080003 - 564: 00100003 .word 0x00100003 - 568: 000c0003 .word 0x000c0003 - 56c: 00160003 .word 0x00160003 - -00000570 <_sercom_get_sercom_inst_index>: + 4de: 481e ldr r0, [pc, #120] ; (558 <_sercom_get_default_pad+0x158>) + 4e0: e79c b.n 41c <_sercom_get_default_pad+0x1c> + 4e2: 481e ldr r0, [pc, #120] ; (55c <_sercom_get_default_pad+0x15c>) + 4e4: e79a b.n 41c <_sercom_get_default_pad+0x1c> + 4e6: 481e ldr r0, [pc, #120] ; (560 <_sercom_get_default_pad+0x160>) + 4e8: e798 b.n 41c <_sercom_get_default_pad+0x1c> + 4ea: 481e ldr r0, [pc, #120] ; (564 <_sercom_get_default_pad+0x164>) + 4ec: e796 b.n 41c <_sercom_get_default_pad+0x1c> + 4ee: 2003 movs r0, #3 + 4f0: e794 b.n 41c <_sercom_get_default_pad+0x1c> + 4f2: 481d ldr r0, [pc, #116] ; (568 <_sercom_get_default_pad+0x168>) + 4f4: e792 b.n 41c <_sercom_get_default_pad+0x1c> + 4f6: 481d ldr r0, [pc, #116] ; (56c <_sercom_get_default_pad+0x16c>) + 4f8: e790 b.n 41c <_sercom_get_default_pad+0x1c> + 4fa: 481d ldr r0, [pc, #116] ; (570 <_sercom_get_default_pad+0x170>) + 4fc: e78e b.n 41c <_sercom_get_default_pad+0x1c> + 4fe: 481d ldr r0, [pc, #116] ; (574 <_sercom_get_default_pad+0x174>) + 500: e78c b.n 41c <_sercom_get_default_pad+0x1c> + 502: 46c0 nop ; (mov r8, r8) + 504: 42001000 .word 0x42001000 + 508: 42001800 .word 0x42001800 + 50c: 42001c00 .word 0x42001c00 + 510: 42001400 .word 0x42001400 + 514: 42000800 .word 0x42000800 + 518: 42000c00 .word 0x42000c00 + 51c: 00050003 .word 0x00050003 + 520: 00060003 .word 0x00060003 + 524: 00070003 .word 0x00070003 + 528: 00010003 .word 0x00010003 + 52c: 001e0003 .word 0x001e0003 + 530: 001f0003 .word 0x001f0003 + 534: 00090003 .word 0x00090003 + 538: 000a0003 .word 0x000a0003 + 53c: 000b0003 .word 0x000b0003 + 540: 00110003 .word 0x00110003 + 544: 00120003 .word 0x00120003 + 548: 00130003 .word 0x00130003 + 54c: 000d0003 .word 0x000d0003 + 550: 000e0003 .word 0x000e0003 + 554: 000f0003 .word 0x000f0003 + 558: 00170003 .word 0x00170003 + 55c: 00180003 .word 0x00180003 + 560: 00190003 .word 0x00190003 + 564: 00040003 .word 0x00040003 + 568: 00080003 .word 0x00080003 + 56c: 00100003 .word 0x00100003 + 570: 000c0003 .word 0x000c0003 + 574: 00160003 .word 0x00160003 + +00000578 <_sercom_get_sercom_inst_index>: * * \return Index of given instance. */ uint8_t _sercom_get_sercom_inst_index( Sercom *const sercom_instance) { - 570: b530 push {r4, r5, lr} - 572: b087 sub sp, #28 + 578: b530 push {r4, r5, lr} + 57a: b087 sub sp, #28 /* Save all available SERCOM instances for compare */ Sercom *sercom_instances[SERCOM_INST_NUM] = SERCOM_INSTS; - 574: 4b0b ldr r3, [pc, #44] ; (5a4 <_sercom_get_sercom_inst_index+0x34>) - 576: 466a mov r2, sp - 578: cb32 ldmia r3!, {r1, r4, r5} - 57a: c232 stmia r2!, {r1, r4, r5} - 57c: cb32 ldmia r3!, {r1, r4, r5} - 57e: c232 stmia r2!, {r1, r4, r5} + 57c: 4b0b ldr r3, [pc, #44] ; (5ac <_sercom_get_sercom_inst_index+0x34>) + 57e: 466a mov r2, sp + 580: cb32 ldmia r3!, {r1, r4, r5} + 582: c232 stmia r2!, {r1, r4, r5} + 584: cb32 ldmia r3!, {r1, r4, r5} + 586: c232 stmia r2!, {r1, r4, r5} /* Find index for sercom instance */ for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { if ((uintptr_t)sercom_instance == (uintptr_t)sercom_instances[i]) { - 580: 9b00 ldr r3, [sp, #0] - 582: 4283 cmp r3, r0 - 584: d00b beq.n 59e <_sercom_get_sercom_inst_index+0x2e> - 586: 2301 movs r3, #1 - 588: 009a lsls r2, r3, #2 - 58a: 4669 mov r1, sp - 58c: 5852 ldr r2, [r2, r1] - 58e: 4282 cmp r2, r0 - 590: d006 beq.n 5a0 <_sercom_get_sercom_inst_index+0x30> + 588: 9b00 ldr r3, [sp, #0] + 58a: 4283 cmp r3, r0 + 58c: d00b beq.n 5a6 <_sercom_get_sercom_inst_index+0x2e> + 58e: 2301 movs r3, #1 + 590: 009a lsls r2, r3, #2 + 592: 4669 mov r1, sp + 594: 5852 ldr r2, [r2, r1] + 596: 4282 cmp r2, r0 + 598: d006 beq.n 5a8 <_sercom_get_sercom_inst_index+0x30> for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 592: 3301 adds r3, #1 - 594: 2b06 cmp r3, #6 - 596: d1f7 bne.n 588 <_sercom_get_sercom_inst_index+0x18> + 59a: 3301 adds r3, #1 + 59c: 2b06 cmp r3, #6 + 59e: d1f7 bne.n 590 <_sercom_get_sercom_inst_index+0x18> } } /* Invalid data given */ Assert(false); return 0; - 598: 2000 movs r0, #0 + 5a0: 2000 movs r0, #0 } - 59a: b007 add sp, #28 - 59c: bd30 pop {r4, r5, pc} + 5a2: b007 add sp, #28 + 5a4: bd30 pop {r4, r5, pc} for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 59e: 2300 movs r3, #0 + 5a6: 2300 movs r3, #0 return i; - 5a0: b2d8 uxtb r0, r3 - 5a2: e7fa b.n 59a <_sercom_get_sercom_inst_index+0x2a> - 5a4: 000187a4 .word 0x000187a4 + 5a8: b2d8 uxtb r0, r3 + 5aa: e7fa b.n 5a2 <_sercom_get_sercom_inst_index+0x2a> + 5ac: 00018834 .word 0x00018834 -000005a8 : +000005b0 : */ enum status_code usart_init( struct usart_module *const module, Sercom *const hw, const struct usart_config *const config) { - 5a8: b5f0 push {r4, r5, r6, r7, lr} - 5aa: 46de mov lr, fp - 5ac: 4657 mov r7, sl - 5ae: 464e mov r6, r9 - 5b0: 4645 mov r5, r8 - 5b2: b5e0 push {r5, r6, r7, lr} - 5b4: b091 sub sp, #68 ; 0x44 - 5b6: 0005 movs r5, r0 - 5b8: 000c movs r4, r1 - 5ba: 0016 movs r6, r2 + 5b0: b5f0 push {r4, r5, r6, r7, lr} + 5b2: 46de mov lr, fp + 5b4: 4657 mov r7, sl + 5b6: 464e mov r6, r9 + 5b8: 4645 mov r5, r8 + 5ba: b5e0 push {r5, r6, r7, lr} + 5bc: b091 sub sp, #68 ; 0x44 + 5be: 0005 movs r5, r0 + 5c0: 000c movs r4, r1 + 5c2: 0016 movs r6, r2 Assert(config); enum status_code status_code = STATUS_OK; /* Assign module pointer to software instance struct */ module->hw = hw; - 5bc: 6029 str r1, [r5, #0] + 5c4: 6029 str r1, [r5, #0] /* Get a pointer to the hardware module instance */ SercomUsart *const usart_hw = &(module->hw->USART); uint32_t sercom_index = _sercom_get_sercom_inst_index(module->hw); - 5be: 0008 movs r0, r1 - 5c0: 4bba ldr r3, [pc, #744] ; (8ac ) - 5c2: 4798 blx r3 - 5c4: 0002 movs r2, r0 + 5c6: 0008 movs r0, r1 + 5c8: 4bba ldr r3, [pc, #744] ; (8b4 ) + 5ca: 4798 blx r3 + 5cc: 0002 movs r2, r0 #else pm_index = sercom_index + PM_APBCMASK_SERCOM0_Pos; gclk_index = sercom_index + SERCOM0_GCLK_ID_CORE; #endif if (usart_hw->CTRLA.reg & SERCOM_USART_CTRLA_SWRST) { - 5c6: 6823 ldr r3, [r4, #0] + 5ce: 6823 ldr r3, [r4, #0] /* The module is busy resetting itself */ return STATUS_BUSY; - 5c8: 2005 movs r0, #5 + 5d0: 2005 movs r0, #5 if (usart_hw->CTRLA.reg & SERCOM_USART_CTRLA_SWRST) { - 5ca: 07db lsls r3, r3, #31 - 5cc: d506 bpl.n 5dc + 5d2: 07db lsls r3, r3, #31 + 5d4: d506 bpl.n 5e4 _sercom_set_handler(instance_index, _usart_interrupt_handler); _sercom_instances[instance_index] = module; #endif return status_code; } - 5ce: b011 add sp, #68 ; 0x44 - 5d0: bc3c pop {r2, r3, r4, r5} - 5d2: 4690 mov r8, r2 - 5d4: 4699 mov r9, r3 - 5d6: 46a2 mov sl, r4 - 5d8: 46ab mov fp, r5 - 5da: bdf0 pop {r4, r5, r6, r7, pc} + 5d6: b011 add sp, #68 ; 0x44 + 5d8: bc3c pop {r2, r3, r4, r5} + 5da: 4690 mov r8, r2 + 5dc: 4699 mov r9, r3 + 5de: 46a2 mov sl, r4 + 5e0: 46ab mov fp, r5 + 5e2: bdf0 pop {r4, r5, r6, r7, pc} if (usart_hw->CTRLA.reg & SERCOM_USART_CTRLA_ENABLE) { - 5dc: 6823 ldr r3, [r4, #0] + 5e4: 6823 ldr r3, [r4, #0] return STATUS_ERR_DENIED; - 5de: 3017 adds r0, #23 + 5e6: 3017 adds r0, #23 if (usart_hw->CTRLA.reg & SERCOM_USART_CTRLA_ENABLE) { - 5e0: 079b lsls r3, r3, #30 - 5e2: d4f4 bmi.n 5ce + 5e8: 079b lsls r3, r3, #30 + 5ea: d4f4 bmi.n 5d6 case SYSTEM_CLOCK_APB_APBB: PM->APBBMASK.reg |= mask; break; case SYSTEM_CLOCK_APB_APBC: PM->APBCMASK.reg |= mask; - 5e4: 49b2 ldr r1, [pc, #712] ; (8b0 ) - 5e6: 6a08 ldr r0, [r1, #32] + 5ec: 49b2 ldr r1, [pc, #712] ; (8b8 ) + 5ee: 6a08 ldr r0, [r1, #32] pm_index = sercom_index + PM_APBCMASK_SERCOM0_Pos; - 5e8: 1c97 adds r7, r2, #2 + 5f0: 1c97 adds r7, r2, #2 system_apb_clock_set_mask(SYSTEM_CLOCK_APB_APBC, 1 << pm_index); - 5ea: 2301 movs r3, #1 - 5ec: 40bb lsls r3, r7 - 5ee: 4303 orrs r3, r0 - 5f0: 620b str r3, [r1, #32] + 5f2: 2301 movs r3, #1 + 5f4: 40bb lsls r3, r7 + 5f6: 4303 orrs r3, r0 + 5f8: 620b str r3, [r1, #32] gclk_chan_conf.source_generator = config->generator_source; - 5f2: a90f add r1, sp, #60 ; 0x3c - 5f4: 272d movs r7, #45 ; 0x2d - 5f6: 5df3 ldrb r3, [r6, r7] - 5f8: 700b strb r3, [r1, #0] + 5fa: a90f add r1, sp, #60 ; 0x3c + 5fc: 272d movs r7, #45 ; 0x2d + 5fe: 5df3 ldrb r3, [r6, r7] + 600: 700b strb r3, [r1, #0] gclk_index = sercom_index + SERCOM0_GCLK_ID_CORE; - 5fa: 3214 adds r2, #20 + 602: 3214 adds r2, #20 system_gclk_chan_set_config(gclk_index, &gclk_chan_conf); - 5fc: b2d3 uxtb r3, r2 - 5fe: 9302 str r3, [sp, #8] - 600: 0018 movs r0, r3 - 602: 4bac ldr r3, [pc, #688] ; (8b4 ) - 604: 4798 blx r3 + 604: b2d3 uxtb r3, r2 + 606: 9302 str r3, [sp, #8] + 608: 0018 movs r0, r3 + 60a: 4bac ldr r3, [pc, #688] ; (8bc ) + 60c: 4798 blx r3 system_gclk_chan_enable(gclk_index); - 606: 9802 ldr r0, [sp, #8] - 608: 4bab ldr r3, [pc, #684] ; (8b8 ) - 60a: 4798 blx r3 - sercom_set_gclk_generator(config->generator_source, false); - 60c: 5df0 ldrb r0, [r6, r7] - 60e: 2100 movs r1, #0 - 610: 4baa ldr r3, [pc, #680] ; (8bc ) + 60e: 9802 ldr r0, [sp, #8] + 610: 4bab ldr r3, [pc, #684] ; (8c0 ) 612: 4798 blx r3 + sercom_set_gclk_generator(config->generator_source, false); + 614: 5df0 ldrb r0, [r6, r7] + 616: 2100 movs r1, #0 + 618: 4baa ldr r3, [pc, #680] ; (8c4 ) + 61a: 4798 blx r3 module->character_size = config->character_size; - 614: 7af3 ldrb r3, [r6, #11] - 616: 716b strb r3, [r5, #5] + 61c: 7af3 ldrb r3, [r6, #11] + 61e: 716b strb r3, [r5, #5] module->receiver_enabled = config->receiver_enable; - 618: 2324 movs r3, #36 ; 0x24 - 61a: 5cf3 ldrb r3, [r6, r3] - 61c: 71ab strb r3, [r5, #6] + 620: 2324 movs r3, #36 ; 0x24 + 622: 5cf3 ldrb r3, [r6, r3] + 624: 71ab strb r3, [r5, #6] module->transmitter_enabled = config->transmitter_enable; - 61e: 2325 movs r3, #37 ; 0x25 - 620: 5cf3 ldrb r3, [r6, r3] - 622: 71eb strb r3, [r5, #7] + 626: 2325 movs r3, #37 ; 0x25 + 628: 5cf3 ldrb r3, [r6, r3] + 62a: 71eb strb r3, [r5, #7] module->lin_slave_enabled = config->lin_slave_enable; - 624: 7ef3 ldrb r3, [r6, #27] - 626: 722b strb r3, [r5, #8] + 62c: 7ef3 ldrb r3, [r6, #27] + 62e: 722b strb r3, [r5, #8] module->start_frame_detection_enabled = config->start_frame_detection_enable; - 628: 7f33 ldrb r3, [r6, #28] - 62a: 726b strb r3, [r5, #9] + 630: 7f33 ldrb r3, [r6, #28] + 632: 726b strb r3, [r5, #9] SercomUsart *const usart_hw = &(module->hw->USART); - 62c: 682b ldr r3, [r5, #0] - 62e: 4698 mov r8, r3 + 634: 682b ldr r3, [r5, #0] + 636: 4698 mov r8, r3 uint32_t sercom_index = _sercom_get_sercom_inst_index(module->hw); - 630: 0018 movs r0, r3 - 632: 4b9e ldr r3, [pc, #632] ; (8ac ) - 634: 4798 blx r3 + 638: 0018 movs r0, r3 + 63a: 4b9e ldr r3, [pc, #632] ; (8b4 ) + 63c: 4798 blx r3 gclk_index = sercom_index + SERCOM0_GCLK_ID_CORE; - 636: 3014 adds r0, #20 + 63e: 3014 adds r0, #20 uint16_t baud = 0; - 638: 2200 movs r2, #0 - 63a: 230e movs r3, #14 - 63c: a906 add r1, sp, #24 - 63e: 468c mov ip, r1 - 640: 4463 add r3, ip - 642: 801a strh r2, [r3, #0] + 640: 2200 movs r2, #0 + 642: 230e movs r3, #14 + 644: a906 add r1, sp, #24 + 646: 468c mov ip, r1 + 648: 4463 add r3, ip + 64a: 801a strh r2, [r3, #0] switch (config->sample_rate) { - 644: 8a32 ldrh r2, [r6, #16] - 646: 9202 str r2, [sp, #8] - 648: 2380 movs r3, #128 ; 0x80 - 64a: 01db lsls r3, r3, #7 - 64c: 429a cmp r2, r3 - 64e: d100 bne.n 652 - 650: e09a b.n 788 - 652: d90f bls.n 674 - 654: 23c0 movs r3, #192 ; 0xc0 - 656: 01db lsls r3, r3, #7 - 658: 9a02 ldr r2, [sp, #8] - 65a: 429a cmp r2, r3 - 65c: d100 bne.n 660 - 65e: e08e b.n 77e - 660: 2380 movs r3, #128 ; 0x80 - 662: 021b lsls r3, r3, #8 - 664: 429a cmp r2, r3 - 666: d000 beq.n 66a - 668: e11b b.n 8a2 + 64c: 8a32 ldrh r2, [r6, #16] + 64e: 9202 str r2, [sp, #8] + 650: 2380 movs r3, #128 ; 0x80 + 652: 01db lsls r3, r3, #7 + 654: 429a cmp r2, r3 + 656: d100 bne.n 65a + 658: e09a b.n 790 + 65a: d90f bls.n 67c + 65c: 23c0 movs r3, #192 ; 0xc0 + 65e: 01db lsls r3, r3, #7 + 660: 9a02 ldr r2, [sp, #8] + 662: 429a cmp r2, r3 + 664: d100 bne.n 668 + 666: e08e b.n 786 + 668: 2380 movs r3, #128 ; 0x80 + 66a: 021b lsls r3, r3, #8 + 66c: 429a cmp r2, r3 + 66e: d000 beq.n 672 + 670: e11b b.n 8aa sample_num = SERCOM_ASYNC_SAMPLE_NUM_3; - 66a: 2303 movs r3, #3 - 66c: 9306 str r3, [sp, #24] + 672: 2303 movs r3, #3 + 674: 9306 str r3, [sp, #24] mode = SERCOM_ASYNC_OPERATION_MODE_ARITHMETIC; - 66e: 2300 movs r3, #0 - 670: 9307 str r3, [sp, #28] - 672: e008 b.n 686 + 676: 2300 movs r3, #0 + 678: 9307 str r3, [sp, #28] + 67a: e008 b.n 68e switch (config->sample_rate) { - 674: 2380 movs r3, #128 ; 0x80 - 676: 019b lsls r3, r3, #6 - 678: 429a cmp r2, r3 - 67a: d000 beq.n 67e - 67c: e111 b.n 8a2 + 67c: 2380 movs r3, #128 ; 0x80 + 67e: 019b lsls r3, r3, #6 + 680: 429a cmp r2, r3 + 682: d000 beq.n 686 + 684: e111 b.n 8aa sample_num = SERCOM_ASYNC_SAMPLE_NUM_16; - 67e: 2310 movs r3, #16 - 680: 9306 str r3, [sp, #24] + 686: 2310 movs r3, #16 + 688: 9306 str r3, [sp, #24] mode = SERCOM_ASYNC_OPERATION_MODE_FRACTIONAL; - 682: 3b0f subs r3, #15 - 684: 9307 str r3, [sp, #28] + 68a: 3b0f subs r3, #15 + 68c: 9307 str r3, [sp, #28] ctrla = (uint32_t)config->data_order | - 686: 6833 ldr r3, [r6, #0] - 688: 9305 str r3, [sp, #20] + 68e: 6833 ldr r3, [r6, #0] + 690: 9305 str r3, [sp, #20] (uint32_t)config->mux_setting | - 68a: 68f3 ldr r3, [r6, #12] - 68c: 469b mov fp, r3 + 692: 68f3 ldr r3, [r6, #12] + 694: 469b mov fp, r3 config->sample_adjustment | - 68e: 6973 ldr r3, [r6, #20] - 690: 9303 str r3, [sp, #12] + 696: 6973 ldr r3, [r6, #20] + 698: 9303 str r3, [sp, #12] (config->immediate_buffer_overflow_notification << SERCOM_USART_CTRLA_IBON_Pos) | - 692: 7e33 ldrb r3, [r6, #24] - 694: 9304 str r3, [sp, #16] + 69a: 7e33 ldrb r3, [r6, #24] + 69c: 9304 str r3, [sp, #16] (config->clock_polarity_inverted << SERCOM_USART_CTRLA_CPOL_Pos); - 696: 2326 movs r3, #38 ; 0x26 - 698: 5cf3 ldrb r3, [r6, r3] - 69a: 469a mov sl, r3 + 69e: 2326 movs r3, #38 ; 0x26 + 6a0: 5cf3 ldrb r3, [r6, r3] + 6a2: 469a mov sl, r3 transfer_mode = (uint32_t)config->transfer_mode; - 69c: 6873 ldr r3, [r6, #4] - 69e: 4699 mov r9, r3 + 6a4: 6873 ldr r3, [r6, #4] + 6a6: 4699 mov r9, r3 switch (transfer_mode) - 6a0: 2b00 cmp r3, #0 - 6a2: d100 bne.n 6a6 - 6a4: e09c b.n 7e0 - 6a6: 2380 movs r3, #128 ; 0x80 - 6a8: 055b lsls r3, r3, #21 - 6aa: 4599 cmp r9, r3 - 6ac: d100 bne.n 6b0 - 6ae: e080 b.n 7b2 + 6a8: 2b00 cmp r3, #0 + 6aa: d100 bne.n 6ae + 6ac: e09c b.n 7e8 + 6ae: 2380 movs r3, #128 ; 0x80 + 6b0: 055b lsls r3, r3, #21 + 6b2: 4599 cmp r9, r3 + 6b4: d100 bne.n 6b8 + 6b6: e080 b.n 7ba if(config->encoding_format_enable) { - 6b0: 7e73 ldrb r3, [r6, #25] - 6b2: 2b00 cmp r3, #0 - 6b4: d002 beq.n 6bc + 6b8: 7e73 ldrb r3, [r6, #25] + 6ba: 2b00 cmp r3, #0 + 6bc: d002 beq.n 6c4 usart_hw->RXPL.reg = config->receive_pulse_length; - 6b6: 7eb3 ldrb r3, [r6, #26] - 6b8: 4642 mov r2, r8 - 6ba: 7393 strb r3, [r2, #14] + 6be: 7eb3 ldrb r3, [r6, #26] + 6c0: 4642 mov r2, r8 + 6c2: 7393 strb r3, [r2, #14] usart_hw->BAUD.reg = baud; - 6bc: 230e movs r3, #14 - 6be: aa06 add r2, sp, #24 - 6c0: 4694 mov ip, r2 - 6c2: 4463 add r3, ip - 6c4: 881b ldrh r3, [r3, #0] - 6c6: 4642 mov r2, r8 - 6c8: 8193 strh r3, [r2, #12] + 6c4: 230e movs r3, #14 + 6c6: aa06 add r2, sp, #24 + 6c8: 4694 mov ip, r2 + 6ca: 4463 add r3, ip + 6cc: 881b ldrh r3, [r3, #0] + 6ce: 4642 mov r2, r8 + 6d0: 8193 strh r3, [r2, #12] ctrla |= transfer_mode; - 6ca: 9b05 ldr r3, [sp, #20] - 6cc: 465a mov r2, fp - 6ce: 4313 orrs r3, r2 - 6d0: 9a03 ldr r2, [sp, #12] - 6d2: 4313 orrs r3, r2 - 6d4: 464a mov r2, r9 + 6d2: 9b05 ldr r3, [sp, #20] + 6d4: 465a mov r2, fp 6d6: 4313 orrs r3, r2 - 6d8: 9f02 ldr r7, [sp, #8] - 6da: 431f orrs r7, r3 + 6d8: 9a03 ldr r2, [sp, #12] + 6da: 4313 orrs r3, r2 + 6dc: 464a mov r2, r9 + 6de: 4313 orrs r3, r2 + 6e0: 9f02 ldr r7, [sp, #8] + 6e2: 431f orrs r7, r3 (config->immediate_buffer_overflow_notification << SERCOM_USART_CTRLA_IBON_Pos) | - 6dc: 9b04 ldr r3, [sp, #16] - 6de: 021b lsls r3, r3, #8 + 6e4: 9b04 ldr r3, [sp, #16] + 6e6: 021b lsls r3, r3, #8 ctrla |= transfer_mode; - 6e0: 431f orrs r7, r3 + 6e8: 431f orrs r7, r3 (config->clock_polarity_inverted << SERCOM_USART_CTRLA_CPOL_Pos); - 6e2: 4653 mov r3, sl - 6e4: 075b lsls r3, r3, #29 + 6ea: 4653 mov r3, sl + 6ec: 075b lsls r3, r3, #29 ctrla |= transfer_mode; - 6e6: 431f orrs r7, r3 + 6ee: 431f orrs r7, r3 if (config->use_external_clock == false) { - 6e8: 2327 movs r3, #39 ; 0x27 - 6ea: 5cf3 ldrb r3, [r6, r3] - 6ec: 2b00 cmp r3, #0 - 6ee: d101 bne.n 6f4 + 6f0: 2327 movs r3, #39 ; 0x27 + 6f2: 5cf3 ldrb r3, [r6, r3] + 6f4: 2b00 cmp r3, #0 + 6f6: d101 bne.n 6fc ctrla |= SERCOM_USART_CTRLA_MODE(0x1); - 6f0: 3304 adds r3, #4 - 6f2: 431f orrs r7, r3 + 6f8: 3304 adds r3, #4 + 6fa: 431f orrs r7, r3 (config->encoding_format_enable << SERCOM_USART_CTRLB_ENC_Pos) | - 6f4: 7e73 ldrb r3, [r6, #25] - 6f6: 029b lsls r3, r3, #10 + 6fc: 7e73 ldrb r3, [r6, #25] + 6fe: 029b lsls r3, r3, #10 (config->start_frame_detection_enable << SERCOM_USART_CTRLB_SFDE_Pos) | - 6f8: 7f32 ldrb r2, [r6, #28] - 6fa: 0252 lsls r2, r2, #9 + 700: 7f32 ldrb r2, [r6, #28] + 702: 0252 lsls r2, r2, #9 (config->encoding_format_enable << SERCOM_USART_CTRLB_ENC_Pos) | - 6fc: 4313 orrs r3, r2 + 704: 4313 orrs r3, r2 (config->collision_detection_enable << SERCOM_USART_CTRLB_COLDEN_Pos) | - 6fe: 7f72 ldrb r2, [r6, #29] - 700: 0212 lsls r2, r2, #8 + 706: 7f72 ldrb r2, [r6, #29] + 708: 0212 lsls r2, r2, #8 (config->start_frame_detection_enable << SERCOM_USART_CTRLB_SFDE_Pos) | - 702: 4313 orrs r3, r2 + 70a: 4313 orrs r3, r2 (config->receiver_enable << SERCOM_USART_CTRLB_RXEN_Pos) | - 704: 2224 movs r2, #36 ; 0x24 - 706: 5cb2 ldrb r2, [r6, r2] - 708: 0452 lsls r2, r2, #17 + 70c: 2224 movs r2, #36 ; 0x24 + 70e: 5cb2 ldrb r2, [r6, r2] + 710: 0452 lsls r2, r2, #17 (config->collision_detection_enable << SERCOM_USART_CTRLB_COLDEN_Pos) | - 70a: 4313 orrs r3, r2 + 712: 4313 orrs r3, r2 (config->transmitter_enable << SERCOM_USART_CTRLB_TXEN_Pos); - 70c: 2225 movs r2, #37 ; 0x25 - 70e: 5cb2 ldrb r2, [r6, r2] - 710: 0412 lsls r2, r2, #16 + 714: 2225 movs r2, #37 ; 0x25 + 716: 5cb2 ldrb r2, [r6, r2] + 718: 0412 lsls r2, r2, #16 (config->receiver_enable << SERCOM_USART_CTRLB_RXEN_Pos) | - 712: 4313 orrs r3, r2 + 71a: 4313 orrs r3, r2 ctrlb |= (uint32_t)config->character_size; - 714: 7ab1 ldrb r1, [r6, #10] - 716: 7af2 ldrb r2, [r6, #11] - 718: 4311 orrs r1, r2 - 71a: 4319 orrs r1, r3 + 71c: 7ab1 ldrb r1, [r6, #10] + 71e: 7af2 ldrb r2, [r6, #11] + 720: 4311 orrs r1, r2 + 722: 4319 orrs r1, r3 if (config->parity != USART_PARITY_NONE) { - 71c: 8933 ldrh r3, [r6, #8] - 71e: 2bff cmp r3, #255 ; 0xff - 720: d100 bne.n 724 - 722: e081 b.n 828 + 724: 8933 ldrh r3, [r6, #8] + 726: 2bff cmp r3, #255 ; 0xff + 728: d100 bne.n 72c + 72a: e081 b.n 830 ctrla |= SERCOM_USART_CTRLA_FORM(1); - 724: 2280 movs r2, #128 ; 0x80 - 726: 0452 lsls r2, r2, #17 - 728: 4317 orrs r7, r2 + 72c: 2280 movs r2, #128 ; 0x80 + 72e: 0452 lsls r2, r2, #17 + 730: 4317 orrs r7, r2 ctrlb |= config->parity; - 72a: 4319 orrs r1, r3 + 732: 4319 orrs r1, r3 if (config->run_in_standby || system_is_debugger_present()) { - 72c: 232c movs r3, #44 ; 0x2c - 72e: 5cf3 ldrb r3, [r6, r3] - 730: 2b00 cmp r3, #0 - 732: d103 bne.n 73c + 734: 232c movs r3, #44 ; 0x2c + 736: 5cf3 ldrb r3, [r6, r3] + 738: 2b00 cmp r3, #0 + 73a: d103 bne.n 744 * \retval false Debugger is not connected to the system * */ static inline bool system_is_debugger_present(void) { return DSU->STATUSB.reg & DSU_STATUSB_DBGPRES; - 734: 4b62 ldr r3, [pc, #392] ; (8c0 ) - 736: 789b ldrb r3, [r3, #2] - 738: 079b lsls r3, r3, #30 - 73a: d501 bpl.n 740 + 73c: 4b62 ldr r3, [pc, #392] ; (8c8 ) + 73e: 789b ldrb r3, [r3, #2] + 740: 079b lsls r3, r3, #30 + 742: d501 bpl.n 748 ctrla |= SERCOM_USART_CTRLA_RUNSTDBY; - 73c: 2380 movs r3, #128 ; 0x80 - 73e: 431f orrs r7, r3 + 744: 2380 movs r3, #128 ; 0x80 + 746: 431f orrs r7, r3 { /* Sanity check arguments */ Assert(module); Assert(module->hw); SercomUsart *const usart_hw = &(module->hw->USART); - 740: 682a ldr r2, [r5, #0] + 748: 682a ldr r2, [r5, #0] #ifdef FEATURE_USART_SYNC_SCHEME_V2 return (usart_hw->SYNCBUSY.reg); - 742: 69d3 ldr r3, [r2, #28] + 74a: 69d3 ldr r3, [r2, #28] const struct usart_module *const module) { /* Sanity check */ Assert(module); while (usart_is_syncing(module)) { - 744: 2b00 cmp r3, #0 - 746: d1fc bne.n 742 + 74c: 2b00 cmp r3, #0 + 74e: d1fc bne.n 74a usart_hw->CTRLB.reg = ctrlb; - 748: 4643 mov r3, r8 - 74a: 6059 str r1, [r3, #4] + 750: 4643 mov r3, r8 + 752: 6059 str r1, [r3, #4] SercomUsart *const usart_hw = &(module->hw->USART); - 74c: 682a ldr r2, [r5, #0] + 754: 682a ldr r2, [r5, #0] return (usart_hw->SYNCBUSY.reg); - 74e: 69d3 ldr r3, [r2, #28] + 756: 69d3 ldr r3, [r2, #28] while (usart_is_syncing(module)) { - 750: 2b00 cmp r3, #0 - 752: d1fc bne.n 74e + 758: 2b00 cmp r3, #0 + 75a: d1fc bne.n 756 usart_hw->CTRLA.reg = ctrla; - 754: 4643 mov r3, r8 - 756: 601f str r7, [r3, #0] + 75c: 4643 mov r3, r8 + 75e: 601f str r7, [r3, #0] { /* Sanity check arguments */ Assert(config); /* Default configuration values */ config->mux_position = SYSTEM_PINMUX_GPIO; - 758: ab0e add r3, sp, #56 ; 0x38 - 75a: 2280 movs r2, #128 ; 0x80 - 75c: 701a strb r2, [r3, #0] + 760: ab0e add r3, sp, #56 ; 0x38 + 762: 2280 movs r2, #128 ; 0x80 + 764: 701a strb r2, [r3, #0] config->direction = SYSTEM_PINMUX_PIN_DIR_INPUT; - 75e: 2200 movs r2, #0 - 760: 705a strb r2, [r3, #1] + 766: 2200 movs r2, #0 + 768: 705a strb r2, [r3, #1] config->input_pull = SYSTEM_PINMUX_PIN_PULL_UP; config->powersave = false; - 762: 70da strb r2, [r3, #3] + 76a: 70da strb r2, [r3, #3] pin_conf.input_pull = SYSTEM_PINMUX_PIN_PULL_NONE; - 764: 709a strb r2, [r3, #2] + 76c: 709a strb r2, [r3, #2] uint32_t pad_pinmuxes[] = { - 766: 6b33 ldr r3, [r6, #48] ; 0x30 - 768: 930a str r3, [sp, #40] ; 0x28 - 76a: 6b73 ldr r3, [r6, #52] ; 0x34 - 76c: 930b str r3, [sp, #44] ; 0x2c - 76e: 6bb3 ldr r3, [r6, #56] ; 0x38 - 770: 930c str r3, [sp, #48] ; 0x30 - 772: 6bf3 ldr r3, [r6, #60] ; 0x3c - 774: 9302 str r3, [sp, #8] - 776: 930d str r3, [sp, #52] ; 0x34 - 778: 2700 movs r7, #0 + 76e: 6b33 ldr r3, [r6, #48] ; 0x30 + 770: 930a str r3, [sp, #40] ; 0x28 + 772: 6b73 ldr r3, [r6, #52] ; 0x34 + 774: 930b str r3, [sp, #44] ; 0x2c + 776: 6bb3 ldr r3, [r6, #56] ; 0x38 + 778: 930c str r3, [sp, #48] ; 0x30 + 77a: 6bf3 ldr r3, [r6, #60] ; 0x3c + 77c: 9302 str r3, [sp, #8] + 77e: 930d str r3, [sp, #52] ; 0x34 + 780: 2700 movs r7, #0 uint32_t current_pinmux = pad_pinmuxes[pad]; - 77a: ae0a add r6, sp, #40 ; 0x28 - 77c: e063 b.n 846 + 782: ae0a add r6, sp, #40 ; 0x28 + 784: e063 b.n 84e sample_num = SERCOM_ASYNC_SAMPLE_NUM_8; - 77e: 2308 movs r3, #8 - 780: 9306 str r3, [sp, #24] + 786: 2308 movs r3, #8 + 788: 9306 str r3, [sp, #24] mode = SERCOM_ASYNC_OPERATION_MODE_FRACTIONAL; - 782: 3b07 subs r3, #7 - 784: 9307 str r3, [sp, #28] - 786: e77e b.n 686 + 78a: 3b07 subs r3, #7 + 78c: 9307 str r3, [sp, #28] + 78e: e77e b.n 68e ctrla = (uint32_t)config->data_order | - 788: 6833 ldr r3, [r6, #0] - 78a: 9305 str r3, [sp, #20] + 790: 6833 ldr r3, [r6, #0] + 792: 9305 str r3, [sp, #20] (uint32_t)config->mux_setting | - 78c: 68f3 ldr r3, [r6, #12] - 78e: 469b mov fp, r3 + 794: 68f3 ldr r3, [r6, #12] + 796: 469b mov fp, r3 config->sample_adjustment | - 790: 6973 ldr r3, [r6, #20] - 792: 9303 str r3, [sp, #12] + 798: 6973 ldr r3, [r6, #20] + 79a: 9303 str r3, [sp, #12] (config->immediate_buffer_overflow_notification << SERCOM_USART_CTRLA_IBON_Pos) | - 794: 7e33 ldrb r3, [r6, #24] - 796: 9304 str r3, [sp, #16] + 79c: 7e33 ldrb r3, [r6, #24] + 79e: 9304 str r3, [sp, #16] (config->clock_polarity_inverted << SERCOM_USART_CTRLA_CPOL_Pos); - 798: 2326 movs r3, #38 ; 0x26 - 79a: 5cf3 ldrb r3, [r6, r3] - 79c: 469a mov sl, r3 + 7a0: 2326 movs r3, #38 ; 0x26 + 7a2: 5cf3 ldrb r3, [r6, r3] + 7a4: 469a mov sl, r3 transfer_mode = (uint32_t)config->transfer_mode; - 79e: 6873 ldr r3, [r6, #4] - 7a0: 4699 mov r9, r3 + 7a6: 6873 ldr r3, [r6, #4] + 7a8: 4699 mov r9, r3 switch (transfer_mode) - 7a2: 2b00 cmp r3, #0 - 7a4: d018 beq.n 7d8 - 7a6: 2380 movs r3, #128 ; 0x80 - 7a8: 055b lsls r3, r3, #21 - 7aa: 4599 cmp r9, r3 - 7ac: d001 beq.n 7b2 + 7aa: 2b00 cmp r3, #0 + 7ac: d018 beq.n 7e0 + 7ae: 2380 movs r3, #128 ; 0x80 + 7b0: 055b lsls r3, r3, #21 + 7b2: 4599 cmp r9, r3 + 7b4: d001 beq.n 7ba enum status_code status_code = STATUS_OK; - 7ae: 2000 movs r0, #0 - 7b0: e025 b.n 7fe + 7b6: 2000 movs r0, #0 + 7b8: e025 b.n 806 if (!config->use_external_clock) { - 7b2: 2327 movs r3, #39 ; 0x27 - 7b4: 5cf3 ldrb r3, [r6, r3] - 7b6: 2b00 cmp r3, #0 - 7b8: d000 beq.n 7bc - 7ba: e779 b.n 6b0 + 7ba: 2327 movs r3, #39 ; 0x27 + 7bc: 5cf3 ldrb r3, [r6, r3] + 7be: 2b00 cmp r3, #0 + 7c0: d000 beq.n 7c4 + 7c2: e779 b.n 6b8 status_code = _sercom_get_sync_baud_val(config->baudrate, - 7bc: 6a33 ldr r3, [r6, #32] - 7be: 001f movs r7, r3 - 7c0: b2c0 uxtb r0, r0 - 7c2: 4b40 ldr r3, [pc, #256] ; (8c4 ) - 7c4: 4798 blx r3 - 7c6: 0001 movs r1, r0 - 7c8: 220e movs r2, #14 - 7ca: ab06 add r3, sp, #24 - 7cc: 469c mov ip, r3 - 7ce: 4462 add r2, ip - 7d0: 0038 movs r0, r7 - 7d2: 4b3d ldr r3, [pc, #244] ; (8c8 ) - 7d4: 4798 blx r3 - 7d6: e012 b.n 7fe + 7c4: 6a33 ldr r3, [r6, #32] + 7c6: 001f movs r7, r3 + 7c8: b2c0 uxtb r0, r0 + 7ca: 4b40 ldr r3, [pc, #256] ; (8cc ) + 7cc: 4798 blx r3 + 7ce: 0001 movs r1, r0 + 7d0: 220e movs r2, #14 + 7d2: ab06 add r3, sp, #24 + 7d4: 469c mov ip, r3 + 7d6: 4462 add r2, ip + 7d8: 0038 movs r0, r7 + 7da: 4b3d ldr r3, [pc, #244] ; (8d0 ) + 7dc: 4798 blx r3 + 7de: e012 b.n 806 sample_num = SERCOM_ASYNC_SAMPLE_NUM_8; - 7d8: 2308 movs r3, #8 - 7da: 9306 str r3, [sp, #24] + 7e0: 2308 movs r3, #8 + 7e2: 9306 str r3, [sp, #24] mode = SERCOM_ASYNC_OPERATION_MODE_ARITHMETIC; - 7dc: 2300 movs r3, #0 - 7de: 9307 str r3, [sp, #28] + 7e4: 2300 movs r3, #0 + 7e6: 9307 str r3, [sp, #28] if (config->use_external_clock) { - 7e0: 2327 movs r3, #39 ; 0x27 - 7e2: 5cf3 ldrb r3, [r6, r3] - 7e4: 2b00 cmp r3, #0 - 7e6: d00e beq.n 806 + 7e8: 2327 movs r3, #39 ; 0x27 + 7ea: 5cf3 ldrb r3, [r6, r3] + 7ec: 2b00 cmp r3, #0 + 7ee: d00e beq.n 80e status_code = - 7e8: 9b06 ldr r3, [sp, #24] - 7ea: 9300 str r3, [sp, #0] - 7ec: 9b07 ldr r3, [sp, #28] - 7ee: 220e movs r2, #14 - 7f0: a906 add r1, sp, #24 - 7f2: 468c mov ip, r1 - 7f4: 4462 add r2, ip - 7f6: 6ab1 ldr r1, [r6, #40] ; 0x28 - 7f8: 6a30 ldr r0, [r6, #32] - 7fa: 4f34 ldr r7, [pc, #208] ; (8cc ) - 7fc: 47b8 blx r7 + 7f0: 9b06 ldr r3, [sp, #24] + 7f2: 9300 str r3, [sp, #0] + 7f4: 9b07 ldr r3, [sp, #28] + 7f6: 220e movs r2, #14 + 7f8: a906 add r1, sp, #24 + 7fa: 468c mov ip, r1 + 7fc: 4462 add r2, ip + 7fe: 6ab1 ldr r1, [r6, #40] ; 0x28 + 800: 6a30 ldr r0, [r6, #32] + 802: 4f34 ldr r7, [pc, #208] ; (8d4 ) + 804: 47b8 blx r7 if (status_code != STATUS_OK) { - 7fe: 2800 cmp r0, #0 - 800: d000 beq.n 804 - 802: e6e4 b.n 5ce - 804: e754 b.n 6b0 + 806: 2800 cmp r0, #0 + 808: d000 beq.n 80c + 80a: e6e4 b.n 5d6 + 80c: e754 b.n 6b8 _sercom_get_async_baud_val(config->baudrate, - 806: 6a33 ldr r3, [r6, #32] - 808: 001f movs r7, r3 - 80a: b2c0 uxtb r0, r0 - 80c: 4b2d ldr r3, [pc, #180] ; (8c4 ) - 80e: 4798 blx r3 - 810: 0001 movs r1, r0 + 80e: 6a33 ldr r3, [r6, #32] + 810: 001f movs r7, r3 + 812: b2c0 uxtb r0, r0 + 814: 4b2d ldr r3, [pc, #180] ; (8cc ) + 816: 4798 blx r3 + 818: 0001 movs r1, r0 status_code = - 812: 9b06 ldr r3, [sp, #24] - 814: 9300 str r3, [sp, #0] - 816: 9b07 ldr r3, [sp, #28] - 818: 220e movs r2, #14 - 81a: a806 add r0, sp, #24 - 81c: 4684 mov ip, r0 - 81e: 4462 add r2, ip - 820: 0038 movs r0, r7 - 822: 4f2a ldr r7, [pc, #168] ; (8cc ) - 824: 47b8 blx r7 - 826: e7ea b.n 7fe + 81a: 9b06 ldr r3, [sp, #24] + 81c: 9300 str r3, [sp, #0] + 81e: 9b07 ldr r3, [sp, #28] + 820: 220e movs r2, #14 + 822: a806 add r0, sp, #24 + 824: 4684 mov ip, r0 + 826: 4462 add r2, ip + 828: 0038 movs r0, r7 + 82a: 4f2a ldr r7, [pc, #168] ; (8d4 ) + 82c: 47b8 blx r7 + 82e: e7ea b.n 806 if(config->lin_slave_enable) { - 828: 7ef3 ldrb r3, [r6, #27] - 82a: 2b00 cmp r3, #0 - 82c: d100 bne.n 830 - 82e: e77d b.n 72c + 830: 7ef3 ldrb r3, [r6, #27] + 832: 2b00 cmp r3, #0 + 834: d100 bne.n 838 + 836: e77d b.n 734 ctrla |= SERCOM_USART_CTRLA_FORM(0x4); - 830: 2380 movs r3, #128 ; 0x80 - 832: 04db lsls r3, r3, #19 - 834: 431f orrs r7, r3 - 836: e779 b.n 72c + 838: 2380 movs r3, #128 ; 0x80 + 83a: 04db lsls r3, r3, #19 + 83c: 431f orrs r7, r3 + 83e: e779 b.n 734 current_pinmux = _sercom_get_default_pad(hw, pad); - 838: 0020 movs r0, r4 - 83a: 4b25 ldr r3, [pc, #148] ; (8d0 ) - 83c: 4798 blx r3 - 83e: e007 b.n 850 - 840: 3701 adds r7, #1 + 840: 0020 movs r0, r4 + 842: 4b25 ldr r3, [pc, #148] ; (8d8 ) + 844: 4798 blx r3 + 846: e007 b.n 858 + 848: 3701 adds r7, #1 for (uint8_t pad = 0; pad < 4; pad++) { - 842: 2f04 cmp r7, #4 - 844: d00d beq.n 862 - 846: b2f9 uxtb r1, r7 + 84a: 2f04 cmp r7, #4 + 84c: d00d beq.n 86a + 84e: b2f9 uxtb r1, r7 uint32_t current_pinmux = pad_pinmuxes[pad]; - 848: 00bb lsls r3, r7, #2 - 84a: 5998 ldr r0, [r3, r6] + 850: 00bb lsls r3, r7, #2 + 852: 5998 ldr r0, [r3, r6] if (current_pinmux == PINMUX_DEFAULT) { - 84c: 2800 cmp r0, #0 - 84e: d0f3 beq.n 838 + 854: 2800 cmp r0, #0 + 856: d0f3 beq.n 840 if (current_pinmux != PINMUX_UNUSED) { - 850: 1c43 adds r3, r0, #1 - 852: d0f5 beq.n 840 + 858: 1c43 adds r3, r0, #1 + 85a: d0f5 beq.n 848 pin_conf.mux_position = current_pinmux & 0xFFFF; - 854: a90e add r1, sp, #56 ; 0x38 - 856: 7008 strb r0, [r1, #0] + 85c: a90e add r1, sp, #56 ; 0x38 + 85e: 7008 strb r0, [r1, #0] system_pinmux_pin_set_config(current_pinmux >> 16, &pin_conf); - 858: 0c00 lsrs r0, r0, #16 - 85a: b2c0 uxtb r0, r0 - 85c: 4b1d ldr r3, [pc, #116] ; (8d4 ) - 85e: 4798 blx r3 - 860: e7ee b.n 840 + 860: 0c00 lsrs r0, r0, #16 + 862: b2c0 uxtb r0, r0 + 864: 4b1d ldr r3, [pc, #116] ; (8dc ) + 866: 4798 blx r3 + 868: e7ee b.n 848 module->callback[i] = NULL; - 862: 2300 movs r3, #0 - 864: 60eb str r3, [r5, #12] - 866: 612b str r3, [r5, #16] - 868: 616b str r3, [r5, #20] - 86a: 61ab str r3, [r5, #24] - 86c: 61eb str r3, [r5, #28] - 86e: 622b str r3, [r5, #32] + 86a: 2300 movs r3, #0 + 86c: 60eb str r3, [r5, #12] + 86e: 612b str r3, [r5, #16] + 870: 616b str r3, [r5, #20] + 872: 61ab str r3, [r5, #24] + 874: 61eb str r3, [r5, #28] + 876: 622b str r3, [r5, #32] module->tx_buffer_ptr = NULL; - 870: 62ab str r3, [r5, #40] ; 0x28 + 878: 62ab str r3, [r5, #40] ; 0x28 module->rx_buffer_ptr = NULL; - 872: 626b str r3, [r5, #36] ; 0x24 + 87a: 626b str r3, [r5, #36] ; 0x24 module->remaining_tx_buffer_length = 0x0000; - 874: 2200 movs r2, #0 - 876: 85eb strh r3, [r5, #46] ; 0x2e + 87c: 2200 movs r2, #0 + 87e: 85eb strh r3, [r5, #46] ; 0x2e module->remaining_rx_buffer_length = 0x0000; - 878: 85ab strh r3, [r5, #44] ; 0x2c + 880: 85ab strh r3, [r5, #44] ; 0x2c module->callback_reg_mask = 0x00; - 87a: 3330 adds r3, #48 ; 0x30 - 87c: 54ea strb r2, [r5, r3] - module->callback_enable_mask = 0x00; - 87e: 3301 adds r3, #1 - 880: 54ea strb r2, [r5, r3] - module->rx_status = STATUS_OK; - 882: 3301 adds r3, #1 + 882: 3330 adds r3, #48 ; 0x30 884: 54ea strb r2, [r5, r3] - module->tx_status = STATUS_OK; + module->callback_enable_mask = 0x00; 886: 3301 adds r3, #1 888: 54ea strb r2, [r5, r3] + module->rx_status = STATUS_OK; + 88a: 3301 adds r3, #1 + 88c: 54ea strb r2, [r5, r3] + module->tx_status = STATUS_OK; + 88e: 3301 adds r3, #1 + 890: 54ea strb r2, [r5, r3] uint8_t instance_index = _sercom_get_sercom_inst_index(module->hw); - 88a: 6828 ldr r0, [r5, #0] - 88c: 4b07 ldr r3, [pc, #28] ; (8ac ) - 88e: 4798 blx r3 - 890: 0004 movs r4, r0 - _sercom_set_handler(instance_index, _usart_interrupt_handler); - 892: 4911 ldr r1, [pc, #68] ; (8d8 ) - 894: 4b11 ldr r3, [pc, #68] ; (8dc ) + 892: 6828 ldr r0, [r5, #0] + 894: 4b07 ldr r3, [pc, #28] ; (8b4 ) 896: 4798 blx r3 + 898: 0004 movs r4, r0 + _sercom_set_handler(instance_index, _usart_interrupt_handler); + 89a: 4911 ldr r1, [pc, #68] ; (8e0 ) + 89c: 4b11 ldr r3, [pc, #68] ; (8e4 ) + 89e: 4798 blx r3 _sercom_instances[instance_index] = module; - 898: 00a4 lsls r4, r4, #2 - 89a: 4b11 ldr r3, [pc, #68] ; (8e0 ) - 89c: 50e5 str r5, [r4, r3] + 8a0: 00a4 lsls r4, r4, #2 + 8a2: 4b11 ldr r3, [pc, #68] ; (8e8 ) + 8a4: 50e5 str r5, [r4, r3] return status_code; - 89e: 2000 movs r0, #0 - 8a0: e695 b.n 5ce + 8a6: 2000 movs r0, #0 + 8a8: e695 b.n 5d6 enum sercom_asynchronous_sample_num sample_num = SERCOM_ASYNC_SAMPLE_NUM_16; - 8a2: 2310 movs r3, #16 - 8a4: 9306 str r3, [sp, #24] + 8aa: 2310 movs r3, #16 + 8ac: 9306 str r3, [sp, #24] enum sercom_asynchronous_operation_mode mode = SERCOM_ASYNC_OPERATION_MODE_ARITHMETIC; - 8a6: 2300 movs r3, #0 - 8a8: 9307 str r3, [sp, #28] - 8aa: e6ec b.n 686 - 8ac: 00000571 .word 0x00000571 - 8b0: 40000400 .word 0x40000400 - 8b4: 0000117d .word 0x0000117d - 8b8: 000010f1 .word 0x000010f1 - 8bc: 000003ad .word 0x000003ad - 8c0: 41002000 .word 0x41002000 - 8c4: 00001199 .word 0x00001199 - 8c8: 000002ef .word 0x000002ef - 8cc: 00000319 .word 0x00000319 - 8d0: 000003f9 .word 0x000003f9 - 8d4: 00001275 .word 0x00001275 - 8d8: 000009e1 .word 0x000009e1 - 8dc: 00000b79 .word 0x00000b79 - 8e0: 20004c94 .word 0x20004c94 - -000008e4 : + 8ae: 2300 movs r3, #0 + 8b0: 9307 str r3, [sp, #28] + 8b2: e6ec b.n 68e + 8b4: 00000579 .word 0x00000579 + 8b8: 40000400 .word 0x40000400 + 8bc: 000011e5 .word 0x000011e5 + 8c0: 00001159 .word 0x00001159 + 8c4: 000003b5 .word 0x000003b5 + 8c8: 41002000 .word 0x41002000 + 8cc: 00001201 .word 0x00001201 + 8d0: 000002f7 .word 0x000002f7 + 8d4: 00000321 .word 0x00000321 + 8d8: 00000401 .word 0x00000401 + 8dc: 000012dd .word 0x000012dd + 8e0: 00000a49 .word 0x00000a49 + 8e4: 00000be1 .word 0x00000be1 + 8e8: 20004c94 .word 0x20004c94 + +000008ec : /* Get a pointer to the hardware module instance */ SercomUsart *const usart_hw = &(module->hw->USART); /* Check that the transmitter is enabled */ if (!(module->transmitter_enabled)) { - 8e4: 79c2 ldrb r2, [r0, #7] + 8ec: 79c2 ldrb r2, [r0, #7] return STATUS_ERR_DENIED; - 8e6: 231c movs r3, #28 + 8ee: 231c movs r3, #28 if (!(module->transmitter_enabled)) { - 8e8: 2a00 cmp r2, #0 - 8ea: d101 bne.n 8f0 + 8f0: 2a00 cmp r2, #0 + 8f2: d101 bne.n 8f8 while (!(usart_hw->INTFLAG.reg & SERCOM_USART_INTFLAG_TXC)) { /* Wait until data is sent */ } return STATUS_OK; } - 8ec: 0018 movs r0, r3 - 8ee: 4770 bx lr + 8f4: 0018 movs r0, r3 + 8f6: 4770 bx lr if (module->remaining_tx_buffer_length > 0) { - 8f0: 8dc2 ldrh r2, [r0, #46] ; 0x2e - 8f2: b292 uxth r2, r2 + 8f8: 8dc2 ldrh r2, [r0, #46] ; 0x2e + 8fa: b292 uxth r2, r2 return STATUS_BUSY; - 8f4: 3b17 subs r3, #23 + 8fc: 3b17 subs r3, #23 if (module->remaining_tx_buffer_length > 0) { - 8f6: 2a00 cmp r2, #0 - 8f8: d1f8 bne.n 8ec + 8fe: 2a00 cmp r2, #0 + 900: d1f8 bne.n 8f4 SercomUsart *const usart_hw = &(module->hw->USART); - 8fa: 6802 ldr r2, [r0, #0] + 902: 6802 ldr r2, [r0, #0] usart_hw->DATA.reg = tx_data; - 8fc: 8511 strh r1, [r2, #40] ; 0x28 + 904: 8511 strh r1, [r2, #40] ; 0x28 while (!(usart_hw->INTFLAG.reg & SERCOM_USART_INTFLAG_TXC)) { - 8fe: 2102 movs r1, #2 - 900: 7e13 ldrb r3, [r2, #24] - 902: 420b tst r3, r1 - 904: d0fc beq.n 900 + 906: 2102 movs r1, #2 + 908: 7e13 ldrb r3, [r2, #24] + 90a: 420b tst r3, r1 + 90c: d0fc beq.n 908 return STATUS_OK; - 906: 2300 movs r3, #0 - 908: e7f0 b.n 8ec + 90e: 2300 movs r3, #0 + 910: e7f0 b.n 8f4 ... -0000090c : +00000914 : */ enum status_code usart_write_buffer_wait( struct usart_module *const module, const uint8_t *tx_data, uint16_t length) { - 90c: b5f0 push {r4, r5, r6, r7, lr} - 90e: 46ce mov lr, r9 - 910: 4647 mov r7, r8 - 912: b580 push {r7, lr} - 914: b083 sub sp, #12 - 916: 0005 movs r5, r0 - 918: 9101 str r1, [sp, #4] + 914: b5f0 push {r4, r5, r6, r7, lr} + 916: 46ce mov lr, r9 + 918: 4647 mov r7, r8 + 91a: b580 push {r7, lr} + 91c: b083 sub sp, #12 + 91e: 0005 movs r5, r0 + 920: 9101 str r1, [sp, #4] Assert(module); Assert(module->hw); /* Check if the buffer length is valid */ if (length == 0) { return STATUS_ERR_INVALID_ARG; - 91a: 2017 movs r0, #23 + 922: 2017 movs r0, #23 if (length == 0) { - 91c: 2a00 cmp r2, #0 - 91e: d104 bne.n 92a + 924: 2a00 cmp r2, #0 + 926: d104 bne.n 932 return STATUS_ERR_TIMEOUT; } } return STATUS_OK; } - 920: b003 add sp, #12 - 922: bc0c pop {r2, r3} - 924: 4690 mov r8, r2 - 926: 4699 mov r9, r3 - 928: bdf0 pop {r4, r5, r6, r7, pc} + 928: b003 add sp, #12 + 92a: bc0c pop {r2, r3} + 92c: 4690 mov r8, r2 + 92e: 4699 mov r9, r3 + 930: bdf0 pop {r4, r5, r6, r7, pc} if (!(module->transmitter_enabled)) { - 92a: 79eb ldrb r3, [r5, #7] + 932: 79eb ldrb r3, [r5, #7] return STATUS_ERR_DENIED; - 92c: 3005 adds r0, #5 + 934: 3005 adds r0, #5 if (!(module->transmitter_enabled)) { - 92e: 2b00 cmp r3, #0 - 930: d0f6 beq.n 920 + 936: 2b00 cmp r3, #0 + 938: d0f6 beq.n 928 SercomUsart *const usart_hw = &(module->hw->USART); - 932: 682c ldr r4, [r5, #0] + 93a: 682c ldr r4, [r5, #0] while (length--) { - 934: 3a01 subs r2, #1 - 936: b293 uxth r3, r2 - 938: 4699 mov r9, r3 - 93a: 2600 movs r6, #0 + 93c: 3a01 subs r2, #1 + 93e: b293 uxth r3, r2 + 940: 4699 mov r9, r3 + 942: 2600 movs r6, #0 if (usart_hw->INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) { - 93c: 2701 movs r7, #1 + 944: 2701 movs r7, #1 while (length--) { - 93e: 4b20 ldr r3, [pc, #128] ; (9c0 ) - 940: 4698 mov r8, r3 - 942: e011 b.n 968 + 946: 4b20 ldr r3, [pc, #128] ; (9c8 ) + 948: 4698 mov r8, r3 + 94a: e011 b.n 970 uint16_t data_to_send = tx_data[tx_pos++]; - 944: 1c73 adds r3, r6, #1 - 946: b29b uxth r3, r3 - 948: 9a01 ldr r2, [sp, #4] - 94a: 5d91 ldrb r1, [r2, r6] + 94c: 1c73 adds r3, r6, #1 + 94e: b29b uxth r3, r3 + 950: 9a01 ldr r2, [sp, #4] + 952: 5d91 ldrb r1, [r2, r6] if (module->character_size == USART_CHARACTER_SIZE_9BIT) { - 94c: 796a ldrb r2, [r5, #5] - 94e: 2a01 cmp r2, #1 - 950: d017 beq.n 982 + 954: 796a ldrb r2, [r5, #5] + 956: 2a01 cmp r2, #1 + 958: d017 beq.n 98a uint16_t data_to_send = tx_data[tx_pos++]; - 952: b289 uxth r1, r1 - 954: 001e movs r6, r3 + 95a: b289 uxth r1, r1 + 95c: 001e movs r6, r3 usart_write_wait(module, data_to_send); - 956: 0028 movs r0, r5 - 958: 4b1a ldr r3, [pc, #104] ; (9c4 ) - 95a: 4798 blx r3 + 95e: 0028 movs r0, r5 + 960: 4b1a ldr r3, [pc, #104] ; (9cc ) + 962: 4798 blx r3 while (length--) { - 95c: 464b mov r3, r9 - 95e: 3b01 subs r3, #1 - 960: b29b uxth r3, r3 - 962: 4699 mov r9, r3 - 964: 4543 cmp r3, r8 - 966: d013 beq.n 990 + 964: 464b mov r3, r9 + 966: 3b01 subs r3, #1 + 968: b29b uxth r3, r3 + 96a: 4699 mov r9, r3 + 96c: 4543 cmp r3, r8 + 96e: d013 beq.n 998 if (usart_hw->INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) { - 968: 7e23 ldrb r3, [r4, #24] - 96a: 423b tst r3, r7 - 96c: d1ea bne.n 944 - 96e: 4b14 ldr r3, [pc, #80] ; (9c0 ) - 970: 7e22 ldrb r2, [r4, #24] - 972: 423a tst r2, r7 - 974: d1e6 bne.n 944 + 970: 7e23 ldrb r3, [r4, #24] + 972: 423b tst r3, r7 + 974: d1ea bne.n 94c + 976: 4b14 ldr r3, [pc, #80] ; (9c8 ) + 978: 7e22 ldrb r2, [r4, #24] + 97a: 423a tst r2, r7 + 97c: d1e6 bne.n 94c } else if (i == USART_TIMEOUT) { - 976: 2b01 cmp r3, #1 - 978: d019 beq.n 9ae - 97a: 3b01 subs r3, #1 + 97e: 2b01 cmp r3, #1 + 980: d019 beq.n 9b6 + 982: 3b01 subs r3, #1 for (uint32_t i = 0; i <= USART_TIMEOUT; i++) { - 97c: 2b00 cmp r3, #0 - 97e: d1f7 bne.n 970 - 980: e7e0 b.n 944 + 984: 2b00 cmp r3, #0 + 986: d1f7 bne.n 978 + 988: e7e0 b.n 94c data_to_send |= (tx_data[tx_pos++] << 8); - 982: 3602 adds r6, #2 - 984: b2b6 uxth r6, r6 - 986: 9a01 ldr r2, [sp, #4] - 988: 5cd3 ldrb r3, [r2, r3] - 98a: 021b lsls r3, r3, #8 - 98c: 4319 orrs r1, r3 - 98e: e7e2 b.n 956 + 98a: 3602 adds r6, #2 + 98c: b2b6 uxth r6, r6 + 98e: 9a01 ldr r2, [sp, #4] + 990: 5cd3 ldrb r3, [r2, r3] + 992: 021b lsls r3, r3, #8 + 994: 4319 orrs r1, r3 + 996: e7e2 b.n 95e if (usart_hw->INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) { - 990: 7e23 ldrb r3, [r4, #24] - 992: 079b lsls r3, r3, #30 - 994: d40d bmi.n 9b2 - 996: 4b0a ldr r3, [pc, #40] ; (9c0 ) - 998: 2102 movs r1, #2 - 99a: 7e22 ldrb r2, [r4, #24] - 99c: 420a tst r2, r1 - 99e: d10a bne.n 9b6 + 998: 7e23 ldrb r3, [r4, #24] + 99a: 079b lsls r3, r3, #30 + 99c: d40d bmi.n 9ba + 99e: 4b0a ldr r3, [pc, #40] ; (9c8 ) + 9a0: 2102 movs r1, #2 + 9a2: 7e22 ldrb r2, [r4, #24] + 9a4: 420a tst r2, r1 + 9a6: d10a bne.n 9be } else if (i == USART_TIMEOUT) { - 9a0: 2b01 cmp r3, #1 - 9a2: d00a beq.n 9ba - 9a4: 3b01 subs r3, #1 + 9a8: 2b01 cmp r3, #1 + 9aa: d00a beq.n 9c2 + 9ac: 3b01 subs r3, #1 for (uint32_t i = 0; i <= USART_TIMEOUT; i++) { - 9a6: 2b00 cmp r3, #0 - 9a8: d1f7 bne.n 99a + 9ae: 2b00 cmp r3, #0 + 9b0: d1f7 bne.n 9a2 return STATUS_OK; - 9aa: 2000 movs r0, #0 - 9ac: e7b8 b.n 920 + 9b2: 2000 movs r0, #0 + 9b4: e7b8 b.n 928 return STATUS_ERR_TIMEOUT; - 9ae: 2012 movs r0, #18 - 9b0: e7b6 b.n 920 + 9b6: 2012 movs r0, #18 + 9b8: e7b6 b.n 928 return STATUS_OK; - 9b2: 2000 movs r0, #0 - 9b4: e7b4 b.n 920 - 9b6: 2000 movs r0, #0 - 9b8: e7b2 b.n 920 + 9ba: 2000 movs r0, #0 + 9bc: e7b4 b.n 928 + 9be: 2000 movs r0, #0 + 9c0: e7b2 b.n 928 return STATUS_ERR_TIMEOUT; - 9ba: 2012 movs r0, #18 - 9bc: e7b0 b.n 920 - 9be: 46c0 nop ; (mov r8, r8) - 9c0: 0000ffff .word 0x0000ffff - 9c4: 000008e5 .word 0x000008e5 + 9c2: 2012 movs r0, #18 + 9c4: e7b0 b.n 928 + 9c6: 46c0 nop ; (mov r8, r8) + 9c8: 0000ffff .word 0x0000ffff + 9cc: 000008ed .word 0x000008ed + +000009d0 <_usart_read_buffer>: + */ +enum status_code _usart_read_buffer( + struct usart_module *const module, + uint8_t *rx_data, + uint16_t length) +{ + 9d0: b5f8 push {r3, r4, r5, r6, r7, lr} + 9d2: 0004 movs r4, r0 + 9d4: 000d movs r5, r1 + 9d6: 0016 movs r6, r2 + Assert(module); + Assert(module->hw); + Assert(rx_data); + + /* Get a pointer to the hardware module instance */ + SercomUsart *const usart_hw = &(module->hw->USART); + 9d8: 6807 ldr r7, [r0, #0] + cpu_irq_enter_critical(); + 9da: 4b0f ldr r3, [pc, #60] ; (a18 <_usart_read_buffer+0x48>) + 9dc: 4798 blx r3 + + system_interrupt_enter_critical_section(); -000009c8 : + /* Check if the USART receiver is busy */ + if (module->remaining_rx_buffer_length > 0) { + 9de: 8da3 ldrh r3, [r4, #44] ; 0x2c + 9e0: b29b uxth r3, r3 + 9e2: 2b00 cmp r3, #0 + 9e4: d003 beq.n 9ee <_usart_read_buffer+0x1e> + cpu_irq_leave_critical(); + 9e6: 4b0d ldr r3, [pc, #52] ; (a1c <_usart_read_buffer+0x4c>) + 9e8: 4798 blx r3 + system_interrupt_leave_critical_section(); + return STATUS_BUSY; + 9ea: 2005 movs r0, #5 + usart_hw->INTENSET.reg = SERCOM_USART_INTFLAG_RXS; + } +#endif + + return STATUS_OK; +} + 9ec: bdf8 pop {r3, r4, r5, r6, r7, pc} + module->remaining_rx_buffer_length = length; + 9ee: 85a6 strh r6, [r4, #44] ; 0x2c + 9f0: 4b0a ldr r3, [pc, #40] ; (a1c <_usart_read_buffer+0x4c>) + 9f2: 4798 blx r3 + module->rx_buffer_ptr = rx_data; + 9f4: 6265 str r5, [r4, #36] ; 0x24 + module->rx_status = STATUS_BUSY; + 9f6: 2205 movs r2, #5 + 9f8: 2332 movs r3, #50 ; 0x32 + 9fa: 54e2 strb r2, [r4, r3] + usart_hw->INTENSET.reg = SERCOM_USART_INTFLAG_RXC; + 9fc: 3b2e subs r3, #46 ; 0x2e + 9fe: 75bb strb r3, [r7, #22] + if(module->lin_slave_enabled) { + a00: 7a23 ldrb r3, [r4, #8] + a02: 2b00 cmp r3, #0 + a04: d001 beq.n a0a <_usart_read_buffer+0x3a> + usart_hw->INTENSET.reg = SERCOM_USART_INTFLAG_RXBRK; + a06: 2320 movs r3, #32 + a08: 75bb strb r3, [r7, #22] + if(module->start_frame_detection_enabled) { + a0a: 7a63 ldrb r3, [r4, #9] + return STATUS_OK; + a0c: 2000 movs r0, #0 + if(module->start_frame_detection_enabled) { + a0e: 2b00 cmp r3, #0 + a10: d0ec beq.n 9ec <_usart_read_buffer+0x1c> + usart_hw->INTENSET.reg = SERCOM_USART_INTFLAG_RXS; + a12: 2308 movs r3, #8 + a14: 75bb strb r3, [r7, #22] + a16: e7e9 b.n 9ec <_usart_read_buffer+0x1c> + a18: 00000cad .word 0x00000cad + a1c: 00000ced .word 0x00000ced + +00000a20 : /* Sanity check arguments */ Assert(module); Assert(callback_func); /* Register callback function */ module->callback[callback_type] = callback_func; - 9c8: 1c93 adds r3, r2, #2 - 9ca: 009b lsls r3, r3, #2 - 9cc: 18c3 adds r3, r0, r3 - 9ce: 6059 str r1, [r3, #4] + a20: 1c93 adds r3, r2, #2 + a22: 009b lsls r3, r3, #2 + a24: 18c3 adds r3, r0, r3 + a26: 6059 str r1, [r3, #4] /* Set the bit corresponding to the callback_type */ module->callback_reg_mask |= (1 << callback_type); - 9d0: 2130 movs r1, #48 ; 0x30 - 9d2: 2301 movs r3, #1 - 9d4: 4093 lsls r3, r2 - 9d6: 001a movs r2, r3 - 9d8: 5c43 ldrb r3, [r0, r1] - 9da: 4313 orrs r3, r2 - 9dc: 5443 strb r3, [r0, r1] + a28: 2130 movs r1, #48 ; 0x30 + a2a: 2301 movs r3, #1 + a2c: 4093 lsls r3, r2 + a2e: 001a movs r2, r3 + a30: 5c43 ldrb r3, [r0, r1] + a32: 4313 orrs r3, r2 + a34: 5443 strb r3, [r0, r1] +} + a36: 4770 bx lr + +00000a38 : + * \retval STATUS_BUSY If operation was not completed + */ +enum status_code usart_read_job( + struct usart_module *const module, + uint16_t *const rx_data) +{ + a38: b510 push {r4, lr} + /* Sanity check arguments */ + Assert(module); + Assert(rx_data); + + /* Call internal read buffer function with length 1 */ + return _usart_read_buffer(module, (uint8_t *)rx_data, 1); + a3a: 2201 movs r2, #1 + a3c: 4b01 ldr r3, [pc, #4] ; (a44 ) + a3e: 4798 blx r3 } - 9de: 4770 bx lr + a40: bd10 pop {r4, pc} + a42: 46c0 nop ; (mov r8, r8) + a44: 000009d1 .word 0x000009d1 -000009e0 <_usart_interrupt_handler>: +00000a48 <_usart_interrupt_handler>: * \param[in] instance ID of the SERCOM instance calling the interrupt * handler. */ void _usart_interrupt_handler( uint8_t instance) { - 9e0: b5f8 push {r3, r4, r5, r6, r7, lr} + a48: b5f8 push {r3, r4, r5, r6, r7, lr} uint16_t callback_status; uint8_t error_code; /* Get device instance from the look-up table */ struct usart_module *module - 9e2: 0080 lsls r0, r0, #2 - 9e4: 4b62 ldr r3, [pc, #392] ; (b70 <_usart_interrupt_handler+0x190>) - 9e6: 58c5 ldr r5, [r0, r3] + a4a: 0080 lsls r0, r0, #2 + a4c: 4b62 ldr r3, [pc, #392] ; (bd8 <_usart_interrupt_handler+0x190>) + a4e: 58c5 ldr r5, [r0, r3] = (struct usart_module *)_sercom_instances[instance]; /* Pointer to the hardware module instance */ SercomUsart *const usart_hw = &(module->hw->USART); - 9e8: 682c ldr r4, [r5, #0] + a50: 682c ldr r4, [r5, #0] return (usart_hw->SYNCBUSY.reg); - 9ea: 69e3 ldr r3, [r4, #28] + a52: 69e3 ldr r3, [r4, #28] while (usart_is_syncing(module)) { - 9ec: 2b00 cmp r3, #0 - 9ee: d1fc bne.n 9ea <_usart_interrupt_handler+0xa> + a54: 2b00 cmp r3, #0 + a56: d1fc bne.n a52 <_usart_interrupt_handler+0xa> /* Wait for the synchronization to complete */ _usart_wait_for_sync(module); /* Read and mask interrupt flag register */ interrupt_status = usart_hw->INTFLAG.reg; - 9f0: 7e23 ldrb r3, [r4, #24] + a58: 7e23 ldrb r3, [r4, #24] interrupt_status &= usart_hw->INTENSET.reg; - 9f2: 7da6 ldrb r6, [r4, #22] - 9f4: 401e ands r6, r3 + a5a: 7da6 ldrb r6, [r4, #22] + a5c: 401e ands r6, r3 callback_status = module->callback_reg_mask & - 9f6: 2330 movs r3, #48 ; 0x30 - 9f8: 5ceb ldrb r3, [r5, r3] - 9fa: 2231 movs r2, #49 ; 0x31 - 9fc: 5caf ldrb r7, [r5, r2] - 9fe: 401f ands r7, r3 + a5e: 2330 movs r3, #48 ; 0x30 + a60: 5ceb ldrb r3, [r5, r3] + a62: 2231 movs r2, #49 ; 0x31 + a64: 5caf ldrb r7, [r5, r2] + a66: 401f ands r7, r3 module->callback_enable_mask; /* Check if a DATA READY interrupt has occurred, * and if there is more to transfer */ if (interrupt_status & SERCOM_USART_INTFLAG_DRE) { - a00: 07f3 lsls r3, r6, #31 - a02: d522 bpl.n a4a <_usart_interrupt_handler+0x6a> + a68: 07f3 lsls r3, r6, #31 + a6a: d522 bpl.n ab2 <_usart_interrupt_handler+0x6a> if (module->remaining_tx_buffer_length) { - a04: 8deb ldrh r3, [r5, #46] ; 0x2e - a06: b29b uxth r3, r3 - a08: 2b00 cmp r3, #0 - a0a: d01c beq.n a46 <_usart_interrupt_handler+0x66> + a6c: 8deb ldrh r3, [r5, #46] ; 0x2e + a6e: b29b uxth r3, r3 + a70: 2b00 cmp r3, #0 + a72: d01c beq.n aae <_usart_interrupt_handler+0x66> /* Write value will be at least 8-bits long */ uint16_t data_to_send = *(module->tx_buffer_ptr); - a0c: 6aaa ldr r2, [r5, #40] ; 0x28 - a0e: 7813 ldrb r3, [r2, #0] - a10: b2db uxtb r3, r3 + a74: 6aaa ldr r2, [r5, #40] ; 0x28 + a76: 7813 ldrb r3, [r2, #0] + a78: b2db uxtb r3, r3 /* Increment 8-bit pointer */ (module->tx_buffer_ptr)++; - a12: 1c51 adds r1, r2, #1 - a14: 62a9 str r1, [r5, #40] ; 0x28 + a7a: 1c51 adds r1, r2, #1 + a7c: 62a9 str r1, [r5, #40] ; 0x28 if (module->character_size == USART_CHARACTER_SIZE_9BIT) { - a16: 7969 ldrb r1, [r5, #5] - a18: 2901 cmp r1, #1 - a1a: d00e beq.n a3a <_usart_interrupt_handler+0x5a> + a7e: 7969 ldrb r1, [r5, #5] + a80: 2901 cmp r1, #1 + a82: d00e beq.n aa2 <_usart_interrupt_handler+0x5a> uint16_t data_to_send = *(module->tx_buffer_ptr); - a1c: b29b uxth r3, r3 + a84: b29b uxth r3, r3 data_to_send |= (*(module->tx_buffer_ptr) << 8); /* Increment 8-bit pointer */ (module->tx_buffer_ptr)++; } /* Write the data to send */ usart_hw->DATA.reg = (data_to_send & SERCOM_USART_DATA_MASK); - a1e: 05db lsls r3, r3, #23 - a20: 0ddb lsrs r3, r3, #23 - a22: 8523 strh r3, [r4, #40] ; 0x28 + a86: 05db lsls r3, r3, #23 + a88: 0ddb lsrs r3, r3, #23 + a8a: 8523 strh r3, [r4, #40] ; 0x28 if (--(module->remaining_tx_buffer_length) == 0) { - a24: 8deb ldrh r3, [r5, #46] ; 0x2e - a26: 3b01 subs r3, #1 - a28: b29b uxth r3, r3 - a2a: 85eb strh r3, [r5, #46] ; 0x2e - a2c: 2b00 cmp r3, #0 - a2e: d10c bne.n a4a <_usart_interrupt_handler+0x6a> + a8c: 8deb ldrh r3, [r5, #46] ; 0x2e + a8e: 3b01 subs r3, #1 + a90: b29b uxth r3, r3 + a92: 85eb strh r3, [r5, #46] ; 0x2e + a94: 2b00 cmp r3, #0 + a96: d10c bne.n ab2 <_usart_interrupt_handler+0x6a> /* Disable the Data Register Empty Interrupt */ usart_hw->INTENCLR.reg = SERCOM_USART_INTFLAG_DRE; - a30: 3301 adds r3, #1 - a32: 7523 strb r3, [r4, #20] + a98: 3301 adds r3, #1 + a9a: 7523 strb r3, [r4, #20] /* Enable Transmission Complete interrupt */ usart_hw->INTENSET.reg = SERCOM_USART_INTFLAG_TXC; - a34: 3301 adds r3, #1 - a36: 75a3 strb r3, [r4, #22] - a38: e007 b.n a4a <_usart_interrupt_handler+0x6a> + a9c: 3301 adds r3, #1 + a9e: 75a3 strb r3, [r4, #22] + aa0: e007 b.n ab2 <_usart_interrupt_handler+0x6a> data_to_send |= (*(module->tx_buffer_ptr) << 8); - a3a: 7851 ldrb r1, [r2, #1] - a3c: 0209 lsls r1, r1, #8 - a3e: 430b orrs r3, r1 + aa2: 7851 ldrb r1, [r2, #1] + aa4: 0209 lsls r1, r1, #8 + aa6: 430b orrs r3, r1 (module->tx_buffer_ptr)++; - a40: 3202 adds r2, #2 - a42: 62aa str r2, [r5, #40] ; 0x28 - a44: e7eb b.n a1e <_usart_interrupt_handler+0x3e> + aa8: 3202 adds r2, #2 + aaa: 62aa str r2, [r5, #40] ; 0x28 + aac: e7eb b.n a86 <_usart_interrupt_handler+0x3e> } } else { usart_hw->INTENCLR.reg = SERCOM_USART_INTFLAG_DRE; - a46: 2301 movs r3, #1 - a48: 7523 strb r3, [r4, #20] + aae: 2301 movs r3, #1 + ab0: 7523 strb r3, [r4, #20] } } /* Check if the Transmission Complete interrupt has occurred and * that the transmit buffer is empty */ if (interrupt_status & SERCOM_USART_INTFLAG_TXC) { - a4a: 07b3 lsls r3, r6, #30 - a4c: d506 bpl.n a5c <_usart_interrupt_handler+0x7c> + ab2: 07b3 lsls r3, r6, #30 + ab4: d506 bpl.n ac4 <_usart_interrupt_handler+0x7c> /* Disable TX Complete Interrupt, and set STATUS_OK */ usart_hw->INTENCLR.reg = SERCOM_USART_INTFLAG_TXC; - a4e: 2302 movs r3, #2 - a50: 7523 strb r3, [r4, #20] + ab6: 2302 movs r3, #2 + ab8: 7523 strb r3, [r4, #20] module->tx_status = STATUS_OK; - a52: 2200 movs r2, #0 - a54: 3331 adds r3, #49 ; 0x31 - a56: 54ea strb r2, [r5, r3] + aba: 2200 movs r2, #0 + abc: 3331 adds r3, #49 ; 0x31 + abe: 54ea strb r2, [r5, r3] /* Run callback if registered and enabled */ if (callback_status & (1 << USART_CALLBACK_BUFFER_TRANSMITTED)) { - a58: 07fb lsls r3, r7, #31 - a5a: d41a bmi.n a92 <_usart_interrupt_handler+0xb2> + ac0: 07fb lsls r3, r7, #31 + ac2: d41a bmi.n afa <_usart_interrupt_handler+0xb2> } } /* Check if the Receive Complete interrupt has occurred, and that * there's more data to receive */ if (interrupt_status & SERCOM_USART_INTFLAG_RXC) { - a5c: 0773 lsls r3, r6, #29 - a5e: d565 bpl.n b2c <_usart_interrupt_handler+0x14c> + ac4: 0773 lsls r3, r6, #29 + ac6: d565 bpl.n b94 <_usart_interrupt_handler+0x14c> if (module->remaining_rx_buffer_length) { - a60: 8dab ldrh r3, [r5, #44] ; 0x2c - a62: b29b uxth r3, r3 - a64: 2b00 cmp r3, #0 - a66: d05f beq.n b28 <_usart_interrupt_handler+0x148> + ac8: 8dab ldrh r3, [r5, #44] ; 0x2c + aca: b29b uxth r3, r3 + acc: 2b00 cmp r3, #0 + ace: d05f beq.n b90 <_usart_interrupt_handler+0x148> /* Read out the status code and mask away all but the 4 LSBs*/ error_code = (uint8_t)(usart_hw->STATUS.reg & SERCOM_USART_STATUS_MASK); - a68: 8b63 ldrh r3, [r4, #26] - a6a: b2db uxtb r3, r3 + ad0: 8b63 ldrh r3, [r4, #26] + ad2: b2db uxtb r3, r3 #if !SAMD20 /* CTS status should not be considered as an error */ if(error_code & SERCOM_USART_STATUS_CTS) { - a6c: 071a lsls r2, r3, #28 - a6e: d414 bmi.n a9a <_usart_interrupt_handler+0xba> + ad4: 071a lsls r2, r3, #28 + ad6: d414 bmi.n b02 <_usart_interrupt_handler+0xba> error_code = (uint8_t)(usart_hw->STATUS.reg & SERCOM_USART_STATUS_MASK); - a70: 223f movs r2, #63 ; 0x3f - a72: 4013 ands r3, r2 + ad8: 223f movs r2, #63 ; 0x3f + ada: 4013 ands r3, r2 if(error_code & SERCOM_USART_STATUS_TXE) { error_code &= ~SERCOM_USART_STATUS_TXE; } #endif /* Check if an error has occurred during the receiving */ if (error_code) { - a74: 2b00 cmp r3, #0 - a76: d034 beq.n ae2 <_usart_interrupt_handler+0x102> + adc: 2b00 cmp r3, #0 + ade: d034 beq.n b4a <_usart_interrupt_handler+0x102> /* Check which error occurred */ if (error_code & SERCOM_USART_STATUS_FERR) { - a78: 079a lsls r2, r3, #30 - a7a: d511 bpl.n aa0 <_usart_interrupt_handler+0xc0> + ae0: 079a lsls r2, r3, #30 + ae2: d511 bpl.n b08 <_usart_interrupt_handler+0xc0> /* Store the error code and clear flag by writing 1 to it */ module->rx_status = STATUS_ERR_BAD_FORMAT; - a7c: 221a movs r2, #26 - a7e: 2332 movs r3, #50 ; 0x32 - a80: 54ea strb r2, [r5, r3] + ae4: 221a movs r2, #26 + ae6: 2332 movs r3, #50 ; 0x32 + ae8: 54ea strb r2, [r5, r3] usart_hw->STATUS.reg = SERCOM_USART_STATUS_FERR; - a82: 3b30 subs r3, #48 ; 0x30 - a84: 8363 strh r3, [r4, #26] + aea: 3b30 subs r3, #48 ; 0x30 + aec: 8363 strh r3, [r4, #26] usart_hw->STATUS.reg = SERCOM_USART_STATUS_COLL; } #endif /* Run callback if registered and enabled */ if (callback_status - a86: 077b lsls r3, r7, #29 - a88: d550 bpl.n b2c <_usart_interrupt_handler+0x14c> + aee: 077b lsls r3, r7, #29 + af0: d550 bpl.n b94 <_usart_interrupt_handler+0x14c> & (1 << USART_CALLBACK_ERROR)) { (*(module->callback[USART_CALLBACK_ERROR]))(module); - a8a: 0028 movs r0, r5 - a8c: 696b ldr r3, [r5, #20] - a8e: 4798 blx r3 - a90: e04c b.n b2c <_usart_interrupt_handler+0x14c> + af2: 0028 movs r0, r5 + af4: 696b ldr r3, [r5, #20] + af6: 4798 blx r3 + af8: e04c b.n b94 <_usart_interrupt_handler+0x14c> (*(module->callback[USART_CALLBACK_BUFFER_TRANSMITTED]))(module); - a92: 0028 movs r0, r5 - a94: 68eb ldr r3, [r5, #12] - a96: 4798 blx r3 - a98: e7e0 b.n a5c <_usart_interrupt_handler+0x7c> + afa: 0028 movs r0, r5 + afc: 68eb ldr r3, [r5, #12] + afe: 4798 blx r3 + b00: e7e0 b.n ac4 <_usart_interrupt_handler+0x7c> error_code &= ~SERCOM_USART_STATUS_CTS; - a9a: 2237 movs r2, #55 ; 0x37 - a9c: 4013 ands r3, r2 - a9e: e7e9 b.n a74 <_usart_interrupt_handler+0x94> + b02: 2237 movs r2, #55 ; 0x37 + b04: 4013 ands r3, r2 + b06: e7e9 b.n adc <_usart_interrupt_handler+0x94> } else if (error_code & SERCOM_USART_STATUS_BUFOVF) { - aa0: 075a lsls r2, r3, #29 - aa2: d505 bpl.n ab0 <_usart_interrupt_handler+0xd0> + b08: 075a lsls r2, r3, #29 + b0a: d505 bpl.n b18 <_usart_interrupt_handler+0xd0> module->rx_status = STATUS_ERR_OVERFLOW; - aa4: 221e movs r2, #30 - aa6: 2332 movs r3, #50 ; 0x32 - aa8: 54ea strb r2, [r5, r3] + b0c: 221e movs r2, #30 + b0e: 2332 movs r3, #50 ; 0x32 + b10: 54ea strb r2, [r5, r3] usart_hw->STATUS.reg = SERCOM_USART_STATUS_BUFOVF; - aaa: 3b2e subs r3, #46 ; 0x2e - aac: 8363 strh r3, [r4, #26] - aae: e7ea b.n a86 <_usart_interrupt_handler+0xa6> + b12: 3b2e subs r3, #46 ; 0x2e + b14: 8363 strh r3, [r4, #26] + b16: e7ea b.n aee <_usart_interrupt_handler+0xa6> } else if (error_code & SERCOM_USART_STATUS_PERR) { - ab0: 07da lsls r2, r3, #31 - ab2: d505 bpl.n ac0 <_usart_interrupt_handler+0xe0> + b18: 07da lsls r2, r3, #31 + b1a: d505 bpl.n b28 <_usart_interrupt_handler+0xe0> module->rx_status = STATUS_ERR_BAD_DATA; - ab4: 2213 movs r2, #19 - ab6: 2332 movs r3, #50 ; 0x32 - ab8: 54ea strb r2, [r5, r3] + b1c: 2213 movs r2, #19 + b1e: 2332 movs r3, #50 ; 0x32 + b20: 54ea strb r2, [r5, r3] usart_hw->STATUS.reg = SERCOM_USART_STATUS_PERR; - aba: 3b31 subs r3, #49 ; 0x31 - abc: 8363 strh r3, [r4, #26] - abe: e7e2 b.n a86 <_usart_interrupt_handler+0xa6> + b22: 3b31 subs r3, #49 ; 0x31 + b24: 8363 strh r3, [r4, #26] + b26: e7e2 b.n aee <_usart_interrupt_handler+0xa6> else if (error_code & SERCOM_USART_STATUS_ISF) { - ac0: 06da lsls r2, r3, #27 - ac2: d505 bpl.n ad0 <_usart_interrupt_handler+0xf0> + b28: 06da lsls r2, r3, #27 + b2a: d505 bpl.n b38 <_usart_interrupt_handler+0xf0> module->rx_status = STATUS_ERR_PROTOCOL; - ac4: 2242 movs r2, #66 ; 0x42 - ac6: 2332 movs r3, #50 ; 0x32 - ac8: 54ea strb r2, [r5, r3] + b2c: 2242 movs r2, #66 ; 0x42 + b2e: 2332 movs r3, #50 ; 0x32 + b30: 54ea strb r2, [r5, r3] usart_hw->STATUS.reg = SERCOM_USART_STATUS_ISF; - aca: 3b22 subs r3, #34 ; 0x22 - acc: 8363 strh r3, [r4, #26] - ace: e7da b.n a86 <_usart_interrupt_handler+0xa6> + b32: 3b22 subs r3, #34 ; 0x22 + b34: 8363 strh r3, [r4, #26] + b36: e7da b.n aee <_usart_interrupt_handler+0xa6> else if (error_code & SERCOM_USART_STATUS_COLL) { - ad0: 2220 movs r2, #32 - ad2: 421a tst r2, r3 - ad4: d0d7 beq.n a86 <_usart_interrupt_handler+0xa6> + b38: 2220 movs r2, #32 + b3a: 421a tst r2, r3 + b3c: d0d7 beq.n aee <_usart_interrupt_handler+0xa6> module->rx_status = STATUS_ERR_PACKET_COLLISION; - ad6: 3221 adds r2, #33 ; 0x21 - ad8: 2332 movs r3, #50 ; 0x32 - ada: 54ea strb r2, [r5, r3] + b3e: 3221 adds r2, #33 ; 0x21 + b40: 2332 movs r3, #50 ; 0x32 + b42: 54ea strb r2, [r5, r3] usart_hw->STATUS.reg = SERCOM_USART_STATUS_COLL; - adc: 3b12 subs r3, #18 - ade: 8363 strh r3, [r4, #26] - ae0: e7d1 b.n a86 <_usart_interrupt_handler+0xa6> + b44: 3b12 subs r3, #18 + b46: 8363 strh r3, [r4, #26] + b48: e7d1 b.n aee <_usart_interrupt_handler+0xa6> } else { /* Read current packet from DATA register, * increment buffer pointer and decrement buffer length */ uint16_t received_data = (usart_hw->DATA.reg & SERCOM_USART_DATA_MASK); - ae2: 8d23 ldrh r3, [r4, #40] ; 0x28 - ae4: 05db lsls r3, r3, #23 - ae6: 0ddb lsrs r3, r3, #23 + b4a: 8d23 ldrh r3, [r4, #40] ; 0x28 + b4c: 05db lsls r3, r3, #23 + b4e: 0ddb lsrs r3, r3, #23 /* Read value will be at least 8-bits long */ *(module->rx_buffer_ptr) = received_data; - ae8: b2da uxtb r2, r3 - aea: 6a69 ldr r1, [r5, #36] ; 0x24 - aec: 700a strb r2, [r1, #0] + b50: b2da uxtb r2, r3 + b52: 6a69 ldr r1, [r5, #36] ; 0x24 + b54: 700a strb r2, [r1, #0] /* Increment 8-bit pointer */ module->rx_buffer_ptr += 1; - aee: 6a6a ldr r2, [r5, #36] ; 0x24 - af0: 1c51 adds r1, r2, #1 - af2: 6269 str r1, [r5, #36] ; 0x24 + b56: 6a6a ldr r2, [r5, #36] ; 0x24 + b58: 1c51 adds r1, r2, #1 + b5a: 6269 str r1, [r5, #36] ; 0x24 if (module->character_size == USART_CHARACTER_SIZE_9BIT) { - af4: 7969 ldrb r1, [r5, #5] - af6: 2901 cmp r1, #1 - af8: d010 beq.n b1c <_usart_interrupt_handler+0x13c> + b5c: 7969 ldrb r1, [r5, #5] + b5e: 2901 cmp r1, #1 + b60: d010 beq.n b84 <_usart_interrupt_handler+0x13c> /* Increment 8-bit pointer */ module->rx_buffer_ptr += 1; } /* Check if the last character have been received */ if(--(module->remaining_rx_buffer_length) == 0) { - afa: 8dab ldrh r3, [r5, #44] ; 0x2c - afc: 3b01 subs r3, #1 - afe: b29b uxth r3, r3 - b00: 85ab strh r3, [r5, #44] ; 0x2c - b02: 2b00 cmp r3, #0 - b04: d112 bne.n b2c <_usart_interrupt_handler+0x14c> + b62: 8dab ldrh r3, [r5, #44] ; 0x2c + b64: 3b01 subs r3, #1 + b66: b29b uxth r3, r3 + b68: 85ab strh r3, [r5, #44] ; 0x2c + b6a: 2b00 cmp r3, #0 + b6c: d112 bne.n b94 <_usart_interrupt_handler+0x14c> /* Disable RX Complete Interrupt, * and set STATUS_OK */ usart_hw->INTENCLR.reg = SERCOM_USART_INTFLAG_RXC; - b06: 3304 adds r3, #4 - b08: 7523 strb r3, [r4, #20] + b6e: 3304 adds r3, #4 + b70: 7523 strb r3, [r4, #20] module->rx_status = STATUS_OK; - b0a: 2200 movs r2, #0 - b0c: 332e adds r3, #46 ; 0x2e - b0e: 54ea strb r2, [r5, r3] + b72: 2200 movs r2, #0 + b74: 332e adds r3, #46 ; 0x2e + b76: 54ea strb r2, [r5, r3] /* Run callback if registered and enabled */ if (callback_status - b10: 07bb lsls r3, r7, #30 - b12: d50b bpl.n b2c <_usart_interrupt_handler+0x14c> + b78: 07bb lsls r3, r7, #30 + b7a: d50b bpl.n b94 <_usart_interrupt_handler+0x14c> & (1 << USART_CALLBACK_BUFFER_RECEIVED)) { (*(module->callback[USART_CALLBACK_BUFFER_RECEIVED]))(module); - b14: 0028 movs r0, r5 - b16: 692b ldr r3, [r5, #16] - b18: 4798 blx r3 - b1a: e007 b.n b2c <_usart_interrupt_handler+0x14c> + b7c: 0028 movs r0, r5 + b7e: 692b ldr r3, [r5, #16] + b80: 4798 blx r3 + b82: e007 b.n b94 <_usart_interrupt_handler+0x14c> *(module->rx_buffer_ptr) = (received_data >> 8); - b1c: 0a1b lsrs r3, r3, #8 - b1e: 7053 strb r3, [r2, #1] + b84: 0a1b lsrs r3, r3, #8 + b86: 7053 strb r3, [r2, #1] module->rx_buffer_ptr += 1; - b20: 6a6b ldr r3, [r5, #36] ; 0x24 - b22: 3301 adds r3, #1 - b24: 626b str r3, [r5, #36] ; 0x24 - b26: e7e8 b.n afa <_usart_interrupt_handler+0x11a> + b88: 6a6b ldr r3, [r5, #36] ; 0x24 + b8a: 3301 adds r3, #1 + b8c: 626b str r3, [r5, #36] ; 0x24 + b8e: e7e8 b.n b62 <_usart_interrupt_handler+0x11a> } } } } else { /* This should not happen. Disable Receive Complete interrupt. */ usart_hw->INTENCLR.reg = SERCOM_USART_INTFLAG_RXC; - b28: 2304 movs r3, #4 - b2a: 7523 strb r3, [r4, #20] + b90: 2304 movs r3, #4 + b92: 7523 strb r3, [r4, #20] } } #ifdef FEATURE_USART_HARDWARE_FLOW_CONTROL if (interrupt_status & SERCOM_USART_INTFLAG_CTSIC) { - b2c: 06f3 lsls r3, r6, #27 - b2e: d504 bpl.n b3a <_usart_interrupt_handler+0x15a> + b94: 06f3 lsls r3, r6, #27 + b96: d504 bpl.n ba2 <_usart_interrupt_handler+0x15a> /* Disable interrupts */ usart_hw->INTENCLR.reg = SERCOM_USART_INTENCLR_CTSIC; - b30: 2310 movs r3, #16 - b32: 7523 strb r3, [r4, #20] + b98: 2310 movs r3, #16 + b9a: 7523 strb r3, [r4, #20] /* Clear interrupt flag */ usart_hw->INTFLAG.reg = SERCOM_USART_INTFLAG_CTSIC; - b34: 7623 strb r3, [r4, #24] + b9c: 7623 strb r3, [r4, #24] /* Run callback if registered and enabled */ if (callback_status & (1 << USART_CALLBACK_CTS_INPUT_CHANGE)) { - b36: 06fb lsls r3, r7, #27 - b38: d40e bmi.n b58 <_usart_interrupt_handler+0x178> + b9e: 06fb lsls r3, r7, #27 + ba0: d40e bmi.n bc0 <_usart_interrupt_handler+0x178> } } #endif #ifdef FEATURE_USART_LIN_SLAVE if (interrupt_status & SERCOM_USART_INTFLAG_RXBRK) { - b3a: 06b3 lsls r3, r6, #26 - b3c: d504 bpl.n b48 <_usart_interrupt_handler+0x168> + ba2: 06b3 lsls r3, r6, #26 + ba4: d504 bpl.n bb0 <_usart_interrupt_handler+0x168> /* Disable interrupts */ usart_hw->INTENCLR.reg = SERCOM_USART_INTENCLR_RXBRK; - b3e: 2320 movs r3, #32 - b40: 7523 strb r3, [r4, #20] + ba6: 2320 movs r3, #32 + ba8: 7523 strb r3, [r4, #20] /* Clear interrupt flag */ usart_hw->INTFLAG.reg = SERCOM_USART_INTFLAG_RXBRK; - b42: 7623 strb r3, [r4, #24] + baa: 7623 strb r3, [r4, #24] /* Run callback if registered and enabled */ if (callback_status & (1 << USART_CALLBACK_BREAK_RECEIVED)) { - b44: 073b lsls r3, r7, #28 - b46: d40b bmi.n b60 <_usart_interrupt_handler+0x180> + bac: 073b lsls r3, r7, #28 + bae: d40b bmi.n bc8 <_usart_interrupt_handler+0x180> } } #endif #ifdef FEATURE_USART_START_FRAME_DECTION if (interrupt_status & SERCOM_USART_INTFLAG_RXS) { - b48: 0733 lsls r3, r6, #28 - b4a: d504 bpl.n b56 <_usart_interrupt_handler+0x176> + bb0: 0733 lsls r3, r6, #28 + bb2: d504 bpl.n bbe <_usart_interrupt_handler+0x176> /* Disable interrupts */ usart_hw->INTENCLR.reg = SERCOM_USART_INTENCLR_RXS; - b4c: 2308 movs r3, #8 - b4e: 7523 strb r3, [r4, #20] + bb4: 2308 movs r3, #8 + bb6: 7523 strb r3, [r4, #20] /* Clear interrupt flag */ usart_hw->INTFLAG.reg = SERCOM_USART_INTFLAG_RXS; - b50: 7623 strb r3, [r4, #24] + bb8: 7623 strb r3, [r4, #24] /* Run callback if registered and enabled */ if (callback_status & (1 << USART_CALLBACK_START_RECEIVED)) { - b52: 06bb lsls r3, r7, #26 - b54: d408 bmi.n b68 <_usart_interrupt_handler+0x188> + bba: 06bb lsls r3, r7, #26 + bbc: d408 bmi.n bd0 <_usart_interrupt_handler+0x188> (*(module->callback[USART_CALLBACK_START_RECEIVED]))(module); } } #endif } - b56: bdf8 pop {r3, r4, r5, r6, r7, pc} + bbe: bdf8 pop {r3, r4, r5, r6, r7, pc} (*(module->callback[USART_CALLBACK_CTS_INPUT_CHANGE]))(module); - b58: 0028 movs r0, r5 - b5a: 69eb ldr r3, [r5, #28] - b5c: 4798 blx r3 - b5e: e7ec b.n b3a <_usart_interrupt_handler+0x15a> + bc0: 0028 movs r0, r5 + bc2: 69eb ldr r3, [r5, #28] + bc4: 4798 blx r3 + bc6: e7ec b.n ba2 <_usart_interrupt_handler+0x15a> (*(module->callback[USART_CALLBACK_BREAK_RECEIVED]))(module); - b60: 0028 movs r0, r5 - b62: 69ab ldr r3, [r5, #24] - b64: 4798 blx r3 - b66: e7ef b.n b48 <_usart_interrupt_handler+0x168> + bc8: 0028 movs r0, r5 + bca: 69ab ldr r3, [r5, #24] + bcc: 4798 blx r3 + bce: e7ef b.n bb0 <_usart_interrupt_handler+0x168> (*(module->callback[USART_CALLBACK_START_RECEIVED]))(module); - b68: 6a2b ldr r3, [r5, #32] - b6a: 0028 movs r0, r5 - b6c: 4798 blx r3 + bd0: 6a2b ldr r3, [r5, #32] + bd2: 0028 movs r0, r5 + bd4: 4798 blx r3 } - b6e: e7f2 b.n b56 <_usart_interrupt_handler+0x176> - b70: 20004c94 .word 0x20004c94 + bd6: e7f2 b.n bbe <_usart_interrupt_handler+0x176> + bd8: 20004c94 .word 0x20004c94 -00000b74 <_sercom_default_handler>: +00000bdc <_sercom_default_handler>: */ static void _sercom_default_handler( const uint8_t instance) { Assert(false); } - b74: 4770 bx lr + bdc: 4770 bx lr ... -00000b78 <_sercom_set_handler>: +00000be0 <_sercom_set_handler>: * \param[in] interrupt_handler Pointer to instance callback handler. */ void _sercom_set_handler( const uint8_t instance, const sercom_handler_t interrupt_handler) { - b78: b5f0 push {r4, r5, r6, r7, lr} + be0: b5f0 push {r4, r5, r6, r7, lr} /* Initialize handlers with default handler and device instances with 0 */ if (_handler_table_initialized == false) { - b7a: 4b0a ldr r3, [pc, #40] ; (ba4 <_sercom_set_handler+0x2c>) - b7c: 781b ldrb r3, [r3, #0] - b7e: 2b00 cmp r3, #0 - b80: d10c bne.n b9c <_sercom_set_handler+0x24> + be2: 4b0a ldr r3, [pc, #40] ; (c0c <_sercom_set_handler+0x2c>) + be4: 781b ldrb r3, [r3, #0] + be6: 2b00 cmp r3, #0 + be8: d10c bne.n c04 <_sercom_set_handler+0x24> for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { _sercom_interrupt_handlers[i] = &_sercom_default_handler; - b82: 4f09 ldr r7, [pc, #36] ; (ba8 <_sercom_set_handler+0x30>) - b84: 4e09 ldr r6, [pc, #36] ; (bac <_sercom_set_handler+0x34>) + bea: 4f09 ldr r7, [pc, #36] ; (c10 <_sercom_set_handler+0x30>) + bec: 4e09 ldr r6, [pc, #36] ; (c14 <_sercom_set_handler+0x34>) _sercom_instances[i] = NULL; - b86: 4d0a ldr r5, [pc, #40] ; (bb0 <_sercom_set_handler+0x38>) - b88: 2400 movs r4, #0 + bee: 4d0a ldr r5, [pc, #40] ; (c18 <_sercom_set_handler+0x38>) + bf0: 2400 movs r4, #0 _sercom_interrupt_handlers[i] = &_sercom_default_handler; - b8a: 51de str r6, [r3, r7] + bf2: 51de str r6, [r3, r7] _sercom_instances[i] = NULL; - b8c: 195a adds r2, r3, r5 - b8e: 6014 str r4, [r2, #0] - b90: 3304 adds r3, #4 + bf4: 195a adds r2, r3, r5 + bf6: 6014 str r4, [r2, #0] + bf8: 3304 adds r3, #4 for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - b92: 2b18 cmp r3, #24 - b94: d1f9 bne.n b8a <_sercom_set_handler+0x12> + bfa: 2b18 cmp r3, #24 + bfc: d1f9 bne.n bf2 <_sercom_set_handler+0x12> } _handler_table_initialized = true; - b96: 2201 movs r2, #1 - b98: 4b02 ldr r3, [pc, #8] ; (ba4 <_sercom_set_handler+0x2c>) - b9a: 701a strb r2, [r3, #0] + bfe: 2201 movs r2, #1 + c00: 4b02 ldr r3, [pc, #8] ; (c0c <_sercom_set_handler+0x2c>) + c02: 701a strb r2, [r3, #0] } /* Save interrupt handler */ _sercom_interrupt_handlers[instance] = interrupt_handler; - b9c: 0080 lsls r0, r0, #2 - b9e: 4b02 ldr r3, [pc, #8] ; (ba8 <_sercom_set_handler+0x30>) - ba0: 50c1 str r1, [r0, r3] + c04: 0080 lsls r0, r0, #2 + c06: 4b02 ldr r3, [pc, #8] ; (c10 <_sercom_set_handler+0x30>) + c08: 50c1 str r1, [r0, r3] } - ba2: bdf0 pop {r4, r5, r6, r7, pc} - ba4: 20002696 .word 0x20002696 - ba8: 20002698 .word 0x20002698 - bac: 00000b75 .word 0x00000b75 - bb0: 20004c94 .word 0x20004c94 + c0a: bdf0 pop {r4, r5, r6, r7, pc} + c0c: 20002696 .word 0x20002696 + c10: 20002698 .word 0x20002698 + c14: 00000bdd .word 0x00000bdd + c18: 20004c94 .word 0x20004c94 -00000bb4 <_sercom_get_interrupt_vector>: +00000c1c <_sercom_get_interrupt_vector>: * \retval SYSTEM_INTERRUPT_MODULE_SERCOM6 * \retval SYSTEM_INTERRUPT_MODULE_SERCOM7 */ enum system_interrupt_vector _sercom_get_interrupt_vector( Sercom *const sercom_instance) { - bb4: b500 push {lr} - bb6: b083 sub sp, #12 + c1c: b500 push {lr} + c1e: b083 sub sp, #12 const uint8_t sercom_int_vectors[SERCOM_INST_NUM] = - bb8: 2309 movs r3, #9 - bba: 466a mov r2, sp - bbc: 7013 strb r3, [r2, #0] - bbe: 3301 adds r3, #1 - bc0: 7053 strb r3, [r2, #1] - bc2: 3301 adds r3, #1 - bc4: 7093 strb r3, [r2, #2] - bc6: 3301 adds r3, #1 - bc8: 70d3 strb r3, [r2, #3] - bca: 3301 adds r3, #1 - bcc: 7113 strb r3, [r2, #4] - bce: 3301 adds r3, #1 - bd0: 7153 strb r3, [r2, #5] + c20: 2309 movs r3, #9 + c22: 466a mov r2, sp + c24: 7013 strb r3, [r2, #0] + c26: 3301 adds r3, #1 + c28: 7053 strb r3, [r2, #1] + c2a: 3301 adds r3, #1 + c2c: 7093 strb r3, [r2, #2] + c2e: 3301 adds r3, #1 + c30: 70d3 strb r3, [r2, #3] + c32: 3301 adds r3, #1 + c34: 7113 strb r3, [r2, #4] + c36: 3301 adds r3, #1 + c38: 7153 strb r3, [r2, #5] { MREPEAT(SERCOM_INST_NUM, _SERCOM_INTERRUPT_VECT_NUM, ~) }; /* Retrieve the index of the SERCOM being requested */ uint8_t instance_index = _sercom_get_sercom_inst_index(sercom_instance); - bd2: 4b03 ldr r3, [pc, #12] ; (be0 <_sercom_get_interrupt_vector+0x2c>) - bd4: 4798 blx r3 + c3a: 4b03 ldr r3, [pc, #12] ; (c48 <_sercom_get_interrupt_vector+0x2c>) + c3c: 4798 blx r3 /* Get the vector number from the lookup table for the requested SERCOM */ return (enum system_interrupt_vector)sercom_int_vectors[instance_index]; - bd6: 466b mov r3, sp - bd8: 5618 ldrsb r0, [r3, r0] + c3e: 466b mov r3, sp + c40: 5618 ldrsb r0, [r3, r0] } - bda: b003 add sp, #12 - bdc: bd00 pop {pc} - bde: 46c0 nop ; (mov r8, r8) - be0: 00000571 .word 0x00000571 + c42: b003 add sp, #12 + c44: bd00 pop {pc} + c46: 46c0 nop ; (mov r8, r8) + c48: 00000579 .word 0x00000579 -00000be4 : +00000c4c : /** Auto-generate a set of interrupt handlers for each SERCOM in the device */ MREPEAT(SERCOM_INST_NUM, _SERCOM_INTERRUPT_HANDLER, ~) - be4: b510 push {r4, lr} - be6: 4b02 ldr r3, [pc, #8] ; (bf0 ) - be8: 681b ldr r3, [r3, #0] - bea: 2000 movs r0, #0 - bec: 4798 blx r3 - bee: bd10 pop {r4, pc} - bf0: 20002698 .word 0x20002698 - -00000bf4 : - bf4: b510 push {r4, lr} - bf6: 4b02 ldr r3, [pc, #8] ; (c00 ) - bf8: 685b ldr r3, [r3, #4] - bfa: 2001 movs r0, #1 - bfc: 4798 blx r3 - bfe: bd10 pop {r4, pc} - c00: 20002698 .word 0x20002698 - -00000c04 : - c04: b510 push {r4, lr} - c06: 4b02 ldr r3, [pc, #8] ; (c10 ) - c08: 689b ldr r3, [r3, #8] - c0a: 2002 movs r0, #2 - c0c: 4798 blx r3 - c0e: bd10 pop {r4, pc} - c10: 20002698 .word 0x20002698 - -00000c14 : - c14: b510 push {r4, lr} - c16: 4b02 ldr r3, [pc, #8] ; (c20 ) - c18: 68db ldr r3, [r3, #12] - c1a: 2003 movs r0, #3 - c1c: 4798 blx r3 - c1e: bd10 pop {r4, pc} - c20: 20002698 .word 0x20002698 - -00000c24 : - c24: b510 push {r4, lr} - c26: 4b02 ldr r3, [pc, #8] ; (c30 ) - c28: 691b ldr r3, [r3, #16] - c2a: 2004 movs r0, #4 - c2c: 4798 blx r3 - c2e: bd10 pop {r4, pc} - c30: 20002698 .word 0x20002698 - -00000c34 : - c34: b510 push {r4, lr} - c36: 4b02 ldr r3, [pc, #8] ; (c40 ) - c38: 695b ldr r3, [r3, #20] - c3a: 2005 movs r0, #5 - c3c: 4798 blx r3 - c3e: bd10 pop {r4, pc} - c40: 20002698 .word 0x20002698 - -00000c44 : + c4c: b510 push {r4, lr} + c4e: 4b02 ldr r3, [pc, #8] ; (c58 ) + c50: 681b ldr r3, [r3, #0] + c52: 2000 movs r0, #0 + c54: 4798 blx r3 + c56: bd10 pop {r4, pc} + c58: 20002698 .word 0x20002698 + +00000c5c : + c5c: b510 push {r4, lr} + c5e: 4b02 ldr r3, [pc, #8] ; (c68 ) + c60: 685b ldr r3, [r3, #4] + c62: 2001 movs r0, #1 + c64: 4798 blx r3 + c66: bd10 pop {r4, pc} + c68: 20002698 .word 0x20002698 + +00000c6c : + c6c: b510 push {r4, lr} + c6e: 4b02 ldr r3, [pc, #8] ; (c78 ) + c70: 689b ldr r3, [r3, #8] + c72: 2002 movs r0, #2 + c74: 4798 blx r3 + c76: bd10 pop {r4, pc} + c78: 20002698 .word 0x20002698 + +00000c7c : + c7c: b510 push {r4, lr} + c7e: 4b02 ldr r3, [pc, #8] ; (c88 ) + c80: 68db ldr r3, [r3, #12] + c82: 2003 movs r0, #3 + c84: 4798 blx r3 + c86: bd10 pop {r4, pc} + c88: 20002698 .word 0x20002698 + +00000c8c : + c8c: b510 push {r4, lr} + c8e: 4b02 ldr r3, [pc, #8] ; (c98 ) + c90: 691b ldr r3, [r3, #16] + c92: 2004 movs r0, #4 + c94: 4798 blx r3 + c96: bd10 pop {r4, pc} + c98: 20002698 .word 0x20002698 + +00000c9c : + c9c: b510 push {r4, lr} + c9e: 4b02 ldr r3, [pc, #8] ; (ca8 ) + ca0: 695b ldr r3, [r3, #20] + ca2: 2005 movs r0, #5 + ca4: 4798 blx r3 + ca6: bd10 pop {r4, pc} + ca8: 20002698 .word 0x20002698 + +00000cac : volatile bool g_interrupt_enabled = true; #endif void cpu_irq_enter_critical(void) { if (cpu_irq_critical_section_counter == 0) { - c44: 4b0c ldr r3, [pc, #48] ; (c78 ) - c46: 681b ldr r3, [r3, #0] - c48: 2b00 cmp r3, #0 - c4a: d106 bne.n c5a + cac: 4b0c ldr r3, [pc, #48] ; (ce0 ) + cae: 681b ldr r3, [r3, #0] + cb0: 2b00 cmp r3, #0 + cb2: d106 bne.n cc2 __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - c4c: f3ef 8310 mrs r3, PRIMASK + cb4: f3ef 8310 mrs r3, PRIMASK if (cpu_irq_is_enabled()) { - c50: 2b00 cmp r3, #0 - c52: d007 beq.n c64 + cb8: 2b00 cmp r3, #0 + cba: d007 beq.n ccc cpu_irq_disable(); cpu_irq_prev_interrupt_state = true; } else { /* Make sure the to save the prev state as false */ cpu_irq_prev_interrupt_state = false; - c54: 2200 movs r2, #0 - c56: 4b09 ldr r3, [pc, #36] ; (c7c ) - c58: 701a strb r2, [r3, #0] + cbc: 2200 movs r2, #0 + cbe: 4b09 ldr r3, [pc, #36] ; (ce4 ) + cc0: 701a strb r2, [r3, #0] } } cpu_irq_critical_section_counter++; - c5a: 4a07 ldr r2, [pc, #28] ; (c78 ) - c5c: 6813 ldr r3, [r2, #0] - c5e: 3301 adds r3, #1 - c60: 6013 str r3, [r2, #0] + cc2: 4a07 ldr r2, [pc, #28] ; (ce0 ) + cc4: 6813 ldr r3, [r2, #0] + cc6: 3301 adds r3, #1 + cc8: 6013 str r3, [r2, #0] } - c62: 4770 bx lr + cca: 4770 bx lr __ASM volatile ("cpsid i" : : : "memory"); - c64: b672 cpsid i + ccc: b672 cpsid i __ASM volatile ("dmb 0xF":::"memory"); - c66: f3bf 8f5f dmb sy + cce: f3bf 8f5f dmb sy cpu_irq_disable(); - c6a: 2200 movs r2, #0 - c6c: 4b04 ldr r3, [pc, #16] ; (c80 ) - c6e: 701a strb r2, [r3, #0] + cd2: 2200 movs r2, #0 + cd4: 4b04 ldr r3, [pc, #16] ; (ce8 ) + cd6: 701a strb r2, [r3, #0] cpu_irq_prev_interrupt_state = true; - c70: 3201 adds r2, #1 - c72: 4b02 ldr r3, [pc, #8] ; (c7c ) - c74: 701a strb r2, [r3, #0] - c76: e7f0 b.n c5a - c78: 200026b0 .word 0x200026b0 - c7c: 200026b4 .word 0x200026b4 - c80: 2000000c .word 0x2000000c - -00000c84 : + cd8: 3201 adds r2, #1 + cda: 4b02 ldr r3, [pc, #8] ; (ce4 ) + cdc: 701a strb r2, [r3, #0] + cde: e7f0 b.n cc2 + ce0: 200026b0 .word 0x200026b0 + ce4: 200026b4 .word 0x200026b4 + ce8: 2000000c .word 0x2000000c + +00000cec : void cpu_irq_leave_critical(void) { /* Check if the user is trying to leave a critical section when not in a critical section */ Assert(cpu_irq_critical_section_counter > 0); cpu_irq_critical_section_counter--; - c84: 4b08 ldr r3, [pc, #32] ; (ca8 ) - c86: 681a ldr r2, [r3, #0] - c88: 3a01 subs r2, #1 - c8a: 601a str r2, [r3, #0] + cec: 4b08 ldr r3, [pc, #32] ; (d10 ) + cee: 681a ldr r2, [r3, #0] + cf0: 3a01 subs r2, #1 + cf2: 601a str r2, [r3, #0] /* Only enable global interrupts when the counter reaches 0 and the state of the global interrupt flag was enabled when entering critical state */ if ((cpu_irq_critical_section_counter == 0) && (cpu_irq_prev_interrupt_state)) { - c8c: 681b ldr r3, [r3, #0] - c8e: 2b00 cmp r3, #0 - c90: d109 bne.n ca6 - c92: 4b06 ldr r3, [pc, #24] ; (cac ) - c94: 781b ldrb r3, [r3, #0] - c96: 2b00 cmp r3, #0 - c98: d005 beq.n ca6 + cf4: 681b ldr r3, [r3, #0] + cf6: 2b00 cmp r3, #0 + cf8: d109 bne.n d0e + cfa: 4b06 ldr r3, [pc, #24] ; (d14 ) + cfc: 781b ldrb r3, [r3, #0] + cfe: 2b00 cmp r3, #0 + d00: d005 beq.n d0e cpu_irq_enable(); - c9a: 2201 movs r2, #1 - c9c: 4b04 ldr r3, [pc, #16] ; (cb0 ) - c9e: 701a strb r2, [r3, #0] - ca0: f3bf 8f5f dmb sy + d02: 2201 movs r2, #1 + d04: 4b04 ldr r3, [pc, #16] ; (d18 ) + d06: 701a strb r2, [r3, #0] + d08: f3bf 8f5f dmb sy __ASM volatile ("cpsie i" : : : "memory"); - ca4: b662 cpsie i + d0c: b662 cpsie i } } - ca6: 4770 bx lr - ca8: 200026b0 .word 0x200026b0 - cac: 200026b4 .word 0x200026b4 - cb0: 2000000c .word 0x2000000c + d0e: 4770 bx lr + d10: 200026b0 .word 0x200026b0 + d14: 200026b4 .word 0x200026b4 + d18: 2000000c .word 0x2000000c -00000cb4 : +00000d1c : void board_init(void); # pragma weak board_init=system_board_init #endif void system_board_init(void) { - cb4: b5f0 push {r4, r5, r6, r7, lr} - cb6: b083 sub sp, #12 + d1c: b5f0 push {r4, r5, r6, r7, lr} + d1e: b083 sub sp, #12 /* Sanity check arguments */ Assert(config); /* Default configuration values */ config->direction = PORT_PIN_DIR_INPUT; config->input_pull = PORT_PIN_PULL_UP; - cb8: ac01 add r4, sp, #4 - cba: 2501 movs r5, #1 - cbc: 7065 strb r5, [r4, #1] + d20: ac01 add r4, sp, #4 + d22: 2501 movs r5, #1 + d24: 7065 strb r5, [r4, #1] config->powersave = false; - cbe: 2700 movs r7, #0 - cc0: 70a7 strb r7, [r4, #2] + d26: 2700 movs r7, #0 + d28: 70a7 strb r7, [r4, #2] struct port_config pin_conf; port_get_config_defaults(&pin_conf); /* Configure LEDs as outputs, turn them off */ pin_conf.direction = PORT_PIN_DIR_OUTPUT; - cc2: 7025 strb r5, [r4, #0] + d2a: 7025 strb r5, [r4, #0] port_pin_set_config(LED_0_PIN, &pin_conf); - cc4: 0021 movs r1, r4 - cc6: 203e movs r0, #62 ; 0x3e - cc8: 4e06 ldr r6, [pc, #24] ; (ce4 ) - cca: 47b0 blx r6 + d2c: 0021 movs r1, r4 + d2e: 203e movs r0, #62 ; 0x3e + d30: 4e06 ldr r6, [pc, #24] ; (d4c ) + d32: 47b0 blx r6 PortGroup *const port_base = port_get_group_from_gpio_pin(gpio_pin); uint32_t pin_mask = (1UL << (gpio_pin % 32)); /* Set the pin to high or low atomically based on the requested level */ if (level) { port_base->OUTSET.reg = pin_mask; - ccc: 2280 movs r2, #128 ; 0x80 - cce: 05d2 lsls r2, r2, #23 - cd0: 4b05 ldr r3, [pc, #20] ; (ce8 ) - cd2: 619a str r2, [r3, #24] + d34: 2280 movs r2, #128 ; 0x80 + d36: 05d2 lsls r2, r2, #23 + d38: 4b05 ldr r3, [pc, #20] ; (d50 ) + d3a: 619a str r2, [r3, #24] port_pin_set_output_level(LED_0_PIN, LED_0_INACTIVE); /* Set buttons as inputs */ pin_conf.direction = PORT_PIN_DIR_INPUT; - cd4: 7027 strb r7, [r4, #0] + d3c: 7027 strb r7, [r4, #0] pin_conf.input_pull = PORT_PIN_PULL_UP; - cd6: 7065 strb r5, [r4, #1] + d3e: 7065 strb r5, [r4, #1] port_pin_set_config(BUTTON_0_PIN, &pin_conf); - cd8: 0021 movs r1, r4 - cda: 200f movs r0, #15 - cdc: 47b0 blx r6 + d40: 0021 movs r1, r4 + d42: 200f movs r0, #15 + d44: 47b0 blx r6 port_pin_set_output_level(AT86RFX_RST_PIN, true); port_pin_set_output_level(AT86RFX_SLP_PIN, true); pin_conf.direction = PORT_PIN_DIR_INPUT; port_pin_set_config(AT86RFX_SPI_MISO, &pin_conf); #endif } - cde: b003 add sp, #12 - ce0: bdf0 pop {r4, r5, r6, r7, pc} - ce2: 46c0 nop ; (mov r8, r8) - ce4: 00000ced .word 0x00000ced - ce8: 41004480 .word 0x41004480 + d46: b003 add sp, #12 + d48: bdf0 pop {r4, r5, r6, r7, pc} + d4a: 46c0 nop ; (mov r8, r8) + d4c: 00000d55 .word 0x00000d55 + d50: 41004480 .word 0x41004480 -00000cec : +00000d54 : * \param[in] config Configuration settings for the pin */ void port_pin_set_config( const uint8_t gpio_pin, const struct port_config *const config) { - cec: b500 push {lr} - cee: b083 sub sp, #12 + d54: b500 push {lr} + d56: b083 sub sp, #12 config->mux_position = SYSTEM_PINMUX_GPIO; - cf0: ab01 add r3, sp, #4 - cf2: 2280 movs r2, #128 ; 0x80 - cf4: 701a strb r2, [r3, #0] + d58: ab01 add r3, sp, #4 + d5a: 2280 movs r2, #128 ; 0x80 + d5c: 701a strb r2, [r3, #0] struct system_pinmux_config pinmux_config; system_pinmux_get_config_defaults(&pinmux_config); pinmux_config.mux_position = SYSTEM_PINMUX_GPIO; pinmux_config.direction = (enum system_pinmux_pin_dir)config->direction; - cf6: 780a ldrb r2, [r1, #0] - cf8: 705a strb r2, [r3, #1] + d5e: 780a ldrb r2, [r1, #0] + d60: 705a strb r2, [r3, #1] pinmux_config.input_pull = (enum system_pinmux_pin_pull)config->input_pull; - cfa: 784a ldrb r2, [r1, #1] - cfc: 709a strb r2, [r3, #2] + d62: 784a ldrb r2, [r1, #1] + d64: 709a strb r2, [r3, #2] pinmux_config.powersave = config->powersave; - cfe: 788a ldrb r2, [r1, #2] - d00: 70da strb r2, [r3, #3] + d66: 788a ldrb r2, [r1, #2] + d68: 70da strb r2, [r3, #3] system_pinmux_pin_set_config(gpio_pin, &pinmux_config); - d02: 0019 movs r1, r3 - d04: 4b01 ldr r3, [pc, #4] ; (d0c ) - d06: 4798 blx r3 + d6a: 0019 movs r1, r3 + d6c: 4b01 ldr r3, [pc, #4] ; (d74 ) + d6e: 4798 blx r3 } - d08: b003 add sp, #12 - d0a: bd00 pop {pc} - d0c: 00001275 .word 0x00001275 + d70: b003 add sp, #12 + d72: bd00 pop {pc} + d74: 000012dd .word 0x000012dd -00000d10 : +00000d78 : */ void port_group_set_config( PortGroup *const port, const uint32_t mask, const struct port_config *const config) { - d10: b510 push {r4, lr} - d12: b082 sub sp, #8 - d14: ab01 add r3, sp, #4 - d16: 2480 movs r4, #128 ; 0x80 - d18: 701c strb r4, [r3, #0] + d78: b510 push {r4, lr} + d7a: b082 sub sp, #8 + d7c: ab01 add r3, sp, #4 + d7e: 2480 movs r4, #128 ; 0x80 + d80: 701c strb r4, [r3, #0] struct system_pinmux_config pinmux_config; system_pinmux_get_config_defaults(&pinmux_config); pinmux_config.mux_position = SYSTEM_PINMUX_GPIO; pinmux_config.direction = (enum system_pinmux_pin_dir)config->direction; - d1a: 7814 ldrb r4, [r2, #0] - d1c: 705c strb r4, [r3, #1] + d82: 7814 ldrb r4, [r2, #0] + d84: 705c strb r4, [r3, #1] pinmux_config.input_pull = (enum system_pinmux_pin_pull)config->input_pull; - d1e: 7854 ldrb r4, [r2, #1] - d20: 709c strb r4, [r3, #2] + d86: 7854 ldrb r4, [r2, #1] + d88: 709c strb r4, [r3, #2] pinmux_config.powersave = config->powersave; - d22: 7892 ldrb r2, [r2, #2] - d24: 70da strb r2, [r3, #3] + d8a: 7892 ldrb r2, [r2, #2] + d8c: 70da strb r2, [r3, #3] system_pinmux_group_set_config(port, mask, &pinmux_config); - d26: 001a movs r2, r3 - d28: 4b01 ldr r3, [pc, #4] ; (d30 ) - d2a: 4798 blx r3 + d8e: 001a movs r2, r3 + d90: 4b01 ldr r3, [pc, #4] ; (d98 ) + d92: 4798 blx r3 } - d2c: b002 add sp, #8 - d2e: bd10 pop {r4, pc} - d30: 000012a5 .word 0x000012a5 + d94: b002 add sp, #8 + d96: bd10 pop {r4, pc} + d98: 0000130d .word 0x0000130d -00000d34 : +00000d9c : * * \returns Frequency of the given clock source, in Hz. */ uint32_t system_clock_source_get_hz( const enum system_clock_source clock_source) { - d34: b510 push {r4, lr} + d9c: b510 push {r4, lr} switch (clock_source) { - d36: 2808 cmp r0, #8 - d38: d803 bhi.n d42 - d3a: 0080 lsls r0, r0, #2 - d3c: 4b1c ldr r3, [pc, #112] ; (db0 ) - d3e: 581b ldr r3, [r3, r0] - d40: 469f mov pc, r3 + d9e: 2808 cmp r0, #8 + da0: d803 bhi.n daa + da2: 0080 lsls r0, r0, #2 + da4: 4b1c ldr r3, [pc, #112] ; (e18 ) + da6: 581b ldr r3, [r3, r0] + da8: 469f mov pc, r3 return _system_clock_inst.dpll.frequency; #endif default: return 0; - d42: 2000 movs r0, #0 - d44: e032 b.n dac + daa: 2000 movs r0, #0 + dac: e032 b.n e14 return _system_clock_inst.xosc.frequency; - d46: 4b1b ldr r3, [pc, #108] ; (db4 ) - d48: 6918 ldr r0, [r3, #16] - d4a: e02f b.n dac + dae: 4b1b ldr r3, [pc, #108] ; (e1c ) + db0: 6918 ldr r0, [r3, #16] + db2: e02f b.n e14 return 8000000UL >> SYSCTRL->OSC8M.bit.PRESC; - d4c: 4b1a ldr r3, [pc, #104] ; (db8 ) - d4e: 6a1b ldr r3, [r3, #32] - d50: 059b lsls r3, r3, #22 - d52: 0f9b lsrs r3, r3, #30 - d54: 4819 ldr r0, [pc, #100] ; (dbc ) - d56: 40d8 lsrs r0, r3 - d58: e028 b.n dac + db4: 4b1a ldr r3, [pc, #104] ; (e20 ) + db6: 6a1b ldr r3, [r3, #32] + db8: 059b lsls r3, r3, #22 + dba: 0f9b lsrs r3, r3, #30 + dbc: 4819 ldr r0, [pc, #100] ; (e24 ) + dbe: 40d8 lsrs r0, r3 + dc0: e028 b.n e14 return _system_clock_inst.xosc32k.frequency; - d5a: 4b16 ldr r3, [pc, #88] ; (db4 ) - d5c: 6958 ldr r0, [r3, #20] - d5e: e025 b.n dac + dc2: 4b16 ldr r3, [pc, #88] ; (e1c ) + dc4: 6958 ldr r0, [r3, #20] + dc6: e025 b.n e14 if (!(_system_clock_inst.dfll.control & SYSCTRL_DFLLCTRL_ENABLE)) - d60: 4b14 ldr r3, [pc, #80] ; (db4 ) - d62: 681b ldr r3, [r3, #0] + dc8: 4b14 ldr r3, [pc, #80] ; (e1c ) + dca: 681b ldr r3, [r3, #0] return 0; - d64: 2000 movs r0, #0 + dcc: 2000 movs r0, #0 if (!(_system_clock_inst.dfll.control & SYSCTRL_DFLLCTRL_ENABLE)) - d66: 079b lsls r3, r3, #30 - d68: d520 bpl.n dac + dce: 079b lsls r3, r3, #30 + dd0: d520 bpl.n e14 while (!(SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY)) { - d6a: 4913 ldr r1, [pc, #76] ; (db8 ) - d6c: 2210 movs r2, #16 - d6e: 68cb ldr r3, [r1, #12] - d70: 421a tst r2, r3 - d72: d0fc beq.n d6e + dd2: 4913 ldr r1, [pc, #76] ; (e20 ) + dd4: 2210 movs r2, #16 + dd6: 68cb ldr r3, [r1, #12] + dd8: 421a tst r2, r3 + dda: d0fc beq.n dd6 switch(_system_clock_inst.dfll.control & - d74: 4b0f ldr r3, [pc, #60] ; (db4 ) - d76: 681a ldr r2, [r3, #0] - d78: 2324 movs r3, #36 ; 0x24 - d7a: 4013 ands r3, r2 - d7c: 2b04 cmp r3, #4 - d7e: d001 beq.n d84 + ddc: 4b0f ldr r3, [pc, #60] ; (e1c ) + dde: 681a ldr r2, [r3, #0] + de0: 2324 movs r3, #36 ; 0x24 + de2: 4013 ands r3, r2 + de4: 2b04 cmp r3, #4 + de6: d001 beq.n dec return 48000000UL; - d80: 480f ldr r0, [pc, #60] ; (dc0 ) - d82: e013 b.n dac + de8: 480f ldr r0, [pc, #60] ; (e28 ) + dea: e013 b.n e14 return system_gclk_chan_get_hz(SYSCTRL_GCLK_ID_DFLL48) * - d84: 2000 movs r0, #0 - d86: 4b0f ldr r3, [pc, #60] ; (dc4 ) - d88: 4798 blx r3 + dec: 2000 movs r0, #0 + dee: 4b0f ldr r3, [pc, #60] ; (e2c ) + df0: 4798 blx r3 (_system_clock_inst.dfll.mul & 0xffff); - d8a: 4b0a ldr r3, [pc, #40] ; (db4 ) - d8c: 689b ldr r3, [r3, #8] - d8e: 041b lsls r3, r3, #16 - d90: 0c1b lsrs r3, r3, #16 + df2: 4b0a ldr r3, [pc, #40] ; (e1c ) + df4: 689b ldr r3, [r3, #8] + df6: 041b lsls r3, r3, #16 + df8: 0c1b lsrs r3, r3, #16 return system_gclk_chan_get_hz(SYSCTRL_GCLK_ID_DFLL48) * - d92: 4358 muls r0, r3 - d94: e00a b.n dac + dfa: 4358 muls r0, r3 + dfc: e00a b.n e14 if (!(SYSCTRL->DPLLSTATUS.reg & SYSCTRL_DPLLSTATUS_ENABLE)) { - d96: 2350 movs r3, #80 ; 0x50 - d98: 4a07 ldr r2, [pc, #28] ; (db8 ) - d9a: 5cd3 ldrb r3, [r2, r3] + dfe: 2350 movs r3, #80 ; 0x50 + e00: 4a07 ldr r2, [pc, #28] ; (e20 ) + e02: 5cd3 ldrb r3, [r2, r3] return 0; - d9c: 2000 movs r0, #0 + e04: 2000 movs r0, #0 if (!(SYSCTRL->DPLLSTATUS.reg & SYSCTRL_DPLLSTATUS_ENABLE)) { - d9e: 075b lsls r3, r3, #29 - da0: d504 bpl.n dac + e06: 075b lsls r3, r3, #29 + e08: d504 bpl.n e14 return _system_clock_inst.dpll.frequency; - da2: 4b04 ldr r3, [pc, #16] ; (db4 ) - da4: 68d8 ldr r0, [r3, #12] - da6: e001 b.n dac + e0a: 4b04 ldr r3, [pc, #16] ; (e1c ) + e0c: 68d8 ldr r0, [r3, #12] + e0e: e001 b.n e14 return 32768UL; - da8: 2080 movs r0, #128 ; 0x80 - daa: 0200 lsls r0, r0, #8 + e10: 2080 movs r0, #128 ; 0x80 + e12: 0200 lsls r0, r0, #8 } } - dac: bd10 pop {r4, pc} - dae: 46c0 nop ; (mov r8, r8) - db0: 000187bc .word 0x000187bc - db4: 200026b8 .word 0x200026b8 - db8: 40000800 .word 0x40000800 - dbc: 007a1200 .word 0x007a1200 - dc0: 02dc6c00 .word 0x02dc6c00 - dc4: 00001199 .word 0x00001199 + e14: bd10 pop {r4, pc} + e16: 46c0 nop ; (mov r8, r8) + e18: 0001884c .word 0x0001884c + e1c: 200026b8 .word 0x200026b8 + e20: 40000800 .word 0x40000800 + e24: 007a1200 .word 0x007a1200 + e28: 02dc6c00 .word 0x02dc6c00 + e2c: 00001201 .word 0x00001201 -00000dc8 : +00000e30 : * * \param[in] config OSC8M configuration structure containing the new config */ void system_clock_source_osc8m_set_config( struct system_clock_source_osc8m_config *const config) { - dc8: b570 push {r4, r5, r6, lr} + e30: b570 push {r4, r5, r6, lr} SYSCTRL_OSC8M_Type temp = SYSCTRL->OSC8M; - dca: 490c ldr r1, [pc, #48] ; (dfc ) - dcc: 6a0b ldr r3, [r1, #32] + e32: 490c ldr r1, [pc, #48] ; (e64 ) + e34: 6a0b ldr r3, [r1, #32] /* Use temporary struct to reduce register access */ temp.bit.PRESC = config->prescaler; - dce: 7804 ldrb r4, [r0, #0] + e36: 7804 ldrb r4, [r0, #0] temp.bit.ONDEMAND = config->on_demand; - dd0: 7885 ldrb r5, [r0, #2] + e38: 7885 ldrb r5, [r0, #2] temp.bit.RUNSTDBY = config->run_in_standby; SYSCTRL->OSC8M = temp; - dd2: 7840 ldrb r0, [r0, #1] - dd4: 2201 movs r2, #1 - dd6: 4010 ands r0, r2 - dd8: 0180 lsls r0, r0, #6 - dda: 2640 movs r6, #64 ; 0x40 - ddc: 43b3 bics r3, r6 - dde: 4303 orrs r3, r0 - de0: 402a ands r2, r5 - de2: 01d2 lsls r2, r2, #7 - de4: 2080 movs r0, #128 ; 0x80 - de6: 4383 bics r3, r0 - de8: 4313 orrs r3, r2 - dea: 2203 movs r2, #3 - dec: 4022 ands r2, r4 - dee: 0212 lsls r2, r2, #8 - df0: 4803 ldr r0, [pc, #12] ; (e00 ) - df2: 4003 ands r3, r0 - df4: 4313 orrs r3, r2 - df6: 620b str r3, [r1, #32] -} - df8: bd70 pop {r4, r5, r6, pc} - dfa: 46c0 nop ; (mov r8, r8) - dfc: 40000800 .word 0x40000800 - e00: fffffcff .word 0xfffffcff - -00000e04 : + e3a: 7840 ldrb r0, [r0, #1] + e3c: 2201 movs r2, #1 + e3e: 4010 ands r0, r2 + e40: 0180 lsls r0, r0, #6 + e42: 2640 movs r6, #64 ; 0x40 + e44: 43b3 bics r3, r6 + e46: 4303 orrs r3, r0 + e48: 402a ands r2, r5 + e4a: 01d2 lsls r2, r2, #7 + e4c: 2080 movs r0, #128 ; 0x80 + e4e: 4383 bics r3, r0 + e50: 4313 orrs r3, r2 + e52: 2203 movs r2, #3 + e54: 4022 ands r2, r4 + e56: 0212 lsls r2, r2, #8 + e58: 4803 ldr r0, [pc, #12] ; (e68 ) + e5a: 4003 ands r3, r0 + e5c: 4313 orrs r3, r2 + e5e: 620b str r3, [r1, #32] +} + e60: bd70 pop {r4, r5, r6, pc} + e62: 46c0 nop ; (mov r8, r8) + e64: 40000800 .word 0x40000800 + e68: fffffcff .word 0xfffffcff + +00000e6c : * device */ enum status_code system_clock_source_enable( const enum system_clock_source clock_source) { switch (clock_source) { - e04: 2808 cmp r0, #8 - e06: d803 bhi.n e10 - e08: 0080 lsls r0, r0, #2 - e0a: 4b25 ldr r3, [pc, #148] ; (ea0 ) - e0c: 581b ldr r3, [r3, r0] - e0e: 469f mov pc, r3 + e6c: 2808 cmp r0, #8 + e6e: d803 bhi.n e78 + e70: 0080 lsls r0, r0, #2 + e72: 4b25 ldr r3, [pc, #148] ; (f08 ) + e74: 581b ldr r3, [r3, r0] + e76: 469f mov pc, r3 /* Always enabled */ return STATUS_OK; default: Assert(false); return STATUS_ERR_INVALID_ARG; - e10: 2017 movs r0, #23 - e12: e044 b.n e9e + e78: 2017 movs r0, #23 + e7a: e044 b.n f06 SYSCTRL->OSC8M.reg |= SYSCTRL_OSC8M_ENABLE; - e14: 4a23 ldr r2, [pc, #140] ; (ea4 ) - e16: 6a13 ldr r3, [r2, #32] - e18: 2102 movs r1, #2 - e1a: 430b orrs r3, r1 - e1c: 6213 str r3, [r2, #32] + e7c: 4a23 ldr r2, [pc, #140] ; (f0c ) + e7e: 6a13 ldr r3, [r2, #32] + e80: 2102 movs r1, #2 + e82: 430b orrs r3, r1 + e84: 6213 str r3, [r2, #32] return STATUS_OK; - e1e: 2000 movs r0, #0 - e20: e03d b.n e9e + e86: 2000 movs r0, #0 + e88: e03d b.n f06 SYSCTRL->OSC32K.reg |= SYSCTRL_OSC32K_ENABLE; - e22: 4a20 ldr r2, [pc, #128] ; (ea4 ) - e24: 6993 ldr r3, [r2, #24] - e26: 2102 movs r1, #2 - e28: 430b orrs r3, r1 - e2a: 6193 str r3, [r2, #24] + e8a: 4a20 ldr r2, [pc, #128] ; (f0c ) + e8c: 6993 ldr r3, [r2, #24] + e8e: 2102 movs r1, #2 + e90: 430b orrs r3, r1 + e92: 6193 str r3, [r2, #24] } return STATUS_OK; - e2c: 2000 movs r0, #0 + e94: 2000 movs r0, #0 break; - e2e: e036 b.n e9e + e96: e036 b.n f06 SYSCTRL->XOSC.reg |= SYSCTRL_XOSC_ENABLE; - e30: 4a1c ldr r2, [pc, #112] ; (ea4 ) - e32: 8a13 ldrh r3, [r2, #16] - e34: 2102 movs r1, #2 - e36: 430b orrs r3, r1 - e38: 8213 strh r3, [r2, #16] + e98: 4a1c ldr r2, [pc, #112] ; (f0c ) + e9a: 8a13 ldrh r3, [r2, #16] + e9c: 2102 movs r1, #2 + e9e: 430b orrs r3, r1 + ea0: 8213 strh r3, [r2, #16] return STATUS_OK; - e3a: 2000 movs r0, #0 + ea2: 2000 movs r0, #0 break; - e3c: e02f b.n e9e + ea4: e02f b.n f06 SYSCTRL->XOSC32K.reg |= SYSCTRL_XOSC32K_ENABLE; - e3e: 4a19 ldr r2, [pc, #100] ; (ea4 ) - e40: 8a93 ldrh r3, [r2, #20] - e42: 2102 movs r1, #2 - e44: 430b orrs r3, r1 - e46: 8293 strh r3, [r2, #20] + ea6: 4a19 ldr r2, [pc, #100] ; (f0c ) + ea8: 8a93 ldrh r3, [r2, #20] + eaa: 2102 movs r1, #2 + eac: 430b orrs r3, r1 + eae: 8293 strh r3, [r2, #20] return STATUS_OK; - e48: 2000 movs r0, #0 + eb0: 2000 movs r0, #0 break; - e4a: e028 b.n e9e + eb2: e028 b.n f06 _system_clock_inst.dfll.control |= SYSCTRL_DFLLCTRL_ENABLE; - e4c: 4916 ldr r1, [pc, #88] ; (ea8 ) - e4e: 680b ldr r3, [r1, #0] - e50: 2202 movs r2, #2 - e52: 4313 orrs r3, r2 - e54: 600b str r3, [r1, #0] + eb4: 4916 ldr r1, [pc, #88] ; (f10 ) + eb6: 680b ldr r3, [r1, #0] + eb8: 2202 movs r2, #2 + eba: 4313 orrs r3, r2 + ebc: 600b str r3, [r1, #0] SYSCTRL->DFLLCTRL.reg = SYSCTRL_DFLLCTRL_ENABLE; - e56: 4b13 ldr r3, [pc, #76] ; (ea4 ) - e58: 849a strh r2, [r3, #36] ; 0x24 + ebe: 4b13 ldr r3, [pc, #76] ; (f0c ) + ec0: 849a strh r2, [r3, #36] ; 0x24 while (!(SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY)) { - e5a: 0019 movs r1, r3 - e5c: 320e adds r2, #14 - e5e: 68cb ldr r3, [r1, #12] - e60: 421a tst r2, r3 - e62: d0fc beq.n e5e + ec2: 0019 movs r1, r3 + ec4: 320e adds r2, #14 + ec6: 68cb ldr r3, [r1, #12] + ec8: 421a tst r2, r3 + eca: d0fc beq.n ec6 SYSCTRL->DFLLMUL.reg = _system_clock_inst.dfll.mul; - e64: 4a10 ldr r2, [pc, #64] ; (ea8 ) - e66: 6891 ldr r1, [r2, #8] - e68: 4b0e ldr r3, [pc, #56] ; (ea4 ) - e6a: 62d9 str r1, [r3, #44] ; 0x2c + ecc: 4a10 ldr r2, [pc, #64] ; (f10 ) + ece: 6891 ldr r1, [r2, #8] + ed0: 4b0e ldr r3, [pc, #56] ; (f0c ) + ed2: 62d9 str r1, [r3, #44] ; 0x2c SYSCTRL->DFLLVAL.reg = _system_clock_inst.dfll.val; - e6c: 6852 ldr r2, [r2, #4] - e6e: 629a str r2, [r3, #40] ; 0x28 + ed4: 6852 ldr r2, [r2, #4] + ed6: 629a str r2, [r3, #40] ; 0x28 SYSCTRL->DFLLCTRL.reg = 0; - e70: 2200 movs r2, #0 - e72: 849a strh r2, [r3, #36] ; 0x24 + ed8: 2200 movs r2, #0 + eda: 849a strh r2, [r3, #36] ; 0x24 while (!(SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY)) { - e74: 0019 movs r1, r3 - e76: 3210 adds r2, #16 - e78: 68cb ldr r3, [r1, #12] - e7a: 421a tst r2, r3 - e7c: d0fc beq.n e78 + edc: 0019 movs r1, r3 + ede: 3210 adds r2, #16 + ee0: 68cb ldr r3, [r1, #12] + ee2: 421a tst r2, r3 + ee4: d0fc beq.n ee0 SYSCTRL->DFLLCTRL.reg = _system_clock_inst.dfll.control; - e7e: 4b0a ldr r3, [pc, #40] ; (ea8 ) - e80: 681b ldr r3, [r3, #0] - e82: b29b uxth r3, r3 - e84: 4a07 ldr r2, [pc, #28] ; (ea4 ) - e86: 8493 strh r3, [r2, #36] ; 0x24 + ee6: 4b0a ldr r3, [pc, #40] ; (f10 ) + ee8: 681b ldr r3, [r3, #0] + eea: b29b uxth r3, r3 + eec: 4a07 ldr r2, [pc, #28] ; (f0c ) + eee: 8493 strh r3, [r2, #36] ; 0x24 return STATUS_OK; - e88: 2000 movs r0, #0 - e8a: e008 b.n e9e + ef0: 2000 movs r0, #0 + ef2: e008 b.n f06 SYSCTRL->DPLLCTRLA.reg |= SYSCTRL_DPLLCTRLA_ENABLE; - e8c: 4905 ldr r1, [pc, #20] ; (ea4 ) - e8e: 2244 movs r2, #68 ; 0x44 - e90: 5c8b ldrb r3, [r1, r2] - e92: 2002 movs r0, #2 - e94: 4303 orrs r3, r0 - e96: 548b strb r3, [r1, r2] + ef4: 4905 ldr r1, [pc, #20] ; (f0c ) + ef6: 2244 movs r2, #68 ; 0x44 + ef8: 5c8b ldrb r3, [r1, r2] + efa: 2002 movs r0, #2 + efc: 4303 orrs r3, r0 + efe: 548b strb r3, [r1, r2] return STATUS_OK; - e98: 2000 movs r0, #0 + f00: 2000 movs r0, #0 break; - e9a: e000 b.n e9e + f02: e000 b.n f06 return STATUS_OK; - e9c: 2000 movs r0, #0 + f04: 2000 movs r0, #0 } - e9e: 4770 bx lr - ea0: 000187e0 .word 0x000187e0 - ea4: 40000800 .word 0x40000800 - ea8: 200026b8 .word 0x200026b8 + f06: 4770 bx lr + f08: 00018870 .word 0x00018870 + f0c: 40000800 .word 0x40000800 + f10: 200026b8 .word 0x200026b8 -00000eac : +00000f14 : * \note OSC8M is always enabled and if user selects other clocks for GCLK generators, * the OSC8M default enable can be disabled after system_clock_init. Make sure the * clock switch successfully before disabling OSC8M. */ void system_clock_init(void) { - eac: b530 push {r4, r5, lr} - eae: b085 sub sp, #20 + f14: b530 push {r4, r5, lr} + f16: b085 sub sp, #20 /* Various bits in the INTFLAG register can be set to one at startup. This will ensure that these bits are cleared */ SYSCTRL->INTFLAG.reg = SYSCTRL_INTFLAG_BOD33RDY | SYSCTRL_INTFLAG_BOD33DET | - eb0: 22c2 movs r2, #194 ; 0xc2 - eb2: 00d2 lsls r2, r2, #3 - eb4: 4b1a ldr r3, [pc, #104] ; (f20 ) - eb6: 609a str r2, [r3, #8] + f18: 22c2 movs r2, #194 ; 0xc2 + f1a: 00d2 lsls r2, r2, #3 + f1c: 4b1a ldr r3, [pc, #104] ; (f88 ) + f1e: 609a str r2, [r3, #8] static inline void system_flash_set_waitstates(uint8_t wait_states) { Assert(NVMCTRL_CTRLB_RWS((uint32_t)wait_states) == ((uint32_t)wait_states << NVMCTRL_CTRLB_RWS_Pos)); NVMCTRL->CTRLB.bit.RWS = wait_states; - eb8: 4a1a ldr r2, [pc, #104] ; (f24 ) - eba: 6853 ldr r3, [r2, #4] - ebc: 211e movs r1, #30 - ebe: 438b bics r3, r1 - ec0: 6053 str r3, [r2, #4] + f20: 4a1a ldr r2, [pc, #104] ; (f8c ) + f22: 6853 ldr r3, [r2, #4] + f24: 211e movs r1, #30 + f26: 438b bics r3, r1 + f28: 6053 str r3, [r2, #4] gclk_conf.source_generator = GCLK_GENERATOR_1; - ec2: 2301 movs r3, #1 - ec4: 466a mov r2, sp - ec6: 7013 strb r3, [r2, #0] + f2a: 2301 movs r3, #1 + f2c: 466a mov r2, sp + f2e: 7013 strb r3, [r2, #0] for (gclk_id = 0; gclk_id < GCLK_NUM; gclk_id++) { - ec8: 2400 movs r4, #0 + f30: 2400 movs r4, #0 system_gclk_chan_set_config(gclk_id, &gclk_conf); - eca: 4d17 ldr r5, [pc, #92] ; (f28 ) - ecc: b2e0 uxtb r0, r4 - ece: 4669 mov r1, sp - ed0: 47a8 blx r5 + f32: 4d17 ldr r5, [pc, #92] ; (f90 ) + f34: b2e0 uxtb r0, r4 + f36: 4669 mov r1, sp + f38: 47a8 blx r5 for (gclk_id = 0; gclk_id < GCLK_NUM; gclk_id++) { - ed2: 3401 adds r4, #1 - ed4: 2c25 cmp r4, #37 ; 0x25 - ed6: d1f9 bne.n ecc + f3a: 3401 adds r4, #1 + f3c: 2c25 cmp r4, #37 ; 0x25 + f3e: d1f9 bne.n f34 config->run_in_standby = false; - ed8: a803 add r0, sp, #12 - eda: 2400 movs r4, #0 - edc: 7044 strb r4, [r0, #1] + f40: a803 add r0, sp, #12 + f42: 2400 movs r4, #0 + f44: 7044 strb r4, [r0, #1] config->on_demand = true; - ede: 2501 movs r5, #1 - ee0: 7085 strb r5, [r0, #2] + f46: 2501 movs r5, #1 + f48: 7085 strb r5, [r0, #2] /* OSC8M */ struct system_clock_source_osc8m_config osc8m_conf; system_clock_source_osc8m_get_config_defaults(&osc8m_conf); osc8m_conf.prescaler = CONF_CLOCK_OSC8M_PRESCALER; - ee2: 7004 strb r4, [r0, #0] + f4a: 7004 strb r4, [r0, #0] osc8m_conf.on_demand = CONF_CLOCK_OSC8M_ON_DEMAND; osc8m_conf.run_in_standby = CONF_CLOCK_OSC8M_RUN_IN_STANDBY; system_clock_source_osc8m_set_config(&osc8m_conf); - ee4: 4b11 ldr r3, [pc, #68] ; (f2c ) - ee6: 4798 blx r3 + f4c: 4b11 ldr r3, [pc, #68] ; (f94 ) + f4e: 4798 blx r3 system_clock_source_enable(SYSTEM_CLOCK_SOURCE_OSC8M); - ee8: 2006 movs r0, #6 - eea: 4b11 ldr r3, [pc, #68] ; (f30 ) - eec: 4798 blx r3 + f50: 2006 movs r0, #6 + f52: 4b11 ldr r3, [pc, #68] ; (f98 ) + f54: 4798 blx r3 /* GCLK */ #if CONF_CLOCK_CONFIGURE_GCLK == true system_gclk_init(); - eee: 4b11 ldr r3, [pc, #68] ; (f34 ) - ef0: 4798 blx r3 + f56: 4b11 ldr r3, [pc, #68] ; (f9c ) + f58: 4798 blx r3 PM->CPUSEL.reg = (uint32_t)divider; - ef2: 4b11 ldr r3, [pc, #68] ; (f38 ) - ef4: 721c strb r4, [r3, #8] + f5a: 4b11 ldr r3, [pc, #68] ; (fa0 ) + f5c: 721c strb r4, [r3, #8] PM->APBASEL.reg = (uint32_t)divider; - ef6: 725c strb r4, [r3, #9] + f5e: 725c strb r4, [r3, #9] PM->APBBSEL.reg = (uint32_t)divider; - ef8: 729c strb r4, [r3, #10] + f60: 729c strb r4, [r3, #10] PM->APBCSEL.reg = (uint32_t)divider; - efa: 72dc strb r4, [r3, #11] + f62: 72dc strb r4, [r3, #11] { /* Sanity check arguments */ Assert(config); /* Default configuration values */ config->division_factor = 1; - efc: 9501 str r5, [sp, #4] + f64: 9501 str r5, [sp, #4] config->high_when_disabled = false; - efe: 466b mov r3, sp - f00: 705c strb r4, [r3, #1] + f66: 466b mov r3, sp + f68: 705c strb r4, [r3, #1] #if SAML21 || SAML22 || SAMR30 || SAMR34 || SAMR35 config->source_clock = GCLK_SOURCE_OSC16M; #elif (SAMC20) || (SAMC21) config->source_clock = GCLK_SOURCE_OSC48M; #else config->source_clock = GCLK_SOURCE_OSC8M; - f02: 2306 movs r3, #6 - f04: 466a mov r2, sp - f06: 7013 strb r3, [r2, #0] + f6a: 2306 movs r3, #6 + f6c: 466a mov r2, sp + f6e: 7013 strb r3, [r2, #0] #endif config->run_in_standby = false; - f08: 7214 strb r4, [r2, #8] + f70: 7214 strb r4, [r2, #8] config->output_enable = false; - f0a: 7254 strb r4, [r2, #9] + f72: 7254 strb r4, [r2, #9] system_apb_clock_set_divider(SYSTEM_CLOCK_APB_APBC, CONF_CLOCK_APBC_DIVIDER); /* GCLK 0 */ #if CONF_CLOCK_CONFIGURE_GCLK == true /* Configure the main GCLK last as it might depend on other generators */ _CONF_CLOCK_GCLK_CONFIG(0, ~); - f0c: 4669 mov r1, sp - f0e: 2000 movs r0, #0 - f10: 4b0a ldr r3, [pc, #40] ; (f3c ) - f12: 4798 blx r3 - f14: 2000 movs r0, #0 - f16: 4b0a ldr r3, [pc, #40] ; (f40 ) - f18: 4798 blx r3 + f74: 4669 mov r1, sp + f76: 2000 movs r0, #0 + f78: 4b0a ldr r3, [pc, #40] ; (fa4 ) + f7a: 4798 blx r3 + f7c: 2000 movs r0, #0 + f7e: 4b0a ldr r3, [pc, #40] ; (fa8 ) + f80: 4798 blx r3 #endif } - f1a: b005 add sp, #20 - f1c: bd30 pop {r4, r5, pc} - f1e: 46c0 nop ; (mov r8, r8) - f20: 40000800 .word 0x40000800 - f24: 41004000 .word 0x41004000 - f28: 0000117d .word 0x0000117d - f2c: 00000dc9 .word 0x00000dc9 - f30: 00000e05 .word 0x00000e05 - f34: 00000f45 .word 0x00000f45 - f38: 40000400 .word 0x40000400 - f3c: 00000f69 .word 0x00000f69 - f40: 00001021 .word 0x00001021 - -00000f44 : + f82: b005 add sp, #20 + f84: bd30 pop {r4, r5, pc} + f86: 46c0 nop ; (mov r8, r8) + f88: 40000800 .word 0x40000800 + f8c: 41004000 .word 0x41004000 + f90: 000011e5 .word 0x000011e5 + f94: 00000e31 .word 0x00000e31 + f98: 00000e6d .word 0x00000e6d + f9c: 00000fad .word 0x00000fad + fa0: 40000400 .word 0x40000400 + fa4: 00000fd1 .word 0x00000fd1 + fa8: 00001089 .word 0x00001089 + +00000fac : PM->APBAMASK.reg |= mask; - f44: 4a06 ldr r2, [pc, #24] ; (f60 ) - f46: 6993 ldr r3, [r2, #24] - f48: 2108 movs r1, #8 - f4a: 430b orrs r3, r1 - f4c: 6193 str r3, [r2, #24] + fac: 4a06 ldr r2, [pc, #24] ; (fc8 ) + fae: 6993 ldr r3, [r2, #24] + fb0: 2108 movs r1, #8 + fb2: 430b orrs r3, r1 + fb4: 6193 str r3, [r2, #24] { /* Turn on the digital interface clock */ system_apb_clock_set_mask(SYSTEM_CLOCK_APB_APBA, PM_APBAMASK_GCLK); /* Software reset the module to ensure it is re-initialized correctly */ GCLK->CTRL.reg = GCLK_CTRL_SWRST; - f4e: 2201 movs r2, #1 - f50: 4b04 ldr r3, [pc, #16] ; (f64 ) - f52: 701a strb r2, [r3, #0] + fb6: 2201 movs r2, #1 + fb8: 4b04 ldr r3, [pc, #16] ; (fcc ) + fba: 701a strb r2, [r3, #0] while (GCLK->CTRL.reg & GCLK_CTRL_SWRST) { - f54: 0019 movs r1, r3 - f56: 780b ldrb r3, [r1, #0] - f58: 4213 tst r3, r2 - f5a: d1fc bne.n f56 + fbc: 0019 movs r1, r3 + fbe: 780b ldrb r3, [r1, #0] + fc0: 4213 tst r3, r2 + fc2: d1fc bne.n fbe /* Wait for reset to complete */ } } - f5c: 4770 bx lr - f5e: 46c0 nop ; (mov r8, r8) - f60: 40000400 .word 0x40000400 - f64: 40000c00 .word 0x40000c00 + fc4: 4770 bx lr + fc6: 46c0 nop ; (mov r8, r8) + fc8: 40000400 .word 0x40000400 + fcc: 40000c00 .word 0x40000c00 -00000f68 : +00000fd0 : * \param[in] config Configuration settings for the generator */ void system_gclk_gen_set_config( const uint8_t generator, struct system_gclk_gen_config *const config) { - f68: b570 push {r4, r5, r6, lr} - f6a: 0006 movs r6, r0 + fd0: b570 push {r4, r5, r6, lr} + fd2: 0006 movs r6, r0 /* Sanity check arguments */ Assert(config); /* Cache new register configurations to minimize sync requirements. */ uint32_t new_genctrl_config = (generator << GCLK_GENCTRL_ID_Pos); - f6c: 0004 movs r4, r0 + fd4: 0004 movs r4, r0 uint32_t new_gendiv_config = (generator << GCLK_GENDIV_ID_Pos); /* Select the requested source clock for the generator */ new_genctrl_config |= config->source_clock << GCLK_GENCTRL_SRC_Pos; - f6e: 780d ldrb r5, [r1, #0] - f70: 022d lsls r5, r5, #8 - f72: 4305 orrs r5, r0 + fd6: 780d ldrb r5, [r1, #0] + fd8: 022d lsls r5, r5, #8 + fda: 4305 orrs r5, r0 /* Configure the clock to be either high or low when disabled */ if (config->high_when_disabled) { - f74: 784b ldrb r3, [r1, #1] - f76: 2b00 cmp r3, #0 - f78: d002 beq.n f80 + fdc: 784b ldrb r3, [r1, #1] + fde: 2b00 cmp r3, #0 + fe0: d002 beq.n fe8 new_genctrl_config |= GCLK_GENCTRL_OOV; - f7a: 2380 movs r3, #128 ; 0x80 - f7c: 02db lsls r3, r3, #11 - f7e: 431d orrs r5, r3 + fe2: 2380 movs r3, #128 ; 0x80 + fe4: 02db lsls r3, r3, #11 + fe6: 431d orrs r5, r3 } /* Configure if the clock output to I/O pin should be enabled. */ if (config->output_enable) { - f80: 7a4b ldrb r3, [r1, #9] - f82: 2b00 cmp r3, #0 - f84: d002 beq.n f8c + fe8: 7a4b ldrb r3, [r1, #9] + fea: 2b00 cmp r3, #0 + fec: d002 beq.n ff4 new_genctrl_config |= GCLK_GENCTRL_OE; - f86: 2380 movs r3, #128 ; 0x80 - f88: 031b lsls r3, r3, #12 - f8a: 431d orrs r5, r3 + fee: 2380 movs r3, #128 ; 0x80 + ff0: 031b lsls r3, r3, #12 + ff2: 431d orrs r5, r3 } /* Set division factor */ if (config->division_factor > 1) { - f8c: 6848 ldr r0, [r1, #4] - f8e: 2801 cmp r0, #1 - f90: d910 bls.n fb4 + ff4: 6848 ldr r0, [r1, #4] + ff6: 2801 cmp r0, #1 + ff8: d910 bls.n 101c /* Check if division is a power of two */ if (((config->division_factor & (config->division_factor - 1)) == 0)) { - f92: 1e43 subs r3, r0, #1 - f94: 4218 tst r0, r3 - f96: d134 bne.n 1002 + ffa: 1e43 subs r3, r0, #1 + ffc: 4218 tst r0, r3 + ffe: d134 bne.n 106a * register */ uint32_t div2_count = 0; uint32_t mask; for (mask = (1UL << 1); mask < config->division_factor; - f98: 2802 cmp r0, #2 - f9a: d930 bls.n ffe - f9c: 2302 movs r3, #2 - f9e: 2200 movs r2, #0 + 1000: 2802 cmp r0, #2 + 1002: d930 bls.n 1066 + 1004: 2302 movs r3, #2 + 1006: 2200 movs r2, #0 mask <<= 1) { div2_count++; - fa0: 3201 adds r2, #1 + 1008: 3201 adds r2, #1 mask <<= 1) { - fa2: 005b lsls r3, r3, #1 + 100a: 005b lsls r3, r3, #1 for (mask = (1UL << 1); mask < config->division_factor; - fa4: 4298 cmp r0, r3 - fa6: d8fb bhi.n fa0 + 100c: 4298 cmp r0, r3 + 100e: d8fb bhi.n 1008 } /* Set binary divider power of 2 division factor */ new_gendiv_config |= div2_count << GCLK_GENDIV_DIV_Pos; - fa8: 0212 lsls r2, r2, #8 - faa: 4332 orrs r2, r6 - fac: 0014 movs r4, r2 + 1010: 0212 lsls r2, r2, #8 + 1012: 4332 orrs r2, r6 + 1014: 0014 movs r4, r2 new_genctrl_config |= GCLK_GENCTRL_DIVSEL; - fae: 2380 movs r3, #128 ; 0x80 - fb0: 035b lsls r3, r3, #13 - fb2: 431d orrs r5, r3 + 1016: 2380 movs r3, #128 ; 0x80 + 1018: 035b lsls r3, r3, #13 + 101a: 431d orrs r5, r3 } } /* Enable or disable the clock in standby mode */ if (config->run_in_standby) { - fb4: 7a0b ldrb r3, [r1, #8] - fb6: 2b00 cmp r3, #0 - fb8: d002 beq.n fc0 + 101c: 7a0b ldrb r3, [r1, #8] + 101e: 2b00 cmp r3, #0 + 1020: d002 beq.n 1028 new_genctrl_config |= GCLK_GENCTRL_RUNSTDBY; - fba: 2380 movs r3, #128 ; 0x80 - fbc: 039b lsls r3, r3, #14 - fbe: 431d orrs r5, r3 + 1022: 2380 movs r3, #128 ; 0x80 + 1024: 039b lsls r3, r3, #14 + 1026: 431d orrs r5, r3 if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - fc0: 4a13 ldr r2, [pc, #76] ; (1010 ) - fc2: 7853 ldrb r3, [r2, #1] + 1028: 4a13 ldr r2, [pc, #76] ; (1078 ) + 102a: 7853 ldrb r3, [r2, #1] } while (system_gclk_is_syncing()) { - fc4: b25b sxtb r3, r3 - fc6: 2b00 cmp r3, #0 - fc8: dbfb blt.n fc2 + 102c: b25b sxtb r3, r3 + 102e: 2b00 cmp r3, #0 + 1030: dbfb blt.n 102a cpu_irq_enter_critical(); - fca: 4b12 ldr r3, [pc, #72] ; (1014 ) - fcc: 4798 blx r3 + 1032: 4b12 ldr r3, [pc, #72] ; (107c ) + 1034: 4798 blx r3 }; system_interrupt_enter_critical_section(); /* Select the correct generator */ *((uint8_t*)&GCLK->GENDIV.reg) = generator; - fce: 4b12 ldr r3, [pc, #72] ; (1018 ) - fd0: 701e strb r6, [r3, #0] + 1036: 4b12 ldr r3, [pc, #72] ; (1080 ) + 1038: 701e strb r6, [r3, #0] if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - fd2: 4a0f ldr r2, [pc, #60] ; (1010 ) - fd4: 7853 ldrb r3, [r2, #1] + 103a: 4a0f ldr r2, [pc, #60] ; (1078 ) + 103c: 7853 ldrb r3, [r2, #1] /* Write the new generator configuration */ while (system_gclk_is_syncing()) { - fd6: b25b sxtb r3, r3 - fd8: 2b00 cmp r3, #0 - fda: dbfb blt.n fd4 + 103e: b25b sxtb r3, r3 + 1040: 2b00 cmp r3, #0 + 1042: dbfb blt.n 103c /* Wait for synchronization */ }; GCLK->GENDIV.reg = new_gendiv_config; - fdc: 4b0c ldr r3, [pc, #48] ; (1010 ) - fde: 609c str r4, [r3, #8] + 1044: 4b0c ldr r3, [pc, #48] ; (1078 ) + 1046: 609c str r4, [r3, #8] if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - fe0: 001a movs r2, r3 - fe2: 7853 ldrb r3, [r2, #1] + 1048: 001a movs r2, r3 + 104a: 7853 ldrb r3, [r2, #1] while (system_gclk_is_syncing()) { - fe4: b25b sxtb r3, r3 - fe6: 2b00 cmp r3, #0 - fe8: dbfb blt.n fe2 + 104c: b25b sxtb r3, r3 + 104e: 2b00 cmp r3, #0 + 1050: dbfb blt.n 104a /* Wait for synchronization */ }; GCLK->GENCTRL.reg = new_genctrl_config | (GCLK->GENCTRL.reg & GCLK_GENCTRL_GENEN); - fea: 4a09 ldr r2, [pc, #36] ; (1010 ) - fec: 6853 ldr r3, [r2, #4] - fee: 2180 movs r1, #128 ; 0x80 - ff0: 0249 lsls r1, r1, #9 - ff2: 400b ands r3, r1 - ff4: 431d orrs r5, r3 - ff6: 6055 str r5, [r2, #4] + 1052: 4a09 ldr r2, [pc, #36] ; (1078 ) + 1054: 6853 ldr r3, [r2, #4] + 1056: 2180 movs r1, #128 ; 0x80 + 1058: 0249 lsls r1, r1, #9 + 105a: 400b ands r3, r1 + 105c: 431d orrs r5, r3 + 105e: 6055 str r5, [r2, #4] cpu_irq_leave_critical(); - ff8: 4b08 ldr r3, [pc, #32] ; (101c ) - ffa: 4798 blx r3 + 1060: 4b08 ldr r3, [pc, #32] ; (1084 ) + 1062: 4798 blx r3 system_interrupt_leave_critical_section(); } - ffc: bd70 pop {r4, r5, r6, pc} + 1064: bd70 pop {r4, r5, r6, pc} for (mask = (1UL << 1); mask < config->division_factor; - ffe: 2200 movs r2, #0 - 1000: e7d2 b.n fa8 + 1066: 2200 movs r2, #0 + 1068: e7d2 b.n 1010 (config->division_factor) << GCLK_GENDIV_DIV_Pos; - 1002: 0204 lsls r4, r0, #8 + 106a: 0204 lsls r4, r0, #8 new_gendiv_config |= - 1004: 4334 orrs r4, r6 + 106c: 4334 orrs r4, r6 new_genctrl_config |= GCLK_GENCTRL_IDC; - 1006: 2380 movs r3, #128 ; 0x80 - 1008: 029b lsls r3, r3, #10 - 100a: 431d orrs r5, r3 - 100c: e7d2 b.n fb4 - 100e: 46c0 nop ; (mov r8, r8) - 1010: 40000c00 .word 0x40000c00 - 1014: 00000c45 .word 0x00000c45 - 1018: 40000c08 .word 0x40000c08 - 101c: 00000c85 .word 0x00000c85 - -00001020 : + 106e: 2380 movs r3, #128 ; 0x80 + 1070: 029b lsls r3, r3, #10 + 1072: 431d orrs r5, r3 + 1074: e7d2 b.n 101c + 1076: 46c0 nop ; (mov r8, r8) + 1078: 40000c00 .word 0x40000c00 + 107c: 00000cad .word 0x00000cad + 1080: 40000c08 .word 0x40000c08 + 1084: 00000ced .word 0x00000ced + +00001088 : * * \param[in] generator Generic Clock Generator index to enable */ void system_gclk_gen_enable( const uint8_t generator) { - 1020: b510 push {r4, lr} - 1022: 0004 movs r4, r0 + 1088: b510 push {r4, lr} + 108a: 0004 movs r4, r0 if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - 1024: 4a0b ldr r2, [pc, #44] ; (1054 ) - 1026: 7853 ldrb r3, [r2, #1] + 108c: 4a0b ldr r2, [pc, #44] ; (10bc ) + 108e: 7853 ldrb r3, [r2, #1] while (system_gclk_is_syncing()) { - 1028: b25b sxtb r3, r3 - 102a: 2b00 cmp r3, #0 - 102c: dbfb blt.n 1026 + 1090: b25b sxtb r3, r3 + 1092: 2b00 cmp r3, #0 + 1094: dbfb blt.n 108e cpu_irq_enter_critical(); - 102e: 4b0a ldr r3, [pc, #40] ; (1058 ) - 1030: 4798 blx r3 + 1096: 4b0a ldr r3, [pc, #40] ; (10c0 ) + 1098: 4798 blx r3 }; system_interrupt_enter_critical_section(); /* Select the requested generator */ *((uint8_t*)&GCLK->GENCTRL.reg) = generator; - 1032: 4b0a ldr r3, [pc, #40] ; (105c ) - 1034: 701c strb r4, [r3, #0] + 109a: 4b0a ldr r3, [pc, #40] ; (10c4 ) + 109c: 701c strb r4, [r3, #0] if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - 1036: 4a07 ldr r2, [pc, #28] ; (1054 ) - 1038: 7853 ldrb r3, [r2, #1] + 109e: 4a07 ldr r2, [pc, #28] ; (10bc ) + 10a0: 7853 ldrb r3, [r2, #1] while (system_gclk_is_syncing()) { - 103a: b25b sxtb r3, r3 - 103c: 2b00 cmp r3, #0 - 103e: dbfb blt.n 1038 + 10a2: b25b sxtb r3, r3 + 10a4: 2b00 cmp r3, #0 + 10a6: dbfb blt.n 10a0 /* Wait for synchronization */ }; /* Enable generator */ GCLK->GENCTRL.reg |= GCLK_GENCTRL_GENEN; - 1040: 4a04 ldr r2, [pc, #16] ; (1054 ) - 1042: 6851 ldr r1, [r2, #4] - 1044: 2380 movs r3, #128 ; 0x80 - 1046: 025b lsls r3, r3, #9 - 1048: 430b orrs r3, r1 - 104a: 6053 str r3, [r2, #4] + 10a8: 4a04 ldr r2, [pc, #16] ; (10bc ) + 10aa: 6851 ldr r1, [r2, #4] + 10ac: 2380 movs r3, #128 ; 0x80 + 10ae: 025b lsls r3, r3, #9 + 10b0: 430b orrs r3, r1 + 10b2: 6053 str r3, [r2, #4] cpu_irq_leave_critical(); - 104c: 4b04 ldr r3, [pc, #16] ; (1060 ) - 104e: 4798 blx r3 + 10b4: 4b04 ldr r3, [pc, #16] ; (10c8 ) + 10b6: 4798 blx r3 system_interrupt_leave_critical_section(); } - 1050: bd10 pop {r4, pc} - 1052: 46c0 nop ; (mov r8, r8) - 1054: 40000c00 .word 0x40000c00 - 1058: 00000c45 .word 0x00000c45 - 105c: 40000c04 .word 0x40000c04 - 1060: 00000c85 .word 0x00000c85 + 10b8: bd10 pop {r4, pc} + 10ba: 46c0 nop ; (mov r8, r8) + 10bc: 40000c00 .word 0x40000c00 + 10c0: 00000cad .word 0x00000cad + 10c4: 40000c04 .word 0x40000c04 + 10c8: 00000ced .word 0x00000ced -00001064 : +000010cc : * * \return The frequency of the generic clock generator, in Hz. */ uint32_t system_gclk_gen_get_hz( const uint8_t generator) { - 1064: b570 push {r4, r5, r6, lr} - 1066: 0004 movs r4, r0 + 10cc: b570 push {r4, r5, r6, lr} + 10ce: 0004 movs r4, r0 if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - 1068: 4a1a ldr r2, [pc, #104] ; (10d4 ) - 106a: 7853 ldrb r3, [r2, #1] + 10d0: 4a1a ldr r2, [pc, #104] ; (113c ) + 10d2: 7853 ldrb r3, [r2, #1] while (system_gclk_is_syncing()) { - 106c: b25b sxtb r3, r3 - 106e: 2b00 cmp r3, #0 - 1070: dbfb blt.n 106a + 10d4: b25b sxtb r3, r3 + 10d6: 2b00 cmp r3, #0 + 10d8: dbfb blt.n 10d2 cpu_irq_enter_critical(); - 1072: 4b19 ldr r3, [pc, #100] ; (10d8 ) - 1074: 4798 blx r3 + 10da: 4b19 ldr r3, [pc, #100] ; (1140 ) + 10dc: 4798 blx r3 }; system_interrupt_enter_critical_section(); /* Select the appropriate generator */ *((uint8_t*)&GCLK->GENCTRL.reg) = generator; - 1076: 4b19 ldr r3, [pc, #100] ; (10dc ) - 1078: 701c strb r4, [r3, #0] + 10de: 4b19 ldr r3, [pc, #100] ; (1144 ) + 10e0: 701c strb r4, [r3, #0] if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - 107a: 4a16 ldr r2, [pc, #88] ; (10d4 ) - 107c: 7853 ldrb r3, [r2, #1] + 10e2: 4a16 ldr r2, [pc, #88] ; (113c ) + 10e4: 7853 ldrb r3, [r2, #1] while (system_gclk_is_syncing()) { - 107e: b25b sxtb r3, r3 - 1080: 2b00 cmp r3, #0 - 1082: dbfb blt.n 107c + 10e6: b25b sxtb r3, r3 + 10e8: 2b00 cmp r3, #0 + 10ea: dbfb blt.n 10e4 /* Wait for synchronization */ }; /* Get the frequency of the source connected to the GCLK generator */ uint32_t gen_input_hz = system_clock_source_get_hz( (enum system_clock_source)GCLK->GENCTRL.bit.SRC); - 1084: 4e13 ldr r6, [pc, #76] ; (10d4 ) - 1086: 6870 ldr r0, [r6, #4] - 1088: 04c0 lsls r0, r0, #19 - 108a: 0ec0 lsrs r0, r0, #27 + 10ec: 4e13 ldr r6, [pc, #76] ; (113c ) + 10ee: 6870 ldr r0, [r6, #4] + 10f0: 04c0 lsls r0, r0, #19 + 10f2: 0ec0 lsrs r0, r0, #27 uint32_t gen_input_hz = system_clock_source_get_hz( - 108c: 4b14 ldr r3, [pc, #80] ; (10e0 ) - 108e: 4798 blx r3 - 1090: 0005 movs r5, r0 + 10f4: 4b14 ldr r3, [pc, #80] ; (1148 ) + 10f6: 4798 blx r3 + 10f8: 0005 movs r5, r0 *((uint8_t*)&GCLK->GENCTRL.reg) = generator; - 1092: 4b12 ldr r3, [pc, #72] ; (10dc ) - 1094: 701c strb r4, [r3, #0] + 10fa: 4b12 ldr r3, [pc, #72] ; (1144 ) + 10fc: 701c strb r4, [r3, #0] uint8_t divsel = GCLK->GENCTRL.bit.DIVSEL; - 1096: 6876 ldr r6, [r6, #4] - 1098: 02f6 lsls r6, r6, #11 - 109a: 0ff6 lsrs r6, r6, #31 + 10fe: 6876 ldr r6, [r6, #4] + 1100: 02f6 lsls r6, r6, #11 + 1102: 0ff6 lsrs r6, r6, #31 /* Select the appropriate generator division register */ *((uint8_t*)&GCLK->GENDIV.reg) = generator; - 109c: 4b11 ldr r3, [pc, #68] ; (10e4 ) - 109e: 701c strb r4, [r3, #0] + 1104: 4b11 ldr r3, [pc, #68] ; (114c ) + 1106: 701c strb r4, [r3, #0] if (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY){ - 10a0: 4a0c ldr r2, [pc, #48] ; (10d4 ) - 10a2: 7853 ldrb r3, [r2, #1] + 1108: 4a0c ldr r2, [pc, #48] ; (113c ) + 110a: 7853 ldrb r3, [r2, #1] while (system_gclk_is_syncing()) { - 10a4: b25b sxtb r3, r3 - 10a6: 2b00 cmp r3, #0 - 10a8: dbfb blt.n 10a2 + 110c: b25b sxtb r3, r3 + 110e: 2b00 cmp r3, #0 + 1110: dbfb blt.n 110a /* Wait for synchronization */ }; uint32_t divider = GCLK->GENDIV.bit.DIV; - 10aa: 4b0a ldr r3, [pc, #40] ; (10d4 ) - 10ac: 689c ldr r4, [r3, #8] - 10ae: 0224 lsls r4, r4, #8 - 10b0: 0c24 lsrs r4, r4, #16 + 1112: 4b0a ldr r3, [pc, #40] ; (113c ) + 1114: 689c ldr r4, [r3, #8] + 1116: 0224 lsls r4, r4, #8 + 1118: 0c24 lsrs r4, r4, #16 cpu_irq_leave_critical(); - 10b2: 4b0d ldr r3, [pc, #52] ; (10e8 ) - 10b4: 4798 blx r3 + 111a: 4b0d ldr r3, [pc, #52] ; (1150 ) + 111c: 4798 blx r3 system_interrupt_leave_critical_section(); /* Check if the generator is using fractional or binary division */ if (!divsel && divider > 1) { - 10b6: 2e00 cmp r6, #0 - 10b8: d107 bne.n 10ca - 10ba: 2c01 cmp r4, #1 - 10bc: d907 bls.n 10ce + 111e: 2e00 cmp r6, #0 + 1120: d107 bne.n 1132 + 1122: 2c01 cmp r4, #1 + 1124: d907 bls.n 1136 gen_input_hz /= divider; - 10be: 0021 movs r1, r4 - 10c0: 0028 movs r0, r5 - 10c2: 4b0a ldr r3, [pc, #40] ; (10ec ) - 10c4: 4798 blx r3 - 10c6: 0005 movs r5, r0 - 10c8: e001 b.n 10ce + 1126: 0021 movs r1, r4 + 1128: 0028 movs r0, r5 + 112a: 4b0a ldr r3, [pc, #40] ; (1154 ) + 112c: 4798 blx r3 + 112e: 0005 movs r5, r0 + 1130: e001 b.n 1136 } else if (divsel) { gen_input_hz >>= (divider+1); - 10ca: 3401 adds r4, #1 - 10cc: 40e5 lsrs r5, r4 + 1132: 3401 adds r4, #1 + 1134: 40e5 lsrs r5, r4 } return gen_input_hz; } - 10ce: 0028 movs r0, r5 - 10d0: bd70 pop {r4, r5, r6, pc} - 10d2: 46c0 nop ; (mov r8, r8) - 10d4: 40000c00 .word 0x40000c00 - 10d8: 00000c45 .word 0x00000c45 - 10dc: 40000c04 .word 0x40000c04 - 10e0: 00000d35 .word 0x00000d35 - 10e4: 40000c08 .word 0x40000c08 - 10e8: 00000c85 .word 0x00000c85 - 10ec: 00017961 .word 0x00017961 - -000010f0 : + 1136: 0028 movs r0, r5 + 1138: bd70 pop {r4, r5, r6, pc} + 113a: 46c0 nop ; (mov r8, r8) + 113c: 40000c00 .word 0x40000c00 + 1140: 00000cad .word 0x00000cad + 1144: 40000c04 .word 0x40000c04 + 1148: 00000d9d .word 0x00000d9d + 114c: 40000c08 .word 0x40000c08 + 1150: 00000ced .word 0x00000ced + 1154: 000179f1 .word 0x000179f1 + +00001158 : * * \param[in] channel Generic Clock channel to enable */ void system_gclk_chan_enable( const uint8_t channel) { - 10f0: b510 push {r4, lr} - 10f2: 0004 movs r4, r0 + 1158: b510 push {r4, lr} + 115a: 0004 movs r4, r0 cpu_irq_enter_critical(); - 10f4: 4b06 ldr r3, [pc, #24] ; (1110 ) - 10f6: 4798 blx r3 + 115c: 4b06 ldr r3, [pc, #24] ; (1178 ) + 115e: 4798 blx r3 system_interrupt_enter_critical_section(); /* Select the requested generator channel */ *((uint8_t*)&GCLK->CLKCTRL.reg) = channel; - 10f8: 4b06 ldr r3, [pc, #24] ; (1114 ) - 10fa: 701c strb r4, [r3, #0] + 1160: 4b06 ldr r3, [pc, #24] ; (117c ) + 1162: 701c strb r4, [r3, #0] /* Enable the generic clock */ GCLK->CLKCTRL.reg |= GCLK_CLKCTRL_CLKEN; - 10fc: 4a06 ldr r2, [pc, #24] ; (1118 ) - 10fe: 8853 ldrh r3, [r2, #2] - 1100: 2180 movs r1, #128 ; 0x80 - 1102: 01c9 lsls r1, r1, #7 - 1104: 430b orrs r3, r1 - 1106: 8053 strh r3, [r2, #2] + 1164: 4a06 ldr r2, [pc, #24] ; (1180 ) + 1166: 8853 ldrh r3, [r2, #2] + 1168: 2180 movs r1, #128 ; 0x80 + 116a: 01c9 lsls r1, r1, #7 + 116c: 430b orrs r3, r1 + 116e: 8053 strh r3, [r2, #2] cpu_irq_leave_critical(); - 1108: 4b04 ldr r3, [pc, #16] ; (111c ) - 110a: 4798 blx r3 + 1170: 4b04 ldr r3, [pc, #16] ; (1184 ) + 1172: 4798 blx r3 system_interrupt_leave_critical_section(); } - 110c: bd10 pop {r4, pc} - 110e: 46c0 nop ; (mov r8, r8) - 1110: 00000c45 .word 0x00000c45 - 1114: 40000c02 .word 0x40000c02 - 1118: 40000c00 .word 0x40000c00 - 111c: 00000c85 .word 0x00000c85 + 1174: bd10 pop {r4, pc} + 1176: 46c0 nop ; (mov r8, r8) + 1178: 00000cad .word 0x00000cad + 117c: 40000c02 .word 0x40000c02 + 1180: 40000c00 .word 0x40000c00 + 1184: 00000ced .word 0x00000ced -00001120 : +00001188 : * * \param[in] channel Generic Clock channel to disable */ void system_gclk_chan_disable( const uint8_t channel) { - 1120: b510 push {r4, lr} - 1122: 0004 movs r4, r0 + 1188: b510 push {r4, lr} + 118a: 0004 movs r4, r0 cpu_irq_enter_critical(); - 1124: 4b0f ldr r3, [pc, #60] ; (1164 ) - 1126: 4798 blx r3 + 118c: 4b0f ldr r3, [pc, #60] ; (11cc ) + 118e: 4798 blx r3 system_interrupt_enter_critical_section(); /* Select the requested generator channel */ *((uint8_t*)&GCLK->CLKCTRL.reg) = channel; - 1128: 4b0f ldr r3, [pc, #60] ; (1168 ) - 112a: 701c strb r4, [r3, #0] + 1190: 4b0f ldr r3, [pc, #60] ; (11d0 ) + 1192: 701c strb r4, [r3, #0] /* Sanity check WRTLOCK */ Assert(!GCLK->CLKCTRL.bit.WRTLOCK); /* Switch to known-working source so that the channel can be disabled */ uint32_t prev_gen_id = GCLK->CLKCTRL.bit.GEN; - 112c: 4a0f ldr r2, [pc, #60] ; (116c ) - 112e: 8853 ldrh r3, [r2, #2] - 1130: 051b lsls r3, r3, #20 - 1132: 0f18 lsrs r0, r3, #28 + 1194: 4a0f ldr r2, [pc, #60] ; (11d4 ) + 1196: 8853 ldrh r3, [r2, #2] + 1198: 051b lsls r3, r3, #20 + 119a: 0f18 lsrs r0, r3, #28 GCLK->CLKCTRL.bit.GEN = 0; - 1134: 8853 ldrh r3, [r2, #2] - 1136: 490e ldr r1, [pc, #56] ; (1170 ) - 1138: 400b ands r3, r1 - 113a: 8053 strh r3, [r2, #2] + 119c: 8853 ldrh r3, [r2, #2] + 119e: 490e ldr r1, [pc, #56] ; (11d8 ) + 11a0: 400b ands r3, r1 + 11a2: 8053 strh r3, [r2, #2] /* Disable the generic clock */ GCLK->CLKCTRL.reg &= ~GCLK_CLKCTRL_CLKEN; - 113c: 8853 ldrh r3, [r2, #2] - 113e: 490d ldr r1, [pc, #52] ; (1174 ) - 1140: 400b ands r3, r1 - 1142: 8053 strh r3, [r2, #2] + 11a4: 8853 ldrh r3, [r2, #2] + 11a6: 490d ldr r1, [pc, #52] ; (11dc ) + 11a8: 400b ands r3, r1 + 11aa: 8053 strh r3, [r2, #2] while (GCLK->CLKCTRL.reg & GCLK_CLKCTRL_CLKEN) { - 1144: 0011 movs r1, r2 - 1146: 2280 movs r2, #128 ; 0x80 - 1148: 01d2 lsls r2, r2, #7 - 114a: 884b ldrh r3, [r1, #2] - 114c: 4213 tst r3, r2 - 114e: d1fc bne.n 114a + 11ac: 0011 movs r1, r2 + 11ae: 2280 movs r2, #128 ; 0x80 + 11b0: 01d2 lsls r2, r2, #7 + 11b2: 884b ldrh r3, [r1, #2] + 11b4: 4213 tst r3, r2 + 11b6: d1fc bne.n 11b2 /* Wait for clock to become disabled */ } /* Restore previous configured clock generator */ GCLK->CLKCTRL.bit.GEN = prev_gen_id; - 1150: 4906 ldr r1, [pc, #24] ; (116c ) - 1152: 884a ldrh r2, [r1, #2] - 1154: 0203 lsls r3, r0, #8 - 1156: 4806 ldr r0, [pc, #24] ; (1170 ) - 1158: 4002 ands r2, r0 - 115a: 4313 orrs r3, r2 - 115c: 804b strh r3, [r1, #2] + 11b8: 4906 ldr r1, [pc, #24] ; (11d4 ) + 11ba: 884a ldrh r2, [r1, #2] + 11bc: 0203 lsls r3, r0, #8 + 11be: 4806 ldr r0, [pc, #24] ; (11d8 ) + 11c0: 4002 ands r2, r0 + 11c2: 4313 orrs r3, r2 + 11c4: 804b strh r3, [r1, #2] cpu_irq_leave_critical(); - 115e: 4b06 ldr r3, [pc, #24] ; (1178 ) - 1160: 4798 blx r3 + 11c6: 4b06 ldr r3, [pc, #24] ; (11e0 ) + 11c8: 4798 blx r3 system_interrupt_leave_critical_section(); } - 1162: bd10 pop {r4, pc} - 1164: 00000c45 .word 0x00000c45 - 1168: 40000c02 .word 0x40000c02 - 116c: 40000c00 .word 0x40000c00 - 1170: fffff0ff .word 0xfffff0ff - 1174: ffffbfff .word 0xffffbfff - 1178: 00000c85 .word 0x00000c85 + 11ca: bd10 pop {r4, pc} + 11cc: 00000cad .word 0x00000cad + 11d0: 40000c02 .word 0x40000c02 + 11d4: 40000c00 .word 0x40000c00 + 11d8: fffff0ff .word 0xfffff0ff + 11dc: ffffbfff .word 0xffffbfff + 11e0: 00000ced .word 0x00000ced -0000117c : +000011e4 : { - 117c: b510 push {r4, lr} + 11e4: b510 push {r4, lr} new_clkctrl_config |= config->source_generator << GCLK_CLKCTRL_GEN_Pos; - 117e: 780c ldrb r4, [r1, #0] - 1180: 0224 lsls r4, r4, #8 - 1182: 4304 orrs r4, r0 + 11e6: 780c ldrb r4, [r1, #0] + 11e8: 0224 lsls r4, r4, #8 + 11ea: 4304 orrs r4, r0 system_gclk_chan_disable(channel); - 1184: 4b02 ldr r3, [pc, #8] ; (1190 ) - 1186: 4798 blx r3 + 11ec: 4b02 ldr r3, [pc, #8] ; (11f8 ) + 11ee: 4798 blx r3 GCLK->CLKCTRL.reg = new_clkctrl_config; - 1188: b2a4 uxth r4, r4 - 118a: 4b02 ldr r3, [pc, #8] ; (1194 ) - 118c: 805c strh r4, [r3, #2] + 11f0: b2a4 uxth r4, r4 + 11f2: 4b02 ldr r3, [pc, #8] ; (11fc ) + 11f4: 805c strh r4, [r3, #2] } - 118e: bd10 pop {r4, pc} - 1190: 00001121 .word 0x00001121 - 1194: 40000c00 .word 0x40000c00 + 11f6: bd10 pop {r4, pc} + 11f8: 00001189 .word 0x00001189 + 11fc: 40000c00 .word 0x40000c00 -00001198 : +00001200 : * * \return The frequency of the generic clock channel, in Hz. */ uint32_t system_gclk_chan_get_hz( const uint8_t channel) { - 1198: b510 push {r4, lr} - 119a: 0004 movs r4, r0 + 1200: b510 push {r4, lr} + 1202: 0004 movs r4, r0 cpu_irq_enter_critical(); - 119c: 4b06 ldr r3, [pc, #24] ; (11b8 ) - 119e: 4798 blx r3 + 1204: 4b06 ldr r3, [pc, #24] ; (1220 ) + 1206: 4798 blx r3 uint8_t gen_id; system_interrupt_enter_critical_section(); /* Select the requested generic clock channel */ *((uint8_t*)&GCLK->CLKCTRL.reg) = channel; - 11a0: 4b06 ldr r3, [pc, #24] ; (11bc ) - 11a2: 701c strb r4, [r3, #0] + 1208: 4b06 ldr r3, [pc, #24] ; (1224 ) + 120a: 701c strb r4, [r3, #0] gen_id = GCLK->CLKCTRL.bit.GEN; - 11a4: 4b06 ldr r3, [pc, #24] ; (11c0 ) - 11a6: 885c ldrh r4, [r3, #2] - 11a8: 0524 lsls r4, r4, #20 - 11aa: 0f24 lsrs r4, r4, #28 + 120c: 4b06 ldr r3, [pc, #24] ; (1228 ) + 120e: 885c ldrh r4, [r3, #2] + 1210: 0524 lsls r4, r4, #20 + 1212: 0f24 lsrs r4, r4, #28 cpu_irq_leave_critical(); - 11ac: 4b05 ldr r3, [pc, #20] ; (11c4 ) - 11ae: 4798 blx r3 + 1214: 4b05 ldr r3, [pc, #20] ; (122c ) + 1216: 4798 blx r3 system_interrupt_leave_critical_section(); /* Return the clock speed of the associated GCLK generator */ return system_gclk_gen_get_hz(gen_id); - 11b0: 0020 movs r0, r4 - 11b2: 4b05 ldr r3, [pc, #20] ; (11c8 ) - 11b4: 4798 blx r3 -} - 11b6: bd10 pop {r4, pc} - 11b8: 00000c45 .word 0x00000c45 - 11bc: 40000c02 .word 0x40000c02 - 11c0: 40000c00 .word 0x40000c00 - 11c4: 00000c85 .word 0x00000c85 - 11c8: 00001065 .word 0x00001065 - -000011cc <_system_pinmux_config>: + 1218: 0020 movs r0, r4 + 121a: 4b05 ldr r3, [pc, #20] ; (1230 ) + 121c: 4798 blx r3 +} + 121e: bd10 pop {r4, pc} + 1220: 00000cad .word 0x00000cad + 1224: 40000c02 .word 0x40000c02 + 1228: 40000c00 .word 0x40000c00 + 122c: 00000ced .word 0x00000ced + 1230: 000010cd .word 0x000010cd + +00001234 <_system_pinmux_config>: */ static void _system_pinmux_config( PortGroup *const port, const uint32_t pin_mask, const struct system_pinmux_config *const config) { - 11cc: b530 push {r4, r5, lr} + 1234: b530 push {r4, r5, lr} /* Track the configuration bits into a temporary variable before writing */ uint32_t pin_cfg = 0; /* Enabled powersave mode, don't create configuration */ if (!config->powersave) { - 11ce: 78d3 ldrb r3, [r2, #3] - 11d0: 2b00 cmp r3, #0 - 11d2: d135 bne.n 1240 <_system_pinmux_config+0x74> + 1236: 78d3 ldrb r3, [r2, #3] + 1238: 2b00 cmp r3, #0 + 123a: d135 bne.n 12a8 <_system_pinmux_config+0x74> /* Enable the pin peripheral MUX flag if non-GPIO selected (pinmux will * be written later) and store the new MUX mask */ if (config->mux_position != SYSTEM_PINMUX_GPIO) { - 11d4: 7813 ldrb r3, [r2, #0] - 11d6: 2b80 cmp r3, #128 ; 0x80 - 11d8: d029 beq.n 122e <_system_pinmux_config+0x62> + 123c: 7813 ldrb r3, [r2, #0] + 123e: 2b80 cmp r3, #128 ; 0x80 + 1240: d029 beq.n 1296 <_system_pinmux_config+0x62> pin_cfg |= PORT_WRCONFIG_PMUXEN; pin_cfg |= (config->mux_position << PORT_WRCONFIG_PMUX_Pos); - 11da: 061b lsls r3, r3, #24 - 11dc: 2480 movs r4, #128 ; 0x80 - 11de: 0264 lsls r4, r4, #9 - 11e0: 4323 orrs r3, r4 + 1242: 061b lsls r3, r3, #24 + 1244: 2480 movs r4, #128 ; 0x80 + 1246: 0264 lsls r4, r4, #9 + 1248: 4323 orrs r3, r4 } /* Check if the user has requested that the input buffer be enabled */ if ((config->direction == SYSTEM_PINMUX_PIN_DIR_INPUT) || - 11e2: 7854 ldrb r4, [r2, #1] - 11e4: 2502 movs r5, #2 - 11e6: 43ac bics r4, r5 - 11e8: d106 bne.n 11f8 <_system_pinmux_config+0x2c> + 124a: 7854 ldrb r4, [r2, #1] + 124c: 2502 movs r5, #2 + 124e: 43ac bics r4, r5 + 1250: d106 bne.n 1260 <_system_pinmux_config+0x2c> (config->direction == SYSTEM_PINMUX_PIN_DIR_OUTPUT_WITH_READBACK)) { /* Enable input buffer flag */ pin_cfg |= PORT_WRCONFIG_INEN; /* Enable pull-up/pull-down control flag if requested */ if (config->input_pull != SYSTEM_PINMUX_PIN_PULL_NONE) { - 11ea: 7894 ldrb r4, [r2, #2] - 11ec: 2c00 cmp r4, #0 - 11ee: d120 bne.n 1232 <_system_pinmux_config+0x66> + 1252: 7894 ldrb r4, [r2, #2] + 1254: 2c00 cmp r4, #0 + 1256: d120 bne.n 129a <_system_pinmux_config+0x66> pin_cfg |= PORT_WRCONFIG_INEN; - 11f0: 2480 movs r4, #128 ; 0x80 - 11f2: 02a4 lsls r4, r4, #10 - 11f4: 4323 orrs r3, r4 + 1258: 2480 movs r4, #128 ; 0x80 + 125a: 02a4 lsls r4, r4, #10 + 125c: 4323 orrs r3, r4 pin_cfg |= PORT_WRCONFIG_PULLEN; } /* Clear the port DIR bits to disable the output buffer */ port->DIRCLR.reg = pin_mask; - 11f6: 6041 str r1, [r0, #4] + 125e: 6041 str r1, [r0, #4] } /* Check if the user has requested that the output buffer be enabled */ if ((config->direction == SYSTEM_PINMUX_PIN_DIR_OUTPUT) || - 11f8: 7854 ldrb r4, [r2, #1] - 11fa: 3c01 subs r4, #1 - 11fc: 2c01 cmp r4, #1 - 11fe: d91c bls.n 123a <_system_pinmux_config+0x6e> + 1260: 7854 ldrb r4, [r2, #1] + 1262: 3c01 subs r4, #1 + 1264: 2c01 cmp r4, #1 + 1266: d91c bls.n 12a2 <_system_pinmux_config+0x6e> port->DIRCLR.reg = pin_mask; } /* The Write Configuration register (WRCONFIG) requires the * pins to to grouped into two 16-bit half-words - split them out here */ uint32_t lower_pin_mask = (pin_mask & 0xFFFF); - 1200: 040d lsls r5, r1, #16 - 1202: 0c2d lsrs r5, r5, #16 + 1268: 040d lsls r5, r1, #16 + 126a: 0c2d lsrs r5, r5, #16 /* Configure the lower 16-bits of the port to the desired configuration, * including the pin peripheral multiplexer just in case it is enabled */ port->WRCONFIG.reg = (lower_pin_mask << PORT_WRCONFIG_PINMASK_Pos) | pin_cfg | PORT_WRCONFIG_WRPMUX | PORT_WRCONFIG_WRPINCFG; - 1204: 24a0 movs r4, #160 ; 0xa0 - 1206: 05e4 lsls r4, r4, #23 - 1208: 432c orrs r4, r5 - 120a: 431c orrs r4, r3 + 126c: 24a0 movs r4, #160 ; 0xa0 + 126e: 05e4 lsls r4, r4, #23 + 1270: 432c orrs r4, r5 + 1272: 431c orrs r4, r3 = (lower_pin_mask << PORT_WRCONFIG_PINMASK_Pos) | - 120c: 6284 str r4, [r0, #40] ; 0x28 + 1274: 6284 str r4, [r0, #40] ; 0x28 uint32_t upper_pin_mask = (pin_mask >> 16); - 120e: 0c0d lsrs r5, r1, #16 + 1276: 0c0d lsrs r5, r1, #16 /* Configure the upper 16-bits of the port to the desired configuration, * including the pin peripheral multiplexer just in case it is enabled */ port->WRCONFIG.reg = (upper_pin_mask << PORT_WRCONFIG_PINMASK_Pos) | pin_cfg | PORT_WRCONFIG_WRPMUX | PORT_WRCONFIG_WRPINCFG | - 1210: 24d0 movs r4, #208 ; 0xd0 - 1212: 0624 lsls r4, r4, #24 - 1214: 432c orrs r4, r5 - 1216: 431c orrs r4, r3 + 1278: 24d0 movs r4, #208 ; 0xd0 + 127a: 0624 lsls r4, r4, #24 + 127c: 432c orrs r4, r5 + 127e: 431c orrs r4, r3 = (upper_pin_mask << PORT_WRCONFIG_PINMASK_Pos) | - 1218: 6284 str r4, [r0, #40] ; 0x28 + 1280: 6284 str r4, [r0, #40] ; 0x28 PORT_WRCONFIG_HWSEL; if(!config->powersave) { - 121a: 78d4 ldrb r4, [r2, #3] - 121c: 2c00 cmp r4, #0 - 121e: d122 bne.n 1266 <_system_pinmux_config+0x9a> + 1282: 78d4 ldrb r4, [r2, #3] + 1284: 2c00 cmp r4, #0 + 1286: d122 bne.n 12ce <_system_pinmux_config+0x9a> /* Set the pull-up state once the port pins are configured if one was * requested and it does not violate the valid set of port * configurations */ if (pin_cfg & PORT_WRCONFIG_PULLEN) { - 1220: 035b lsls r3, r3, #13 - 1222: d51c bpl.n 125e <_system_pinmux_config+0x92> + 1288: 035b lsls r3, r3, #13 + 128a: d51c bpl.n 12c6 <_system_pinmux_config+0x92> /* Set the OUT register bits to enable the pull-up if requested, * clear to enable pull-down */ if (config->input_pull == SYSTEM_PINMUX_PIN_PULL_UP) { - 1224: 7893 ldrb r3, [r2, #2] - 1226: 2b01 cmp r3, #1 - 1228: d01e beq.n 1268 <_system_pinmux_config+0x9c> + 128c: 7893 ldrb r3, [r2, #2] + 128e: 2b01 cmp r3, #1 + 1290: d01e beq.n 12d0 <_system_pinmux_config+0x9c> port->OUTSET.reg = pin_mask; } else { port->OUTCLR.reg = pin_mask; - 122a: 6141 str r1, [r0, #20] - 122c: e017 b.n 125e <_system_pinmux_config+0x92> + 1292: 6141 str r1, [r0, #20] + 1294: e017 b.n 12c6 <_system_pinmux_config+0x92> uint32_t pin_cfg = 0; - 122e: 2300 movs r3, #0 - 1230: e7d7 b.n 11e2 <_system_pinmux_config+0x16> + 1296: 2300 movs r3, #0 + 1298: e7d7 b.n 124a <_system_pinmux_config+0x16> pin_cfg |= PORT_WRCONFIG_PULLEN; - 1232: 24c0 movs r4, #192 ; 0xc0 - 1234: 02e4 lsls r4, r4, #11 - 1236: 4323 orrs r3, r4 - 1238: e7dd b.n 11f6 <_system_pinmux_config+0x2a> + 129a: 24c0 movs r4, #192 ; 0xc0 + 129c: 02e4 lsls r4, r4, #11 + 129e: 4323 orrs r3, r4 + 12a0: e7dd b.n 125e <_system_pinmux_config+0x2a> pin_cfg &= ~PORT_WRCONFIG_PULLEN; - 123a: 4c0d ldr r4, [pc, #52] ; (1270 <_system_pinmux_config+0xa4>) - 123c: 4023 ands r3, r4 - 123e: e7df b.n 1200 <_system_pinmux_config+0x34> + 12a2: 4c0d ldr r4, [pc, #52] ; (12d8 <_system_pinmux_config+0xa4>) + 12a4: 4023 ands r3, r4 + 12a6: e7df b.n 1268 <_system_pinmux_config+0x34> port->DIRCLR.reg = pin_mask; - 1240: 6041 str r1, [r0, #4] + 12a8: 6041 str r1, [r0, #4] uint32_t lower_pin_mask = (pin_mask & 0xFFFF); - 1242: 040c lsls r4, r1, #16 - 1244: 0c24 lsrs r4, r4, #16 + 12aa: 040c lsls r4, r1, #16 + 12ac: 0c24 lsrs r4, r4, #16 pin_cfg | PORT_WRCONFIG_WRPMUX | PORT_WRCONFIG_WRPINCFG; - 1246: 23a0 movs r3, #160 ; 0xa0 - 1248: 05db lsls r3, r3, #23 - 124a: 4323 orrs r3, r4 + 12ae: 23a0 movs r3, #160 ; 0xa0 + 12b0: 05db lsls r3, r3, #23 + 12b2: 4323 orrs r3, r4 = (lower_pin_mask << PORT_WRCONFIG_PINMASK_Pos) | - 124c: 6283 str r3, [r0, #40] ; 0x28 + 12b4: 6283 str r3, [r0, #40] ; 0x28 uint32_t upper_pin_mask = (pin_mask >> 16); - 124e: 0c0c lsrs r4, r1, #16 + 12b6: 0c0c lsrs r4, r1, #16 pin_cfg | PORT_WRCONFIG_WRPMUX | PORT_WRCONFIG_WRPINCFG | - 1250: 23d0 movs r3, #208 ; 0xd0 - 1252: 061b lsls r3, r3, #24 - 1254: 4323 orrs r3, r4 + 12b8: 23d0 movs r3, #208 ; 0xd0 + 12ba: 061b lsls r3, r3, #24 + 12bc: 4323 orrs r3, r4 = (upper_pin_mask << PORT_WRCONFIG_PINMASK_Pos) | - 1256: 6283 str r3, [r0, #40] ; 0x28 + 12be: 6283 str r3, [r0, #40] ; 0x28 if(!config->powersave) { - 1258: 78d3 ldrb r3, [r2, #3] - 125a: 2b00 cmp r3, #0 - 125c: d103 bne.n 1266 <_system_pinmux_config+0x9a> + 12c0: 78d3 ldrb r3, [r2, #3] + 12c2: 2b00 cmp r3, #0 + 12c4: d103 bne.n 12ce <_system_pinmux_config+0x9a> } } /* Check if the user has requested that the output buffer be enabled */ if ((config->direction == SYSTEM_PINMUX_PIN_DIR_OUTPUT) || - 125e: 7853 ldrb r3, [r2, #1] - 1260: 3b01 subs r3, #1 - 1262: 2b01 cmp r3, #1 - 1264: d902 bls.n 126c <_system_pinmux_config+0xa0> + 12c6: 7853 ldrb r3, [r2, #1] + 12c8: 3b01 subs r3, #1 + 12ca: 2b01 cmp r3, #1 + 12cc: d902 bls.n 12d4 <_system_pinmux_config+0xa0> (config->direction == SYSTEM_PINMUX_PIN_DIR_OUTPUT_WITH_READBACK)) { /* Set the port DIR bits to enable the output buffer */ port->DIRSET.reg = pin_mask; } } } - 1266: bd30 pop {r4, r5, pc} + 12ce: bd30 pop {r4, r5, pc} port->OUTSET.reg = pin_mask; - 1268: 6181 str r1, [r0, #24] - 126a: e7f8 b.n 125e <_system_pinmux_config+0x92> + 12d0: 6181 str r1, [r0, #24] + 12d2: e7f8 b.n 12c6 <_system_pinmux_config+0x92> port->DIRSET.reg = pin_mask; - 126c: 6081 str r1, [r0, #8] + 12d4: 6081 str r1, [r0, #8] } - 126e: e7fa b.n 1266 <_system_pinmux_config+0x9a> - 1270: fffbffff .word 0xfffbffff + 12d6: e7fa b.n 12ce <_system_pinmux_config+0x9a> + 12d8: fffbffff .word 0xfffbffff -00001274 : +000012dc : * \param[in] config Configuration settings for the pin */ void system_pinmux_pin_set_config( const uint8_t gpio_pin, const struct system_pinmux_config *const config) { - 1274: b510 push {r4, lr} - 1276: 000a movs r2, r1 + 12dc: b510 push {r4, lr} + 12de: 000a movs r2, r1 uint8_t group_index = (gpio_pin / 32); /* Array of available ports */ Port *const ports[PORT_INST_NUM] = PORT_INSTS; if (port_index < PORT_INST_NUM) { - 1278: 09c1 lsrs r1, r0, #7 + 12e0: 09c1 lsrs r1, r0, #7 return &(ports[port_index]->Group[group_index]); } else { Assert(false); return NULL; - 127a: 2300 movs r3, #0 + 12e2: 2300 movs r3, #0 if (port_index < PORT_INST_NUM) { - 127c: 2900 cmp r1, #0 - 127e: d104 bne.n 128a + 12e4: 2900 cmp r1, #0 + 12e6: d104 bne.n 12f2 return &(ports[port_index]->Group[group_index]); - 1280: 0943 lsrs r3, r0, #5 - 1282: 01db lsls r3, r3, #7 - 1284: 4905 ldr r1, [pc, #20] ; (129c ) - 1286: 468c mov ip, r1 - 1288: 4463 add r3, ip + 12e8: 0943 lsrs r3, r0, #5 + 12ea: 01db lsls r3, r3, #7 + 12ec: 4905 ldr r1, [pc, #20] ; (1304 ) + 12ee: 468c mov ip, r1 + 12f0: 4463 add r3, ip PortGroup *const port = system_pinmux_get_group_from_gpio_pin(gpio_pin); uint32_t pin_mask = (1UL << (gpio_pin % 32)); - 128a: 241f movs r4, #31 - 128c: 4020 ands r0, r4 - 128e: 2101 movs r1, #1 - 1290: 4081 lsls r1, r0 + 12f2: 241f movs r4, #31 + 12f4: 4020 ands r0, r4 + 12f6: 2101 movs r1, #1 + 12f8: 4081 lsls r1, r0 _system_pinmux_config(port, pin_mask, config); - 1292: 0018 movs r0, r3 - 1294: 4b02 ldr r3, [pc, #8] ; (12a0 ) - 1296: 4798 blx r3 + 12fa: 0018 movs r0, r3 + 12fc: 4b02 ldr r3, [pc, #8] ; (1308 ) + 12fe: 4798 blx r3 } - 1298: bd10 pop {r4, pc} - 129a: 46c0 nop ; (mov r8, r8) - 129c: 41004400 .word 0x41004400 - 12a0: 000011cd .word 0x000011cd + 1300: bd10 pop {r4, pc} + 1302: 46c0 nop ; (mov r8, r8) + 1304: 41004400 .word 0x41004400 + 1308: 00001235 .word 0x00001235 -000012a4 : +0000130c : */ void system_pinmux_group_set_config( PortGroup *const port, const uint32_t mask, const struct system_pinmux_config *const config) { - 12a4: b5f0 push {r4, r5, r6, r7, lr} - 12a6: b083 sub sp, #12 - 12a8: 9000 str r0, [sp, #0] - 12aa: 000e movs r6, r1 - 12ac: 9201 str r2, [sp, #4] + 130c: b5f0 push {r4, r5, r6, r7, lr} + 130e: b083 sub sp, #12 + 1310: 9000 str r0, [sp, #0] + 1312: 000e movs r6, r1 + 1314: 9201 str r2, [sp, #4] Assert(port); for (int i = 0; i < 32; i++) { - 12ae: 2400 movs r4, #0 + 1316: 2400 movs r4, #0 if (mask & (1UL << i)) { - 12b0: 2701 movs r7, #1 + 1318: 2701 movs r7, #1 _system_pinmux_config(port, (1UL << i), config); - 12b2: 4d08 ldr r5, [pc, #32] ; (12d4 ) - 12b4: e002 b.n 12bc + 131a: 4d08 ldr r5, [pc, #32] ; (133c ) + 131c: e002 b.n 1324 for (int i = 0; i < 32; i++) { - 12b6: 3401 adds r4, #1 - 12b8: 2c20 cmp r4, #32 - 12ba: d009 beq.n 12d0 + 131e: 3401 adds r4, #1 + 1320: 2c20 cmp r4, #32 + 1322: d009 beq.n 1338 if (mask & (1UL << i)) { - 12bc: 0033 movs r3, r6 - 12be: 40e3 lsrs r3, r4 - 12c0: 421f tst r7, r3 - 12c2: d0f8 beq.n 12b6 + 1324: 0033 movs r3, r6 + 1326: 40e3 lsrs r3, r4 + 1328: 421f tst r7, r3 + 132a: d0f8 beq.n 131e _system_pinmux_config(port, (1UL << i), config); - 12c4: 9a01 ldr r2, [sp, #4] - 12c6: 0039 movs r1, r7 - 12c8: 40a1 lsls r1, r4 - 12ca: 9800 ldr r0, [sp, #0] - 12cc: 47a8 blx r5 - 12ce: e7f2 b.n 12b6 + 132c: 9a01 ldr r2, [sp, #4] + 132e: 0039 movs r1, r7 + 1330: 40a1 lsls r1, r4 + 1332: 9800 ldr r0, [sp, #0] + 1334: 47a8 blx r5 + 1336: e7f2 b.n 131e } } } - 12d0: b003 add sp, #12 - 12d2: bdf0 pop {r4, r5, r6, r7, pc} - 12d4: 000011cd .word 0x000011cd + 1338: b003 add sp, #12 + 133a: bdf0 pop {r4, r5, r6, r7, pc} + 133c: 00001235 .word 0x00001235 -000012d8 <_system_dummy_init>: +00001340 <_system_dummy_init>: */ void _system_dummy_init(void); void _system_dummy_init(void) { return; } - 12d8: 4770 bx lr + 1340: 4770 bx lr ... -000012dc : +00001344 : * - Board hardware initialization (via the Board module) * - Event system driver initialization (via the EVSYS module) * - External Interrupt driver initialization (via the EXTINT module) */ void system_init(void) { - 12dc: b510 push {r4, lr} + 1344: b510 push {r4, lr} /* Configure GCLK and clock sources according to conf_clocks.h */ system_clock_init(); - 12de: 4b05 ldr r3, [pc, #20] ; (12f4 ) - 12e0: 4798 blx r3 + 1346: 4b05 ldr r3, [pc, #20] ; (135c ) + 1348: 4798 blx r3 /* Initialize board hardware */ system_board_init(); - 12e2: 4b05 ldr r3, [pc, #20] ; (12f8 ) - 12e4: 4798 blx r3 + 134a: 4b05 ldr r3, [pc, #20] ; (1360 ) + 134c: 4798 blx r3 /* Initialize EVSYS hardware */ _system_events_init(); - 12e6: 4b05 ldr r3, [pc, #20] ; (12fc ) - 12e8: 4798 blx r3 + 134e: 4b05 ldr r3, [pc, #20] ; (1364 ) + 1350: 4798 blx r3 /* Initialize External hardware */ _system_extint_init(); - 12ea: 4b05 ldr r3, [pc, #20] ; (1300 ) - 12ec: 4798 blx r3 + 1352: 4b05 ldr r3, [pc, #20] ; (1368 ) + 1354: 4798 blx r3 /* Initialize DIVAS hardware */ _system_divas_init(); - 12ee: 4b05 ldr r3, [pc, #20] ; (1304 ) - 12f0: 4798 blx r3 + 1356: 4b05 ldr r3, [pc, #20] ; (136c ) + 1358: 4798 blx r3 } - 12f2: bd10 pop {r4, pc} - 12f4: 00000ead .word 0x00000ead - 12f8: 00000cb5 .word 0x00000cb5 - 12fc: 000012d9 .word 0x000012d9 - 1300: 000012d9 .word 0x000012d9 - 1304: 000012d9 .word 0x000012d9 + 135a: bd10 pop {r4, pc} + 135c: 00000f15 .word 0x00000f15 + 1360: 00000d1d .word 0x00000d1d + 1364: 00001341 .word 0x00001341 + 1368: 00001341 .word 0x00001341 + 136c: 00001341 .word 0x00001341 -00001308 : +00001370 : /** * \brief Default interrupt handler for unused IRQs. */ void Dummy_Handler(void) { - 1308: e7fe b.n 1308 + 1370: e7fe b.n 1370 ... -0000130c : +00001374 : { - 130c: b5f8 push {r3, r4, r5, r6, r7, lr} + 1374: b5f8 push {r3, r4, r5, r6, r7, lr} if (pSrc != pDest) { - 130e: 4a2a ldr r2, [pc, #168] ; (13b8 ) - 1310: 4b2a ldr r3, [pc, #168] ; (13bc ) - 1312: 429a cmp r2, r3 - 1314: d011 beq.n 133a + 1376: 4a2a ldr r2, [pc, #168] ; (1420 ) + 1378: 4b2a ldr r3, [pc, #168] ; (1424 ) + 137a: 429a cmp r2, r3 + 137c: d011 beq.n 13a2 for (; pDest < &_erelocate;) { - 1316: 001a movs r2, r3 - 1318: 4b29 ldr r3, [pc, #164] ; (13c0 ) - 131a: 429a cmp r2, r3 - 131c: d20d bcs.n 133a - 131e: 4a29 ldr r2, [pc, #164] ; (13c4 ) - 1320: 3303 adds r3, #3 - 1322: 1a9b subs r3, r3, r2 - 1324: 089b lsrs r3, r3, #2 - 1326: 3301 adds r3, #1 - 1328: 009b lsls r3, r3, #2 - 132a: 2200 movs r2, #0 + 137e: 001a movs r2, r3 + 1380: 4b29 ldr r3, [pc, #164] ; (1428 ) + 1382: 429a cmp r2, r3 + 1384: d20d bcs.n 13a2 + 1386: 4a29 ldr r2, [pc, #164] ; (142c ) + 1388: 3303 adds r3, #3 + 138a: 1a9b subs r3, r3, r2 + 138c: 089b lsrs r3, r3, #2 + 138e: 3301 adds r3, #1 + 1390: 009b lsls r3, r3, #2 + 1392: 2200 movs r2, #0 *pDest++ = *pSrc++; - 132c: 4823 ldr r0, [pc, #140] ; (13bc ) - 132e: 4922 ldr r1, [pc, #136] ; (13b8 ) - 1330: 588c ldr r4, [r1, r2] - 1332: 5084 str r4, [r0, r2] - 1334: 3204 adds r2, #4 + 1394: 4823 ldr r0, [pc, #140] ; (1424 ) + 1396: 4922 ldr r1, [pc, #136] ; (1420 ) + 1398: 588c ldr r4, [r1, r2] + 139a: 5084 str r4, [r0, r2] + 139c: 3204 adds r2, #4 for (; pDest < &_erelocate;) { - 1336: 429a cmp r2, r3 - 1338: d1fa bne.n 1330 + 139e: 429a cmp r2, r3 + 13a0: d1fa bne.n 1398 for (pDest = &_szero; pDest < &_ezero;) { - 133a: 4a23 ldr r2, [pc, #140] ; (13c8 ) - 133c: 4b23 ldr r3, [pc, #140] ; (13cc ) - 133e: 429a cmp r2, r3 - 1340: d20a bcs.n 1358 - 1342: 43d3 mvns r3, r2 - 1344: 4921 ldr r1, [pc, #132] ; (13cc ) - 1346: 185b adds r3, r3, r1 - 1348: 2103 movs r1, #3 - 134a: 438b bics r3, r1 - 134c: 3304 adds r3, #4 - 134e: 189b adds r3, r3, r2 + 13a2: 4a23 ldr r2, [pc, #140] ; (1430 ) + 13a4: 4b23 ldr r3, [pc, #140] ; (1434 ) + 13a6: 429a cmp r2, r3 + 13a8: d20a bcs.n 13c0 + 13aa: 43d3 mvns r3, r2 + 13ac: 4921 ldr r1, [pc, #132] ; (1434 ) + 13ae: 185b adds r3, r3, r1 + 13b0: 2103 movs r1, #3 + 13b2: 438b bics r3, r1 + 13b4: 3304 adds r3, #4 + 13b6: 189b adds r3, r3, r2 *pDest++ = 0; - 1350: 2100 movs r1, #0 - 1352: c202 stmia r2!, {r1} + 13b8: 2100 movs r1, #0 + 13ba: c202 stmia r2!, {r1} for (pDest = &_szero; pDest < &_ezero;) { - 1354: 4293 cmp r3, r2 - 1356: d1fc bne.n 1352 + 13bc: 4293 cmp r3, r2 + 13be: d1fc bne.n 13ba SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); - 1358: 4a1d ldr r2, [pc, #116] ; (13d0 ) - 135a: 21ff movs r1, #255 ; 0xff - 135c: 4b1d ldr r3, [pc, #116] ; (13d4 ) - 135e: 438b bics r3, r1 - 1360: 6093 str r3, [r2, #8] + 13c0: 4a1d ldr r2, [pc, #116] ; (1438 ) + 13c2: 21ff movs r1, #255 ; 0xff + 13c4: 4b1d ldr r3, [pc, #116] ; (143c ) + 13c6: 438b bics r3, r1 + 13c8: 6093 str r3, [r2, #8] SBMATRIX->SFR[SBMATRIX_SLAVE_HMCRAMC0].reg = 2; - 1362: 39fd subs r1, #253 ; 0xfd - 1364: 2390 movs r3, #144 ; 0x90 - 1366: 005b lsls r3, r3, #1 - 1368: 4a1b ldr r2, [pc, #108] ; (13d8 ) - 136a: 50d1 str r1, [r2, r3] + 13ca: 39fd subs r1, #253 ; 0xfd + 13cc: 2390 movs r3, #144 ; 0x90 + 13ce: 005b lsls r3, r3, #1 + 13d0: 4a1b ldr r2, [pc, #108] ; (1440 ) + 13d2: 50d1 str r1, [r2, r3] USB->DEVICE.QOSCTRL.bit.CQOS = 2; - 136c: 4a1b ldr r2, [pc, #108] ; (13dc ) - 136e: 78d3 ldrb r3, [r2, #3] - 1370: 2503 movs r5, #3 - 1372: 43ab bics r3, r5 - 1374: 2402 movs r4, #2 - 1376: 4323 orrs r3, r4 - 1378: 70d3 strb r3, [r2, #3] + 13d4: 4a1b ldr r2, [pc, #108] ; (1444 ) + 13d6: 78d3 ldrb r3, [r2, #3] + 13d8: 2503 movs r5, #3 + 13da: 43ab bics r3, r5 + 13dc: 2402 movs r4, #2 + 13de: 4323 orrs r3, r4 + 13e0: 70d3 strb r3, [r2, #3] USB->DEVICE.QOSCTRL.bit.DQOS = 2; - 137a: 78d3 ldrb r3, [r2, #3] - 137c: 270c movs r7, #12 - 137e: 43bb bics r3, r7 - 1380: 2608 movs r6, #8 - 1382: 4333 orrs r3, r6 - 1384: 70d3 strb r3, [r2, #3] + 13e2: 78d3 ldrb r3, [r2, #3] + 13e4: 270c movs r7, #12 + 13e6: 43bb bics r3, r7 + 13e8: 2608 movs r6, #8 + 13ea: 4333 orrs r3, r6 + 13ec: 70d3 strb r3, [r2, #3] DMAC->QOSCTRL.bit.DQOS = 2; - 1386: 4b16 ldr r3, [pc, #88] ; (13e0 ) - 1388: 7b98 ldrb r0, [r3, #14] - 138a: 2230 movs r2, #48 ; 0x30 - 138c: 4390 bics r0, r2 - 138e: 2220 movs r2, #32 - 1390: 4310 orrs r0, r2 - 1392: 7398 strb r0, [r3, #14] + 13ee: 4b16 ldr r3, [pc, #88] ; (1448 ) + 13f0: 7b98 ldrb r0, [r3, #14] + 13f2: 2230 movs r2, #48 ; 0x30 + 13f4: 4390 bics r0, r2 + 13f6: 2220 movs r2, #32 + 13f8: 4310 orrs r0, r2 + 13fa: 7398 strb r0, [r3, #14] DMAC->QOSCTRL.bit.FQOS = 2; - 1394: 7b99 ldrb r1, [r3, #14] - 1396: 43b9 bics r1, r7 - 1398: 4331 orrs r1, r6 - 139a: 7399 strb r1, [r3, #14] + 13fc: 7b99 ldrb r1, [r3, #14] + 13fe: 43b9 bics r1, r7 + 1400: 4331 orrs r1, r6 + 1402: 7399 strb r1, [r3, #14] DMAC->QOSCTRL.bit.WRBQOS = 2; - 139c: 7b9a ldrb r2, [r3, #14] - 139e: 43aa bics r2, r5 - 13a0: 4322 orrs r2, r4 - 13a2: 739a strb r2, [r3, #14] + 1404: 7b9a ldrb r2, [r3, #14] + 1406: 43aa bics r2, r5 + 1408: 4322 orrs r2, r4 + 140a: 739a strb r2, [r3, #14] NVMCTRL->CTRLB.bit.MANW = 1; - 13a4: 4a0f ldr r2, [pc, #60] ; (13e4 ) - 13a6: 6853 ldr r3, [r2, #4] - 13a8: 2180 movs r1, #128 ; 0x80 - 13aa: 430b orrs r3, r1 - 13ac: 6053 str r3, [r2, #4] + 140c: 4a0f ldr r2, [pc, #60] ; (144c ) + 140e: 6853 ldr r3, [r2, #4] + 1410: 2180 movs r1, #128 ; 0x80 + 1412: 430b orrs r3, r1 + 1414: 6053 str r3, [r2, #4] __libc_init_array(); - 13ae: 4b0e ldr r3, [pc, #56] ; (13e8 ) - 13b0: 4798 blx r3 + 1416: 4b0e ldr r3, [pc, #56] ; (1450 ) + 1418: 4798 blx r3 main(); - 13b2: 4b0e ldr r3, [pc, #56] ; (13ec ) - 13b4: 4798 blx r3 - 13b6: e7fe b.n 13b6 - 13b8: 0001ca88 .word 0x0001ca88 - 13bc: 20000000 .word 0x20000000 - 13c0: 200000c4 .word 0x200000c4 - 13c4: 20000004 .word 0x20000004 - 13c8: 200000c8 .word 0x200000c8 - 13cc: 20004e38 .word 0x20004e38 - 13d0: e000ed00 .word 0xe000ed00 - 13d4: 00000000 .word 0x00000000 - 13d8: 41007000 .word 0x41007000 - 13dc: 41005000 .word 0x41005000 - 13e0: 41004800 .word 0x41004800 - 13e4: 41004000 .word 0x41004000 - 13e8: 00017eb5 .word 0x00017eb5 - 13ec: 0001794d .word 0x0001794d - -000013f0 <_sbrk>: + 141a: 4b0e ldr r3, [pc, #56] ; (1454 ) + 141c: 4798 blx r3 + 141e: e7fe b.n 141e + 1420: 0001cb18 .word 0x0001cb18 + 1424: 20000000 .word 0x20000000 + 1428: 200000c4 .word 0x200000c4 + 142c: 20000004 .word 0x20000004 + 1430: 200000c8 .word 0x200000c8 + 1434: 20004e38 .word 0x20004e38 + 1438: e000ed00 .word 0xe000ed00 + 143c: 00000000 .word 0x00000000 + 1440: 41007000 .word 0x41007000 + 1444: 41005000 .word 0x41005000 + 1448: 41004800 .word 0x41004800 + 144c: 41004000 .word 0x41004000 + 1450: 00017f45 .word 0x00017f45 + 1454: 000179dd .word 0x000179dd + +00001458 <_sbrk>: extern void _exit(int status); extern void _kill(int pid, int sig); extern int _getpid(void); extern caddr_t _sbrk(int incr) { - 13f0: 0003 movs r3, r0 + 1458: 0003 movs r3, r0 static unsigned char *heap = NULL; unsigned char *prev_heap; if (heap == NULL) { - 13f2: 4a06 ldr r2, [pc, #24] ; (140c <_sbrk+0x1c>) - 13f4: 6812 ldr r2, [r2, #0] - 13f6: 2a00 cmp r2, #0 - 13f8: d004 beq.n 1404 <_sbrk+0x14> + 145a: 4a06 ldr r2, [pc, #24] ; (1474 <_sbrk+0x1c>) + 145c: 6812 ldr r2, [r2, #0] + 145e: 2a00 cmp r2, #0 + 1460: d004 beq.n 146c <_sbrk+0x14> heap = (unsigned char *)&_end; } prev_heap = heap; - 13fa: 4a04 ldr r2, [pc, #16] ; (140c <_sbrk+0x1c>) - 13fc: 6810 ldr r0, [r2, #0] + 1462: 4a04 ldr r2, [pc, #16] ; (1474 <_sbrk+0x1c>) + 1464: 6810 ldr r0, [r2, #0] heap += incr; - 13fe: 18c3 adds r3, r0, r3 - 1400: 6013 str r3, [r2, #0] + 1466: 18c3 adds r3, r0, r3 + 1468: 6013 str r3, [r2, #0] return (caddr_t) prev_heap; } - 1402: 4770 bx lr + 146a: 4770 bx lr heap = (unsigned char *)&_end; - 1404: 4902 ldr r1, [pc, #8] ; (1410 <_sbrk+0x20>) - 1406: 4a01 ldr r2, [pc, #4] ; (140c <_sbrk+0x1c>) - 1408: 6011 str r1, [r2, #0] - 140a: e7f6 b.n 13fa <_sbrk+0xa> - 140c: 200026d0 .word 0x200026d0 - 1410: 20006e38 .word 0x20006e38 - -00001414 : + 146c: 4902 ldr r1, [pc, #8] ; (1478 <_sbrk+0x20>) + 146e: 4a01 ldr r2, [pc, #4] ; (1474 <_sbrk+0x1c>) + 1470: 6011 str r1, [r2, #0] + 1472: e7f6 b.n 1462 <_sbrk+0xa> + 1474: 200026d0 .word 0x200026d0 + 1478: 20006e38 .word 0x20006e38 + +0000147c : * GLOBAL FUNCTIONS **********************/ bool lv_debug_check_null(const void * p) { if(p) return true; - 1414: 1e43 subs r3, r0, #1 - 1416: 4198 sbcs r0, r3 - 1418: b2c0 uxtb r0, r0 + 147c: 1e43 subs r3, r0, #1 + 147e: 4198 sbcs r0, r3 + 1480: b2c0 uxtb r0, r0 return false; } - 141a: 4770 bx lr + 1482: 4770 bx lr -0000141c : +00001484 : LV_LOG_WARN("lv_debug_check_str: string is longer than LV_DEBUG_STR_MAX_LENGTH"); return false; } void lv_debug_log_error(const char * msg, uint64_t value) { - 141c: b510 push {r4, lr} - 141e: b0c0 sub sp, #256 ; 0x100 - 1420: 0004 movs r4, r0 + 1484: b510 push {r4, lr} + 1486: b0c0 sub sp, #256 ; 0x100 + 1488: 0004 movs r4, r0 static const char hex[] = "0123456789ABCDEF"; size_t msg_len = strlen(msg); - 1422: 4b06 ldr r3, [pc, #24] ; (143c ) - 1424: 4798 blx r3 + 148a: 4b06 ldr r3, [pc, #24] ; (14a4 ) + 148c: 4798 blx r3 uint32_t value_len = sizeof(unsigned long int); if(msg_len < 230) { - 1426: 28e5 cmp r0, #229 ; 0xe5 - 1428: d901 bls.n 142e + 148e: 28e5 cmp r0, #229 ; 0xe5 + 1490: d901 bls.n 1496 LV_LOG_ERROR(buf); } else { LV_LOG_ERROR(msg); } } - 142a: b040 add sp, #256 ; 0x100 - 142c: bd10 pop {r4, pc} + 1492: b040 add sp, #256 ; 0x100 + 1494: bd10 pop {r4, pc} _lv_memcpy(bufp, msg, msg_len); - 142e: 0002 movs r2, r0 - 1430: 0021 movs r1, r4 - 1432: 4668 mov r0, sp - 1434: 4b02 ldr r3, [pc, #8] ; (1440 ) - 1436: 4798 blx r3 -} - 1438: e7f7 b.n 142a - 143a: 46c0 nop ; (mov r8, r8) - 143c: 00017f61 .word 0x00017f61 - 1440: 00010c25 .word 0x00010c25 - -00001444 : + 1496: 0002 movs r2, r0 + 1498: 0021 movs r1, r4 + 149a: 4668 mov r0, sp + 149c: 4b02 ldr r3, [pc, #8] ; (14a8 ) + 149e: 4798 blx r3 +} + 14a0: e7f7 b.n 1492 + 14a2: 46c0 nop ; (mov r8, r8) + 14a4: 00017ff1 .word 0x00017ff1 + 14a8: 00010c8d .word 0x00010c8d + +000014ac : * @param disp pointer to display which active screen should be get. (NULL to use the default * screen) * @return pointer to the active screen object (loaded by 'lv_scr_load()') */ lv_obj_t * lv_disp_get_scr_act(lv_disp_t * disp) { - 1444: b510 push {r4, lr} + 14ac: b510 push {r4, lr} if(!disp) disp = lv_disp_get_default(); - 1446: 2800 cmp r0, #0 - 1448: d001 beq.n 144e + 14ae: 2800 cmp r0, #0 + 14b0: d001 beq.n 14b6 if(!disp) { LV_LOG_WARN("lv_scr_act: no display registered to get its act. screen"); return NULL; } return disp->act_scr; - 144a: 6bc0 ldr r0, [r0, #60] ; 0x3c + 14b2: 6bc0 ldr r0, [r0, #60] ; 0x3c } - 144c: bd10 pop {r4, pc} + 14b4: bd10 pop {r4, pc} if(!disp) disp = lv_disp_get_default(); - 144e: 4b03 ldr r3, [pc, #12] ; (145c ) - 1450: 4798 blx r3 + 14b6: 4b03 ldr r3, [pc, #12] ; (14c4 ) + 14b8: 4798 blx r3 if(!disp) { - 1452: 2800 cmp r0, #0 - 1454: d1f9 bne.n 144a + 14ba: 2800 cmp r0, #0 + 14bc: d1f9 bne.n 14b2 return NULL; - 1456: 2000 movs r0, #0 - 1458: e7f8 b.n 144c - 145a: 46c0 nop ; (mov r8, r8) - 145c: 0000f5a1 .word 0x0000f5a1 + 14be: 2000 movs r0, #0 + 14c0: e7f8 b.n 14b4 + 14c2: 46c0 nop ; (mov r8, r8) + 14c4: 0000f609 .word 0x0000f609 -00001460 : +000014c8 : * Return with the top layer. (Same on every screen and it is above the normal screen layer) * @param disp pointer to display which top layer should be get. (NULL to use the default screen) * @return pointer to the top layer object (transparent screen sized lv_obj) */ lv_obj_t * lv_disp_get_layer_top(lv_disp_t * disp) { - 1460: b510 push {r4, lr} + 14c8: b510 push {r4, lr} if(!disp) disp = lv_disp_get_default(); - 1462: 2800 cmp r0, #0 - 1464: d001 beq.n 146a + 14ca: 2800 cmp r0, #0 + 14cc: d001 beq.n 14d2 if(!disp) { LV_LOG_WARN("lv_layer_top: no display registered to get its top layer"); return NULL; } return disp->top_layer; - 1466: 6c00 ldr r0, [r0, #64] ; 0x40 + 14ce: 6c00 ldr r0, [r0, #64] ; 0x40 } - 1468: bd10 pop {r4, pc} + 14d0: bd10 pop {r4, pc} if(!disp) disp = lv_disp_get_default(); - 146a: 4b03 ldr r3, [pc, #12] ; (1478 ) - 146c: 4798 blx r3 + 14d2: 4b03 ldr r3, [pc, #12] ; (14e0 ) + 14d4: 4798 blx r3 if(!disp) { - 146e: 2800 cmp r0, #0 - 1470: d1f9 bne.n 1466 + 14d6: 2800 cmp r0, #0 + 14d8: d1f9 bne.n 14ce return NULL; - 1472: 2000 movs r0, #0 - 1474: e7f8 b.n 1468 - 1476: 46c0 nop ; (mov r8, r8) - 1478: 0000f5a1 .word 0x0000f5a1 + 14da: 2000 movs r0, #0 + 14dc: e7f8 b.n 14d0 + 14de: 46c0 nop ; (mov r8, r8) + 14e0: 0000f609 .word 0x0000f609 -0000147c : +000014e4 : * layer) * @param disp pointer to display which sys. layer should be get. (NULL to use the default screen) * @return pointer to the sys layer object (transparent screen sized lv_obj) */ lv_obj_t * lv_disp_get_layer_sys(lv_disp_t * disp) { - 147c: b510 push {r4, lr} + 14e4: b510 push {r4, lr} if(!disp) disp = lv_disp_get_default(); - 147e: 2800 cmp r0, #0 - 1480: d001 beq.n 1486 + 14e6: 2800 cmp r0, #0 + 14e8: d001 beq.n 14ee if(!disp) { LV_LOG_WARN("lv_layer_sys: no display registered to get its sys. layer"); return NULL; } return disp->sys_layer; - 1482: 6c40 ldr r0, [r0, #68] ; 0x44 + 14ea: 6c40 ldr r0, [r0, #68] ; 0x44 } - 1484: bd10 pop {r4, pc} + 14ec: bd10 pop {r4, pc} if(!disp) disp = lv_disp_get_default(); - 1486: 4b03 ldr r3, [pc, #12] ; (1494 ) - 1488: 4798 blx r3 + 14ee: 4b03 ldr r3, [pc, #12] ; (14fc ) + 14f0: 4798 blx r3 if(!disp) { - 148a: 2800 cmp r0, #0 - 148c: d1f9 bne.n 1482 + 14f2: 2800 cmp r0, #0 + 14f4: d1f9 bne.n 14ea return NULL; - 148e: 2000 movs r0, #0 - 1490: e7f8 b.n 1484 - 1492: 46c0 nop ; (mov r8, r8) - 1494: 0000f5a1 .word 0x0000f5a1 + 14f6: 2000 movs r0, #0 + 14f8: e7f8 b.n 14ec + 14fa: 46c0 nop ; (mov r8, r8) + 14fc: 0000f609 .word 0x0000f609 -00001498 : +00001500 : if(group->focus_cb) group->focus_cb(group); } static void obj_to_foreground(lv_obj_t * obj) { - 1498: b5f8 push {r3, r4, r5, r6, r7, lr} + 1500: b5f8 push {r3, r4, r5, r6, r7, lr} /*Search for 'top' attribute*/ lv_obj_t * i = obj; lv_obj_t * last_top = NULL; while(i != NULL) { - 149a: 2800 cmp r0, #0 - 149c: d011 beq.n 14c2 - 149e: 2500 movs r5, #0 + 1502: 2800 cmp r0, #0 + 1504: d011 beq.n 152a + 1506: 2500 movs r5, #0 if(i->top != 0) last_top = i; - 14a0: 2734 movs r7, #52 ; 0x34 - 14a2: 2620 movs r6, #32 + 1508: 2734 movs r7, #52 ; 0x34 + 150a: 2620 movs r6, #32 i = lv_obj_get_parent(i); - 14a4: 4c07 ldr r4, [pc, #28] ; (14c4 ) - 14a6: e002 b.n 14ae - 14a8: 47a0 blx r4 + 150c: 4c07 ldr r4, [pc, #28] ; (152c ) + 150e: e002 b.n 1516 + 1510: 47a0 blx r4 while(i != NULL) { - 14aa: 2800 cmp r0, #0 - 14ac: d004 beq.n 14b8 + 1512: 2800 cmp r0, #0 + 1514: d004 beq.n 1520 if(i->top != 0) last_top = i; - 14ae: 5dc3 ldrb r3, [r0, r7] - 14b0: 421e tst r6, r3 - 14b2: d0f9 beq.n 14a8 - 14b4: 0005 movs r5, r0 - 14b6: e7f7 b.n 14a8 + 1516: 5dc3 ldrb r3, [r0, r7] + 1518: 421e tst r6, r3 + 151a: d0f9 beq.n 1510 + 151c: 0005 movs r5, r0 + 151e: e7f7 b.n 1510 } if(last_top != NULL) { - 14b8: 2d00 cmp r5, #0 - 14ba: d002 beq.n 14c2 + 1520: 2d00 cmp r5, #0 + 1522: d002 beq.n 152a /*Move the last_top object to the foreground*/ lv_obj_move_foreground(last_top); - 14bc: 0028 movs r0, r5 - 14be: 4b02 ldr r3, [pc, #8] ; (14c8 ) - 14c0: 4798 blx r3 + 1524: 0028 movs r0, r5 + 1526: 4b02 ldr r3, [pc, #8] ; (1530 ) + 1528: 4798 blx r3 } } - 14c2: bdf8 pop {r3, r4, r5, r6, r7, pc} - 14c4: 00001a39 .word 0x00001a39 - 14c8: 00001fb1 .word 0x00001fb1 - -000014cc : -{ - 14cc: b5f8 push {r3, r4, r5, r6, r7, lr} - 14ce: 46de mov lr, fp - 14d0: 4657 mov r7, sl - 14d2: 464e mov r6, r9 - 14d4: 4645 mov r5, r8 - 14d6: b5e0 push {r5, r6, r7, lr} - 14d8: 0006 movs r6, r0 - 14da: 468a mov sl, r1 - 14dc: 4690 mov r8, r2 + 152a: bdf8 pop {r3, r4, r5, r6, r7, pc} + 152c: 00001aa1 .word 0x00001aa1 + 1530: 00002019 .word 0x00002019 + +00001534 : +{ + 1534: b5f8 push {r3, r4, r5, r6, r7, lr} + 1536: 46de mov lr, fp + 1538: 4657 mov r7, sl + 153a: 464e mov r6, r9 + 153c: 4645 mov r5, r8 + 153e: b5e0 push {r5, r6, r7, lr} + 1540: 0006 movs r6, r0 + 1542: 468a mov sl, r1 + 1544: 4690 mov r8, r2 if(group->frozen) return; - 14de: 7d03 ldrb r3, [r0, #20] - 14e0: 07db lsls r3, r3, #31 - 14e2: d43c bmi.n 155e + 1546: 7d03 ldrb r3, [r0, #20] + 1548: 07db lsls r3, r3, #31 + 154a: d43c bmi.n 15c6 lv_obj_t ** obj_next = group->obj_focus; - 14e4: 68c4 ldr r4, [r0, #12] + 154c: 68c4 ldr r4, [r0, #12] bool can_begin = true; - 14e6: 2301 movs r3, #1 - 14e8: 4699 mov r9, r3 + 154e: 2301 movs r3, #1 + 1550: 4699 mov r9, r3 lv_obj_t ** obj_sentinel = NULL; - 14ea: 2500 movs r5, #0 + 1552: 2500 movs r5, #0 if(!lv_obj_get_hidden(*obj_next)) break; - 14ec: 4f32 ldr r7, [pc, #200] ; (15b8 ) + 1554: 4f32 ldr r7, [pc, #200] ; (1620 ) if(group->wrap || obj_sentinel == NULL) { - 14ee: 330f adds r3, #15 - 14f0: 469b mov fp, r3 - 14f2: e015 b.n 1520 - 14f4: 7d33 ldrb r3, [r6, #20] - 14f6: 465a mov r2, fp - 14f8: 421a tst r2, r3 - 14fa: d101 bne.n 1500 - 14fc: 2d00 cmp r5, #0 - 14fe: d12e bne.n 155e + 1556: 330f adds r3, #15 + 1558: 469b mov fp, r3 + 155a: e015 b.n 1588 + 155c: 7d33 ldrb r3, [r6, #20] + 155e: 465a mov r2, fp + 1560: 421a tst r2, r3 + 1562: d101 bne.n 1568 + 1564: 2d00 cmp r5, #0 + 1566: d12e bne.n 15c6 if(!can_begin) return; - 1500: 464b mov r3, r9 - 1502: 2b00 cmp r3, #0 - 1504: d02b beq.n 155e + 1568: 464b mov r3, r9 + 156a: 2b00 cmp r3, #0 + 156c: d02b beq.n 15c6 obj_next = begin(&group->obj_ll); - 1506: 0030 movs r0, r6 - 1508: 47d0 blx sl - 150a: 0004 movs r4, r0 + 156e: 0030 movs r0, r6 + 1570: 47d0 blx sl + 1572: 0004 movs r4, r0 if(obj_sentinel == NULL) { - 150c: 2d00 cmp r5, #0 - 150e: d04c beq.n 15aa + 1574: 2d00 cmp r5, #0 + 1576: d04c beq.n 1612 can_begin = false; - 1510: 2300 movs r3, #0 - 1512: 4699 mov r9, r3 + 1578: 2300 movs r3, #0 + 157a: 4699 mov r9, r3 if(obj_next == NULL) continue; - 1514: 2c00 cmp r4, #0 - 1516: d003 beq.n 1520 + 157c: 2c00 cmp r4, #0 + 157e: d003 beq.n 1588 if(!lv_obj_get_hidden(*obj_next)) break; - 1518: 6820 ldr r0, [r4, #0] - 151a: 47b8 blx r7 - 151c: 2800 cmp r0, #0 - 151e: d00c beq.n 153a + 1580: 6820 ldr r0, [r4, #0] + 1582: 47b8 blx r7 + 1584: 2800 cmp r0, #0 + 1586: d00c beq.n 15a2 if(obj_next == NULL) { - 1520: 2c00 cmp r4, #0 - 1522: d0e7 beq.n 14f4 + 1588: 2c00 cmp r4, #0 + 158a: d0e7 beq.n 155c if(obj_sentinel == NULL) { - 1524: 2d00 cmp r5, #0 - 1526: d006 beq.n 1536 + 158c: 2d00 cmp r5, #0 + 158e: d006 beq.n 159e obj_next = move(&group->obj_ll, obj_next); - 1528: 0021 movs r1, r4 - 152a: 0030 movs r0, r6 - 152c: 47c0 blx r8 - 152e: 0004 movs r4, r0 + 1590: 0021 movs r1, r4 + 1592: 0030 movs r0, r6 + 1594: 47c0 blx r8 + 1596: 0004 movs r4, r0 if(obj_next == obj_sentinel) return; - 1530: 42a8 cmp r0, r5 - 1532: d1ef bne.n 1514 - 1534: e013 b.n 155e - 1536: 0025 movs r5, r4 - 1538: e7f6 b.n 1528 + 1598: 42a8 cmp r0, r5 + 159a: d1ef bne.n 157c + 159c: e013 b.n 15c6 + 159e: 0025 movs r5, r4 + 15a0: e7f6 b.n 1590 if(obj_next == group->obj_focus) return; /*There's only one visible object and it's already focused*/ - 153a: 68f3 ldr r3, [r6, #12] - 153c: 42a3 cmp r3, r4 - 153e: d00e beq.n 155e + 15a2: 68f3 ldr r3, [r6, #12] + 15a4: 42a3 cmp r3, r4 + 15a6: d00e beq.n 15c6 if(group->obj_focus) { - 1540: 2b00 cmp r3, #0 - 1542: d016 beq.n 1572 + 15a8: 2b00 cmp r3, #0 + 15aa: d016 beq.n 15da (*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_DEFOCUS, NULL); - 1544: 6818 ldr r0, [r3, #0] - 1546: 69c3 ldr r3, [r0, #28] - 1548: 2200 movs r2, #0 - 154a: 2117 movs r1, #23 - 154c: 4798 blx r3 + 15ac: 6818 ldr r0, [r3, #0] + 15ae: 69c3 ldr r3, [r0, #28] + 15b0: 2200 movs r2, #0 + 15b2: 2117 movs r1, #23 + 15b4: 4798 blx r3 lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_DEFOCUSED, NULL); - 154e: 68f3 ldr r3, [r6, #12] - 1550: 6818 ldr r0, [r3, #0] - 1552: 2200 movs r2, #0 - 1554: 210e movs r1, #14 - 1556: 4b19 ldr r3, [pc, #100] ; (15bc ) - 1558: 4798 blx r3 + 15b6: 68f3 ldr r3, [r6, #12] + 15b8: 6818 ldr r0, [r3, #0] + 15ba: 2200 movs r2, #0 + 15bc: 210e movs r1, #14 + 15be: 4b19 ldr r3, [pc, #100] ; (1624 ) + 15c0: 4798 blx r3 if(res != LV_RES_OK) return; - 155a: 2801 cmp r0, #1 - 155c: d005 beq.n 156a -} - 155e: bc3c pop {r2, r3, r4, r5} - 1560: 4690 mov r8, r2 - 1562: 4699 mov r9, r3 - 1564: 46a2 mov sl, r4 - 1566: 46ab mov fp, r5 - 1568: bdf8 pop {r3, r4, r5, r6, r7, pc} + 15c2: 2801 cmp r0, #1 + 15c4: d005 beq.n 15d2 +} + 15c6: bc3c pop {r2, r3, r4, r5} + 15c8: 4690 mov r8, r2 + 15ca: 4699 mov r9, r3 + 15cc: 46a2 mov sl, r4 + 15ce: 46ab mov fp, r5 + 15d0: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_obj_invalidate(*group->obj_focus); - 156a: 68f3 ldr r3, [r6, #12] - 156c: 6818 ldr r0, [r3, #0] - 156e: 4b14 ldr r3, [pc, #80] ; (15c0 ) - 1570: 4798 blx r3 + 15d2: 68f3 ldr r3, [r6, #12] + 15d4: 6818 ldr r0, [r3, #0] + 15d6: 4b14 ldr r3, [pc, #80] ; (1628 ) + 15d8: 4798 blx r3 group->obj_focus = obj_next; - 1572: 60f4 str r4, [r6, #12] + 15da: 60f4 str r4, [r6, #12] (*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_FOCUS, NULL); - 1574: 6820 ldr r0, [r4, #0] - 1576: 69c3 ldr r3, [r0, #28] - 1578: 2200 movs r2, #0 - 157a: 2116 movs r1, #22 - 157c: 4798 blx r3 + 15dc: 6820 ldr r0, [r4, #0] + 15de: 69c3 ldr r3, [r0, #28] + 15e0: 2200 movs r2, #0 + 15e2: 2116 movs r1, #22 + 15e4: 4798 blx r3 lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_FOCUSED, NULL); - 157e: 68f3 ldr r3, [r6, #12] - 1580: 6818 ldr r0, [r3, #0] - 1582: 2200 movs r2, #0 - 1584: 210d movs r1, #13 - 1586: 4b0d ldr r3, [pc, #52] ; (15bc ) - 1588: 4798 blx r3 + 15e6: 68f3 ldr r3, [r6, #12] + 15e8: 6818 ldr r0, [r3, #0] + 15ea: 2200 movs r2, #0 + 15ec: 210d movs r1, #13 + 15ee: 4b0d ldr r3, [pc, #52] ; (1624 ) + 15f0: 4798 blx r3 if(res != LV_RES_OK) return; - 158a: 2801 cmp r0, #1 - 158c: d1e7 bne.n 155e + 15f2: 2801 cmp r0, #1 + 15f4: d1e7 bne.n 15c6 obj_to_foreground(*group->obj_focus); - 158e: 68f3 ldr r3, [r6, #12] - 1590: 6818 ldr r0, [r3, #0] - 1592: 4b0c ldr r3, [pc, #48] ; (15c4 ) - 1594: 4798 blx r3 + 15f6: 68f3 ldr r3, [r6, #12] + 15f8: 6818 ldr r0, [r3, #0] + 15fa: 4b0c ldr r3, [pc, #48] ; (162c ) + 15fc: 4798 blx r3 lv_obj_invalidate(*group->obj_focus); - 1596: 68f3 ldr r3, [r6, #12] - 1598: 6818 ldr r0, [r3, #0] - 159a: 4b09 ldr r3, [pc, #36] ; (15c0 ) - 159c: 4798 blx r3 + 15fe: 68f3 ldr r3, [r6, #12] + 1600: 6818 ldr r0, [r3, #0] + 1602: 4b09 ldr r3, [pc, #36] ; (1628 ) + 1604: 4798 blx r3 if(group->focus_cb) group->focus_cb(group); - 159e: 6933 ldr r3, [r6, #16] - 15a0: 2b00 cmp r3, #0 - 15a2: d0dc beq.n 155e - 15a4: 0030 movs r0, r6 - 15a6: 4798 blx r3 - 15a8: e7d9 b.n 155e + 1606: 6933 ldr r3, [r6, #16] + 1608: 2b00 cmp r3, #0 + 160a: d0dc beq.n 15c6 + 160c: 0030 movs r0, r6 + 160e: 4798 blx r3 + 1610: e7d9 b.n 15c6 if(obj_sentinel == NULL) return; /*Group is empty*/ - 15aa: 2800 cmp r0, #0 - 15ac: d0d7 beq.n 155e + 1612: 2800 cmp r0, #0 + 1614: d0d7 beq.n 15c6 obj_next = begin(&group->obj_ll); - 15ae: 0005 movs r5, r0 + 1616: 0005 movs r5, r0 can_begin = false; - 15b0: 2300 movs r3, #0 - 15b2: 4699 mov r9, r3 - 15b4: e7b0 b.n 1518 - 15b6: 46c0 nop ; (mov r8, r8) - 15b8: 00001e1d .word 0x00001e1d - 15bc: 000019a9 .word 0x000019a9 - 15c0: 00001f49 .word 0x00001f49 - 15c4: 00001499 .word 0x00001499 - -000015c8 <_lv_group_init>: -{ - 15c8: b510 push {r4, lr} + 1618: 2300 movs r3, #0 + 161a: 4699 mov r9, r3 + 161c: e7b0 b.n 1580 + 161e: 46c0 nop ; (mov r8, r8) + 1620: 00001e85 .word 0x00001e85 + 1624: 00001a11 .word 0x00001a11 + 1628: 00001fb1 .word 0x00001fb1 + 162c: 00001501 .word 0x00001501 + +00001630 <_lv_group_init>: +{ + 1630: b510 push {r4, lr} _lv_ll_init(&LV_GC_ROOT(_lv_group_ll), sizeof(lv_group_t)); - 15ca: 2118 movs r1, #24 - 15cc: 4801 ldr r0, [pc, #4] ; (15d4 <_lv_group_init+0xc>) - 15ce: 4b02 ldr r3, [pc, #8] ; (15d8 <_lv_group_init+0x10>) - 15d0: 4798 blx r3 + 1632: 2118 movs r1, #24 + 1634: 4801 ldr r0, [pc, #4] ; (163c <_lv_group_init+0xc>) + 1636: 4b02 ldr r3, [pc, #8] ; (1640 <_lv_group_init+0x10>) + 1638: 4798 blx r3 } - 15d2: bd10 pop {r4, pc} - 15d4: 20004e18 .word 0x20004e18 - 15d8: 00010551 .word 0x00010551 + 163a: bd10 pop {r4, pc} + 163c: 20004e18 .word 0x20004e18 + 1640: 000105b9 .word 0x000105b9 -000015dc : +00001644 : { - 15dc: b510 push {r4, lr} + 1644: b510 push {r4, lr} focus_next_core(group, _lv_ll_get_head, _lv_ll_get_next); - 15de: 4a02 ldr r2, [pc, #8] ; (15e8 ) - 15e0: 4902 ldr r1, [pc, #8] ; (15ec ) - 15e2: 4b03 ldr r3, [pc, #12] ; (15f0 ) - 15e4: 4798 blx r3 + 1646: 4a02 ldr r2, [pc, #8] ; (1650 ) + 1648: 4902 ldr r1, [pc, #8] ; (1654 ) + 164a: 4b03 ldr r3, [pc, #12] ; (1658 ) + 164c: 4798 blx r3 } - 15e6: bd10 pop {r4, pc} - 15e8: 0001061d .word 0x0001061d - 15ec: 00010605 .word 0x00010605 - 15f0: 000014cd .word 0x000014cd + 164e: bd10 pop {r4, pc} + 1650: 00010685 .word 0x00010685 + 1654: 0001066d .word 0x0001066d + 1658: 00001535 .word 0x00001535 -000015f4 : +0000165c : { - 15f4: b510 push {r4, lr} + 165c: b510 push {r4, lr} focus_next_core(group, _lv_ll_get_tail, _lv_ll_get_prev); - 15f6: 4a02 ldr r2, [pc, #8] ; (1600 ) - 15f8: 4902 ldr r1, [pc, #8] ; (1604 ) - 15fa: 4b03 ldr r3, [pc, #12] ; (1608 ) - 15fc: 4798 blx r3 + 165e: 4a02 ldr r2, [pc, #8] ; (1668 ) + 1660: 4902 ldr r1, [pc, #8] ; (166c ) + 1662: 4b03 ldr r3, [pc, #12] ; (1670 ) + 1664: 4798 blx r3 } - 15fe: bd10 pop {r4, pc} - 1600: 00010645 .word 0x00010645 - 1604: 00010611 .word 0x00010611 - 1608: 000014cd .word 0x000014cd + 1666: bd10 pop {r4, pc} + 1668: 000106ad .word 0x000106ad + 166c: 00010679 .word 0x00010679 + 1670: 00001535 .word 0x00001535 -0000160c : +00001674 : { - 160c: b570 push {r4, r5, r6, lr} - 160e: 0004 movs r4, r0 + 1674: b570 push {r4, r5, r6, lr} + 1676: 0004 movs r4, r0 uint8_t temp_wrap = g->wrap; - 1610: 7d03 ldrb r3, [r0, #20] - 1612: 06dd lsls r5, r3, #27 - 1614: 0fed lsrs r5, r5, #31 + 1678: 7d03 ldrb r3, [r0, #20] + 167a: 06dd lsls r5, r3, #27 + 167c: 0fed lsrs r5, r5, #31 g->wrap = 1; - 1616: 2210 movs r2, #16 - 1618: 4313 orrs r3, r2 - 161a: 7503 strb r3, [r0, #20] + 167e: 2210 movs r2, #16 + 1680: 4313 orrs r3, r2 + 1682: 7503 strb r3, [r0, #20] if(g->refocus_policy == LV_GROUP_REFOCUS_POLICY_NEXT) - 161c: 071b lsls r3, r3, #28 - 161e: d508 bpl.n 1632 + 1684: 071b lsls r3, r3, #28 + 1686: d508 bpl.n 169a lv_group_focus_prev(g); - 1620: 4b05 ldr r3, [pc, #20] ; (1638 ) - 1622: 4798 blx r3 + 1688: 4b05 ldr r3, [pc, #20] ; (16a0 ) + 168a: 4798 blx r3 g->wrap = temp_wrap; - 1624: 012d lsls r5, r5, #4 - 1626: 7d23 ldrb r3, [r4, #20] - 1628: 2210 movs r2, #16 - 162a: 4393 bics r3, r2 - 162c: 432b orrs r3, r5 - 162e: 7523 strb r3, [r4, #20] -} - 1630: bd70 pop {r4, r5, r6, pc} + 168c: 012d lsls r5, r5, #4 + 168e: 7d23 ldrb r3, [r4, #20] + 1690: 2210 movs r2, #16 + 1692: 4393 bics r3, r2 + 1694: 432b orrs r3, r5 + 1696: 7523 strb r3, [r4, #20] +} + 1698: bd70 pop {r4, r5, r6, pc} lv_group_focus_next(g); - 1632: 4b02 ldr r3, [pc, #8] ; (163c ) - 1634: 4798 blx r3 - 1636: e7f5 b.n 1624 - 1638: 000015f5 .word 0x000015f5 - 163c: 000015dd .word 0x000015dd + 169a: 4b02 ldr r3, [pc, #8] ; (16a4 ) + 169c: 4798 blx r3 + 169e: e7f5 b.n 168c + 16a0: 0000165d .word 0x0000165d + 16a4: 00001645 .word 0x00001645 -00001640 : +000016a8 : { - 1640: b5f8 push {r3, r4, r5, r6, r7, lr} - 1642: 0005 movs r5, r0 - 1644: 000c movs r4, r1 + 16a8: b5f8 push {r3, r4, r5, r6, r7, lr} + 16aa: 0005 movs r5, r0 + 16ac: 000c movs r4, r1 if(group == NULL) return; - 1646: 2800 cmp r0, #0 - 1648: d010 beq.n 166c + 16ae: 2800 cmp r0, #0 + 16b0: d010 beq.n 16d4 _LV_LL_READ(group->obj_ll, obj_i) { - 164a: 0006 movs r6, r0 - 164c: 4b1b ldr r3, [pc, #108] ; (16bc ) - 164e: 4798 blx r3 - 1650: 2800 cmp r0, #0 - 1652: d00c beq.n 166e + 16b2: 0006 movs r6, r0 + 16b4: 4b1b ldr r3, [pc, #108] ; (1724 ) + 16b6: 4798 blx r3 + 16b8: 2800 cmp r0, #0 + 16ba: d00c beq.n 16d6 if((*obj_i) == obj) { - 1654: 6803 ldr r3, [r0, #0] - 1656: 429c cmp r4, r3 - 1658: d008 beq.n 166c + 16bc: 6803 ldr r3, [r0, #0] + 16be: 429c cmp r4, r3 + 16c0: d008 beq.n 16d4 _LV_LL_READ(group->obj_ll, obj_i) { - 165a: 4f19 ldr r7, [pc, #100] ; (16c0 ) - 165c: 0001 movs r1, r0 - 165e: 0030 movs r0, r6 - 1660: 47b8 blx r7 - 1662: 2800 cmp r0, #0 - 1664: d003 beq.n 166e + 16c2: 4f19 ldr r7, [pc, #100] ; (1728 ) + 16c4: 0001 movs r1, r0 + 16c6: 0030 movs r0, r6 + 16c8: 47b8 blx r7 + 16ca: 2800 cmp r0, #0 + 16cc: d003 beq.n 16d6 if((*obj_i) == obj) { - 1666: 6803 ldr r3, [r0, #0] - 1668: 42a3 cmp r3, r4 - 166a: d1f7 bne.n 165c + 16ce: 6803 ldr r3, [r0, #0] + 16d0: 42a3 cmp r3, r4 + 16d2: d1f7 bne.n 16c4 } - 166c: bdf8 pop {r3, r4, r5, r6, r7, pc} + 16d4: bdf8 pop {r3, r4, r5, r6, r7, pc} if(obj->group_p) { - 166e: 6ba3 ldr r3, [r4, #56] ; 0x38 - 1670: 2b00 cmp r3, #0 - 1672: d007 beq.n 1684 + 16d6: 6ba3 ldr r3, [r4, #56] ; 0x38 + 16d8: 2b00 cmp r3, #0 + 16da: d007 beq.n 16ec if(lv_obj_is_focused(obj)) { - 1674: 0020 movs r0, r4 - 1676: 4b13 ldr r3, [pc, #76] ; (16c4 ) - 1678: 4798 blx r3 - 167a: 2800 cmp r0, #0 - 167c: d002 beq.n 1684 + 16dc: 0020 movs r0, r4 + 16de: 4b13 ldr r3, [pc, #76] ; (172c ) + 16e0: 4798 blx r3 + 16e2: 2800 cmp r0, #0 + 16e4: d002 beq.n 16ec lv_group_refocus(obj->group_p); - 167e: 6ba0 ldr r0, [r4, #56] ; 0x38 - 1680: 4b11 ldr r3, [pc, #68] ; (16c8 ) - 1682: 4798 blx r3 + 16e6: 6ba0 ldr r0, [r4, #56] ; 0x38 + 16e8: 4b11 ldr r3, [pc, #68] ; (1730 ) + 16ea: 4798 blx r3 obj->group_p = group; - 1684: 63a5 str r5, [r4, #56] ; 0x38 + 16ec: 63a5 str r5, [r4, #56] ; 0x38 lv_obj_t ** next = _lv_ll_ins_tail(&group->obj_ll); - 1686: 0028 movs r0, r5 - 1688: 4b10 ldr r3, [pc, #64] ; (16cc ) - 168a: 4798 blx r3 - 168c: 0006 movs r6, r0 + 16ee: 0028 movs r0, r5 + 16f0: 4b10 ldr r3, [pc, #64] ; (1734 ) + 16f2: 4798 blx r3 + 16f4: 0006 movs r6, r0 LV_ASSERT_MEM(next); - 168e: 4b10 ldr r3, [pc, #64] ; (16d0 ) - 1690: 4798 blx r3 - 1692: 2800 cmp r0, #0 - 1694: d00b beq.n 16ae + 16f6: 4b10 ldr r3, [pc, #64] ; (1738 ) + 16f8: 4798 blx r3 + 16fa: 2800 cmp r0, #0 + 16fc: d00b beq.n 1716 if(next == NULL) return; - 1696: 2e00 cmp r6, #0 - 1698: d0e8 beq.n 166c + 16fe: 2e00 cmp r6, #0 + 1700: d0e8 beq.n 16d4 *next = obj; - 169a: 6034 str r4, [r6, #0] + 1702: 6034 str r4, [r6, #0] if(_lv_ll_get_head(&group->obj_ll) == next) { - 169c: 0028 movs r0, r5 - 169e: 4b07 ldr r3, [pc, #28] ; (16bc ) - 16a0: 4798 blx r3 - 16a2: 4286 cmp r6, r0 - 16a4: d1e2 bne.n 166c + 1704: 0028 movs r0, r5 + 1706: 4b07 ldr r3, [pc, #28] ; (1724 ) + 1708: 4798 blx r3 + 170a: 4286 cmp r6, r0 + 170c: d1e2 bne.n 16d4 lv_group_refocus(group); - 16a6: 0028 movs r0, r5 - 16a8: 4b07 ldr r3, [pc, #28] ; (16c8 ) - 16aa: 4798 blx r3 - 16ac: e7de b.n 166c + 170e: 0028 movs r0, r5 + 1710: 4b07 ldr r3, [pc, #28] ; (1730 ) + 1712: 4798 blx r3 + 1714: e7de b.n 16d4 LV_ASSERT_MEM(next); - 16ae: 0032 movs r2, r6 - 16b0: 2300 movs r3, #0 - 16b2: 4808 ldr r0, [pc, #32] ; (16d4 ) - 16b4: 4908 ldr r1, [pc, #32] ; (16d8 ) - 16b6: 4788 blx r1 - 16b8: e7fe b.n 16b8 - 16ba: 46c0 nop ; (mov r8, r8) - 16bc: 00010605 .word 0x00010605 - 16c0: 0001061d .word 0x0001061d - 16c4: 000035c1 .word 0x000035c1 - 16c8: 0000160d .word 0x0000160d - 16cc: 000105b5 .word 0x000105b5 - 16d0: 00001415 .word 0x00001415 - 16d4: 00018804 .word 0x00018804 - 16d8: 0000141d .word 0x0000141d - -000016dc : + 1716: 0032 movs r2, r6 + 1718: 2300 movs r3, #0 + 171a: 4808 ldr r0, [pc, #32] ; (173c ) + 171c: 4908 ldr r1, [pc, #32] ; (1740 ) + 171e: 4788 blx r1 + 1720: e7fe b.n 1720 + 1722: 46c0 nop ; (mov r8, r8) + 1724: 0001066d .word 0x0001066d + 1728: 00010685 .word 0x00010685 + 172c: 00003629 .word 0x00003629 + 1730: 00001675 .word 0x00001675 + 1734: 0001061d .word 0x0001061d + 1738: 0000147d .word 0x0000147d + 173c: 00018894 .word 0x00018894 + 1740: 00001485 .word 0x00001485 + +00001744 : if(!group) return NULL; - 16dc: 2800 cmp r0, #0 - 16de: d004 beq.n 16ea + 1744: 2800 cmp r0, #0 + 1746: d004 beq.n 1752 if(group->obj_focus == NULL) return NULL; - 16e0: 68c3 ldr r3, [r0, #12] - 16e2: 2b00 cmp r3, #0 - 16e4: d003 beq.n 16ee + 1748: 68c3 ldr r3, [r0, #12] + 174a: 2b00 cmp r3, #0 + 174c: d003 beq.n 1756 return *group->obj_focus; - 16e6: 6818 ldr r0, [r3, #0] + 174e: 6818 ldr r0, [r3, #0] } - 16e8: 4770 bx lr + 1750: 4770 bx lr if(!group) return NULL; - 16ea: 2000 movs r0, #0 - 16ec: e7fc b.n 16e8 + 1752: 2000 movs r0, #0 + 1754: e7fc b.n 1750 if(group->obj_focus == NULL) return NULL; - 16ee: 2000 movs r0, #0 - 16f0: e7fa b.n 16e8 + 1756: 2000 movs r0, #0 + 1758: e7fa b.n 1750 -000016f2 : +0000175a : if(!group) return false; - 16f2: 2800 cmp r0, #0 - 16f4: d003 beq.n 16fe + 175a: 2800 cmp r0, #0 + 175c: d003 beq.n 1766 return group->editing ? true : false; - 16f6: 7d00 ldrb r0, [r0, #20] - 16f8: 0780 lsls r0, r0, #30 - 16fa: 0fc0 lsrs r0, r0, #31 + 175e: 7d00 ldrb r0, [r0, #20] + 1760: 0780 lsls r0, r0, #30 + 1762: 0fc0 lsrs r0, r0, #31 } - 16fc: 4770 bx lr + 1764: 4770 bx lr if(!group) return false; - 16fe: 2000 movs r0, #0 - 1700: e7fc b.n 16fc + 1766: 2000 movs r0, #0 + 1768: e7fc b.n 1764 ... -00001704 : +0000176c : * @return pointer to the currently processed input device or NULL if no input device processing * right now */ lv_indev_t * lv_indev_get_act(void) { return indev_act; - 1704: 4b01 ldr r3, [pc, #4] ; (170c ) - 1706: 6818 ldr r0, [r3, #0] + 176c: 4b01 ldr r3, [pc, #4] ; (1774 ) + 176e: 6818 ldr r0, [r3, #0] } - 1708: 4770 bx lr - 170a: 46c0 nop ; (mov r8, r8) - 170c: 200026d4 .word 0x200026d4 + 1770: 4770 bx lr + 1772: 46c0 nop ; (mov r8, r8) + 1774: 200026d4 .word 0x200026d4 -00001710 : +00001778 : * Reset one or all input devices * @param indev pointer to an input device to reset or NULL to reset all of them * @param obj pointer to an object which triggers the reset. */ void lv_indev_reset(lv_indev_t * indev, lv_obj_t * obj) { - 1710: b5f8 push {r3, r4, r5, r6, r7, lr} - 1712: 000c movs r4, r1 + 1778: b5f8 push {r3, r4, r5, r6, r7, lr} + 177a: 000c movs r4, r1 if(indev) { - 1714: 2800 cmp r0, #0 - 1716: d015 beq.n 1744 + 177c: 2800 cmp r0, #0 + 177e: d015 beq.n 17ac indev->proc.reset_query = 1; - 1718: 2250 movs r2, #80 ; 0x50 - 171a: 5c83 ldrb r3, [r0, r2] - 171c: 2102 movs r1, #2 - 171e: 430b orrs r3, r1 - 1720: 5483 strb r3, [r0, r2] + 1780: 2250 movs r2, #80 ; 0x50 + 1782: 5c83 ldrb r3, [r0, r2] + 1784: 2102 movs r1, #2 + 1786: 430b orrs r3, r1 + 1788: 5483 strb r3, [r0, r2] if(indev_act == indev) indev_obj_act = NULL; - 1722: 4b18 ldr r3, [pc, #96] ; (1784 ) - 1724: 681b ldr r3, [r3, #0] - 1726: 4298 cmp r0, r3 - 1728: d005 beq.n 1736 + 178a: 4b18 ldr r3, [pc, #96] ; (17ec ) + 178c: 681b ldr r3, [r3, #0] + 178e: 4298 cmp r0, r3 + 1790: d005 beq.n 179e if(obj == NULL || indev->proc.types.pointer.last_pressed == obj) { - 172a: 2c00 cmp r4, #0 - 172c: d007 beq.n 173e - 172e: 6bc3 ldr r3, [r0, #60] ; 0x3c - 1730: 429c cmp r4, r3 - 1732: d004 beq.n 173e + 1792: 2c00 cmp r4, #0 + 1794: d007 beq.n 17a6 + 1796: 6bc3 ldr r3, [r0, #60] ; 0x3c + 1798: 429c cmp r4, r3 + 179a: d004 beq.n 17a6 i->proc.types.pointer.last_pressed = NULL; } i = lv_indev_get_next(i); } } } - 1734: bdf8 pop {r3, r4, r5, r6, r7, pc} + 179c: bdf8 pop {r3, r4, r5, r6, r7, pc} if(indev_act == indev) indev_obj_act = NULL; - 1736: 2200 movs r2, #0 - 1738: 4b13 ldr r3, [pc, #76] ; (1788 ) - 173a: 601a str r2, [r3, #0] - 173c: e7f5 b.n 172a + 179e: 2200 movs r2, #0 + 17a0: 4b13 ldr r3, [pc, #76] ; (17f0 ) + 17a2: 601a str r2, [r3, #0] + 17a4: e7f5 b.n 1792 indev->proc.types.pointer.last_pressed = NULL; - 173e: 2300 movs r3, #0 - 1740: 63c3 str r3, [r0, #60] ; 0x3c - 1742: e7f7 b.n 1734 + 17a6: 2300 movs r3, #0 + 17a8: 63c3 str r3, [r0, #60] ; 0x3c + 17aa: e7f7 b.n 179c lv_indev_t * i = lv_indev_get_next(NULL); - 1744: 2000 movs r0, #0 - 1746: 4b11 ldr r3, [pc, #68] ; (178c ) - 1748: 4798 blx r3 + 17ac: 2000 movs r0, #0 + 17ae: 4b11 ldr r3, [pc, #68] ; (17f4 ) + 17b0: 4798 blx r3 while(i) { - 174a: 2800 cmp r0, #0 - 174c: d0f2 beq.n 1734 + 17b2: 2800 cmp r0, #0 + 17b4: d0f2 beq.n 179c if(indev_act == i) indev_obj_act = NULL; - 174e: 4f0d ldr r7, [pc, #52] ; (1784 ) - 1750: 4d0d ldr r5, [pc, #52] ; (1788 ) + 17b6: 4f0d ldr r7, [pc, #52] ; (17ec ) + 17b8: 4d0d ldr r5, [pc, #52] ; (17f0 ) i = lv_indev_get_next(i); - 1752: 4e0e ldr r6, [pc, #56] ; (178c ) - 1754: e007 b.n 1766 + 17ba: 4e0e ldr r6, [pc, #56] ; (17f4 ) + 17bc: e007 b.n 17ce if(indev_act == i) indev_obj_act = NULL; - 1756: 2300 movs r3, #0 - 1758: 602b str r3, [r5, #0] - 175a: e00c b.n 1776 + 17be: 2300 movs r3, #0 + 17c0: 602b str r3, [r5, #0] + 17c2: e00c b.n 17de i->proc.types.pointer.last_pressed = NULL; - 175c: 2300 movs r3, #0 - 175e: 63c3 str r3, [r0, #60] ; 0x3c + 17c4: 2300 movs r3, #0 + 17c6: 63c3 str r3, [r0, #60] ; 0x3c i = lv_indev_get_next(i); - 1760: 47b0 blx r6 + 17c8: 47b0 blx r6 while(i) { - 1762: 2800 cmp r0, #0 - 1764: d0e6 beq.n 1734 + 17ca: 2800 cmp r0, #0 + 17cc: d0e6 beq.n 179c i->proc.reset_query = 1; - 1766: 2250 movs r2, #80 ; 0x50 - 1768: 5c83 ldrb r3, [r0, r2] - 176a: 2102 movs r1, #2 - 176c: 430b orrs r3, r1 - 176e: 5483 strb r3, [r0, r2] + 17ce: 2250 movs r2, #80 ; 0x50 + 17d0: 5c83 ldrb r3, [r0, r2] + 17d2: 2102 movs r1, #2 + 17d4: 430b orrs r3, r1 + 17d6: 5483 strb r3, [r0, r2] if(indev_act == i) indev_obj_act = NULL; - 1770: 683b ldr r3, [r7, #0] - 1772: 4283 cmp r3, r0 - 1774: d0ef beq.n 1756 + 17d8: 683b ldr r3, [r7, #0] + 17da: 4283 cmp r3, r0 + 17dc: d0ef beq.n 17be if(obj == NULL || i->proc.types.pointer.last_pressed == obj) { - 1776: 2c00 cmp r4, #0 - 1778: d0f0 beq.n 175c - 177a: 6bc3 ldr r3, [r0, #60] ; 0x3c - 177c: 429c cmp r4, r3 - 177e: d1ef bne.n 1760 - 1780: e7ec b.n 175c - 1782: 46c0 nop ; (mov r8, r8) - 1784: 200026d4 .word 0x200026d4 - 1788: 200026d8 .word 0x200026d8 - 178c: 0000f6e5 .word 0x0000f6e5 - -00001790 <_lv_indev_init>: -{ - 1790: b510 push {r4, lr} + 17de: 2c00 cmp r4, #0 + 17e0: d0f0 beq.n 17c4 + 17e2: 6bc3 ldr r3, [r0, #60] ; 0x3c + 17e4: 429c cmp r4, r3 + 17e6: d1ef bne.n 17c8 + 17e8: e7ec b.n 17c4 + 17ea: 46c0 nop ; (mov r8, r8) + 17ec: 200026d4 .word 0x200026d4 + 17f0: 200026d8 .word 0x200026d8 + 17f4: 0000f74d .word 0x0000f74d + +000017f8 <_lv_indev_init>: +{ + 17f8: b510 push {r4, lr} lv_indev_reset(NULL, NULL); /*Reset all input devices*/ - 1792: 2100 movs r1, #0 - 1794: 2000 movs r0, #0 - 1796: 4b01 ldr r3, [pc, #4] ; (179c <_lv_indev_init+0xc>) - 1798: 4798 blx r3 + 17fa: 2100 movs r1, #0 + 17fc: 2000 movs r0, #0 + 17fe: 4b01 ldr r3, [pc, #4] ; (1804 <_lv_indev_init+0xc>) + 1800: 4798 blx r3 } - 179a: bd10 pop {r4, pc} - 179c: 00001711 .word 0x00001711 + 1802: bd10 pop {r4, pc} + 1804: 00001779 .word 0x00001779 -000017a0 : +00001808 : * @param obj pointer to an object which children will be repositioned * @param x_diff x coordinate shift * @param y_diff y coordinate shift */ static void refresh_children_position(lv_obj_t * obj, lv_coord_t x_diff, lv_coord_t y_diff) { - 17a0: b5f0 push {r4, r5, r6, r7, lr} - 17a2: b085 sub sp, #20 - 17a4: 000d movs r5, r1 - 17a6: 9102 str r1, [sp, #8] - 17a8: 0016 movs r6, r2 - 17aa: 9203 str r2, [sp, #12] + 1808: b5f0 push {r4, r5, r6, r7, lr} + 180a: b085 sub sp, #20 + 180c: 000d movs r5, r1 + 180e: 9102 str r1, [sp, #8] + 1810: 0016 movs r6, r2 + 1812: 9203 str r2, [sp, #12] lv_obj_t * i; _LV_LL_READ(obj->child_ll, i) { - 17ac: 1d03 adds r3, r0, #4 - 17ae: 9301 str r3, [sp, #4] - 17b0: 0018 movs r0, r3 - 17b2: 4b0f ldr r3, [pc, #60] ; (17f0 ) - 17b4: 4798 blx r3 - 17b6: 1e04 subs r4, r0, #0 - 17b8: d018 beq.n 17ec + 1814: 1d03 adds r3, r0, #4 + 1816: 9301 str r3, [sp, #4] + 1818: 0018 movs r0, r3 + 181a: 4b0f ldr r3, [pc, #60] ; (1858 ) + 181c: 4798 blx r3 + 181e: 1e04 subs r4, r0, #0 + 1820: d018 beq.n 1854 i->coords.x1 += x_diff; - 17ba: b2ad uxth r5, r5 + 1822: b2ad uxth r5, r5 i->coords.y1 += y_diff; - 17bc: b2b7 uxth r7, r6 + 1824: b2b7 uxth r7, r6 _LV_LL_READ(obj->child_ll, i) { - 17be: 4e0d ldr r6, [pc, #52] ; (17f4 ) + 1826: 4e0d ldr r6, [pc, #52] ; (185c ) i->coords.x1 += x_diff; - 17c0: 8a23 ldrh r3, [r4, #16] - 17c2: 18eb adds r3, r5, r3 - 17c4: 8223 strh r3, [r4, #16] + 1828: 8a23 ldrh r3, [r4, #16] + 182a: 18eb adds r3, r5, r3 + 182c: 8223 strh r3, [r4, #16] i->coords.y1 += y_diff; - 17c6: 8a63 ldrh r3, [r4, #18] - 17c8: 18fb adds r3, r7, r3 - 17ca: 8263 strh r3, [r4, #18] + 182e: 8a63 ldrh r3, [r4, #18] + 1830: 18fb adds r3, r7, r3 + 1832: 8263 strh r3, [r4, #18] i->coords.x2 += x_diff; - 17cc: 8aa3 ldrh r3, [r4, #20] - 17ce: 18eb adds r3, r5, r3 - 17d0: 82a3 strh r3, [r4, #20] + 1834: 8aa3 ldrh r3, [r4, #20] + 1836: 18eb adds r3, r5, r3 + 1838: 82a3 strh r3, [r4, #20] i->coords.y2 += y_diff; - 17d2: 8ae3 ldrh r3, [r4, #22] - 17d4: 18fb adds r3, r7, r3 - 17d6: 82e3 strh r3, [r4, #22] + 183a: 8ae3 ldrh r3, [r4, #22] + 183c: 18fb adds r3, r7, r3 + 183e: 82e3 strh r3, [r4, #22] refresh_children_position(i, x_diff, y_diff); - 17d8: 9a03 ldr r2, [sp, #12] - 17da: 9902 ldr r1, [sp, #8] - 17dc: 0020 movs r0, r4 - 17de: f7ff ffdf bl 17a0 + 1840: 9a03 ldr r2, [sp, #12] + 1842: 9902 ldr r1, [sp, #8] + 1844: 0020 movs r0, r4 + 1846: f7ff ffdf bl 1808 _LV_LL_READ(obj->child_ll, i) { - 17e2: 0021 movs r1, r4 - 17e4: 9801 ldr r0, [sp, #4] - 17e6: 47b0 blx r6 - 17e8: 1e04 subs r4, r0, #0 - 17ea: d1e9 bne.n 17c0 + 184a: 0021 movs r1, r4 + 184c: 9801 ldr r0, [sp, #4] + 184e: 47b0 blx r6 + 1850: 1e04 subs r4, r0, #0 + 1852: d1e9 bne.n 1828 } } - 17ec: b005 add sp, #20 - 17ee: bdf0 pop {r4, r5, r6, r7, pc} - 17f0: 00010605 .word 0x00010605 - 17f4: 0001061d .word 0x0001061d + 1854: b005 add sp, #20 + 1856: bdf0 pop {r4, r5, r6, r7, pc} + 1858: 0001066d .word 0x0001066d + 185c: 00010685 .word 0x00010685 -000017f8 : +00001860 : { - 17f8: b530 push {r4, r5, lr} - 17fa: b085 sub sp, #20 + 1860: b530 push {r4, r5, lr} + 1862: b085 sub sp, #20 if(lv_initialized) { - 17fc: 4b19 ldr r3, [pc, #100] ; (1864 ) - 17fe: 781b ldrb r3, [r3, #0] - 1800: 2b00 cmp r3, #0 - 1802: d001 beq.n 1808 + 1864: 4b19 ldr r3, [pc, #100] ; (18cc ) + 1866: 781b ldrb r3, [r3, #0] + 1868: 2b00 cmp r3, #0 + 186a: d001 beq.n 1870 } - 1804: b005 add sp, #20 - 1806: bd30 pop {r4, r5, pc} + 186c: b005 add sp, #20 + 186e: bd30 pop {r4, r5, pc} _lv_mem_init(); - 1808: 4b17 ldr r3, [pc, #92] ; (1868 ) - 180a: 4798 blx r3 + 1870: 4b17 ldr r3, [pc, #92] ; (18d0 ) + 1872: 4798 blx r3 _lv_task_core_init(); - 180c: 4b17 ldr r3, [pc, #92] ; (186c ) - 180e: 4798 blx r3 + 1874: 4b17 ldr r3, [pc, #92] ; (18d4 ) + 1876: 4798 blx r3 _lv_fs_init(); - 1810: 4b17 ldr r3, [pc, #92] ; (1870 ) - 1812: 4798 blx r3 + 1878: 4b17 ldr r3, [pc, #92] ; (18d8 ) + 187a: 4798 blx r3 _lv_anim_core_init(); - 1814: 4b17 ldr r3, [pc, #92] ; (1874 ) - 1816: 4798 blx r3 + 187c: 4b17 ldr r3, [pc, #92] ; (18dc ) + 187e: 4798 blx r3 _lv_group_init(); - 1818: 4b17 ldr r3, [pc, #92] ; (1878 ) - 181a: 4798 blx r3 + 1880: 4b17 ldr r3, [pc, #92] ; (18e0 ) + 1882: 4798 blx r3 _lv_ll_init(&LV_GC_ROOT(_lv_obj_style_trans_ll), sizeof(lv_style_trans_t)); - 181c: 2110 movs r1, #16 - 181e: 4817 ldr r0, [pc, #92] ; (187c ) - 1820: 4c17 ldr r4, [pc, #92] ; (1880 ) - 1822: 47a0 blx r4 + 1884: 2110 movs r1, #16 + 1886: 4817 ldr r0, [pc, #92] ; (18e4 ) + 1888: 4c17 ldr r4, [pc, #92] ; (18e8 ) + 188a: 47a0 blx r4 lv_theme_t * th = LV_THEME_DEFAULT_INIT(LV_THEME_DEFAULT_COLOR_PRIMARY, LV_THEME_DEFAULT_COLOR_SECONDARY, - 1824: 4b17 ldr r3, [pc, #92] ; (1884 ) - 1826: 9302 str r3, [sp, #8] - 1828: 9301 str r3, [sp, #4] - 182a: 9300 str r3, [sp, #0] - 182c: 2202 movs r2, #2 - 182e: 211f movs r1, #31 - 1830: 4815 ldr r0, [pc, #84] ; (1888 ) - 1832: 8800 ldrh r0, [r0, #0] - 1834: 4d15 ldr r5, [pc, #84] ; (188c ) - 1836: 47a8 blx r5 + 188c: 4b17 ldr r3, [pc, #92] ; (18ec ) + 188e: 9302 str r3, [sp, #8] + 1890: 9301 str r3, [sp, #4] + 1892: 9300 str r3, [sp, #0] + 1894: 2202 movs r2, #2 + 1896: 211f movs r1, #31 + 1898: 4815 ldr r0, [pc, #84] ; (18f0 ) + 189a: 8800 ldrh r0, [r0, #0] + 189c: 4d15 ldr r5, [pc, #84] ; (18f4 ) + 189e: 47a8 blx r5 lv_theme_set_act(th); - 1838: 4b15 ldr r3, [pc, #84] ; (1890 ) - 183a: 4798 blx r3 + 18a0: 4b15 ldr r3, [pc, #84] ; (18f8 ) + 18a2: 4798 blx r3 _lv_refr_init(); - 183c: 4b15 ldr r3, [pc, #84] ; (1894 ) - 183e: 4798 blx r3 + 18a4: 4b15 ldr r3, [pc, #84] ; (18fc ) + 18a6: 4798 blx r3 _lv_ll_init(&LV_GC_ROOT(_lv_disp_ll), sizeof(lv_disp_t)); - 1840: 21b8 movs r1, #184 ; 0xb8 - 1842: 0049 lsls r1, r1, #1 - 1844: 4814 ldr r0, [pc, #80] ; (1898 ) - 1846: 47a0 blx r4 + 18a8: 21b8 movs r1, #184 ; 0xb8 + 18aa: 0049 lsls r1, r1, #1 + 18ac: 4814 ldr r0, [pc, #80] ; (1900 ) + 18ae: 47a0 blx r4 _lv_ll_init(&LV_GC_ROOT(_lv_indev_ll), sizeof(lv_indev_t)); - 1848: 2160 movs r1, #96 ; 0x60 - 184a: 4814 ldr r0, [pc, #80] ; (189c ) - 184c: 47a0 blx r4 + 18b0: 2160 movs r1, #96 ; 0x60 + 18b2: 4814 ldr r0, [pc, #80] ; (1904 ) + 18b4: 47a0 blx r4 _lv_indev_init(); - 184e: 4b14 ldr r3, [pc, #80] ; (18a0 ) - 1850: 4798 blx r3 + 18b6: 4b14 ldr r3, [pc, #80] ; (1908 ) + 18b8: 4798 blx r3 _lv_img_decoder_init(); - 1852: 4b14 ldr r3, [pc, #80] ; (18a4 ) - 1854: 4798 blx r3 + 18ba: 4b14 ldr r3, [pc, #80] ; (190c ) + 18bc: 4798 blx r3 lv_img_cache_set_size(LV_IMG_CACHE_DEF_SIZE); - 1856: 2001 movs r0, #1 - 1858: 4b13 ldr r3, [pc, #76] ; (18a8 ) - 185a: 4798 blx r3 + 18be: 2001 movs r0, #1 + 18c0: 4b13 ldr r3, [pc, #76] ; (1910 ) + 18c2: 4798 blx r3 lv_initialized = true; - 185c: 2201 movs r2, #1 - 185e: 4b01 ldr r3, [pc, #4] ; (1864 ) - 1860: 701a strb r2, [r3, #0] - 1862: e7cf b.n 1804 - 1864: 200026e4 .word 0x200026e4 - 1868: 000109e1 .word 0x000109e1 - 186c: 00011131 .word 0x00011131 - 1870: 000102e1 .word 0x000102e1 - 1874: 0000f991 .word 0x0000f991 - 1878: 000015c9 .word 0x000015c9 - 187c: 20004d68 .word 0x20004d68 - 1880: 00010551 .word 0x00010551 - 1884: 20000030 .word 0x20000030 - 1888: 00018812 .word 0x00018812 - 188c: 00014429 .word 0x00014429 - 1890: 00011be9 .word 0x00011be9 - 1894: 00004235 .word 0x00004235 - 1898: 20004cc4 .word 0x20004cc4 - 189c: 20004cb8 .word 0x20004cb8 - 18a0: 00001791 .word 0x00001791 - 18a4: 0000e691 .word 0x0000e691 - 18a8: 0000dbf1 .word 0x0000dbf1 - -000018ac : -{ - 18ac: b570 push {r4, r5, r6, lr} - 18ae: 0004 movs r4, r0 - 18b0: 000d movs r5, r1 + 18c4: 2201 movs r2, #1 + 18c6: 4b01 ldr r3, [pc, #4] ; (18cc ) + 18c8: 701a strb r2, [r3, #0] + 18ca: e7cf b.n 186c + 18cc: 200026e4 .word 0x200026e4 + 18d0: 00010a49 .word 0x00010a49 + 18d4: 00011199 .word 0x00011199 + 18d8: 00010349 .word 0x00010349 + 18dc: 0000f9f9 .word 0x0000f9f9 + 18e0: 00001631 .word 0x00001631 + 18e4: 20004d68 .word 0x20004d68 + 18e8: 000105b9 .word 0x000105b9 + 18ec: 20000030 .word 0x20000030 + 18f0: 000188a2 .word 0x000188a2 + 18f4: 00014491 .word 0x00014491 + 18f8: 00011c51 .word 0x00011c51 + 18fc: 0000429d .word 0x0000429d + 1900: 20004cc4 .word 0x20004cc4 + 1904: 20004cb8 .word 0x20004cb8 + 1908: 000017f9 .word 0x000017f9 + 190c: 0000e6f9 .word 0x0000e6f9 + 1910: 0000dc59 .word 0x0000dc59 + +00001914 : +{ + 1914: b570 push {r4, r5, r6, lr} + 1916: 0004 movs r4, r0 + 1918: 000d movs r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 18b2: 4b09 ldr r3, [pc, #36] ; (18d8 ) - 18b4: 4798 blx r3 - 18b6: 2800 cmp r0, #0 - 18b8: d008 beq.n 18cc + 191a: 4b09 ldr r3, [pc, #36] ; (1940 ) + 191c: 4798 blx r3 + 191e: 2800 cmp r0, #0 + 1920: d008 beq.n 1934 obj->click = (en == true ? 1 : 0); - 18ba: 2234 movs r2, #52 ; 0x34 - 18bc: 2301 movs r3, #1 - 18be: 401d ands r5, r3 - 18c0: 5ca3 ldrb r3, [r4, r2] - 18c2: 2001 movs r0, #1 - 18c4: 4383 bics r3, r0 - 18c6: 432b orrs r3, r5 - 18c8: 54a3 strb r3, [r4, r2] -} - 18ca: bd70 pop {r4, r5, r6, pc} + 1922: 2234 movs r2, #52 ; 0x34 + 1924: 2301 movs r3, #1 + 1926: 401d ands r5, r3 + 1928: 5ca3 ldrb r3, [r4, r2] + 192a: 2001 movs r0, #1 + 192c: 4383 bics r3, r0 + 192e: 432b orrs r3, r5 + 1930: 54a3 strb r3, [r4, r2] +} + 1932: bd70 pop {r4, r5, r6, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 18cc: 0022 movs r2, r4 - 18ce: 2300 movs r3, #0 - 18d0: 4802 ldr r0, [pc, #8] ; (18dc ) - 18d2: 4903 ldr r1, [pc, #12] ; (18e0 ) - 18d4: 4788 blx r1 - 18d6: e7fe b.n 18d6 - 18d8: 00001415 .word 0x00001415 - 18dc: 0001886c .word 0x0001886c - 18e0: 0000141d .word 0x0000141d - -000018e4 : -{ - 18e4: b5f0 push {r4, r5, r6, r7, lr} - 18e6: b087 sub sp, #28 - 18e8: 0007 movs r7, r0 - 18ea: 000c movs r4, r1 - 18ec: 9201 str r2, [sp, #4] - 18ee: 001e movs r6, r3 + 1934: 0022 movs r2, r4 + 1936: 2300 movs r3, #0 + 1938: 4802 ldr r0, [pc, #8] ; (1944 ) + 193a: 4903 ldr r1, [pc, #12] ; (1948 ) + 193c: 4788 blx r1 + 193e: e7fe b.n 193e + 1940: 0000147d .word 0x0000147d + 1944: 000188fc .word 0x000188fc + 1948: 00001485 .word 0x00001485 + +0000194c : +{ + 194c: b5f0 push {r4, r5, r6, r7, lr} + 194e: b087 sub sp, #28 + 1950: 0007 movs r7, r0 + 1952: 000c movs r4, r1 + 1954: 9201 str r2, [sp, #4] + 1956: 001e movs r6, r3 if(obj != NULL) { - 18f0: 2900 cmp r1, #0 - 18f2: d004 beq.n 18fe + 1958: 2900 cmp r1, #0 + 195a: d004 beq.n 1966 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 18f4: 0008 movs r0, r1 - 18f6: 4b25 ldr r3, [pc, #148] ; (198c ) - 18f8: 4798 blx r3 - 18fa: 2800 cmp r0, #0 - 18fc: d03c beq.n 1978 + 195c: 0008 movs r0, r1 + 195e: 4b25 ldr r3, [pc, #148] ; (19f4 ) + 1960: 4798 blx r3 + 1962: 2800 cmp r0, #0 + 1964: d03c beq.n 19e0 event_temp_data.obj = obj; - 18fe: ab03 add r3, sp, #12 - 1900: 9403 str r4, [sp, #12] + 1966: ab03 add r3, sp, #12 + 1968: 9403 str r4, [sp, #12] event_temp_data.deleted = false; - 1902: 2200 movs r2, #0 - 1904: 711a strb r2, [r3, #4] + 196a: 2200 movs r2, #0 + 196c: 711a strb r2, [r3, #4] event_temp_data.prev = NULL; - 1906: 9205 str r2, [sp, #20] + 196e: 9205 str r2, [sp, #20] if(event_temp_data_head) { - 1908: 4b21 ldr r3, [pc, #132] ; (1990 ) - 190a: 681b ldr r3, [r3, #0] - 190c: 2b00 cmp r3, #0 - 190e: d000 beq.n 1912 + 1970: 4b21 ldr r3, [pc, #132] ; (19f8 ) + 1972: 681b ldr r3, [r3, #0] + 1974: 2b00 cmp r3, #0 + 1976: d000 beq.n 197a event_temp_data.prev = event_temp_data_head; - 1910: 9305 str r3, [sp, #20] + 1978: 9305 str r3, [sp, #20] event_temp_data_head = &event_temp_data; - 1912: aa03 add r2, sp, #12 - 1914: 4b1e ldr r3, [pc, #120] ; (1990 ) - 1916: 601a str r2, [r3, #0] + 197a: aa03 add r2, sp, #12 + 197c: 4b1e ldr r3, [pc, #120] ; (19f8 ) + 197e: 601a str r2, [r3, #0] const void * event_act_data_save = event_act_data; - 1918: 4b1e ldr r3, [pc, #120] ; (1994 ) - 191a: 681d ldr r5, [r3, #0] + 1980: 4b1e ldr r3, [pc, #120] ; (19fc ) + 1982: 681d ldr r5, [r3, #0] event_act_data = data; - 191c: 601e str r6, [r3, #0] + 1984: 601e str r6, [r3, #0] lv_indev_t * indev_act = lv_indev_get_act(); - 191e: 4b1e ldr r3, [pc, #120] ; (1998 ) - 1920: 4798 blx r3 + 1986: 4b1e ldr r3, [pc, #120] ; (1a00 ) + 1988: 4798 blx r3 if(indev_act) { - 1922: 2800 cmp r0, #0 - 1924: d004 beq.n 1930 + 198a: 2800 cmp r0, #0 + 198c: d004 beq.n 1998 if(indev_act->driver.feedback_cb) indev_act->driver.feedback_cb(&indev_act->driver, event); - 1926: 6883 ldr r3, [r0, #8] - 1928: 2b00 cmp r3, #0 - 192a: d001 beq.n 1930 - 192c: 9901 ldr r1, [sp, #4] - 192e: 4798 blx r3 + 198e: 6883 ldr r3, [r0, #8] + 1990: 2b00 cmp r3, #0 + 1992: d001 beq.n 1998 + 1994: 9901 ldr r1, [sp, #4] + 1996: 4798 blx r3 if(event_xcb) event_xcb(obj, event); - 1930: 2f00 cmp r7, #0 - 1932: d002 beq.n 193a - 1934: 9901 ldr r1, [sp, #4] - 1936: 0020 movs r0, r4 - 1938: 47b8 blx r7 + 1998: 2f00 cmp r7, #0 + 199a: d002 beq.n 19a2 + 199c: 9901 ldr r1, [sp, #4] + 199e: 0020 movs r0, r4 + 19a0: 47b8 blx r7 event_act_data = event_act_data_save; - 193a: 4b16 ldr r3, [pc, #88] ; (1994 ) - 193c: 601d str r5, [r3, #0] + 19a2: 4b16 ldr r3, [pc, #88] ; (19fc ) + 19a4: 601d str r5, [r3, #0] event_temp_data_head = event_temp_data_head->prev; - 193e: 4b14 ldr r3, [pc, #80] ; (1990 ) - 1940: 681a ldr r2, [r3, #0] - 1942: 6892 ldr r2, [r2, #8] - 1944: 601a str r2, [r3, #0] + 19a6: 4b14 ldr r3, [pc, #80] ; (19f8 ) + 19a8: 681a ldr r2, [r3, #0] + 19aa: 6892 ldr r2, [r2, #8] + 19ac: 601a str r2, [r3, #0] if(event_temp_data.deleted) { - 1946: ab03 add r3, sp, #12 - 1948: 791b ldrb r3, [r3, #4] + 19ae: ab03 add r3, sp, #12 + 19b0: 791b ldrb r3, [r3, #4] return LV_RES_INV; - 194a: 2000 movs r0, #0 + 19b2: 2000 movs r0, #0 if(event_temp_data.deleted) { - 194c: 2b00 cmp r3, #0 - 194e: d111 bne.n 1974 + 19b4: 2b00 cmp r3, #0 + 19b6: d111 bne.n 19dc if(obj) { - 1950: 2c00 cmp r4, #0 - 1952: d017 beq.n 1984 + 19b8: 2c00 cmp r4, #0 + 19ba: d017 beq.n 19ec if(obj->parent_event && obj->parent) { - 1954: 3334 adds r3, #52 ; 0x34 - 1956: 5ce3 ldrb r3, [r4, r3] + 19bc: 3334 adds r3, #52 ; 0x34 + 19be: 5ce3 ldrb r3, [r4, r3] return LV_RES_OK; - 1958: 3001 adds r0, #1 + 19c0: 3001 adds r0, #1 if(obj->parent_event && obj->parent) { - 195a: 065b lsls r3, r3, #25 - 195c: d50a bpl.n 1974 - 195e: 6820 ldr r0, [r4, #0] - 1960: 2800 cmp r0, #0 - 1962: d011 beq.n 1988 + 19c2: 065b lsls r3, r3, #25 + 19c4: d50a bpl.n 19dc + 19c6: 6820 ldr r0, [r4, #0] + 19c8: 2800 cmp r0, #0 + 19ca: d011 beq.n 19f0 lv_res_t res = lv_event_send(obj->parent, event, data); - 1964: 0032 movs r2, r6 - 1966: 9901 ldr r1, [sp, #4] - 1968: 4b0c ldr r3, [pc, #48] ; (199c ) - 196a: 4798 blx r3 + 19cc: 0032 movs r2, r6 + 19ce: 9901 ldr r1, [sp, #4] + 19d0: 4b0c ldr r3, [pc, #48] ; (1a04 ) + 19d2: 4798 blx r3 if(res != LV_RES_OK) { - 196c: 3801 subs r0, #1 - 196e: 4242 negs r2, r0 - 1970: 4142 adcs r2, r0 + 19d4: 3801 subs r0, #1 + 19d6: 4242 negs r2, r0 + 19d8: 4142 adcs r2, r0 return LV_RES_INV; - 1972: b2d0 uxtb r0, r2 + 19da: b2d0 uxtb r0, r2 } - 1974: b007 add sp, #28 - 1976: bdf0 pop {r4, r5, r6, r7, pc} + 19dc: b007 add sp, #28 + 19de: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1978: 0022 movs r2, r4 - 197a: 2300 movs r3, #0 - 197c: 4808 ldr r0, [pc, #32] ; (19a0 ) - 197e: 4909 ldr r1, [pc, #36] ; (19a4 ) - 1980: 4788 blx r1 - 1982: e7fe b.n 1982 + 19e0: 0022 movs r2, r4 + 19e2: 2300 movs r3, #0 + 19e4: 4808 ldr r0, [pc, #32] ; (1a08 ) + 19e6: 4909 ldr r1, [pc, #36] ; (1a0c ) + 19e8: 4788 blx r1 + 19ea: e7fe b.n 19ea return LV_RES_OK; - 1984: 2001 movs r0, #1 - 1986: e7f5 b.n 1974 - 1988: 2001 movs r0, #1 - 198a: e7f3 b.n 1974 - 198c: 00001415 .word 0x00001415 - 1990: 200026e0 .word 0x200026e0 - 1994: 200026dc .word 0x200026dc - 1998: 00001705 .word 0x00001705 - 199c: 000019a9 .word 0x000019a9 - 19a0: 0001886c .word 0x0001886c - 19a4: 0000141d .word 0x0000141d - -000019a8 : -{ - 19a8: b570 push {r4, r5, r6, lr} - 19aa: 0004 movs r4, r0 - 19ac: 000d movs r5, r1 - 19ae: 0016 movs r6, r2 + 19ec: 2001 movs r0, #1 + 19ee: e7f5 b.n 19dc + 19f0: 2001 movs r0, #1 + 19f2: e7f3 b.n 19dc + 19f4: 0000147d .word 0x0000147d + 19f8: 200026e0 .word 0x200026e0 + 19fc: 200026dc .word 0x200026dc + 1a00: 0000176d .word 0x0000176d + 1a04: 00001a11 .word 0x00001a11 + 1a08: 000188fc .word 0x000188fc + 1a0c: 00001485 .word 0x00001485 + +00001a10 : +{ + 1a10: b570 push {r4, r5, r6, lr} + 1a12: 0004 movs r4, r0 + 1a14: 000d movs r5, r1 + 1a16: 0016 movs r6, r2 if(obj == NULL) return LV_RES_OK; - 19b0: 2800 cmp r0, #0 - 19b2: d010 beq.n 19d6 + 1a18: 2800 cmp r0, #0 + 1a1a: d010 beq.n 1a3e LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 19b4: 4b09 ldr r3, [pc, #36] ; (19dc ) - 19b6: 4798 blx r3 - 19b8: 2800 cmp r0, #0 - 19ba: d105 bne.n 19c8 - 19bc: 0022 movs r2, r4 - 19be: 2300 movs r3, #0 - 19c0: 4807 ldr r0, [pc, #28] ; (19e0 ) - 19c2: 4908 ldr r1, [pc, #32] ; (19e4 ) - 19c4: 4788 blx r1 - 19c6: e7fe b.n 19c6 + 1a1c: 4b09 ldr r3, [pc, #36] ; (1a44 ) + 1a1e: 4798 blx r3 + 1a20: 2800 cmp r0, #0 + 1a22: d105 bne.n 1a30 + 1a24: 0022 movs r2, r4 + 1a26: 2300 movs r3, #0 + 1a28: 4807 ldr r0, [pc, #28] ; (1a48 ) + 1a2a: 4908 ldr r1, [pc, #32] ; (1a4c ) + 1a2c: 4788 blx r1 + 1a2e: e7fe b.n 1a2e res = lv_event_send_func(obj->event_cb, obj, event, data); - 19c8: 69a0 ldr r0, [r4, #24] - 19ca: 0033 movs r3, r6 - 19cc: 002a movs r2, r5 - 19ce: 0021 movs r1, r4 - 19d0: 4c05 ldr r4, [pc, #20] ; (19e8 ) - 19d2: 47a0 blx r4 -} - 19d4: bd70 pop {r4, r5, r6, pc} + 1a30: 69a0 ldr r0, [r4, #24] + 1a32: 0033 movs r3, r6 + 1a34: 002a movs r2, r5 + 1a36: 0021 movs r1, r4 + 1a38: 4c05 ldr r4, [pc, #20] ; (1a50 ) + 1a3a: 47a0 blx r4 +} + 1a3c: bd70 pop {r4, r5, r6, pc} if(obj == NULL) return LV_RES_OK; - 19d6: 2001 movs r0, #1 - 19d8: e7fc b.n 19d4 - 19da: 46c0 nop ; (mov r8, r8) - 19dc: 00001415 .word 0x00001415 - 19e0: 0001886c .word 0x0001886c - 19e4: 0000141d .word 0x0000141d - 19e8: 000018e5 .word 0x000018e5 + 1a3e: 2001 movs r0, #1 + 1a40: e7fc b.n 1a3c + 1a42: 46c0 nop ; (mov r8, r8) + 1a44: 0000147d .word 0x0000147d + 1a48: 000188fc .word 0x000188fc + 1a4c: 00001485 .word 0x00001485 + 1a50: 0000194d .word 0x0000194d -000019ec : +00001a54 : { - 19ec: b510 push {r4, lr} + 1a54: b510 push {r4, lr} if(obj == NULL) return LV_RES_OK; - 19ee: 2800 cmp r0, #0 - 19f0: d004 beq.n 19fc + 1a56: 2800 cmp r0, #0 + 1a58: d004 beq.n 1a64 if(obj->signal_cb) res = obj->signal_cb(obj, signal, param); - 19f2: 69c3 ldr r3, [r0, #28] - 19f4: 2b00 cmp r3, #0 - 19f6: d003 beq.n 1a00 - 19f8: 4798 blx r3 + 1a5a: 69c3 ldr r3, [r0, #28] + 1a5c: 2b00 cmp r3, #0 + 1a5e: d003 beq.n 1a68 + 1a60: 4798 blx r3 } - 19fa: bd10 pop {r4, pc} + 1a62: bd10 pop {r4, pc} if(obj == NULL) return LV_RES_OK; - 19fc: 2001 movs r0, #1 - 19fe: e7fc b.n 19fa + 1a64: 2001 movs r0, #1 + 1a66: e7fc b.n 1a62 lv_res_t res = LV_RES_OK; - 1a00: 2001 movs r0, #1 - 1a02: e7fa b.n 19fa + 1a68: 2001 movs r0, #1 + 1a6a: e7fa b.n 1a62 -00001a04 : +00001a6c : { - 1a04: b510 push {r4, lr} - 1a06: 0004 movs r4, r0 + 1a6c: b510 push {r4, lr} + 1a6e: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1a08: 4b08 ldr r3, [pc, #32] ; (1a2c ) - 1a0a: 4798 blx r3 - 1a0c: 2800 cmp r0, #0 - 1a0e: d105 bne.n 1a1c - 1a10: 0022 movs r2, r4 - 1a12: 2300 movs r3, #0 - 1a14: 4806 ldr r0, [pc, #24] ; (1a30 ) - 1a16: 4907 ldr r1, [pc, #28] ; (1a34 ) - 1a18: 4788 blx r1 - 1a1a: e7fe b.n 1a1a + 1a70: 4b08 ldr r3, [pc, #32] ; (1a94 ) + 1a72: 4798 blx r3 + 1a74: 2800 cmp r0, #0 + 1a76: d105 bne.n 1a84 + 1a78: 0022 movs r2, r4 + 1a7a: 2300 movs r3, #0 + 1a7c: 4806 ldr r0, [pc, #24] ; (1a98 ) + 1a7e: 4907 ldr r1, [pc, #28] ; (1a9c ) + 1a80: 4788 blx r1 + 1a82: e7fe b.n 1a82 obj->ext_draw_pad = 0; - 1a1c: 2300 movs r3, #0 - 1a1e: 8663 strh r3, [r4, #50] ; 0x32 + 1a84: 2300 movs r3, #0 + 1a86: 8663 strh r3, [r4, #50] ; 0x32 obj->signal_cb(obj, LV_SIGNAL_REFR_EXT_DRAW_PAD, NULL); - 1a20: 69e3 ldr r3, [r4, #28] - 1a22: 2200 movs r2, #0 - 1a24: 2106 movs r1, #6 - 1a26: 0020 movs r0, r4 - 1a28: 4798 blx r3 + 1a88: 69e3 ldr r3, [r4, #28] + 1a8a: 2200 movs r2, #0 + 1a8c: 2106 movs r1, #6 + 1a8e: 0020 movs r0, r4 + 1a90: 4798 blx r3 } - 1a2a: bd10 pop {r4, pc} - 1a2c: 00001415 .word 0x00001415 - 1a30: 0001886c .word 0x0001886c - 1a34: 0000141d .word 0x0000141d + 1a92: bd10 pop {r4, pc} + 1a94: 0000147d .word 0x0000147d + 1a98: 000188fc .word 0x000188fc + 1a9c: 00001485 .word 0x00001485 -00001a38 : +00001aa0 : { - 1a38: b510 push {r4, lr} - 1a3a: 0004 movs r4, r0 + 1aa0: b510 push {r4, lr} + 1aa2: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1a3c: 4b05 ldr r3, [pc, #20] ; (1a54 ) - 1a3e: 4798 blx r3 - 1a40: 2800 cmp r0, #0 - 1a42: d001 beq.n 1a48 + 1aa4: 4b05 ldr r3, [pc, #20] ; (1abc ) + 1aa6: 4798 blx r3 + 1aa8: 2800 cmp r0, #0 + 1aaa: d001 beq.n 1ab0 return obj->parent; - 1a44: 6820 ldr r0, [r4, #0] + 1aac: 6820 ldr r0, [r4, #0] } - 1a46: bd10 pop {r4, pc} + 1aae: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1a48: 0022 movs r2, r4 - 1a4a: 2300 movs r3, #0 - 1a4c: 4802 ldr r0, [pc, #8] ; (1a58 ) - 1a4e: 4903 ldr r1, [pc, #12] ; (1a5c ) - 1a50: 4788 blx r1 - 1a52: e7fe b.n 1a52 - 1a54: 00001415 .word 0x00001415 - 1a58: 0001886c .word 0x0001886c - 1a5c: 0000141d .word 0x0000141d - -00001a60 : -{ - 1a60: b570 push {r4, r5, r6, lr} - 1a62: 0004 movs r4, r0 + 1ab0: 0022 movs r2, r4 + 1ab2: 2300 movs r3, #0 + 1ab4: 4802 ldr r0, [pc, #8] ; (1ac0 ) + 1ab6: 4903 ldr r1, [pc, #12] ; (1ac4 ) + 1ab8: 4788 blx r1 + 1aba: e7fe b.n 1aba + 1abc: 0000147d .word 0x0000147d + 1ac0: 000188fc .word 0x000188fc + 1ac4: 00001485 .word 0x00001485 + +00001ac8 : +{ + 1ac8: b570 push {r4, r5, r6, lr} + 1aca: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1a64: 4b09 ldr r3, [pc, #36] ; (1a8c ) - 1a66: 4798 blx r3 - 1a68: 2800 cmp r0, #0 - 1a6a: d001 beq.n 1a70 + 1acc: 4b09 ldr r3, [pc, #36] ; (1af4 ) + 1ace: 4798 blx r3 + 1ad0: 2800 cmp r0, #0 + 1ad2: d001 beq.n 1ad8 par = lv_obj_get_parent(act_p); - 1a6c: 4d08 ldr r5, [pc, #32] ; (1a90 ) - 1a6e: e006 b.n 1a7e + 1ad4: 4d08 ldr r5, [pc, #32] ; (1af8 ) + 1ad6: e006 b.n 1ae6 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1a70: 0022 movs r2, r4 - 1a72: 2300 movs r3, #0 - 1a74: 4807 ldr r0, [pc, #28] ; (1a94 ) - 1a76: 4908 ldr r1, [pc, #32] ; (1a98 ) - 1a78: 4788 blx r1 - 1a7a: e7fe b.n 1a7a + 1ad8: 0022 movs r2, r4 + 1ada: 2300 movs r3, #0 + 1adc: 4807 ldr r0, [pc, #28] ; (1afc ) + 1ade: 4908 ldr r1, [pc, #32] ; (1b00 ) + 1ae0: 4788 blx r1 + 1ae2: e7fe b.n 1ae2 par = lv_obj_get_parent(act_p); - 1a7c: 0004 movs r4, r0 - 1a7e: 0020 movs r0, r4 - 1a80: 47a8 blx r5 + 1ae4: 0004 movs r4, r0 + 1ae6: 0020 movs r0, r4 + 1ae8: 47a8 blx r5 } while(par != NULL); - 1a82: 2800 cmp r0, #0 - 1a84: d1fa bne.n 1a7c -} - 1a86: 0020 movs r0, r4 - 1a88: bd70 pop {r4, r5, r6, pc} - 1a8a: 46c0 nop ; (mov r8, r8) - 1a8c: 00001415 .word 0x00001415 - 1a90: 00001a39 .word 0x00001a39 - 1a94: 0001886c .word 0x0001886c - 1a98: 0000141d .word 0x0000141d - -00001a9c : -{ - 1a9c: b5f0 push {r4, r5, r6, r7, lr} - 1a9e: 46c6 mov lr, r8 - 1aa0: b500 push {lr} - 1aa2: 0004 movs r4, r0 + 1aea: 2800 cmp r0, #0 + 1aec: d1fa bne.n 1ae4 +} + 1aee: 0020 movs r0, r4 + 1af0: bd70 pop {r4, r5, r6, pc} + 1af2: 46c0 nop ; (mov r8, r8) + 1af4: 0000147d .word 0x0000147d + 1af8: 00001aa1 .word 0x00001aa1 + 1afc: 000188fc .word 0x000188fc + 1b00: 00001485 .word 0x00001485 + +00001b04 : +{ + 1b04: b5f0 push {r4, r5, r6, r7, lr} + 1b06: 46c6 mov lr, r8 + 1b08: b500 push {lr} + 1b0a: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1aa4: 4b19 ldr r3, [pc, #100] ; (1b0c ) - 1aa6: 4798 blx r3 - 1aa8: 2800 cmp r0, #0 - 1aaa: d00f beq.n 1acc + 1b0c: 4b19 ldr r3, [pc, #100] ; (1b74 ) + 1b0e: 4798 blx r3 + 1b10: 2800 cmp r0, #0 + 1b12: d00f beq.n 1b34 if(obj->parent == NULL) - 1aac: 6823 ldr r3, [r4, #0] - 1aae: 2b00 cmp r3, #0 - 1ab0: d003 beq.n 1aba + 1b14: 6823 ldr r3, [r4, #0] + 1b16: 2b00 cmp r3, #0 + 1b18: d003 beq.n 1b22 scr = lv_obj_get_screen(obj); /*get the screen of `obj`*/ - 1ab2: 0020 movs r0, r4 - 1ab4: 4b16 ldr r3, [pc, #88] ; (1b10 ) - 1ab6: 4798 blx r3 - 1ab8: 0004 movs r4, r0 + 1b1a: 0020 movs r0, r4 + 1b1c: 4b16 ldr r3, [pc, #88] ; (1b78 ) + 1b1e: 4798 blx r3 + 1b20: 0004 movs r4, r0 _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 1aba: 4816 ldr r0, [pc, #88] ; (1b14 ) - 1abc: 4b16 ldr r3, [pc, #88] ; (1b18 ) - 1abe: 4798 blx r3 - 1ac0: 1e07 subs r7, r0, #0 - 1ac2: d01e beq.n 1b02 + 1b22: 4816 ldr r0, [pc, #88] ; (1b7c ) + 1b24: 4b16 ldr r3, [pc, #88] ; (1b80 ) + 1b26: 4798 blx r3 + 1b28: 1e07 subs r7, r0, #0 + 1b2a: d01e beq.n 1b6a _LV_LL_READ(d->scr_ll, s) { - 1ac4: 4b14 ldr r3, [pc, #80] ; (1b18 ) - 1ac6: 4698 mov r8, r3 - 1ac8: 4e14 ldr r6, [pc, #80] ; (1b1c ) - 1aca: e00b b.n 1ae4 + 1b2c: 4b14 ldr r3, [pc, #80] ; (1b80 ) + 1b2e: 4698 mov r8, r3 + 1b30: 4e14 ldr r6, [pc, #80] ; (1b84 ) + 1b32: e00b b.n 1b4c LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1acc: 0022 movs r2, r4 - 1ace: 2300 movs r3, #0 - 1ad0: 4813 ldr r0, [pc, #76] ; (1b20 ) - 1ad2: 4914 ldr r1, [pc, #80] ; (1b24 ) - 1ad4: 4788 blx r1 - 1ad6: e7fe b.n 1ad6 + 1b34: 0022 movs r2, r4 + 1b36: 2300 movs r3, #0 + 1b38: 4813 ldr r0, [pc, #76] ; (1b88 ) + 1b3a: 4914 ldr r1, [pc, #80] ; (1b8c ) + 1b3c: 4788 blx r1 + 1b3e: e7fe b.n 1b3e _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 1ad8: 0039 movs r1, r7 - 1ada: 480e ldr r0, [pc, #56] ; (1b14 ) - 1adc: 4b0f ldr r3, [pc, #60] ; (1b1c ) - 1ade: 4798 blx r3 - 1ae0: 1e07 subs r7, r0, #0 - 1ae2: d00e beq.n 1b02 + 1b40: 0039 movs r1, r7 + 1b42: 480e ldr r0, [pc, #56] ; (1b7c ) + 1b44: 4b0f ldr r3, [pc, #60] ; (1b84 ) + 1b46: 4798 blx r3 + 1b48: 1e07 subs r7, r0, #0 + 1b4a: d00e beq.n 1b6a _LV_LL_READ(d->scr_ll, s) { - 1ae4: 003d movs r5, r7 - 1ae6: 3530 adds r5, #48 ; 0x30 - 1ae8: 0028 movs r0, r5 - 1aea: 47c0 blx r8 - 1aec: 2800 cmp r0, #0 - 1aee: d0f3 beq.n 1ad8 + 1b4c: 003d movs r5, r7 + 1b4e: 3530 adds r5, #48 ; 0x30 + 1b50: 0028 movs r0, r5 + 1b52: 47c0 blx r8 + 1b54: 2800 cmp r0, #0 + 1b56: d0f3 beq.n 1b40 if(s == scr) return d; - 1af0: 4284 cmp r4, r0 - 1af2: d006 beq.n 1b02 + 1b58: 4284 cmp r4, r0 + 1b5a: d006 beq.n 1b6a _LV_LL_READ(d->scr_ll, s) { - 1af4: 0001 movs r1, r0 - 1af6: 0028 movs r0, r5 - 1af8: 47b0 blx r6 - 1afa: 2800 cmp r0, #0 - 1afc: d0ec beq.n 1ad8 + 1b5c: 0001 movs r1, r0 + 1b5e: 0028 movs r0, r5 + 1b60: 47b0 blx r6 + 1b62: 2800 cmp r0, #0 + 1b64: d0ec beq.n 1b40 if(s == scr) return d; - 1afe: 4284 cmp r4, r0 - 1b00: d1f8 bne.n 1af4 -} - 1b02: 0038 movs r0, r7 - 1b04: bc04 pop {r2} - 1b06: 4690 mov r8, r2 - 1b08: bdf0 pop {r4, r5, r6, r7, pc} - 1b0a: 46c0 nop ; (mov r8, r8) - 1b0c: 00001415 .word 0x00001415 - 1b10: 00001a61 .word 0x00001a61 - 1b14: 20004cc4 .word 0x20004cc4 - 1b18: 00010605 .word 0x00010605 - 1b1c: 0001061d .word 0x0001061d - 1b20: 0001886c .word 0x0001886c - 1b24: 0000141d .word 0x0000141d - -00001b28 : -{ - 1b28: b570 push {r4, r5, r6, lr} - 1b2a: 0004 movs r4, r0 - 1b2c: 000d movs r5, r1 + 1b66: 4284 cmp r4, r0 + 1b68: d1f8 bne.n 1b5c +} + 1b6a: 0038 movs r0, r7 + 1b6c: bc04 pop {r2} + 1b6e: 4690 mov r8, r2 + 1b70: bdf0 pop {r4, r5, r6, r7, pc} + 1b72: 46c0 nop ; (mov r8, r8) + 1b74: 0000147d .word 0x0000147d + 1b78: 00001ac9 .word 0x00001ac9 + 1b7c: 20004cc4 .word 0x20004cc4 + 1b80: 0001066d .word 0x0001066d + 1b84: 00010685 .word 0x00010685 + 1b88: 000188fc .word 0x000188fc + 1b8c: 00001485 .word 0x00001485 + +00001b90 : +{ + 1b90: b570 push {r4, r5, r6, lr} + 1b92: 0004 movs r4, r0 + 1b94: 000d movs r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1b2e: 4b0a ldr r3, [pc, #40] ; (1b58 ) - 1b30: 4798 blx r3 - 1b32: 2800 cmp r0, #0 - 1b34: d006 beq.n 1b44 + 1b96: 4b0a ldr r3, [pc, #40] ; (1bc0 ) + 1b98: 4798 blx r3 + 1b9a: 2800 cmp r0, #0 + 1b9c: d006 beq.n 1bac if(child == NULL) { - 1b36: 2d00 cmp r5, #0 - 1b38: d00a beq.n 1b50 + 1b9e: 2d00 cmp r5, #0 + 1ba0: d00a beq.n 1bb8 result = _lv_ll_get_next(&obj->child_ll, child); - 1b3a: 1d20 adds r0, r4, #4 - 1b3c: 0029 movs r1, r5 - 1b3e: 4b07 ldr r3, [pc, #28] ; (1b5c ) - 1b40: 4798 blx r3 + 1ba2: 1d20 adds r0, r4, #4 + 1ba4: 0029 movs r1, r5 + 1ba6: 4b07 ldr r3, [pc, #28] ; (1bc4 ) + 1ba8: 4798 blx r3 } - 1b42: bd70 pop {r4, r5, r6, pc} + 1baa: bd70 pop {r4, r5, r6, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1b44: 0022 movs r2, r4 - 1b46: 2300 movs r3, #0 - 1b48: 4805 ldr r0, [pc, #20] ; (1b60 ) - 1b4a: 4906 ldr r1, [pc, #24] ; (1b64 ) - 1b4c: 4788 blx r1 - 1b4e: e7fe b.n 1b4e + 1bac: 0022 movs r2, r4 + 1bae: 2300 movs r3, #0 + 1bb0: 4805 ldr r0, [pc, #20] ; (1bc8 ) + 1bb2: 4906 ldr r1, [pc, #24] ; (1bcc ) + 1bb4: 4788 blx r1 + 1bb6: e7fe b.n 1bb6 result = _lv_ll_get_head(&obj->child_ll); - 1b50: 1d20 adds r0, r4, #4 - 1b52: 4b05 ldr r3, [pc, #20] ; (1b68 ) - 1b54: 4798 blx r3 - 1b56: e7f4 b.n 1b42 - 1b58: 00001415 .word 0x00001415 - 1b5c: 0001061d .word 0x0001061d - 1b60: 0001886c .word 0x0001886c - 1b64: 0000141d .word 0x0000141d - 1b68: 00010605 .word 0x00010605 - -00001b6c : -{ - 1b6c: b570 push {r4, r5, r6, lr} - 1b6e: 0004 movs r4, r0 - 1b70: 000d movs r5, r1 + 1bb8: 1d20 adds r0, r4, #4 + 1bba: 4b05 ldr r3, [pc, #20] ; (1bd0 ) + 1bbc: 4798 blx r3 + 1bbe: e7f4 b.n 1baa + 1bc0: 0000147d .word 0x0000147d + 1bc4: 00010685 .word 0x00010685 + 1bc8: 000188fc .word 0x000188fc + 1bcc: 00001485 .word 0x00001485 + 1bd0: 0001066d .word 0x0001066d + +00001bd4 : +{ + 1bd4: b570 push {r4, r5, r6, lr} + 1bd6: 0004 movs r4, r0 + 1bd8: 000d movs r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1b72: 4b0a ldr r3, [pc, #40] ; (1b9c ) - 1b74: 4798 blx r3 - 1b76: 2800 cmp r0, #0 - 1b78: d009 beq.n 1b8e - 1b7a: 0020 movs r0, r4 - 1b7c: 3018 adds r0, #24 + 1bda: 4b0a ldr r3, [pc, #40] ; (1c04 ) + 1bdc: 4798 blx r3 + 1bde: 2800 cmp r0, #0 + 1be0: d009 beq.n 1bf6 + 1be2: 0020 movs r0, r4 + 1be4: 3018 adds r0, #24 * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; const uint8_t * s8 = (const uint8_t *)src; - 1b7e: 3410 adds r4, #16 + 1be6: 3410 adds r4, #16 while(len) { *d8 = *s8; - 1b80: 7821 ldrb r1, [r4, #0] - 1b82: 7029 strb r1, [r5, #0] + 1be8: 7821 ldrb r1, [r4, #0] + 1bea: 7029 strb r1, [r5, #0] d8++; - 1b84: 3501 adds r5, #1 + 1bec: 3501 adds r5, #1 s8++; - 1b86: 3401 adds r4, #1 + 1bee: 3401 adds r4, #1 while(len) { - 1b88: 42a0 cmp r0, r4 - 1b8a: d1f9 bne.n 1b80 + 1bf0: 42a0 cmp r0, r4 + 1bf2: d1f9 bne.n 1be8 } - 1b8c: bd70 pop {r4, r5, r6, pc} + 1bf4: bd70 pop {r4, r5, r6, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1b8e: 0022 movs r2, r4 - 1b90: 2300 movs r3, #0 - 1b92: 4803 ldr r0, [pc, #12] ; (1ba0 ) - 1b94: 4903 ldr r1, [pc, #12] ; (1ba4 ) - 1b96: 4788 blx r1 - 1b98: e7fe b.n 1b98 - 1b9a: 46c0 nop ; (mov r8, r8) - 1b9c: 00001415 .word 0x00001415 - 1ba0: 0001886c .word 0x0001886c - 1ba4: 0000141d .word 0x0000141d - -00001ba8 : -{ - 1ba8: b510 push {r4, lr} - 1baa: 0004 movs r4, r0 + 1bf6: 0022 movs r2, r4 + 1bf8: 2300 movs r3, #0 + 1bfa: 4803 ldr r0, [pc, #12] ; (1c08 ) + 1bfc: 4903 ldr r1, [pc, #12] ; (1c0c ) + 1bfe: 4788 blx r1 + 1c00: e7fe b.n 1c00 + 1c02: 46c0 nop ; (mov r8, r8) + 1c04: 0000147d .word 0x0000147d + 1c08: 000188fc .word 0x000188fc + 1c0c: 00001485 .word 0x00001485 + +00001c10 : +{ + 1c10: b510 push {r4, lr} + 1c12: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1bac: 4b0b ldr r3, [pc, #44] ; (1bdc ) - 1bae: 4798 blx r3 - 1bb0: 2800 cmp r0, #0 - 1bb2: d105 bne.n 1bc0 - 1bb4: 0022 movs r2, r4 - 1bb6: 2300 movs r3, #0 - 1bb8: 4809 ldr r0, [pc, #36] ; (1be0 ) - 1bba: 490a ldr r1, [pc, #40] ; (1be4 ) - 1bbc: 4788 blx r1 - 1bbe: e7fe b.n 1bbe + 1c14: 4b0b ldr r3, [pc, #44] ; (1c44 ) + 1c16: 4798 blx r3 + 1c18: 2800 cmp r0, #0 + 1c1a: d105 bne.n 1c28 + 1c1c: 0022 movs r2, r4 + 1c1e: 2300 movs r3, #0 + 1c20: 4809 ldr r0, [pc, #36] ; (1c48 ) + 1c22: 490a ldr r1, [pc, #40] ; (1c4c ) + 1c24: 4788 blx r1 + 1c26: e7fe b.n 1c26 lv_obj_t * parent = lv_obj_get_parent(obj); - 1bc0: 0020 movs r0, r4 - 1bc2: 4b09 ldr r3, [pc, #36] ; (1be8 ) - 1bc4: 4798 blx r3 + 1c28: 0020 movs r0, r4 + 1c2a: 4b09 ldr r3, [pc, #36] ; (1c50 ) + 1c2c: 4798 blx r3 if(parent) { - 1bc6: 2800 cmp r0, #0 - 1bc8: d004 beq.n 1bd4 + 1c2e: 2800 cmp r0, #0 + 1c30: d004 beq.n 1c3c rel_x = obj->coords.x1 - parent->coords.x1; - 1bca: 8a23 ldrh r3, [r4, #16] - 1bcc: 8a00 ldrh r0, [r0, #16] - 1bce: 1a18 subs r0, r3, r0 - 1bd0: b200 sxth r0, r0 + 1c32: 8a23 ldrh r3, [r4, #16] + 1c34: 8a00 ldrh r0, [r0, #16] + 1c36: 1a18 subs r0, r3, r0 + 1c38: b200 sxth r0, r0 } - 1bd2: bd10 pop {r4, pc} + 1c3a: bd10 pop {r4, pc} rel_x = obj->coords.x1; - 1bd4: 2310 movs r3, #16 - 1bd6: 5ee0 ldrsh r0, [r4, r3] - 1bd8: e7fb b.n 1bd2 - 1bda: 46c0 nop ; (mov r8, r8) - 1bdc: 00001415 .word 0x00001415 - 1be0: 0001886c .word 0x0001886c - 1be4: 0000141d .word 0x0000141d - 1be8: 00001a39 .word 0x00001a39 - -00001bec : -{ - 1bec: b510 push {r4, lr} - 1bee: 0004 movs r4, r0 + 1c3c: 2310 movs r3, #16 + 1c3e: 5ee0 ldrsh r0, [r4, r3] + 1c40: e7fb b.n 1c3a + 1c42: 46c0 nop ; (mov r8, r8) + 1c44: 0000147d .word 0x0000147d + 1c48: 000188fc .word 0x000188fc + 1c4c: 00001485 .word 0x00001485 + 1c50: 00001aa1 .word 0x00001aa1 + +00001c54 : +{ + 1c54: b510 push {r4, lr} + 1c56: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1bf0: 4b0b ldr r3, [pc, #44] ; (1c20 ) - 1bf2: 4798 blx r3 - 1bf4: 2800 cmp r0, #0 - 1bf6: d105 bne.n 1c04 - 1bf8: 0022 movs r2, r4 - 1bfa: 2300 movs r3, #0 - 1bfc: 4809 ldr r0, [pc, #36] ; (1c24 ) - 1bfe: 490a ldr r1, [pc, #40] ; (1c28 ) - 1c00: 4788 blx r1 - 1c02: e7fe b.n 1c02 + 1c58: 4b0b ldr r3, [pc, #44] ; (1c88 ) + 1c5a: 4798 blx r3 + 1c5c: 2800 cmp r0, #0 + 1c5e: d105 bne.n 1c6c + 1c60: 0022 movs r2, r4 + 1c62: 2300 movs r3, #0 + 1c64: 4809 ldr r0, [pc, #36] ; (1c8c ) + 1c66: 490a ldr r1, [pc, #40] ; (1c90 ) + 1c68: 4788 blx r1 + 1c6a: e7fe b.n 1c6a lv_obj_t * parent = lv_obj_get_parent(obj); - 1c04: 0020 movs r0, r4 - 1c06: 4b09 ldr r3, [pc, #36] ; (1c2c ) - 1c08: 4798 blx r3 + 1c6c: 0020 movs r0, r4 + 1c6e: 4b09 ldr r3, [pc, #36] ; (1c94 ) + 1c70: 4798 blx r3 if(parent) { - 1c0a: 2800 cmp r0, #0 - 1c0c: d004 beq.n 1c18 + 1c72: 2800 cmp r0, #0 + 1c74: d004 beq.n 1c80 rel_y = obj->coords.y1 - parent->coords.y1; - 1c0e: 8a63 ldrh r3, [r4, #18] - 1c10: 8a40 ldrh r0, [r0, #18] - 1c12: 1a18 subs r0, r3, r0 - 1c14: b200 sxth r0, r0 + 1c76: 8a63 ldrh r3, [r4, #18] + 1c78: 8a40 ldrh r0, [r0, #18] + 1c7a: 1a18 subs r0, r3, r0 + 1c7c: b200 sxth r0, r0 } - 1c16: bd10 pop {r4, pc} + 1c7e: bd10 pop {r4, pc} rel_y = obj->coords.y1; - 1c18: 2312 movs r3, #18 - 1c1a: 5ee0 ldrsh r0, [r4, r3] - 1c1c: e7fb b.n 1c16 - 1c1e: 46c0 nop ; (mov r8, r8) - 1c20: 00001415 .word 0x00001415 - 1c24: 0001886c .word 0x0001886c - 1c28: 0000141d .word 0x0000141d - 1c2c: 00001a39 .word 0x00001a39 - -00001c30 : -{ - 1c30: b510 push {r4, lr} - 1c32: 0004 movs r4, r0 + 1c80: 2312 movs r3, #18 + 1c82: 5ee0 ldrsh r0, [r4, r3] + 1c84: e7fb b.n 1c7e + 1c86: 46c0 nop ; (mov r8, r8) + 1c88: 0000147d .word 0x0000147d + 1c8c: 000188fc .word 0x000188fc + 1c90: 00001485 .word 0x00001485 + 1c94: 00001aa1 .word 0x00001aa1 + +00001c98 : +{ + 1c98: b510 push {r4, lr} + 1c9a: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1c34: 4b07 ldr r3, [pc, #28] ; (1c54 ) - 1c36: 4798 blx r3 - 1c38: 2800 cmp r0, #0 - 1c3a: d005 beq.n 1c48 + 1c9c: 4b07 ldr r3, [pc, #28] ; (1cbc ) + 1c9e: 4798 blx r3 + 1ca0: 2800 cmp r0, #0 + 1ca2: d005 beq.n 1cb0 * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1c3c: 8aa0 ldrh r0, [r4, #20] - 1c3e: 3001 adds r0, #1 - 1c40: 8a23 ldrh r3, [r4, #16] - 1c42: 1ac0 subs r0, r0, r3 + 1ca4: 8aa0 ldrh r0, [r4, #20] + 1ca6: 3001 adds r0, #1 + 1ca8: 8a23 ldrh r3, [r4, #16] + 1caa: 1ac0 subs r0, r0, r3 return lv_area_get_width(&obj->coords); - 1c44: b200 sxth r0, r0 + 1cac: b200 sxth r0, r0 } - 1c46: bd10 pop {r4, pc} + 1cae: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1c48: 0022 movs r2, r4 - 1c4a: 2300 movs r3, #0 - 1c4c: 4802 ldr r0, [pc, #8] ; (1c58 ) - 1c4e: 4903 ldr r1, [pc, #12] ; (1c5c ) - 1c50: 4788 blx r1 - 1c52: e7fe b.n 1c52 - 1c54: 00001415 .word 0x00001415 - 1c58: 0001886c .word 0x0001886c - 1c5c: 0000141d .word 0x0000141d - -00001c60 : -{ - 1c60: b510 push {r4, lr} - 1c62: 0004 movs r4, r0 + 1cb0: 0022 movs r2, r4 + 1cb2: 2300 movs r3, #0 + 1cb4: 4802 ldr r0, [pc, #8] ; (1cc0 ) + 1cb6: 4903 ldr r1, [pc, #12] ; (1cc4 ) + 1cb8: 4788 blx r1 + 1cba: e7fe b.n 1cba + 1cbc: 0000147d .word 0x0000147d + 1cc0: 000188fc .word 0x000188fc + 1cc4: 00001485 .word 0x00001485 + +00001cc8 : +{ + 1cc8: b510 push {r4, lr} + 1cca: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1c64: 4b07 ldr r3, [pc, #28] ; (1c84 ) - 1c66: 4798 blx r3 - 1c68: 2800 cmp r0, #0 - 1c6a: d005 beq.n 1c78 + 1ccc: 4b07 ldr r3, [pc, #28] ; (1cec ) + 1cce: 4798 blx r3 + 1cd0: 2800 cmp r0, #0 + 1cd2: d005 beq.n 1ce0 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1c6c: 8ae0 ldrh r0, [r4, #22] - 1c6e: 3001 adds r0, #1 - 1c70: 8a63 ldrh r3, [r4, #18] - 1c72: 1ac0 subs r0, r0, r3 + 1cd4: 8ae0 ldrh r0, [r4, #22] + 1cd6: 3001 adds r0, #1 + 1cd8: 8a63 ldrh r3, [r4, #18] + 1cda: 1ac0 subs r0, r0, r3 return lv_area_get_height(&obj->coords); - 1c74: b200 sxth r0, r0 + 1cdc: b200 sxth r0, r0 } - 1c76: bd10 pop {r4, pc} + 1cde: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1c78: 0022 movs r2, r4 - 1c7a: 2300 movs r3, #0 - 1c7c: 4802 ldr r0, [pc, #8] ; (1c88 ) - 1c7e: 4903 ldr r1, [pc, #12] ; (1c8c ) - 1c80: 4788 blx r1 - 1c82: e7fe b.n 1c82 - 1c84: 00001415 .word 0x00001415 - 1c88: 0001886c .word 0x0001886c - 1c8c: 0000141d .word 0x0000141d - -00001c90 : -{ - 1c90: b500 push {lr} - 1c92: b083 sub sp, #12 + 1ce0: 0022 movs r2, r4 + 1ce2: 2300 movs r3, #0 + 1ce4: 4802 ldr r0, [pc, #8] ; (1cf0 ) + 1ce6: 4903 ldr r1, [pc, #12] ; (1cf4 ) + 1ce8: 4788 blx r1 + 1cea: e7fe b.n 1cea + 1cec: 0000147d .word 0x0000147d + 1cf0: 000188fc .word 0x000188fc + 1cf4: 00001485 .word 0x00001485 + +00001cf8 : +{ + 1cf8: b500 push {lr} + 1cfa: b083 sub sp, #12 if(part == LV_OBJ_PART_MAIN) return &((lv_obj_t *)obj)->style_list; - 1c94: 2900 cmp r1, #0 - 1c96: d102 bne.n 1c9e - 1c98: 3028 adds r0, #40 ; 0x28 + 1cfc: 2900 cmp r1, #0 + 1cfe: d102 bne.n 1d06 + 1d00: 3028 adds r0, #40 ; 0x28 } - 1c9a: b003 add sp, #12 - 1c9c: bd00 pop {pc} + 1d02: b003 add sp, #12 + 1d04: bd00 pop {pc} info.part = part; - 1c9e: 466b mov r3, sp - 1ca0: 7019 strb r1, [r3, #0] + 1d06: 466b mov r3, sp + 1d08: 7019 strb r1, [r3, #0] info.result = NULL; - 1ca2: 2300 movs r3, #0 - 1ca4: 9301 str r3, [sp, #4] + 1d0a: 2300 movs r3, #0 + 1d0c: 9301 str r3, [sp, #4] res = lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STYLE, &info); - 1ca6: 466a mov r2, sp - 1ca8: 2108 movs r1, #8 - 1caa: 4b04 ldr r3, [pc, #16] ; (1cbc ) - 1cac: 4798 blx r3 + 1d0e: 466a mov r2, sp + 1d10: 2108 movs r1, #8 + 1d12: 4b04 ldr r3, [pc, #16] ; (1d24 ) + 1d14: 4798 blx r3 if(res != LV_RES_OK) return NULL; - 1cae: 2801 cmp r0, #1 - 1cb0: d101 bne.n 1cb6 + 1d16: 2801 cmp r0, #1 + 1d18: d101 bne.n 1d1e return info.result; - 1cb2: 9801 ldr r0, [sp, #4] - 1cb4: e7f1 b.n 1c9a + 1d1a: 9801 ldr r0, [sp, #4] + 1d1c: e7f1 b.n 1d02 if(res != LV_RES_OK) return NULL; - 1cb6: 2000 movs r0, #0 - 1cb8: e7ef b.n 1c9a - 1cba: 46c0 nop ; (mov r8, r8) - 1cbc: 000019ed .word 0x000019ed + 1d1e: 2000 movs r0, #0 + 1d20: e7ef b.n 1d02 + 1d22: 46c0 nop ; (mov r8, r8) + 1d24: 00001a55 .word 0x00001a55 -00001cc0 : +00001d28 : * @param part a part of object or 0xFF to remove from all parts * @param prop a property or 0xFF to remove all porpeties * @param tr_limit delete transitions only "older" then this. `NULL` is not used */ static void trans_del(lv_obj_t * obj, uint8_t part, lv_style_property_t prop, lv_style_trans_t * tr_limit) { - 1cc0: b5f0 push {r4, r5, r6, r7, lr} - 1cc2: 46de mov lr, fp - 1cc4: 4657 mov r7, sl - 1cc6: 4646 mov r6, r8 - 1cc8: b5c0 push {r6, r7, lr} - 1cca: 4680 mov r8, r0 - 1ccc: 468a mov sl, r1 - 1cce: 4693 mov fp, r2 - 1cd0: 001e movs r6, r3 + 1d28: b5f0 push {r4, r5, r6, r7, lr} + 1d2a: 46de mov lr, fp + 1d2c: 4657 mov r7, sl + 1d2e: 4646 mov r6, r8 + 1d30: b5c0 push {r6, r7, lr} + 1d32: 4680 mov r8, r0 + 1d34: 468a mov sl, r1 + 1d36: 4693 mov fp, r2 + 1d38: 001e movs r6, r3 lv_style_trans_t * tr; lv_style_trans_t * tr_prev; tr = _lv_ll_get_tail(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 1cd2: 481d ldr r0, [pc, #116] ; (1d48 ) - 1cd4: 4b1d ldr r3, [pc, #116] ; (1d4c ) - 1cd6: 4798 blx r3 - 1cd8: 1e04 subs r4, r0, #0 + 1d3a: 481d ldr r0, [pc, #116] ; (1db0 ) + 1d3c: 4b1d ldr r3, [pc, #116] ; (1db4 ) + 1d3e: 4798 blx r3 + 1d40: 1e04 subs r4, r0, #0 while(tr != NULL) { - 1cda: d02f beq.n 1d3c + 1d42: d02f beq.n 1da4 if(tr == tr_limit) break; - 1cdc: 42b0 cmp r0, r6 - 1cde: d02d beq.n 1d3c + 1d44: 42b0 cmp r0, r6 + 1d46: d02d beq.n 1da4 /*'tr' might be deleted, so get the next object while 'tr' is valid*/ tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 1ce0: 4f1b ldr r7, [pc, #108] ; (1d50 ) - 1ce2: e00a b.n 1cfa + 1d48: 4f1b ldr r7, [pc, #108] ; (1db8 ) + 1d4a: e00a b.n 1d62 if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) { - 1ce4: 88a3 ldrh r3, [r4, #4] - 1ce6: 455b cmp r3, fp - 1ce8: d015 beq.n 1d16 - 1cea: 465b mov r3, fp - 1cec: 2bff cmp r3, #255 ; 0xff - 1cee: d012 beq.n 1d16 + 1d4c: 88a3 ldrh r3, [r4, #4] + 1d4e: 455b cmp r3, fp + 1d50: d015 beq.n 1d7e + 1d52: 465b mov r3, fp + 1d54: 2bff cmp r3, #255 ; 0xff + 1d56: d012 beq.n 1d7e while(tr != NULL) { - 1cf0: 2d00 cmp r5, #0 - 1cf2: d023 beq.n 1d3c - 1cf4: 002c movs r4, r5 + 1d58: 2d00 cmp r5, #0 + 1d5a: d023 beq.n 1da4 + 1d5c: 002c movs r4, r5 if(tr == tr_limit) break; - 1cf6: 42ae cmp r6, r5 - 1cf8: d020 beq.n 1d3c + 1d5e: 42ae cmp r6, r5 + 1d60: d020 beq.n 1da4 tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 1cfa: 0021 movs r1, r4 - 1cfc: 4812 ldr r0, [pc, #72] ; (1d48 ) - 1cfe: 47b8 blx r7 - 1d00: 0005 movs r5, r0 + 1d62: 0021 movs r1, r4 + 1d64: 4812 ldr r0, [pc, #72] ; (1db0 ) + 1d66: 47b8 blx r7 + 1d68: 0005 movs r5, r0 if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) { - 1d02: 6820 ldr r0, [r4, #0] - 1d04: 4540 cmp r0, r8 - 1d06: d1f3 bne.n 1cf0 - 1d08: 79a1 ldrb r1, [r4, #6] - 1d0a: 4551 cmp r1, sl - 1d0c: d0ea beq.n 1ce4 - 1d0e: 4653 mov r3, sl - 1d10: 2bff cmp r3, #255 ; 0xff - 1d12: d1ed bne.n 1cf0 - 1d14: e7e6 b.n 1ce4 + 1d6a: 6820 ldr r0, [r4, #0] + 1d6c: 4540 cmp r0, r8 + 1d6e: d1f3 bne.n 1d58 + 1d70: 79a1 ldrb r1, [r4, #6] + 1d72: 4551 cmp r1, sl + 1d74: d0ea beq.n 1d4c + 1d76: 4653 mov r3, sl + 1d78: 2bff cmp r3, #255 ; 0xff + 1d7a: d1ed bne.n 1d58 + 1d7c: e7e6 b.n 1d4c /* Remove the transitioned property from trans. style * to allow changing it by normal styles*/ lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 1d16: 4b0f ldr r3, [pc, #60] ; (1d54 ) - 1d18: 4798 blx r3 + 1d7e: 4b0f ldr r3, [pc, #60] ; (1dbc ) + 1d80: 4798 blx r3 lv_style_t * style_trans = _lv_style_list_get_transition_style(list); - 1d1a: 4b0f ldr r3, [pc, #60] ; (1d58 ) - 1d1c: 4798 blx r3 + 1d82: 4b0f ldr r3, [pc, #60] ; (1dc0 ) + 1d84: 4798 blx r3 lv_style_remove_prop(style_trans, tr->prop); - 1d1e: 88a1 ldrh r1, [r4, #4] - 1d20: 4b0e ldr r3, [pc, #56] ; (1d5c ) - 1d22: 4798 blx r3 + 1d86: 88a1 ldrh r1, [r4, #4] + 1d88: 4b0e ldr r3, [pc, #56] ; (1dc4 ) + 1d8a: 4798 blx r3 lv_anim_del(tr, NULL); - 1d24: 2100 movs r1, #0 - 1d26: 0020 movs r0, r4 - 1d28: 4b0d ldr r3, [pc, #52] ; (1d60 ) - 1d2a: 4798 blx r3 + 1d8c: 2100 movs r1, #0 + 1d8e: 0020 movs r0, r4 + 1d90: 4b0d ldr r3, [pc, #52] ; (1dc8 ) + 1d92: 4798 blx r3 _lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 1d2c: 0021 movs r1, r4 - 1d2e: 4806 ldr r0, [pc, #24] ; (1d48 ) - 1d30: 4b0c ldr r3, [pc, #48] ; (1d64 ) - 1d32: 4798 blx r3 + 1d94: 0021 movs r1, r4 + 1d96: 4806 ldr r0, [pc, #24] ; (1db0 ) + 1d98: 4b0c ldr r3, [pc, #48] ; (1dcc ) + 1d9a: 4798 blx r3 lv_mem_free(tr); - 1d34: 0020 movs r0, r4 - 1d36: 4b0c ldr r3, [pc, #48] ; (1d68 ) - 1d38: 4798 blx r3 - 1d3a: e7d9 b.n 1cf0 + 1d9c: 0020 movs r0, r4 + 1d9e: 4b0c ldr r3, [pc, #48] ; (1dd0 ) + 1da0: 4798 blx r3 + 1da2: e7d9 b.n 1d58 } tr = tr_prev; } } - 1d3c: bc1c pop {r2, r3, r4} - 1d3e: 4690 mov r8, r2 - 1d40: 469a mov sl, r3 - 1d42: 46a3 mov fp, r4 - 1d44: bdf0 pop {r4, r5, r6, r7, pc} - 1d46: 46c0 nop ; (mov r8, r8) - 1d48: 20004d68 .word 0x20004d68 - 1d4c: 00010611 .word 0x00010611 - 1d50: 00010645 .word 0x00010645 - 1d54: 00001c91 .word 0x00001c91 - 1d58: 000055b9 .word 0x000055b9 - 1d5c: 00004b69 .word 0x00004b69 - 1d60: 0000fa29 .word 0x0000fa29 - 1d64: 000106ed .word 0x000106ed - 1d68: 00010ad1 .word 0x00010ad1 - -00001d6c : -{ - 1d6c: b570 push {r4, r5, r6, lr} - 1d6e: 0004 movs r4, r0 - 1d70: 000d movs r5, r1 + 1da4: bc1c pop {r2, r3, r4} + 1da6: 4690 mov r8, r2 + 1da8: 469a mov sl, r3 + 1daa: 46a3 mov fp, r4 + 1dac: bdf0 pop {r4, r5, r6, r7, pc} + 1dae: 46c0 nop ; (mov r8, r8) + 1db0: 20004d68 .word 0x20004d68 + 1db4: 00010679 .word 0x00010679 + 1db8: 000106ad .word 0x000106ad + 1dbc: 00001cf9 .word 0x00001cf9 + 1dc0: 00005621 .word 0x00005621 + 1dc4: 00004bd1 .word 0x00004bd1 + 1dc8: 0000fa91 .word 0x0000fa91 + 1dcc: 00010755 .word 0x00010755 + 1dd0: 00010b39 .word 0x00010b39 + +00001dd4 : +{ + 1dd4: b570 push {r4, r5, r6, lr} + 1dd6: 0004 movs r4, r0 + 1dd8: 000d movs r5, r1 lv_style_list_t * style_dsc = lv_obj_get_style_list(obj, part); - 1d72: 4b06 ldr r3, [pc, #24] ; (1d8c ) - 1d74: 4798 blx r3 + 1dda: 4b06 ldr r3, [pc, #24] ; (1df4 ) + 1ddc: 4798 blx r3 if(style_dsc == NULL) { - 1d76: 2800 cmp r0, #0 - 1d78: d007 beq.n 1d8a + 1dde: 2800 cmp r0, #0 + 1de0: d007 beq.n 1df2 _lv_style_list_reset(style_dsc); - 1d7a: 4b05 ldr r3, [pc, #20] ; (1d90 ) - 1d7c: 4798 blx r3 + 1de2: 4b05 ldr r3, [pc, #20] ; (1df8 ) + 1de4: 4798 blx r3 trans_del(obj, part, 0xFF, NULL); - 1d7e: 2300 movs r3, #0 - 1d80: 22ff movs r2, #255 ; 0xff - 1d82: 0029 movs r1, r5 - 1d84: 0020 movs r0, r4 - 1d86: 4c03 ldr r4, [pc, #12] ; (1d94 ) - 1d88: 47a0 blx r4 -} - 1d8a: bd70 pop {r4, r5, r6, pc} - 1d8c: 00001c91 .word 0x00001c91 - 1d90: 000055c9 .word 0x000055c9 - 1d94: 00001cc1 .word 0x00001cc1 - -00001d98 : + 1de6: 2300 movs r3, #0 + 1de8: 22ff movs r2, #255 ; 0xff + 1dea: 0029 movs r1, r5 + 1dec: 0020 movs r0, r4 + 1dee: 4c03 ldr r4, [pc, #12] ; (1dfc ) + 1df0: 47a0 blx r4 +} + 1df2: bd70 pop {r4, r5, r6, pc} + 1df4: 00001cf9 .word 0x00001cf9 + 1df8: 00005631 .word 0x00005631 + 1dfc: 00001d29 .word 0x00001d29 + +00001e00 : tr->prop = prop_tmp; } static void trans_anim_ready_cb(lv_anim_t * a) { - 1d98: b5f8 push {r3, r4, r5, r6, r7, lr} + 1e00: b5f8 push {r3, r4, r5, r6, r7, lr} lv_style_trans_t * tr = a->var; - 1d9a: 6804 ldr r4, [r0, #0] + 1e02: 6804 ldr r4, [r0, #0] * if there no more transitions for this property * It allows changing it by normal styles*/ bool running = false; lv_style_trans_t * tr_i; _LV_LL_READ(LV_GC_ROOT(_lv_obj_style_trans_ll), tr_i) { - 1d9c: 4817 ldr r0, [pc, #92] ; (1dfc ) - 1d9e: 4b18 ldr r3, [pc, #96] ; (1e00 ) - 1da0: 4798 blx r3 - 1da2: 2800 cmp r0, #0 - 1da4: d020 beq.n 1de8 - 1da6: 2600 movs r6, #0 - 1da8: 4d14 ldr r5, [pc, #80] ; (1dfc ) - 1daa: 4f16 ldr r7, [pc, #88] ; (1e04 ) - 1dac: e004 b.n 1db8 - 1dae: 0001 movs r1, r0 - 1db0: 0028 movs r0, r5 - 1db2: 47b8 blx r7 - 1db4: 2800 cmp r0, #0 - 1db6: d00d beq.n 1dd4 + 1e04: 4817 ldr r0, [pc, #92] ; (1e64 ) + 1e06: 4b18 ldr r3, [pc, #96] ; (1e68 ) + 1e08: 4798 blx r3 + 1e0a: 2800 cmp r0, #0 + 1e0c: d020 beq.n 1e50 + 1e0e: 2600 movs r6, #0 + 1e10: 4d14 ldr r5, [pc, #80] ; (1e64 ) + 1e12: 4f16 ldr r7, [pc, #88] ; (1e6c ) + 1e14: e004 b.n 1e20 + 1e16: 0001 movs r1, r0 + 1e18: 0028 movs r0, r5 + 1e1a: 47b8 blx r7 + 1e1c: 2800 cmp r0, #0 + 1e1e: d00d beq.n 1e3c if(tr_i != tr && tr_i->obj == tr->obj && tr_i->part == tr->part && tr_i->prop == tr->prop) { - 1db8: 4284 cmp r4, r0 - 1dba: d0f8 beq.n 1dae - 1dbc: 6803 ldr r3, [r0, #0] - 1dbe: 6822 ldr r2, [r4, #0] - 1dc0: 4293 cmp r3, r2 - 1dc2: d1f4 bne.n 1dae - 1dc4: 6843 ldr r3, [r0, #4] - 1dc6: 021b lsls r3, r3, #8 - 1dc8: 6862 ldr r2, [r4, #4] - 1dca: 0212 lsls r2, r2, #8 - 1dcc: 429a cmp r2, r3 - 1dce: d1ee bne.n 1dae + 1e20: 4284 cmp r4, r0 + 1e22: d0f8 beq.n 1e16 + 1e24: 6803 ldr r3, [r0, #0] + 1e26: 6822 ldr r2, [r4, #0] + 1e28: 4293 cmp r3, r2 + 1e2a: d1f4 bne.n 1e16 + 1e2c: 6843 ldr r3, [r0, #4] + 1e2e: 021b lsls r3, r3, #8 + 1e30: 6862 ldr r2, [r4, #4] + 1e32: 0212 lsls r2, r2, #8 + 1e34: 429a cmp r2, r3 + 1e36: d1ee bne.n 1e16 running = true; - 1dd0: 2601 movs r6, #1 - 1dd2: e7ec b.n 1dae + 1e38: 2601 movs r6, #1 + 1e3a: e7ec b.n 1e16 } } if(!running) { - 1dd4: 2e00 cmp r6, #0 - 1dd6: d007 beq.n 1de8 + 1e3c: 2e00 cmp r6, #0 + 1e3e: d007 beq.n 1e50 lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); lv_style_t * style_trans = _lv_style_list_get_transition_style(list); lv_style_remove_prop(style_trans, tr->prop); } _lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 1dd8: 0021 movs r1, r4 - 1dda: 4808 ldr r0, [pc, #32] ; (1dfc ) - 1ddc: 4b0a ldr r3, [pc, #40] ; (1e08 ) - 1dde: 4798 blx r3 + 1e40: 0021 movs r1, r4 + 1e42: 4808 ldr r0, [pc, #32] ; (1e64 ) + 1e44: 4b0a ldr r3, [pc, #40] ; (1e70 ) + 1e46: 4798 blx r3 lv_mem_free(tr); - 1de0: 0020 movs r0, r4 - 1de2: 4b0a ldr r3, [pc, #40] ; (1e0c ) - 1de4: 4798 blx r3 + 1e48: 0020 movs r0, r4 + 1e4a: 4b0a ldr r3, [pc, #40] ; (1e74 ) + 1e4c: 4798 blx r3 } - 1de6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1e4e: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 1de8: 79a1 ldrb r1, [r4, #6] - 1dea: 6820 ldr r0, [r4, #0] - 1dec: 4b08 ldr r3, [pc, #32] ; (1e10 ) - 1dee: 4798 blx r3 + 1e50: 79a1 ldrb r1, [r4, #6] + 1e52: 6820 ldr r0, [r4, #0] + 1e54: 4b08 ldr r3, [pc, #32] ; (1e78 ) + 1e56: 4798 blx r3 lv_style_t * style_trans = _lv_style_list_get_transition_style(list); - 1df0: 4b08 ldr r3, [pc, #32] ; (1e14 ) - 1df2: 4798 blx r3 + 1e58: 4b08 ldr r3, [pc, #32] ; (1e7c ) + 1e5a: 4798 blx r3 lv_style_remove_prop(style_trans, tr->prop); - 1df4: 88a1 ldrh r1, [r4, #4] - 1df6: 4b08 ldr r3, [pc, #32] ; (1e18 ) - 1df8: 4798 blx r3 - 1dfa: e7ed b.n 1dd8 - 1dfc: 20004d68 .word 0x20004d68 - 1e00: 00010605 .word 0x00010605 - 1e04: 0001061d .word 0x0001061d - 1e08: 000106ed .word 0x000106ed - 1e0c: 00010ad1 .word 0x00010ad1 - 1e10: 00001c91 .word 0x00001c91 - 1e14: 000055b9 .word 0x000055b9 - 1e18: 00004b69 .word 0x00004b69 - -00001e1c : -{ - 1e1c: b510 push {r4, lr} - 1e1e: 0004 movs r4, r0 + 1e5c: 88a1 ldrh r1, [r4, #4] + 1e5e: 4b08 ldr r3, [pc, #32] ; (1e80 ) + 1e60: 4798 blx r3 + 1e62: e7ed b.n 1e40 + 1e64: 20004d68 .word 0x20004d68 + 1e68: 0001066d .word 0x0001066d + 1e6c: 00010685 .word 0x00010685 + 1e70: 00010755 .word 0x00010755 + 1e74: 00010b39 .word 0x00010b39 + 1e78: 00001cf9 .word 0x00001cf9 + 1e7c: 00005621 .word 0x00005621 + 1e80: 00004bd1 .word 0x00004bd1 + +00001e84 : +{ + 1e84: b510 push {r4, lr} + 1e86: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1e20: 4b07 ldr r3, [pc, #28] ; (1e40 ) - 1e22: 4798 blx r3 - 1e24: 2800 cmp r0, #0 - 1e26: d004 beq.n 1e32 + 1e88: 4b07 ldr r3, [pc, #28] ; (1ea8 ) + 1e8a: 4798 blx r3 + 1e8c: 2800 cmp r0, #0 + 1e8e: d004 beq.n 1e9a return obj->hidden == 0 ? false : true; - 1e28: 2334 movs r3, #52 ; 0x34 - 1e2a: 5ce0 ldrb r0, [r4, r3] - 1e2c: 06c0 lsls r0, r0, #27 - 1e2e: 0fc0 lsrs r0, r0, #31 + 1e90: 2334 movs r3, #52 ; 0x34 + 1e92: 5ce0 ldrb r0, [r4, r3] + 1e94: 06c0 lsls r0, r0, #27 + 1e96: 0fc0 lsrs r0, r0, #31 } - 1e30: bd10 pop {r4, pc} + 1e98: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1e32: 0022 movs r2, r4 - 1e34: 2300 movs r3, #0 - 1e36: 4803 ldr r0, [pc, #12] ; (1e44 ) - 1e38: 4903 ldr r1, [pc, #12] ; (1e48 ) - 1e3a: 4788 blx r1 - 1e3c: e7fe b.n 1e3c - 1e3e: 46c0 nop ; (mov r8, r8) - 1e40: 00001415 .word 0x00001415 - 1e44: 0001886c .word 0x0001886c - 1e48: 0000141d .word 0x0000141d - -00001e4c : -{ - 1e4c: b5f0 push {r4, r5, r6, r7, lr} - 1e4e: b085 sub sp, #20 - 1e50: 0004 movs r4, r0 - 1e52: 000e movs r6, r1 + 1e9a: 0022 movs r2, r4 + 1e9c: 2300 movs r3, #0 + 1e9e: 4803 ldr r0, [pc, #12] ; (1eac ) + 1ea0: 4903 ldr r1, [pc, #12] ; (1eb0 ) + 1ea2: 4788 blx r1 + 1ea4: e7fe b.n 1ea4 + 1ea6: 46c0 nop ; (mov r8, r8) + 1ea8: 0000147d .word 0x0000147d + 1eac: 000188fc .word 0x000188fc + 1eb0: 00001485 .word 0x00001485 + +00001eb4 : +{ + 1eb4: b5f0 push {r4, r5, r6, r7, lr} + 1eb6: b085 sub sp, #20 + 1eb8: 0004 movs r4, r0 + 1eba: 000e movs r6, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1e54: 4b30 ldr r3, [pc, #192] ; (1f18 ) - 1e56: 4798 blx r3 - 1e58: 2800 cmp r0, #0 - 1e5a: d105 bne.n 1e68 - 1e5c: 0022 movs r2, r4 - 1e5e: 2300 movs r3, #0 - 1e60: 482e ldr r0, [pc, #184] ; (1f1c ) - 1e62: 492f ldr r1, [pc, #188] ; (1f20 ) - 1e64: 4788 blx r1 - 1e66: e7fe b.n 1e66 + 1ebc: 4b30 ldr r3, [pc, #192] ; (1f80 ) + 1ebe: 4798 blx r3 + 1ec0: 2800 cmp r0, #0 + 1ec2: d105 bne.n 1ed0 + 1ec4: 0022 movs r2, r4 + 1ec6: 2300 movs r3, #0 + 1ec8: 482e ldr r0, [pc, #184] ; (1f84 ) + 1eca: 492f ldr r1, [pc, #188] ; (1f88 ) + 1ecc: 4788 blx r1 + 1ece: e7fe b.n 1ece if(lv_obj_get_hidden(obj)) return; - 1e68: 0020 movs r0, r4 - 1e6a: 4b2e ldr r3, [pc, #184] ; (1f24 ) - 1e6c: 4798 blx r3 - 1e6e: 2800 cmp r0, #0 - 1e70: d001 beq.n 1e76 -} - 1e72: b005 add sp, #20 - 1e74: bdf0 pop {r4, r5, r6, r7, pc} + 1ed0: 0020 movs r0, r4 + 1ed2: 4b2e ldr r3, [pc, #184] ; (1f8c ) + 1ed4: 4798 blx r3 + 1ed6: 2800 cmp r0, #0 + 1ed8: d001 beq.n 1ede +} + 1eda: b005 add sp, #20 + 1edc: bdf0 pop {r4, r5, r6, r7, pc} lv_obj_t * obj_scr = lv_obj_get_screen(obj); - 1e76: 0020 movs r0, r4 - 1e78: 4b2b ldr r3, [pc, #172] ; (1f28 ) - 1e7a: 4798 blx r3 - 1e7c: 0007 movs r7, r0 + 1ede: 0020 movs r0, r4 + 1ee0: 4b2b ldr r3, [pc, #172] ; (1f90 ) + 1ee2: 4798 blx r3 + 1ee4: 0007 movs r7, r0 lv_disp_t * disp = lv_obj_get_disp(obj_scr); - 1e7e: 4b2b ldr r3, [pc, #172] ; (1f2c ) - 1e80: 4798 blx r3 - 1e82: 0005 movs r5, r0 + 1ee6: 4b2b ldr r3, [pc, #172] ; (1f94 ) + 1ee8: 4798 blx r3 + 1eea: 0005 movs r5, r0 if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) || - 1e84: 4b2a ldr r3, [pc, #168] ; (1f30 ) - 1e86: 4798 blx r3 - 1e88: 4287 cmp r7, r0 - 1e8a: d009 beq.n 1ea0 - 1e8c: 0028 movs r0, r5 - 1e8e: 4b29 ldr r3, [pc, #164] ; (1f34 ) - 1e90: 4798 blx r3 - 1e92: 4287 cmp r7, r0 - 1e94: d004 beq.n 1ea0 + 1eec: 4b2a ldr r3, [pc, #168] ; (1f98 ) + 1eee: 4798 blx r3 + 1ef0: 4287 cmp r7, r0 + 1ef2: d009 beq.n 1f08 + 1ef4: 0028 movs r0, r5 + 1ef6: 4b29 ldr r3, [pc, #164] ; (1f9c ) + 1ef8: 4798 blx r3 + 1efa: 4287 cmp r7, r0 + 1efc: d004 beq.n 1f08 obj_scr == lv_disp_get_layer_sys(disp)) { - 1e96: 0028 movs r0, r5 - 1e98: 4b27 ldr r3, [pc, #156] ; (1f38 ) - 1e9a: 4798 blx r3 + 1efe: 0028 movs r0, r5 + 1f00: 4b27 ldr r3, [pc, #156] ; (1fa0 ) + 1f02: 4798 blx r3 if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) || - 1e9c: 4287 cmp r7, r0 - 1e9e: d1e8 bne.n 1e72 + 1f04: 4287 cmp r7, r0 + 1f06: d1e8 bne.n 1eda lv_coord_t ext_size = obj->ext_draw_pad; - 1ea0: 2232 movs r2, #50 ; 0x32 - 1ea2: 5ea3 ldrsh r3, [r4, r2] + 1f08: 2232 movs r2, #50 ; 0x32 + 1f0a: 5ea3 ldrsh r3, [r4, r2] lv_area_copy(&obj_coords, &obj->coords); - 1ea4: 0021 movs r1, r4 - 1ea6: 3110 adds r1, #16 - 1ea8: 2200 movs r2, #0 + 1f0c: 0021 movs r1, r4 + 1f0e: 3110 adds r1, #16 + 1f10: 2200 movs r2, #0 *d8 = *s8; - 1eaa: 5c88 ldrb r0, [r1, r2] - 1eac: 466f mov r7, sp - 1eae: 55d0 strb r0, [r2, r7] - 1eb0: 3201 adds r2, #1 + 1f12: 5c88 ldrb r0, [r1, r2] + 1f14: 466f mov r7, sp + 1f16: 55d0 strb r0, [r2, r7] + 1f18: 3201 adds r2, #1 while(len) { - 1eb2: 2a08 cmp r2, #8 - 1eb4: d1f9 bne.n 1eaa + 1f1a: 2a08 cmp r2, #8 + 1f1c: d1f9 bne.n 1f12 obj_coords.x1 -= ext_size; - 1eb6: b29b uxth r3, r3 - 1eb8: 883a ldrh r2, [r7, #0] - 1eba: 1ad2 subs r2, r2, r3 - 1ebc: 803a strh r2, [r7, #0] + 1f1e: b29b uxth r3, r3 + 1f20: 883a ldrh r2, [r7, #0] + 1f22: 1ad2 subs r2, r2, r3 + 1f24: 803a strh r2, [r7, #0] obj_coords.y1 -= ext_size; - 1ebe: 887a ldrh r2, [r7, #2] - 1ec0: 1ad2 subs r2, r2, r3 - 1ec2: 807a strh r2, [r7, #2] + 1f26: 887a ldrh r2, [r7, #2] + 1f28: 1ad2 subs r2, r2, r3 + 1f2a: 807a strh r2, [r7, #2] obj_coords.x2 += ext_size; - 1ec4: 88ba ldrh r2, [r7, #4] - 1ec6: 189a adds r2, r3, r2 - 1ec8: 80ba strh r2, [r7, #4] + 1f2c: 88ba ldrh r2, [r7, #4] + 1f2e: 189a adds r2, r3, r2 + 1f30: 80ba strh r2, [r7, #4] obj_coords.y2 += ext_size; - 1eca: 88fa ldrh r2, [r7, #6] - 1ecc: 189b adds r3, r3, r2 - 1ece: 466a mov r2, sp - 1ed0: 80fb strh r3, [r7, #6] + 1f32: 88fa ldrh r2, [r7, #6] + 1f34: 189b adds r3, r3, r2 + 1f36: 466a mov r2, sp + 1f38: 80fb strh r3, [r7, #6] is_common = _lv_area_intersect(&area_trunc, area, &obj_coords); - 1ed2: 0031 movs r1, r6 - 1ed4: a802 add r0, sp, #8 - 1ed6: 4b19 ldr r3, [pc, #100] ; (1f3c ) - 1ed8: 4798 blx r3 + 1f3a: 0031 movs r1, r6 + 1f3c: a802 add r0, sp, #8 + 1f3e: 4b19 ldr r3, [pc, #100] ; (1fa4 ) + 1f40: 4798 blx r3 if(is_common == false) return; /*The area is not on the object*/ - 1eda: 2800 cmp r0, #0 - 1edc: d0c9 beq.n 1e72 + 1f42: 2800 cmp r0, #0 + 1f44: d0c9 beq.n 1eda lv_obj_t * par = lv_obj_get_parent(obj); - 1ede: 0020 movs r0, r4 - 1ee0: 4b17 ldr r3, [pc, #92] ; (1f40 ) - 1ee2: 4798 blx r3 - 1ee4: 1e04 subs r4, r0, #0 + 1f46: 0020 movs r0, r4 + 1f48: 4b17 ldr r3, [pc, #92] ; (1fa8 ) + 1f4a: 4798 blx r3 + 1f4c: 1e04 subs r4, r0, #0 while(par != NULL) { - 1ee6: d011 beq.n 1f0c + 1f4e: d011 beq.n 1f74 is_common = _lv_area_intersect(&area_trunc, &area_trunc, &par->coords); - 1ee8: 4e14 ldr r6, [pc, #80] ; (1f3c ) - 1eea: 0022 movs r2, r4 - 1eec: 3210 adds r2, #16 - 1eee: a902 add r1, sp, #8 - 1ef0: 0008 movs r0, r1 - 1ef2: 47b0 blx r6 + 1f50: 4e14 ldr r6, [pc, #80] ; (1fa4 ) + 1f52: 0022 movs r2, r4 + 1f54: 3210 adds r2, #16 + 1f56: a902 add r1, sp, #8 + 1f58: 0008 movs r0, r1 + 1f5a: 47b0 blx r6 if(is_common == false) break; /*If no common parts with parent break;*/ - 1ef4: 2800 cmp r0, #0 - 1ef6: d0bc beq.n 1e72 + 1f5c: 2800 cmp r0, #0 + 1f5e: d0bc beq.n 1eda if(lv_obj_get_hidden(par)) return; /*If the parent is hidden then the child is hidden and won't be drawn*/ - 1ef8: 0020 movs r0, r4 - 1efa: 4b0a ldr r3, [pc, #40] ; (1f24 ) - 1efc: 4798 blx r3 - 1efe: 2800 cmp r0, #0 - 1f00: d1b7 bne.n 1e72 + 1f60: 0020 movs r0, r4 + 1f62: 4b0a ldr r3, [pc, #40] ; (1f8c ) + 1f64: 4798 blx r3 + 1f66: 2800 cmp r0, #0 + 1f68: d1b7 bne.n 1eda par = lv_obj_get_parent(par); - 1f02: 0020 movs r0, r4 - 1f04: 4b0e ldr r3, [pc, #56] ; (1f40 ) - 1f06: 4798 blx r3 - 1f08: 1e04 subs r4, r0, #0 + 1f6a: 0020 movs r0, r4 + 1f6c: 4b0e ldr r3, [pc, #56] ; (1fa8 ) + 1f6e: 4798 blx r3 + 1f70: 1e04 subs r4, r0, #0 while(par != NULL) { - 1f0a: d1ee bne.n 1eea + 1f72: d1ee bne.n 1f52 if(is_common) _lv_inv_area(disp, &area_trunc); - 1f0c: a902 add r1, sp, #8 - 1f0e: 0028 movs r0, r5 - 1f10: 4b0c ldr r3, [pc, #48] ; (1f44 ) - 1f12: 4798 blx r3 - 1f14: e7ad b.n 1e72 - 1f16: 46c0 nop ; (mov r8, r8) - 1f18: 00001415 .word 0x00001415 - 1f1c: 0001886c .word 0x0001886c - 1f20: 0000141d .word 0x0000141d - 1f24: 00001e1d .word 0x00001e1d - 1f28: 00001a61 .word 0x00001a61 - 1f2c: 00001a9d .word 0x00001a9d - 1f30: 00001445 .word 0x00001445 - 1f34: 00001461 .word 0x00001461 - 1f38: 0000147d .word 0x0000147d - 1f3c: 0000fba7 .word 0x0000fba7 - 1f40: 00001a39 .word 0x00001a39 - 1f44: 00004239 .word 0x00004239 - -00001f48 : -{ - 1f48: b530 push {r4, r5, lr} - 1f4a: b083 sub sp, #12 - 1f4c: 0004 movs r4, r0 + 1f74: a902 add r1, sp, #8 + 1f76: 0028 movs r0, r5 + 1f78: 4b0c ldr r3, [pc, #48] ; (1fac ) + 1f7a: 4798 blx r3 + 1f7c: e7ad b.n 1eda + 1f7e: 46c0 nop ; (mov r8, r8) + 1f80: 0000147d .word 0x0000147d + 1f84: 000188fc .word 0x000188fc + 1f88: 00001485 .word 0x00001485 + 1f8c: 00001e85 .word 0x00001e85 + 1f90: 00001ac9 .word 0x00001ac9 + 1f94: 00001b05 .word 0x00001b05 + 1f98: 000014ad .word 0x000014ad + 1f9c: 000014c9 .word 0x000014c9 + 1fa0: 000014e5 .word 0x000014e5 + 1fa4: 0000fc0f .word 0x0000fc0f + 1fa8: 00001aa1 .word 0x00001aa1 + 1fac: 000042a1 .word 0x000042a1 + +00001fb0 : +{ + 1fb0: b530 push {r4, r5, lr} + 1fb2: b083 sub sp, #12 + 1fb4: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1f4e: 4b14 ldr r3, [pc, #80] ; (1fa0 ) - 1f50: 4798 blx r3 - 1f52: 2800 cmp r0, #0 - 1f54: d01d beq.n 1f92 + 1fb6: 4b14 ldr r3, [pc, #80] ; (2008 ) + 1fb8: 4798 blx r3 + 1fba: 2800 cmp r0, #0 + 1fbc: d01d beq.n 1ffa lv_coord_t ext_size = obj->ext_draw_pad; - 1f56: 2332 movs r3, #50 ; 0x32 - 1f58: 5ee2 ldrsh r2, [r4, r3] + 1fbe: 2332 movs r3, #50 ; 0x32 + 1fc0: 5ee2 ldrsh r2, [r4, r3] lv_area_copy(&obj_coords, &obj->coords); - 1f5a: 0020 movs r0, r4 - 1f5c: 3010 adds r0, #16 - 1f5e: 2300 movs r3, #0 + 1fc2: 0020 movs r0, r4 + 1fc4: 3010 adds r0, #16 + 1fc6: 2300 movs r3, #0 *d8 = *s8; - 1f60: 5cc1 ldrb r1, [r0, r3] - 1f62: 466d mov r5, sp - 1f64: 5559 strb r1, [r3, r5] - 1f66: 3301 adds r3, #1 + 1fc8: 5cc1 ldrb r1, [r0, r3] + 1fca: 466d mov r5, sp + 1fcc: 5559 strb r1, [r3, r5] + 1fce: 3301 adds r3, #1 while(len) { - 1f68: 2b08 cmp r3, #8 - 1f6a: d1f9 bne.n 1f60 + 1fd0: 2b08 cmp r3, #8 + 1fd2: d1f9 bne.n 1fc8 obj_coords.x1 -= ext_size; - 1f6c: b293 uxth r3, r2 - 1f6e: 882a ldrh r2, [r5, #0] - 1f70: 1ad2 subs r2, r2, r3 - 1f72: 4669 mov r1, sp - 1f74: 802a strh r2, [r5, #0] + 1fd4: b293 uxth r3, r2 + 1fd6: 882a ldrh r2, [r5, #0] + 1fd8: 1ad2 subs r2, r2, r3 + 1fda: 4669 mov r1, sp + 1fdc: 802a strh r2, [r5, #0] obj_coords.y1 -= ext_size; - 1f76: 886a ldrh r2, [r5, #2] - 1f78: 1ad2 subs r2, r2, r3 - 1f7a: 806a strh r2, [r5, #2] + 1fde: 886a ldrh r2, [r5, #2] + 1fe0: 1ad2 subs r2, r2, r3 + 1fe2: 806a strh r2, [r5, #2] obj_coords.x2 += ext_size; - 1f7c: 88aa ldrh r2, [r5, #4] - 1f7e: 189a adds r2, r3, r2 - 1f80: 80aa strh r2, [r5, #4] + 1fe4: 88aa ldrh r2, [r5, #4] + 1fe6: 189a adds r2, r3, r2 + 1fe8: 80aa strh r2, [r5, #4] obj_coords.y2 += ext_size; - 1f82: 88ea ldrh r2, [r5, #6] - 1f84: 189b adds r3, r3, r2 - 1f86: 80eb strh r3, [r5, #6] + 1fea: 88ea ldrh r2, [r5, #6] + 1fec: 189b adds r3, r3, r2 + 1fee: 80eb strh r3, [r5, #6] lv_obj_invalidate_area(obj, &obj_coords); - 1f88: 0020 movs r0, r4 - 1f8a: 4b06 ldr r3, [pc, #24] ; (1fa4 ) - 1f8c: 4798 blx r3 + 1ff0: 0020 movs r0, r4 + 1ff2: 4b06 ldr r3, [pc, #24] ; (200c ) + 1ff4: 4798 blx r3 } - 1f8e: b003 add sp, #12 - 1f90: bd30 pop {r4, r5, pc} + 1ff6: b003 add sp, #12 + 1ff8: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1f92: 0022 movs r2, r4 - 1f94: 2300 movs r3, #0 - 1f96: 4804 ldr r0, [pc, #16] ; (1fa8 ) - 1f98: 4904 ldr r1, [pc, #16] ; (1fac ) - 1f9a: 4788 blx r1 - 1f9c: e7fe b.n 1f9c - 1f9e: 46c0 nop ; (mov r8, r8) - 1fa0: 00001415 .word 0x00001415 - 1fa4: 00001e4d .word 0x00001e4d - 1fa8: 0001886c .word 0x0001886c - 1fac: 0000141d .word 0x0000141d - -00001fb0 : -{ - 1fb0: b5f8 push {r3, r4, r5, r6, r7, lr} - 1fb2: 0004 movs r4, r0 + 1ffa: 0022 movs r2, r4 + 1ffc: 2300 movs r3, #0 + 1ffe: 4804 ldr r0, [pc, #16] ; (2010 ) + 2000: 4904 ldr r1, [pc, #16] ; (2014 ) + 2002: 4788 blx r1 + 2004: e7fe b.n 2004 + 2006: 46c0 nop ; (mov r8, r8) + 2008: 0000147d .word 0x0000147d + 200c: 00001eb5 .word 0x00001eb5 + 2010: 000188fc .word 0x000188fc + 2014: 00001485 .word 0x00001485 + +00002018 : +{ + 2018: b5f8 push {r3, r4, r5, r6, r7, lr} + 201a: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 1fb4: 4b12 ldr r3, [pc, #72] ; (2000 ) - 1fb6: 4798 blx r3 - 1fb8: 2800 cmp r0, #0 - 1fba: d105 bne.n 1fc8 - 1fbc: 0022 movs r2, r4 - 1fbe: 2300 movs r3, #0 - 1fc0: 4810 ldr r0, [pc, #64] ; (2004 ) - 1fc2: 4911 ldr r1, [pc, #68] ; (2008 ) - 1fc4: 4788 blx r1 - 1fc6: e7fe b.n 1fc6 + 201c: 4b12 ldr r3, [pc, #72] ; (2068 ) + 201e: 4798 blx r3 + 2020: 2800 cmp r0, #0 + 2022: d105 bne.n 2030 + 2024: 0022 movs r2, r4 + 2026: 2300 movs r3, #0 + 2028: 4810 ldr r0, [pc, #64] ; (206c ) + 202a: 4911 ldr r1, [pc, #68] ; (2070 ) + 202c: 4788 blx r1 + 202e: e7fe b.n 202e lv_obj_t * parent = lv_obj_get_parent(obj); - 1fc8: 0020 movs r0, r4 - 1fca: 4b10 ldr r3, [pc, #64] ; (200c ) - 1fcc: 4798 blx r3 - 1fce: 0005 movs r5, r0 + 2030: 0020 movs r0, r4 + 2032: 4b10 ldr r3, [pc, #64] ; (2074 ) + 2034: 4798 blx r3 + 2036: 0005 movs r5, r0 if(_lv_ll_get_head(&parent->child_ll) == obj) return; - 1fd0: 1d06 adds r6, r0, #4 - 1fd2: 0030 movs r0, r6 - 1fd4: 4b0e ldr r3, [pc, #56] ; (2010 ) - 1fd6: 4798 blx r3 - 1fd8: 4284 cmp r4, r0 - 1fda: d00f beq.n 1ffc + 2038: 1d06 adds r6, r0, #4 + 203a: 0030 movs r0, r6 + 203c: 4b0e ldr r3, [pc, #56] ; (2078 ) + 203e: 4798 blx r3 + 2040: 4284 cmp r4, r0 + 2042: d00f beq.n 2064 lv_obj_invalidate(parent); - 1fdc: 0028 movs r0, r5 - 1fde: 4f0d ldr r7, [pc, #52] ; (2014 ) - 1fe0: 47b8 blx r7 + 2044: 0028 movs r0, r5 + 2046: 4f0d ldr r7, [pc, #52] ; (207c ) + 2048: 47b8 blx r7 _lv_ll_chg_list(&parent->child_ll, &parent->child_ll, obj, true); - 1fe2: 2301 movs r3, #1 - 1fe4: 0022 movs r2, r4 - 1fe6: 0031 movs r1, r6 - 1fe8: 0030 movs r0, r6 - 1fea: 4e0b ldr r6, [pc, #44] ; (2018 ) - 1fec: 47b0 blx r6 + 204a: 2301 movs r3, #1 + 204c: 0022 movs r2, r4 + 204e: 0031 movs r1, r6 + 2050: 0030 movs r0, r6 + 2052: 4e0b ldr r6, [pc, #44] ; (2080 ) + 2054: 47b0 blx r6 parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, obj); - 1fee: 0022 movs r2, r4 - 1ff0: 2101 movs r1, #1 - 1ff2: 0028 movs r0, r5 - 1ff4: 69eb ldr r3, [r5, #28] - 1ff6: 4798 blx r3 + 2056: 0022 movs r2, r4 + 2058: 2101 movs r1, #1 + 205a: 0028 movs r0, r5 + 205c: 69eb ldr r3, [r5, #28] + 205e: 4798 blx r3 lv_obj_invalidate(parent); - 1ff8: 0028 movs r0, r5 - 1ffa: 47b8 blx r7 -} - 1ffc: bdf8 pop {r3, r4, r5, r6, r7, pc} - 1ffe: 46c0 nop ; (mov r8, r8) - 2000: 00001415 .word 0x00001415 - 2004: 0001886c .word 0x0001886c - 2008: 0000141d .word 0x0000141d - 200c: 00001a39 .word 0x00001a39 - 2010: 00010605 .word 0x00010605 - 2014: 00001f49 .word 0x00001f49 - 2018: 0001077d .word 0x0001077d - -0000201c : -{ - 201c: b5f0 push {r4, r5, r6, r7, lr} - 201e: 46d6 mov lr, sl - 2020: 464f mov r7, r9 - 2022: 4646 mov r6, r8 - 2024: b5c0 push {r6, r7, lr} - 2026: b082 sub sp, #8 - 2028: 0004 movs r4, r0 - 202a: 000d movs r5, r1 - 202c: 0017 movs r7, r2 + 2060: 0028 movs r0, r5 + 2062: 47b8 blx r7 +} + 2064: bdf8 pop {r3, r4, r5, r6, r7, pc} + 2066: 46c0 nop ; (mov r8, r8) + 2068: 0000147d .word 0x0000147d + 206c: 000188fc .word 0x000188fc + 2070: 00001485 .word 0x00001485 + 2074: 00001aa1 .word 0x00001aa1 + 2078: 0001066d .word 0x0001066d + 207c: 00001fb1 .word 0x00001fb1 + 2080: 000107e5 .word 0x000107e5 + +00002084 : +{ + 2084: b5f0 push {r4, r5, r6, r7, lr} + 2086: 46d6 mov lr, sl + 2088: 464f mov r7, r9 + 208a: 4646 mov r6, r8 + 208c: b5c0 push {r6, r7, lr} + 208e: b082 sub sp, #8 + 2090: 0004 movs r4, r0 + 2092: 000d movs r5, r1 + 2094: 0017 movs r7, r2 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 202e: 4b26 ldr r3, [pc, #152] ; (20c8 ) - 2030: 4798 blx r3 - 2032: 2800 cmp r0, #0 - 2034: d041 beq.n 20ba + 2096: 4b26 ldr r3, [pc, #152] ; (2130 ) + 2098: 4798 blx r3 + 209a: 2800 cmp r0, #0 + 209c: d041 beq.n 2122 lv_obj_t * par = obj->parent; - 2036: 6826 ldr r6, [r4, #0] + 209e: 6826 ldr r6, [r4, #0] if(par == NULL) { - 2038: 2e00 cmp r6, #0 - 203a: d038 beq.n 20ae + 20a0: 2e00 cmp r6, #0 + 20a2: d038 beq.n 2116 diff.x = x - obj->coords.x1; - 203c: 8a33 ldrh r3, [r6, #16] - 203e: 8a22 ldrh r2, [r4, #16] - 2040: 1a9b subs r3, r3, r2 - 2042: 195b adds r3, r3, r5 - 2044: b29b uxth r3, r3 - 2046: 469a mov sl, r3 - 2048: b21b sxth r3, r3 - 204a: 4698 mov r8, r3 + 20a4: 8a33 ldrh r3, [r6, #16] + 20a6: 8a22 ldrh r2, [r4, #16] + 20a8: 1a9b subs r3, r3, r2 + 20aa: 195b adds r3, r3, r5 + 20ac: b29b uxth r3, r3 + 20ae: 469a mov sl, r3 + 20b0: b21b sxth r3, r3 + 20b2: 4698 mov r8, r3 diff.y = y - obj->coords.y1; - 204c: 8a75 ldrh r5, [r6, #18] - 204e: 8a63 ldrh r3, [r4, #18] - 2050: 1aed subs r5, r5, r3 - 2052: 19ed adds r5, r5, r7 - 2054: b2ad uxth r5, r5 - 2056: b22b sxth r3, r5 - 2058: 4699 mov r9, r3 + 20b4: 8a75 ldrh r5, [r6, #18] + 20b6: 8a63 ldrh r3, [r4, #18] + 20b8: 1aed subs r5, r5, r3 + 20ba: 19ed adds r5, r5, r7 + 20bc: b2ad uxth r5, r5 + 20be: b22b sxth r3, r5 + 20c0: 4699 mov r9, r3 if(diff.x == 0 && diff.y == 0) return; - 205a: 4643 mov r3, r8 - 205c: 2b00 cmp r3, #0 - 205e: d102 bne.n 2066 - 2060: 464b mov r3, r9 - 2062: 2b00 cmp r3, #0 - 2064: d023 beq.n 20ae + 20c2: 4643 mov r3, r8 + 20c4: 2b00 cmp r3, #0 + 20c6: d102 bne.n 20ce + 20c8: 464b mov r3, r9 + 20ca: 2b00 cmp r3, #0 + 20cc: d023 beq.n 2116 lv_obj_invalidate(obj); - 2066: 0020 movs r0, r4 - 2068: 4f18 ldr r7, [pc, #96] ; (20cc ) - 206a: 47b8 blx r7 + 20ce: 0020 movs r0, r4 + 20d0: 4f18 ldr r7, [pc, #96] ; (2134 ) + 20d2: 47b8 blx r7 lv_obj_get_coords(obj, &ori); - 206c: 4669 mov r1, sp - 206e: 0020 movs r0, r4 - 2070: 4b17 ldr r3, [pc, #92] ; (20d0 ) - 2072: 4798 blx r3 + 20d4: 4669 mov r1, sp + 20d6: 0020 movs r0, r4 + 20d8: 4b17 ldr r3, [pc, #92] ; (2138 ) + 20da: 4798 blx r3 obj->coords.x1 += diff.x; - 2074: 8a23 ldrh r3, [r4, #16] - 2076: 4453 add r3, sl - 2078: 8223 strh r3, [r4, #16] + 20dc: 8a23 ldrh r3, [r4, #16] + 20de: 4453 add r3, sl + 20e0: 8223 strh r3, [r4, #16] obj->coords.y1 += diff.y; - 207a: 8a63 ldrh r3, [r4, #18] - 207c: 18eb adds r3, r5, r3 - 207e: 8263 strh r3, [r4, #18] + 20e2: 8a63 ldrh r3, [r4, #18] + 20e4: 18eb adds r3, r5, r3 + 20e6: 8263 strh r3, [r4, #18] obj->coords.x2 += diff.x; - 2080: 8aa3 ldrh r3, [r4, #20] - 2082: 4453 add r3, sl - 2084: 82a3 strh r3, [r4, #20] + 20e8: 8aa3 ldrh r3, [r4, #20] + 20ea: 4453 add r3, sl + 20ec: 82a3 strh r3, [r4, #20] obj->coords.y2 += diff.y; - 2086: 8ae3 ldrh r3, [r4, #22] - 2088: 18ed adds r5, r5, r3 - 208a: 82e5 strh r5, [r4, #22] + 20ee: 8ae3 ldrh r3, [r4, #22] + 20f0: 18ed adds r5, r5, r3 + 20f2: 82e5 strh r5, [r4, #22] refresh_children_position(obj, diff.x, diff.y); - 208c: 464a mov r2, r9 - 208e: 4641 mov r1, r8 - 2090: 0020 movs r0, r4 - 2092: 4b10 ldr r3, [pc, #64] ; (20d4 ) - 2094: 4798 blx r3 + 20f4: 464a mov r2, r9 + 20f6: 4641 mov r1, r8 + 20f8: 0020 movs r0, r4 + 20fa: 4b10 ldr r3, [pc, #64] ; (213c ) + 20fc: 4798 blx r3 obj->signal_cb(obj, LV_SIGNAL_COORD_CHG, &ori); - 2096: 466a mov r2, sp - 2098: 2102 movs r1, #2 - 209a: 0020 movs r0, r4 - 209c: 69e3 ldr r3, [r4, #28] - 209e: 4798 blx r3 + 20fe: 466a mov r2, sp + 2100: 2102 movs r1, #2 + 2102: 0020 movs r0, r4 + 2104: 69e3 ldr r3, [r4, #28] + 2106: 4798 blx r3 par->signal_cb(par, LV_SIGNAL_CHILD_CHG, obj); - 20a0: 69f3 ldr r3, [r6, #28] - 20a2: 0022 movs r2, r4 - 20a4: 2101 movs r1, #1 - 20a6: 0030 movs r0, r6 - 20a8: 4798 blx r3 + 2108: 69f3 ldr r3, [r6, #28] + 210a: 0022 movs r2, r4 + 210c: 2101 movs r1, #1 + 210e: 0030 movs r0, r6 + 2110: 4798 blx r3 lv_obj_invalidate(obj); - 20aa: 0020 movs r0, r4 - 20ac: 47b8 blx r7 -} - 20ae: b002 add sp, #8 - 20b0: bc1c pop {r2, r3, r4} - 20b2: 4690 mov r8, r2 - 20b4: 4699 mov r9, r3 - 20b6: 46a2 mov sl, r4 - 20b8: bdf0 pop {r4, r5, r6, r7, pc} + 2112: 0020 movs r0, r4 + 2114: 47b8 blx r7 +} + 2116: b002 add sp, #8 + 2118: bc1c pop {r2, r3, r4} + 211a: 4690 mov r8, r2 + 211c: 4699 mov r9, r3 + 211e: 46a2 mov sl, r4 + 2120: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 20ba: 0022 movs r2, r4 - 20bc: 2300 movs r3, #0 - 20be: 4806 ldr r0, [pc, #24] ; (20d8 ) - 20c0: 4906 ldr r1, [pc, #24] ; (20dc ) - 20c2: 4788 blx r1 - 20c4: e7fe b.n 20c4 - 20c6: 46c0 nop ; (mov r8, r8) - 20c8: 00001415 .word 0x00001415 - 20cc: 00001f49 .word 0x00001f49 - 20d0: 00001b6d .word 0x00001b6d - 20d4: 000017a1 .word 0x000017a1 - 20d8: 0001886c .word 0x0001886c - 20dc: 0000141d .word 0x0000141d - -000020e0 : -{ - 20e0: b5f0 push {r4, r5, r6, r7, lr} - 20e2: 46d6 mov lr, sl - 20e4: 464f mov r7, r9 - 20e6: 4646 mov r6, r8 - 20e8: b5c0 push {r6, r7, lr} - 20ea: b084 sub sp, #16 - 20ec: 0004 movs r4, r0 - 20ee: 000f movs r7, r1 - 20f0: 9201 str r2, [sp, #4] - 20f2: 4699 mov r9, r3 - 20f4: ab0c add r3, sp, #48 ; 0x30 - 20f6: 2200 movs r2, #0 - 20f8: 5e9a ldrsh r2, [r3, r2] - 20fa: 4690 mov r8, r2 + 2122: 0022 movs r2, r4 + 2124: 2300 movs r3, #0 + 2126: 4806 ldr r0, [pc, #24] ; (2140 ) + 2128: 4906 ldr r1, [pc, #24] ; (2144 ) + 212a: 4788 blx r1 + 212c: e7fe b.n 212c + 212e: 46c0 nop ; (mov r8, r8) + 2130: 0000147d .word 0x0000147d + 2134: 00001fb1 .word 0x00001fb1 + 2138: 00001bd5 .word 0x00001bd5 + 213c: 00001809 .word 0x00001809 + 2140: 000188fc .word 0x000188fc + 2144: 00001485 .word 0x00001485 + +00002148 : +{ + 2148: b5f0 push {r4, r5, r6, r7, lr} + 214a: 46d6 mov lr, sl + 214c: 464f mov r7, r9 + 214e: 4646 mov r6, r8 + 2150: b5c0 push {r6, r7, lr} + 2152: b084 sub sp, #16 + 2154: 0004 movs r4, r0 + 2156: 000f movs r7, r1 + 2158: 9201 str r2, [sp, #4] + 215a: 4699 mov r9, r3 + 215c: ab0c add r3, sp, #48 ; 0x30 + 215e: 2200 movs r2, #0 + 2160: 5e9a ldrsh r2, [r3, r2] + 2162: 4690 mov r8, r2 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 20fc: 4b26 ldr r3, [pc, #152] ; (2198 ) - 20fe: 4798 blx r3 - 2100: 2800 cmp r0, #0 - 2102: d105 bne.n 2110 - 2104: 0022 movs r2, r4 - 2106: 2300 movs r3, #0 - 2108: 4824 ldr r0, [pc, #144] ; (219c ) - 210a: 4925 ldr r1, [pc, #148] ; (21a0 ) - 210c: 4788 blx r1 - 210e: e7fe b.n 210e + 2164: 4b26 ldr r3, [pc, #152] ; (2200 ) + 2166: 4798 blx r3 + 2168: 2800 cmp r0, #0 + 216a: d105 bne.n 2178 + 216c: 0022 movs r2, r4 + 216e: 2300 movs r3, #0 + 2170: 4824 ldr r0, [pc, #144] ; (2204 ) + 2172: 4925 ldr r1, [pc, #148] ; (2208 ) + 2174: 4788 blx r1 + 2176: e7fe b.n 2176 if(base == NULL) base = lv_obj_get_parent(obj); - 2110: 2f00 cmp r7, #0 - 2112: d00a beq.n 212a + 2178: 2f00 cmp r7, #0 + 217a: d00a beq.n 2192 LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 2114: 0038 movs r0, r7 - 2116: 4b20 ldr r3, [pc, #128] ; (2198 ) - 2118: 4798 blx r3 - 211a: 2800 cmp r0, #0 - 211c: d10a bne.n 2134 - 211e: 003a movs r2, r7 - 2120: 2300 movs r3, #0 - 2122: 481e ldr r0, [pc, #120] ; (219c ) - 2124: 491e ldr r1, [pc, #120] ; (21a0 ) - 2126: 4788 blx r1 - 2128: e7fe b.n 2128 + 217c: 0038 movs r0, r7 + 217e: 4b20 ldr r3, [pc, #128] ; (2200 ) + 2180: 4798 blx r3 + 2182: 2800 cmp r0, #0 + 2184: d10a bne.n 219c + 2186: 003a movs r2, r7 + 2188: 2300 movs r3, #0 + 218a: 481e ldr r0, [pc, #120] ; (2204 ) + 218c: 491e ldr r1, [pc, #120] ; (2208 ) + 218e: 4788 blx r1 + 2190: e7fe b.n 2190 if(base == NULL) base = lv_obj_get_parent(obj); - 212a: 0020 movs r0, r4 - 212c: 4b1d ldr r3, [pc, #116] ; (21a4 ) - 212e: 4798 blx r3 - 2130: 0007 movs r7, r0 - 2132: e7ef b.n 2114 + 2192: 0020 movs r0, r4 + 2194: 4b1d ldr r3, [pc, #116] ; (220c ) + 2196: 4798 blx r3 + 2198: 0007 movs r7, r0 + 219a: e7ef b.n 217c _lv_area_align(&base->coords, &obj->coords, align, &new_pos); - 2134: ad03 add r5, sp, #12 - 2136: 0021 movs r1, r4 - 2138: 3110 adds r1, #16 - 213a: 0038 movs r0, r7 - 213c: 3010 adds r0, #16 - 213e: 002b movs r3, r5 - 2140: 9a01 ldr r2, [sp, #4] - 2142: 4e19 ldr r6, [pc, #100] ; (21a8 ) - 2144: 47b0 blx r6 + 219c: ad03 add r5, sp, #12 + 219e: 0021 movs r1, r4 + 21a0: 3110 adds r1, #16 + 21a2: 0038 movs r0, r7 + 21a4: 3010 adds r0, #16 + 21a6: 002b movs r3, r5 + 21a8: 9a01 ldr r2, [sp, #4] + 21aa: 4e19 ldr r6, [pc, #100] ; (2210 ) + 21ac: 47b0 blx r6 lv_obj_t * par = lv_obj_get_parent(obj); - 2146: 0020 movs r0, r4 - 2148: 4b16 ldr r3, [pc, #88] ; (21a4 ) - 214a: 4798 blx r3 + 21ae: 0020 movs r0, r4 + 21b0: 4b16 ldr r3, [pc, #88] ; (220c ) + 21b2: 4798 blx r3 lv_coord_t par_abs_y = par->coords.y1; - 214c: 2212 movs r2, #18 - 214e: 5e83 ldrsh r3, [r0, r2] + 21b4: 2212 movs r2, #18 + 21b6: 5e83 ldrsh r3, [r0, r2] new_pos.y += y_ofs; - 2150: 886a ldrh r2, [r5, #2] - 2152: 4442 add r2, r8 + 21b8: 886a ldrh r2, [r5, #2] + 21ba: 4442 add r2, r8 new_pos.x += x_ofs; - 2154: 8829 ldrh r1, [r5, #0] - 2156: 4449 add r1, r9 + 21bc: 8829 ldrh r1, [r5, #0] + 21be: 4449 add r1, r9 new_pos.x -= par_abs_x; - 2158: 8a00 ldrh r0, [r0, #16] - 215a: 1a09 subs r1, r1, r0 - 215c: b209 sxth r1, r1 - 215e: 8029 strh r1, [r5, #0] + 21c0: 8a00 ldrh r0, [r0, #16] + 21c2: 1a09 subs r1, r1, r0 + 21c4: b209 sxth r1, r1 + 21c6: 8029 strh r1, [r5, #0] new_pos.y -= par_abs_y; - 2160: 1ad2 subs r2, r2, r3 - 2162: b212 sxth r2, r2 - 2164: 806a strh r2, [r5, #2] + 21c8: 1ad2 subs r2, r2, r3 + 21ca: b212 sxth r2, r2 + 21cc: 806a strh r2, [r5, #2] lv_obj_set_pos(obj, new_pos.x, new_pos.y); - 2166: 0020 movs r0, r4 - 2168: 4b10 ldr r3, [pc, #64] ; (21ac ) - 216a: 4798 blx r3 + 21ce: 0020 movs r0, r4 + 21d0: 4b10 ldr r3, [pc, #64] ; (2214 ) + 21d2: 4798 blx r3 obj->realign.align = align; - 216c: 2348 movs r3, #72 ; 0x48 - 216e: 466a mov r2, sp - 2170: 7912 ldrb r2, [r2, #4] - 2172: 54e2 strb r2, [r4, r3] + 21d4: 2348 movs r3, #72 ; 0x48 + 21d6: 466a mov r2, sp + 21d8: 7912 ldrb r2, [r2, #4] + 21da: 54e2 strb r2, [r4, r3] obj->realign.xofs = x_ofs; - 2174: 3b04 subs r3, #4 - 2176: 464a mov r2, r9 - 2178: 52e2 strh r2, [r4, r3] + 21dc: 3b04 subs r3, #4 + 21de: 464a mov r2, r9 + 21e0: 52e2 strh r2, [r4, r3] obj->realign.yofs = y_ofs; - 217a: 3302 adds r3, #2 - 217c: 4642 mov r2, r8 - 217e: 52e2 strh r2, [r4, r3] + 21e2: 3302 adds r3, #2 + 21e4: 4642 mov r2, r8 + 21e6: 52e2 strh r2, [r4, r3] obj->realign.base = base; - 2180: 6427 str r7, [r4, #64] ; 0x40 + 21e8: 6427 str r7, [r4, #64] ; 0x40 obj->realign.origo_align = 0; - 2182: 2249 movs r2, #73 ; 0x49 - 2184: 5ca3 ldrb r3, [r4, r2] - 2186: 2102 movs r1, #2 - 2188: 438b bics r3, r1 - 218a: 54a3 strb r3, [r4, r2] -} - 218c: b004 add sp, #16 - 218e: bc1c pop {r2, r3, r4} - 2190: 4690 mov r8, r2 - 2192: 4699 mov r9, r3 - 2194: 46a2 mov sl, r4 - 2196: bdf0 pop {r4, r5, r6, r7, pc} - 2198: 00001415 .word 0x00001415 - 219c: 0001886c .word 0x0001886c - 21a0: 0000141d .word 0x0000141d - 21a4: 00001a39 .word 0x00001a39 - 21a8: 0000fed9 .word 0x0000fed9 - 21ac: 0000201d .word 0x0000201d - -000021b0 : -{ - 21b0: b5f0 push {r4, r5, r6, r7, lr} - 21b2: 46de mov lr, fp - 21b4: 4657 mov r7, sl - 21b6: 464e mov r6, r9 - 21b8: 4645 mov r5, r8 - 21ba: b5e0 push {r5, r6, r7, lr} - 21bc: b083 sub sp, #12 - 21be: 4680 mov r8, r0 - 21c0: 9101 str r1, [sp, #4] - 21c2: 4692 mov sl, r2 - 21c4: 4699 mov r9, r3 - 21c6: ab0c add r3, sp, #48 ; 0x30 - 21c8: 2200 movs r2, #0 - 21ca: 5e9b ldrsh r3, [r3, r2] - 21cc: 469b mov fp, r3 + 21ea: 2249 movs r2, #73 ; 0x49 + 21ec: 5ca3 ldrb r3, [r4, r2] + 21ee: 2102 movs r1, #2 + 21f0: 438b bics r3, r1 + 21f2: 54a3 strb r3, [r4, r2] +} + 21f4: b004 add sp, #16 + 21f6: bc1c pop {r2, r3, r4} + 21f8: 4690 mov r8, r2 + 21fa: 4699 mov r9, r3 + 21fc: 46a2 mov sl, r4 + 21fe: bdf0 pop {r4, r5, r6, r7, pc} + 2200: 0000147d .word 0x0000147d + 2204: 000188fc .word 0x000188fc + 2208: 00001485 .word 0x00001485 + 220c: 00001aa1 .word 0x00001aa1 + 2210: 0000ff41 .word 0x0000ff41 + 2214: 00002085 .word 0x00002085 + +00002218 : +{ + 2218: b5f0 push {r4, r5, r6, r7, lr} + 221a: 46de mov lr, fp + 221c: 4657 mov r7, sl + 221e: 464e mov r6, r9 + 2220: 4645 mov r5, r8 + 2222: b5e0 push {r5, r6, r7, lr} + 2224: b083 sub sp, #12 + 2226: 4680 mov r8, r0 + 2228: 9101 str r1, [sp, #4] + 222a: 4692 mov sl, r2 + 222c: 4699 mov r9, r3 + 222e: ab0c add r3, sp, #48 ; 0x30 + 2230: 2200 movs r2, #0 + 2232: 5e9b ldrsh r3, [r3, r2] + 2234: 469b mov fp, r3 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 21ce: 4ba1 ldr r3, [pc, #644] ; (2454 ) - 21d0: 4798 blx r3 - 21d2: 2800 cmp r0, #0 - 21d4: d105 bne.n 21e2 - 21d6: 4642 mov r2, r8 - 21d8: 2300 movs r3, #0 - 21da: 489f ldr r0, [pc, #636] ; (2458 ) - 21dc: 499f ldr r1, [pc, #636] ; (245c ) - 21de: 4788 blx r1 - 21e0: e7fe b.n 21e0 + 2236: 4ba1 ldr r3, [pc, #644] ; (24bc ) + 2238: 4798 blx r3 + 223a: 2800 cmp r0, #0 + 223c: d105 bne.n 224a + 223e: 4642 mov r2, r8 + 2240: 2300 movs r3, #0 + 2242: 489f ldr r0, [pc, #636] ; (24c0 ) + 2244: 499f ldr r1, [pc, #636] ; (24c4 ) + 2246: 4788 blx r1 + 2248: e7fe b.n 2248 lv_coord_t new_x = lv_obj_get_x(obj); - 21e2: 4640 mov r0, r8 - 21e4: 4b9e ldr r3, [pc, #632] ; (2460 ) - 21e6: 4798 blx r3 - 21e8: 0005 movs r5, r0 + 224a: 4640 mov r0, r8 + 224c: 4b9e ldr r3, [pc, #632] ; (24c8 ) + 224e: 4798 blx r3 + 2250: 0005 movs r5, r0 lv_coord_t new_y = lv_obj_get_y(obj); - 21ea: 4640 mov r0, r8 - 21ec: 4b9d ldr r3, [pc, #628] ; (2464 ) - 21ee: 4798 blx r3 - 21f0: 0004 movs r4, r0 + 2252: 4640 mov r0, r8 + 2254: 4b9d ldr r3, [pc, #628] ; (24cc ) + 2256: 4798 blx r3 + 2258: 0004 movs r4, r0 lv_coord_t obj_w_half = lv_obj_get_width(obj) / 2; - 21f2: 4640 mov r0, r8 - 21f4: 4b9c ldr r3, [pc, #624] ; (2468 ) - 21f6: 4798 blx r3 - 21f8: 0fc3 lsrs r3, r0, #31 - 21fa: 181b adds r3, r3, r0 - 21fc: 105b asrs r3, r3, #1 - 21fe: b21e sxth r6, r3 + 225a: 4640 mov r0, r8 + 225c: 4b9c ldr r3, [pc, #624] ; (24d0 ) + 225e: 4798 blx r3 + 2260: 0fc3 lsrs r3, r0, #31 + 2262: 181b adds r3, r3, r0 + 2264: 105b asrs r3, r3, #1 + 2266: b21e sxth r6, r3 lv_coord_t obj_h_half = lv_obj_get_height(obj) / 2; - 2200: 4640 mov r0, r8 - 2202: 4b9a ldr r3, [pc, #616] ; (246c ) - 2204: 4798 blx r3 - 2206: 0fc7 lsrs r7, r0, #31 - 2208: 183f adds r7, r7, r0 - 220a: 107f asrs r7, r7, #1 - 220c: b23f sxth r7, r7 + 2268: 4640 mov r0, r8 + 226a: 4b9a ldr r3, [pc, #616] ; (24d4 ) + 226c: 4798 blx r3 + 226e: 0fc7 lsrs r7, r0, #31 + 2270: 183f adds r7, r7, r0 + 2272: 107f asrs r7, r7, #1 + 2274: b23f sxth r7, r7 if(base == NULL) { - 220e: 9b01 ldr r3, [sp, #4] - 2210: 2b00 cmp r3, #0 - 2212: d00b beq.n 222c + 2276: 9b01 ldr r3, [sp, #4] + 2278: 2b00 cmp r3, #0 + 227a: d00b beq.n 2294 LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 2214: 9801 ldr r0, [sp, #4] - 2216: 4b8f ldr r3, [pc, #572] ; (2454 ) - 2218: 4798 blx r3 - 221a: 2800 cmp r0, #0 - 221c: d00b beq.n 2236 + 227c: 9801 ldr r0, [sp, #4] + 227e: 4b8f ldr r3, [pc, #572] ; (24bc ) + 2280: 4798 blx r3 + 2282: 2800 cmp r0, #0 + 2284: d00b beq.n 229e switch(align) { - 221e: 4653 mov r3, sl - 2220: 2b14 cmp r3, #20 - 2222: d81f bhi.n 2264 - 2224: 009b lsls r3, r3, #2 - 2226: 4a92 ldr r2, [pc, #584] ; (2470 ) - 2228: 58d3 ldr r3, [r2, r3] - 222a: 469f mov pc, r3 + 2286: 4653 mov r3, sl + 2288: 2b14 cmp r3, #20 + 228a: d81f bhi.n 22cc + 228c: 009b lsls r3, r3, #2 + 228e: 4a92 ldr r2, [pc, #584] ; (24d8 ) + 2290: 58d3 ldr r3, [r2, r3] + 2292: 469f mov pc, r3 base = lv_obj_get_parent(obj); - 222c: 4640 mov r0, r8 - 222e: 4b91 ldr r3, [pc, #580] ; (2474 ) - 2230: 4798 blx r3 - 2232: 9001 str r0, [sp, #4] - 2234: e7ee b.n 2214 + 2294: 4640 mov r0, r8 + 2296: 4b91 ldr r3, [pc, #580] ; (24dc ) + 2298: 4798 blx r3 + 229a: 9001 str r0, [sp, #4] + 229c: e7ee b.n 227c LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 2236: 9a01 ldr r2, [sp, #4] - 2238: 2300 movs r3, #0 - 223a: 4887 ldr r0, [pc, #540] ; (2458 ) - 223c: 4987 ldr r1, [pc, #540] ; (245c ) - 223e: 4788 blx r1 - 2240: e7fe b.n 2240 + 229e: 9a01 ldr r2, [sp, #4] + 22a0: 2300 movs r3, #0 + 22a2: 4887 ldr r0, [pc, #540] ; (24c0 ) + 22a4: 4987 ldr r1, [pc, #540] ; (24c4 ) + 22a6: 4788 blx r1 + 22a8: e7fe b.n 22a8 new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 2242: 9c01 ldr r4, [sp, #4] - 2244: 0020 movs r0, r4 - 2246: 4b88 ldr r3, [pc, #544] ; (2468 ) - 2248: 4798 blx r3 - 224a: 0fc5 lsrs r5, r0, #31 - 224c: 182d adds r5, r5, r0 - 224e: 106d asrs r5, r5, #1 - 2250: 1bad subs r5, r5, r6 - 2252: b22d sxth r5, r5 + 22aa: 9c01 ldr r4, [sp, #4] + 22ac: 0020 movs r0, r4 + 22ae: 4b88 ldr r3, [pc, #544] ; (24d0 ) + 22b0: 4798 blx r3 + 22b2: 0fc5 lsrs r5, r0, #31 + 22b4: 182d adds r5, r5, r0 + 22b6: 106d asrs r5, r5, #1 + 22b8: 1bad subs r5, r5, r6 + 22ba: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 2254: 0020 movs r0, r4 - 2256: 4b85 ldr r3, [pc, #532] ; (246c ) - 2258: 4798 blx r3 - 225a: 0fc4 lsrs r4, r0, #31 - 225c: 1824 adds r4, r4, r0 - 225e: 1064 asrs r4, r4, #1 - 2260: 1be4 subs r4, r4, r7 - 2262: b224 sxth r4, r4 + 22bc: 0020 movs r0, r4 + 22be: 4b85 ldr r3, [pc, #532] ; (24d4 ) + 22c0: 4798 blx r3 + 22c2: 0fc4 lsrs r4, r0, #31 + 22c4: 1824 adds r4, r4, r0 + 22c6: 1064 asrs r4, r4, #1 + 22c8: 1be4 subs r4, r4, r7 + 22ca: b224 sxth r4, r4 lv_obj_t * par = lv_obj_get_parent(obj); - 2264: 4640 mov r0, r8 - 2266: 4b83 ldr r3, [pc, #524] ; (2474 ) - 2268: 4798 blx r3 + 22cc: 4640 mov r0, r8 + 22ce: 4b83 ldr r3, [pc, #524] ; (24dc ) + 22d0: 4798 blx r3 new_x += x_ofs + base_abs_x; - 226a: 9a01 ldr r2, [sp, #4] - 226c: 8a13 ldrh r3, [r2, #16] - 226e: 444b add r3, r9 - 2270: 195d adds r5, r3, r5 + 22d2: 9a01 ldr r2, [sp, #4] + 22d4: 8a13 ldrh r3, [r2, #16] + 22d6: 444b add r3, r9 + 22d8: 195d adds r5, r3, r5 new_x -= par_abs_x; - 2272: 8a01 ldrh r1, [r0, #16] - 2274: 1a69 subs r1, r5, r1 + 22da: 8a01 ldrh r1, [r0, #16] + 22dc: 1a69 subs r1, r5, r1 new_y += y_ofs + base_abs_y; - 2276: 0015 movs r5, r2 - 2278: 8a52 ldrh r2, [r2, #18] - 227a: 445a add r2, fp - 227c: 1912 adds r2, r2, r4 + 22de: 0015 movs r5, r2 + 22e0: 8a52 ldrh r2, [r2, #18] + 22e2: 445a add r2, fp + 22e4: 1912 adds r2, r2, r4 new_y -= par_abs_y; - 227e: 8a44 ldrh r4, [r0, #18] - 2280: 1b12 subs r2, r2, r4 + 22e6: 8a44 ldrh r4, [r0, #18] + 22e8: 1b12 subs r2, r2, r4 lv_obj_set_pos(obj, new_x, new_y); - 2282: b212 sxth r2, r2 - 2284: b209 sxth r1, r1 - 2286: 4640 mov r0, r8 - 2288: 4b7b ldr r3, [pc, #492] ; (2478 ) - 228a: 4798 blx r3 + 22ea: b212 sxth r2, r2 + 22ec: b209 sxth r1, r1 + 22ee: 4640 mov r0, r8 + 22f0: 4b7b ldr r3, [pc, #492] ; (24e0 ) + 22f2: 4798 blx r3 obj->realign.align = align; - 228c: 2348 movs r3, #72 ; 0x48 - 228e: 4642 mov r2, r8 - 2290: 4651 mov r1, sl - 2292: 54d1 strb r1, [r2, r3] + 22f4: 2348 movs r3, #72 ; 0x48 + 22f6: 4642 mov r2, r8 + 22f8: 4651 mov r1, sl + 22fa: 54d1 strb r1, [r2, r3] obj->realign.xofs = x_ofs; - 2294: 3b04 subs r3, #4 - 2296: 4649 mov r1, r9 - 2298: 52d1 strh r1, [r2, r3] + 22fc: 3b04 subs r3, #4 + 22fe: 4649 mov r1, r9 + 2300: 52d1 strh r1, [r2, r3] obj->realign.yofs = y_ofs; - 229a: 3302 adds r3, #2 - 229c: 4659 mov r1, fp - 229e: 52d1 strh r1, [r2, r3] + 2302: 3302 adds r3, #2 + 2304: 4659 mov r1, fp + 2306: 52d1 strh r1, [r2, r3] obj->realign.base = base; - 22a0: 6415 str r5, [r2, #64] ; 0x40 + 2308: 6415 str r5, [r2, #64] ; 0x40 obj->realign.origo_align = 1; - 22a2: 2249 movs r2, #73 ; 0x49 - 22a4: 4643 mov r3, r8 - 22a6: 5c9b ldrb r3, [r3, r2] - 22a8: 2102 movs r1, #2 - 22aa: 430b orrs r3, r1 - 22ac: 4641 mov r1, r8 - 22ae: 548b strb r3, [r1, r2] -} - 22b0: b003 add sp, #12 - 22b2: bc3c pop {r2, r3, r4, r5} - 22b4: 4690 mov r8, r2 - 22b6: 4699 mov r9, r3 - 22b8: 46a2 mov sl, r4 - 22ba: 46ab mov fp, r5 - 22bc: bdf0 pop {r4, r5, r6, r7, pc} + 230a: 2249 movs r2, #73 ; 0x49 + 230c: 4643 mov r3, r8 + 230e: 5c9b ldrb r3, [r3, r2] + 2310: 2102 movs r1, #2 + 2312: 430b orrs r3, r1 + 2314: 4641 mov r1, r8 + 2316: 548b strb r3, [r1, r2] +} + 2318: b003 add sp, #12 + 231a: bc3c pop {r2, r3, r4, r5} + 231c: 4690 mov r8, r2 + 231e: 4699 mov r9, r3 + 2320: 46a2 mov sl, r4 + 2322: 46ab mov fp, r5 + 2324: bdf0 pop {r4, r5, r6, r7, pc} new_x = -obj_w_half; - 22be: 4275 negs r5, r6 - 22c0: b22d sxth r5, r5 + 2326: 4275 negs r5, r6 + 2328: b22d sxth r5, r5 new_y = -obj_h_half; - 22c2: 427c negs r4, r7 - 22c4: b224 sxth r4, r4 + 232a: 427c negs r4, r7 + 232c: b224 sxth r4, r4 break; - 22c6: e7cd b.n 2264 + 232e: e7cd b.n 22cc new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 22c8: 9801 ldr r0, [sp, #4] - 22ca: 4b67 ldr r3, [pc, #412] ; (2468 ) - 22cc: 4798 blx r3 - 22ce: 0fc5 lsrs r5, r0, #31 - 22d0: 182d adds r5, r5, r0 - 22d2: 106d asrs r5, r5, #1 - 22d4: 1bad subs r5, r5, r6 - 22d6: b22d sxth r5, r5 + 2330: 9801 ldr r0, [sp, #4] + 2332: 4b67 ldr r3, [pc, #412] ; (24d0 ) + 2334: 4798 blx r3 + 2336: 0fc5 lsrs r5, r0, #31 + 2338: 182d adds r5, r5, r0 + 233a: 106d asrs r5, r5, #1 + 233c: 1bad subs r5, r5, r6 + 233e: b22d sxth r5, r5 new_y = -obj_h_half; - 22d8: 427c negs r4, r7 - 22da: b224 sxth r4, r4 + 2340: 427c negs r4, r7 + 2342: b224 sxth r4, r4 break; - 22dc: e7c2 b.n 2264 + 2344: e7c2 b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 22de: 9801 ldr r0, [sp, #4] - 22e0: 4b61 ldr r3, [pc, #388] ; (2468 ) - 22e2: 4798 blx r3 - 22e4: 1b85 subs r5, r0, r6 - 22e6: b22d sxth r5, r5 + 2346: 9801 ldr r0, [sp, #4] + 2348: 4b61 ldr r3, [pc, #388] ; (24d0 ) + 234a: 4798 blx r3 + 234c: 1b85 subs r5, r0, r6 + 234e: b22d sxth r5, r5 new_y = -obj_h_half; - 22e8: 427c negs r4, r7 - 22ea: b224 sxth r4, r4 + 2350: 427c negs r4, r7 + 2352: b224 sxth r4, r4 break; - 22ec: e7ba b.n 2264 + 2354: e7ba b.n 22cc new_x = -obj_w_half; - 22ee: 4275 negs r5, r6 - 22f0: b22d sxth r5, r5 + 2356: 4275 negs r5, r6 + 2358: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 22f2: 9801 ldr r0, [sp, #4] - 22f4: 4b5d ldr r3, [pc, #372] ; (246c ) - 22f6: 4798 blx r3 - 22f8: 1bc4 subs r4, r0, r7 - 22fa: b224 sxth r4, r4 + 235a: 9801 ldr r0, [sp, #4] + 235c: 4b5d ldr r3, [pc, #372] ; (24d4 ) + 235e: 4798 blx r3 + 2360: 1bc4 subs r4, r0, r7 + 2362: b224 sxth r4, r4 break; - 22fc: e7b2 b.n 2264 + 2364: e7b2 b.n 22cc new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 22fe: 9c01 ldr r4, [sp, #4] - 2300: 0020 movs r0, r4 - 2302: 4b59 ldr r3, [pc, #356] ; (2468 ) - 2304: 4798 blx r3 - 2306: 0fc5 lsrs r5, r0, #31 - 2308: 182d adds r5, r5, r0 - 230a: 106d asrs r5, r5, #1 - 230c: 1bad subs r5, r5, r6 - 230e: b22d sxth r5, r5 + 2366: 9c01 ldr r4, [sp, #4] + 2368: 0020 movs r0, r4 + 236a: 4b59 ldr r3, [pc, #356] ; (24d0 ) + 236c: 4798 blx r3 + 236e: 0fc5 lsrs r5, r0, #31 + 2370: 182d adds r5, r5, r0 + 2372: 106d asrs r5, r5, #1 + 2374: 1bad subs r5, r5, r6 + 2376: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 2310: 0020 movs r0, r4 - 2312: 4b56 ldr r3, [pc, #344] ; (246c ) - 2314: 4798 blx r3 - 2316: 1bc4 subs r4, r0, r7 - 2318: b224 sxth r4, r4 + 2378: 0020 movs r0, r4 + 237a: 4b56 ldr r3, [pc, #344] ; (24d4 ) + 237c: 4798 blx r3 + 237e: 1bc4 subs r4, r0, r7 + 2380: b224 sxth r4, r4 break; - 231a: e7a3 b.n 2264 + 2382: e7a3 b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 231c: 9c01 ldr r4, [sp, #4] - 231e: 0020 movs r0, r4 - 2320: 4b51 ldr r3, [pc, #324] ; (2468 ) - 2322: 4798 blx r3 - 2324: 1b85 subs r5, r0, r6 - 2326: b22d sxth r5, r5 + 2384: 9c01 ldr r4, [sp, #4] + 2386: 0020 movs r0, r4 + 2388: 4b51 ldr r3, [pc, #324] ; (24d0 ) + 238a: 4798 blx r3 + 238c: 1b85 subs r5, r0, r6 + 238e: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 2328: 0020 movs r0, r4 - 232a: 4b50 ldr r3, [pc, #320] ; (246c ) - 232c: 4798 blx r3 - 232e: 1bc4 subs r4, r0, r7 - 2330: b224 sxth r4, r4 + 2390: 0020 movs r0, r4 + 2392: 4b50 ldr r3, [pc, #320] ; (24d4 ) + 2394: 4798 blx r3 + 2396: 1bc4 subs r4, r0, r7 + 2398: b224 sxth r4, r4 break; - 2332: e797 b.n 2264 + 239a: e797 b.n 22cc new_x = -obj_w_half; - 2334: 4275 negs r5, r6 - 2336: b22d sxth r5, r5 + 239c: 4275 negs r5, r6 + 239e: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 2338: 9801 ldr r0, [sp, #4] - 233a: 4b4c ldr r3, [pc, #304] ; (246c ) - 233c: 4798 blx r3 - 233e: 0fc4 lsrs r4, r0, #31 - 2340: 1824 adds r4, r4, r0 - 2342: 1064 asrs r4, r4, #1 - 2344: 1be4 subs r4, r4, r7 - 2346: b224 sxth r4, r4 + 23a0: 9801 ldr r0, [sp, #4] + 23a2: 4b4c ldr r3, [pc, #304] ; (24d4 ) + 23a4: 4798 blx r3 + 23a6: 0fc4 lsrs r4, r0, #31 + 23a8: 1824 adds r4, r4, r0 + 23aa: 1064 asrs r4, r4, #1 + 23ac: 1be4 subs r4, r4, r7 + 23ae: b224 sxth r4, r4 break; - 2348: e78c b.n 2264 + 23b0: e78c b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 234a: 9c01 ldr r4, [sp, #4] - 234c: 0020 movs r0, r4 - 234e: 4b46 ldr r3, [pc, #280] ; (2468 ) - 2350: 4798 blx r3 - 2352: 1b85 subs r5, r0, r6 - 2354: b22d sxth r5, r5 + 23b2: 9c01 ldr r4, [sp, #4] + 23b4: 0020 movs r0, r4 + 23b6: 4b46 ldr r3, [pc, #280] ; (24d0 ) + 23b8: 4798 blx r3 + 23ba: 1b85 subs r5, r0, r6 + 23bc: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 2356: 0020 movs r0, r4 - 2358: 4b44 ldr r3, [pc, #272] ; (246c ) - 235a: 4798 blx r3 - 235c: 0fc4 lsrs r4, r0, #31 - 235e: 1824 adds r4, r4, r0 - 2360: 1064 asrs r4, r4, #1 - 2362: 1be4 subs r4, r4, r7 - 2364: b224 sxth r4, r4 + 23be: 0020 movs r0, r4 + 23c0: 4b44 ldr r3, [pc, #272] ; (24d4 ) + 23c2: 4798 blx r3 + 23c4: 0fc4 lsrs r4, r0, #31 + 23c6: 1824 adds r4, r4, r0 + 23c8: 1064 asrs r4, r4, #1 + 23ca: 1be4 subs r4, r4, r7 + 23cc: b224 sxth r4, r4 break; - 2366: e77d b.n 2264 + 23ce: e77d b.n 22cc new_x = -obj_w_half; - 2368: 4275 negs r5, r6 - 236a: b22d sxth r5, r5 + 23d0: 4275 negs r5, r6 + 23d2: b22d sxth r5, r5 new_y = -obj_h_half; - 236c: 427c negs r4, r7 - 236e: b224 sxth r4, r4 + 23d4: 427c negs r4, r7 + 23d6: b224 sxth r4, r4 break; - 2370: e778 b.n 2264 + 23d8: e778 b.n 22cc new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 2372: 9801 ldr r0, [sp, #4] - 2374: 4b3c ldr r3, [pc, #240] ; (2468 ) - 2376: 4798 blx r3 - 2378: 0fc5 lsrs r5, r0, #31 - 237a: 182d adds r5, r5, r0 - 237c: 106d asrs r5, r5, #1 - 237e: 1bad subs r5, r5, r6 - 2380: b22d sxth r5, r5 + 23da: 9801 ldr r0, [sp, #4] + 23dc: 4b3c ldr r3, [pc, #240] ; (24d0 ) + 23de: 4798 blx r3 + 23e0: 0fc5 lsrs r5, r0, #31 + 23e2: 182d adds r5, r5, r0 + 23e4: 106d asrs r5, r5, #1 + 23e6: 1bad subs r5, r5, r6 + 23e8: b22d sxth r5, r5 new_y = -obj_h_half; - 2382: 427c negs r4, r7 - 2384: b224 sxth r4, r4 + 23ea: 427c negs r4, r7 + 23ec: b224 sxth r4, r4 break; - 2386: e76d b.n 2264 + 23ee: e76d b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 2388: 9801 ldr r0, [sp, #4] - 238a: 4b37 ldr r3, [pc, #220] ; (2468 ) - 238c: 4798 blx r3 - 238e: 1b85 subs r5, r0, r6 - 2390: b22d sxth r5, r5 + 23f0: 9801 ldr r0, [sp, #4] + 23f2: 4b37 ldr r3, [pc, #220] ; (24d0 ) + 23f4: 4798 blx r3 + 23f6: 1b85 subs r5, r0, r6 + 23f8: b22d sxth r5, r5 new_y = -obj_h_half; - 2392: 427c negs r4, r7 - 2394: b224 sxth r4, r4 + 23fa: 427c negs r4, r7 + 23fc: b224 sxth r4, r4 break; - 2396: e765 b.n 2264 + 23fe: e765 b.n 22cc new_x = -obj_w_half; - 2398: 4275 negs r5, r6 - 239a: b22d sxth r5, r5 + 2400: 4275 negs r5, r6 + 2402: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 239c: 9801 ldr r0, [sp, #4] - 239e: 4b33 ldr r3, [pc, #204] ; (246c ) - 23a0: 4798 blx r3 - 23a2: 1bc4 subs r4, r0, r7 - 23a4: b224 sxth r4, r4 + 2404: 9801 ldr r0, [sp, #4] + 2406: 4b33 ldr r3, [pc, #204] ; (24d4 ) + 2408: 4798 blx r3 + 240a: 1bc4 subs r4, r0, r7 + 240c: b224 sxth r4, r4 break; - 23a6: e75d b.n 2264 + 240e: e75d b.n 22cc new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 23a8: 9c01 ldr r4, [sp, #4] - 23aa: 0020 movs r0, r4 - 23ac: 4b2e ldr r3, [pc, #184] ; (2468 ) - 23ae: 4798 blx r3 - 23b0: 0fc5 lsrs r5, r0, #31 - 23b2: 182d adds r5, r5, r0 - 23b4: 106d asrs r5, r5, #1 - 23b6: 1bad subs r5, r5, r6 - 23b8: b22d sxth r5, r5 + 2410: 9c01 ldr r4, [sp, #4] + 2412: 0020 movs r0, r4 + 2414: 4b2e ldr r3, [pc, #184] ; (24d0 ) + 2416: 4798 blx r3 + 2418: 0fc5 lsrs r5, r0, #31 + 241a: 182d adds r5, r5, r0 + 241c: 106d asrs r5, r5, #1 + 241e: 1bad subs r5, r5, r6 + 2420: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 23ba: 0020 movs r0, r4 - 23bc: 4b2b ldr r3, [pc, #172] ; (246c ) - 23be: 4798 blx r3 - 23c0: 1bc4 subs r4, r0, r7 - 23c2: b224 sxth r4, r4 + 2422: 0020 movs r0, r4 + 2424: 4b2b ldr r3, [pc, #172] ; (24d4 ) + 2426: 4798 blx r3 + 2428: 1bc4 subs r4, r0, r7 + 242a: b224 sxth r4, r4 break; - 23c4: e74e b.n 2264 + 242c: e74e b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 23c6: 9c01 ldr r4, [sp, #4] - 23c8: 0020 movs r0, r4 - 23ca: 4b27 ldr r3, [pc, #156] ; (2468 ) - 23cc: 4798 blx r3 - 23ce: 1b85 subs r5, r0, r6 - 23d0: b22d sxth r5, r5 + 242e: 9c01 ldr r4, [sp, #4] + 2430: 0020 movs r0, r4 + 2432: 4b27 ldr r3, [pc, #156] ; (24d0 ) + 2434: 4798 blx r3 + 2436: 1b85 subs r5, r0, r6 + 2438: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 23d2: 0020 movs r0, r4 - 23d4: 4b25 ldr r3, [pc, #148] ; (246c ) - 23d6: 4798 blx r3 - 23d8: 1bc4 subs r4, r0, r7 - 23da: b224 sxth r4, r4 + 243a: 0020 movs r0, r4 + 243c: 4b25 ldr r3, [pc, #148] ; (24d4 ) + 243e: 4798 blx r3 + 2440: 1bc4 subs r4, r0, r7 + 2442: b224 sxth r4, r4 break; - 23dc: e742 b.n 2264 + 2444: e742 b.n 22cc new_x = -obj_w_half; - 23de: 4275 negs r5, r6 - 23e0: b22d sxth r5, r5 + 2446: 4275 negs r5, r6 + 2448: b22d sxth r5, r5 new_y = -obj_h_half; - 23e2: 427c negs r4, r7 - 23e4: b224 sxth r4, r4 + 244a: 427c negs r4, r7 + 244c: b224 sxth r4, r4 break; - 23e6: e73d b.n 2264 + 244e: e73d b.n 22cc new_x = -obj_w_half; - 23e8: 4275 negs r5, r6 - 23ea: b22d sxth r5, r5 + 2450: 4275 negs r5, r6 + 2452: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 23ec: 9801 ldr r0, [sp, #4] - 23ee: 4b1f ldr r3, [pc, #124] ; (246c ) - 23f0: 4798 blx r3 - 23f2: 0fc4 lsrs r4, r0, #31 - 23f4: 1824 adds r4, r4, r0 - 23f6: 1064 asrs r4, r4, #1 - 23f8: 1be4 subs r4, r4, r7 - 23fa: b224 sxth r4, r4 + 2454: 9801 ldr r0, [sp, #4] + 2456: 4b1f ldr r3, [pc, #124] ; (24d4 ) + 2458: 4798 blx r3 + 245a: 0fc4 lsrs r4, r0, #31 + 245c: 1824 adds r4, r4, r0 + 245e: 1064 asrs r4, r4, #1 + 2460: 1be4 subs r4, r4, r7 + 2462: b224 sxth r4, r4 break; - 23fc: e732 b.n 2264 + 2464: e732 b.n 22cc new_x = -obj_w_half; - 23fe: 4275 negs r5, r6 - 2400: b22d sxth r5, r5 + 2466: 4275 negs r5, r6 + 2468: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 2402: 9801 ldr r0, [sp, #4] - 2404: 4b19 ldr r3, [pc, #100] ; (246c ) - 2406: 4798 blx r3 - 2408: 1bc4 subs r4, r0, r7 - 240a: b224 sxth r4, r4 + 246a: 9801 ldr r0, [sp, #4] + 246c: 4b19 ldr r3, [pc, #100] ; (24d4 ) + 246e: 4798 blx r3 + 2470: 1bc4 subs r4, r0, r7 + 2472: b224 sxth r4, r4 break; - 240c: e72a b.n 2264 + 2474: e72a b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 240e: 9801 ldr r0, [sp, #4] - 2410: 4b15 ldr r3, [pc, #84] ; (2468 ) - 2412: 4798 blx r3 - 2414: 1b85 subs r5, r0, r6 - 2416: b22d sxth r5, r5 + 2476: 9801 ldr r0, [sp, #4] + 2478: 4b15 ldr r3, [pc, #84] ; (24d0 ) + 247a: 4798 blx r3 + 247c: 1b85 subs r5, r0, r6 + 247e: b22d sxth r5, r5 new_y = -obj_h_half; - 2418: 427c negs r4, r7 - 241a: b224 sxth r4, r4 + 2480: 427c negs r4, r7 + 2482: b224 sxth r4, r4 break; - 241c: e722 b.n 2264 + 2484: e722 b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 241e: 9c01 ldr r4, [sp, #4] - 2420: 0020 movs r0, r4 - 2422: 4b11 ldr r3, [pc, #68] ; (2468 ) - 2424: 4798 blx r3 - 2426: 1b85 subs r5, r0, r6 - 2428: b22d sxth r5, r5 + 2486: 9c01 ldr r4, [sp, #4] + 2488: 0020 movs r0, r4 + 248a: 4b11 ldr r3, [pc, #68] ; (24d0 ) + 248c: 4798 blx r3 + 248e: 1b85 subs r5, r0, r6 + 2490: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 242a: 0020 movs r0, r4 - 242c: 4b0f ldr r3, [pc, #60] ; (246c ) - 242e: 4798 blx r3 - 2430: 0fc4 lsrs r4, r0, #31 - 2432: 1824 adds r4, r4, r0 - 2434: 1064 asrs r4, r4, #1 - 2436: 1be4 subs r4, r4, r7 - 2438: b224 sxth r4, r4 + 2492: 0020 movs r0, r4 + 2494: 4b0f ldr r3, [pc, #60] ; (24d4 ) + 2496: 4798 blx r3 + 2498: 0fc4 lsrs r4, r0, #31 + 249a: 1824 adds r4, r4, r0 + 249c: 1064 asrs r4, r4, #1 + 249e: 1be4 subs r4, r4, r7 + 24a0: b224 sxth r4, r4 break; - 243a: e713 b.n 2264 + 24a2: e713 b.n 22cc new_x = lv_obj_get_width(base) - obj_w_half; - 243c: 9c01 ldr r4, [sp, #4] - 243e: 0020 movs r0, r4 - 2440: 4b09 ldr r3, [pc, #36] ; (2468 ) - 2442: 4798 blx r3 - 2444: 1b85 subs r5, r0, r6 - 2446: b22d sxth r5, r5 + 24a4: 9c01 ldr r4, [sp, #4] + 24a6: 0020 movs r0, r4 + 24a8: 4b09 ldr r3, [pc, #36] ; (24d0 ) + 24aa: 4798 blx r3 + 24ac: 1b85 subs r5, r0, r6 + 24ae: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 2448: 0020 movs r0, r4 - 244a: 4b08 ldr r3, [pc, #32] ; (246c ) - 244c: 4798 blx r3 - 244e: 1bc4 subs r4, r0, r7 - 2450: b224 sxth r4, r4 + 24b0: 0020 movs r0, r4 + 24b2: 4b08 ldr r3, [pc, #32] ; (24d4 ) + 24b4: 4798 blx r3 + 24b6: 1bc4 subs r4, r0, r7 + 24b8: b224 sxth r4, r4 break; - 2452: e707 b.n 2264 - 2454: 00001415 .word 0x00001415 - 2458: 0001886c .word 0x0001886c - 245c: 0000141d .word 0x0000141d - 2460: 00001ba9 .word 0x00001ba9 - 2464: 00001bed .word 0x00001bed - 2468: 00001c31 .word 0x00001c31 - 246c: 00001c61 .word 0x00001c61 - 2470: 00018814 .word 0x00018814 - 2474: 00001a39 .word 0x00001a39 - 2478: 0000201d .word 0x0000201d - -0000247c : -{ - 247c: b510 push {r4, lr} - 247e: b082 sub sp, #8 - 2480: 0004 movs r4, r0 + 24ba: e707 b.n 22cc + 24bc: 0000147d .word 0x0000147d + 24c0: 000188fc .word 0x000188fc + 24c4: 00001485 .word 0x00001485 + 24c8: 00001c11 .word 0x00001c11 + 24cc: 00001c55 .word 0x00001c55 + 24d0: 00001c99 .word 0x00001c99 + 24d4: 00001cc9 .word 0x00001cc9 + 24d8: 000188a4 .word 0x000188a4 + 24dc: 00001aa1 .word 0x00001aa1 + 24e0: 00002085 .word 0x00002085 + +000024e4 : +{ + 24e4: b510 push {r4, lr} + 24e6: b082 sub sp, #8 + 24e8: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2482: 4b13 ldr r3, [pc, #76] ; (24d0 ) - 2484: 4798 blx r3 - 2486: 2800 cmp r0, #0 - 2488: d010 beq.n 24ac + 24ea: 4b13 ldr r3, [pc, #76] ; (2538 ) + 24ec: 4798 blx r3 + 24ee: 2800 cmp r0, #0 + 24f0: d010 beq.n 2514 if(obj->realign.origo_align) - 248a: 2349 movs r3, #73 ; 0x49 - 248c: 5ce3 ldrb r3, [r4, r3] - 248e: 079b lsls r3, r3, #30 - 2490: d512 bpl.n 24b8 + 24f2: 2349 movs r3, #73 ; 0x49 + 24f4: 5ce3 ldrb r3, [r4, r3] + 24f6: 079b lsls r3, r3, #30 + 24f8: d512 bpl.n 2520 lv_obj_align_origo(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs); - 2492: 2344 movs r3, #68 ; 0x44 - 2494: 5ee3 ldrsh r3, [r4, r3] - 2496: 2248 movs r2, #72 ; 0x48 - 2498: 5ca2 ldrb r2, [r4, r2] - 249a: 2146 movs r1, #70 ; 0x46 - 249c: 5e61 ldrsh r1, [r4, r1] - 249e: 9100 str r1, [sp, #0] - 24a0: 6c21 ldr r1, [r4, #64] ; 0x40 - 24a2: 0020 movs r0, r4 - 24a4: 4c0b ldr r4, [pc, #44] ; (24d4 ) - 24a6: 47a0 blx r4 -} - 24a8: b002 add sp, #8 - 24aa: bd10 pop {r4, pc} + 24fa: 2344 movs r3, #68 ; 0x44 + 24fc: 5ee3 ldrsh r3, [r4, r3] + 24fe: 2248 movs r2, #72 ; 0x48 + 2500: 5ca2 ldrb r2, [r4, r2] + 2502: 2146 movs r1, #70 ; 0x46 + 2504: 5e61 ldrsh r1, [r4, r1] + 2506: 9100 str r1, [sp, #0] + 2508: 6c21 ldr r1, [r4, #64] ; 0x40 + 250a: 0020 movs r0, r4 + 250c: 4c0b ldr r4, [pc, #44] ; (253c ) + 250e: 47a0 blx r4 +} + 2510: b002 add sp, #8 + 2512: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 24ac: 0022 movs r2, r4 - 24ae: 2300 movs r3, #0 - 24b0: 4809 ldr r0, [pc, #36] ; (24d8 ) - 24b2: 490a ldr r1, [pc, #40] ; (24dc ) - 24b4: 4788 blx r1 - 24b6: e7fe b.n 24b6 + 2514: 0022 movs r2, r4 + 2516: 2300 movs r3, #0 + 2518: 4809 ldr r0, [pc, #36] ; (2540 ) + 251a: 490a ldr r1, [pc, #40] ; (2544 ) + 251c: 4788 blx r1 + 251e: e7fe b.n 251e lv_obj_align(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs); - 24b8: 2344 movs r3, #68 ; 0x44 - 24ba: 5ee3 ldrsh r3, [r4, r3] - 24bc: 2248 movs r2, #72 ; 0x48 - 24be: 5ca2 ldrb r2, [r4, r2] - 24c0: 2146 movs r1, #70 ; 0x46 - 24c2: 5e61 ldrsh r1, [r4, r1] - 24c4: 9100 str r1, [sp, #0] - 24c6: 6c21 ldr r1, [r4, #64] ; 0x40 - 24c8: 0020 movs r0, r4 - 24ca: 4c05 ldr r4, [pc, #20] ; (24e0 ) - 24cc: 47a0 blx r4 -} - 24ce: e7eb b.n 24a8 - 24d0: 00001415 .word 0x00001415 - 24d4: 000021b1 .word 0x000021b1 - 24d8: 0001886c .word 0x0001886c - 24dc: 0000141d .word 0x0000141d - 24e0: 000020e1 .word 0x000020e1 - -000024e4 : -{ - 24e4: b5f8 push {r3, r4, r5, r6, r7, lr} - 24e6: 0006 movs r6, r0 + 2520: 2344 movs r3, #68 ; 0x44 + 2522: 5ee3 ldrsh r3, [r4, r3] + 2524: 2248 movs r2, #72 ; 0x48 + 2526: 5ca2 ldrb r2, [r4, r2] + 2528: 2146 movs r1, #70 ; 0x46 + 252a: 5e61 ldrsh r1, [r4, r1] + 252c: 9100 str r1, [sp, #0] + 252e: 6c21 ldr r1, [r4, #64] ; 0x40 + 2530: 0020 movs r0, r4 + 2532: 4c05 ldr r4, [pc, #20] ; (2548 ) + 2534: 47a0 blx r4 +} + 2536: e7eb b.n 2510 + 2538: 0000147d .word 0x0000147d + 253c: 00002219 .word 0x00002219 + 2540: 000188fc .word 0x000188fc + 2544: 00001485 .word 0x00001485 + 2548: 00002149 .word 0x00002149 + +0000254c : +{ + 254c: b5f8 push {r3, r4, r5, r6, r7, lr} + 254e: 0006 movs r6, r0 lv_obj_t * child = lv_obj_get_child(obj, NULL); - 24e8: 2100 movs r1, #0 - 24ea: 4b0c ldr r3, [pc, #48] ; (251c ) - 24ec: 4798 blx r3 - 24ee: 1e04 subs r4, r0, #0 + 2550: 2100 movs r1, #0 + 2552: 4b0c ldr r3, [pc, #48] ; (2584 ) + 2554: 4798 blx r3 + 2556: 1e04 subs r4, r0, #0 while(child != NULL) { - 24f0: d012 beq.n 2518 + 2558: d012 beq.n 2580 lv_obj_invalidate(child); - 24f2: 4d0b ldr r5, [pc, #44] ; (2520 ) + 255a: 4d0b ldr r5, [pc, #44] ; (2588 ) child = lv_obj_get_child(obj, child); - 24f4: 4f09 ldr r7, [pc, #36] ; (251c ) + 255c: 4f09 ldr r7, [pc, #36] ; (2584 ) lv_obj_invalidate(child); - 24f6: 0020 movs r0, r4 - 24f8: 47a8 blx r5 + 255e: 0020 movs r0, r4 + 2560: 47a8 blx r5 child->signal_cb(child, LV_SIGNAL_STYLE_CHG, NULL); - 24fa: 2200 movs r2, #0 - 24fc: 2104 movs r1, #4 - 24fe: 0020 movs r0, r4 - 2500: 69e3 ldr r3, [r4, #28] - 2502: 4798 blx r3 + 2562: 2200 movs r2, #0 + 2564: 2104 movs r1, #4 + 2566: 0020 movs r0, r4 + 2568: 69e3 ldr r3, [r4, #28] + 256a: 4798 blx r3 lv_obj_invalidate(child); - 2504: 0020 movs r0, r4 - 2506: 47a8 blx r5 + 256c: 0020 movs r0, r4 + 256e: 47a8 blx r5 refresh_children_style(child); /*Check children too*/ - 2508: 0020 movs r0, r4 - 250a: f7ff ffeb bl 24e4 + 2570: 0020 movs r0, r4 + 2572: f7ff ffeb bl 254c child = lv_obj_get_child(obj, child); - 250e: 0021 movs r1, r4 - 2510: 0030 movs r0, r6 - 2512: 47b8 blx r7 - 2514: 1e04 subs r4, r0, #0 + 2576: 0021 movs r1, r4 + 2578: 0030 movs r0, r6 + 257a: 47b8 blx r7 + 257c: 1e04 subs r4, r0, #0 while(child != NULL) { - 2516: d1ee bne.n 24f6 + 257e: d1ee bne.n 255e } - 2518: bdf8 pop {r3, r4, r5, r6, r7, pc} - 251a: 46c0 nop ; (mov r8, r8) - 251c: 00001b29 .word 0x00001b29 - 2520: 00001f49 .word 0x00001f49 + 2580: bdf8 pop {r3, r4, r5, r6, r7, pc} + 2582: 46c0 nop ; (mov r8, r8) + 2584: 00001b91 .word 0x00001b91 + 2588: 00001fb1 .word 0x00001fb1 -00002524 : +0000258c : { - 2524: b570 push {r4, r5, r6, lr} - 2526: 0005 movs r5, r0 - 2528: 000c movs r4, r1 + 258c: b570 push {r4, r5, r6, lr} + 258e: 0005 movs r5, r0 + 2590: 000c movs r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 252a: 4b31 ldr r3, [pc, #196] ; (25f0 ) - 252c: 4798 blx r3 - 252e: 2800 cmp r0, #0 - 2530: d013 beq.n 255a + 2592: 4b31 ldr r3, [pc, #196] ; (2658 ) + 2594: 4798 blx r3 + 2596: 2800 cmp r0, #0 + 2598: d013 beq.n 25c2 switch(prop) { - 2532: 2c71 cmp r4, #113 ; 0x71 - 2534: d83e bhi.n 25b4 - 2536: 2c70 cmp r4, #112 ; 0x70 - 2538: d21b bcs.n 2572 - 253a: 2c41 cmp r4, #65 ; 0x41 - 253c: d813 bhi.n 2566 - 253e: 2c40 cmp r4, #64 ; 0x40 - 2540: d217 bcs.n 2572 - 2542: 2c02 cmp r4, #2 - 2544: d305 bcc.n 2552 - 2546: 2c07 cmp r4, #7 - 2548: d913 bls.n 2572 - 254a: 0023 movs r3, r4 - 254c: 3b10 subs r3, #16 - 254e: 2b08 cmp r3, #8 - 2550: d90f bls.n 2572 + 259a: 2c71 cmp r4, #113 ; 0x71 + 259c: d83e bhi.n 261c + 259e: 2c70 cmp r4, #112 ; 0x70 + 25a0: d21b bcs.n 25da + 25a2: 2c41 cmp r4, #65 ; 0x41 + 25a4: d813 bhi.n 25ce + 25a6: 2c40 cmp r4, #64 ; 0x40 + 25a8: d217 bcs.n 25da + 25aa: 2c02 cmp r4, #2 + 25ac: d305 bcc.n 25ba + 25ae: 2c07 cmp r4, #7 + 25b0: d913 bls.n 25da + 25b2: 0023 movs r3, r4 + 25b4: 3b10 subs r3, #16 + 25b6: 2b08 cmp r3, #8 + 25b8: d90f bls.n 25da lv_obj_invalidate(obj); - 2552: 0028 movs r0, r5 - 2554: 4b27 ldr r3, [pc, #156] ; (25f4 ) - 2556: 4798 blx r3 + 25ba: 0028 movs r0, r5 + 25bc: 4b27 ldr r3, [pc, #156] ; (265c ) + 25be: 4798 blx r3 } - 2558: e028 b.n 25ac + 25c0: e028 b.n 2614 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 255a: 002a movs r2, r5 - 255c: 2300 movs r3, #0 - 255e: 4826 ldr r0, [pc, #152] ; (25f8 ) - 2560: 4926 ldr r1, [pc, #152] ; (25fc ) - 2562: 4788 blx r1 - 2564: e7fe b.n 2564 + 25c2: 002a movs r2, r5 + 25c4: 2300 movs r3, #0 + 25c6: 4826 ldr r0, [pc, #152] ; (2660 ) + 25c8: 4926 ldr r1, [pc, #152] ; (2664 ) + 25ca: 4788 blx r1 + 25cc: e7fe b.n 25cc switch(prop) { - 2566: 2c53 cmp r4, #83 ; 0x53 - 2568: d821 bhi.n 25ae - 256a: 2c50 cmp r4, #80 ; 0x50 - 256c: d201 bcs.n 2572 - 256e: 2c4c cmp r4, #76 ; 0x4c - 2570: d1ef bne.n 2552 + 25ce: 2c53 cmp r4, #83 ; 0x53 + 25d0: d821 bhi.n 2616 + 25d2: 2c50 cmp r4, #80 ; 0x50 + 25d4: d201 bcs.n 25da + 25d6: 2c4c cmp r4, #76 ; 0x4c + 25d8: d1ef bne.n 25ba lv_obj_invalidate(obj); - 2572: 0028 movs r0, r5 - 2574: 4b1f ldr r3, [pc, #124] ; (25f4 ) - 2576: 4798 blx r3 + 25da: 0028 movs r0, r5 + 25dc: 4b1f ldr r3, [pc, #124] ; (265c ) + 25de: 4798 blx r3 obj->signal_cb(obj, LV_SIGNAL_STYLE_CHG, NULL); - 2578: 2200 movs r2, #0 - 257a: 2104 movs r1, #4 - 257c: 0028 movs r0, r5 - 257e: 69eb ldr r3, [r5, #28] - 2580: 4798 blx r3 + 25e0: 2200 movs r2, #0 + 25e2: 2104 movs r1, #4 + 25e4: 0028 movs r0, r5 + 25e6: 69eb ldr r3, [r5, #28] + 25e8: 4798 blx r3 switch(prop) { - 2582: 2c15 cmp r4, #21 - 2584: d30a bcc.n 259c - 2586: 2c18 cmp r4, #24 - 2588: d901 bls.n 258e - 258a: 2cff cmp r4, #255 ; 0xff - 258c: d106 bne.n 259c + 25ea: 2c15 cmp r4, #21 + 25ec: d30a bcc.n 2604 + 25ee: 2c18 cmp r4, #24 + 25f0: d901 bls.n 25f6 + 25f2: 2cff cmp r4, #255 ; 0xff + 25f4: d106 bne.n 2604 if(obj->parent) obj->parent->signal_cb(obj->parent, LV_SIGNAL_CHILD_CHG, NULL); - 258e: 6828 ldr r0, [r5, #0] - 2590: 2800 cmp r0, #0 - 2592: d003 beq.n 259c - 2594: 69c3 ldr r3, [r0, #28] - 2596: 2200 movs r2, #0 - 2598: 2101 movs r1, #1 - 259a: 4798 blx r3 + 25f6: 6828 ldr r0, [r5, #0] + 25f8: 2800 cmp r0, #0 + 25fa: d003 beq.n 2604 + 25fc: 69c3 ldr r3, [r0, #28] + 25fe: 2200 movs r2, #0 + 2600: 2101 movs r1, #1 + 2602: 4798 blx r3 lv_obj_invalidate(obj); - 259c: 0028 movs r0, r5 - 259e: 4b15 ldr r3, [pc, #84] ; (25f4 ) - 25a0: 4798 blx r3 + 2604: 0028 movs r0, r5 + 2606: 4b15 ldr r3, [pc, #84] ; (265c ) + 2608: 4798 blx r3 if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj); - 25a2: 2cff cmp r4, #255 ; 0xff - 25a4: d020 beq.n 25e8 - 25a6: b224 sxth r4, r4 - 25a8: 2c00 cmp r4, #0 - 25aa: db1d blt.n 25e8 + 260a: 2cff cmp r4, #255 ; 0xff + 260c: d020 beq.n 2650 + 260e: b224 sxth r4, r4 + 2610: 2c00 cmp r4, #0 + 2612: db1d blt.n 2650 } - 25ac: bd70 pop {r4, r5, r6, pc} + 2614: bd70 pop {r4, r5, r6, pc} switch(prop) { - 25ae: 2c5c cmp r4, #92 ; 0x5c - 25b0: d1cf bne.n 2552 - 25b2: e7de b.n 2572 - 25b4: 2c7f cmp r4, #127 ; 0x7f - 25b6: d90a bls.n 25ce - 25b8: 4b11 ldr r3, [pc, #68] ; (2600 ) - 25ba: 429c cmp r4, r3 - 25bc: d810 bhi.n 25e0 - 25be: 4b11 ldr r3, [pc, #68] ; (2604 ) - 25c0: 429c cmp r4, r3 - 25c2: d2d6 bcs.n 2572 - 25c4: 2c90 cmp r4, #144 ; 0x90 - 25c6: d0d4 beq.n 2572 - 25c8: 2cff cmp r4, #255 ; 0xff - 25ca: d1c2 bne.n 2552 - 25cc: e7d1 b.n 2572 - 25ce: 2c7e cmp r4, #126 ; 0x7e - 25d0: d2cf bcs.n 2572 - 25d2: 2c73 cmp r4, #115 ; 0x73 - 25d4: d3bd bcc.n 2552 - 25d6: 2c75 cmp r4, #117 ; 0x75 - 25d8: d9cb bls.n 2572 - 25da: 2c7c cmp r4, #124 ; 0x7c - 25dc: d1b9 bne.n 2552 - 25de: e7c8 b.n 2572 - 25e0: 4b09 ldr r3, [pc, #36] ; (2608 ) - 25e2: 429c cmp r4, r3 - 25e4: d1b5 bne.n 2552 - 25e6: e7c4 b.n 2572 + 2616: 2c5c cmp r4, #92 ; 0x5c + 2618: d1cf bne.n 25ba + 261a: e7de b.n 25da + 261c: 2c7f cmp r4, #127 ; 0x7f + 261e: d90a bls.n 2636 + 2620: 4b11 ldr r3, [pc, #68] ; (2668 ) + 2622: 429c cmp r4, r3 + 2624: d810 bhi.n 2648 + 2626: 4b11 ldr r3, [pc, #68] ; (266c ) + 2628: 429c cmp r4, r3 + 262a: d2d6 bcs.n 25da + 262c: 2c90 cmp r4, #144 ; 0x90 + 262e: d0d4 beq.n 25da + 2630: 2cff cmp r4, #255 ; 0xff + 2632: d1c2 bne.n 25ba + 2634: e7d1 b.n 25da + 2636: 2c7e cmp r4, #126 ; 0x7e + 2638: d2cf bcs.n 25da + 263a: 2c73 cmp r4, #115 ; 0x73 + 263c: d3bd bcc.n 25ba + 263e: 2c75 cmp r4, #117 ; 0x75 + 2640: d9cb bls.n 25da + 2642: 2c7c cmp r4, #124 ; 0x7c + 2644: d1b9 bne.n 25ba + 2646: e7c8 b.n 25da + 2648: 4b09 ldr r3, [pc, #36] ; (2670 ) + 264a: 429c cmp r4, r3 + 264c: d1b5 bne.n 25ba + 264e: e7c4 b.n 25da if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj); - 25e8: 0028 movs r0, r5 - 25ea: 4b08 ldr r3, [pc, #32] ; (260c ) - 25ec: 4798 blx r3 - 25ee: e7dd b.n 25ac - 25f0: 00001415 .word 0x00001415 - 25f4: 00001f49 .word 0x00001f49 - 25f8: 0001886c .word 0x0001886c - 25fc: 0000141d .word 0x0000141d - 2600: 00008081 .word 0x00008081 - 2604: 00008080 .word 0x00008080 - 2608: 0000808e .word 0x0000808e - 260c: 000024e5 .word 0x000024e5 - -00002610 : -{ - 2610: b510 push {r4, lr} - 2612: 0004 movs r4, r0 + 2650: 0028 movs r0, r5 + 2652: 4b08 ldr r3, [pc, #32] ; (2674 ) + 2654: 4798 blx r3 + 2656: e7dd b.n 2614 + 2658: 0000147d .word 0x0000147d + 265c: 00001fb1 .word 0x00001fb1 + 2660: 000188fc .word 0x000188fc + 2664: 00001485 .word 0x00001485 + 2668: 00008081 .word 0x00008081 + 266c: 00008080 .word 0x00008080 + 2670: 0000808e .word 0x0000808e + 2674: 0000254d .word 0x0000254d + +00002678 : +{ + 2678: b510 push {r4, lr} + 267a: 0004 movs r4, r0 lv_obj_clean_style_list(obj, part); - 2614: 4b03 ldr r3, [pc, #12] ; (2624 ) - 2616: 4798 blx r3 + 267c: 4b03 ldr r3, [pc, #12] ; (268c ) + 267e: 4798 blx r3 lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 2618: 21ff movs r1, #255 ; 0xff - 261a: 0020 movs r0, r4 - 261c: 4b02 ldr r3, [pc, #8] ; (2628 ) - 261e: 4798 blx r3 -} - 2620: bd10 pop {r4, pc} - 2622: 46c0 nop ; (mov r8, r8) - 2624: 00001d6d .word 0x00001d6d - 2628: 00002525 .word 0x00002525 - -0000262c : -{ - 262c: b5f0 push {r4, r5, r6, r7, lr} - 262e: 46c6 mov lr, r8 - 2630: b500 push {lr} - 2632: b082 sub sp, #8 - 2634: 0007 movs r7, r0 - 2636: 9101 str r1, [sp, #4] + 2680: 21ff movs r1, #255 ; 0xff + 2682: 0020 movs r0, r4 + 2684: 4b02 ldr r3, [pc, #8] ; (2690 ) + 2686: 4798 blx r3 +} + 2688: bd10 pop {r4, pc} + 268a: 46c0 nop ; (mov r8, r8) + 268c: 00001dd5 .word 0x00001dd5 + 2690: 0000258d .word 0x0000258d + +00002694 : +{ + 2694: b5f0 push {r4, r5, r6, r7, lr} + 2696: 46c6 mov lr, r8 + 2698: b500 push {lr} + 269a: b082 sub sp, #8 + 269c: 0007 movs r7, r0 + 269e: 9101 str r1, [sp, #4] for(part_sub = 0; part_sub != _LV_OBJ_PART_REAL_LAST; part_sub++) { - 2638: 2500 movs r5, #0 + 26a0: 2500 movs r5, #0 lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub); - 263a: 4b21 ldr r3, [pc, #132] ; (26c0 ) - 263c: 4698 mov r8, r3 + 26a2: 4b21 ldr r3, [pc, #132] ; (2728 ) + 26a4: 4698 mov r8, r3 void _lv_style_list_reset(lv_style_list_t * style_list); static inline lv_style_t * lv_style_list_get_style(lv_style_list_t * list, uint8_t id) { if(list->has_trans && list->skip_trans) id++; if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 263e: 2300 movs r3, #0 - 2640: 9300 str r3, [sp, #0] - 2642: e01c b.n 267e + 26a6: 2300 movs r3, #0 + 26a8: 9300 str r3, [sp, #0] + 26aa: e01c b.n 26e6 if(list->has_trans && list->skip_trans) id++; - 2644: 1c5a adds r2, r3, #1 - 2646: b2d2 uxtb r2, r2 - 2648: e00a b.n 2660 + 26ac: 1c5a adds r2, r3, #1 + 26ae: b2d2 uxtb r2, r2 + 26b0: e00a b.n 26c8 if(class == style || style == NULL) { - 264a: 42a7 cmp r7, r4 - 264c: d00f beq.n 266e - 264e: 2f00 cmp r7, #0 - 2650: d00d beq.n 266e + 26b2: 42a7 cmp r7, r4 + 26b4: d00f beq.n 26d6 + 26b6: 2f00 cmp r7, #0 + 26b8: d00d beq.n 26d6 for(ci = 0; ci < dsc->style_cnt; ci++) { - 2652: 3301 adds r3, #1 - 2654: b2db uxtb r3, r3 - 2656: 428b cmp r3, r1 - 2658: d00d beq.n 2676 - 265a: 001a movs r2, r3 - 265c: 2806 cmp r0, #6 - 265e: d0f1 beq.n 2644 + 26ba: 3301 adds r3, #1 + 26bc: b2db uxtb r3, r3 + 26be: 428b cmp r3, r1 + 26c0: d00d beq.n 26de + 26c2: 001a movs r2, r3 + 26c4: 2806 cmp r0, #6 + 26c6: d0f1 beq.n 26ac if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 2660: 9c00 ldr r4, [sp, #0] - 2662: 428a cmp r2, r1 - 2664: d2f1 bcs.n 264a + 26c8: 9c00 ldr r4, [sp, #0] + 26ca: 428a cmp r2, r1 + 26cc: d2f1 bcs.n 26b2 return list->style_list[id]; - 2666: 0092 lsls r2, r2, #2 - 2668: 6834 ldr r4, [r6, #0] - 266a: 5914 ldr r4, [r2, r4] - 266c: e7ed b.n 264a + 26ce: 0092 lsls r2, r2, #2 + 26d0: 6834 ldr r4, [r6, #0] + 26d2: 5914 ldr r4, [r2, r4] + 26d4: e7ed b.n 26b2 lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 266e: 21ff movs r1, #255 ; 0xff - 2670: 9801 ldr r0, [sp, #4] - 2672: 4b14 ldr r3, [pc, #80] ; (26c4 ) - 2674: 4798 blx r3 + 26d6: 21ff movs r1, #255 ; 0xff + 26d8: 9801 ldr r0, [sp, #4] + 26da: 4b14 ldr r3, [pc, #80] ; (272c ) + 26dc: 4798 blx r3 for(part_sub = 0; part_sub != _LV_OBJ_PART_REAL_LAST; part_sub++) { - 2676: 3501 adds r5, #1 - 2678: b2ed uxtb r5, r5 - 267a: 2d40 cmp r5, #64 ; 0x40 - 267c: d00c beq.n 2698 + 26de: 3501 adds r5, #1 + 26e0: b2ed uxtb r5, r5 + 26e2: 2d40 cmp r5, #64 ; 0x40 + 26e4: d00c beq.n 2700 lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub); - 267e: 0029 movs r1, r5 - 2680: 9801 ldr r0, [sp, #4] - 2682: 47c0 blx r8 - 2684: 1e06 subs r6, r0, #0 + 26e6: 0029 movs r1, r5 + 26e8: 9801 ldr r0, [sp, #4] + 26ea: 47c0 blx r8 + 26ec: 1e06 subs r6, r0, #0 if(dsc == NULL) break; - 2686: d007 beq.n 2698 + 26ee: d007 beq.n 2700 for(ci = 0; ci < dsc->style_cnt; ci++) { - 2688: 7901 ldrb r1, [r0, #4] - 268a: 2900 cmp r1, #0 - 268c: d0f3 beq.n 2676 + 26f0: 7901 ldrb r1, [r0, #4] + 26f2: 2900 cmp r1, #0 + 26f4: d0f3 beq.n 26de if(list->has_trans && list->skip_trans) id++; - 268e: 7943 ldrb r3, [r0, #5] - 2690: 2006 movs r0, #6 - 2692: 4018 ands r0, r3 - 2694: 2300 movs r3, #0 - 2696: e7e0 b.n 265a + 26f6: 7943 ldrb r3, [r0, #5] + 26f8: 2006 movs r0, #6 + 26fa: 4018 ands r0, r3 + 26fc: 2300 movs r3, #0 + 26fe: e7e0 b.n 26c2 lv_obj_t * child = lv_obj_get_child(obj, NULL); - 2698: 2100 movs r1, #0 - 269a: 9801 ldr r0, [sp, #4] - 269c: 4b0a ldr r3, [pc, #40] ; (26c8 ) - 269e: 4798 blx r3 - 26a0: 1e04 subs r4, r0, #0 + 2700: 2100 movs r1, #0 + 2702: 9801 ldr r0, [sp, #4] + 2704: 4b0a ldr r3, [pc, #40] ; (2730 ) + 2706: 4798 blx r3 + 2708: 1e04 subs r4, r0, #0 while(child) { - 26a2: d009 beq.n 26b8 + 270a: d009 beq.n 2720 child = lv_obj_get_child(obj, child); - 26a4: 4e08 ldr r6, [pc, #32] ; (26c8 ) + 270c: 4e08 ldr r6, [pc, #32] ; (2730 ) report_style_mod_core(style, child); - 26a6: 0021 movs r1, r4 - 26a8: 0038 movs r0, r7 - 26aa: f7ff ffbf bl 262c + 270e: 0021 movs r1, r4 + 2710: 0038 movs r0, r7 + 2712: f7ff ffbf bl 2694 child = lv_obj_get_child(obj, child); - 26ae: 0021 movs r1, r4 - 26b0: 9801 ldr r0, [sp, #4] - 26b2: 47b0 blx r6 - 26b4: 1e04 subs r4, r0, #0 + 2716: 0021 movs r1, r4 + 2718: 9801 ldr r0, [sp, #4] + 271a: 47b0 blx r6 + 271c: 1e04 subs r4, r0, #0 while(child) { - 26b6: d1f6 bne.n 26a6 -} - 26b8: b002 add sp, #8 - 26ba: bc04 pop {r2} - 26bc: 4690 mov r8, r2 - 26be: bdf0 pop {r4, r5, r6, r7, pc} - 26c0: 00001c91 .word 0x00001c91 - 26c4: 00002525 .word 0x00002525 - 26c8: 00001b29 .word 0x00001b29 - -000026cc : -{ - 26cc: b5f0 push {r4, r5, r6, r7, lr} - 26ce: 46d6 mov lr, sl - 26d0: 464f mov r7, r9 - 26d2: b580 push {r7, lr} - 26d4: b083 sub sp, #12 - 26d6: 9001 str r0, [sp, #4] + 271e: d1f6 bne.n 270e +} + 2720: b002 add sp, #8 + 2722: bc04 pop {r2} + 2724: 4690 mov r8, r2 + 2726: bdf0 pop {r4, r5, r6, r7, pc} + 2728: 00001cf9 .word 0x00001cf9 + 272c: 0000258d .word 0x0000258d + 2730: 00001b91 .word 0x00001b91 + +00002734 : +{ + 2734: b5f0 push {r4, r5, r6, r7, lr} + 2736: 46d6 mov lr, sl + 2738: 464f mov r7, r9 + 273a: b580 push {r7, lr} + 273c: b083 sub sp, #12 + 273e: 9001 str r0, [sp, #4] lv_disp_t * d = lv_disp_get_next(NULL); - 26d8: 2000 movs r0, #0 - 26da: 4b11 ldr r3, [pc, #68] ; (2720 ) - 26dc: 4798 blx r3 - 26de: 4681 mov r9, r0 + 2740: 2000 movs r0, #0 + 2742: 4b11 ldr r3, [pc, #68] ; (2788 ) + 2744: 4798 blx r3 + 2746: 4681 mov r9, r0 while(d) { - 26e0: 2800 cmp r0, #0 - 26e2: d017 beq.n 2714 + 2748: 2800 cmp r0, #0 + 274a: d017 beq.n 277c _LV_LL_READ(d->scr_ll, i) { - 26e4: 4b0f ldr r3, [pc, #60] ; (2724 ) - 26e6: 469a mov sl, r3 + 274c: 4b0f ldr r3, [pc, #60] ; (278c ) + 274e: 469a mov sl, r3 report_style_mod_core(style, i); - 26e8: 4f0f ldr r7, [pc, #60] ; (2728 ) + 2750: 4f0f ldr r7, [pc, #60] ; (2790 ) _LV_LL_READ(d->scr_ll, i) { - 26ea: 4e10 ldr r6, [pc, #64] ; (272c ) - 26ec: 464d mov r5, r9 - 26ee: 3530 adds r5, #48 ; 0x30 - 26f0: 0028 movs r0, r5 - 26f2: 47d0 blx sl - 26f4: 1e04 subs r4, r0, #0 - 26f6: d007 beq.n 2708 + 2752: 4e10 ldr r6, [pc, #64] ; (2794 ) + 2754: 464d mov r5, r9 + 2756: 3530 adds r5, #48 ; 0x30 + 2758: 0028 movs r0, r5 + 275a: 47d0 blx sl + 275c: 1e04 subs r4, r0, #0 + 275e: d007 beq.n 2770 report_style_mod_core(style, i); - 26f8: 0021 movs r1, r4 - 26fa: 9801 ldr r0, [sp, #4] - 26fc: 47b8 blx r7 + 2760: 0021 movs r1, r4 + 2762: 9801 ldr r0, [sp, #4] + 2764: 47b8 blx r7 _LV_LL_READ(d->scr_ll, i) { - 26fe: 0021 movs r1, r4 - 2700: 0028 movs r0, r5 - 2702: 47b0 blx r6 - 2704: 1e04 subs r4, r0, #0 - 2706: d1f7 bne.n 26f8 + 2766: 0021 movs r1, r4 + 2768: 0028 movs r0, r5 + 276a: 47b0 blx r6 + 276c: 1e04 subs r4, r0, #0 + 276e: d1f7 bne.n 2760 d = lv_disp_get_next(d); - 2708: 4648 mov r0, r9 - 270a: 4b05 ldr r3, [pc, #20] ; (2720 ) - 270c: 4798 blx r3 - 270e: 4681 mov r9, r0 + 2770: 4648 mov r0, r9 + 2772: 4b05 ldr r3, [pc, #20] ; (2788 ) + 2774: 4798 blx r3 + 2776: 4681 mov r9, r0 while(d) { - 2710: 2800 cmp r0, #0 - 2712: d1eb bne.n 26ec -} - 2714: b003 add sp, #12 - 2716: bc0c pop {r2, r3} - 2718: 4691 mov r9, r2 - 271a: 469a mov sl, r3 - 271c: bdf0 pop {r4, r5, r6, r7, pc} - 271e: 46c0 nop ; (mov r8, r8) - 2720: 0000f67d .word 0x0000f67d - 2724: 00010605 .word 0x00010605 - 2728: 0000262d .word 0x0000262d - 272c: 0001061d .word 0x0001061d - -00002730 : -{ - 2730: b5f8 push {r3, r4, r5, r6, r7, lr} - 2732: 0004 movs r4, r0 - 2734: 000d movs r5, r1 + 2778: 2800 cmp r0, #0 + 277a: d1eb bne.n 2754 +} + 277c: b003 add sp, #12 + 277e: bc0c pop {r2, r3} + 2780: 4691 mov r9, r2 + 2782: 469a mov sl, r3 + 2784: bdf0 pop {r4, r5, r6, r7, pc} + 2786: 46c0 nop ; (mov r8, r8) + 2788: 0000f6e5 .word 0x0000f6e5 + 278c: 0001066d .word 0x0001066d + 2790: 00002695 .word 0x00002695 + 2794: 00010685 .word 0x00010685 + +00002798 : +{ + 2798: b5f8 push {r3, r4, r5, r6, r7, lr} + 279a: 0004 movs r4, r0 + 279c: 000d movs r5, r1 lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 2736: 7981 ldrb r1, [r0, #6] - 2738: 6800 ldr r0, [r0, #0] - 273a: 4b3f ldr r3, [pc, #252] ; (2838 ) - 273c: 4798 blx r3 + 279e: 7981 ldrb r1, [r0, #6] + 27a0: 6800 ldr r0, [r0, #0] + 27a2: 4b3f ldr r3, [pc, #252] ; (28a0 ) + 27a4: 4798 blx r3 lv_style_t * style = _lv_style_list_get_transition_style(list); - 273e: 4b3f ldr r3, [pc, #252] ; (283c ) - 2740: 4798 blx r3 + 27a6: 4b3f ldr r3, [pc, #252] ; (28a4 ) + 27a8: 4798 blx r3 if((tr->prop & 0xF) < LV_STYLE_ID_COLOR) { /*Value*/ - 2742: 88a1 ldrh r1, [r4, #4] - 2744: 230f movs r3, #15 - 2746: 400b ands r3, r1 - 2748: 2b08 cmp r3, #8 - 274a: dc19 bgt.n 2780 + 27aa: 88a1 ldrh r1, [r4, #4] + 27ac: 230f movs r3, #15 + 27ae: 400b ands r3, r1 + 27b0: 2b08 cmp r3, #8 + 27b2: dc19 bgt.n 27e8 if(v == 0) x = tr->start_value._int; - 274c: 2d00 cmp r5, #0 - 274e: d108 bne.n 2762 - 2750: 2308 movs r3, #8 - 2752: 5ee2 ldrsh r2, [r4, r3] + 27b4: 2d00 cmp r5, #0 + 27b6: d108 bne.n 27ca + 27b8: 2308 movs r3, #8 + 27ba: 5ee2 ldrsh r2, [r4, r3] _lv_style_set_int(style, tr->prop, x); - 2754: 4b3a ldr r3, [pc, #232] ; (2840 ) - 2756: 4798 blx r3 + 27bc: 4b3a ldr r3, [pc, #232] ; (28a8 ) + 27be: 4798 blx r3 lv_obj_refresh_style(tr->obj, tr->prop); - 2758: 88a1 ldrh r1, [r4, #4] - 275a: 6820 ldr r0, [r4, #0] - 275c: 4b39 ldr r3, [pc, #228] ; (2844 ) - 275e: 4798 blx r3 + 27c0: 88a1 ldrh r1, [r4, #4] + 27c2: 6820 ldr r0, [r4, #0] + 27c4: 4b39 ldr r3, [pc, #228] ; (28ac ) + 27c6: 4798 blx r3 } - 2760: bdf8 pop {r3, r4, r5, r6, r7, pc} + 27c8: bdf8 pop {r3, r4, r5, r6, r7, pc} else if(v == 255) x = tr->end_value._int; - 2762: 2dff cmp r5, #255 ; 0xff - 2764: d009 beq.n 277a + 27ca: 2dff cmp r5, #255 ; 0xff + 27cc: d009 beq.n 27e2 else x = tr->start_value._int + ((int32_t)((int32_t)(tr->end_value._int - tr->start_value._int) * v) >> 8); - 2766: 2308 movs r3, #8 - 2768: 5ee6 ldrsh r6, [r4, r3] - 276a: 230c movs r3, #12 - 276c: 5ee2 ldrsh r2, [r4, r3] - 276e: 1b92 subs r2, r2, r6 - 2770: 436a muls r2, r5 - 2772: 1212 asrs r2, r2, #8 - 2774: 1992 adds r2, r2, r6 - 2776: b212 sxth r2, r2 - 2778: e7ec b.n 2754 + 27ce: 2308 movs r3, #8 + 27d0: 5ee6 ldrsh r6, [r4, r3] + 27d2: 230c movs r3, #12 + 27d4: 5ee2 ldrsh r2, [r4, r3] + 27d6: 1b92 subs r2, r2, r6 + 27d8: 436a muls r2, r5 + 27da: 1212 asrs r2, r2, #8 + 27dc: 1992 adds r2, r2, r6 + 27de: b212 sxth r2, r2 + 27e0: e7ec b.n 27bc else if(v == 255) x = tr->end_value._int; - 277a: 230c movs r3, #12 - 277c: 5ee2 ldrsh r2, [r4, r3] - 277e: e7e9 b.n 2754 + 27e2: 230c movs r3, #12 + 27e4: 5ee2 ldrsh r2, [r4, r3] + 27e6: e7e9 b.n 27bc else if((tr->prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 2780: 2b0b cmp r3, #11 - 2782: dc3c bgt.n 27fe + 27e8: 2b0b cmp r3, #11 + 27ea: dc3c bgt.n 2866 if(v <= 0) x = tr->start_value._color; - 2784: 2d00 cmp r5, #0 - 2786: dd05 ble.n 2794 + 27ec: 2d00 cmp r5, #0 + 27ee: dd05 ble.n 27fc else if(v >= 255) x = tr->end_value._color; - 2788: 2dfe cmp r5, #254 ; 0xfe - 278a: dd05 ble.n 2798 - 278c: 89a2 ldrh r2, [r4, #12] + 27f0: 2dfe cmp r5, #254 ; 0xfe + 27f2: dd05 ble.n 2800 + 27f4: 89a2 ldrh r2, [r4, #12] _lv_style_set_color(style, tr->prop, x); - 278e: 4b2e ldr r3, [pc, #184] ; (2848 ) - 2790: 4798 blx r3 - 2792: e7e1 b.n 2758 + 27f6: 4b2e ldr r3, [pc, #184] ; (28b0 ) + 27f8: 4798 blx r3 + 27fa: e7e1 b.n 27c0 if(v <= 0) x = tr->start_value._color; - 2794: 8922 ldrh r2, [r4, #8] - 2796: e7fa b.n 278e + 27fc: 8922 ldrh r2, [r4, #8] + 27fe: e7fa b.n 27f6 LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 2798: b2ed uxtb r5, r5 - 279a: 22ff movs r2, #255 ; 0xff - 279c: 1b52 subs r2, r2, r5 - 279e: 7b63 ldrb r3, [r4, #13] - 27a0: 08db lsrs r3, r3, #3 - 27a2: 436b muls r3, r5 - 27a4: 7a66 ldrb r6, [r4, #9] - 27a6: 08f6 lsrs r6, r6, #3 - 27a8: 4356 muls r6, r2 - 27aa: 199e adds r6, r3, r6 - 27ac: 0233 lsls r3, r6, #8 - 27ae: 199b adds r3, r3, r6 - 27b0: 01db lsls r3, r3, #7 - 27b2: 199b adds r3, r3, r6 - 27b4: 011b lsls r3, r3, #4 - 27b6: 0edb lsrs r3, r3, #27 + 2800: b2ed uxtb r5, r5 + 2802: 22ff movs r2, #255 ; 0xff + 2804: 1b52 subs r2, r2, r5 + 2806: 7b63 ldrb r3, [r4, #13] + 2808: 08db lsrs r3, r3, #3 + 280a: 436b muls r3, r5 + 280c: 7a66 ldrb r6, [r4, #9] + 280e: 08f6 lsrs r6, r6, #3 + 2810: 4356 muls r6, r2 + 2812: 199e adds r6, r3, r6 + 2814: 0233 lsls r3, r6, #8 + 2816: 199b adds r3, r3, r6 + 2818: 01db lsls r3, r3, #7 + 281a: 199b adds r3, r3, r6 + 281c: 011b lsls r3, r3, #4 + 281e: 0edb lsrs r3, r3, #27 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 27b8: 89a7 ldrh r7, [r4, #12] - 27ba: 057f lsls r7, r7, #21 - 27bc: 0ebf lsrs r7, r7, #26 - 27be: 436f muls r7, r5 - 27c0: 8926 ldrh r6, [r4, #8] - 27c2: 0576 lsls r6, r6, #21 - 27c4: 0eb6 lsrs r6, r6, #26 - 27c6: 4356 muls r6, r2 - 27c8: 19bf adds r7, r7, r6 - 27ca: 023e lsls r6, r7, #8 - 27cc: 19f6 adds r6, r6, r7 - 27ce: 01f6 lsls r6, r6, #7 - 27d0: 19f6 adds r6, r6, r7 - 27d2: 00f6 lsls r6, r6, #3 + 2820: 89a7 ldrh r7, [r4, #12] + 2822: 057f lsls r7, r7, #21 + 2824: 0ebf lsrs r7, r7, #26 + 2826: 436f muls r7, r5 + 2828: 8926 ldrh r6, [r4, #8] + 282a: 0576 lsls r6, r6, #21 + 282c: 0eb6 lsrs r6, r6, #26 + 282e: 4356 muls r6, r2 + 2830: 19bf adds r7, r7, r6 + 2832: 023e lsls r6, r7, #8 + 2834: 19f6 adds r6, r6, r7 + 2836: 01f6 lsls r6, r6, #7 + 2838: 19f6 adds r6, r6, r7 + 283a: 00f6 lsls r6, r6, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 27d4: 7b27 ldrb r7, [r4, #12] - 27d6: 06ff lsls r7, r7, #27 - 27d8: 0eff lsrs r7, r7, #27 - 27da: 437d muls r5, r7 - 27dc: 7a27 ldrb r7, [r4, #8] - 27de: 06ff lsls r7, r7, #27 - 27e0: 0eff lsrs r7, r7, #27 - 27e2: 437a muls r2, r7 - 27e4: 18ad adds r5, r5, r2 - 27e6: 022a lsls r2, r5, #8 - 27e8: 1952 adds r2, r2, r5 - 27ea: 01d2 lsls r2, r2, #7 - 27ec: 1952 adds r2, r2, r5 - 27ee: 0112 lsls r2, r2, #4 - 27f0: 0eb6 lsrs r6, r6, #26 - 27f2: 0176 lsls r6, r6, #5 - 27f4: 0ed2 lsrs r2, r2, #27 - 27f6: 02db lsls r3, r3, #11 - 27f8: 4332 orrs r2, r6 - 27fa: 431a orrs r2, r3 - 27fc: e7c7 b.n 278e + 283c: 7b27 ldrb r7, [r4, #12] + 283e: 06ff lsls r7, r7, #27 + 2840: 0eff lsrs r7, r7, #27 + 2842: 437d muls r5, r7 + 2844: 7a27 ldrb r7, [r4, #8] + 2846: 06ff lsls r7, r7, #27 + 2848: 0eff lsrs r7, r7, #27 + 284a: 437a muls r2, r7 + 284c: 18ad adds r5, r5, r2 + 284e: 022a lsls r2, r5, #8 + 2850: 1952 adds r2, r2, r5 + 2852: 01d2 lsls r2, r2, #7 + 2854: 1952 adds r2, r2, r5 + 2856: 0112 lsls r2, r2, #4 + 2858: 0eb6 lsrs r6, r6, #26 + 285a: 0176 lsls r6, r6, #5 + 285c: 0ed2 lsrs r2, r2, #27 + 285e: 02db lsls r3, r3, #11 + 2860: 4332 orrs r2, r6 + 2862: 431a orrs r2, r3 + 2864: e7c7 b.n 27f6 else if((tr->prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 27fe: 2b0d cmp r3, #13 - 2800: dc11 bgt.n 2826 + 2866: 2b0d cmp r3, #13 + 2868: dc11 bgt.n 288e if(v <= 0) x = tr->start_value._opa; - 2802: 2d00 cmp r5, #0 - 2804: dd05 ble.n 2812 + 286a: 2d00 cmp r5, #0 + 286c: dd05 ble.n 287a else if(v >= 255) x = tr->end_value._opa; - 2806: 2dfe cmp r5, #254 ; 0xfe - 2808: dd05 ble.n 2816 - 280a: 7b22 ldrb r2, [r4, #12] + 286e: 2dfe cmp r5, #254 ; 0xfe + 2870: dd05 ble.n 287e + 2872: 7b22 ldrb r2, [r4, #12] _lv_style_set_opa(style, tr->prop, x); - 280c: 4b0f ldr r3, [pc, #60] ; (284c ) - 280e: 4798 blx r3 - 2810: e7a2 b.n 2758 + 2874: 4b0f ldr r3, [pc, #60] ; (28b4 ) + 2876: 4798 blx r3 + 2878: e7a2 b.n 27c0 if(v <= 0) x = tr->start_value._opa; - 2812: 7a22 ldrb r2, [r4, #8] - 2814: e7fa b.n 280c + 287a: 7a22 ldrb r2, [r4, #8] + 287c: e7fa b.n 2874 else x = tr->start_value._opa + (((tr->end_value._opa - tr->start_value._opa) * v) >> 8); - 2816: 7a22 ldrb r2, [r4, #8] - 2818: 7b23 ldrb r3, [r4, #12] - 281a: 1a9b subs r3, r3, r2 - 281c: 435d muls r5, r3 - 281e: 122d asrs r5, r5, #8 - 2820: 1952 adds r2, r2, r5 - 2822: b2d2 uxtb r2, r2 - 2824: e7f2 b.n 280c + 287e: 7a22 ldrb r2, [r4, #8] + 2880: 7b23 ldrb r3, [r4, #12] + 2882: 1a9b subs r3, r3, r2 + 2884: 435d muls r5, r3 + 2886: 122d asrs r5, r5, #8 + 2888: 1952 adds r2, r2, r5 + 288a: b2d2 uxtb r2, r2 + 288c: e7f2 b.n 2874 if(v < 128) x = tr->start_value._ptr; - 2826: 2d7f cmp r5, #127 ; 0x7f - 2828: dc03 bgt.n 2832 - 282a: 68a2 ldr r2, [r4, #8] + 288e: 2d7f cmp r5, #127 ; 0x7f + 2890: dc03 bgt.n 289a + 2892: 68a2 ldr r2, [r4, #8] _lv_style_set_ptr(style, tr->prop, x); - 282c: 4b08 ldr r3, [pc, #32] ; (2850 ) - 282e: 4798 blx r3 - 2830: e792 b.n 2758 + 2894: 4b08 ldr r3, [pc, #32] ; (28b8 ) + 2896: 4798 blx r3 + 2898: e792 b.n 27c0 else x = tr->end_value._ptr; - 2832: 68e2 ldr r2, [r4, #12] - 2834: e7fa b.n 282c - 2836: 46c0 nop ; (mov r8, r8) - 2838: 00001c91 .word 0x00001c91 - 283c: 000055b9 .word 0x000055b9 - 2840: 00004c8d .word 0x00004c8d - 2844: 00002525 .word 0x00002525 - 2848: 00004ded .word 0x00004ded - 284c: 00004f4d .word 0x00004f4d - 2850: 000050a1 .word 0x000050a1 - -00002854 : -{ - 2854: b510 push {r4, lr} - 2856: 0004 movs r4, r0 + 289a: 68e2 ldr r2, [r4, #12] + 289c: e7fa b.n 2894 + 289e: 46c0 nop ; (mov r8, r8) + 28a0: 00001cf9 .word 0x00001cf9 + 28a4: 00005621 .word 0x00005621 + 28a8: 00004cf5 .word 0x00004cf5 + 28ac: 0000258d .word 0x0000258d + 28b0: 00004e55 .word 0x00004e55 + 28b4: 00004fb5 .word 0x00004fb5 + 28b8: 00005109 .word 0x00005109 + +000028bc : +{ + 28bc: b510 push {r4, lr} + 28be: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2858: 4b05 ldr r3, [pc, #20] ; (2870 ) - 285a: 4798 blx r3 - 285c: 2800 cmp r0, #0 - 285e: d001 beq.n 2864 + 28c0: 4b05 ldr r3, [pc, #20] ; (28d8 ) + 28c2: 4798 blx r3 + 28c4: 2800 cmp r0, #0 + 28c6: d001 beq.n 28cc } - 2860: 2000 movs r0, #0 - 2862: bd10 pop {r4, pc} + 28c8: 2000 movs r0, #0 + 28ca: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2864: 0022 movs r2, r4 - 2866: 2300 movs r3, #0 - 2868: 4802 ldr r0, [pc, #8] ; (2874 ) - 286a: 4903 ldr r1, [pc, #12] ; (2878 ) - 286c: 4788 blx r1 - 286e: e7fe b.n 286e - 2870: 00001415 .word 0x00001415 - 2874: 0001886c .word 0x0001886c - 2878: 0000141d .word 0x0000141d - -0000287c : -{ - 287c: b5f8 push {r3, r4, r5, r6, r7, lr} - 287e: 46de mov lr, fp - 2880: 4657 mov r7, sl - 2882: 464e mov r6, r9 - 2884: 4645 mov r5, r8 - 2886: b5e0 push {r5, r6, r7, lr} - 2888: 4682 mov sl, r0 - 288a: 000d movs r5, r1 + 28cc: 0022 movs r2, r4 + 28ce: 2300 movs r3, #0 + 28d0: 4802 ldr r0, [pc, #8] ; (28dc ) + 28d2: 4903 ldr r1, [pc, #12] ; (28e0 ) + 28d4: 4788 blx r1 + 28d6: e7fe b.n 28d6 + 28d8: 0000147d .word 0x0000147d + 28dc: 000188fc .word 0x000188fc + 28e0: 00001485 .word 0x00001485 + +000028e4 : +{ + 28e4: b5f8 push {r3, r4, r5, r6, r7, lr} + 28e6: 46de mov lr, fp + 28e8: 4657 mov r7, sl + 28ea: 464e mov r6, r9 + 28ec: 4645 mov r5, r8 + 28ee: b5e0 push {r5, r6, r7, lr} + 28f0: 4682 mov sl, r0 + 28f2: 000d movs r5, r1 if(parent == NULL) { - 288c: 2800 cmp r0, #0 - 288e: d00a beq.n 28a6 + 28f4: 2800 cmp r0, #0 + 28f6: d00a beq.n 290e LV_ASSERT_OBJ(parent, LV_OBJX_NAME); - 2890: 4be9 ldr r3, [pc, #932] ; (2c38 ) - 2892: 4798 blx r3 - 2894: 2800 cmp r0, #0 - 2896: d000 beq.n 289a - 2898: e13a b.n 2b10 - 289a: 4652 mov r2, sl - 289c: 2300 movs r3, #0 - 289e: 48e7 ldr r0, [pc, #924] ; (2c3c ) - 28a0: 49e7 ldr r1, [pc, #924] ; (2c40 ) - 28a2: 4788 blx r1 - 28a4: e7fe b.n 28a4 + 28f8: 4be9 ldr r3, [pc, #932] ; (2ca0 ) + 28fa: 4798 blx r3 + 28fc: 2800 cmp r0, #0 + 28fe: d000 beq.n 2902 + 2900: e13a b.n 2b78 + 2902: 4652 mov r2, sl + 2904: 2300 movs r3, #0 + 2906: 48e7 ldr r0, [pc, #924] ; (2ca4 ) + 2908: 49e7 ldr r1, [pc, #924] ; (2ca8 ) + 290a: 4788 blx r1 + 290c: e7fe b.n 290c lv_disp_t * disp = lv_disp_get_default(); - 28a6: 4be7 ldr r3, [pc, #924] ; (2c44 ) - 28a8: 4798 blx r3 + 290e: 4be7 ldr r3, [pc, #924] ; (2cac ) + 2910: 4798 blx r3 if(!disp) { - 28aa: 2800 cmp r0, #0 - 28ac: d100 bne.n 28b0 - 28ae: e204 b.n 2cba + 2912: 2800 cmp r0, #0 + 2914: d100 bne.n 2918 + 2916: e204 b.n 2d22 new_obj = _lv_ll_ins_head(&disp->scr_ll); - 28b0: 3030 adds r0, #48 ; 0x30 - 28b2: 4be5 ldr r3, [pc, #916] ; (2c48 ) - 28b4: 4798 blx r3 - 28b6: 0004 movs r4, r0 + 2918: 3030 adds r0, #48 ; 0x30 + 291a: 4be5 ldr r3, [pc, #916] ; (2cb0 ) + 291c: 4798 blx r3 + 291e: 0004 movs r4, r0 LV_ASSERT_MEM(new_obj); - 28b8: 4bdf ldr r3, [pc, #892] ; (2c38 ) - 28ba: 4798 blx r3 - 28bc: 2800 cmp r0, #0 - 28be: d105 bne.n 28cc - 28c0: 0022 movs r2, r4 - 28c2: 2300 movs r3, #0 - 28c4: 48e1 ldr r0, [pc, #900] ; (2c4c ) - 28c6: 49de ldr r1, [pc, #888] ; (2c40 ) - 28c8: 4788 blx r1 - 28ca: e7fe b.n 28ca + 2920: 4bdf ldr r3, [pc, #892] ; (2ca0 ) + 2922: 4798 blx r3 + 2924: 2800 cmp r0, #0 + 2926: d105 bne.n 2934 + 2928: 0022 movs r2, r4 + 292a: 2300 movs r3, #0 + 292c: 48e1 ldr r0, [pc, #900] ; (2cb4 ) + 292e: 49de ldr r1, [pc, #888] ; (2ca8 ) + 2930: 4788 blx r1 + 2932: e7fe b.n 2932 if(new_obj == NULL) return NULL; - 28cc: 2c00 cmp r4, #0 - 28ce: d100 bne.n 28d2 - 28d0: e1ec b.n 2cac + 2934: 2c00 cmp r4, #0 + 2936: d100 bne.n 293a + 2938: e1ec b.n 2d14 _lv_memset_00(new_obj, sizeof(lv_obj_t)); - 28d2: 214c movs r1, #76 ; 0x4c - 28d4: 0020 movs r0, r4 - 28d6: 4bde ldr r3, [pc, #888] ; (2c50 ) - 28d8: 4798 blx r3 + 293a: 214c movs r1, #76 ; 0x4c + 293c: 0020 movs r0, r4 + 293e: 4bde ldr r3, [pc, #888] ; (2cb8 ) + 2940: 4798 blx r3 new_obj->base_dir = LV_BIDI_DIR_LTR; - 28da: 0022 movs r2, r4 - 28dc: 3234 adds r2, #52 ; 0x34 - 28de: 7853 ldrb r3, [r2, #1] - 28e0: 2130 movs r1, #48 ; 0x30 - 28e2: 438b bics r3, r1 - 28e4: 7053 strb r3, [r2, #1] + 2942: 0022 movs r2, r4 + 2944: 3234 adds r2, #52 ; 0x34 + 2946: 7853 ldrb r3, [r2, #1] + 2948: 2130 movs r1, #48 ; 0x30 + 294a: 438b bics r3, r1 + 294c: 7053 strb r3, [r2, #1] new_obj->signal_cb = lv_obj_signal; - 28e6: 4bdb ldr r3, [pc, #876] ; (2c54 ) - 28e8: 61e3 str r3, [r4, #28] + 294e: 4bdb ldr r3, [pc, #876] ; (2cbc ) + 2950: 61e3 str r3, [r4, #28] new_obj->design_cb = lv_obj_design; - 28ea: 4bdb ldr r3, [pc, #876] ; (2c58 ) - 28ec: 6223 str r3, [r4, #32] + 2952: 4bdb ldr r3, [pc, #876] ; (2cc0 ) + 2954: 6223 str r3, [r4, #32] new_obj->event_cb = NULL; - 28ee: 2300 movs r3, #0 - 28f0: 61a3 str r3, [r4, #24] + 2956: 2300 movs r3, #0 + 2958: 61a3 str r3, [r4, #24] new_obj->coords.x1 = 0; - 28f2: 8223 strh r3, [r4, #16] + 295a: 8223 strh r3, [r4, #16] new_obj->coords.y1 = 0; - 28f4: 8263 strh r3, [r4, #18] + 295c: 8263 strh r3, [r4, #18] new_obj->coords.x2 = lv_disp_get_hor_res(NULL) - 1; - 28f6: 2000 movs r0, #0 - 28f8: 4bd8 ldr r3, [pc, #864] ; (2c5c ) - 28fa: 4798 blx r3 - 28fc: 3801 subs r0, #1 - 28fe: 82a0 strh r0, [r4, #20] + 295e: 2000 movs r0, #0 + 2960: 4bd8 ldr r3, [pc, #864] ; (2cc4 ) + 2962: 4798 blx r3 + 2964: 3801 subs r0, #1 + 2966: 82a0 strh r0, [r4, #20] new_obj->coords.y2 = lv_disp_get_ver_res(NULL) - 1; - 2900: 2000 movs r0, #0 - 2902: 4bd7 ldr r3, [pc, #860] ; (2c60 ) - 2904: 4798 blx r3 - 2906: 3801 subs r0, #1 - 2908: 82e0 strh r0, [r4, #22] + 2968: 2000 movs r0, #0 + 296a: 4bd7 ldr r3, [pc, #860] ; (2cc8 ) + 296c: 4798 blx r3 + 296e: 3801 subs r0, #1 + 2970: 82e0 strh r0, [r4, #22] _lv_ll_init(&(new_obj->child_ll), sizeof(lv_obj_t)); - 290a: 1d20 adds r0, r4, #4 - 290c: 214c movs r1, #76 ; 0x4c - 290e: 4bd5 ldr r3, [pc, #852] ; (2c64 ) - 2910: 4798 blx r3 + 2972: 1d20 adds r0, r4, #4 + 2974: 214c movs r1, #76 ; 0x4c + 2976: 4bd5 ldr r3, [pc, #852] ; (2ccc ) + 2978: 4798 blx r3 new_obj->ext_draw_pad = 0; - 2912: 2100 movs r1, #0 - 2914: 2000 movs r0, #0 - 2916: 8661 strh r1, [r4, #50] ; 0x32 + 297a: 2100 movs r1, #0 + 297c: 2000 movs r0, #0 + 297e: 8661 strh r1, [r4, #50] ; 0x32 new_obj->ext_click_pad_hor = 0; - 2918: 2300 movs r3, #0 - 291a: 2230 movs r2, #48 ; 0x30 - 291c: 54a0 strb r0, [r4, r2] + 2980: 2300 movs r3, #0 + 2982: 2230 movs r2, #48 ; 0x30 + 2984: 54a0 strb r0, [r4, r2] new_obj->ext_click_pad_ver = 0; - 291e: 3201 adds r2, #1 - 2920: 54a3 strb r3, [r4, r2] + 2986: 3201 adds r2, #1 + 2988: 54a3 strb r3, [r4, r2] new_obj->realign.align = LV_ALIGN_CENTER; - 2922: 3217 adds r2, #23 - 2924: 54a3 strb r3, [r4, r2] + 298a: 3217 adds r2, #23 + 298c: 54a3 strb r3, [r4, r2] new_obj->realign.xofs = 0; - 2926: 2344 movs r3, #68 ; 0x44 - 2928: 52e1 strh r1, [r4, r3] + 298e: 2344 movs r3, #68 ; 0x44 + 2990: 52e1 strh r1, [r4, r3] new_obj->realign.yofs = 0; - 292a: 3302 adds r3, #2 - 292c: 52e1 strh r1, [r4, r3] + 2992: 3302 adds r3, #2 + 2994: 52e1 strh r1, [r4, r3] new_obj->realign.base = NULL; - 292e: 6421 str r1, [r4, #64] ; 0x40 + 2996: 6421 str r1, [r4, #64] ; 0x40 new_obj->realign.auto_realign = 0; - 2930: 3201 adds r2, #1 - 2932: 5ca3 ldrb r3, [r4, r2] - 2934: 2701 movs r7, #1 - 2936: 43bb bics r3, r7 - 2938: 54a3 strb r3, [r4, r2] + 2998: 3201 adds r2, #1 + 299a: 5ca3 ldrb r3, [r4, r2] + 299c: 2701 movs r7, #1 + 299e: 43bb bics r3, r7 + 29a0: 54a3 strb r3, [r4, r2] new_obj->group_p = NULL; - 293a: 63a1 str r1, [r4, #56] ; 0x38 + 29a2: 63a1 str r1, [r4, #56] ; 0x38 new_obj->adv_hittest = 0; - 293c: 2334 movs r3, #52 ; 0x34 - 293e: 4698 mov r8, r3 - 2940: 5ce2 ldrb r2, [r4, r3] + 29a4: 2334 movs r3, #52 ; 0x34 + 29a6: 4698 mov r8, r3 + 29a8: 5ce2 ldrb r2, [r4, r3] new_obj->click = 1; - 2942: 334b adds r3, #75 ; 0x4b - 2944: 4013 ands r3, r2 - 2946: 2201 movs r2, #1 - 2948: 4694 mov ip, r2 - 294a: 4662 mov r2, ip - 294c: 4313 orrs r3, r2 + 29aa: 334b adds r3, #75 ; 0x4b + 29ac: 4013 ands r3, r2 + 29ae: 2201 movs r2, #1 + 29b0: 4694 mov ip, r2 + 29b2: 4662 mov r2, ip + 29b4: 4313 orrs r3, r2 new_obj->drag_throw = 0; - 294e: 227d movs r2, #125 ; 0x7d - 2950: 4013 ands r3, r2 + 29b6: 227d movs r2, #125 ; 0x7d + 29b8: 4013 ands r3, r2 new_obj->drag_parent = 0; - 2952: 3a79 subs r2, #121 ; 0x79 - 2954: 4393 bics r3, r2 + 29ba: 3a79 subs r2, #121 ; 0x79 + 29bc: 4393 bics r3, r2 new_obj->drag_dir = LV_DRAG_DIR_BOTH; - 2956: 0027 movs r7, r4 - 2958: 3734 adds r7, #52 ; 0x34 - 295a: 787a ldrb r2, [r7, #1] - 295c: 260e movs r6, #14 - 295e: 43b2 bics r2, r6 - 2960: 2606 movs r6, #6 - 2962: 46b1 mov r9, r6 - 2964: 464e mov r6, r9 - 2966: 4332 orrs r2, r6 + 29be: 0027 movs r7, r4 + 29c0: 3734 adds r7, #52 ; 0x34 + 29c2: 787a ldrb r2, [r7, #1] + 29c4: 260e movs r6, #14 + 29c6: 43b2 bics r2, r6 + 29c8: 2606 movs r6, #6 + 29ca: 46b1 mov r9, r6 + 29cc: 464e mov r6, r9 + 29ce: 4332 orrs r2, r6 new_obj->hidden = 0; - 2968: 2608 movs r6, #8 - 296a: 43b3 bics r3, r6 + 29d0: 2608 movs r6, #8 + 29d2: 43b3 bics r3, r6 new_obj->top = 0; - 296c: 3608 adds r6, #8 - 296e: 43b3 bics r3, r6 + 29d4: 3608 adds r6, #8 + 29d6: 43b3 bics r3, r6 new_obj->protect = LV_PROTECT_NONE; - 2970: 362c adds r6, #44 ; 0x2c - 2972: 55a0 strb r0, [r4, r6] + 29d8: 362c adds r6, #44 ; 0x2c + 29da: 55a0 strb r0, [r4, r6] new_obj->parent_event = 0; - 2974: 3e1c subs r6, #28 - 2976: 43b3 bics r3, r6 - 2978: 3620 adds r6, #32 - 297a: 43b3 bics r3, r6 - 297c: 4646 mov r6, r8 - 297e: 55a3 strb r3, [r4, r6] + 29dc: 3e1c subs r6, #28 + 29de: 43b3 bics r3, r6 + 29e0: 3620 adds r6, #32 + 29e2: 43b3 bics r3, r6 + 29e4: 4646 mov r6, r8 + 29e6: 55a3 strb r3, [r4, r6] new_obj->gesture_parent = 1; - 2980: 4663 mov r3, ip - 2982: 431a orrs r2, r3 - 2984: 707a strb r2, [r7, #1] + 29e8: 4663 mov r3, ip + 29ea: 431a orrs r2, r3 + 29ec: 707a strb r2, [r7, #1] new_obj->state = LV_STATE_DEFAULT; - 2986: 233d movs r3, #61 ; 0x3d - 2988: 54e0 strb r0, [r4, r3] + 29ee: 233d movs r3, #61 ; 0x3d + 29f0: 54e0 strb r0, [r4, r3] new_obj->ext_attr = NULL; - 298a: 6261 str r1, [r4, #36] ; 0x24 + 29f2: 6261 str r1, [r4, #36] ; 0x24 lv_style_list_init(&new_obj->style_list); - 298c: 3f0c subs r7, #12 - 298e: 0038 movs r0, r7 - 2990: 4bb5 ldr r3, [pc, #724] ; (2c68 ) - 2992: 4798 blx r3 + 29f4: 3f0c subs r7, #12 + 29f6: 0038 movs r0, r7 + 29f8: 4bb5 ldr r3, [pc, #724] ; (2cd0 ) + 29fa: 4798 blx r3 if(copy == NULL) { - 2994: 2d00 cmp r5, #0 - 2996: d100 bne.n 299a - 2998: e140 b.n 2c1c + 29fc: 2d00 cmp r5, #0 + 29fe: d100 bne.n 2a02 + 2a00: e140 b.n 2c84 lv_style_list_copy(&new_obj->style_list, ©->style_list); - 299a: 0029 movs r1, r5 - 299c: 3128 adds r1, #40 ; 0x28 - 299e: 0038 movs r0, r7 - 29a0: 4bb2 ldr r3, [pc, #712] ; (2c6c ) - 29a2: 4798 blx r3 - 29a4: 0029 movs r1, r5 - 29a6: 3118 adds r1, #24 + 2a02: 0029 movs r1, r5 + 2a04: 3128 adds r1, #40 ; 0x28 + 2a06: 0038 movs r0, r7 + 2a08: 4bb2 ldr r3, [pc, #712] ; (2cd4 ) + 2a0a: 4798 blx r3 + 2a0c: 0029 movs r1, r5 + 2a0e: 3118 adds r1, #24 uint8_t * d8 = (uint8_t *)dst; - 29a8: 0022 movs r2, r4 - 29aa: 3210 adds r2, #16 + 2a10: 0022 movs r2, r4 + 2a12: 3210 adds r2, #16 const uint8_t * s8 = (const uint8_t *)src; - 29ac: 002b movs r3, r5 - 29ae: 3310 adds r3, #16 + 2a14: 002b movs r3, r5 + 2a16: 3310 adds r3, #16 *d8 = *s8; - 29b0: 7818 ldrb r0, [r3, #0] - 29b2: 7010 strb r0, [r2, #0] + 2a18: 7818 ldrb r0, [r3, #0] + 2a1a: 7010 strb r0, [r2, #0] d8++; - 29b4: 3201 adds r2, #1 + 2a1c: 3201 adds r2, #1 s8++; - 29b6: 3301 adds r3, #1 + 2a1e: 3301 adds r3, #1 while(len) { - 29b8: 428b cmp r3, r1 - 29ba: d1f9 bne.n 29b0 + 2a20: 428b cmp r3, r1 + 2a22: d1f9 bne.n 2a18 new_obj->ext_draw_pad = copy->ext_draw_pad; - 29bc: 2232 movs r2, #50 ; 0x32 - 29be: 5eab ldrsh r3, [r5, r2] - 29c0: 8663 strh r3, [r4, #50] ; 0x32 + 2a24: 2232 movs r2, #50 ; 0x32 + 2a26: 5eab ldrsh r3, [r5, r2] + 2a28: 8663 strh r3, [r4, #50] ; 0x32 new_obj->ext_click_pad_hor = copy->ext_click_pad_hor; - 29c2: 2330 movs r3, #48 ; 0x30 - 29c4: 5cea ldrb r2, [r5, r3] - 29c6: 54e2 strb r2, [r4, r3] + 2a2a: 2330 movs r3, #48 ; 0x30 + 2a2c: 5cea ldrb r2, [r5, r3] + 2a2e: 54e2 strb r2, [r4, r3] new_obj->ext_click_pad_ver = copy->ext_click_pad_ver; - 29c8: 3301 adds r3, #1 - 29ca: 5cea ldrb r2, [r5, r3] - 29cc: 54e2 strb r2, [r4, r3] + 2a30: 3301 adds r3, #1 + 2a32: 5cea ldrb r2, [r5, r3] + 2a34: 54e2 strb r2, [r4, r3] new_obj->realign.align = copy->realign.align; - 29ce: 3317 adds r3, #23 - 29d0: 5cea ldrb r2, [r5, r3] - 29d2: 54e2 strb r2, [r4, r3] + 2a36: 3317 adds r3, #23 + 2a38: 5cea ldrb r2, [r5, r3] + 2a3a: 54e2 strb r2, [r4, r3] new_obj->realign.xofs = copy->realign.xofs; - 29d4: 3b04 subs r3, #4 - 29d6: 5eea ldrsh r2, [r5, r3] - 29d8: 52e2 strh r2, [r4, r3] + 2a3c: 3b04 subs r3, #4 + 2a3e: 5eea ldrsh r2, [r5, r3] + 2a40: 52e2 strh r2, [r4, r3] new_obj->realign.yofs = copy->realign.yofs; - 29da: 3302 adds r3, #2 - 29dc: 5eea ldrsh r2, [r5, r3] - 29de: 52e2 strh r2, [r4, r3] + 2a42: 3302 adds r3, #2 + 2a44: 5eea ldrsh r2, [r5, r3] + 2a46: 52e2 strh r2, [r4, r3] new_obj->realign.base = copy->realign.base; - 29e0: 6c2b ldr r3, [r5, #64] ; 0x40 - 29e2: 6423 str r3, [r4, #64] ; 0x40 + 2a48: 6c2b ldr r3, [r5, #64] ; 0x40 + 2a4a: 6423 str r3, [r4, #64] ; 0x40 new_obj->realign.auto_realign = copy->realign.auto_realign; - 29e4: 2249 movs r2, #73 ; 0x49 - 29e6: 5ca9 ldrb r1, [r5, r2] - 29e8: 2301 movs r3, #1 - 29ea: 469b mov fp, r3 - 29ec: 2701 movs r7, #1 - 29ee: 4039 ands r1, r7 - 29f0: 5ca3 ldrb r3, [r4, r2] - 29f2: 4658 mov r0, fp - 29f4: 4383 bics r3, r0 - 29f6: 430b orrs r3, r1 - 29f8: 54a3 strb r3, [r4, r2] + 2a4c: 2249 movs r2, #73 ; 0x49 + 2a4e: 5ca9 ldrb r1, [r5, r2] + 2a50: 2301 movs r3, #1 + 2a52: 469b mov fp, r3 + 2a54: 2701 movs r7, #1 + 2a56: 4039 ands r1, r7 + 2a58: 5ca3 ldrb r3, [r4, r2] + 2a5a: 4658 mov r0, fp + 2a5c: 4383 bics r3, r0 + 2a5e: 430b orrs r3, r1 + 2a60: 54a3 strb r3, [r4, r2] new_obj->event_cb = copy->event_cb; - 29fa: 69ab ldr r3, [r5, #24] - 29fc: 61a3 str r3, [r4, #24] + 2a62: 69ab ldr r3, [r5, #24] + 2a64: 61a3 str r3, [r4, #24] new_obj->adv_hittest = copy->adv_hittest; - 29fe: 2334 movs r3, #52 ; 0x34 - 2a00: 5cea ldrb r2, [r5, r3] - 2a02: 09d2 lsrs r2, r2, #7 - 2a04: 01d1 lsls r1, r2, #7 - 2a06: 5ce2 ldrb r2, [r4, r3] - 2a08: 4694 mov ip, r2 - 2a0a: 227f movs r2, #127 ; 0x7f - 2a0c: 4666 mov r6, ip - 2a0e: 4032 ands r2, r6 - 2a10: 430a orrs r2, r1 - 2a12: 54e2 strb r2, [r4, r3] + 2a66: 2334 movs r3, #52 ; 0x34 + 2a68: 5cea ldrb r2, [r5, r3] + 2a6a: 09d2 lsrs r2, r2, #7 + 2a6c: 01d1 lsls r1, r2, #7 + 2a6e: 5ce2 ldrb r2, [r4, r3] + 2a70: 4694 mov ip, r2 + 2a72: 227f movs r2, #127 ; 0x7f + 2a74: 4666 mov r6, ip + 2a76: 4032 ands r2, r6 + 2a78: 430a orrs r2, r1 + 2a7a: 54e2 strb r2, [r4, r3] new_obj->click = copy->click; - 2a14: 5cea ldrb r2, [r5, r3] - 2a16: 07d2 lsls r2, r2, #31 - 2a18: 0fd2 lsrs r2, r2, #31 - 2a1a: 5ce1 ldrb r1, [r4, r3] - 2a1c: 4381 bics r1, r0 - 2a1e: 430a orrs r2, r1 - 2a20: 54e2 strb r2, [r4, r3] + 2a7c: 5cea ldrb r2, [r5, r3] + 2a7e: 07d2 lsls r2, r2, #31 + 2a80: 0fd2 lsrs r2, r2, #31 + 2a82: 5ce1 ldrb r1, [r4, r3] + 2a84: 4381 bics r1, r0 + 2a86: 430a orrs r2, r1 + 2a88: 54e2 strb r2, [r4, r3] new_obj->drag = copy->drag; - 2a22: 5cea ldrb r2, [r5, r3] - 2a24: 0852 lsrs r2, r2, #1 - 2a26: 403a ands r2, r7 - 2a28: 0052 lsls r2, r2, #1 - 2a2a: 5ce1 ldrb r1, [r4, r3] - 2a2c: 2602 movs r6, #2 - 2a2e: 43b1 bics r1, r6 - 2a30: 430a orrs r2, r1 - 2a32: 54e2 strb r2, [r4, r3] + 2a8a: 5cea ldrb r2, [r5, r3] + 2a8c: 0852 lsrs r2, r2, #1 + 2a8e: 403a ands r2, r7 + 2a90: 0052 lsls r2, r2, #1 + 2a92: 5ce1 ldrb r1, [r4, r3] + 2a94: 2602 movs r6, #2 + 2a96: 43b1 bics r1, r6 + 2a98: 430a orrs r2, r1 + 2a9a: 54e2 strb r2, [r4, r3] new_obj->drag_dir = copy->drag_dir; - 2a34: 2235 movs r2, #53 ; 0x35 - 2a36: 4694 mov ip, r2 - 2a38: 5caa ldrb r2, [r5, r2] - 2a3a: 0021 movs r1, r4 - 2a3c: 3134 adds r1, #52 ; 0x34 - 2a3e: 360c adds r6, #12 - 2a40: 4016 ands r6, r2 - 2a42: 46b0 mov r8, r6 - 2a44: 784a ldrb r2, [r1, #1] - 2a46: 260e movs r6, #14 - 2a48: 43b2 bics r2, r6 - 2a4a: 4646 mov r6, r8 - 2a4c: 4332 orrs r2, r6 - 2a4e: 704a strb r2, [r1, #1] + 2a9c: 2235 movs r2, #53 ; 0x35 + 2a9e: 4694 mov ip, r2 + 2aa0: 5caa ldrb r2, [r5, r2] + 2aa2: 0021 movs r1, r4 + 2aa4: 3134 adds r1, #52 ; 0x34 + 2aa6: 360c adds r6, #12 + 2aa8: 4016 ands r6, r2 + 2aaa: 46b0 mov r8, r6 + 2aac: 784a ldrb r2, [r1, #1] + 2aae: 260e movs r6, #14 + 2ab0: 43b2 bics r2, r6 + 2ab2: 4646 mov r6, r8 + 2ab4: 4332 orrs r2, r6 + 2ab6: 704a strb r2, [r1, #1] new_obj->drag_throw = copy->drag_throw; - 2a50: 5cea ldrb r2, [r5, r3] - 2a52: 0892 lsrs r2, r2, #2 - 2a54: 403a ands r2, r7 - 2a56: 0092 lsls r2, r2, #2 - 2a58: 5ce6 ldrb r6, [r4, r3] - 2a5a: 46b0 mov r8, r6 - 2a5c: 2604 movs r6, #4 - 2a5e: 46b1 mov r9, r6 - 2a60: 4646 mov r6, r8 - 2a62: 4648 mov r0, r9 - 2a64: 4386 bics r6, r0 - 2a66: 4332 orrs r2, r6 - 2a68: 54e2 strb r2, [r4, r3] + 2ab8: 5cea ldrb r2, [r5, r3] + 2aba: 0892 lsrs r2, r2, #2 + 2abc: 403a ands r2, r7 + 2abe: 0092 lsls r2, r2, #2 + 2ac0: 5ce6 ldrb r6, [r4, r3] + 2ac2: 46b0 mov r8, r6 + 2ac4: 2604 movs r6, #4 + 2ac6: 46b1 mov r9, r6 + 2ac8: 4646 mov r6, r8 + 2aca: 4648 mov r0, r9 + 2acc: 4386 bics r6, r0 + 2ace: 4332 orrs r2, r6 + 2ad0: 54e2 strb r2, [r4, r3] new_obj->drag_parent = copy->drag_parent; - 2a6a: 5cea ldrb r2, [r5, r3] - 2a6c: 08d2 lsrs r2, r2, #3 - 2a6e: 403a ands r2, r7 - 2a70: 00d2 lsls r2, r2, #3 - 2a72: 5ce0 ldrb r0, [r4, r3] - 2a74: 4680 mov r8, r0 - 2a76: 2008 movs r0, #8 - 2a78: 4646 mov r6, r8 - 2a7a: 4386 bics r6, r0 - 2a7c: 4332 orrs r2, r6 - 2a7e: 54e2 strb r2, [r4, r3] + 2ad2: 5cea ldrb r2, [r5, r3] + 2ad4: 08d2 lsrs r2, r2, #3 + 2ad6: 403a ands r2, r7 + 2ad8: 00d2 lsls r2, r2, #3 + 2ada: 5ce0 ldrb r0, [r4, r3] + 2adc: 4680 mov r8, r0 + 2ade: 2008 movs r0, #8 + 2ae0: 4646 mov r6, r8 + 2ae2: 4386 bics r6, r0 + 2ae4: 4332 orrs r2, r6 + 2ae6: 54e2 strb r2, [r4, r3] new_obj->hidden = copy->hidden; - 2a80: 5cea ldrb r2, [r5, r3] - 2a82: 0912 lsrs r2, r2, #4 - 2a84: 403a ands r2, r7 - 2a86: 0112 lsls r2, r2, #4 - 2a88: 5ce0 ldrb r0, [r4, r3] - 2a8a: 4680 mov r8, r0 - 2a8c: 2010 movs r0, #16 - 2a8e: 4646 mov r6, r8 - 2a90: 4386 bics r6, r0 - 2a92: 4332 orrs r2, r6 - 2a94: 54e2 strb r2, [r4, r3] + 2ae8: 5cea ldrb r2, [r5, r3] + 2aea: 0912 lsrs r2, r2, #4 + 2aec: 403a ands r2, r7 + 2aee: 0112 lsls r2, r2, #4 + 2af0: 5ce0 ldrb r0, [r4, r3] + 2af2: 4680 mov r8, r0 + 2af4: 2010 movs r0, #16 + 2af6: 4646 mov r6, r8 + 2af8: 4386 bics r6, r0 + 2afa: 4332 orrs r2, r6 + 2afc: 54e2 strb r2, [r4, r3] new_obj->top = copy->top; - 2a96: 5cea ldrb r2, [r5, r3] - 2a98: 0952 lsrs r2, r2, #5 - 2a9a: 403a ands r2, r7 - 2a9c: 0152 lsls r2, r2, #5 - 2a9e: 5ce0 ldrb r0, [r4, r3] - 2aa0: 4680 mov r8, r0 - 2aa2: 2020 movs r0, #32 - 2aa4: 4646 mov r6, r8 - 2aa6: 4386 bics r6, r0 - 2aa8: 4332 orrs r2, r6 - 2aaa: 54e2 strb r2, [r4, r3] + 2afe: 5cea ldrb r2, [r5, r3] + 2b00: 0952 lsrs r2, r2, #5 + 2b02: 403a ands r2, r7 + 2b04: 0152 lsls r2, r2, #5 + 2b06: 5ce0 ldrb r0, [r4, r3] + 2b08: 4680 mov r8, r0 + 2b0a: 2020 movs r0, #32 + 2b0c: 4646 mov r6, r8 + 2b0e: 4386 bics r6, r0 + 2b10: 4332 orrs r2, r6 + 2b12: 54e2 strb r2, [r4, r3] new_obj->parent_event = copy->parent_event; - 2aac: 5cea ldrb r2, [r5, r3] - 2aae: 0992 lsrs r2, r2, #6 - 2ab0: 403a ands r2, r7 - 2ab2: 0192 lsls r2, r2, #6 - 2ab4: 5ce7 ldrb r7, [r4, r3] - 2ab6: 2040 movs r0, #64 ; 0x40 - 2ab8: 4387 bics r7, r0 - 2aba: 433a orrs r2, r7 - 2abc: 54e2 strb r2, [r4, r3] + 2b14: 5cea ldrb r2, [r5, r3] + 2b16: 0992 lsrs r2, r2, #6 + 2b18: 403a ands r2, r7 + 2b1a: 0192 lsls r2, r2, #6 + 2b1c: 5ce7 ldrb r7, [r4, r3] + 2b1e: 2040 movs r0, #64 ; 0x40 + 2b20: 4387 bics r7, r0 + 2b22: 433a orrs r2, r7 + 2b24: 54e2 strb r2, [r4, r3] new_obj->protect = copy->protect; - 2abe: 3308 adds r3, #8 - 2ac0: 5cea ldrb r2, [r5, r3] - 2ac2: 54e2 strb r2, [r4, r3] + 2b26: 3308 adds r3, #8 + 2b28: 5cea ldrb r2, [r5, r3] + 2b2a: 54e2 strb r2, [r4, r3] new_obj->gesture_parent = copy->gesture_parent; - 2ac4: 4663 mov r3, ip - 2ac6: 5ceb ldrb r3, [r5, r3] - 2ac8: 07db lsls r3, r3, #31 - 2aca: 0fdb lsrs r3, r3, #31 - 2acc: 784a ldrb r2, [r1, #1] - 2ace: 4658 mov r0, fp - 2ad0: 4382 bics r2, r0 - 2ad2: 4313 orrs r3, r2 - 2ad4: 704b strb r3, [r1, #1] + 2b2c: 4663 mov r3, ip + 2b2e: 5ceb ldrb r3, [r5, r3] + 2b30: 07db lsls r3, r3, #31 + 2b32: 0fdb lsrs r3, r3, #31 + 2b34: 784a ldrb r2, [r1, #1] + 2b36: 4658 mov r0, fp + 2b38: 4382 bics r2, r0 + 2b3a: 4313 orrs r3, r2 + 2b3c: 704b strb r3, [r1, #1] if(copy->group_p != NULL) { - 2ad6: 6ba8 ldr r0, [r5, #56] ; 0x38 - 2ad8: 2800 cmp r0, #0 - 2ada: d002 beq.n 2ae2 + 2b3e: 6ba8 ldr r0, [r5, #56] ; 0x38 + 2b40: 2800 cmp r0, #0 + 2b42: d002 beq.n 2b4a lv_group_add_obj(copy->group_p, new_obj); - 2adc: 0021 movs r1, r4 - 2ade: 4b64 ldr r3, [pc, #400] ; (2c70 ) - 2ae0: 4798 blx r3 + 2b44: 0021 movs r1, r4 + 2b46: 4b64 ldr r3, [pc, #400] ; (2cd8 ) + 2b48: 4798 blx r3 if(lv_obj_get_parent(copy) != NULL && parent != NULL) { - 2ae2: 0028 movs r0, r5 - 2ae4: 4b63 ldr r3, [pc, #396] ; (2c74 ) - 2ae6: 4798 blx r3 - 2ae8: 2800 cmp r0, #0 - 2aea: d100 bne.n 2aee - 2aec: e0d2 b.n 2c94 - 2aee: 4653 mov r3, sl - 2af0: 2b00 cmp r3, #0 - 2af2: d100 bne.n 2af6 - 2af4: e0da b.n 2cac + 2b4a: 0028 movs r0, r5 + 2b4c: 4b63 ldr r3, [pc, #396] ; (2cdc ) + 2b4e: 4798 blx r3 + 2b50: 2800 cmp r0, #0 + 2b52: d100 bne.n 2b56 + 2b54: e0d2 b.n 2cfc + 2b56: 4653 mov r3, sl + 2b58: 2b00 cmp r3, #0 + 2b5a: d100 bne.n 2b5e + 2b5c: e0da b.n 2d14 lv_obj_set_pos(new_obj, lv_obj_get_x(copy), lv_obj_get_y(copy)); - 2af6: 0028 movs r0, r5 - 2af8: 4b5f ldr r3, [pc, #380] ; (2c78 ) - 2afa: 4798 blx r3 - 2afc: 0007 movs r7, r0 - 2afe: 0028 movs r0, r5 - 2b00: 4b5e ldr r3, [pc, #376] ; (2c7c ) - 2b02: 4798 blx r3 - 2b04: 0002 movs r2, r0 - 2b06: 0039 movs r1, r7 - 2b08: 0020 movs r0, r4 - 2b0a: 4b5d ldr r3, [pc, #372] ; (2c80 ) - 2b0c: 4798 blx r3 - 2b0e: e0c4 b.n 2c9a + 2b5e: 0028 movs r0, r5 + 2b60: 4b5f ldr r3, [pc, #380] ; (2ce0 ) + 2b62: 4798 blx r3 + 2b64: 0007 movs r7, r0 + 2b66: 0028 movs r0, r5 + 2b68: 4b5e ldr r3, [pc, #376] ; (2ce4 ) + 2b6a: 4798 blx r3 + 2b6c: 0002 movs r2, r0 + 2b6e: 0039 movs r1, r7 + 2b70: 0020 movs r0, r4 + 2b72: 4b5d ldr r3, [pc, #372] ; (2ce8 ) + 2b74: 4798 blx r3 + 2b76: e0c4 b.n 2d02 new_obj = _lv_ll_ins_head(&parent->child_ll); - 2b10: 4653 mov r3, sl - 2b12: 1d18 adds r0, r3, #4 - 2b14: 4b4c ldr r3, [pc, #304] ; (2c48 ) - 2b16: 4798 blx r3 - 2b18: 0004 movs r4, r0 + 2b78: 4653 mov r3, sl + 2b7a: 1d18 adds r0, r3, #4 + 2b7c: 4b4c ldr r3, [pc, #304] ; (2cb0 ) + 2b7e: 4798 blx r3 + 2b80: 0004 movs r4, r0 LV_ASSERT_MEM(new_obj); - 2b1a: 4b47 ldr r3, [pc, #284] ; (2c38 ) - 2b1c: 4798 blx r3 - 2b1e: 2800 cmp r0, #0 - 2b20: d04b beq.n 2bba + 2b82: 4b47 ldr r3, [pc, #284] ; (2ca0 ) + 2b84: 4798 blx r3 + 2b86: 2800 cmp r0, #0 + 2b88: d04b beq.n 2c22 if(new_obj == NULL) return NULL; - 2b22: 2c00 cmp r4, #0 - 2b24: d100 bne.n 2b28 - 2b26: e0c1 b.n 2cac + 2b8a: 2c00 cmp r4, #0 + 2b8c: d100 bne.n 2b90 + 2b8e: e0c1 b.n 2d14 _lv_memset_00(new_obj, sizeof(lv_obj_t)); - 2b28: 214c movs r1, #76 ; 0x4c - 2b2a: 0020 movs r0, r4 - 2b2c: 4b48 ldr r3, [pc, #288] ; (2c50 ) - 2b2e: 4798 blx r3 + 2b90: 214c movs r1, #76 ; 0x4c + 2b92: 0020 movs r0, r4 + 2b94: 4b48 ldr r3, [pc, #288] ; (2cb8 ) + 2b96: 4798 blx r3 new_obj->parent = parent; - 2b30: 4653 mov r3, sl - 2b32: 6023 str r3, [r4, #0] + 2b98: 4653 mov r3, sl + 2b9a: 6023 str r3, [r4, #0] new_obj->base_dir = LV_BIDI_DIR_LTR; - 2b34: 0022 movs r2, r4 - 2b36: 3234 adds r2, #52 ; 0x34 - 2b38: 7853 ldrb r3, [r2, #1] - 2b3a: 2130 movs r1, #48 ; 0x30 - 2b3c: 438b bics r3, r1 - 2b3e: 7053 strb r3, [r2, #1] + 2b9c: 0022 movs r2, r4 + 2b9e: 3234 adds r2, #52 ; 0x34 + 2ba0: 7853 ldrb r3, [r2, #1] + 2ba2: 2130 movs r1, #48 ; 0x30 + 2ba4: 438b bics r3, r1 + 2ba6: 7053 strb r3, [r2, #1] new_obj->signal_cb = lv_obj_signal; - 2b40: 4b44 ldr r3, [pc, #272] ; (2c54 ) - 2b42: 61e3 str r3, [r4, #28] + 2ba8: 4b44 ldr r3, [pc, #272] ; (2cbc ) + 2baa: 61e3 str r3, [r4, #28] new_obj->design_cb = lv_obj_design; - 2b44: 4b44 ldr r3, [pc, #272] ; (2c58 ) - 2b46: 6223 str r3, [r4, #32] + 2bac: 4b44 ldr r3, [pc, #272] ; (2cc0 ) + 2bae: 6223 str r3, [r4, #32] new_obj->event_cb = NULL; - 2b48: 2300 movs r3, #0 - 2b4a: 61a3 str r3, [r4, #24] + 2bb0: 2300 movs r3, #0 + 2bb2: 61a3 str r3, [r4, #24] new_obj->coords.y1 = parent->coords.y1; - 2b4c: 4653 mov r3, sl - 2b4e: 2212 movs r2, #18 - 2b50: 5e9b ldrsh r3, [r3, r2] - 2b52: 8263 strh r3, [r4, #18] + 2bb4: 4653 mov r3, sl + 2bb6: 2212 movs r2, #18 + 2bb8: 5e9b ldrsh r3, [r3, r2] + 2bba: 8263 strh r3, [r4, #18] new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT; - 2b54: 4653 mov r3, sl - 2b56: 8a5f ldrh r7, [r3, #18] - 2b58: 2000 movs r0, #0 - 2b5a: 4b4a ldr r3, [pc, #296] ; (2c84 ) - 2b5c: 4798 blx r3 - 2b5e: 2332 movs r3, #50 ; 0x32 - 2b60: 4343 muls r3, r0 - 2b62: 3350 adds r3, #80 ; 0x50 - 2b64: 2240 movs r2, #64 ; 0x40 - 2b66: 32ff adds r2, #255 ; 0xff - 2b68: 2001 movs r0, #1 - 2b6a: 4293 cmp r3, r2 - 2b6c: d82b bhi.n 2bc6 - 2b6e: 19c0 adds r0, r0, r7 - 2b70: 82e0 strh r0, [r4, #22] + 2bbc: 4653 mov r3, sl + 2bbe: 8a5f ldrh r7, [r3, #18] + 2bc0: 2000 movs r0, #0 + 2bc2: 4b4a ldr r3, [pc, #296] ; (2cec ) + 2bc4: 4798 blx r3 + 2bc6: 2332 movs r3, #50 ; 0x32 + 2bc8: 4343 muls r3, r0 + 2bca: 3350 adds r3, #80 ; 0x50 + 2bcc: 2240 movs r2, #64 ; 0x40 + 2bce: 32ff adds r2, #255 ; 0xff + 2bd0: 2001 movs r0, #1 + 2bd2: 4293 cmp r3, r2 + 2bd4: d82b bhi.n 2c2e + 2bd6: 19c0 adds r0, r0, r7 + 2bd8: 82e0 strh r0, [r4, #22] if(lv_obj_get_base_dir(new_obj) == LV_BIDI_DIR_RTL) { - 2b72: 0020 movs r0, r4 - 2b74: 4b44 ldr r3, [pc, #272] ; (2c88 ) - 2b76: 4798 blx r3 - 2b78: 2801 cmp r0, #1 - 2b7a: d030 beq.n 2bde + 2bda: 0020 movs r0, r4 + 2bdc: 4b44 ldr r3, [pc, #272] ; (2cf0 ) + 2bde: 4798 blx r3 + 2be0: 2801 cmp r0, #1 + 2be2: d030 beq.n 2c46 new_obj->coords.x1 = parent->coords.x1; - 2b7c: 4653 mov r3, sl - 2b7e: 2210 movs r2, #16 - 2b80: 5e9b ldrsh r3, [r3, r2] - 2b82: 8223 strh r3, [r4, #16] + 2be4: 4653 mov r3, sl + 2be6: 2210 movs r2, #16 + 2be8: 5e9b ldrsh r3, [r3, r2] + 2bea: 8223 strh r3, [r4, #16] new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH; - 2b84: 4653 mov r3, sl - 2b86: 8a1f ldrh r7, [r3, #16] - 2b88: 2000 movs r0, #0 - 2b8a: 4b3e ldr r3, [pc, #248] ; (2c84 ) - 2b8c: 4798 blx r3 - 2b8e: 2364 movs r3, #100 ; 0x64 - 2b90: 4343 muls r3, r0 - 2b92: 3350 adds r3, #80 ; 0x50 - 2b94: 2240 movs r2, #64 ; 0x40 - 2b96: 32ff adds r2, #255 ; 0xff - 2b98: 2001 movs r0, #1 - 2b9a: 4293 cmp r3, r2 - 2b9c: d90a bls.n 2bb4 - 2b9e: 2000 movs r0, #0 - 2ba0: 4b38 ldr r3, [pc, #224] ; (2c84 ) - 2ba2: 4798 blx r3 - 2ba4: 0003 movs r3, r0 - 2ba6: 2064 movs r0, #100 ; 0x64 - 2ba8: 4358 muls r0, r3 - 2baa: 3050 adds r0, #80 ; 0x50 - 2bac: 21a0 movs r1, #160 ; 0xa0 - 2bae: 4b37 ldr r3, [pc, #220] ; (2c8c ) - 2bb0: 4798 blx r3 - 2bb2: b280 uxth r0, r0 - 2bb4: 19c0 adds r0, r0, r7 - 2bb6: 82a0 strh r0, [r4, #20] - 2bb8: e6a7 b.n 290a + 2bec: 4653 mov r3, sl + 2bee: 8a1f ldrh r7, [r3, #16] + 2bf0: 2000 movs r0, #0 + 2bf2: 4b3e ldr r3, [pc, #248] ; (2cec ) + 2bf4: 4798 blx r3 + 2bf6: 2364 movs r3, #100 ; 0x64 + 2bf8: 4343 muls r3, r0 + 2bfa: 3350 adds r3, #80 ; 0x50 + 2bfc: 2240 movs r2, #64 ; 0x40 + 2bfe: 32ff adds r2, #255 ; 0xff + 2c00: 2001 movs r0, #1 + 2c02: 4293 cmp r3, r2 + 2c04: d90a bls.n 2c1c + 2c06: 2000 movs r0, #0 + 2c08: 4b38 ldr r3, [pc, #224] ; (2cec ) + 2c0a: 4798 blx r3 + 2c0c: 0003 movs r3, r0 + 2c0e: 2064 movs r0, #100 ; 0x64 + 2c10: 4358 muls r0, r3 + 2c12: 3050 adds r0, #80 ; 0x50 + 2c14: 21a0 movs r1, #160 ; 0xa0 + 2c16: 4b37 ldr r3, [pc, #220] ; (2cf4 ) + 2c18: 4798 blx r3 + 2c1a: b280 uxth r0, r0 + 2c1c: 19c0 adds r0, r0, r7 + 2c1e: 82a0 strh r0, [r4, #20] + 2c20: e6a7 b.n 2972 LV_ASSERT_MEM(new_obj); - 2bba: 0022 movs r2, r4 - 2bbc: 2300 movs r3, #0 - 2bbe: 4823 ldr r0, [pc, #140] ; (2c4c ) - 2bc0: 491f ldr r1, [pc, #124] ; (2c40 ) - 2bc2: 4788 blx r1 - 2bc4: e7fe b.n 2bc4 + 2c22: 0022 movs r2, r4 + 2c24: 2300 movs r3, #0 + 2c26: 4823 ldr r0, [pc, #140] ; (2cb4 ) + 2c28: 491f ldr r1, [pc, #124] ; (2ca8 ) + 2c2a: 4788 blx r1 + 2c2c: e7fe b.n 2c2c new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT; - 2bc6: 2000 movs r0, #0 - 2bc8: 4b2e ldr r3, [pc, #184] ; (2c84 ) - 2bca: 4798 blx r3 - 2bcc: 0003 movs r3, r0 - 2bce: 2032 movs r0, #50 ; 0x32 - 2bd0: 4358 muls r0, r3 - 2bd2: 3050 adds r0, #80 ; 0x50 - 2bd4: 21a0 movs r1, #160 ; 0xa0 - 2bd6: 4b2d ldr r3, [pc, #180] ; (2c8c ) - 2bd8: 4798 blx r3 - 2bda: b280 uxth r0, r0 - 2bdc: e7c7 b.n 2b6e + 2c2e: 2000 movs r0, #0 + 2c30: 4b2e ldr r3, [pc, #184] ; (2cec ) + 2c32: 4798 blx r3 + 2c34: 0003 movs r3, r0 + 2c36: 2032 movs r0, #50 ; 0x32 + 2c38: 4358 muls r0, r3 + 2c3a: 3050 adds r0, #80 ; 0x50 + 2c3c: 21a0 movs r1, #160 ; 0xa0 + 2c3e: 4b2d ldr r3, [pc, #180] ; (2cf4 ) + 2c40: 4798 blx r3 + 2c42: b280 uxth r0, r0 + 2c44: e7c7 b.n 2bd6 new_obj->coords.x2 = parent->coords.x2; - 2bde: 4653 mov r3, sl - 2be0: 2214 movs r2, #20 - 2be2: 5e9b ldrsh r3, [r3, r2] - 2be4: 82a3 strh r3, [r4, #20] + 2c46: 4653 mov r3, sl + 2c48: 2214 movs r2, #20 + 2c4a: 5e9b ldrsh r3, [r3, r2] + 2c4c: 82a3 strh r3, [r4, #20] new_obj->coords.x1 = parent->coords.x2 - LV_OBJ_DEF_WIDTH; - 2be6: 4653 mov r3, sl - 2be8: 8a9f ldrh r7, [r3, #20] - 2bea: 2000 movs r0, #0 - 2bec: 4b25 ldr r3, [pc, #148] ; (2c84 ) - 2bee: 4798 blx r3 - 2bf0: 2364 movs r3, #100 ; 0x64 - 2bf2: 4343 muls r3, r0 - 2bf4: 3350 adds r3, #80 ; 0x50 - 2bf6: 2240 movs r2, #64 ; 0x40 - 2bf8: 32ff adds r2, #255 ; 0xff - 2bfa: 2001 movs r0, #1 - 2bfc: 4293 cmp r3, r2 - 2bfe: d90a bls.n 2c16 - 2c00: 2000 movs r0, #0 - 2c02: 4b20 ldr r3, [pc, #128] ; (2c84 ) - 2c04: 4798 blx r3 - 2c06: 0003 movs r3, r0 - 2c08: 2064 movs r0, #100 ; 0x64 - 2c0a: 4358 muls r0, r3 - 2c0c: 3050 adds r0, #80 ; 0x50 - 2c0e: 21a0 movs r1, #160 ; 0xa0 - 2c10: 4b1e ldr r3, [pc, #120] ; (2c8c ) - 2c12: 4798 blx r3 - 2c14: b280 uxth r0, r0 - 2c16: 1a38 subs r0, r7, r0 - 2c18: 8220 strh r0, [r4, #16] - 2c1a: e676 b.n 290a + 2c4e: 4653 mov r3, sl + 2c50: 8a9f ldrh r7, [r3, #20] + 2c52: 2000 movs r0, #0 + 2c54: 4b25 ldr r3, [pc, #148] ; (2cec ) + 2c56: 4798 blx r3 + 2c58: 2364 movs r3, #100 ; 0x64 + 2c5a: 4343 muls r3, r0 + 2c5c: 3350 adds r3, #80 ; 0x50 + 2c5e: 2240 movs r2, #64 ; 0x40 + 2c60: 32ff adds r2, #255 ; 0xff + 2c62: 2001 movs r0, #1 + 2c64: 4293 cmp r3, r2 + 2c66: d90a bls.n 2c7e + 2c68: 2000 movs r0, #0 + 2c6a: 4b20 ldr r3, [pc, #128] ; (2cec ) + 2c6c: 4798 blx r3 + 2c6e: 0003 movs r3, r0 + 2c70: 2064 movs r0, #100 ; 0x64 + 2c72: 4358 muls r0, r3 + 2c74: 3050 adds r0, #80 ; 0x50 + 2c76: 21a0 movs r1, #160 ; 0xa0 + 2c78: 4b1e ldr r3, [pc, #120] ; (2cf4 ) + 2c7a: 4798 blx r3 + 2c7c: b280 uxth r0, r0 + 2c7e: 1a38 subs r0, r7, r0 + 2c80: 8220 strh r0, [r4, #16] + 2c82: e676 b.n 2972 if(parent != NULL) lv_theme_apply(new_obj, LV_THEME_OBJ); - 2c1c: 4653 mov r3, sl - 2c1e: 2b00 cmp r3, #0 - 2c20: d004 beq.n 2c2c - 2c22: 2102 movs r1, #2 - 2c24: 0020 movs r0, r4 - 2c26: 4b1a ldr r3, [pc, #104] ; (2c90 ) - 2c28: 4798 blx r3 - 2c2a: e036 b.n 2c9a + 2c84: 4653 mov r3, sl + 2c86: 2b00 cmp r3, #0 + 2c88: d004 beq.n 2c94 + 2c8a: 2102 movs r1, #2 + 2c8c: 0020 movs r0, r4 + 2c8e: 4b1a ldr r3, [pc, #104] ; (2cf8 ) + 2c90: 4798 blx r3 + 2c92: e036 b.n 2d02 else lv_theme_apply(new_obj, LV_THEME_SCR); - 2c2c: 2101 movs r1, #1 - 2c2e: 0020 movs r0, r4 - 2c30: 4b17 ldr r3, [pc, #92] ; (2c90 ) - 2c32: 4798 blx r3 - 2c34: e03a b.n 2cac - 2c36: 46c0 nop ; (mov r8, r8) - 2c38: 00001415 .word 0x00001415 - 2c3c: 0001886c .word 0x0001886c - 2c40: 0000141d .word 0x0000141d - 2c44: 0000f5a1 .word 0x0000f5a1 - 2c48: 00010565 .word 0x00010565 - 2c4c: 00018804 .word 0x00018804 - 2c50: 00010fe5 .word 0x00010fe5 - 2c54: 00003dd9 .word 0x00003dd9 - 2c58: 00003979 .word 0x00003979 - 2c5c: 0000f5ad .word 0x0000f5ad - 2c60: 0000f5d5 .word 0x0000f5d5 - 2c64: 00010551 .word 0x00010551 - 2c68: 000048f5 .word 0x000048f5 - 2c6c: 00005639 .word 0x00005639 - 2c70: 00001641 .word 0x00001641 - 2c74: 00001a39 .word 0x00001a39 - 2c78: 00001ba9 .word 0x00001ba9 - 2c7c: 00001bed .word 0x00001bed - 2c80: 0000201d .word 0x0000201d - 2c84: 0000f5fd .word 0x0000f5fd - 2c88: 00002855 .word 0x00002855 - 2c8c: 00017961 .word 0x00017961 - 2c90: 00011c01 .word 0x00011c01 + 2c94: 2101 movs r1, #1 + 2c96: 0020 movs r0, r4 + 2c98: 4b17 ldr r3, [pc, #92] ; (2cf8 ) + 2c9a: 4798 blx r3 + 2c9c: e03a b.n 2d14 + 2c9e: 46c0 nop ; (mov r8, r8) + 2ca0: 0000147d .word 0x0000147d + 2ca4: 000188fc .word 0x000188fc + 2ca8: 00001485 .word 0x00001485 + 2cac: 0000f609 .word 0x0000f609 + 2cb0: 000105cd .word 0x000105cd + 2cb4: 00018894 .word 0x00018894 + 2cb8: 0001104d .word 0x0001104d + 2cbc: 00003e41 .word 0x00003e41 + 2cc0: 000039e1 .word 0x000039e1 + 2cc4: 0000f615 .word 0x0000f615 + 2cc8: 0000f63d .word 0x0000f63d + 2ccc: 000105b9 .word 0x000105b9 + 2cd0: 0000495d .word 0x0000495d + 2cd4: 000056a1 .word 0x000056a1 + 2cd8: 000016a9 .word 0x000016a9 + 2cdc: 00001aa1 .word 0x00001aa1 + 2ce0: 00001c11 .word 0x00001c11 + 2ce4: 00001c55 .word 0x00001c55 + 2ce8: 00002085 .word 0x00002085 + 2cec: 0000f665 .word 0x0000f665 + 2cf0: 000028bd .word 0x000028bd + 2cf4: 000179f1 .word 0x000179f1 + 2cf8: 00011c69 .word 0x00011c69 if(parent != NULL) { - 2c94: 4653 mov r3, sl - 2c96: 2b00 cmp r3, #0 - 2c98: d008 beq.n 2cac + 2cfc: 4653 mov r3, sl + 2cfe: 2b00 cmp r3, #0 + 2d00: d008 beq.n 2d14 parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, new_obj); - 2c9a: 4653 mov r3, sl - 2c9c: 69db ldr r3, [r3, #28] - 2c9e: 0022 movs r2, r4 - 2ca0: 2101 movs r1, #1 - 2ca2: 4650 mov r0, sl - 2ca4: 4798 blx r3 + 2d02: 4653 mov r3, sl + 2d04: 69db ldr r3, [r3, #28] + 2d06: 0022 movs r2, r4 + 2d08: 2101 movs r1, #1 + 2d0a: 4650 mov r0, sl + 2d0c: 4798 blx r3 lv_obj_invalidate(new_obj); - 2ca6: 0020 movs r0, r4 - 2ca8: 4b05 ldr r3, [pc, #20] ; (2cc0 ) - 2caa: 4798 blx r3 -} - 2cac: 0020 movs r0, r4 - 2cae: bc3c pop {r2, r3, r4, r5} - 2cb0: 4690 mov r8, r2 - 2cb2: 4699 mov r9, r3 - 2cb4: 46a2 mov sl, r4 - 2cb6: 46ab mov fp, r5 - 2cb8: bdf8 pop {r3, r4, r5, r6, r7, pc} + 2d0e: 0020 movs r0, r4 + 2d10: 4b05 ldr r3, [pc, #20] ; (2d28 ) + 2d12: 4798 blx r3 +} + 2d14: 0020 movs r0, r4 + 2d16: bc3c pop {r2, r3, r4, r5} + 2d18: 4690 mov r8, r2 + 2d1a: 4699 mov r9, r3 + 2d1c: 46a2 mov sl, r4 + 2d1e: 46ab mov fp, r5 + 2d20: bdf8 pop {r3, r4, r5, r6, r7, pc} return NULL; - 2cba: 4654 mov r4, sl - 2cbc: e7f6 b.n 2cac - 2cbe: 46c0 nop ; (mov r8, r8) - 2cc0: 00001f49 .word 0x00001f49 + 2d22: 4654 mov r4, sl + 2d24: e7f6 b.n 2d14 + 2d26: 46c0 nop ; (mov r8, r8) + 2d28: 00001fb1 .word 0x00001fb1 -00002cc4 : +00002d2c : { - 2cc4: b570 push {r4, r5, r6, lr} - 2cc6: 0004 movs r4, r0 - 2cc8: 000d movs r5, r1 + 2d2c: b570 push {r4, r5, r6, lr} + 2d2e: 0004 movs r4, r0 + 2d30: 000d movs r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2cca: 4b08 ldr r3, [pc, #32] ; (2cec ) - 2ccc: 4798 blx r3 - 2cce: 2800 cmp r0, #0 - 2cd0: d006 beq.n 2ce0 + 2d32: 4b08 ldr r3, [pc, #32] ; (2d54 ) + 2d34: 4798 blx r3 + 2d36: 2800 cmp r0, #0 + 2d38: d006 beq.n 2d48 return (obj->protect & prot) == 0 ? false : true; - 2cd2: 233c movs r3, #60 ; 0x3c - 2cd4: 5ce0 ldrb r0, [r4, r3] - 2cd6: 4028 ands r0, r5 - 2cd8: 1e43 subs r3, r0, #1 - 2cda: 4198 sbcs r0, r3 - 2cdc: b2c0 uxtb r0, r0 -} - 2cde: bd70 pop {r4, r5, r6, pc} + 2d3a: 233c movs r3, #60 ; 0x3c + 2d3c: 5ce0 ldrb r0, [r4, r3] + 2d3e: 4028 ands r0, r5 + 2d40: 1e43 subs r3, r0, #1 + 2d42: 4198 sbcs r0, r3 + 2d44: b2c0 uxtb r0, r0 +} + 2d46: bd70 pop {r4, r5, r6, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2ce0: 0022 movs r2, r4 - 2ce2: 2300 movs r3, #0 - 2ce4: 4802 ldr r0, [pc, #8] ; (2cf0 ) - 2ce6: 4903 ldr r1, [pc, #12] ; (2cf4 ) - 2ce8: 4788 blx r1 - 2cea: e7fe b.n 2cea - 2cec: 00001415 .word 0x00001415 - 2cf0: 0001886c .word 0x0001886c - 2cf4: 0000141d .word 0x0000141d - -00002cf8 : -{ - 2cf8: b570 push {r4, r5, r6, lr} - 2cfa: b082 sub sp, #8 - 2cfc: 0005 movs r5, r0 - 2cfe: 000e movs r6, r1 + 2d48: 0022 movs r2, r4 + 2d4a: 2300 movs r3, #0 + 2d4c: 4802 ldr r0, [pc, #8] ; (2d58 ) + 2d4e: 4903 ldr r1, [pc, #12] ; (2d5c ) + 2d50: 4788 blx r1 + 2d52: e7fe b.n 2d52 + 2d54: 0000147d .word 0x0000147d + 2d58: 000188fc .word 0x000188fc + 2d5c: 00001485 .word 0x00001485 + +00002d60 : +{ + 2d60: b570 push {r4, r5, r6, lr} + 2d62: b082 sub sp, #8 + 2d64: 0005 movs r5, r0 + 2d66: 000e movs r6, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2d00: 4b0d ldr r3, [pc, #52] ; (2d38 ) - 2d02: 4798 blx r3 - 2d04: 2800 cmp r0, #0 - 2d06: d005 beq.n 2d14 + 2d68: 4b0d ldr r3, [pc, #52] ; (2da0 ) + 2d6a: 4798 blx r3 + 2d6c: 2800 cmp r0, #0 + 2d6e: d005 beq.n 2d7c if(part < _LV_OBJ_PART_REAL_LAST) return ((lv_obj_t *)obj)->state; - 2d08: 2e3f cmp r6, #63 ; 0x3f - 2d0a: d809 bhi.n 2d20 - 2d0c: 233d movs r3, #61 ; 0x3d - 2d0e: 5ce8 ldrb r0, [r5, r3] + 2d70: 2e3f cmp r6, #63 ; 0x3f + 2d72: d809 bhi.n 2d88 + 2d74: 233d movs r3, #61 ; 0x3d + 2d76: 5ce8 ldrb r0, [r5, r3] } - 2d10: b002 add sp, #8 - 2d12: bd70 pop {r4, r5, r6, pc} + 2d78: b002 add sp, #8 + 2d7a: bd70 pop {r4, r5, r6, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2d14: 002a movs r2, r5 - 2d16: 2300 movs r3, #0 - 2d18: 4808 ldr r0, [pc, #32] ; (2d3c ) - 2d1a: 4909 ldr r1, [pc, #36] ; (2d40 ) - 2d1c: 4788 blx r1 - 2d1e: e7fe b.n 2d1e + 2d7c: 002a movs r2, r5 + 2d7e: 2300 movs r3, #0 + 2d80: 4808 ldr r0, [pc, #32] ; (2da4 ) + 2d82: 4909 ldr r1, [pc, #36] ; (2da8 ) + 2d84: 4788 blx r1 + 2d86: e7fe b.n 2d86 info.part = part; - 2d20: ac01 add r4, sp, #4 - 2d22: 7026 strb r6, [r4, #0] + 2d88: ac01 add r4, sp, #4 + 2d8a: 7026 strb r6, [r4, #0] info.result = LV_STATE_DEFAULT; - 2d24: 2300 movs r3, #0 - 2d26: 7063 strb r3, [r4, #1] + 2d8c: 2300 movs r3, #0 + 2d8e: 7063 strb r3, [r4, #1] lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STATE_DSC, &info); - 2d28: 0022 movs r2, r4 - 2d2a: 2109 movs r1, #9 - 2d2c: 0028 movs r0, r5 - 2d2e: 4b05 ldr r3, [pc, #20] ; (2d44 ) - 2d30: 4798 blx r3 + 2d90: 0022 movs r2, r4 + 2d92: 2109 movs r1, #9 + 2d94: 0028 movs r0, r5 + 2d96: 4b05 ldr r3, [pc, #20] ; (2dac ) + 2d98: 4798 blx r3 return info.result; - 2d32: 7860 ldrb r0, [r4, #1] - 2d34: e7ec b.n 2d10 - 2d36: 46c0 nop ; (mov r8, r8) - 2d38: 00001415 .word 0x00001415 - 2d3c: 0001886c .word 0x0001886c - 2d40: 0000141d .word 0x0000141d - 2d44: 000019ed .word 0x000019ed - -00002d48 <_lv_obj_get_style_int>: -{ - 2d48: b5f0 push {r4, r5, r6, r7, lr} - 2d4a: 46de mov lr, fp - 2d4c: 4657 mov r7, sl - 2d4e: 464e mov r6, r9 - 2d50: b5c0 push {r6, r7, lr} - 2d52: b084 sub sp, #16 - 2d54: 0006 movs r6, r0 - 2d56: 000d movs r5, r1 - 2d58: 0017 movs r7, r2 + 2d9a: 7860 ldrb r0, [r4, #1] + 2d9c: e7ec b.n 2d78 + 2d9e: 46c0 nop ; (mov r8, r8) + 2da0: 0000147d .word 0x0000147d + 2da4: 000188fc .word 0x000188fc + 2da8: 00001485 .word 0x00001485 + 2dac: 00001a55 .word 0x00001a55 + +00002db0 <_lv_obj_get_style_int>: +{ + 2db0: b5f0 push {r4, r5, r6, r7, lr} + 2db2: 46de mov lr, fp + 2db4: 4657 mov r7, sl + 2db6: 464e mov r6, r9 + 2db8: b5c0 push {r6, r7, lr} + 2dba: b084 sub sp, #16 + 2dbc: 0006 movs r6, r0 + 2dbe: 000d movs r5, r1 + 2dc0: 0017 movs r7, r2 attr.full = prop_ori >> 8; - 2d5a: 0a13 lsrs r3, r2, #8 - 2d5c: 9301 str r3, [sp, #4] + 2dc2: 0a13 lsrs r3, r2, #8 + 2dc4: 9301 str r3, [sp, #4] while(parent) { - 2d5e: 2800 cmp r0, #0 - 2d60: d030 beq.n 2dc4 <_lv_obj_get_style_int+0x7c> + 2dc6: 2800 cmp r0, #0 + 2dc8: d030 beq.n 2e2c <_lv_obj_get_style_int+0x7c> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2d62: 4b24 ldr r3, [pc, #144] ; (2df4 <_lv_obj_get_style_int+0xac>) - 2d64: 469b mov fp, r3 + 2dca: 4b24 ldr r3, [pc, #144] ; (2e5c <_lv_obj_get_style_int+0xac>) + 2dcc: 469b mov fp, r3 lv_state_t state = lv_obj_get_state(parent, part); - 2d66: 4b24 ldr r3, [pc, #144] ; (2df8 <_lv_obj_get_style_int+0xb0>) - 2d68: 469a mov sl, r3 + 2dce: 4b24 ldr r3, [pc, #144] ; (2e60 <_lv_obj_get_style_int+0xb0>) + 2dd0: 469a mov sl, r3 res = _lv_style_list_get_int(dsc, prop, &value_act); - 2d6a: 4b24 ldr r3, [pc, #144] ; (2dfc <_lv_obj_get_style_int+0xb4>) - 2d6c: 4699 mov r9, r3 - 2d6e: e00c b.n 2d8a <_lv_obj_get_style_int+0x42> + 2dd2: 4b24 ldr r3, [pc, #144] ; (2e64 <_lv_obj_get_style_int+0xb4>) + 2dd4: 4699 mov r9, r3 + 2dd6: e00c b.n 2df2 <_lv_obj_get_style_int+0x42> if(res == LV_RES_OK) return value_act; - 2d70: ab02 add r3, sp, #8 - 2d72: 3306 adds r3, #6 - 2d74: 2000 movs r0, #0 - 2d76: 5e18 ldrsh r0, [r3, r0] -} - 2d78: b004 add sp, #16 - 2d7a: bc1c pop {r2, r3, r4} - 2d7c: 4691 mov r9, r2 - 2d7e: 469a mov sl, r3 - 2d80: 46a3 mov fp, r4 - 2d82: bdf0 pop {r4, r5, r6, r7, pc} - 2d84: 2500 movs r5, #0 + 2dd8: ab02 add r3, sp, #8 + 2dda: 3306 adds r3, #6 + 2ddc: 2000 movs r0, #0 + 2dde: 5e18 ldrsh r0, [r3, r0] +} + 2de0: b004 add sp, #16 + 2de2: bc1c pop {r2, r3, r4} + 2de4: 4691 mov r9, r2 + 2de6: 469a mov sl, r3 + 2de8: 46a3 mov fp, r4 + 2dea: bdf0 pop {r4, r5, r6, r7, pc} + 2dec: 2500 movs r5, #0 while(parent) { - 2d86: 2e00 cmp r6, #0 - 2d88: d01d beq.n 2dc6 <_lv_obj_get_style_int+0x7e> + 2dee: 2e00 cmp r6, #0 + 2df0: d01d beq.n 2e2e <_lv_obj_get_style_int+0x7e> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2d8a: 0029 movs r1, r5 - 2d8c: 0030 movs r0, r6 - 2d8e: 47d8 blx fp - 2d90: 9000 str r0, [sp, #0] + 2df2: 0029 movs r1, r5 + 2df4: 0030 movs r0, r6 + 2df6: 47d8 blx fp + 2df8: 9000 str r0, [sp, #0] lv_state_t state = lv_obj_get_state(parent, part); - 2d92: 0029 movs r1, r5 - 2d94: 0030 movs r0, r6 - 2d96: 47d0 blx sl + 2dfa: 0029 movs r1, r5 + 2dfc: 0030 movs r0, r6 + 2dfe: 47d0 blx sl prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 2d98: 0204 lsls r4, r0, #8 - 2d9a: 193c adds r4, r7, r4 - 2d9c: b2a4 uxth r4, r4 + 2e00: 0204 lsls r4, r0, #8 + 2e02: 193c adds r4, r7, r4 + 2e04: b2a4 uxth r4, r4 res = _lv_style_list_get_int(dsc, prop, &value_act); - 2d9e: ab02 add r3, sp, #8 - 2da0: 1d9a adds r2, r3, #6 - 2da2: 0021 movs r1, r4 - 2da4: 9800 ldr r0, [sp, #0] - 2da6: 47c8 blx r9 + 2e06: ab02 add r3, sp, #8 + 2e08: 1d9a adds r2, r3, #6 + 2e0a: 0021 movs r1, r4 + 2e0c: 9800 ldr r0, [sp, #0] + 2e0e: 47c8 blx r9 if(res == LV_RES_OK) return value_act; - 2da8: 2801 cmp r0, #1 - 2daa: d0e1 beq.n 2d70 <_lv_obj_get_style_int+0x28> + 2e10: 2801 cmp r0, #1 + 2e12: d0e1 beq.n 2dd8 <_lv_obj_get_style_int+0x28> if(attr.bits.inherit == 0) break; - 2dac: 466b mov r3, sp - 2dae: 791b ldrb r3, [r3, #4] - 2db0: b25b sxtb r3, r3 - 2db2: 2b00 cmp r3, #0 - 2db4: da07 bge.n 2dc6 <_lv_obj_get_style_int+0x7e> + 2e14: 466b mov r3, sp + 2e16: 791b ldrb r3, [r3, #4] + 2e18: b25b sxtb r3, r3 + 2e1a: 2b00 cmp r3, #0 + 2e1c: da07 bge.n 2e2e <_lv_obj_get_style_int+0x7e> if(part != LV_OBJ_PART_MAIN) { - 2db6: 2d00 cmp r5, #0 - 2db8: d1e4 bne.n 2d84 <_lv_obj_get_style_int+0x3c> + 2e1e: 2d00 cmp r5, #0 + 2e20: d1e4 bne.n 2dec <_lv_obj_get_style_int+0x3c> parent = lv_obj_get_parent(parent); - 2dba: 0030 movs r0, r6 - 2dbc: 4b10 ldr r3, [pc, #64] ; (2e00 <_lv_obj_get_style_int+0xb8>) - 2dbe: 4798 blx r3 - 2dc0: 0006 movs r6, r0 - 2dc2: e7df b.n 2d84 <_lv_obj_get_style_int+0x3c> + 2e22: 0030 movs r0, r6 + 2e24: 4b10 ldr r3, [pc, #64] ; (2e68 <_lv_obj_get_style_int+0xb8>) + 2e26: 4798 blx r3 + 2e28: 0006 movs r6, r0 + 2e2a: e7df b.n 2dec <_lv_obj_get_style_int+0x3c> while(parent) { - 2dc4: 0014 movs r4, r2 + 2e2c: 0014 movs r4, r2 switch(prop) { - 2dc6: 4b0f ldr r3, [pc, #60] ; (2e04 <_lv_obj_get_style_int+0xbc>) - 2dc8: 401c ands r4, r3 - 2dca: 2c22 cmp r4, #34 ; 0x22 - 2dcc: d010 beq.n 2df0 <_lv_obj_get_style_int+0xa8> - 2dce: d807 bhi.n 2de0 <_lv_obj_get_style_int+0x98> + 2e2e: 4b0f ldr r3, [pc, #60] ; (2e6c <_lv_obj_get_style_int+0xbc>) + 2e30: 401c ands r4, r3 + 2e32: 2c22 cmp r4, #34 ; 0x22 + 2e34: d010 beq.n 2e58 <_lv_obj_get_style_int+0xa8> + 2e36: d807 bhi.n 2e48 <_lv_obj_get_style_int+0x98> return LV_DPI / 20; - 2dd0: 2006 movs r0, #6 + 2e38: 2006 movs r0, #6 switch(prop) { - 2dd2: 2c03 cmp r4, #3 - 2dd4: d0d0 beq.n 2d78 <_lv_obj_get_style_int+0x30> - 2dd6: 2c07 cmp r4, #7 - 2dd8: d108 bne.n 2dec <_lv_obj_get_style_int+0xa4> + 2e3a: 2c03 cmp r4, #3 + 2e3c: d0d0 beq.n 2de0 <_lv_obj_get_style_int+0x30> + 2e3e: 2c07 cmp r4, #7 + 2e40: d108 bne.n 2e54 <_lv_obj_get_style_int+0xa4> return LV_IMG_ZOOM_NONE; - 2dda: 2080 movs r0, #128 ; 0x80 - 2ddc: 0040 lsls r0, r0, #1 - 2dde: e7cb b.n 2d78 <_lv_obj_get_style_int+0x30> + 2e42: 2080 movs r0, #128 ; 0x80 + 2e44: 0040 lsls r0, r0, #1 + 2e46: e7cb b.n 2de0 <_lv_obj_get_style_int+0x30> return LV_BORDER_SIDE_FULL; - 2de0: 200f movs r0, #15 + 2e48: 200f movs r0, #15 switch(prop) { - 2de2: 2c31 cmp r4, #49 ; 0x31 - 2de4: d0c8 beq.n 2d78 <_lv_obj_get_style_int+0x30> + 2e4a: 2c31 cmp r4, #49 ; 0x31 + 2e4c: d0c8 beq.n 2de0 <_lv_obj_get_style_int+0x30> return LV_DPI / 8; - 2de6: 3001 adds r0, #1 + 2e4e: 3001 adds r0, #1 switch(prop) { - 2de8: 2cc0 cmp r4, #192 ; 0xc0 - 2dea: d0c5 beq.n 2d78 <_lv_obj_get_style_int+0x30> + 2e50: 2cc0 cmp r4, #192 ; 0xc0 + 2e52: d0c5 beq.n 2de0 <_lv_obj_get_style_int+0x30> return 0; - 2dec: 2000 movs r0, #0 - 2dee: e7c3 b.n 2d78 <_lv_obj_get_style_int+0x30> + 2e54: 2000 movs r0, #0 + 2e56: e7c3 b.n 2de0 <_lv_obj_get_style_int+0x30> return 255; - 2df0: 20ff movs r0, #255 ; 0xff - 2df2: e7c1 b.n 2d78 <_lv_obj_get_style_int+0x30> - 2df4: 00001c91 .word 0x00001c91 - 2df8: 00002cf9 .word 0x00002cf9 - 2dfc: 00005779 .word 0x00005779 - 2e00: 00001a39 .word 0x00001a39 - 2e04: ffff80ff .word 0xffff80ff - -00002e08 <_lv_obj_get_style_color>: -{ - 2e08: b5f0 push {r4, r5, r6, r7, lr} - 2e0a: 46de mov lr, fp - 2e0c: 4657 mov r7, sl - 2e0e: 464e mov r6, r9 - 2e10: b5c0 push {r6, r7, lr} - 2e12: b084 sub sp, #16 - 2e14: 0006 movs r6, r0 - 2e16: 000d movs r5, r1 - 2e18: 0017 movs r7, r2 + 2e58: 20ff movs r0, #255 ; 0xff + 2e5a: e7c1 b.n 2de0 <_lv_obj_get_style_int+0x30> + 2e5c: 00001cf9 .word 0x00001cf9 + 2e60: 00002d61 .word 0x00002d61 + 2e64: 000057e1 .word 0x000057e1 + 2e68: 00001aa1 .word 0x00001aa1 + 2e6c: ffff80ff .word 0xffff80ff + +00002e70 <_lv_obj_get_style_color>: +{ + 2e70: b5f0 push {r4, r5, r6, r7, lr} + 2e72: 46de mov lr, fp + 2e74: 4657 mov r7, sl + 2e76: 464e mov r6, r9 + 2e78: b5c0 push {r6, r7, lr} + 2e7a: b084 sub sp, #16 + 2e7c: 0006 movs r6, r0 + 2e7e: 000d movs r5, r1 + 2e80: 0017 movs r7, r2 attr.full = prop_ori >> 8; - 2e1a: 0a13 lsrs r3, r2, #8 - 2e1c: 9301 str r3, [sp, #4] + 2e82: 0a13 lsrs r3, r2, #8 + 2e84: 9301 str r3, [sp, #4] while(parent) { - 2e1e: 2800 cmp r0, #0 - 2e20: d028 beq.n 2e74 <_lv_obj_get_style_color+0x6c> + 2e86: 2800 cmp r0, #0 + 2e88: d028 beq.n 2edc <_lv_obj_get_style_color+0x6c> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2e22: 4b1c ldr r3, [pc, #112] ; (2e94 <_lv_obj_get_style_color+0x8c>) - 2e24: 469b mov fp, r3 + 2e8a: 4b1c ldr r3, [pc, #112] ; (2efc <_lv_obj_get_style_color+0x8c>) + 2e8c: 469b mov fp, r3 lv_state_t state = lv_obj_get_state(parent, part); - 2e26: 4b1c ldr r3, [pc, #112] ; (2e98 <_lv_obj_get_style_color+0x90>) - 2e28: 469a mov sl, r3 + 2e8e: 4b1c ldr r3, [pc, #112] ; (2f00 <_lv_obj_get_style_color+0x90>) + 2e90: 469a mov sl, r3 res = _lv_style_list_get_color(dsc, prop, &value_act); - 2e2a: 4b1c ldr r3, [pc, #112] ; (2e9c <_lv_obj_get_style_color+0x94>) - 2e2c: 4699 mov r9, r3 - 2e2e: e005 b.n 2e3c <_lv_obj_get_style_color+0x34> + 2e92: 4b1c ldr r3, [pc, #112] ; (2f04 <_lv_obj_get_style_color+0x94>) + 2e94: 4699 mov r9, r3 + 2e96: e005 b.n 2ea4 <_lv_obj_get_style_color+0x34> if(res == LV_RES_OK) return value_act; - 2e30: ab03 add r3, sp, #12 - 2e32: 8818 ldrh r0, [r3, #0] - 2e34: e025 b.n 2e82 <_lv_obj_get_style_color+0x7a> - 2e36: 2500 movs r5, #0 + 2e98: ab03 add r3, sp, #12 + 2e9a: 8818 ldrh r0, [r3, #0] + 2e9c: e025 b.n 2eea <_lv_obj_get_style_color+0x7a> + 2e9e: 2500 movs r5, #0 while(parent) { - 2e38: 2e00 cmp r6, #0 - 2e3a: d01c beq.n 2e76 <_lv_obj_get_style_color+0x6e> + 2ea0: 2e00 cmp r6, #0 + 2ea2: d01c beq.n 2ede <_lv_obj_get_style_color+0x6e> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2e3c: 0029 movs r1, r5 - 2e3e: 0030 movs r0, r6 - 2e40: 47d8 blx fp - 2e42: 9000 str r0, [sp, #0] + 2ea4: 0029 movs r1, r5 + 2ea6: 0030 movs r0, r6 + 2ea8: 47d8 blx fp + 2eaa: 9000 str r0, [sp, #0] lv_state_t state = lv_obj_get_state(parent, part); - 2e44: 0029 movs r1, r5 - 2e46: 0030 movs r0, r6 - 2e48: 47d0 blx sl + 2eac: 0029 movs r1, r5 + 2eae: 0030 movs r0, r6 + 2eb0: 47d0 blx sl prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 2e4a: 0204 lsls r4, r0, #8 - 2e4c: 193c adds r4, r7, r4 - 2e4e: b2a4 uxth r4, r4 + 2eb2: 0204 lsls r4, r0, #8 + 2eb4: 193c adds r4, r7, r4 + 2eb6: b2a4 uxth r4, r4 res = _lv_style_list_get_color(dsc, prop, &value_act); - 2e50: aa03 add r2, sp, #12 - 2e52: 0021 movs r1, r4 - 2e54: 9800 ldr r0, [sp, #0] - 2e56: 47c8 blx r9 + 2eb8: aa03 add r2, sp, #12 + 2eba: 0021 movs r1, r4 + 2ebc: 9800 ldr r0, [sp, #0] + 2ebe: 47c8 blx r9 if(res == LV_RES_OK) return value_act; - 2e58: 2801 cmp r0, #1 - 2e5a: d0e9 beq.n 2e30 <_lv_obj_get_style_color+0x28> + 2ec0: 2801 cmp r0, #1 + 2ec2: d0e9 beq.n 2e98 <_lv_obj_get_style_color+0x28> if(attr.bits.inherit == 0) break; - 2e5c: 466b mov r3, sp - 2e5e: 791b ldrb r3, [r3, #4] - 2e60: b25b sxtb r3, r3 - 2e62: 2b00 cmp r3, #0 - 2e64: da07 bge.n 2e76 <_lv_obj_get_style_color+0x6e> + 2ec4: 466b mov r3, sp + 2ec6: 791b ldrb r3, [r3, #4] + 2ec8: b25b sxtb r3, r3 + 2eca: 2b00 cmp r3, #0 + 2ecc: da07 bge.n 2ede <_lv_obj_get_style_color+0x6e> if(part != LV_OBJ_PART_MAIN) { - 2e66: 2d00 cmp r5, #0 - 2e68: d1e5 bne.n 2e36 <_lv_obj_get_style_color+0x2e> + 2ece: 2d00 cmp r5, #0 + 2ed0: d1e5 bne.n 2e9e <_lv_obj_get_style_color+0x2e> parent = lv_obj_get_parent(parent); - 2e6a: 0030 movs r0, r6 - 2e6c: 4b0c ldr r3, [pc, #48] ; (2ea0 <_lv_obj_get_style_color+0x98>) - 2e6e: 4798 blx r3 - 2e70: 0006 movs r6, r0 - 2e72: e7e0 b.n 2e36 <_lv_obj_get_style_color+0x2e> + 2ed2: 0030 movs r0, r6 + 2ed4: 4b0c ldr r3, [pc, #48] ; (2f08 <_lv_obj_get_style_color+0x98>) + 2ed6: 4798 blx r3 + 2ed8: 0006 movs r6, r0 + 2eda: e7e0 b.n 2e9e <_lv_obj_get_style_color+0x2e> while(parent) { - 2e74: 0014 movs r4, r2 + 2edc: 0014 movs r4, r2 switch(prop) { - 2e76: 4b0b ldr r3, [pc, #44] ; (2ea4 <_lv_obj_get_style_color+0x9c>) - 2e78: 401c ands r4, r3 - 2e7a: 3c29 subs r4, #41 ; 0x29 + 2ede: 4b0b ldr r3, [pc, #44] ; (2f0c <_lv_obj_get_style_color+0x9c>) + 2ee0: 401c ands r4, r3 + 2ee2: 3c29 subs r4, #41 ; 0x29 return LV_COLOR_BLACK; - 2e7c: 2000 movs r0, #0 + 2ee4: 2000 movs r0, #0 switch(prop) { - 2e7e: 2c01 cmp r4, #1 - 2e80: d905 bls.n 2e8e <_lv_obj_get_style_color+0x86> -} - 2e82: b004 add sp, #16 - 2e84: bc1c pop {r2, r3, r4} - 2e86: 4691 mov r9, r2 - 2e88: 469a mov sl, r3 - 2e8a: 46a3 mov fp, r4 - 2e8c: bdf0 pop {r4, r5, r6, r7, pc} + 2ee6: 2c01 cmp r4, #1 + 2ee8: d905 bls.n 2ef6 <_lv_obj_get_style_color+0x86> +} + 2eea: b004 add sp, #16 + 2eec: bc1c pop {r2, r3, r4} + 2eee: 4691 mov r9, r2 + 2ef0: 469a mov sl, r3 + 2ef2: 46a3 mov fp, r4 + 2ef4: bdf0 pop {r4, r5, r6, r7, pc} return LV_COLOR_WHITE; - 2e8e: 4b06 ldr r3, [pc, #24] ; (2ea8 <_lv_obj_get_style_color+0xa0>) - 2e90: 8818 ldrh r0, [r3, #0] - 2e92: e7f6 b.n 2e82 <_lv_obj_get_style_color+0x7a> - 2e94: 00001c91 .word 0x00001c91 - 2e98: 00002cf9 .word 0x00002cf9 - 2e9c: 0000584d .word 0x0000584d - 2ea0: 00001a39 .word 0x00001a39 - 2ea4: ffff80ff .word 0xffff80ff - 2ea8: 00018868 .word 0x00018868 - -00002eac <_lv_obj_get_style_opa>: -{ - 2eac: b5f0 push {r4, r5, r6, r7, lr} - 2eae: 46de mov lr, fp - 2eb0: 4657 mov r7, sl - 2eb2: 464e mov r6, r9 - 2eb4: b5c0 push {r6, r7, lr} - 2eb6: b084 sub sp, #16 - 2eb8: 0006 movs r6, r0 - 2eba: 000d movs r5, r1 - 2ebc: 0017 movs r7, r2 + 2ef6: 4b06 ldr r3, [pc, #24] ; (2f10 <_lv_obj_get_style_color+0xa0>) + 2ef8: 8818 ldrh r0, [r3, #0] + 2efa: e7f6 b.n 2eea <_lv_obj_get_style_color+0x7a> + 2efc: 00001cf9 .word 0x00001cf9 + 2f00: 00002d61 .word 0x00002d61 + 2f04: 000058b5 .word 0x000058b5 + 2f08: 00001aa1 .word 0x00001aa1 + 2f0c: ffff80ff .word 0xffff80ff + 2f10: 000188f8 .word 0x000188f8 + +00002f14 <_lv_obj_get_style_opa>: +{ + 2f14: b5f0 push {r4, r5, r6, r7, lr} + 2f16: 46de mov lr, fp + 2f18: 4657 mov r7, sl + 2f1a: 464e mov r6, r9 + 2f1c: b5c0 push {r6, r7, lr} + 2f1e: b084 sub sp, #16 + 2f20: 0006 movs r6, r0 + 2f22: 000d movs r5, r1 + 2f24: 0017 movs r7, r2 attr.full = prop_ori >> 8; - 2ebe: 0a13 lsrs r3, r2, #8 - 2ec0: 9301 str r3, [sp, #4] + 2f26: 0a13 lsrs r3, r2, #8 + 2f28: 9301 str r3, [sp, #4] while(parent) { - 2ec2: 2800 cmp r0, #0 - 2ec4: d029 beq.n 2f1a <_lv_obj_get_style_opa+0x6e> + 2f2a: 2800 cmp r0, #0 + 2f2c: d029 beq.n 2f82 <_lv_obj_get_style_opa+0x6e> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2ec6: 4b1e ldr r3, [pc, #120] ; (2f40 <_lv_obj_get_style_opa+0x94>) - 2ec8: 469b mov fp, r3 + 2f2e: 4b1e ldr r3, [pc, #120] ; (2fa8 <_lv_obj_get_style_opa+0x94>) + 2f30: 469b mov fp, r3 lv_state_t state = lv_obj_get_state(parent, part); - 2eca: 4b1e ldr r3, [pc, #120] ; (2f44 <_lv_obj_get_style_opa+0x98>) - 2ecc: 469a mov sl, r3 + 2f32: 4b1e ldr r3, [pc, #120] ; (2fac <_lv_obj_get_style_opa+0x98>) + 2f34: 469a mov sl, r3 res = _lv_style_list_get_opa(dsc, prop, &value_act); - 2ece: 4b1e ldr r3, [pc, #120] ; (2f48 <_lv_obj_get_style_opa+0x9c>) - 2ed0: 4699 mov r9, r3 - 2ed2: e005 b.n 2ee0 <_lv_obj_get_style_opa+0x34> + 2f36: 4b1e ldr r3, [pc, #120] ; (2fb0 <_lv_obj_get_style_opa+0x9c>) + 2f38: 4699 mov r9, r3 + 2f3a: e005 b.n 2f48 <_lv_obj_get_style_opa+0x34> if(res == LV_RES_OK) return value_act; - 2ed4: ab02 add r3, sp, #8 - 2ed6: 79d8 ldrb r0, [r3, #7] - 2ed8: e02a b.n 2f30 <_lv_obj_get_style_opa+0x84> - 2eda: 2500 movs r5, #0 + 2f3c: ab02 add r3, sp, #8 + 2f3e: 79d8 ldrb r0, [r3, #7] + 2f40: e02a b.n 2f98 <_lv_obj_get_style_opa+0x84> + 2f42: 2500 movs r5, #0 while(parent) { - 2edc: 2e00 cmp r6, #0 - 2ede: d01d beq.n 2f1c <_lv_obj_get_style_opa+0x70> + 2f44: 2e00 cmp r6, #0 + 2f46: d01d beq.n 2f84 <_lv_obj_get_style_opa+0x70> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2ee0: 0029 movs r1, r5 - 2ee2: 0030 movs r0, r6 - 2ee4: 47d8 blx fp - 2ee6: 9000 str r0, [sp, #0] + 2f48: 0029 movs r1, r5 + 2f4a: 0030 movs r0, r6 + 2f4c: 47d8 blx fp + 2f4e: 9000 str r0, [sp, #0] lv_state_t state = lv_obj_get_state(parent, part); - 2ee8: 0029 movs r1, r5 - 2eea: 0030 movs r0, r6 - 2eec: 47d0 blx sl + 2f50: 0029 movs r1, r5 + 2f52: 0030 movs r0, r6 + 2f54: 47d0 blx sl prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 2eee: 0204 lsls r4, r0, #8 - 2ef0: 193c adds r4, r7, r4 - 2ef2: b2a4 uxth r4, r4 + 2f56: 0204 lsls r4, r0, #8 + 2f58: 193c adds r4, r7, r4 + 2f5a: b2a4 uxth r4, r4 res = _lv_style_list_get_opa(dsc, prop, &value_act); - 2ef4: ab02 add r3, sp, #8 - 2ef6: 1dda adds r2, r3, #7 - 2ef8: 0021 movs r1, r4 - 2efa: 9800 ldr r0, [sp, #0] - 2efc: 47c8 blx r9 + 2f5c: ab02 add r3, sp, #8 + 2f5e: 1dda adds r2, r3, #7 + 2f60: 0021 movs r1, r4 + 2f62: 9800 ldr r0, [sp, #0] + 2f64: 47c8 blx r9 if(res == LV_RES_OK) return value_act; - 2efe: 2801 cmp r0, #1 - 2f00: d0e8 beq.n 2ed4 <_lv_obj_get_style_opa+0x28> + 2f66: 2801 cmp r0, #1 + 2f68: d0e8 beq.n 2f3c <_lv_obj_get_style_opa+0x28> if(attr.bits.inherit == 0) break; - 2f02: 466b mov r3, sp - 2f04: 791b ldrb r3, [r3, #4] - 2f06: b25b sxtb r3, r3 - 2f08: 2b00 cmp r3, #0 - 2f0a: da07 bge.n 2f1c <_lv_obj_get_style_opa+0x70> + 2f6a: 466b mov r3, sp + 2f6c: 791b ldrb r3, [r3, #4] + 2f6e: b25b sxtb r3, r3 + 2f70: 2b00 cmp r3, #0 + 2f72: da07 bge.n 2f84 <_lv_obj_get_style_opa+0x70> if(part != LV_OBJ_PART_MAIN) { - 2f0c: 2d00 cmp r5, #0 - 2f0e: d1e4 bne.n 2eda <_lv_obj_get_style_opa+0x2e> + 2f74: 2d00 cmp r5, #0 + 2f76: d1e4 bne.n 2f42 <_lv_obj_get_style_opa+0x2e> parent = lv_obj_get_parent(parent); - 2f10: 0030 movs r0, r6 - 2f12: 4b0e ldr r3, [pc, #56] ; (2f4c <_lv_obj_get_style_opa+0xa0>) - 2f14: 4798 blx r3 - 2f16: 0006 movs r6, r0 - 2f18: e7df b.n 2eda <_lv_obj_get_style_opa+0x2e> + 2f78: 0030 movs r0, r6 + 2f7a: 4b0e ldr r3, [pc, #56] ; (2fb4 <_lv_obj_get_style_opa+0xa0>) + 2f7c: 4798 blx r3 + 2f7e: 0006 movs r6, r0 + 2f80: e7df b.n 2f42 <_lv_obj_get_style_opa+0x2e> while(parent) { - 2f1a: 0014 movs r4, r2 + 2f82: 0014 movs r4, r2 switch(prop) { - 2f1c: 4b0c ldr r3, [pc, #48] ; (2f50 <_lv_obj_get_style_opa+0xa4>) - 2f1e: 401c ands r4, r3 - 2f20: 2c6d cmp r4, #109 ; 0x6d - 2f22: d00b beq.n 2f3c <_lv_obj_get_style_opa+0x90> - 2f24: 4b0b ldr r3, [pc, #44] ; (2f54 <_lv_obj_get_style_opa+0xa8>) - 2f26: 429c cmp r4, r3 - 2f28: d008 beq.n 2f3c <_lv_obj_get_style_opa+0x90> - 2f2a: 2c2c cmp r4, #44 ; 0x2c - 2f2c: d006 beq.n 2f3c <_lv_obj_get_style_opa+0x90> + 2f84: 4b0c ldr r3, [pc, #48] ; (2fb8 <_lv_obj_get_style_opa+0xa4>) + 2f86: 401c ands r4, r3 + 2f88: 2c6d cmp r4, #109 ; 0x6d + 2f8a: d00b beq.n 2fa4 <_lv_obj_get_style_opa+0x90> + 2f8c: 4b0b ldr r3, [pc, #44] ; (2fbc <_lv_obj_get_style_opa+0xa8>) + 2f8e: 429c cmp r4, r3 + 2f90: d008 beq.n 2fa4 <_lv_obj_get_style_opa+0x90> + 2f92: 2c2c cmp r4, #44 ; 0x2c + 2f94: d006 beq.n 2fa4 <_lv_obj_get_style_opa+0x90> return LV_OPA_COVER; - 2f2e: 20ff movs r0, #255 ; 0xff -} - 2f30: b004 add sp, #16 - 2f32: bc1c pop {r2, r3, r4} - 2f34: 4691 mov r9, r2 - 2f36: 469a mov sl, r3 - 2f38: 46a3 mov fp, r4 - 2f3a: bdf0 pop {r4, r5, r6, r7, pc} + 2f96: 20ff movs r0, #255 ; 0xff +} + 2f98: b004 add sp, #16 + 2f9a: bc1c pop {r2, r3, r4} + 2f9c: 4691 mov r9, r2 + 2f9e: 469a mov sl, r3 + 2fa0: 46a3 mov fp, r4 + 2fa2: bdf0 pop {r4, r5, r6, r7, pc} return LV_OPA_TRANSP; - 2f3c: 2000 movs r0, #0 - 2f3e: e7f7 b.n 2f30 <_lv_obj_get_style_opa+0x84> - 2f40: 00001c91 .word 0x00001c91 - 2f44: 00002cf9 .word 0x00002cf9 - 2f48: 00005919 .word 0x00005919 - 2f4c: 00001a39 .word 0x00001a39 - 2f50: ffff80ff .word 0xffff80ff - 2f54: 000080ad .word 0x000080ad - -00002f58 <_lv_obj_get_style_ptr>: -{ - 2f58: b5f0 push {r4, r5, r6, r7, lr} - 2f5a: 46de mov lr, fp - 2f5c: 4657 mov r7, sl - 2f5e: 464e mov r6, r9 - 2f60: b5c0 push {r6, r7, lr} - 2f62: b084 sub sp, #16 - 2f64: 0006 movs r6, r0 - 2f66: 000d movs r5, r1 - 2f68: 0017 movs r7, r2 + 2fa4: 2000 movs r0, #0 + 2fa6: e7f7 b.n 2f98 <_lv_obj_get_style_opa+0x84> + 2fa8: 00001cf9 .word 0x00001cf9 + 2fac: 00002d61 .word 0x00002d61 + 2fb0: 00005981 .word 0x00005981 + 2fb4: 00001aa1 .word 0x00001aa1 + 2fb8: ffff80ff .word 0xffff80ff + 2fbc: 000080ad .word 0x000080ad + +00002fc0 <_lv_obj_get_style_ptr>: +{ + 2fc0: b5f0 push {r4, r5, r6, r7, lr} + 2fc2: 46de mov lr, fp + 2fc4: 4657 mov r7, sl + 2fc6: 464e mov r6, r9 + 2fc8: b5c0 push {r6, r7, lr} + 2fca: b084 sub sp, #16 + 2fcc: 0006 movs r6, r0 + 2fce: 000d movs r5, r1 + 2fd0: 0017 movs r7, r2 attr.full = prop_ori >> 8; - 2f6a: 0a13 lsrs r3, r2, #8 - 2f6c: 9301 str r3, [sp, #4] + 2fd2: 0a13 lsrs r3, r2, #8 + 2fd4: 9301 str r3, [sp, #4] while(parent) { - 2f6e: 2800 cmp r0, #0 - 2f70: d02c beq.n 2fcc <_lv_obj_get_style_ptr+0x74> + 2fd6: 2800 cmp r0, #0 + 2fd8: d02c beq.n 3034 <_lv_obj_get_style_ptr+0x74> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2f72: 4b1f ldr r3, [pc, #124] ; (2ff0 <_lv_obj_get_style_ptr+0x98>) - 2f74: 469b mov fp, r3 + 2fda: 4b1f ldr r3, [pc, #124] ; (3058 <_lv_obj_get_style_ptr+0x98>) + 2fdc: 469b mov fp, r3 lv_state_t state = lv_obj_get_state(parent, part); - 2f76: 4b1f ldr r3, [pc, #124] ; (2ff4 <_lv_obj_get_style_ptr+0x9c>) - 2f78: 469a mov sl, r3 + 2fde: 4b1f ldr r3, [pc, #124] ; (305c <_lv_obj_get_style_ptr+0x9c>) + 2fe0: 469a mov sl, r3 res = _lv_style_list_get_ptr(dsc, prop, &value_act); - 2f7a: 4b1f ldr r3, [pc, #124] ; (2ff8 <_lv_obj_get_style_ptr+0xa0>) - 2f7c: 4699 mov r9, r3 - 2f7e: e009 b.n 2f94 <_lv_obj_get_style_ptr+0x3c> + 2fe2: 4b1f ldr r3, [pc, #124] ; (3060 <_lv_obj_get_style_ptr+0xa0>) + 2fe4: 4699 mov r9, r3 + 2fe6: e009 b.n 2ffc <_lv_obj_get_style_ptr+0x3c> if(res == LV_RES_OK) return value_act; - 2f80: 9803 ldr r0, [sp, #12] -} - 2f82: b004 add sp, #16 - 2f84: bc1c pop {r2, r3, r4} - 2f86: 4691 mov r9, r2 - 2f88: 469a mov sl, r3 - 2f8a: 46a3 mov fp, r4 - 2f8c: bdf0 pop {r4, r5, r6, r7, pc} - 2f8e: 2500 movs r5, #0 + 2fe8: 9803 ldr r0, [sp, #12] +} + 2fea: b004 add sp, #16 + 2fec: bc1c pop {r2, r3, r4} + 2fee: 4691 mov r9, r2 + 2ff0: 469a mov sl, r3 + 2ff2: 46a3 mov fp, r4 + 2ff4: bdf0 pop {r4, r5, r6, r7, pc} + 2ff6: 2500 movs r5, #0 while(parent) { - 2f90: 2e00 cmp r6, #0 - 2f92: d01c beq.n 2fce <_lv_obj_get_style_ptr+0x76> + 2ff8: 2e00 cmp r6, #0 + 2ffa: d01c beq.n 3036 <_lv_obj_get_style_ptr+0x76> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 2f94: 0029 movs r1, r5 - 2f96: 0030 movs r0, r6 - 2f98: 47d8 blx fp - 2f9a: 9000 str r0, [sp, #0] + 2ffc: 0029 movs r1, r5 + 2ffe: 0030 movs r0, r6 + 3000: 47d8 blx fp + 3002: 9000 str r0, [sp, #0] lv_state_t state = lv_obj_get_state(parent, part); - 2f9c: 0029 movs r1, r5 - 2f9e: 0030 movs r0, r6 - 2fa0: 47d0 blx sl + 3004: 0029 movs r1, r5 + 3006: 0030 movs r0, r6 + 3008: 47d0 blx sl prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 2fa2: 0204 lsls r4, r0, #8 - 2fa4: 193c adds r4, r7, r4 - 2fa6: b2a4 uxth r4, r4 + 300a: 0204 lsls r4, r0, #8 + 300c: 193c adds r4, r7, r4 + 300e: b2a4 uxth r4, r4 res = _lv_style_list_get_ptr(dsc, prop, &value_act); - 2fa8: aa03 add r2, sp, #12 - 2faa: 0021 movs r1, r4 - 2fac: 9800 ldr r0, [sp, #0] - 2fae: 47c8 blx r9 + 3010: aa03 add r2, sp, #12 + 3012: 0021 movs r1, r4 + 3014: 9800 ldr r0, [sp, #0] + 3016: 47c8 blx r9 if(res == LV_RES_OK) return value_act; - 2fb0: 2801 cmp r0, #1 - 2fb2: d0e5 beq.n 2f80 <_lv_obj_get_style_ptr+0x28> + 3018: 2801 cmp r0, #1 + 301a: d0e5 beq.n 2fe8 <_lv_obj_get_style_ptr+0x28> if(attr.bits.inherit == 0) break; - 2fb4: 466b mov r3, sp - 2fb6: 791b ldrb r3, [r3, #4] - 2fb8: b25b sxtb r3, r3 - 2fba: 2b00 cmp r3, #0 - 2fbc: da07 bge.n 2fce <_lv_obj_get_style_ptr+0x76> + 301c: 466b mov r3, sp + 301e: 791b ldrb r3, [r3, #4] + 3020: b25b sxtb r3, r3 + 3022: 2b00 cmp r3, #0 + 3024: da07 bge.n 3036 <_lv_obj_get_style_ptr+0x76> if(part != LV_OBJ_PART_MAIN) { - 2fbe: 2d00 cmp r5, #0 - 2fc0: d1e5 bne.n 2f8e <_lv_obj_get_style_ptr+0x36> + 3026: 2d00 cmp r5, #0 + 3028: d1e5 bne.n 2ff6 <_lv_obj_get_style_ptr+0x36> parent = lv_obj_get_parent(parent); - 2fc2: 0030 movs r0, r6 - 2fc4: 4b0d ldr r3, [pc, #52] ; (2ffc <_lv_obj_get_style_ptr+0xa4>) - 2fc6: 4798 blx r3 - 2fc8: 0006 movs r6, r0 - 2fca: e7e0 b.n 2f8e <_lv_obj_get_style_ptr+0x36> + 302a: 0030 movs r0, r6 + 302c: 4b0d ldr r3, [pc, #52] ; (3064 <_lv_obj_get_style_ptr+0xa4>) + 302e: 4798 blx r3 + 3030: 0006 movs r6, r0 + 3032: e7e0 b.n 2ff6 <_lv_obj_get_style_ptr+0x36> while(parent) { - 2fcc: 0014 movs r4, r2 + 3034: 0014 movs r4, r2 switch(prop) { - 2fce: 4b0c ldr r3, [pc, #48] ; (3000 <_lv_obj_get_style_ptr+0xa8>) - 2fd0: 401c ands r4, r3 - 2fd2: 2cbe cmp r4, #190 ; 0xbe - 2fd4: d009 beq.n 2fea <_lv_obj_get_style_ptr+0x92> - 2fd6: 4b0b ldr r3, [pc, #44] ; (3004 <_lv_obj_get_style_ptr+0xac>) - 2fd8: 429c cmp r4, r3 - 2fda: d003 beq.n 2fe4 <_lv_obj_get_style_ptr+0x8c> - 2fdc: 2c7e cmp r4, #126 ; 0x7e - 2fde: d001 beq.n 2fe4 <_lv_obj_get_style_ptr+0x8c> + 3036: 4b0c ldr r3, [pc, #48] ; (3068 <_lv_obj_get_style_ptr+0xa8>) + 3038: 401c ands r4, r3 + 303a: 2cbe cmp r4, #190 ; 0xbe + 303c: d009 beq.n 3052 <_lv_obj_get_style_ptr+0x92> + 303e: 4b0b ldr r3, [pc, #44] ; (306c <_lv_obj_get_style_ptr+0xac>) + 3040: 429c cmp r4, r3 + 3042: d003 beq.n 304c <_lv_obj_get_style_ptr+0x8c> + 3044: 2c7e cmp r4, #126 ; 0x7e + 3046: d001 beq.n 304c <_lv_obj_get_style_ptr+0x8c> return NULL; - 2fe0: 2000 movs r0, #0 - 2fe2: e7ce b.n 2f82 <_lv_obj_get_style_ptr+0x2a> + 3048: 2000 movs r0, #0 + 304a: e7ce b.n 2fea <_lv_obj_get_style_ptr+0x2a> return lv_theme_get_font_normal(); - 2fe4: 4b08 ldr r3, [pc, #32] ; (3008 <_lv_obj_get_style_ptr+0xb0>) - 2fe6: 4798 blx r3 - 2fe8: e7cb b.n 2f82 <_lv_obj_get_style_ptr+0x2a> + 304c: 4b08 ldr r3, [pc, #32] ; (3070 <_lv_obj_get_style_ptr+0xb0>) + 304e: 4798 blx r3 + 3050: e7cb b.n 2fea <_lv_obj_get_style_ptr+0x2a> return &lv_anim_path_def; - 2fea: 4808 ldr r0, [pc, #32] ; (300c <_lv_obj_get_style_ptr+0xb4>) - 2fec: e7c9 b.n 2f82 <_lv_obj_get_style_ptr+0x2a> - 2fee: 46c0 nop ; (mov r8, r8) - 2ff0: 00001c91 .word 0x00001c91 - 2ff4: 00002cf9 .word 0x00002cf9 - 2ff8: 000059ed .word 0x000059ed - 2ffc: 00001a39 .word 0x00001a39 - 3000: ffff80ff .word 0xffff80ff - 3004: 0000808e .word 0x0000808e - 3008: 00011bf5 .word 0x00011bf5 - 300c: 0001c848 .word 0x0001c848 - -00003010 : -{ - 3010: b570 push {r4, r5, r6, lr} + 3052: 4808 ldr r0, [pc, #32] ; (3074 <_lv_obj_get_style_ptr+0xb4>) + 3054: e7c9 b.n 2fea <_lv_obj_get_style_ptr+0x2a> + 3056: 46c0 nop ; (mov r8, r8) + 3058: 00001cf9 .word 0x00001cf9 + 305c: 00002d61 .word 0x00002d61 + 3060: 00005a55 .word 0x00005a55 + 3064: 00001aa1 .word 0x00001aa1 + 3068: ffff80ff .word 0xffff80ff + 306c: 0000808e .word 0x0000808e + 3070: 00011c5d .word 0x00011c5d + 3074: 0001c8d8 .word 0x0001c8d8 + +00003078 : +{ + 3078: b570 push {r4, r5, r6, lr} lv_style_trans_t * tr = a->var; - 3012: 6804 ldr r4, [r0, #0] + 307a: 6804 ldr r4, [r0, #0] lv_style_property_t prop_tmp = tr->prop; - 3014: 88a5 ldrh r5, [r4, #4] + 307c: 88a5 ldrh r5, [r4, #4] if((prop_tmp & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/ - 3016: 230f movs r3, #15 - 3018: 402b ands r3, r5 - 301a: 2b08 cmp r3, #8 - 301c: dd13 ble.n 3046 + 307e: 230f movs r3, #15 + 3080: 402b ands r3, r5 + 3082: 2b08 cmp r3, #8 + 3084: dd13 ble.n 30ae else if((prop_tmp & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 301e: 2b0b cmp r3, #11 - 3020: dd18 ble.n 3054 + 3086: 2b0b cmp r3, #11 + 3088: dd18 ble.n 30bc else if((prop_tmp & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 3022: 2b0d cmp r3, #13 - 3024: dd1d ble.n 3062 + 308a: 2b0d cmp r3, #13 + 308c: dd1d ble.n 30ca tr->start_value._ptr = _lv_obj_get_style_ptr(tr->obj, tr->part, prop_tmp); - 3026: 79a1 ldrb r1, [r4, #6] - 3028: 002a movs r2, r5 - 302a: 6820 ldr r0, [r4, #0] - 302c: 4b10 ldr r3, [pc, #64] ; (3070 ) - 302e: 4798 blx r3 - 3030: 60a0 str r0, [r4, #8] + 308e: 79a1 ldrb r1, [r4, #6] + 3090: 002a movs r2, r5 + 3092: 6820 ldr r0, [r4, #0] + 3094: 4b10 ldr r3, [pc, #64] ; (30d8 ) + 3096: 4798 blx r3 + 3098: 60a0 str r0, [r4, #8] tr->prop = 0; - 3032: 2300 movs r3, #0 - 3034: 80a3 strh r3, [r4, #4] + 309a: 2300 movs r3, #0 + 309c: 80a3 strh r3, [r4, #4] trans_del(tr->obj, tr->part, prop_tmp, tr); - 3036: 79a1 ldrb r1, [r4, #6] - 3038: 0023 movs r3, r4 - 303a: 002a movs r2, r5 - 303c: 6820 ldr r0, [r4, #0] - 303e: 4e0d ldr r6, [pc, #52] ; (3074 ) - 3040: 47b0 blx r6 + 309e: 79a1 ldrb r1, [r4, #6] + 30a0: 0023 movs r3, r4 + 30a2: 002a movs r2, r5 + 30a4: 6820 ldr r0, [r4, #0] + 30a6: 4e0d ldr r6, [pc, #52] ; (30dc ) + 30a8: 47b0 blx r6 tr->prop = prop_tmp; - 3042: 80a5 strh r5, [r4, #4] + 30aa: 80a5 strh r5, [r4, #4] } - 3044: bd70 pop {r4, r5, r6, pc} + 30ac: bd70 pop {r4, r5, r6, pc} tr->start_value._int = _lv_obj_get_style_int(tr->obj, tr->part, prop_tmp); - 3046: 79a1 ldrb r1, [r4, #6] - 3048: 002a movs r2, r5 - 304a: 6820 ldr r0, [r4, #0] - 304c: 4b0a ldr r3, [pc, #40] ; (3078 ) - 304e: 4798 blx r3 - 3050: 8120 strh r0, [r4, #8] - 3052: e7ee b.n 3032 + 30ae: 79a1 ldrb r1, [r4, #6] + 30b0: 002a movs r2, r5 + 30b2: 6820 ldr r0, [r4, #0] + 30b4: 4b0a ldr r3, [pc, #40] ; (30e0 ) + 30b6: 4798 blx r3 + 30b8: 8120 strh r0, [r4, #8] + 30ba: e7ee b.n 309a tr->start_value._color = _lv_obj_get_style_color(tr->obj, tr->part, prop_tmp); - 3054: 79a1 ldrb r1, [r4, #6] - 3056: 002a movs r2, r5 - 3058: 6820 ldr r0, [r4, #0] - 305a: 4b08 ldr r3, [pc, #32] ; (307c ) - 305c: 4798 blx r3 - 305e: 8120 strh r0, [r4, #8] - 3060: e7e7 b.n 3032 + 30bc: 79a1 ldrb r1, [r4, #6] + 30be: 002a movs r2, r5 + 30c0: 6820 ldr r0, [r4, #0] + 30c2: 4b08 ldr r3, [pc, #32] ; (30e4 ) + 30c4: 4798 blx r3 + 30c6: 8120 strh r0, [r4, #8] + 30c8: e7e7 b.n 309a tr->start_value._opa = _lv_obj_get_style_opa(tr->obj, tr->part, prop_tmp); - 3062: 79a1 ldrb r1, [r4, #6] - 3064: 002a movs r2, r5 - 3066: 6820 ldr r0, [r4, #0] - 3068: 4b05 ldr r3, [pc, #20] ; (3080 ) - 306a: 4798 blx r3 - 306c: 7220 strb r0, [r4, #8] - 306e: e7e0 b.n 3032 - 3070: 00002f59 .word 0x00002f59 - 3074: 00001cc1 .word 0x00001cc1 - 3078: 00002d49 .word 0x00002d49 - 307c: 00002e09 .word 0x00002e09 - 3080: 00002ead .word 0x00002ead - -00003084 : -{ - 3084: b5f0 push {r4, r5, r6, r7, lr} - 3086: 46de mov lr, fp - 3088: 4657 mov r7, sl - 308a: 464e mov r6, r9 - 308c: 4645 mov r5, r8 - 308e: b5e0 push {r5, r6, r7, lr} - 3090: b09d sub sp, #116 ; 0x74 - 3092: 0004 movs r4, r0 - 3094: 468b mov fp, r1 + 30ca: 79a1 ldrb r1, [r4, #6] + 30cc: 002a movs r2, r5 + 30ce: 6820 ldr r0, [r4, #0] + 30d0: 4b05 ldr r3, [pc, #20] ; (30e8 ) + 30d2: 4798 blx r3 + 30d4: 7220 strb r0, [r4, #8] + 30d6: e7e0 b.n 309a + 30d8: 00002fc1 .word 0x00002fc1 + 30dc: 00001d29 .word 0x00001d29 + 30e0: 00002db1 .word 0x00002db1 + 30e4: 00002e71 .word 0x00002e71 + 30e8: 00002f15 .word 0x00002f15 + +000030ec : +{ + 30ec: b5f0 push {r4, r5, r6, r7, lr} + 30ee: 46de mov lr, fp + 30f0: 4657 mov r7, sl + 30f2: 464e mov r6, r9 + 30f4: 4645 mov r5, r8 + 30f6: b5e0 push {r5, r6, r7, lr} + 30f8: b09d sub sp, #116 ; 0x74 + 30fa: 0004 movs r4, r0 + 30fc: 468b mov fp, r1 if(obj->state == new_state) return; - 3096: 233d movs r3, #61 ; 0x3d - 3098: 5cc3 ldrb r3, [r0, r3] - 309a: 428b cmp r3, r1 - 309c: d100 bne.n 30a0 - 309e: e208 b.n 34b2 + 30fe: 233d movs r3, #61 ; 0x3d + 3100: 5cc3 ldrb r3, [r0, r3] + 3102: 428b cmp r3, r1 + 3104: d100 bne.n 3108 + 3106: e208 b.n 351a LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 30a0: 4bc3 ldr r3, [pc, #780] ; (33b0 ) - 30a2: 4798 blx r3 - 30a4: 2800 cmp r0, #0 - 30a6: d008 beq.n 30ba + 3108: 4bc3 ldr r3, [pc, #780] ; (3418 ) + 310a: 4798 blx r3 + 310c: 2800 cmp r0, #0 + 310e: d008 beq.n 3122 lv_state_t prev_state = obj->state; - 30a8: 233d movs r3, #61 ; 0x3d - 30aa: 5ce2 ldrb r2, [r4, r3] - 30ac: 4691 mov r9, r2 + 3110: 233d movs r3, #61 ; 0x3d + 3112: 5ce2 ldrb r2, [r4, r3] + 3114: 4691 mov r9, r2 obj->state = new_state; - 30ae: 465a mov r2, fp - 30b0: 54e2 strb r2, [r4, r3] + 3116: 465a mov r2, fp + 3118: 54e2 strb r2, [r4, r3] for(part = 0; part < _LV_OBJ_PART_REAL_LAST; part++) { - 30b2: 2300 movs r3, #0 - 30b4: 9300 str r3, [sp, #0] + 311a: 2300 movs r3, #0 + 311c: 9300 str r3, [sp, #0] lv_style_list_t * style_list = lv_obj_get_style_list(obj, part); - 30b6: 46ca mov sl, r9 - 30b8: e1b2 b.n 3420 + 311e: 46ca mov sl, r9 + 3120: e1b2 b.n 3488 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 30ba: 0022 movs r2, r4 - 30bc: 2300 movs r3, #0 - 30be: 48bd ldr r0, [pc, #756] ; (33b4 ) - 30c0: 49bd ldr r1, [pc, #756] ; (33b8 ) - 30c2: 4788 blx r1 - 30c4: e7fe b.n 30c4 + 3122: 0022 movs r2, r4 + 3124: 2300 movs r3, #0 + 3126: 48bd ldr r0, [pc, #756] ; (341c ) + 3128: 49bd ldr r1, [pc, #756] ; (3420 ) + 312a: 4788 blx r1 + 312c: e7fe b.n 312c style_list->skip_trans = 1; - 30c6: 7973 ldrb r3, [r6, #5] - 30c8: 2204 movs r2, #4 - 30ca: 4313 orrs r3, r2 - 30cc: 7173 strb r3, [r6, #5] + 312e: 7973 ldrb r3, [r6, #5] + 3130: 2204 movs r2, #4 + 3132: 4313 orrs r3, r2 + 3134: 7173 strb r3, [r6, #5] obj->state = prev_state; - 30ce: 233d movs r3, #61 ; 0x3d - 30d0: 4699 mov r9, r3 - 30d2: 4652 mov r2, sl - 30d4: 54e2 strb r2, [r4, r3] + 3136: 233d movs r3, #61 ; 0x3d + 3138: 4699 mov r9, r3 + 313a: 4652 mov r2, sl + 313c: 54e2 strb r2, [r4, r3] lv_style_int_t int1 = _lv_obj_get_style_int(obj, part, prop); - 30d6: 002a movs r2, r5 - 30d8: 9900 ldr r1, [sp, #0] - 30da: 0020 movs r0, r4 - 30dc: 4fb7 ldr r7, [pc, #732] ; (33bc ) - 30de: 47b8 blx r7 - 30e0: 9007 str r0, [sp, #28] + 313e: 002a movs r2, r5 + 3140: 9900 ldr r1, [sp, #0] + 3142: 0020 movs r0, r4 + 3144: 4fb7 ldr r7, [pc, #732] ; (3424 ) + 3146: 47b8 blx r7 + 3148: 9007 str r0, [sp, #28] obj->state = new_state; - 30e2: 464b mov r3, r9 - 30e4: 465a mov r2, fp - 30e6: 54e2 strb r2, [r4, r3] + 314a: 464b mov r3, r9 + 314c: 465a mov r2, fp + 314e: 54e2 strb r2, [r4, r3] lv_style_int_t int2 = _lv_obj_get_style_int(obj, part, prop); - 30e8: 002a movs r2, r5 - 30ea: 9900 ldr r1, [sp, #0] - 30ec: 0020 movs r0, r4 - 30ee: 47b8 blx r7 - 30f0: 4680 mov r8, r0 + 3150: 002a movs r2, r5 + 3152: 9900 ldr r1, [sp, #0] + 3154: 0020 movs r0, r4 + 3156: 47b8 blx r7 + 3158: 4680 mov r8, r0 style_list->skip_trans = 0; - 30f2: 7973 ldrb r3, [r6, #5] - 30f4: 2204 movs r2, #4 - 30f6: 4393 bics r3, r2 - 30f8: 7173 strb r3, [r6, #5] + 315a: 7973 ldrb r3, [r6, #5] + 315c: 2204 movs r2, #4 + 315e: 4393 bics r3, r2 + 3160: 7173 strb r3, [r6, #5] if(int1 == int2) return NULL; - 30fa: 9b07 ldr r3, [sp, #28] - 30fc: 4283 cmp r3, r0 - 30fe: d04b beq.n 3198 + 3162: 9b07 ldr r3, [sp, #28] + 3164: 4283 cmp r3, r0 + 3166: d04b beq.n 3200 obj->state = prev_state; - 3100: 263d movs r6, #61 ; 0x3d - 3102: 4653 mov r3, sl - 3104: 55a3 strb r3, [r4, r6] + 3168: 263d movs r6, #61 ; 0x3d + 316a: 4653 mov r3, sl + 316c: 55a3 strb r3, [r4, r6] int1 = _lv_obj_get_style_int(obj, part, prop); - 3106: 002a movs r2, r5 - 3108: 9900 ldr r1, [sp, #0] - 310a: 0020 movs r0, r4 - 310c: 4bab ldr r3, [pc, #684] ; (33bc ) - 310e: 4798 blx r3 - 3110: 0002 movs r2, r0 - 3112: 4681 mov r9, r0 + 316e: 002a movs r2, r5 + 3170: 9900 ldr r1, [sp, #0] + 3172: 0020 movs r0, r4 + 3174: 4bab ldr r3, [pc, #684] ; (3424 ) + 3176: 4798 blx r3 + 3178: 0002 movs r2, r0 + 317a: 4681 mov r9, r0 obj->state = new_state; - 3114: 465b mov r3, fp - 3116: 55a3 strb r3, [r4, r6] + 317c: 465b mov r3, fp + 317e: 55a3 strb r3, [r4, r6] _lv_style_set_int(style_trans, prop, int1); /*Be sure `trans_style` has a valid value */ - 3118: 0029 movs r1, r5 - 311a: 9801 ldr r0, [sp, #4] - 311c: 4ba8 ldr r3, [pc, #672] ; (33c0 ) - 311e: 4798 blx r3 + 3180: 0029 movs r1, r5 + 3182: 9801 ldr r0, [sp, #4] + 3184: 4ba8 ldr r3, [pc, #672] ; (3428 ) + 3186: 4798 blx r3 if(prop == LV_STYLE_RADIUS) { - 3120: 2d01 cmp r5, #1 - 3122: d100 bne.n 3126 - 3124: e094 b.n 3250 + 3188: 2d01 cmp r5, #1 + 318a: d100 bne.n 318e + 318c: e094 b.n 32b8 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 3126: 48a7 ldr r0, [pc, #668] ; (33c4 ) - 3128: 4ba7 ldr r3, [pc, #668] ; (33c8 ) - 312a: 4798 blx r3 - 312c: 0006 movs r6, r0 + 318e: 48a7 ldr r0, [pc, #668] ; (342c ) + 3190: 4ba7 ldr r3, [pc, #668] ; (3430 ) + 3192: 4798 blx r3 + 3194: 0006 movs r6, r0 LV_ASSERT_MEM(tr); - 312e: 4ba0 ldr r3, [pc, #640] ; (33b0 ) - 3130: 4798 blx r3 - 3132: 2800 cmp r0, #0 - 3134: d100 bne.n 3138 - 3136: e0a0 b.n 327a + 3196: 4ba0 ldr r3, [pc, #640] ; (3418 ) + 3198: 4798 blx r3 + 319a: 2800 cmp r0, #0 + 319c: d100 bne.n 31a0 + 319e: e0a0 b.n 32e2 if(tr == NULL) return NULL; - 3138: 2e00 cmp r6, #0 - 313a: d02d beq.n 3198 + 31a0: 2e00 cmp r6, #0 + 31a2: d02d beq.n 3200 tr->start_value._int = int1; - 313c: 464b mov r3, r9 - 313e: 8133 strh r3, [r6, #8] + 31a4: 464b mov r3, r9 + 31a6: 8133 strh r3, [r6, #8] tr->end_value._int = int2; - 3140: 4643 mov r3, r8 - 3142: 81b3 strh r3, [r6, #12] + 31a8: 4643 mov r3, r8 + 31aa: 81b3 strh r3, [r6, #12] tr->obj = obj; - 3144: 6034 str r4, [r6, #0] + 31ac: 6034 str r4, [r6, #0] tr->prop = props[i]; - 3146: 80b5 strh r5, [r6, #4] + 31ae: 80b5 strh r5, [r6, #4] tr->part = part; - 3148: 466b mov r3, sp - 314a: 781b ldrb r3, [r3, #0] - 314c: 71b3 strb r3, [r6, #6] + 31b0: 466b mov r3, sp + 31b2: 781b ldrb r3, [r3, #0] + 31b4: 71b3 strb r3, [r6, #6] lv_anim_init(&a); - 314e: a80c add r0, sp, #48 ; 0x30 - 3150: 4b9e ldr r3, [pc, #632] ; (33cc ) - 3152: 4798 blx r3 + 31b6: a80c add r0, sp, #48 ; 0x30 + 31b8: 4b9e ldr r3, [pc, #632] ; (3434 ) + 31ba: 4798 blx r3 * @param a pointer to an initialized `lv_anim_t` variable * @param var pointer to a variable to animate */ static inline void lv_anim_set_var(lv_anim_t * a, void * var) { a->var = var; - 3154: 960c str r6, [sp, #48] ; 0x30 + 31bc: 960c str r6, [sp, #48] ; 0x30 * LittelvGL's built-in functions can be used. * E.g. lv_obj_set_x */ static inline void lv_anim_set_exec_cb(lv_anim_t * a, lv_anim_exec_xcb_t exec_cb) { a->exec_cb = exec_cb; - 3156: 4b9e ldr r3, [pc, #632] ; (33d0 ) - 3158: 930d str r3, [sp, #52] ; 0x34 + 31be: 4b9e ldr r3, [pc, #632] ; (3438 ) + 31c0: 930d str r3, [sp, #52] ; 0x34 * @param a pointer to an initialized `lv_anim_t` variable * @param start_cb a function call when the animation starts */ static inline void lv_anim_set_start_cb(lv_anim_t * a, lv_anim_ready_cb_t start_cb) { a->start_cb = start_cb; - 315a: 4b9e ldr r3, [pc, #632] ; (33d4 ) - 315c: 930e str r3, [sp, #56] ; 0x38 + 31c2: 4b9e ldr r3, [pc, #632] ; (343c ) + 31c4: 930e str r3, [sp, #56] ; 0x38 * @param a pointer to an initialized `lv_anim_t` variable * @param ready_cb a function call when the animation is ready */ static inline void lv_anim_set_ready_cb(lv_anim_t * a, lv_anim_ready_cb_t ready_cb) { a->ready_cb = ready_cb; - 315e: 4b9e ldr r3, [pc, #632] ; (33d8 ) - 3160: 930f str r3, [sp, #60] ; 0x3c + 31c6: 4b9e ldr r3, [pc, #632] ; (3440 ) + 31c8: 930f str r3, [sp, #60] ; 0x3c a->start = start; - 3162: 2300 movs r3, #0 - 3164: 9312 str r3, [sp, #72] ; 0x48 + 31ca: 2300 movs r3, #0 + 31cc: 9312 str r3, [sp, #72] ; 0x48 a->end = end; - 3166: 33ff adds r3, #255 ; 0xff - 3168: 9313 str r3, [sp, #76] ; 0x4c + 31ce: 33ff adds r3, #255 ; 0xff + 31d0: 9313 str r3, [sp, #76] ; 0x4c lv_anim_set_time(&a, time); - 316a: 9b06 ldr r3, [sp, #24] - 316c: 9314 str r3, [sp, #80] ; 0x50 + 31d2: 9b06 ldr r3, [sp, #24] + 31d4: 9314 str r3, [sp, #80] ; 0x50 a->act_time = (int32_t)(-delay); - 316e: 9b05 ldr r3, [sp, #20] - 3170: 425b negs r3, r3 - 3172: 9315 str r3, [sp, #84] ; 0x54 - 3174: 9b04 ldr r3, [sp, #16] - 3176: 0018 movs r0, r3 - 3178: 3008 adds r0, #8 + 31d6: 9b05 ldr r3, [sp, #20] + 31d8: 425b negs r3, r3 + 31da: 9315 str r3, [sp, #84] ; 0x54 + 31dc: 9b04 ldr r3, [sp, #16] + 31de: 0018 movs r0, r3 + 31e0: 3008 adds r0, #8 uint8_t * d8 = (uint8_t *)dst; - 317a: aa10 add r2, sp, #64 ; 0x40 + 31e2: aa10 add r2, sp, #64 ; 0x40 *d8 = *s8; - 317c: 7819 ldrb r1, [r3, #0] - 317e: 7011 strb r1, [r2, #0] + 31e4: 7819 ldrb r1, [r3, #0] + 31e6: 7011 strb r1, [r2, #0] d8++; - 3180: 3201 adds r2, #1 + 31e8: 3201 adds r2, #1 s8++; - 3182: 3301 adds r3, #1 + 31ea: 3301 adds r3, #1 while(len) { - 3184: 4283 cmp r3, r0 - 3186: d1f9 bne.n 317c + 31ec: 4283 cmp r3, r0 + 31ee: d1f9 bne.n 31e4 a.early_apply = 0; - 3188: a80c add r0, sp, #48 ; 0x30 - 318a: 2236 movs r2, #54 ; 0x36 - 318c: 5c83 ldrb r3, [r0, r2] - 318e: 2101 movs r1, #1 - 3190: 438b bics r3, r1 - 3192: 5483 strb r3, [r0, r2] + 31f0: a80c add r0, sp, #48 ; 0x30 + 31f2: 2236 movs r2, #54 ; 0x36 + 31f4: 5c83 ldrb r3, [r0, r2] + 31f6: 2101 movs r1, #1 + 31f8: 438b bics r3, r1 + 31fa: 5483 strb r3, [r0, r2] lv_anim_start(&a); - 3194: 4b91 ldr r3, [pc, #580] ; (33dc ) - 3196: 4798 blx r3 - 3198: 9b02 ldr r3, [sp, #8] - 319a: 3302 adds r3, #2 - 319c: 9302 str r3, [sp, #8] + 31fc: 4b91 ldr r3, [pc, #580] ; (3444 ) + 31fe: 4798 blx r3 + 3200: 9b02 ldr r3, [sp, #8] + 3202: 3302 adds r3, #2 + 3204: 9302 str r3, [sp, #8] for(i = 0; i < LV_STYLE_TRANS_NUM_MAX; i++) { - 319e: 2b0c cmp r3, #12 - 31a0: d100 bne.n 31a4 - 31a2: e137 b.n 3414 + 3206: 2b0c cmp r3, #12 + 3208: d100 bne.n 320c + 320a: e137 b.n 347c if(props[i] != 0) { - 31a4: ab09 add r3, sp, #36 ; 0x24 - 31a6: 9a02 ldr r2, [sp, #8] - 31a8: 5ad5 ldrh r5, [r2, r3] - 31aa: 2d00 cmp r5, #0 - 31ac: d0f4 beq.n 3198 + 320c: ab09 add r3, sp, #36 ; 0x24 + 320e: 9a02 ldr r2, [sp, #8] + 3210: 5ad5 ldrh r5, [r2, r3] + 3212: 2d00 cmp r5, #0 + 3214: d0f4 beq.n 3200 _lv_style_list_add_trans_style(style_list); - 31ae: 9803 ldr r0, [sp, #12] - 31b0: 4b8b ldr r3, [pc, #556] ; (33e0 ) - 31b2: 4798 blx r3 + 3216: 9803 ldr r0, [sp, #12] + 3218: 4b8b ldr r3, [pc, #556] ; (3448 ) + 321a: 4798 blx r3 lv_style_list_t * style_list = lv_obj_get_style_list(obj, part); - 31b4: 9900 ldr r1, [sp, #0] - 31b6: 0020 movs r0, r4 - 31b8: 4b8a ldr r3, [pc, #552] ; (33e4 ) - 31ba: 4798 blx r3 - 31bc: 0006 movs r6, r0 + 321c: 9900 ldr r1, [sp, #0] + 321e: 0020 movs r0, r4 + 3220: 4b8a ldr r3, [pc, #552] ; (344c ) + 3222: 4798 blx r3 + 3224: 0006 movs r6, r0 lv_style_t * style_trans = _lv_style_list_get_transition_style(style_list); - 31be: 4b8a ldr r3, [pc, #552] ; (33e8 ) - 31c0: 4798 blx r3 - 31c2: 9001 str r0, [sp, #4] + 3226: 4b8a ldr r3, [pc, #552] ; (3450 ) + 3228: 4798 blx r3 + 322a: 9001 str r0, [sp, #4] if((prop & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/ - 31c4: 230f movs r3, #15 - 31c6: 402b ands r3, r5 - 31c8: 2b08 cmp r3, #8 - 31ca: dc00 bgt.n 31ce - 31cc: e77b b.n 30c6 + 322c: 230f movs r3, #15 + 322e: 402b ands r3, r5 + 3230: 2b08 cmp r3, #8 + 3232: dc00 bgt.n 3236 + 3234: e77b b.n 312e else if((prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 31ce: 2b0b cmp r3, #11 - 31d0: dd59 ble.n 3286 + 3236: 2b0b cmp r3, #11 + 3238: dd59 ble.n 32ee else if((prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 31d2: 2b0d cmp r3, #13 - 31d4: dd00 ble.n 31d8 - 31d6: e0a3 b.n 3320 + 323a: 2b0d cmp r3, #13 + 323c: dd00 ble.n 3240 + 323e: e0a3 b.n 3388 style_list->skip_trans = 1; - 31d8: 7973 ldrb r3, [r6, #5] - 31da: 2204 movs r2, #4 - 31dc: 4313 orrs r3, r2 - 31de: 7173 strb r3, [r6, #5] + 3240: 7973 ldrb r3, [r6, #5] + 3242: 2204 movs r2, #4 + 3244: 4313 orrs r3, r2 + 3246: 7173 strb r3, [r6, #5] obj->state = prev_state; - 31e0: 233d movs r3, #61 ; 0x3d - 31e2: 4699 mov r9, r3 - 31e4: 4652 mov r2, sl - 31e6: 54e2 strb r2, [r4, r3] + 3248: 233d movs r3, #61 ; 0x3d + 324a: 4699 mov r9, r3 + 324c: 4652 mov r2, sl + 324e: 54e2 strb r2, [r4, r3] lv_opa_t o1 = _lv_obj_get_style_opa(obj, part, prop); - 31e8: 002a movs r2, r5 - 31ea: 9900 ldr r1, [sp, #0] - 31ec: 0020 movs r0, r4 - 31ee: 4f7f ldr r7, [pc, #508] ; (33ec ) - 31f0: 47b8 blx r7 - 31f2: 4680 mov r8, r0 + 3250: 002a movs r2, r5 + 3252: 9900 ldr r1, [sp, #0] + 3254: 0020 movs r0, r4 + 3256: 4f7f ldr r7, [pc, #508] ; (3454 ) + 3258: 47b8 blx r7 + 325a: 4680 mov r8, r0 obj->state = new_state; - 31f4: 464b mov r3, r9 - 31f6: 465a mov r2, fp - 31f8: 54e2 strb r2, [r4, r3] + 325c: 464b mov r3, r9 + 325e: 465a mov r2, fp + 3260: 54e2 strb r2, [r4, r3] lv_opa_t o2 = _lv_obj_get_style_opa(obj, part, prop); - 31fa: 002a movs r2, r5 - 31fc: 9900 ldr r1, [sp, #0] - 31fe: 0020 movs r0, r4 - 3200: 47b8 blx r7 - 3202: 0007 movs r7, r0 + 3262: 002a movs r2, r5 + 3264: 9900 ldr r1, [sp, #0] + 3266: 0020 movs r0, r4 + 3268: 47b8 blx r7 + 326a: 0007 movs r7, r0 style_list->skip_trans = 0; - 3204: 7973 ldrb r3, [r6, #5] - 3206: 2204 movs r2, #4 - 3208: 4393 bics r3, r2 - 320a: 7173 strb r3, [r6, #5] + 326c: 7973 ldrb r3, [r6, #5] + 326e: 2204 movs r2, #4 + 3270: 4393 bics r3, r2 + 3272: 7173 strb r3, [r6, #5] if(o1 == o2) return NULL; - 320c: 4643 mov r3, r8 - 320e: 4283 cmp r3, r0 - 3210: d0c2 beq.n 3198 + 3274: 4643 mov r3, r8 + 3276: 4283 cmp r3, r0 + 3278: d0c2 beq.n 3200 obj->state = prev_state; - 3212: 263d movs r6, #61 ; 0x3d - 3214: 4653 mov r3, sl - 3216: 55a3 strb r3, [r4, r6] + 327a: 263d movs r6, #61 ; 0x3d + 327c: 4653 mov r3, sl + 327e: 55a3 strb r3, [r4, r6] o1 = _lv_obj_get_style_opa(obj, part, prop); - 3218: 002a movs r2, r5 - 321a: 9900 ldr r1, [sp, #0] - 321c: 0020 movs r0, r4 - 321e: 4b73 ldr r3, [pc, #460] ; (33ec ) - 3220: 4798 blx r3 - 3222: 0002 movs r2, r0 - 3224: 9007 str r0, [sp, #28] + 3280: 002a movs r2, r5 + 3282: 9900 ldr r1, [sp, #0] + 3284: 0020 movs r0, r4 + 3286: 4b73 ldr r3, [pc, #460] ; (3454 ) + 3288: 4798 blx r3 + 328a: 0002 movs r2, r0 + 328c: 9007 str r0, [sp, #28] obj->state = new_state; - 3226: 465b mov r3, fp - 3228: 55a3 strb r3, [r4, r6] + 328e: 465b mov r3, fp + 3290: 55a3 strb r3, [r4, r6] _lv_style_set_opa(style_trans, prop, o1); /*Be sure `trans_style` has a valid value */ - 322a: 0029 movs r1, r5 - 322c: 9801 ldr r0, [sp, #4] - 322e: 4b70 ldr r3, [pc, #448] ; (33f0 ) - 3230: 4798 blx r3 + 3292: 0029 movs r1, r5 + 3294: 9801 ldr r0, [sp, #4] + 3296: 4b70 ldr r3, [pc, #448] ; (3458 ) + 3298: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 3232: 4864 ldr r0, [pc, #400] ; (33c4 ) - 3234: 4b64 ldr r3, [pc, #400] ; (33c8 ) - 3236: 4798 blx r3 - 3238: 0006 movs r6, r0 + 329a: 4864 ldr r0, [pc, #400] ; (342c ) + 329c: 4b64 ldr r3, [pc, #400] ; (3430 ) + 329e: 4798 blx r3 + 32a0: 0006 movs r6, r0 LV_ASSERT_MEM(tr); - 323a: 4b5d ldr r3, [pc, #372] ; (33b0 ) - 323c: 4798 blx r3 - 323e: 2800 cmp r0, #0 - 3240: d068 beq.n 3314 + 32a2: 4b5d ldr r3, [pc, #372] ; (3418 ) + 32a4: 4798 blx r3 + 32a6: 2800 cmp r0, #0 + 32a8: d068 beq.n 337c if(tr == NULL) return NULL; - 3242: 2e00 cmp r6, #0 - 3244: d0a8 beq.n 3198 + 32aa: 2e00 cmp r6, #0 + 32ac: d0a8 beq.n 3200 tr->start_value._opa = o1; - 3246: 466b mov r3, sp - 3248: 7f1b ldrb r3, [r3, #28] - 324a: 7233 strb r3, [r6, #8] + 32ae: 466b mov r3, sp + 32b0: 7f1b ldrb r3, [r3, #28] + 32b2: 7233 strb r3, [r6, #8] tr->end_value._opa = o2; - 324c: 7337 strb r7, [r6, #12] - 324e: e779 b.n 3144 + 32b4: 7337 strb r7, [r6, #12] + 32b6: e779 b.n 31ac if(int1 == LV_RADIUS_CIRCLE || int2 == LV_RADIUS_CIRCLE) { - 3250: 4b68 ldr r3, [pc, #416] ; (33f4 ) - 3252: 4599 cmp r9, r3 - 3254: d100 bne.n 3258 - 3256: e133 b.n 34c0 - 3258: 4598 cmp r8, r3 - 325a: d000 beq.n 325e - 325c: e763 b.n 3126 + 32b8: 4b68 ldr r3, [pc, #416] ; (345c ) + 32ba: 4599 cmp r9, r3 + 32bc: d100 bne.n 32c0 + 32be: e133 b.n 3528 + 32c0: 4598 cmp r8, r3 + 32c2: d000 beq.n 32c6 + 32c4: e763 b.n 318e lv_coord_t whalf = lv_obj_get_width(obj) / 2; - 325e: 0020 movs r0, r4 - 3260: 4f65 ldr r7, [pc, #404] ; (33f8 ) - 3262: 47b8 blx r7 - 3264: 0fc6 lsrs r6, r0, #31 - 3266: 1836 adds r6, r6, r0 - 3268: 1076 asrs r6, r6, #1 - 326a: b236 sxth r6, r6 + 32c6: 0020 movs r0, r4 + 32c8: 4f65 ldr r7, [pc, #404] ; (3460 ) + 32ca: 47b8 blx r7 + 32cc: 0fc6 lsrs r6, r0, #31 + 32ce: 1836 adds r6, r6, r0 + 32d0: 1076 asrs r6, r6, #1 + 32d2: b236 sxth r6, r6 lv_coord_t hhalf = lv_obj_get_width(obj) / 2; - 326c: 0020 movs r0, r4 - 326e: 47b8 blx r7 - 3270: 0fc3 lsrs r3, r0, #31 - 3272: 181b adds r3, r3, r0 - 3274: 105b asrs r3, r3, #1 - 3276: b21b sxth r3, r3 - 3278: e13a b.n 34f0 + 32d4: 0020 movs r0, r4 + 32d6: 47b8 blx r7 + 32d8: 0fc3 lsrs r3, r0, #31 + 32da: 181b adds r3, r3, r0 + 32dc: 105b asrs r3, r3, #1 + 32de: b21b sxth r3, r3 + 32e0: e13a b.n 3558 LV_ASSERT_MEM(tr); - 327a: 0032 movs r2, r6 - 327c: 2300 movs r3, #0 - 327e: 485f ldr r0, [pc, #380] ; (33fc ) - 3280: 494d ldr r1, [pc, #308] ; (33b8 ) - 3282: 4788 blx r1 - 3284: e7fe b.n 3284 + 32e2: 0032 movs r2, r6 + 32e4: 2300 movs r3, #0 + 32e6: 485f ldr r0, [pc, #380] ; (3464 ) + 32e8: 494d ldr r1, [pc, #308] ; (3420 ) + 32ea: 4788 blx r1 + 32ec: e7fe b.n 32ec style_list->skip_trans = 1; - 3286: 7973 ldrb r3, [r6, #5] - 3288: 2204 movs r2, #4 - 328a: 4313 orrs r3, r2 - 328c: 7173 strb r3, [r6, #5] + 32ee: 7973 ldrb r3, [r6, #5] + 32f0: 2204 movs r2, #4 + 32f2: 4313 orrs r3, r2 + 32f4: 7173 strb r3, [r6, #5] obj->state = prev_state; - 328e: 233d movs r3, #61 ; 0x3d - 3290: 4699 mov r9, r3 - 3292: 4652 mov r2, sl - 3294: 54e2 strb r2, [r4, r3] + 32f6: 233d movs r3, #61 ; 0x3d + 32f8: 4699 mov r9, r3 + 32fa: 4652 mov r2, sl + 32fc: 54e2 strb r2, [r4, r3] lv_color_t c1 = _lv_obj_get_style_color(obj, part, prop); - 3296: 002a movs r2, r5 - 3298: 9900 ldr r1, [sp, #0] - 329a: 0020 movs r0, r4 - 329c: 4b58 ldr r3, [pc, #352] ; (3400 ) - 329e: 4698 mov r8, r3 - 32a0: 4798 blx r3 - 32a2: 1c07 adds r7, r0, #0 + 32fe: 002a movs r2, r5 + 3300: 9900 ldr r1, [sp, #0] + 3302: 0020 movs r0, r4 + 3304: 4b58 ldr r3, [pc, #352] ; (3468 ) + 3306: 4698 mov r8, r3 + 3308: 4798 blx r3 + 330a: 1c07 adds r7, r0, #0 obj->state = new_state; - 32a4: 464b mov r3, r9 - 32a6: 465a mov r2, fp - 32a8: 54e2 strb r2, [r4, r3] + 330c: 464b mov r3, r9 + 330e: 465a mov r2, fp + 3310: 54e2 strb r2, [r4, r3] lv_color_t c2 = _lv_obj_get_style_color(obj, part, prop); - 32aa: 002a movs r2, r5 - 32ac: 9900 ldr r1, [sp, #0] - 32ae: 0020 movs r0, r4 - 32b0: 47c0 blx r8 - 32b2: 466b mov r3, sp - 32b4: 8398 strh r0, [r3, #28] + 3312: 002a movs r2, r5 + 3314: 9900 ldr r1, [sp, #0] + 3316: 0020 movs r0, r4 + 3318: 47c0 blx r8 + 331a: 466b mov r3, sp + 331c: 8398 strh r0, [r3, #28] style_list->skip_trans = 0; - 32b6: 7973 ldrb r3, [r6, #5] - 32b8: 2204 movs r2, #4 - 32ba: 4393 bics r3, r2 - 32bc: 7173 strb r3, [r6, #5] + 331e: 7973 ldrb r3, [r6, #5] + 3320: 2204 movs r2, #4 + 3322: 4393 bics r3, r2 + 3324: 7173 strb r3, [r6, #5] if(c1.full == c2.full) return NULL; - 32be: b2bf uxth r7, r7 - 32c0: b283 uxth r3, r0 - 32c2: 429f cmp r7, r3 - 32c4: d100 bne.n 32c8 - 32c6: e767 b.n 3198 + 3326: b2bf uxth r7, r7 + 3328: b283 uxth r3, r0 + 332a: 429f cmp r7, r3 + 332c: d100 bne.n 3330 + 332e: e767 b.n 3200 obj->state = prev_state; - 32c8: 263d movs r6, #61 ; 0x3d - 32ca: 4653 mov r3, sl - 32cc: 55a3 strb r3, [r4, r6] + 3330: 263d movs r6, #61 ; 0x3d + 3332: 4653 mov r3, sl + 3334: 55a3 strb r3, [r4, r6] c1 = _lv_obj_get_style_color(obj, part, prop); - 32ce: 002a movs r2, r5 - 32d0: 9900 ldr r1, [sp, #0] - 32d2: 0020 movs r0, r4 - 32d4: 4b4a ldr r3, [pc, #296] ; (3400 ) - 32d6: 4798 blx r3 - 32d8: 1c07 adds r7, r0, #0 + 3336: 002a movs r2, r5 + 3338: 9900 ldr r1, [sp, #0] + 333a: 0020 movs r0, r4 + 333c: 4b4a ldr r3, [pc, #296] ; (3468 ) + 333e: 4798 blx r3 + 3340: 1c07 adds r7, r0, #0 obj->state = new_state; - 32da: 465b mov r3, fp - 32dc: 55a3 strb r3, [r4, r6] + 3342: 465b mov r3, fp + 3344: 55a3 strb r3, [r4, r6] _lv_style_set_color(style_trans, prop, c1); /*Be sure `trans_style` has a valid value */ - 32de: 1c02 adds r2, r0, #0 - 32e0: 0029 movs r1, r5 - 32e2: 9801 ldr r0, [sp, #4] - 32e4: 4b47 ldr r3, [pc, #284] ; (3404 ) - 32e6: 4798 blx r3 + 3346: 1c02 adds r2, r0, #0 + 3348: 0029 movs r1, r5 + 334a: 9801 ldr r0, [sp, #4] + 334c: 4b47 ldr r3, [pc, #284] ; (346c ) + 334e: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 32e8: 4836 ldr r0, [pc, #216] ; (33c4 ) - 32ea: 4b37 ldr r3, [pc, #220] ; (33c8 ) - 32ec: 4798 blx r3 - 32ee: 0006 movs r6, r0 + 3350: 4836 ldr r0, [pc, #216] ; (342c ) + 3352: 4b37 ldr r3, [pc, #220] ; (3430 ) + 3354: 4798 blx r3 + 3356: 0006 movs r6, r0 LV_ASSERT_MEM(tr); - 32f0: 4b2f ldr r3, [pc, #188] ; (33b0 ) - 32f2: 4798 blx r3 - 32f4: 2800 cmp r0, #0 - 32f6: d007 beq.n 3308 + 3358: 4b2f ldr r3, [pc, #188] ; (3418 ) + 335a: 4798 blx r3 + 335c: 2800 cmp r0, #0 + 335e: d007 beq.n 3370 if(tr == NULL) return NULL; - 32f8: 2e00 cmp r6, #0 - 32fa: d100 bne.n 32fe - 32fc: e74c b.n 3198 + 3360: 2e00 cmp r6, #0 + 3362: d100 bne.n 3366 + 3364: e74c b.n 3200 tr->start_value._color = c1; - 32fe: 8137 strh r7, [r6, #8] + 3366: 8137 strh r7, [r6, #8] tr->end_value._color = c2; - 3300: 466b mov r3, sp - 3302: 8b9b ldrh r3, [r3, #28] - 3304: 81b3 strh r3, [r6, #12] - 3306: e71d b.n 3144 + 3368: 466b mov r3, sp + 336a: 8b9b ldrh r3, [r3, #28] + 336c: 81b3 strh r3, [r6, #12] + 336e: e71d b.n 31ac LV_ASSERT_MEM(tr); - 3308: 0032 movs r2, r6 - 330a: 2300 movs r3, #0 - 330c: 483b ldr r0, [pc, #236] ; (33fc ) - 330e: 492a ldr r1, [pc, #168] ; (33b8 ) - 3310: 4788 blx r1 - 3312: e7fe b.n 3312 + 3370: 0032 movs r2, r6 + 3372: 2300 movs r3, #0 + 3374: 483b ldr r0, [pc, #236] ; (3464 ) + 3376: 492a ldr r1, [pc, #168] ; (3420 ) + 3378: 4788 blx r1 + 337a: e7fe b.n 337a LV_ASSERT_MEM(tr); - 3314: 0032 movs r2, r6 - 3316: 2300 movs r3, #0 - 3318: 4838 ldr r0, [pc, #224] ; (33fc ) - 331a: 4927 ldr r1, [pc, #156] ; (33b8 ) - 331c: 4788 blx r1 - 331e: e7fe b.n 331e + 337c: 0032 movs r2, r6 + 337e: 2300 movs r3, #0 + 3380: 4838 ldr r0, [pc, #224] ; (3464 ) + 3382: 4927 ldr r1, [pc, #156] ; (3420 ) + 3384: 4788 blx r1 + 3386: e7fe b.n 3386 obj->state = prev_state; - 3320: 233d movs r3, #61 ; 0x3d - 3322: 4699 mov r9, r3 - 3324: 4652 mov r2, sl - 3326: 54e2 strb r2, [r4, r3] + 3388: 233d movs r3, #61 ; 0x3d + 338a: 4699 mov r9, r3 + 338c: 4652 mov r2, sl + 338e: 54e2 strb r2, [r4, r3] style_list->skip_trans = 1; - 3328: 7973 ldrb r3, [r6, #5] - 332a: 2204 movs r2, #4 - 332c: 4313 orrs r3, r2 - 332e: 7173 strb r3, [r6, #5] + 3390: 7973 ldrb r3, [r6, #5] + 3392: 2204 movs r2, #4 + 3394: 4313 orrs r3, r2 + 3396: 7173 strb r3, [r6, #5] const void * p1 = _lv_obj_get_style_ptr(obj, part, prop); - 3330: 002a movs r2, r5 - 3332: 9900 ldr r1, [sp, #0] - 3334: 0020 movs r0, r4 - 3336: 4f34 ldr r7, [pc, #208] ; (3408 ) - 3338: 47b8 blx r7 - 333a: 9008 str r0, [sp, #32] + 3398: 002a movs r2, r5 + 339a: 9900 ldr r1, [sp, #0] + 339c: 0020 movs r0, r4 + 339e: 4f34 ldr r7, [pc, #208] ; (3470 ) + 33a0: 47b8 blx r7 + 33a2: 9008 str r0, [sp, #32] obj->state = new_state; - 333c: 464b mov r3, r9 - 333e: 465a mov r2, fp - 3340: 54e2 strb r2, [r4, r3] + 33a4: 464b mov r3, r9 + 33a6: 465a mov r2, fp + 33a8: 54e2 strb r2, [r4, r3] const void * p2 = _lv_obj_get_style_ptr(obj, part, prop); - 3342: 002a movs r2, r5 - 3344: 9900 ldr r1, [sp, #0] - 3346: 0020 movs r0, r4 - 3348: 47b8 blx r7 - 334a: 0007 movs r7, r0 - 334c: 900c str r0, [sp, #48] ; 0x30 + 33aa: 002a movs r2, r5 + 33ac: 9900 ldr r1, [sp, #0] + 33ae: 0020 movs r0, r4 + 33b0: 47b8 blx r7 + 33b2: 0007 movs r7, r0 + 33b4: 900c str r0, [sp, #48] ; 0x30 style_list->skip_trans = 0; - 334e: 7973 ldrb r3, [r6, #5] - 3350: 2204 movs r2, #4 - 3352: 4393 bics r3, r2 - 3354: 7173 strb r3, [r6, #5] + 33b6: 7973 ldrb r3, [r6, #5] + 33b8: 2204 movs r2, #4 + 33ba: 4393 bics r3, r2 + 33bc: 7173 strb r3, [r6, #5] if(memcmp(&p1, &p2, sizeof(const void *)) == 0) return NULL; - 3356: a90c add r1, sp, #48 ; 0x30 - 3358: a808 add r0, sp, #32 - 335a: 4b2c ldr r3, [pc, #176] ; (340c ) - 335c: 4798 blx r3 - 335e: 2800 cmp r0, #0 - 3360: d100 bne.n 3364 - 3362: e719 b.n 3198 + 33be: a90c add r1, sp, #48 ; 0x30 + 33c0: a808 add r0, sp, #32 + 33c2: 4b2c ldr r3, [pc, #176] ; (3474 ) + 33c4: 4798 blx r3 + 33c6: 2800 cmp r0, #0 + 33c8: d100 bne.n 33cc + 33ca: e719 b.n 3200 obj->state = prev_state; - 3364: 263d movs r6, #61 ; 0x3d - 3366: 4653 mov r3, sl - 3368: 55a3 strb r3, [r4, r6] + 33cc: 263d movs r6, #61 ; 0x3d + 33ce: 4653 mov r3, sl + 33d0: 55a3 strb r3, [r4, r6] p1 = _lv_obj_get_style_ptr(obj, part, prop); - 336a: 002a movs r2, r5 - 336c: 9900 ldr r1, [sp, #0] - 336e: 0020 movs r0, r4 - 3370: 4b25 ldr r3, [pc, #148] ; (3408 ) - 3372: 4798 blx r3 - 3374: 4681 mov r9, r0 - 3376: 9008 str r0, [sp, #32] + 33d2: 002a movs r2, r5 + 33d4: 9900 ldr r1, [sp, #0] + 33d6: 0020 movs r0, r4 + 33d8: 4b25 ldr r3, [pc, #148] ; (3470 ) + 33da: 4798 blx r3 + 33dc: 4681 mov r9, r0 + 33de: 9008 str r0, [sp, #32] obj->state = new_state; - 3378: 465b mov r3, fp - 337a: 55a3 strb r3, [r4, r6] + 33e0: 465b mov r3, fp + 33e2: 55a3 strb r3, [r4, r6] _lv_style_set_ptr(style_trans, prop, p1); /*Be sure `trans_style` has a valid value */ - 337c: 0002 movs r2, r0 - 337e: 0029 movs r1, r5 - 3380: 9801 ldr r0, [sp, #4] - 3382: 4b23 ldr r3, [pc, #140] ; (3410 ) - 3384: 4798 blx r3 + 33e4: 0002 movs r2, r0 + 33e6: 0029 movs r1, r5 + 33e8: 9801 ldr r0, [sp, #4] + 33ea: 4b23 ldr r3, [pc, #140] ; (3478 ) + 33ec: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 3386: 480f ldr r0, [pc, #60] ; (33c4 ) - 3388: 4b0f ldr r3, [pc, #60] ; (33c8 ) - 338a: 4798 blx r3 - 338c: 0006 movs r6, r0 + 33ee: 480f ldr r0, [pc, #60] ; (342c ) + 33f0: 4b0f ldr r3, [pc, #60] ; (3430 ) + 33f2: 4798 blx r3 + 33f4: 0006 movs r6, r0 LV_ASSERT_MEM(tr); - 338e: 4b08 ldr r3, [pc, #32] ; (33b0 ) - 3390: 4798 blx r3 - 3392: 2800 cmp r0, #0 - 3394: d006 beq.n 33a4 + 33f6: 4b08 ldr r3, [pc, #32] ; (3418 ) + 33f8: 4798 blx r3 + 33fa: 2800 cmp r0, #0 + 33fc: d006 beq.n 340c if(tr == NULL) return NULL; - 3396: 2e00 cmp r6, #0 - 3398: d100 bne.n 339c - 339a: e6fd b.n 3198 + 33fe: 2e00 cmp r6, #0 + 3400: d100 bne.n 3404 + 3402: e6fd b.n 3200 tr->start_value._ptr = p1; - 339c: 464b mov r3, r9 - 339e: 60b3 str r3, [r6, #8] + 3404: 464b mov r3, r9 + 3406: 60b3 str r3, [r6, #8] tr->end_value._ptr = p2; - 33a0: 60f7 str r7, [r6, #12] - 33a2: e6cf b.n 3144 + 3408: 60f7 str r7, [r6, #12] + 340a: e6cf b.n 31ac LV_ASSERT_MEM(tr); - 33a4: 0032 movs r2, r6 - 33a6: 2300 movs r3, #0 - 33a8: 4814 ldr r0, [pc, #80] ; (33fc ) - 33aa: 4903 ldr r1, [pc, #12] ; (33b8 ) - 33ac: 4788 blx r1 - 33ae: e7fe b.n 33ae - 33b0: 00001415 .word 0x00001415 - 33b4: 0001886c .word 0x0001886c - 33b8: 0000141d .word 0x0000141d - 33bc: 00002d49 .word 0x00002d49 - 33c0: 00004c8d .word 0x00004c8d - 33c4: 20004d68 .word 0x20004d68 - 33c8: 00010565 .word 0x00010565 - 33cc: 0000f9e5 .word 0x0000f9e5 - 33d0: 00002731 .word 0x00002731 - 33d4: 00003011 .word 0x00003011 - 33d8: 00001d99 .word 0x00001d99 - 33dc: 0000faa5 .word 0x0000faa5 - 33e0: 00005701 .word 0x00005701 - 33e4: 00001c91 .word 0x00001c91 - 33e8: 000055b9 .word 0x000055b9 - 33ec: 00002ead .word 0x00002ead - 33f0: 00004f4d .word 0x00004f4d - 33f4: 00007fff .word 0x00007fff - 33f8: 00001c31 .word 0x00001c31 - 33fc: 00018804 .word 0x00018804 - 3400: 00002e09 .word 0x00002e09 - 3404: 00004ded .word 0x00004ded - 3408: 00002f59 .word 0x00002f59 - 340c: 00017efd .word 0x00017efd - 3410: 000050a1 .word 0x000050a1 + 340c: 0032 movs r2, r6 + 340e: 2300 movs r3, #0 + 3410: 4814 ldr r0, [pc, #80] ; (3464 ) + 3412: 4903 ldr r1, [pc, #12] ; (3420 ) + 3414: 4788 blx r1 + 3416: e7fe b.n 3416 + 3418: 0000147d .word 0x0000147d + 341c: 000188fc .word 0x000188fc + 3420: 00001485 .word 0x00001485 + 3424: 00002db1 .word 0x00002db1 + 3428: 00004cf5 .word 0x00004cf5 + 342c: 20004d68 .word 0x20004d68 + 3430: 000105cd .word 0x000105cd + 3434: 0000fa4d .word 0x0000fa4d + 3438: 00002799 .word 0x00002799 + 343c: 00003079 .word 0x00003079 + 3440: 00001e01 .word 0x00001e01 + 3444: 0000fb0d .word 0x0000fb0d + 3448: 00005769 .word 0x00005769 + 344c: 00001cf9 .word 0x00001cf9 + 3450: 00005621 .word 0x00005621 + 3454: 00002f15 .word 0x00002f15 + 3458: 00004fb5 .word 0x00004fb5 + 345c: 00007fff .word 0x00007fff + 3460: 00001c99 .word 0x00001c99 + 3464: 00018894 .word 0x00018894 + 3468: 00002e71 .word 0x00002e71 + 346c: 00004e55 .word 0x00004e55 + 3470: 00002fc1 .word 0x00002fc1 + 3474: 00017f8d .word 0x00017f8d + 3478: 00005109 .word 0x00005109 for(part = 0; part < _LV_OBJ_PART_REAL_LAST; part++) { - 3414: 9b00 ldr r3, [sp, #0] - 3416: 3301 adds r3, #1 - 3418: b2db uxtb r3, r3 - 341a: 9300 str r3, [sp, #0] - 341c: 2b40 cmp r3, #64 ; 0x40 - 341e: d044 beq.n 34aa + 347c: 9b00 ldr r3, [sp, #0] + 347e: 3301 adds r3, #1 + 3480: b2db uxtb r3, r3 + 3482: 9300 str r3, [sp, #0] + 3484: 2b40 cmp r3, #64 ; 0x40 + 3486: d044 beq.n 3512 lv_style_list_t * style_list = lv_obj_get_style_list(obj, part); - 3420: 9900 ldr r1, [sp, #0] - 3422: 0020 movs r0, r4 - 3424: 4b36 ldr r3, [pc, #216] ; (3500 ) - 3426: 4798 blx r3 - 3428: 9003 str r0, [sp, #12] + 3488: 9900 ldr r1, [sp, #0] + 348a: 0020 movs r0, r4 + 348c: 4b36 ldr r3, [pc, #216] ; (3568 ) + 348e: 4798 blx r3 + 3490: 9003 str r0, [sp, #12] if(style_list == NULL) break; /*No more style lists*/ - 342a: 2800 cmp r0, #0 - 342c: d03d beq.n 34aa + 3492: 2800 cmp r0, #0 + 3494: d03d beq.n 3512 if(style_list->ignore_trans) continue; - 342e: 7943 ldrb r3, [r0, #5] - 3430: 071b lsls r3, r3, #28 - 3432: d4ef bmi.n 3414 + 3496: 7943 ldrb r3, [r0, #5] + 3498: 071b lsls r3, r3, #28 + 349a: d4ef bmi.n 347c _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 3434: 22b0 movs r2, #176 ; 0xb0 - 3436: 9e00 ldr r6, [sp, #0] - 3438: 0031 movs r1, r6 - 343a: 0020 movs r0, r4 - 343c: 4b31 ldr r3, [pc, #196] ; (3504 ) - 343e: 4798 blx r3 - 3440: 9006 str r0, [sp, #24] + 349c: 22b0 movs r2, #176 ; 0xb0 + 349e: 9e00 ldr r6, [sp, #0] + 34a0: 0031 movs r1, r6 + 34a2: 0020 movs r0, r4 + 34a4: 4b31 ldr r3, [pc, #196] ; (356c ) + 34a6: 4798 blx r3 + 34a8: 9006 str r0, [sp, #24] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar) - 3442: 22b1 movs r2, #177 ; 0xb1 - 3444: 0031 movs r1, r6 - 3446: 0020 movs r0, r4 - 3448: 4b2e ldr r3, [pc, #184] ; (3504 ) - 344a: 4798 blx r3 - 344c: 9005 str r0, [sp, #20] + 34aa: 22b1 movs r2, #177 ; 0xb1 + 34ac: 0031 movs r1, r6 + 34ae: 0020 movs r0, r4 + 34b0: 4b2e ldr r3, [pc, #184] ; (356c ) + 34b2: 4798 blx r3 + 34b4: 9005 str r0, [sp, #20] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) #if LV_USE_ANIMATION _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar) - 344e: 22be movs r2, #190 ; 0xbe - 3450: 0031 movs r1, r6 - 3452: 0020 movs r0, r4 - 3454: 4b2c ldr r3, [pc, #176] ; (3508 ) - 3456: 4798 blx r3 - 3458: 9004 str r0, [sp, #16] + 34b6: 22be movs r2, #190 ; 0xbe + 34b8: 0031 movs r1, r6 + 34ba: 0020 movs r0, r4 + 34bc: 4b2c ldr r3, [pc, #176] ; (3570 ) + 34be: 4798 blx r3 + 34c0: 9004 str r0, [sp, #16] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar) - 345a: 22b2 movs r2, #178 ; 0xb2 - 345c: 0031 movs r1, r6 - 345e: 0020 movs r0, r4 - 3460: 4b28 ldr r3, [pc, #160] ; (3504 ) - 3462: 4798 blx r3 + 34c2: 22b2 movs r2, #178 ; 0xb2 + 34c4: 0031 movs r1, r6 + 34c6: 0020 movs r0, r4 + 34c8: 4b28 ldr r3, [pc, #160] ; (356c ) + 34ca: 4798 blx r3 props[0] = lv_obj_get_style_transition_prop_1(obj, part); - 3464: ad09 add r5, sp, #36 ; 0x24 - 3466: 8028 strh r0, [r5, #0] + 34cc: ad09 add r5, sp, #36 ; 0x24 + 34ce: 8028 strh r0, [r5, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar) - 3468: 22b3 movs r2, #179 ; 0xb3 - 346a: 0031 movs r1, r6 - 346c: 0020 movs r0, r4 - 346e: 4b25 ldr r3, [pc, #148] ; (3504 ) - 3470: 4798 blx r3 + 34d0: 22b3 movs r2, #179 ; 0xb3 + 34d2: 0031 movs r1, r6 + 34d4: 0020 movs r0, r4 + 34d6: 4b25 ldr r3, [pc, #148] ; (356c ) + 34d8: 4798 blx r3 props[1] = lv_obj_get_style_transition_prop_2(obj, part); - 3472: 8068 strh r0, [r5, #2] + 34da: 8068 strh r0, [r5, #2] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) - 3474: 22b4 movs r2, #180 ; 0xb4 - 3476: 0031 movs r1, r6 - 3478: 0020 movs r0, r4 - 347a: 4b22 ldr r3, [pc, #136] ; (3504 ) - 347c: 4798 blx r3 + 34dc: 22b4 movs r2, #180 ; 0xb4 + 34de: 0031 movs r1, r6 + 34e0: 0020 movs r0, r4 + 34e2: 4b22 ldr r3, [pc, #136] ; (356c ) + 34e4: 4798 blx r3 props[2] = lv_obj_get_style_transition_prop_3(obj, part); - 347e: 80a8 strh r0, [r5, #4] + 34e6: 80a8 strh r0, [r5, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) - 3480: 22b5 movs r2, #181 ; 0xb5 - 3482: 0031 movs r1, r6 - 3484: 0020 movs r0, r4 - 3486: 4b1f ldr r3, [pc, #124] ; (3504 ) - 3488: 4798 blx r3 + 34e8: 22b5 movs r2, #181 ; 0xb5 + 34ea: 0031 movs r1, r6 + 34ec: 0020 movs r0, r4 + 34ee: 4b1f ldr r3, [pc, #124] ; (356c ) + 34f0: 4798 blx r3 props[3] = lv_obj_get_style_transition_prop_4(obj, part); - 348a: 80e8 strh r0, [r5, #6] + 34f2: 80e8 strh r0, [r5, #6] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 348c: 22b6 movs r2, #182 ; 0xb6 - 348e: 0031 movs r1, r6 - 3490: 0020 movs r0, r4 - 3492: 4b1c ldr r3, [pc, #112] ; (3504 ) - 3494: 4798 blx r3 + 34f4: 22b6 movs r2, #182 ; 0xb6 + 34f6: 0031 movs r1, r6 + 34f8: 0020 movs r0, r4 + 34fa: 4b1c ldr r3, [pc, #112] ; (356c ) + 34fc: 4798 blx r3 props[4] = lv_obj_get_style_transition_prop_5(obj, part); - 3496: 8128 strh r0, [r5, #8] + 34fe: 8128 strh r0, [r5, #8] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 3498: 22b7 movs r2, #183 ; 0xb7 - 349a: 0031 movs r1, r6 - 349c: 0020 movs r0, r4 - 349e: 4b19 ldr r3, [pc, #100] ; (3504 ) - 34a0: 4798 blx r3 + 3500: 22b7 movs r2, #183 ; 0xb7 + 3502: 0031 movs r1, r6 + 3504: 0020 movs r0, r4 + 3506: 4b19 ldr r3, [pc, #100] ; (356c ) + 3508: 4798 blx r3 props[5] = lv_obj_get_style_transition_prop_6(obj, part); - 34a2: 8168 strh r0, [r5, #10] - 34a4: 2300 movs r3, #0 - 34a6: 9302 str r3, [sp, #8] - 34a8: e67c b.n 31a4 + 350a: 8168 strh r0, [r5, #10] + 350c: 2300 movs r3, #0 + 350e: 9302 str r3, [sp, #8] + 3510: e67c b.n 320c lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 34aa: 21ff movs r1, #255 ; 0xff - 34ac: 0020 movs r0, r4 - 34ae: 4b17 ldr r3, [pc, #92] ; (350c ) - 34b0: 4798 blx r3 -} - 34b2: b01d add sp, #116 ; 0x74 - 34b4: bc3c pop {r2, r3, r4, r5} - 34b6: 4690 mov r8, r2 - 34b8: 4699 mov r9, r3 - 34ba: 46a2 mov sl, r4 - 34bc: 46ab mov fp, r5 - 34be: bdf0 pop {r4, r5, r6, r7, pc} + 3512: 21ff movs r1, #255 ; 0xff + 3514: 0020 movs r0, r4 + 3516: 4b17 ldr r3, [pc, #92] ; (3574 ) + 3518: 4798 blx r3 +} + 351a: b01d add sp, #116 ; 0x74 + 351c: bc3c pop {r2, r3, r4, r5} + 351e: 4690 mov r8, r2 + 3520: 4699 mov r9, r3 + 3522: 46a2 mov sl, r4 + 3524: 46ab mov fp, r5 + 3526: bdf0 pop {r4, r5, r6, r7, pc} lv_coord_t whalf = lv_obj_get_width(obj) / 2; - 34c0: 0020 movs r0, r4 - 34c2: 4f13 ldr r7, [pc, #76] ; (3510 ) - 34c4: 47b8 blx r7 - 34c6: 0fc6 lsrs r6, r0, #31 - 34c8: 1836 adds r6, r6, r0 - 34ca: 1076 asrs r6, r6, #1 - 34cc: b236 sxth r6, r6 + 3528: 0020 movs r0, r4 + 352a: 4f13 ldr r7, [pc, #76] ; (3578 ) + 352c: 47b8 blx r7 + 352e: 0fc6 lsrs r6, r0, #31 + 3530: 1836 adds r6, r6, r0 + 3532: 1076 asrs r6, r6, #1 + 3534: b236 sxth r6, r6 lv_coord_t hhalf = lv_obj_get_width(obj) / 2; - 34ce: 0020 movs r0, r4 - 34d0: 47b8 blx r7 - 34d2: 0fc3 lsrs r3, r0, #31 - 34d4: 181b adds r3, r3, r0 - 34d6: 105b asrs r3, r3, #1 - 34d8: b21b sxth r3, r3 + 3536: 0020 movs r0, r4 + 3538: 47b8 blx r7 + 353a: 0fc3 lsrs r3, r0, #31 + 353c: 181b adds r3, r3, r0 + 353e: 105b asrs r3, r3, #1 + 3540: b21b sxth r3, r3 if(int1 == LV_RADIUS_CIRCLE) int1 = LV_MATH_MIN(whalf + 1, hhalf + 1); - 34da: 1c71 adds r1, r6, #1 - 34dc: 1c5a adds r2, r3, #1 - 34de: 428a cmp r2, r1 - 34e0: dd00 ble.n 34e4 - 34e2: 000a movs r2, r1 - 34e4: b212 sxth r2, r2 - 34e6: 4691 mov r9, r2 + 3542: 1c71 adds r1, r6, #1 + 3544: 1c5a adds r2, r3, #1 + 3546: 428a cmp r2, r1 + 3548: dd00 ble.n 354c + 354a: 000a movs r2, r1 + 354c: b212 sxth r2, r2 + 354e: 4691 mov r9, r2 if(int2 == LV_RADIUS_CIRCLE) int2 = LV_MATH_MIN(whalf + 1, hhalf + 1); - 34e8: 4a0a ldr r2, [pc, #40] ; (3514 ) - 34ea: 4590 cmp r8, r2 - 34ec: d000 beq.n 34f0 - 34ee: e61a b.n 3126 - 34f0: 3601 adds r6, #1 - 34f2: 3301 adds r3, #1 - 34f4: 42b3 cmp r3, r6 - 34f6: dd00 ble.n 34fa - 34f8: 0033 movs r3, r6 - 34fa: b21b sxth r3, r3 - 34fc: 4698 mov r8, r3 - 34fe: e612 b.n 3126 - 3500: 00001c91 .word 0x00001c91 - 3504: 00002d49 .word 0x00002d49 - 3508: 00002f59 .word 0x00002f59 - 350c: 00002525 .word 0x00002525 - 3510: 00001c31 .word 0x00001c31 - 3514: 00007fff .word 0x00007fff - -00003518 : -{ - 3518: b570 push {r4, r5, r6, lr} - 351a: 0004 movs r4, r0 - 351c: 000d movs r5, r1 + 3550: 4a0a ldr r2, [pc, #40] ; (357c ) + 3552: 4590 cmp r8, r2 + 3554: d000 beq.n 3558 + 3556: e61a b.n 318e + 3558: 3601 adds r6, #1 + 355a: 3301 adds r3, #1 + 355c: 42b3 cmp r3, r6 + 355e: dd00 ble.n 3562 + 3560: 0033 movs r3, r6 + 3562: b21b sxth r3, r3 + 3564: 4698 mov r8, r3 + 3566: e612 b.n 318e + 3568: 00001cf9 .word 0x00001cf9 + 356c: 00002db1 .word 0x00002db1 + 3570: 00002fc1 .word 0x00002fc1 + 3574: 0000258d .word 0x0000258d + 3578: 00001c99 .word 0x00001c99 + 357c: 00007fff .word 0x00007fff + +00003580 : +{ + 3580: b570 push {r4, r5, r6, lr} + 3582: 0004 movs r4, r0 + 3584: 000d movs r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 351e: 4b0a ldr r3, [pc, #40] ; (3548 ) - 3520: 4798 blx r3 - 3522: 2800 cmp r0, #0 - 3524: d009 beq.n 353a + 3586: 4b0a ldr r3, [pc, #40] ; (35b0 ) + 3588: 4798 blx r3 + 358a: 2800 cmp r0, #0 + 358c: d009 beq.n 35a2 lv_state_t new_state = obj->state | state; - 3526: 233d movs r3, #61 ; 0x3d - 3528: 5ce3 ldrb r3, [r4, r3] - 352a: 0029 movs r1, r5 - 352c: 4319 orrs r1, r3 + 358e: 233d movs r3, #61 ; 0x3d + 3590: 5ce3 ldrb r3, [r4, r3] + 3592: 0029 movs r1, r5 + 3594: 4319 orrs r1, r3 if(obj->state != new_state) { - 352e: 428b cmp r3, r1 - 3530: d002 beq.n 3538 + 3596: 428b cmp r3, r1 + 3598: d002 beq.n 35a0 lv_obj_set_state(obj, new_state); - 3532: 0020 movs r0, r4 - 3534: 4b05 ldr r3, [pc, #20] ; (354c ) - 3536: 4798 blx r3 + 359a: 0020 movs r0, r4 + 359c: 4b05 ldr r3, [pc, #20] ; (35b4 ) + 359e: 4798 blx r3 } - 3538: bd70 pop {r4, r5, r6, pc} + 35a0: bd70 pop {r4, r5, r6, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 353a: 0022 movs r2, r4 - 353c: 2300 movs r3, #0 - 353e: 4804 ldr r0, [pc, #16] ; (3550 ) - 3540: 4904 ldr r1, [pc, #16] ; (3554 ) - 3542: 4788 blx r1 - 3544: e7fe b.n 3544 - 3546: 46c0 nop ; (mov r8, r8) - 3548: 00001415 .word 0x00001415 - 354c: 00003085 .word 0x00003085 - 3550: 0001886c .word 0x0001886c - 3554: 0000141d .word 0x0000141d - -00003558 : -{ - 3558: b570 push {r4, r5, r6, lr} - 355a: 0004 movs r4, r0 - 355c: 000d movs r5, r1 + 35a2: 0022 movs r2, r4 + 35a4: 2300 movs r3, #0 + 35a6: 4804 ldr r0, [pc, #16] ; (35b8 ) + 35a8: 4904 ldr r1, [pc, #16] ; (35bc ) + 35aa: 4788 blx r1 + 35ac: e7fe b.n 35ac + 35ae: 46c0 nop ; (mov r8, r8) + 35b0: 0000147d .word 0x0000147d + 35b4: 000030ed .word 0x000030ed + 35b8: 000188fc .word 0x000188fc + 35bc: 00001485 .word 0x00001485 + +000035c0 : +{ + 35c0: b570 push {r4, r5, r6, lr} + 35c2: 0004 movs r4, r0 + 35c4: 000d movs r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 355e: 4b0a ldr r3, [pc, #40] ; (3588 ) - 3560: 4798 blx r3 - 3562: 2800 cmp r0, #0 - 3564: d009 beq.n 357a + 35c6: 4b0a ldr r3, [pc, #40] ; (35f0 ) + 35c8: 4798 blx r3 + 35ca: 2800 cmp r0, #0 + 35cc: d009 beq.n 35e2 lv_state_t new_state = obj->state & (~state); - 3566: 233d movs r3, #61 ; 0x3d - 3568: 5ce3 ldrb r3, [r4, r3] - 356a: 0019 movs r1, r3 - 356c: 43a9 bics r1, r5 + 35ce: 233d movs r3, #61 ; 0x3d + 35d0: 5ce3 ldrb r3, [r4, r3] + 35d2: 0019 movs r1, r3 + 35d4: 43a9 bics r1, r5 if(obj->state != new_state) { - 356e: 428b cmp r3, r1 - 3570: d002 beq.n 3578 + 35d6: 428b cmp r3, r1 + 35d8: d002 beq.n 35e0 lv_obj_set_state(obj, new_state); - 3572: 0020 movs r0, r4 - 3574: 4b05 ldr r3, [pc, #20] ; (358c ) - 3576: 4798 blx r3 + 35da: 0020 movs r0, r4 + 35dc: 4b05 ldr r3, [pc, #20] ; (35f4 ) + 35de: 4798 blx r3 } - 3578: bd70 pop {r4, r5, r6, pc} + 35e0: bd70 pop {r4, r5, r6, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 357a: 0022 movs r2, r4 - 357c: 2300 movs r3, #0 - 357e: 4804 ldr r0, [pc, #16] ; (3590 ) - 3580: 4904 ldr r1, [pc, #16] ; (3594 ) - 3582: 4788 blx r1 - 3584: e7fe b.n 3584 - 3586: 46c0 nop ; (mov r8, r8) - 3588: 00001415 .word 0x00001415 - 358c: 00003085 .word 0x00003085 - 3590: 0001886c .word 0x0001886c - 3594: 0000141d .word 0x0000141d - -00003598 : -{ - 3598: b510 push {r4, lr} - 359a: 0004 movs r4, r0 + 35e2: 0022 movs r2, r4 + 35e4: 2300 movs r3, #0 + 35e6: 4804 ldr r0, [pc, #16] ; (35f8 ) + 35e8: 4904 ldr r1, [pc, #16] ; (35fc ) + 35ea: 4788 blx r1 + 35ec: e7fe b.n 35ec + 35ee: 46c0 nop ; (mov r8, r8) + 35f0: 0000147d .word 0x0000147d + 35f4: 000030ed .word 0x000030ed + 35f8: 000188fc .word 0x000188fc + 35fc: 00001485 .word 0x00001485 + +00003600 : +{ + 3600: b510 push {r4, lr} + 3602: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 359c: 4b05 ldr r3, [pc, #20] ; (35b4 ) - 359e: 4798 blx r3 - 35a0: 2800 cmp r0, #0 - 35a2: d001 beq.n 35a8 + 3604: 4b05 ldr r3, [pc, #20] ; (361c ) + 3606: 4798 blx r3 + 3608: 2800 cmp r0, #0 + 360a: d001 beq.n 3610 return obj->group_p; - 35a4: 6ba0 ldr r0, [r4, #56] ; 0x38 + 360c: 6ba0 ldr r0, [r4, #56] ; 0x38 } - 35a6: bd10 pop {r4, pc} + 360e: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 35a8: 0022 movs r2, r4 - 35aa: 2300 movs r3, #0 - 35ac: 4802 ldr r0, [pc, #8] ; (35b8 ) - 35ae: 4903 ldr r1, [pc, #12] ; (35bc ) - 35b0: 4788 blx r1 - 35b2: e7fe b.n 35b2 - 35b4: 00001415 .word 0x00001415 - 35b8: 0001886c .word 0x0001886c - 35bc: 0000141d .word 0x0000141d - -000035c0 : -{ - 35c0: b510 push {r4, lr} - 35c2: 0004 movs r4, r0 + 3610: 0022 movs r2, r4 + 3612: 2300 movs r3, #0 + 3614: 4802 ldr r0, [pc, #8] ; (3620 ) + 3616: 4903 ldr r1, [pc, #12] ; (3624 ) + 3618: 4788 blx r1 + 361a: e7fe b.n 361a + 361c: 0000147d .word 0x0000147d + 3620: 000188fc .word 0x000188fc + 3624: 00001485 .word 0x00001485 + +00003628 : +{ + 3628: b510 push {r4, lr} + 362a: 0004 movs r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 35c4: 4b0a ldr r3, [pc, #40] ; (35f0 ) - 35c6: 4798 blx r3 - 35c8: 2800 cmp r0, #0 - 35ca: d009 beq.n 35e0 + 362c: 4b0a ldr r3, [pc, #40] ; (3658 ) + 362e: 4798 blx r3 + 3630: 2800 cmp r0, #0 + 3632: d009 beq.n 3648 if(obj->group_p) { - 35cc: 6ba0 ldr r0, [r4, #56] ; 0x38 - 35ce: 2800 cmp r0, #0 - 35d0: d00c beq.n 35ec + 3634: 6ba0 ldr r0, [r4, #56] ; 0x38 + 3636: 2800 cmp r0, #0 + 3638: d00c beq.n 3654 if(lv_group_get_focused(obj->group_p) == obj) return true; - 35d2: 4b08 ldr r3, [pc, #32] ; (35f4 ) - 35d4: 4798 blx r3 - 35d6: 1a20 subs r0, r4, r0 - 35d8: 4244 negs r4, r0 - 35da: 4160 adcs r0, r4 - 35dc: b2c0 uxtb r0, r0 -} - 35de: bd10 pop {r4, pc} + 363a: 4b08 ldr r3, [pc, #32] ; (365c ) + 363c: 4798 blx r3 + 363e: 1a20 subs r0, r4, r0 + 3640: 4244 negs r4, r0 + 3642: 4160 adcs r0, r4 + 3644: b2c0 uxtb r0, r0 +} + 3646: bd10 pop {r4, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 35e0: 0022 movs r2, r4 - 35e2: 2300 movs r3, #0 - 35e4: 4804 ldr r0, [pc, #16] ; (35f8 ) - 35e6: 4905 ldr r1, [pc, #20] ; (35fc ) - 35e8: 4788 blx r1 - 35ea: e7fe b.n 35ea + 3648: 0022 movs r2, r4 + 364a: 2300 movs r3, #0 + 364c: 4804 ldr r0, [pc, #16] ; (3660 ) + 364e: 4905 ldr r1, [pc, #20] ; (3664 ) + 3650: 4788 blx r1 + 3652: e7fe b.n 3652 return false; - 35ec: 2000 movs r0, #0 - 35ee: e7f6 b.n 35de - 35f0: 00001415 .word 0x00001415 - 35f4: 000016dd .word 0x000016dd - 35f8: 0001886c .word 0x0001886c - 35fc: 0000141d .word 0x0000141d + 3654: 2000 movs r0, #0 + 3656: e7f6 b.n 3646 + 3658: 0000147d .word 0x0000147d + 365c: 00001745 .word 0x00001745 + 3660: 000188fc .word 0x000188fc + 3664: 00001485 .word 0x00001485 -00003600 : +00003668 : { - 3600: b510 push {r4, lr} + 3668: b510 push {r4, lr} if(buf->type[i] == NULL) break; - 3602: 6803 ldr r3, [r0, #0] - 3604: 2b00 cmp r3, #0 - 3606: d00d beq.n 3624 - 3608: 1d02 adds r2, r0, #4 + 366a: 6803 ldr r3, [r0, #0] + 366c: 2b00 cmp r3, #0 + 366e: d00d beq.n 368c + 3670: 1d02 adds r2, r0, #4 for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 360a: 2301 movs r3, #1 + 3672: 2301 movs r3, #1 if(buf->type[i] == NULL) break; - 360c: 6814 ldr r4, [r2, #0] - 360e: 2c00 cmp r4, #0 - 3610: d004 beq.n 361c + 3674: 6814 ldr r4, [r2, #0] + 3676: 2c00 cmp r4, #0 + 3678: d004 beq.n 3684 for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 3612: 3301 adds r3, #1 - 3614: b2db uxtb r3, r3 - 3616: 3204 adds r2, #4 - 3618: 2b07 cmp r3, #7 - 361a: d1f7 bne.n 360c + 367a: 3301 adds r3, #1 + 367c: b2db uxtb r3, r3 + 367e: 3204 adds r2, #4 + 3680: 2b07 cmp r3, #7 + 3682: d1f7 bne.n 3674 buf->type[i] = name; - 361c: 009b lsls r3, r3, #2 - 361e: 5019 str r1, [r3, r0] + 3684: 009b lsls r3, r3, #2 + 3686: 5019 str r1, [r3, r0] } - 3620: 2001 movs r0, #1 - 3622: bd10 pop {r4, pc} + 3688: 2001 movs r0, #1 + 368a: bd10 pop {r4, pc} for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 3624: 2300 movs r3, #0 - 3626: e7f9 b.n 361c - -00003628 : -{ - 3628: b5f0 push {r4, r5, r6, r7, lr} - 362a: 46ce mov lr, r9 - 362c: b500 push {lr} - 362e: b082 sub sp, #8 - 3630: 0005 movs r5, r0 - 3632: 000e movs r6, r1 - 3634: 0014 movs r4, r2 + 368c: 2300 movs r3, #0 + 368e: e7f9 b.n 3684 + +00003690 : +{ + 3690: b5f0 push {r4, r5, r6, r7, lr} + 3692: 46ce mov lr, r9 + 3694: b500 push {lr} + 3696: b082 sub sp, #8 + 3698: 0005 movs r5, r0 + 369a: 000e movs r6, r1 + 369c: 0014 movs r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 3636: 2201 movs r2, #1 - 3638: 4bc8 ldr r3, [pc, #800] ; (395c ) - 363a: 4798 blx r3 + 369e: 2201 movs r2, #1 + 36a0: 4bc8 ldr r3, [pc, #800] ; (39c4 ) + 36a2: 4798 blx r3 draw_dsc->radius = lv_obj_get_style_radius(obj, part); - 363c: 8020 strh r0, [r4, #0] + 36a4: 8020 strh r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 363e: 4ac8 ldr r2, [pc, #800] ; (3960 ) - 3640: 0031 movs r1, r6 - 3642: 0028 movs r0, r5 - 3644: 4bc7 ldr r3, [pc, #796] ; (3964 ) - 3646: 4798 blx r3 - 3648: 9001 str r0, [sp, #4] - 364a: 0007 movs r7, r0 + 36a6: 4ac8 ldr r2, [pc, #800] ; (39c8 ) + 36a8: 0031 movs r1, r6 + 36aa: 0028 movs r0, r5 + 36ac: 4bc7 ldr r3, [pc, #796] ; (39cc ) + 36ae: 4798 blx r3 + 36b0: 9001 str r0, [sp, #4] + 36b2: 0007 movs r7, r0 if(opa_scale <= LV_OPA_MIN) { - 364c: 2805 cmp r0, #5 - 364e: d935 bls.n 36bc + 36b4: 2805 cmp r0, #5 + 36b6: d935 bls.n 3724 if(draw_dsc->bg_opa != LV_OPA_TRANSP) { - 3650: 7b23 ldrb r3, [r4, #12] - 3652: 2b00 cmp r3, #0 - 3654: d13f bne.n 36d6 + 36b8: 7b23 ldrb r3, [r4, #12] + 36ba: 2b00 cmp r3, #0 + 36bc: d13f bne.n 373e if(draw_dsc->border_opa != LV_OPA_TRANSP) { - 3656: 7d23 ldrb r3, [r4, #20] - 3658: 2b00 cmp r3, #0 - 365a: d000 beq.n 365e - 365c: e06c b.n 3738 + 36be: 7d23 ldrb r3, [r4, #20] + 36c0: 2b00 cmp r3, #0 + 36c2: d000 beq.n 36c6 + 36c4: e06c b.n 37a0 if(draw_dsc->outline_opa != LV_OPA_TRANSP) { - 365e: 7f23 ldrb r3, [r4, #28] - 3660: 2b00 cmp r3, #0 - 3662: d000 beq.n 3666 - 3664: e08f b.n 3786 + 36c6: 7f23 ldrb r3, [r4, #28] + 36c8: 2b00 cmp r3, #0 + 36ca: d000 beq.n 36ce + 36cc: e08f b.n 37ee if(draw_dsc->pattern_opa != LV_OPA_TRANSP) { - 3666: 2336 movs r3, #54 ; 0x36 - 3668: 5ce3 ldrb r3, [r4, r3] - 366a: 2b00 cmp r3, #0 - 366c: d000 beq.n 3670 - 366e: e0af b.n 37d0 + 36ce: 2336 movs r3, #54 ; 0x36 + 36d0: 5ce3 ldrb r3, [r4, r3] + 36d2: 2b00 cmp r3, #0 + 36d4: d000 beq.n 36d8 + 36d6: e0af b.n 3838 if(draw_dsc->shadow_opa > LV_OPA_MIN) { - 3670: 2328 movs r3, #40 ; 0x28 - 3672: 5ce3 ldrb r3, [r4, r3] - 3674: 2b05 cmp r3, #5 - 3676: d900 bls.n 367a - 3678: e0f7 b.n 386a + 36d8: 2328 movs r3, #40 ; 0x28 + 36da: 5ce3 ldrb r3, [r4, r3] + 36dc: 2b05 cmp r3, #5 + 36de: d900 bls.n 36e2 + 36e0: e0f7 b.n 38d2 if(draw_dsc->value_opa > LV_OPA_MIN) { - 367a: 2344 movs r3, #68 ; 0x44 - 367c: 5ce3 ldrb r3, [r4, r3] - 367e: 2b05 cmp r3, #5 - 3680: d900 bls.n 3684 - 3682: e123 b.n 38cc + 36e2: 2344 movs r3, #68 ; 0x44 + 36e4: 5ce3 ldrb r3, [r4, r3] + 36e6: 2b05 cmp r3, #5 + 36e8: d900 bls.n 36ec + 36ea: e123 b.n 3934 if(opa_scale < LV_OPA_MAX) { - 3684: 2ff9 cmp r7, #249 ; 0xf9 - 3686: d822 bhi.n 36ce + 36ec: 2ff9 cmp r7, #249 ; 0xf9 + 36ee: d822 bhi.n 3736 draw_dsc->bg_opa = (uint16_t)((uint16_t)draw_dsc->bg_opa * opa_scale) >> 8; - 3688: 466b mov r3, sp - 368a: 889b ldrh r3, [r3, #4] - 368c: 7b22 ldrb r2, [r4, #12] - 368e: 435a muls r2, r3 - 3690: 0a12 lsrs r2, r2, #8 - 3692: 7322 strb r2, [r4, #12] + 36f0: 466b mov r3, sp + 36f2: 889b ldrh r3, [r3, #4] + 36f4: 7b22 ldrb r2, [r4, #12] + 36f6: 435a muls r2, r3 + 36f8: 0a12 lsrs r2, r2, #8 + 36fa: 7322 strb r2, [r4, #12] draw_dsc->border_opa = (uint16_t)((uint16_t)draw_dsc->border_opa * opa_scale) >> 8; - 3694: 7d22 ldrb r2, [r4, #20] - 3696: 435a muls r2, r3 - 3698: 0a12 lsrs r2, r2, #8 - 369a: 7522 strb r2, [r4, #20] + 36fc: 7d22 ldrb r2, [r4, #20] + 36fe: 435a muls r2, r3 + 3700: 0a12 lsrs r2, r2, #8 + 3702: 7522 strb r2, [r4, #20] draw_dsc->shadow_opa = (uint16_t)((uint16_t)draw_dsc->shadow_opa * opa_scale) >> 8; - 369c: 2128 movs r1, #40 ; 0x28 - 369e: 5c62 ldrb r2, [r4, r1] - 36a0: 435a muls r2, r3 - 36a2: 0a12 lsrs r2, r2, #8 - 36a4: 5462 strb r2, [r4, r1] + 3704: 2128 movs r1, #40 ; 0x28 + 3706: 5c62 ldrb r2, [r4, r1] + 3708: 435a muls r2, r3 + 370a: 0a12 lsrs r2, r2, #8 + 370c: 5462 strb r2, [r4, r1] draw_dsc->pattern_opa = (uint16_t)((uint16_t)draw_dsc->pattern_opa * opa_scale) >> 8; - 36a6: 310e adds r1, #14 - 36a8: 5c62 ldrb r2, [r4, r1] - 36aa: 435a muls r2, r3 - 36ac: 0a12 lsrs r2, r2, #8 - 36ae: 5462 strb r2, [r4, r1] + 370e: 310e adds r1, #14 + 3710: 5c62 ldrb r2, [r4, r1] + 3712: 435a muls r2, r3 + 3714: 0a12 lsrs r2, r2, #8 + 3716: 5462 strb r2, [r4, r1] draw_dsc->value_opa = (uint16_t)((uint16_t)draw_dsc->value_opa * opa_scale) >> 8; - 36b0: 2244 movs r2, #68 ; 0x44 - 36b2: 5ca7 ldrb r7, [r4, r2] - 36b4: 435f muls r7, r3 - 36b6: 0a3f lsrs r7, r7, #8 - 36b8: 54a7 strb r7, [r4, r2] - 36ba: e008 b.n 36ce + 3718: 2244 movs r2, #68 ; 0x44 + 371a: 5ca7 ldrb r7, [r4, r2] + 371c: 435f muls r7, r3 + 371e: 0a3f lsrs r7, r7, #8 + 3720: 54a7 strb r7, [r4, r2] + 3722: e008 b.n 3736 draw_dsc->bg_opa = LV_OPA_TRANSP; - 36bc: 2300 movs r3, #0 - 36be: 7323 strb r3, [r4, #12] + 3724: 2300 movs r3, #0 + 3726: 7323 strb r3, [r4, #12] draw_dsc->border_opa = LV_OPA_TRANSP; - 36c0: 7523 strb r3, [r4, #20] + 3728: 7523 strb r3, [r4, #20] draw_dsc->shadow_opa = LV_OPA_TRANSP; - 36c2: 2228 movs r2, #40 ; 0x28 - 36c4: 54a3 strb r3, [r4, r2] + 372a: 2228 movs r2, #40 ; 0x28 + 372c: 54a3 strb r3, [r4, r2] draw_dsc->pattern_opa = LV_OPA_TRANSP; - 36c6: 320e adds r2, #14 - 36c8: 54a3 strb r3, [r4, r2] + 372e: 320e adds r2, #14 + 3730: 54a3 strb r3, [r4, r2] draw_dsc->value_opa = LV_OPA_TRANSP; - 36ca: 320e adds r2, #14 - 36cc: 54a3 strb r3, [r4, r2] + 3732: 320e adds r2, #14 + 3734: 54a3 strb r3, [r4, r2] } - 36ce: b002 add sp, #8 - 36d0: bc04 pop {r2} - 36d2: 4691 mov r9, r2 - 36d4: bdf0 pop {r4, r5, r6, r7, pc} + 3736: b002 add sp, #8 + 3738: bc04 pop {r2} + 373a: 4691 mov r9, r2 + 373c: bdf0 pop {r4, r5, r6, r7, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 36d6: 222c movs r2, #44 ; 0x2c - 36d8: 0031 movs r1, r6 - 36da: 0028 movs r0, r5 - 36dc: 4ba1 ldr r3, [pc, #644] ; (3964 ) - 36de: 4798 blx r3 + 373e: 222c movs r2, #44 ; 0x2c + 3740: 0031 movs r1, r6 + 3742: 0028 movs r0, r5 + 3744: 4ba1 ldr r3, [pc, #644] ; (39cc ) + 3746: 4798 blx r3 draw_dsc->bg_opa = lv_obj_get_style_bg_opa(obj, part); - 36e0: 7320 strb r0, [r4, #12] + 3748: 7320 strb r0, [r4, #12] if(draw_dsc->bg_opa > LV_OPA_MIN) { - 36e2: 2805 cmp r0, #5 - 36e4: d9b7 bls.n 3656 + 374a: 2805 cmp r0, #5 + 374c: d9b7 bls.n 36be _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 36e6: 2229 movs r2, #41 ; 0x29 - 36e8: 0031 movs r1, r6 - 36ea: 0028 movs r0, r5 - 36ec: 4b9e ldr r3, [pc, #632] ; (3968 ) - 36ee: 4798 blx r3 + 374e: 2229 movs r2, #41 ; 0x29 + 3750: 0031 movs r1, r6 + 3752: 0028 movs r0, r5 + 3754: 4b9e ldr r3, [pc, #632] ; (39d0 ) + 3756: 4798 blx r3 draw_dsc->bg_color = lv_obj_get_style_bg_color(obj, part); - 36f0: 8060 strh r0, [r4, #2] + 3758: 8060 strh r0, [r4, #2] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar) - 36f2: 2223 movs r2, #35 ; 0x23 - 36f4: 0031 movs r1, r6 - 36f6: 0028 movs r0, r5 - 36f8: 4b98 ldr r3, [pc, #608] ; (395c ) - 36fa: 4798 blx r3 - 36fc: b2c0 uxtb r0, r0 + 375a: 2223 movs r2, #35 ; 0x23 + 375c: 0031 movs r1, r6 + 375e: 0028 movs r0, r5 + 3760: 4b98 ldr r3, [pc, #608] ; (39c4 ) + 3762: 4798 blx r3 + 3764: b2c0 uxtb r0, r0 draw_dsc->bg_grad_dir = lv_obj_get_style_bg_grad_dir(obj, part); - 36fe: 71a0 strb r0, [r4, #6] + 3766: 71a0 strb r0, [r4, #6] if(draw_dsc->bg_grad_dir != LV_GRAD_DIR_NONE) { - 3700: 2800 cmp r0, #0 - 3702: d106 bne.n 3712 + 3768: 2800 cmp r0, #0 + 376a: d106 bne.n 377a _LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar) - 3704: 2220 movs r2, #32 - 3706: 0031 movs r1, r6 - 3708: 0028 movs r0, r5 - 370a: 4b94 ldr r3, [pc, #592] ; (395c ) - 370c: 4798 blx r3 + 376c: 2220 movs r2, #32 + 376e: 0031 movs r1, r6 + 3770: 0028 movs r0, r5 + 3772: 4b94 ldr r3, [pc, #592] ; (39c4 ) + 3774: 4798 blx r3 draw_dsc->bg_blend_mode = lv_obj_get_style_bg_blend_mode(obj, part); - 370e: 7360 strb r0, [r4, #13] - 3710: e7a1 b.n 3656 + 3776: 7360 strb r0, [r4, #13] + 3778: e7a1 b.n 36be _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar) - 3712: 222a movs r2, #42 ; 0x2a - 3714: 0031 movs r1, r6 - 3716: 0028 movs r0, r5 - 3718: 4b93 ldr r3, [pc, #588] ; (3968 ) - 371a: 4798 blx r3 + 377a: 222a movs r2, #42 ; 0x2a + 377c: 0031 movs r1, r6 + 377e: 0028 movs r0, r5 + 3780: 4b93 ldr r3, [pc, #588] ; (39d0 ) + 3782: 4798 blx r3 draw_dsc->bg_grad_color = lv_obj_get_style_bg_grad_color(obj, part); - 371c: 80a0 strh r0, [r4, #4] + 3784: 80a0 strh r0, [r4, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar) - 371e: 2221 movs r2, #33 ; 0x21 - 3720: 0031 movs r1, r6 - 3722: 0028 movs r0, r5 - 3724: 4b8d ldr r3, [pc, #564] ; (395c ) - 3726: 4699 mov r9, r3 - 3728: 4798 blx r3 + 3786: 2221 movs r2, #33 ; 0x21 + 3788: 0031 movs r1, r6 + 378a: 0028 movs r0, r5 + 378c: 4b8d ldr r3, [pc, #564] ; (39c4 ) + 378e: 4699 mov r9, r3 + 3790: 4798 blx r3 draw_dsc->bg_main_color_stop = lv_obj_get_style_bg_main_stop(obj, part); - 372a: 8120 strh r0, [r4, #8] + 3792: 8120 strh r0, [r4, #8] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar) - 372c: 2222 movs r2, #34 ; 0x22 - 372e: 0031 movs r1, r6 - 3730: 0028 movs r0, r5 - 3732: 47c8 blx r9 + 3794: 2222 movs r2, #34 ; 0x22 + 3796: 0031 movs r1, r6 + 3798: 0028 movs r0, r5 + 379a: 47c8 blx r9 draw_dsc->bg_grad_color_stop = lv_obj_get_style_bg_grad_stop(obj, part); - 3734: 8160 strh r0, [r4, #10] - 3736: e7e5 b.n 3704 + 379c: 8160 strh r0, [r4, #10] + 379e: e7e5 b.n 376c _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 3738: 2230 movs r2, #48 ; 0x30 - 373a: 0031 movs r1, r6 - 373c: 0028 movs r0, r5 - 373e: 4b87 ldr r3, [pc, #540] ; (395c ) - 3740: 4798 blx r3 + 37a0: 2230 movs r2, #48 ; 0x30 + 37a2: 0031 movs r1, r6 + 37a4: 0028 movs r0, r5 + 37a6: 4b87 ldr r3, [pc, #540] ; (39c4 ) + 37a8: 4798 blx r3 draw_dsc->border_width = lv_obj_get_style_border_width(obj, part); - 3742: 8220 strh r0, [r4, #16] + 37aa: 8220 strh r0, [r4, #16] if(draw_dsc->border_width) { - 3744: 2800 cmp r0, #0 - 3746: d100 bne.n 374a - 3748: e789 b.n 365e + 37ac: 2800 cmp r0, #0 + 37ae: d100 bne.n 37b2 + 37b0: e789 b.n 36c6 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 374a: 223c movs r2, #60 ; 0x3c - 374c: 0031 movs r1, r6 - 374e: 0028 movs r0, r5 - 3750: 4b84 ldr r3, [pc, #528] ; (3964 ) - 3752: 4798 blx r3 + 37b2: 223c movs r2, #60 ; 0x3c + 37b4: 0031 movs r1, r6 + 37b6: 0028 movs r0, r5 + 37b8: 4b84 ldr r3, [pc, #528] ; (39cc ) + 37ba: 4798 blx r3 draw_dsc->border_opa = lv_obj_get_style_border_opa(obj, part); - 3754: 7520 strb r0, [r4, #20] + 37bc: 7520 strb r0, [r4, #20] if(draw_dsc->border_opa > LV_OPA_MIN) { - 3756: 2805 cmp r0, #5 - 3758: d806 bhi.n 3768 + 37be: 2805 cmp r0, #5 + 37c0: d806 bhi.n 37d0 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar) - 375a: 2232 movs r2, #50 ; 0x32 - 375c: 0031 movs r1, r6 - 375e: 0028 movs r0, r5 - 3760: 4b7e ldr r3, [pc, #504] ; (395c ) - 3762: 4798 blx r3 + 37c2: 2232 movs r2, #50 ; 0x32 + 37c4: 0031 movs r1, r6 + 37c6: 0028 movs r0, r5 + 37c8: 4b7e ldr r3, [pc, #504] ; (39c4 ) + 37ca: 4798 blx r3 draw_dsc->border_blend_mode = lv_obj_get_style_border_blend_mode(obj, part); - 3764: 7560 strb r0, [r4, #21] - 3766: e77a b.n 365e + 37cc: 7560 strb r0, [r4, #21] + 37ce: e77a b.n 36c6 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 3768: 2231 movs r2, #49 ; 0x31 - 376a: 0031 movs r1, r6 - 376c: 0028 movs r0, r5 - 376e: 4b7b ldr r3, [pc, #492] ; (395c ) - 3770: 4798 blx r3 + 37d0: 2231 movs r2, #49 ; 0x31 + 37d2: 0031 movs r1, r6 + 37d4: 0028 movs r0, r5 + 37d6: 4b7b ldr r3, [pc, #492] ; (39c4 ) + 37d8: 4798 blx r3 draw_dsc->border_side = lv_obj_get_style_border_side(obj, part); - 3772: 23ff movs r3, #255 ; 0xff - 3774: 4018 ands r0, r3 - 3776: 8260 strh r0, [r4, #18] + 37da: 23ff movs r3, #255 ; 0xff + 37dc: 4018 ands r0, r3 + 37de: 8260 strh r0, [r4, #18] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 3778: 2239 movs r2, #57 ; 0x39 - 377a: 0031 movs r1, r6 - 377c: 0028 movs r0, r5 - 377e: 4b7a ldr r3, [pc, #488] ; (3968 ) - 3780: 4798 blx r3 + 37e0: 2239 movs r2, #57 ; 0x39 + 37e2: 0031 movs r1, r6 + 37e4: 0028 movs r0, r5 + 37e6: 4b7a ldr r3, [pc, #488] ; (39d0 ) + 37e8: 4798 blx r3 draw_dsc->border_color = lv_obj_get_style_border_color(obj, part); - 3782: 81e0 strh r0, [r4, #14] - 3784: e7e9 b.n 375a + 37ea: 81e0 strh r0, [r4, #14] + 37ec: e7e9 b.n 37c2 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 3786: 2240 movs r2, #64 ; 0x40 - 3788: 0031 movs r1, r6 - 378a: 0028 movs r0, r5 - 378c: 4b73 ldr r3, [pc, #460] ; (395c ) - 378e: 4798 blx r3 + 37ee: 2240 movs r2, #64 ; 0x40 + 37f0: 0031 movs r1, r6 + 37f2: 0028 movs r0, r5 + 37f4: 4b73 ldr r3, [pc, #460] ; (39c4 ) + 37f6: 4798 blx r3 draw_dsc->outline_width = lv_obj_get_style_outline_width(obj, part); - 3790: 8320 strh r0, [r4, #24] + 37f8: 8320 strh r0, [r4, #24] if(draw_dsc->outline_width) { - 3792: 2800 cmp r0, #0 - 3794: d100 bne.n 3798 - 3796: e766 b.n 3666 + 37fa: 2800 cmp r0, #0 + 37fc: d100 bne.n 3800 + 37fe: e766 b.n 36ce _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 3798: 224c movs r2, #76 ; 0x4c - 379a: 0031 movs r1, r6 - 379c: 0028 movs r0, r5 - 379e: 4b71 ldr r3, [pc, #452] ; (3964 ) - 37a0: 4798 blx r3 + 3800: 224c movs r2, #76 ; 0x4c + 3802: 0031 movs r1, r6 + 3804: 0028 movs r0, r5 + 3806: 4b71 ldr r3, [pc, #452] ; (39cc ) + 3808: 4798 blx r3 draw_dsc->outline_opa = lv_obj_get_style_outline_opa(obj, part); - 37a2: 7720 strb r0, [r4, #28] + 380a: 7720 strb r0, [r4, #28] if(draw_dsc->outline_opa > LV_OPA_MIN) { - 37a4: 2805 cmp r0, #5 - 37a6: d806 bhi.n 37b6 + 380c: 2805 cmp r0, #5 + 380e: d806 bhi.n 381e _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_BLEND_MODE, outline_blend_mode, lv_blend_mode_t, _int, scalar) - 37a8: 2242 movs r2, #66 ; 0x42 - 37aa: 0031 movs r1, r6 - 37ac: 0028 movs r0, r5 - 37ae: 4b6b ldr r3, [pc, #428] ; (395c ) - 37b0: 4798 blx r3 + 3810: 2242 movs r2, #66 ; 0x42 + 3812: 0031 movs r1, r6 + 3814: 0028 movs r0, r5 + 3816: 4b6b ldr r3, [pc, #428] ; (39c4 ) + 3818: 4798 blx r3 draw_dsc->outline_blend_mode = lv_obj_get_style_outline_blend_mode(obj, part); - 37b2: 7760 strb r0, [r4, #29] - 37b4: e757 b.n 3666 + 381a: 7760 strb r0, [r4, #29] + 381c: e757 b.n 36ce _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 37b6: 2241 movs r2, #65 ; 0x41 - 37b8: 0031 movs r1, r6 - 37ba: 0028 movs r0, r5 - 37bc: 4b67 ldr r3, [pc, #412] ; (395c ) - 37be: 4798 blx r3 + 381e: 2241 movs r2, #65 ; 0x41 + 3820: 0031 movs r1, r6 + 3822: 0028 movs r0, r5 + 3824: 4b67 ldr r3, [pc, #412] ; (39c4 ) + 3826: 4798 blx r3 draw_dsc->outline_pad = lv_obj_get_style_outline_pad(obj, part); - 37c0: 8360 strh r0, [r4, #26] + 3828: 8360 strh r0, [r4, #26] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 37c2: 2249 movs r2, #73 ; 0x49 - 37c4: 0031 movs r1, r6 - 37c6: 0028 movs r0, r5 - 37c8: 4b67 ldr r3, [pc, #412] ; (3968 ) - 37ca: 4798 blx r3 + 382a: 2249 movs r2, #73 ; 0x49 + 382c: 0031 movs r1, r6 + 382e: 0028 movs r0, r5 + 3830: 4b67 ldr r3, [pc, #412] ; (39d0 ) + 3832: 4798 blx r3 draw_dsc->outline_color = lv_obj_get_style_outline_color(obj, part); - 37cc: 82e0 strh r0, [r4, #22] - 37ce: e7eb b.n 37a8 + 3834: 82e0 strh r0, [r4, #22] + 3836: e7eb b.n 3810 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar) - 37d0: 226e movs r2, #110 ; 0x6e - 37d2: 0031 movs r1, r6 - 37d4: 0028 movs r0, r5 - 37d6: 4b65 ldr r3, [pc, #404] ; (396c ) - 37d8: 4798 blx r3 + 3838: 226e movs r2, #110 ; 0x6e + 383a: 0031 movs r1, r6 + 383c: 0028 movs r0, r5 + 383e: 4b65 ldr r3, [pc, #404] ; (39d4 ) + 3840: 4798 blx r3 draw_dsc->pattern_image = lv_obj_get_style_pattern_image(obj, part); - 37da: 62e0 str r0, [r4, #44] ; 0x2c + 3842: 62e0 str r0, [r4, #44] ; 0x2c if(draw_dsc->pattern_image) { - 37dc: 2800 cmp r0, #0 - 37de: d100 bne.n 37e2 - 37e0: e746 b.n 3670 + 3844: 2800 cmp r0, #0 + 3846: d100 bne.n 384a + 3848: e746 b.n 36d8 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_OPA, pattern_opa, lv_opa_t, _opa, scalar) - 37e2: 226c movs r2, #108 ; 0x6c - 37e4: 0031 movs r1, r6 - 37e6: 0028 movs r0, r5 - 37e8: 4b5e ldr r3, [pc, #376] ; (3964 ) - 37ea: 4798 blx r3 + 384a: 226c movs r2, #108 ; 0x6c + 384c: 0031 movs r1, r6 + 384e: 0028 movs r0, r5 + 3850: 4b5e ldr r3, [pc, #376] ; (39cc ) + 3852: 4798 blx r3 draw_dsc->pattern_opa = lv_obj_get_style_pattern_opa(obj, part); - 37ec: 2336 movs r3, #54 ; 0x36 - 37ee: 54e0 strb r0, [r4, r3] + 3854: 2336 movs r3, #54 ; 0x36 + 3856: 54e0 strb r0, [r4, r3] if(draw_dsc->pattern_opa > LV_OPA_MIN) { - 37f0: 2805 cmp r0, #5 - 37f2: d800 bhi.n 37f6 - 37f4: e73c b.n 3670 + 3858: 2805 cmp r0, #5 + 385a: d800 bhi.n 385e + 385c: e73c b.n 36d8 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR_OPA, pattern_recolor_opa, lv_opa_t, _opa, scalar) - 37f6: 226d movs r2, #109 ; 0x6d - 37f8: 0031 movs r1, r6 - 37fa: 0028 movs r0, r5 - 37fc: 4b59 ldr r3, [pc, #356] ; (3964 ) - 37fe: 4798 blx r3 + 385e: 226d movs r2, #109 ; 0x6d + 3860: 0031 movs r1, r6 + 3862: 0028 movs r0, r5 + 3864: 4b59 ldr r3, [pc, #356] ; (39cc ) + 3866: 4798 blx r3 draw_dsc->pattern_recolor_opa = lv_obj_get_style_pattern_recolor_opa(obj, part); - 3800: 2337 movs r3, #55 ; 0x37 - 3802: 54e0 strb r0, [r4, r3] + 3868: 2337 movs r3, #55 ; 0x37 + 386a: 54e0 strb r0, [r4, r3] _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_REPEAT, pattern_repeat, bool, _int, scalar) - 3804: 2261 movs r2, #97 ; 0x61 - 3806: 0031 movs r1, r6 - 3808: 0028 movs r0, r5 - 380a: 4b54 ldr r3, [pc, #336] ; (395c ) - 380c: 4798 blx r3 - 380e: 0003 movs r3, r0 - 3810: 1e58 subs r0, r3, #1 - 3812: 4183 sbcs r3, r0 + 386c: 2261 movs r2, #97 ; 0x61 + 386e: 0031 movs r1, r6 + 3870: 0028 movs r0, r5 + 3872: 4b54 ldr r3, [pc, #336] ; (39c4 ) + 3874: 4798 blx r3 + 3876: 0003 movs r3, r0 + 3878: 1e58 subs r0, r3, #1 + 387a: 4183 sbcs r3, r0 draw_dsc->pattern_repeat = lv_obj_get_style_pattern_repeat(obj, part); - 3814: 2238 movs r2, #56 ; 0x38 - 3816: 5ca0 ldrb r0, [r4, r2] - 3818: 2101 movs r1, #1 - 381a: 4388 bics r0, r1 - 381c: 4318 orrs r0, r3 - 381e: 54a0 strb r0, [r4, r2] + 387c: 2238 movs r2, #56 ; 0x38 + 387e: 5ca0 ldrb r0, [r4, r2] + 3880: 2101 movs r1, #1 + 3882: 4388 bics r0, r1 + 3884: 4318 orrs r0, r3 + 3886: 54a0 strb r0, [r4, r2] if(lv_img_src_get_type(draw_dsc->pattern_image) == LV_IMG_SRC_SYMBOL) { - 3820: 6ae0 ldr r0, [r4, #44] ; 0x2c - 3822: 4b53 ldr r3, [pc, #332] ; (3970 ) - 3824: 4798 blx r3 - 3826: 2802 cmp r0, #2 - 3828: d00b beq.n 3842 + 3888: 6ae0 ldr r0, [r4, #44] ; 0x2c + 388a: 4b53 ldr r3, [pc, #332] ; (39d8 ) + 388c: 4798 blx r3 + 388e: 2802 cmp r0, #2 + 3890: d00b beq.n 38aa else if(draw_dsc->pattern_recolor_opa > LV_OPA_MIN) { - 382a: 2337 movs r3, #55 ; 0x37 - 382c: 5ce3 ldrb r3, [r4, r3] - 382e: 2b05 cmp r3, #5 - 3830: d814 bhi.n 385c + 3892: 2337 movs r3, #55 ; 0x37 + 3894: 5ce3 ldrb r3, [r4, r3] + 3896: 2b05 cmp r3, #5 + 3898: d814 bhi.n 38c4 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_BLEND_MODE, pattern_blend_mode, lv_blend_mode_t, _int, scalar) - 3832: 2260 movs r2, #96 ; 0x60 - 3834: 0031 movs r1, r6 - 3836: 0028 movs r0, r5 - 3838: 4b48 ldr r3, [pc, #288] ; (395c ) - 383a: 4798 blx r3 + 389a: 2260 movs r2, #96 ; 0x60 + 389c: 0031 movs r1, r6 + 389e: 0028 movs r0, r5 + 38a0: 4b48 ldr r3, [pc, #288] ; (39c4 ) + 38a2: 4798 blx r3 draw_dsc->pattern_blend_mode = lv_obj_get_style_pattern_blend_mode(obj, part); - 383c: 2339 movs r3, #57 ; 0x39 - 383e: 54e0 strb r0, [r4, r3] - 3840: e716 b.n 3670 + 38a4: 2339 movs r3, #57 ; 0x39 + 38a6: 54e0 strb r0, [r4, r3] + 38a8: e716 b.n 36d8 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 3842: 2269 movs r2, #105 ; 0x69 - 3844: 0031 movs r1, r6 - 3846: 0028 movs r0, r5 - 3848: 4b47 ldr r3, [pc, #284] ; (3968 ) - 384a: 4798 blx r3 + 38aa: 2269 movs r2, #105 ; 0x69 + 38ac: 0031 movs r1, r6 + 38ae: 0028 movs r0, r5 + 38b0: 4b47 ldr r3, [pc, #284] ; (39d0 ) + 38b2: 4798 blx r3 draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part); - 384c: 86a0 strh r0, [r4, #52] ; 0x34 + 38b4: 86a0 strh r0, [r4, #52] ; 0x34 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 384e: 4a49 ldr r2, [pc, #292] ; (3974 ) - 3850: 0031 movs r1, r6 - 3852: 0028 movs r0, r5 - 3854: 4b45 ldr r3, [pc, #276] ; (396c ) - 3856: 4798 blx r3 + 38b6: 4a49 ldr r2, [pc, #292] ; (39dc ) + 38b8: 0031 movs r1, r6 + 38ba: 0028 movs r0, r5 + 38bc: 4b45 ldr r3, [pc, #276] ; (39d4 ) + 38be: 4798 blx r3 draw_dsc->pattern_font = lv_obj_get_style_text_font(obj, part); - 3858: 6320 str r0, [r4, #48] ; 0x30 - 385a: e7ea b.n 3832 + 38c0: 6320 str r0, [r4, #48] ; 0x30 + 38c2: e7ea b.n 389a _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 385c: 2269 movs r2, #105 ; 0x69 - 385e: 0031 movs r1, r6 - 3860: 0028 movs r0, r5 - 3862: 4b41 ldr r3, [pc, #260] ; (3968 ) - 3864: 4798 blx r3 + 38c4: 2269 movs r2, #105 ; 0x69 + 38c6: 0031 movs r1, r6 + 38c8: 0028 movs r0, r5 + 38ca: 4b41 ldr r3, [pc, #260] ; (39d0 ) + 38cc: 4798 blx r3 draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part); - 3866: 86a0 strh r0, [r4, #52] ; 0x34 - 3868: e7e3 b.n 3832 + 38ce: 86a0 strh r0, [r4, #52] ; 0x34 + 38d0: e7e3 b.n 389a _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 386a: 2250 movs r2, #80 ; 0x50 - 386c: 0031 movs r1, r6 - 386e: 0028 movs r0, r5 - 3870: 4b3a ldr r3, [pc, #232] ; (395c ) - 3872: 4798 blx r3 + 38d2: 2250 movs r2, #80 ; 0x50 + 38d4: 0031 movs r1, r6 + 38d6: 0028 movs r0, r5 + 38d8: 4b3a ldr r3, [pc, #232] ; (39c4 ) + 38da: 4798 blx r3 draw_dsc->shadow_width = lv_obj_get_style_shadow_width(obj, part); - 3874: 8420 strh r0, [r4, #32] + 38dc: 8420 strh r0, [r4, #32] if(draw_dsc->shadow_width) { - 3876: 2800 cmp r0, #0 - 3878: d100 bne.n 387c - 387a: e6fe b.n 367a + 38de: 2800 cmp r0, #0 + 38e0: d100 bne.n 38e4 + 38e2: e6fe b.n 36e2 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar) - 387c: 225c movs r2, #92 ; 0x5c - 387e: 0031 movs r1, r6 - 3880: 0028 movs r0, r5 - 3882: 4b38 ldr r3, [pc, #224] ; (3964 ) - 3884: 4798 blx r3 + 38e4: 225c movs r2, #92 ; 0x5c + 38e6: 0031 movs r1, r6 + 38e8: 0028 movs r0, r5 + 38ea: 4b38 ldr r3, [pc, #224] ; (39cc ) + 38ec: 4798 blx r3 draw_dsc->shadow_opa = lv_obj_get_style_shadow_opa(obj, part); - 3886: 2328 movs r3, #40 ; 0x28 - 3888: 54e0 strb r0, [r4, r3] + 38ee: 2328 movs r3, #40 ; 0x28 + 38f0: 54e0 strb r0, [r4, r3] if(draw_dsc->shadow_opa > LV_OPA_MIN) { - 388a: 2805 cmp r0, #5 - 388c: d800 bhi.n 3890 - 388e: e6f4 b.n 367a + 38f2: 2805 cmp r0, #5 + 38f4: d800 bhi.n 38f8 + 38f6: e6f4 b.n 36e2 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar) - 3890: 2251 movs r2, #81 ; 0x51 - 3892: 0031 movs r1, r6 - 3894: 0028 movs r0, r5 - 3896: 4b31 ldr r3, [pc, #196] ; (395c ) - 3898: 4699 mov r9, r3 - 389a: 4798 blx r3 + 38f8: 2251 movs r2, #81 ; 0x51 + 38fa: 0031 movs r1, r6 + 38fc: 0028 movs r0, r5 + 38fe: 4b31 ldr r3, [pc, #196] ; (39c4 ) + 3900: 4699 mov r9, r3 + 3902: 4798 blx r3 draw_dsc->shadow_ofs_x = lv_obj_get_style_shadow_ofs_x(obj, part); - 389c: 8460 strh r0, [r4, #34] ; 0x22 + 3904: 8460 strh r0, [r4, #34] ; 0x22 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar) - 389e: 2252 movs r2, #82 ; 0x52 - 38a0: 0031 movs r1, r6 - 38a2: 0028 movs r0, r5 - 38a4: 47c8 blx r9 + 3906: 2252 movs r2, #82 ; 0x52 + 3908: 0031 movs r1, r6 + 390a: 0028 movs r0, r5 + 390c: 47c8 blx r9 draw_dsc->shadow_ofs_y = lv_obj_get_style_shadow_ofs_y(obj, part); - 38a6: 84a0 strh r0, [r4, #36] ; 0x24 + 390e: 84a0 strh r0, [r4, #36] ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 38a8: 2253 movs r2, #83 ; 0x53 - 38aa: 0031 movs r1, r6 - 38ac: 0028 movs r0, r5 - 38ae: 47c8 blx r9 + 3910: 2253 movs r2, #83 ; 0x53 + 3912: 0031 movs r1, r6 + 3914: 0028 movs r0, r5 + 3916: 47c8 blx r9 draw_dsc->shadow_spread = lv_obj_get_style_shadow_spread(obj, part); - 38b0: 84e0 strh r0, [r4, #38] ; 0x26 + 3918: 84e0 strh r0, [r4, #38] ; 0x26 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 38b2: 2259 movs r2, #89 ; 0x59 - 38b4: 0031 movs r1, r6 - 38b6: 0028 movs r0, r5 - 38b8: 4b2b ldr r3, [pc, #172] ; (3968 ) - 38ba: 4798 blx r3 + 391a: 2259 movs r2, #89 ; 0x59 + 391c: 0031 movs r1, r6 + 391e: 0028 movs r0, r5 + 3920: 4b2b ldr r3, [pc, #172] ; (39d0 ) + 3922: 4798 blx r3 draw_dsc->shadow_color = lv_obj_get_style_shadow_color(obj, part); - 38bc: 83e0 strh r0, [r4, #30] + 3924: 83e0 strh r0, [r4, #30] _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_BLEND_MODE, shadow_blend_mode, lv_blend_mode_t, _int, scalar) - 38be: 2254 movs r2, #84 ; 0x54 - 38c0: 0031 movs r1, r6 - 38c2: 0028 movs r0, r5 - 38c4: 47c8 blx r9 + 3926: 2254 movs r2, #84 ; 0x54 + 3928: 0031 movs r1, r6 + 392a: 0028 movs r0, r5 + 392c: 47c8 blx r9 draw_dsc->shadow_blend_mode = lv_obj_get_style_shadow_blend_mode(obj, part); - 38c6: 2329 movs r3, #41 ; 0x29 - 38c8: 54e0 strb r0, [r4, r3] - 38ca: e6d6 b.n 367a + 392e: 2329 movs r3, #41 ; 0x29 + 3930: 54e0 strb r0, [r4, r3] + 3932: e6d6 b.n 36e2 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) - 38cc: 227f movs r2, #127 ; 0x7f - 38ce: 0031 movs r1, r6 - 38d0: 0028 movs r0, r5 - 38d2: 4b26 ldr r3, [pc, #152] ; (396c ) - 38d4: 4798 blx r3 + 3934: 227f movs r2, #127 ; 0x7f + 3936: 0031 movs r1, r6 + 3938: 0028 movs r0, r5 + 393a: 4b26 ldr r3, [pc, #152] ; (39d4 ) + 393c: 4798 blx r3 draw_dsc->value_str = lv_obj_get_style_value_str(obj, part); - 38d6: 63e0 str r0, [r4, #60] ; 0x3c + 393e: 63e0 str r0, [r4, #60] ; 0x3c if(draw_dsc->value_str) { - 38d8: 2800 cmp r0, #0 - 38da: d100 bne.n 38de - 38dc: e6d2 b.n 3684 + 3940: 2800 cmp r0, #0 + 3942: d100 bne.n 3946 + 3944: e6d2 b.n 36ec _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar) - 38de: 227c movs r2, #124 ; 0x7c - 38e0: 0031 movs r1, r6 - 38e2: 0028 movs r0, r5 - 38e4: 4b1f ldr r3, [pc, #124] ; (3964 ) - 38e6: 4798 blx r3 + 3946: 227c movs r2, #124 ; 0x7c + 3948: 0031 movs r1, r6 + 394a: 0028 movs r0, r5 + 394c: 4b1f ldr r3, [pc, #124] ; (39cc ) + 394e: 4798 blx r3 draw_dsc->value_opa = lv_obj_get_style_value_opa(obj, part); - 38e8: 2344 movs r3, #68 ; 0x44 - 38ea: 54e0 strb r0, [r4, r3] + 3950: 2344 movs r3, #68 ; 0x44 + 3952: 54e0 strb r0, [r4, r3] if(draw_dsc->value_opa > LV_OPA_MIN) { - 38ec: 2805 cmp r0, #5 - 38ee: d800 bhi.n 38f2 - 38f0: e6c8 b.n 3684 + 3954: 2805 cmp r0, #5 + 3956: d800 bhi.n 395a + 3958: e6c8 b.n 36ec _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar) - 38f2: 2273 movs r2, #115 ; 0x73 - 38f4: 0031 movs r1, r6 - 38f6: 0028 movs r0, r5 - 38f8: 4b18 ldr r3, [pc, #96] ; (395c ) - 38fa: 4699 mov r9, r3 - 38fc: 4798 blx r3 + 395a: 2273 movs r2, #115 ; 0x73 + 395c: 0031 movs r1, r6 + 395e: 0028 movs r0, r5 + 3960: 4b18 ldr r3, [pc, #96] ; (39c4 ) + 3962: 4699 mov r9, r3 + 3964: 4798 blx r3 draw_dsc->value_ofs_x = lv_obj_get_style_value_ofs_x(obj, part); - 38fe: 2348 movs r3, #72 ; 0x48 - 3900: 52e0 strh r0, [r4, r3] + 3966: 2348 movs r3, #72 ; 0x48 + 3968: 52e0 strh r0, [r4, r3] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar) - 3902: 2274 movs r2, #116 ; 0x74 - 3904: 0031 movs r1, r6 - 3906: 0028 movs r0, r5 - 3908: 47c8 blx r9 + 396a: 2274 movs r2, #116 ; 0x74 + 396c: 0031 movs r1, r6 + 396e: 0028 movs r0, r5 + 3970: 47c8 blx r9 draw_dsc->value_ofs_y = lv_obj_get_style_value_ofs_y(obj, part); - 390a: 234a movs r3, #74 ; 0x4a - 390c: 52e0 strh r0, [r4, r3] + 3972: 234a movs r3, #74 ; 0x4a + 3974: 52e0 strh r0, [r4, r3] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 390e: 2279 movs r2, #121 ; 0x79 - 3910: 0031 movs r1, r6 - 3912: 0028 movs r0, r5 - 3914: 4b14 ldr r3, [pc, #80] ; (3968 ) - 3916: 4798 blx r3 + 3976: 2279 movs r2, #121 ; 0x79 + 3978: 0031 movs r1, r6 + 397a: 0028 movs r0, r5 + 397c: 4b14 ldr r3, [pc, #80] ; (39d0 ) + 397e: 4798 blx r3 draw_dsc->value_color = lv_obj_get_style_value_color(obj, part); - 3918: 2346 movs r3, #70 ; 0x46 - 391a: 52e0 strh r0, [r4, r3] + 3980: 2346 movs r3, #70 ; 0x46 + 3982: 52e0 strh r0, [r4, r3] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 391c: 227e movs r2, #126 ; 0x7e - 391e: 0031 movs r1, r6 - 3920: 0028 movs r0, r5 - 3922: 4b12 ldr r3, [pc, #72] ; (396c ) - 3924: 4798 blx r3 + 3984: 227e movs r2, #126 ; 0x7e + 3986: 0031 movs r1, r6 + 3988: 0028 movs r0, r5 + 398a: 4b12 ldr r3, [pc, #72] ; (39d4 ) + 398c: 4798 blx r3 draw_dsc->value_font = lv_obj_get_style_value_font(obj, part); - 3926: 6420 str r0, [r4, #64] ; 0x40 + 398e: 6420 str r0, [r4, #64] ; 0x40 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar) - 3928: 2270 movs r2, #112 ; 0x70 - 392a: 0031 movs r1, r6 - 392c: 0028 movs r0, r5 - 392e: 47c8 blx r9 + 3990: 2270 movs r2, #112 ; 0x70 + 3992: 0031 movs r1, r6 + 3994: 0028 movs r0, r5 + 3996: 47c8 blx r9 draw_dsc->value_letter_space = lv_obj_get_style_value_letter_space(obj, part); - 3930: 234c movs r3, #76 ; 0x4c - 3932: 52e0 strh r0, [r4, r3] + 3998: 234c movs r3, #76 ; 0x4c + 399a: 52e0 strh r0, [r4, r3] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LINE_SPACE, value_line_space, lv_style_int_t, _int, scalar) - 3934: 2271 movs r2, #113 ; 0x71 - 3936: 0031 movs r1, r6 - 3938: 0028 movs r0, r5 - 393a: 47c8 blx r9 + 399c: 2271 movs r2, #113 ; 0x71 + 399e: 0031 movs r1, r6 + 39a0: 0028 movs r0, r5 + 39a2: 47c8 blx r9 draw_dsc->value_line_space = lv_obj_get_style_value_line_space(obj, part); - 393c: 234e movs r3, #78 ; 0x4e - 393e: 52e0 strh r0, [r4, r3] + 39a4: 234e movs r3, #78 ; 0x4e + 39a6: 52e0 strh r0, [r4, r3] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar) - 3940: 2275 movs r2, #117 ; 0x75 - 3942: 0031 movs r1, r6 - 3944: 0028 movs r0, r5 - 3946: 47c8 blx r9 + 39a8: 2275 movs r2, #117 ; 0x75 + 39aa: 0031 movs r1, r6 + 39ac: 0028 movs r0, r5 + 39ae: 47c8 blx r9 draw_dsc->value_align = lv_obj_get_style_value_align(obj, part); - 3948: 2350 movs r3, #80 ; 0x50 - 394a: 54e0 strb r0, [r4, r3] + 39b0: 2350 movs r3, #80 ; 0x50 + 39b2: 54e0 strb r0, [r4, r3] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_BLEND_MODE, value_blend_mode, lv_blend_mode_t, _int, scalar) - 394c: 2272 movs r2, #114 ; 0x72 - 394e: 0031 movs r1, r6 - 3950: 0028 movs r0, r5 - 3952: 47c8 blx r9 + 39b4: 2272 movs r2, #114 ; 0x72 + 39b6: 0031 movs r1, r6 + 39b8: 0028 movs r0, r5 + 39ba: 47c8 blx r9 draw_dsc->value_blend_mode = lv_obj_get_style_value_blend_mode(obj, part); - 3954: 2351 movs r3, #81 ; 0x51 - 3956: 54e0 strb r0, [r4, r3] - 3958: e694 b.n 3684 - 395a: 46c0 nop ; (mov r8, r8) - 395c: 00002d49 .word 0x00002d49 - 3960: 0000800c .word 0x0000800c - 3964: 00002ead .word 0x00002ead - 3968: 00002e09 .word 0x00002e09 - 396c: 00002f59 .word 0x00002f59 - 3970: 000080f9 .word 0x000080f9 - 3974: 0000808e .word 0x0000808e - -00003978 : -{ - 3978: b5f0 push {r4, r5, r6, r7, lr} - 397a: b09b sub sp, #108 ; 0x6c - 397c: 0004 movs r4, r0 - 397e: 000e movs r6, r1 + 39bc: 2351 movs r3, #81 ; 0x51 + 39be: 54e0 strb r0, [r4, r3] + 39c0: e694 b.n 36ec + 39c2: 46c0 nop ; (mov r8, r8) + 39c4: 00002db1 .word 0x00002db1 + 39c8: 0000800c .word 0x0000800c + 39cc: 00002f15 .word 0x00002f15 + 39d0: 00002e71 .word 0x00002e71 + 39d4: 00002fc1 .word 0x00002fc1 + 39d8: 00008161 .word 0x00008161 + 39dc: 0000808e .word 0x0000808e + +000039e0 : +{ + 39e0: b5f0 push {r4, r5, r6, r7, lr} + 39e2: b09b sub sp, #108 ; 0x6c + 39e4: 0004 movs r4, r0 + 39e6: 000e movs r6, r1 if(mode == LV_DESIGN_COVER_CHK) { - 3980: 2a02 cmp r2, #2 - 3982: d007 beq.n 3994 + 39e8: 2a02 cmp r2, #2 + 39ea: d007 beq.n 39fc else if(mode == LV_DESIGN_DRAW_MAIN) { - 3984: 2a00 cmp r2, #0 - 3986: d061 beq.n 3a4c + 39ec: 2a00 cmp r2, #0 + 39ee: d061 beq.n 3ab4 return LV_DESIGN_RES_OK; - 3988: 2000 movs r0, #0 + 39f0: 2000 movs r0, #0 else if(mode == LV_DESIGN_DRAW_POST) { - 398a: 2a01 cmp r2, #1 - 398c: d100 bne.n 3990 - 398e: e0b5 b.n 3afc + 39f2: 2a01 cmp r2, #1 + 39f4: d100 bne.n 39f8 + 39f6: e0b5 b.n 3b64 } - 3990: b01b add sp, #108 ; 0x6c - 3992: bdf0 pop {r4, r5, r6, r7, pc} + 39f8: b01b add sp, #108 ; 0x6c + 39fa: bdf0 pop {r4, r5, r6, r7, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 3994: 2100 movs r1, #0 - 3996: 4b81 ldr r3, [pc, #516] ; (3b9c ) - 3998: 4798 blx r3 - 399a: 0003 movs r3, r0 + 39fc: 2100 movs r1, #0 + 39fe: 4b81 ldr r3, [pc, #516] ; (3c04 ) + 3a00: 4798 blx r3 + 3a02: 0003 movs r3, r0 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) return LV_DESIGN_RES_MASKED; - 399c: 2003 movs r0, #3 - 399e: 2b00 cmp r3, #0 - 39a0: d1f6 bne.n 3990 + 3a04: 2003 movs r0, #3 + 3a06: 2b00 cmp r3, #0 + 3a08: d1f6 bne.n 39f8 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 39a2: 2201 movs r2, #1 - 39a4: 2100 movs r1, #0 - 39a6: 0020 movs r0, r4 - 39a8: 4f7c ldr r7, [pc, #496] ; (3b9c ) - 39aa: 47b8 blx r7 - 39ac: 9001 str r0, [sp, #4] + 3a0a: 2201 movs r2, #1 + 3a0c: 2100 movs r1, #0 + 3a0e: 0020 movs r0, r4 + 3a10: 4f7c ldr r7, [pc, #496] ; (3c04 ) + 3a12: 47b8 blx r7 + 3a14: 9001 str r0, [sp, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 39ae: 2204 movs r2, #4 - 39b0: 2100 movs r1, #0 - 39b2: 0020 movs r0, r4 - 39b4: 47b8 blx r7 - 39b6: 0005 movs r5, r0 + 3a16: 2204 movs r2, #4 + 3a18: 2100 movs r1, #0 + 3a1a: 0020 movs r0, r4 + 3a1c: 47b8 blx r7 + 3a1e: 0005 movs r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 39b8: 2205 movs r2, #5 - 39ba: 2100 movs r1, #0 - 39bc: 0020 movs r0, r4 - 39be: 47b8 blx r7 + 3a20: 2205 movs r2, #5 + 3a22: 2100 movs r1, #0 + 3a24: 0020 movs r0, r4 + 3a26: 47b8 blx r7 lv_area_copy(&coords, &obj->coords); - 39c0: 0027 movs r7, r4 - 39c2: 3710 adds r7, #16 - 39c4: 2300 movs r3, #0 + 3a28: 0027 movs r7, r4 + 3a2a: 3710 adds r7, #16 + 3a2c: 2300 movs r3, #0 *d8 = *s8; - 39c6: a905 add r1, sp, #20 - 39c8: 5cfa ldrb r2, [r7, r3] - 39ca: 545a strb r2, [r3, r1] - 39cc: 3301 adds r3, #1 + 3a2e: a905 add r1, sp, #20 + 3a30: 5cfa ldrb r2, [r7, r3] + 3a32: 545a strb r2, [r3, r1] + 3a34: 3301 adds r3, #1 while(len) { - 39ce: 2b08 cmp r3, #8 - 39d0: d1fa bne.n 39c8 + 3a36: 2b08 cmp r3, #8 + 3a38: d1fa bne.n 3a30 coords.x1 -= w; - 39d2: b2ad uxth r5, r5 - 39d4: a905 add r1, sp, #20 - 39d6: 880b ldrh r3, [r1, #0] - 39d8: 1b5b subs r3, r3, r5 - 39da: 800b strh r3, [r1, #0] + 3a3a: b2ad uxth r5, r5 + 3a3c: a905 add r1, sp, #20 + 3a3e: 880b ldrh r3, [r1, #0] + 3a40: 1b5b subs r3, r3, r5 + 3a42: 800b strh r3, [r1, #0] coords.x2 += w; - 39dc: 888b ldrh r3, [r1, #4] - 39de: 18ed adds r5, r5, r3 - 39e0: 808d strh r5, [r1, #4] + 3a44: 888b ldrh r3, [r1, #4] + 3a46: 18ed adds r5, r5, r3 + 3a48: 808d strh r5, [r1, #4] coords.y1 -= h; - 39e2: b280 uxth r0, r0 - 39e4: 884b ldrh r3, [r1, #2] - 39e6: 1a1b subs r3, r3, r0 - 39e8: 804b strh r3, [r1, #2] + 3a4a: b280 uxth r0, r0 + 3a4c: 884b ldrh r3, [r1, #2] + 3a4e: 1a1b subs r3, r3, r0 + 3a50: 804b strh r3, [r1, #2] coords.y2 += h; - 39ea: 88cb ldrh r3, [r1, #6] - 39ec: 18c0 adds r0, r0, r3 - 39ee: 80c8 strh r0, [r1, #6] + 3a52: 88cb ldrh r3, [r1, #6] + 3a54: 18c0 adds r0, r0, r3 + 3a56: 80c8 strh r0, [r1, #6] if(_lv_area_is_in(clip_area, &coords, r) == false) return LV_DESIGN_RES_NOT_COVER; - 39f0: 9a01 ldr r2, [sp, #4] - 39f2: 0030 movs r0, r6 - 39f4: 4b6a ldr r3, [pc, #424] ; (3ba0 ) - 39f6: 4798 blx r3 - 39f8: 0003 movs r3, r0 - 39fa: 2002 movs r0, #2 - 39fc: 2b00 cmp r3, #0 - 39fe: d0c7 beq.n 3990 + 3a58: 9a01 ldr r2, [sp, #4] + 3a5a: 0030 movs r0, r6 + 3a5c: 4b6a ldr r3, [pc, #424] ; (3c08 ) + 3a5e: 4798 blx r3 + 3a60: 0003 movs r3, r0 + 3a62: 2002 movs r0, #2 + 3a64: 2b00 cmp r3, #0 + 3a66: d0c7 beq.n 39f8 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 3a00: 222c movs r2, #44 ; 0x2c - 3a02: 2100 movs r1, #0 - 3a04: 0020 movs r0, r4 - 3a06: 4b67 ldr r3, [pc, #412] ; (3ba4 ) - 3a08: 4798 blx r3 - 3a0a: 0003 movs r3, r0 + 3a68: 222c movs r2, #44 ; 0x2c + 3a6a: 2100 movs r1, #0 + 3a6c: 0020 movs r0, r4 + 3a6e: 4b67 ldr r3, [pc, #412] ; (3c0c ) + 3a70: 4798 blx r3 + 3a72: 0003 movs r3, r0 if(lv_obj_get_style_bg_opa(obj, LV_OBJ_PART_MAIN) < LV_OPA_MAX) return LV_DESIGN_RES_NOT_COVER; - 3a0c: 2002 movs r0, #2 - 3a0e: 2bf9 cmp r3, #249 ; 0xf9 - 3a10: d9be bls.n 3990 + 3a74: 2002 movs r0, #2 + 3a76: 2bf9 cmp r3, #249 ; 0xf9 + 3a78: d9be bls.n 39f8 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar) - 3a12: 2220 movs r2, #32 - 3a14: 2100 movs r1, #0 - 3a16: 0020 movs r0, r4 - 3a18: 4b60 ldr r3, [pc, #384] ; (3b9c ) - 3a1a: 4798 blx r3 + 3a7a: 2220 movs r2, #32 + 3a7c: 2100 movs r1, #0 + 3a7e: 0020 movs r0, r4 + 3a80: 4b60 ldr r3, [pc, #384] ; (3c04 ) + 3a82: 4798 blx r3 if(lv_obj_get_style_bg_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER; - 3a1c: b2c3 uxtb r3, r0 - 3a1e: 2002 movs r0, #2 - 3a20: 2b00 cmp r3, #0 - 3a22: d1b5 bne.n 3990 + 3a84: b2c3 uxtb r3, r0 + 3a86: 2002 movs r0, #2 + 3a88: 2b00 cmp r3, #0 + 3a8a: d1b5 bne.n 39f8 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar) - 3a24: 2232 movs r2, #50 ; 0x32 - 3a26: 2100 movs r1, #0 - 3a28: 0020 movs r0, r4 - 3a2a: 4b5c ldr r3, [pc, #368] ; (3b9c ) - 3a2c: 4798 blx r3 + 3a8c: 2232 movs r2, #50 ; 0x32 + 3a8e: 2100 movs r1, #0 + 3a90: 0020 movs r0, r4 + 3a92: 4b5c ldr r3, [pc, #368] ; (3c04 ) + 3a94: 4798 blx r3 if(lv_obj_get_style_border_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER; - 3a2e: b2c3 uxtb r3, r0 - 3a30: 2002 movs r0, #2 - 3a32: 2b00 cmp r3, #0 - 3a34: d1ac bne.n 3990 + 3a96: b2c3 uxtb r3, r0 + 3a98: 2002 movs r0, #2 + 3a9a: 2b00 cmp r3, #0 + 3a9c: d1ac bne.n 39f8 _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 3a36: 4a5c ldr r2, [pc, #368] ; (3ba8 ) - 3a38: 2100 movs r1, #0 - 3a3a: 0020 movs r0, r4 - 3a3c: 4b59 ldr r3, [pc, #356] ; (3ba4 ) - 3a3e: 4798 blx r3 + 3a9e: 4a5c ldr r2, [pc, #368] ; (3c10 ) + 3aa0: 2100 movs r1, #0 + 3aa2: 0020 movs r0, r4 + 3aa4: 4b59 ldr r3, [pc, #356] ; (3c0c ) + 3aa6: 4798 blx r3 return LV_DESIGN_RES_COVER; - 3a40: 2300 movs r3, #0 - 3a42: 22f9 movs r2, #249 ; 0xf9 - 3a44: 4282 cmp r2, r0 - 3a46: 415b adcs r3, r3 - 3a48: 1c58 adds r0, r3, #1 - 3a4a: e7a1 b.n 3990 + 3aa8: 2300 movs r3, #0 + 3aaa: 22f9 movs r2, #249 ; 0xf9 + 3aac: 4282 cmp r2, r0 + 3aae: 415b adcs r3, r3 + 3ab0: 1c58 adds r0, r3, #1 + 3ab2: e7a1 b.n 39f8 lv_draw_rect_dsc_init(&draw_dsc); - 3a4c: a805 add r0, sp, #20 - 3a4e: 4b57 ldr r3, [pc, #348] ; (3bac ) - 3a50: 4798 blx r3 + 3ab4: a805 add r0, sp, #20 + 3ab6: 4b57 ldr r3, [pc, #348] ; (3c14 ) + 3ab8: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 3a52: 2233 movs r2, #51 ; 0x33 - 3a54: 2100 movs r1, #0 - 3a56: 0020 movs r0, r4 - 3a58: 4b50 ldr r3, [pc, #320] ; (3b9c ) - 3a5a: 4798 blx r3 + 3aba: 2233 movs r2, #51 ; 0x33 + 3abc: 2100 movs r1, #0 + 3abe: 0020 movs r0, r4 + 3ac0: 4b50 ldr r3, [pc, #320] ; (3c04 ) + 3ac2: 4798 blx r3 if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) { - 3a5c: 2800 cmp r0, #0 - 3a5e: d002 beq.n 3a66 + 3ac4: 2800 cmp r0, #0 + 3ac6: d002 beq.n 3ace draw_dsc.border_opa = LV_OPA_TRANSP; - 3a60: 2200 movs r2, #0 - 3a62: ab05 add r3, sp, #20 - 3a64: 751a strb r2, [r3, #20] + 3ac8: 2200 movs r2, #0 + 3aca: ab05 add r3, sp, #20 + 3acc: 751a strb r2, [r3, #20] lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc); - 3a66: aa05 add r2, sp, #20 - 3a68: 2100 movs r1, #0 - 3a6a: 0020 movs r0, r4 - 3a6c: 4b50 ldr r3, [pc, #320] ; (3bb0 ) - 3a6e: 4798 blx r3 + 3ace: aa05 add r2, sp, #20 + 3ad0: 2100 movs r1, #0 + 3ad2: 0020 movs r0, r4 + 3ad4: 4b50 ldr r3, [pc, #320] ; (3c18 ) + 3ad6: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 3a70: 2204 movs r2, #4 - 3a72: 2100 movs r1, #0 - 3a74: 0020 movs r0, r4 - 3a76: 4f49 ldr r7, [pc, #292] ; (3b9c ) - 3a78: 47b8 blx r7 - 3a7a: 0005 movs r5, r0 + 3ad8: 2204 movs r2, #4 + 3ada: 2100 movs r1, #0 + 3adc: 0020 movs r0, r4 + 3ade: 4f49 ldr r7, [pc, #292] ; (3c04 ) + 3ae0: 47b8 blx r7 + 3ae2: 0005 movs r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 3a7c: 2205 movs r2, #5 - 3a7e: 2100 movs r1, #0 - 3a80: 0020 movs r0, r4 - 3a82: 47b8 blx r7 + 3ae4: 2205 movs r2, #5 + 3ae6: 2100 movs r1, #0 + 3ae8: 0020 movs r0, r4 + 3aea: 47b8 blx r7 lv_area_copy(&coords, &obj->coords); - 3a84: 0027 movs r7, r4 - 3a86: 3710 adds r7, #16 - 3a88: 2300 movs r3, #0 + 3aec: 0027 movs r7, r4 + 3aee: 3710 adds r7, #16 + 3af0: 2300 movs r3, #0 *d8 = *s8; - 3a8a: a903 add r1, sp, #12 - 3a8c: 5cfa ldrb r2, [r7, r3] - 3a8e: 545a strb r2, [r3, r1] - 3a90: 3301 adds r3, #1 + 3af2: a903 add r1, sp, #12 + 3af4: 5cfa ldrb r2, [r7, r3] + 3af6: 545a strb r2, [r3, r1] + 3af8: 3301 adds r3, #1 while(len) { - 3a92: 2b08 cmp r3, #8 - 3a94: d1fa bne.n 3a8c + 3afa: 2b08 cmp r3, #8 + 3afc: d1fa bne.n 3af4 coords.x1 -= w; - 3a96: b2ad uxth r5, r5 - 3a98: ab03 add r3, sp, #12 - 3a9a: 881a ldrh r2, [r3, #0] - 3a9c: 1b52 subs r2, r2, r5 - 3a9e: 801a strh r2, [r3, #0] + 3afe: b2ad uxth r5, r5 + 3b00: ab03 add r3, sp, #12 + 3b02: 881a ldrh r2, [r3, #0] + 3b04: 1b52 subs r2, r2, r5 + 3b06: 801a strh r2, [r3, #0] coords.x2 += w; - 3aa0: 889a ldrh r2, [r3, #4] - 3aa2: 18ad adds r5, r5, r2 - 3aa4: 809d strh r5, [r3, #4] + 3b08: 889a ldrh r2, [r3, #4] + 3b0a: 18ad adds r5, r5, r2 + 3b0c: 809d strh r5, [r3, #4] coords.y1 -= h; - 3aa6: b280 uxth r0, r0 - 3aa8: 885a ldrh r2, [r3, #2] - 3aaa: 1a12 subs r2, r2, r0 - 3aac: 805a strh r2, [r3, #2] + 3b0e: b280 uxth r0, r0 + 3b10: 885a ldrh r2, [r3, #2] + 3b12: 1a12 subs r2, r2, r0 + 3b14: 805a strh r2, [r3, #2] coords.y2 += h; - 3aae: 88da ldrh r2, [r3, #6] - 3ab0: 1880 adds r0, r0, r2 - 3ab2: 80d8 strh r0, [r3, #6] + 3b16: 88da ldrh r2, [r3, #6] + 3b18: 1880 adds r0, r0, r2 + 3b1a: 80d8 strh r0, [r3, #6] lv_draw_rect(&coords, clip_area, &draw_dsc); - 3ab4: aa05 add r2, sp, #20 - 3ab6: 0031 movs r1, r6 - 3ab8: 0018 movs r0, r3 - 3aba: 4b3e ldr r3, [pc, #248] ; (3bb4 ) - 3abc: 4798 blx r3 + 3b1c: aa05 add r2, sp, #20 + 3b1e: 0031 movs r1, r6 + 3b20: 0018 movs r0, r3 + 3b22: 4b3e ldr r3, [pc, #248] ; (3c1c ) + 3b24: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 3abe: 2202 movs r2, #2 - 3ac0: 2100 movs r1, #0 - 3ac2: 0020 movs r0, r4 - 3ac4: 4b35 ldr r3, [pc, #212] ; (3b9c ) - 3ac6: 4798 blx r3 + 3b26: 2202 movs r2, #2 + 3b28: 2100 movs r1, #0 + 3b2a: 0020 movs r0, r4 + 3b2c: 4b35 ldr r3, [pc, #212] ; (3c04 ) + 3b2e: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) { - 3ac8: 2800 cmp r0, #0 - 3aca: d101 bne.n 3ad0 + 3b30: 2800 cmp r0, #0 + 3b32: d101 bne.n 3b38 return LV_DESIGN_RES_OK; - 3acc: 2000 movs r0, #0 - 3ace: e75f b.n 3990 + 3b34: 2000 movs r0, #0 + 3b36: e75f b.n 39f8 lv_draw_mask_radius_param_t * mp = _lv_mem_buf_get(sizeof(lv_draw_mask_radius_param_t)); - 3ad0: 201c movs r0, #28 - 3ad2: 4b39 ldr r3, [pc, #228] ; (3bb8 ) - 3ad4: 4798 blx r3 - 3ad6: 0005 movs r5, r0 + 3b38: 201c movs r0, #28 + 3b3a: 4b39 ldr r3, [pc, #228] ; (3c20 ) + 3b3c: 4798 blx r3 + 3b3e: 0005 movs r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 3ad8: 2201 movs r2, #1 - 3ada: 2100 movs r1, #0 - 3adc: 0020 movs r0, r4 - 3ade: 4b2f ldr r3, [pc, #188] ; (3b9c ) - 3ae0: 4798 blx r3 - 3ae2: 0002 movs r2, r0 + 3b40: 2201 movs r2, #1 + 3b42: 2100 movs r1, #0 + 3b44: 0020 movs r0, r4 + 3b46: 4b2f ldr r3, [pc, #188] ; (3c04 ) + 3b48: 4798 blx r3 + 3b4a: 0002 movs r2, r0 lv_draw_mask_radius_init(mp, &obj->coords, r, false); - 3ae4: 2300 movs r3, #0 - 3ae6: 0039 movs r1, r7 - 3ae8: 0028 movs r0, r5 - 3aea: 4e34 ldr r6, [pc, #208] ; (3bbc ) - 3aec: 47b0 blx r6 + 3b4c: 2300 movs r3, #0 + 3b4e: 0039 movs r1, r7 + 3b50: 0028 movs r0, r5 + 3b52: 4e34 ldr r6, [pc, #208] ; (3c24 ) + 3b54: 47b0 blx r6 lv_draw_mask_add(mp, obj + 8); - 3aee: 2398 movs r3, #152 ; 0x98 - 3af0: 009b lsls r3, r3, #2 - 3af2: 18e1 adds r1, r4, r3 - 3af4: 0028 movs r0, r5 - 3af6: 4b32 ldr r3, [pc, #200] ; (3bc0 ) - 3af8: 4798 blx r3 - 3afa: e7e7 b.n 3acc + 3b56: 2398 movs r3, #152 ; 0x98 + 3b58: 009b lsls r3, r3, #2 + 3b5a: 18e1 adds r1, r4, r3 + 3b5c: 0028 movs r0, r5 + 3b5e: 4b32 ldr r3, [pc, #200] ; (3c28 ) + 3b60: 4798 blx r3 + 3b62: e7e7 b.n 3b34 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 3afc: 3201 adds r2, #1 - 3afe: 2100 movs r1, #0 - 3b00: 0020 movs r0, r4 - 3b02: 4b26 ldr r3, [pc, #152] ; (3b9c ) - 3b04: 4798 blx r3 + 3b64: 3201 adds r2, #1 + 3b66: 2100 movs r1, #0 + 3b68: 0020 movs r0, r4 + 3b6a: 4b26 ldr r3, [pc, #152] ; (3c04 ) + 3b6c: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) { - 3b06: 2800 cmp r0, #0 - 3b08: d140 bne.n 3b8c + 3b6e: 2800 cmp r0, #0 + 3b70: d140 bne.n 3bf4 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 3b0a: 2233 movs r2, #51 ; 0x33 - 3b0c: 2100 movs r1, #0 - 3b0e: 0020 movs r0, r4 - 3b10: 4b22 ldr r3, [pc, #136] ; (3b9c ) - 3b12: 4798 blx r3 - 3b14: 0003 movs r3, r0 + 3b72: 2233 movs r2, #51 ; 0x33 + 3b74: 2100 movs r1, #0 + 3b76: 0020 movs r0, r4 + 3b78: 4b22 ldr r3, [pc, #136] ; (3c04 ) + 3b7a: 4798 blx r3 + 3b7c: 0003 movs r3, r0 return LV_DESIGN_RES_OK; - 3b16: 2000 movs r0, #0 + 3b7e: 2000 movs r0, #0 if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) { - 3b18: 2b00 cmp r3, #0 - 3b1a: d100 bne.n 3b1e - 3b1c: e738 b.n 3990 + 3b80: 2b00 cmp r3, #0 + 3b82: d100 bne.n 3b86 + 3b84: e738 b.n 39f8 lv_draw_rect_dsc_init(&draw_dsc); - 3b1e: ad05 add r5, sp, #20 - 3b20: 0028 movs r0, r5 - 3b22: 4b22 ldr r3, [pc, #136] ; (3bac ) - 3b24: 4798 blx r3 + 3b86: ad05 add r5, sp, #20 + 3b88: 0028 movs r0, r5 + 3b8a: 4b22 ldr r3, [pc, #136] ; (3c14 ) + 3b8c: 4798 blx r3 draw_dsc.bg_opa = LV_OPA_TRANSP; - 3b26: 2300 movs r3, #0 - 3b28: 732b strb r3, [r5, #12] + 3b8e: 2300 movs r3, #0 + 3b90: 732b strb r3, [r5, #12] draw_dsc.pattern_opa = LV_OPA_TRANSP; - 3b2a: 2236 movs r2, #54 ; 0x36 - 3b2c: 54ab strb r3, [r5, r2] + 3b92: 2236 movs r2, #54 ; 0x36 + 3b94: 54ab strb r3, [r5, r2] draw_dsc.shadow_opa = LV_OPA_TRANSP; - 3b2e: 3a0e subs r2, #14 - 3b30: 54ab strb r3, [r5, r2] + 3b96: 3a0e subs r2, #14 + 3b98: 54ab strb r3, [r5, r2] lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc); - 3b32: 002a movs r2, r5 - 3b34: 2100 movs r1, #0 - 3b36: 0020 movs r0, r4 - 3b38: 4b1d ldr r3, [pc, #116] ; (3bb0 ) - 3b3a: 4798 blx r3 + 3b9a: 002a movs r2, r5 + 3b9c: 2100 movs r1, #0 + 3b9e: 0020 movs r0, r4 + 3ba0: 4b1d ldr r3, [pc, #116] ; (3c18 ) + 3ba2: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 3b3c: 2204 movs r2, #4 - 3b3e: 2100 movs r1, #0 - 3b40: 0020 movs r0, r4 - 3b42: 4f16 ldr r7, [pc, #88] ; (3b9c ) - 3b44: 47b8 blx r7 - 3b46: 0005 movs r5, r0 + 3ba4: 2204 movs r2, #4 + 3ba6: 2100 movs r1, #0 + 3ba8: 0020 movs r0, r4 + 3baa: 4f16 ldr r7, [pc, #88] ; (3c04 ) + 3bac: 47b8 blx r7 + 3bae: 0005 movs r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 3b48: 2205 movs r2, #5 - 3b4a: 2100 movs r1, #0 - 3b4c: 0020 movs r0, r4 - 3b4e: 47b8 blx r7 + 3bb0: 2205 movs r2, #5 + 3bb2: 2100 movs r1, #0 + 3bb4: 0020 movs r0, r4 + 3bb6: 47b8 blx r7 lv_area_copy(&coords, &obj->coords); - 3b50: 3410 adds r4, #16 - 3b52: 2300 movs r3, #0 + 3bb8: 3410 adds r4, #16 + 3bba: 2300 movs r3, #0 *d8 = *s8; - 3b54: a903 add r1, sp, #12 - 3b56: 5ce2 ldrb r2, [r4, r3] - 3b58: 545a strb r2, [r3, r1] - 3b5a: 3301 adds r3, #1 + 3bbc: a903 add r1, sp, #12 + 3bbe: 5ce2 ldrb r2, [r4, r3] + 3bc0: 545a strb r2, [r3, r1] + 3bc2: 3301 adds r3, #1 while(len) { - 3b5c: 2b08 cmp r3, #8 - 3b5e: d1fa bne.n 3b56 + 3bc4: 2b08 cmp r3, #8 + 3bc6: d1fa bne.n 3bbe coords.x1 -= w; - 3b60: b2ad uxth r5, r5 - 3b62: ab03 add r3, sp, #12 - 3b64: 881a ldrh r2, [r3, #0] - 3b66: 1b52 subs r2, r2, r5 - 3b68: 801a strh r2, [r3, #0] + 3bc8: b2ad uxth r5, r5 + 3bca: ab03 add r3, sp, #12 + 3bcc: 881a ldrh r2, [r3, #0] + 3bce: 1b52 subs r2, r2, r5 + 3bd0: 801a strh r2, [r3, #0] coords.x2 += w; - 3b6a: 889a ldrh r2, [r3, #4] - 3b6c: 18ad adds r5, r5, r2 - 3b6e: 809d strh r5, [r3, #4] + 3bd2: 889a ldrh r2, [r3, #4] + 3bd4: 18ad adds r5, r5, r2 + 3bd6: 809d strh r5, [r3, #4] coords.y1 -= h; - 3b70: b280 uxth r0, r0 - 3b72: 885a ldrh r2, [r3, #2] - 3b74: 1a12 subs r2, r2, r0 - 3b76: 805a strh r2, [r3, #2] + 3bd8: b280 uxth r0, r0 + 3bda: 885a ldrh r2, [r3, #2] + 3bdc: 1a12 subs r2, r2, r0 + 3bde: 805a strh r2, [r3, #2] coords.y2 += h; - 3b78: 88da ldrh r2, [r3, #6] - 3b7a: 1880 adds r0, r0, r2 - 3b7c: 80d8 strh r0, [r3, #6] + 3be0: 88da ldrh r2, [r3, #6] + 3be2: 1880 adds r0, r0, r2 + 3be4: 80d8 strh r0, [r3, #6] lv_draw_rect(&coords, clip_area, &draw_dsc); - 3b7e: aa05 add r2, sp, #20 - 3b80: 0031 movs r1, r6 - 3b82: 0018 movs r0, r3 - 3b84: 4b0b ldr r3, [pc, #44] ; (3bb4 ) - 3b86: 4798 blx r3 + 3be6: aa05 add r2, sp, #20 + 3be8: 0031 movs r1, r6 + 3bea: 0018 movs r0, r3 + 3bec: 4b0b ldr r3, [pc, #44] ; (3c1c ) + 3bee: 4798 blx r3 return LV_DESIGN_RES_OK; - 3b88: 2000 movs r0, #0 - 3b8a: e701 b.n 3990 + 3bf0: 2000 movs r0, #0 + 3bf2: e701 b.n 39f8 lv_draw_mask_radius_param_t * param = lv_draw_mask_remove_custom(obj + 8); - 3b8c: 2398 movs r3, #152 ; 0x98 - 3b8e: 009b lsls r3, r3, #2 - 3b90: 18e0 adds r0, r4, r3 - 3b92: 4b0c ldr r3, [pc, #48] ; (3bc4 ) - 3b94: 4798 blx r3 + 3bf4: 2398 movs r3, #152 ; 0x98 + 3bf6: 009b lsls r3, r3, #2 + 3bf8: 18e0 adds r0, r4, r3 + 3bfa: 4b0c ldr r3, [pc, #48] ; (3c2c ) + 3bfc: 4798 blx r3 _lv_mem_buf_release(param); - 3b96: 4b0c ldr r3, [pc, #48] ; (3bc8 ) - 3b98: 4798 blx r3 - 3b9a: e7b6 b.n 3b0a - 3b9c: 00002d49 .word 0x00002d49 - 3ba0: 0000fe35 .word 0x0000fe35 - 3ba4: 00002ead .word 0x00002ead - 3ba8: 0000800c .word 0x0000800c - 3bac: 0000aab9 .word 0x0000aab9 - 3bb0: 00003629 .word 0x00003629 - 3bb4: 0000ab5d .word 0x0000ab5d - 3bb8: 00010e59 .word 0x00010e59 - 3bbc: 0000a7ed .word 0x0000a7ed - 3bc0: 0000a585 .word 0x0000a585 - 3bc4: 0000a62d .word 0x0000a62d - 3bc8: 00010b6d .word 0x00010b6d - -00003bcc : -{ - 3bcc: b5f0 push {r4, r5, r6, r7, lr} - 3bce: 46de mov lr, fp - 3bd0: 4657 mov r7, sl - 3bd2: 464e mov r6, r9 - 3bd4: b5c0 push {r6, r7, lr} - 3bd6: b08a sub sp, #40 ; 0x28 - 3bd8: 0004 movs r4, r0 - 3bda: 9104 str r1, [sp, #16] + 3bfe: 4b0c ldr r3, [pc, #48] ; (3c30 ) + 3c00: 4798 blx r3 + 3c02: e7b6 b.n 3b72 + 3c04: 00002db1 .word 0x00002db1 + 3c08: 0000fe9d .word 0x0000fe9d + 3c0c: 00002f15 .word 0x00002f15 + 3c10: 0000800c .word 0x0000800c + 3c14: 0000ab21 .word 0x0000ab21 + 3c18: 00003691 .word 0x00003691 + 3c1c: 0000abc5 .word 0x0000abc5 + 3c20: 00010ec1 .word 0x00010ec1 + 3c24: 0000a855 .word 0x0000a855 + 3c28: 0000a5ed .word 0x0000a5ed + 3c2c: 0000a695 .word 0x0000a695 + 3c30: 00010bd5 .word 0x00010bd5 + +00003c34 : +{ + 3c34: b5f0 push {r4, r5, r6, r7, lr} + 3c36: 46de mov lr, fp + 3c38: 4657 mov r7, sl + 3c3a: 464e mov r6, r9 + 3c3c: b5c0 push {r6, r7, lr} + 3c3e: b08a sub sp, #40 ; 0x28 + 3c40: 0004 movs r4, r0 + 3c42: 9104 str r1, [sp, #16] _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 3bdc: 2250 movs r2, #80 ; 0x50 - 3bde: 4b78 ldr r3, [pc, #480] ; (3dc0 ) - 3be0: 4798 blx r3 - 3be2: 0006 movs r6, r0 - 3be4: 1e05 subs r5, r0, #0 + 3c44: 2250 movs r2, #80 ; 0x50 + 3c46: 4b78 ldr r3, [pc, #480] ; (3e28 ) + 3c48: 4798 blx r3 + 3c4a: 0006 movs r6, r0 + 3c4c: 1e05 subs r5, r0, #0 if(sh_width) { - 3be6: d130 bne.n 3c4a + 3c4e: d130 bne.n 3cb2 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) - 3be8: 227f movs r2, #127 ; 0x7f - 3bea: 9f04 ldr r7, [sp, #16] - 3bec: 0039 movs r1, r7 - 3bee: 0020 movs r0, r4 - 3bf0: 4b74 ldr r3, [pc, #464] ; (3dc4 ) - 3bf2: 4798 blx r3 - 3bf4: 1e06 subs r6, r0, #0 + 3c50: 227f movs r2, #127 ; 0x7f + 3c52: 9f04 ldr r7, [sp, #16] + 3c54: 0039 movs r1, r7 + 3c56: 0020 movs r0, r4 + 3c58: 4b74 ldr r3, [pc, #464] ; (3e2c ) + 3c5a: 4798 blx r3 + 3c5c: 1e06 subs r6, r0, #0 if(value_str) { - 3bf6: d006 beq.n 3c06 + 3c5e: d006 beq.n 3c6e _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar) - 3bf8: 227c movs r2, #124 ; 0x7c - 3bfa: 0039 movs r1, r7 - 3bfc: 0020 movs r0, r4 - 3bfe: 4b72 ldr r3, [pc, #456] ; (3dc8 ) - 3c00: 4798 blx r3 + 3c60: 227c movs r2, #124 ; 0x7c + 3c62: 0039 movs r1, r7 + 3c64: 0020 movs r0, r4 + 3c66: 4b72 ldr r3, [pc, #456] ; (3e30 ) + 3c68: 4798 blx r3 if(value_opa > LV_OPA_MIN) { - 3c02: 2805 cmp r0, #5 - 3c04: d850 bhi.n 3ca8 + 3c6a: 2805 cmp r0, #5 + 3c6c: d850 bhi.n 3d10 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 3c06: 2240 movs r2, #64 ; 0x40 - 3c08: 9904 ldr r1, [sp, #16] - 3c0a: 0020 movs r0, r4 - 3c0c: 4b6c ldr r3, [pc, #432] ; (3dc0 ) - 3c0e: 4798 blx r3 - 3c10: 1e06 subs r6, r0, #0 + 3c6e: 2240 movs r2, #64 ; 0x40 + 3c70: 9904 ldr r1, [sp, #16] + 3c72: 0020 movs r0, r4 + 3c74: 4b6c ldr r3, [pc, #432] ; (3e28 ) + 3c76: 4798 blx r3 + 3c78: 1e06 subs r6, r0, #0 if(outline_width) { - 3c12: d000 beq.n 3c16 - 3c14: e0c0 b.n 3d98 + 3c7a: d000 beq.n 3c7e + 3c7c: e0c0 b.n 3e00 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 3c16: 2204 movs r2, #4 - 3c18: 9904 ldr r1, [sp, #16] - 3c1a: 0020 movs r0, r4 - 3c1c: 4f68 ldr r7, [pc, #416] ; (3dc0 ) - 3c1e: 47b8 blx r7 - 3c20: 0006 movs r6, r0 + 3c7e: 2204 movs r2, #4 + 3c80: 9904 ldr r1, [sp, #16] + 3c82: 0020 movs r0, r4 + 3c84: 4f68 ldr r7, [pc, #416] ; (3e28 ) + 3c86: 47b8 blx r7 + 3c88: 0006 movs r6, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 3c22: 2205 movs r2, #5 - 3c24: 9904 ldr r1, [sp, #16] - 3c26: 0020 movs r0, r4 - 3c28: 47b8 blx r7 + 3c8a: 2205 movs r2, #5 + 3c8c: 9904 ldr r1, [sp, #16] + 3c8e: 0020 movs r0, r4 + 3c90: 47b8 blx r7 lv_coord_t wh = LV_MATH_MAX(w, h); - 3c2a: 1c03 adds r3, r0, #0 - 3c2c: 42b0 cmp r0, r6 - 3c2e: da00 bge.n 3c32 - 3c30: 1c33 adds r3, r6, #0 - 3c32: b21a sxth r2, r3 + 3c92: 1c03 adds r3, r0, #0 + 3c94: 42b0 cmp r0, r6 + 3c96: da00 bge.n 3c9a + 3c98: 1c33 adds r3, r6, #0 + 3c9a: b21a sxth r2, r3 if(wh > 0) s += wh; - 3c34: 2a00 cmp r2, #0 - 3c36: dd01 ble.n 3c3c - 3c38: 18ed adds r5, r5, r3 - 3c3a: b22d sxth r5, r5 -} - 3c3c: 0028 movs r0, r5 - 3c3e: b00a add sp, #40 ; 0x28 - 3c40: bc1c pop {r2, r3, r4} - 3c42: 4691 mov r9, r2 - 3c44: 469a mov sl, r3 - 3c46: 46a3 mov fp, r4 - 3c48: bdf0 pop {r4, r5, r6, r7, pc} + 3c9c: 2a00 cmp r2, #0 + 3c9e: dd01 ble.n 3ca4 + 3ca0: 18ed adds r5, r5, r3 + 3ca2: b22d sxth r5, r5 +} + 3ca4: 0028 movs r0, r5 + 3ca6: b00a add sp, #40 ; 0x28 + 3ca8: bc1c pop {r2, r3, r4} + 3caa: 4691 mov r9, r2 + 3cac: 469a mov sl, r3 + 3cae: 46a3 mov fp, r4 + 3cb0: bdf0 pop {r4, r5, r6, r7, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar) - 3c4a: 225c movs r2, #92 ; 0x5c - 3c4c: 9904 ldr r1, [sp, #16] - 3c4e: 0020 movs r0, r4 - 3c50: 4b5d ldr r3, [pc, #372] ; (3dc8 ) - 3c52: 4798 blx r3 + 3cb2: 225c movs r2, #92 ; 0x5c + 3cb4: 9904 ldr r1, [sp, #16] + 3cb6: 0020 movs r0, r4 + 3cb8: 4b5d ldr r3, [pc, #372] ; (3e30 ) + 3cba: 4798 blx r3 lv_coord_t s = 0; - 3c54: 2500 movs r5, #0 + 3cbc: 2500 movs r5, #0 if(sh_opa > LV_OPA_MIN) { - 3c56: 2805 cmp r0, #5 - 3c58: d9c6 bls.n 3be8 + 3cbe: 2805 cmp r0, #5 + 3cc0: d9c6 bls.n 3c50 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 3c5a: 2253 movs r2, #83 ; 0x53 - 3c5c: 9d04 ldr r5, [sp, #16] - 3c5e: 0029 movs r1, r5 - 3c60: 0020 movs r0, r4 - 3c62: 4f57 ldr r7, [pc, #348] ; (3dc0 ) - 3c64: 47b8 blx r7 + 3cc2: 2253 movs r2, #83 ; 0x53 + 3cc4: 9d04 ldr r5, [sp, #16] + 3cc6: 0029 movs r1, r5 + 3cc8: 0020 movs r0, r4 + 3cca: 4f57 ldr r7, [pc, #348] ; (3e28 ) + 3ccc: 47b8 blx r7 sh_width = sh_width / 2; /*THe blur adds only half width*/ - 3c66: 0ff3 lsrs r3, r6, #31 - 3c68: 199e adds r6, r3, r6 - 3c6a: 1076 asrs r6, r6, #1 + 3cce: 0ff3 lsrs r3, r6, #31 + 3cd0: 199e adds r6, r3, r6 + 3cd2: 1076 asrs r6, r6, #1 sh_width++; - 3c6c: 3601 adds r6, #1 + 3cd4: 3601 adds r6, #1 sh_width += lv_obj_get_style_shadow_spread(obj, part); - 3c6e: 1836 adds r6, r6, r0 - 3c70: b2b6 uxth r6, r6 + 3cd6: 1836 adds r6, r6, r0 + 3cd8: b2b6 uxth r6, r6 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar) - 3c72: 2251 movs r2, #81 ; 0x51 - 3c74: 9504 str r5, [sp, #16] - 3c76: 0029 movs r1, r5 - 3c78: 0020 movs r0, r4 - 3c7a: 47b8 blx r7 - 3c7c: 0005 movs r5, r0 + 3cda: 2251 movs r2, #81 ; 0x51 + 3cdc: 9504 str r5, [sp, #16] + 3cde: 0029 movs r1, r5 + 3ce0: 0020 movs r0, r4 + 3ce2: 47b8 blx r7 + 3ce4: 0005 movs r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar) - 3c7e: 2252 movs r2, #82 ; 0x52 - 3c80: 9904 ldr r1, [sp, #16] - 3c82: 0020 movs r0, r4 - 3c84: 47b8 blx r7 + 3ce6: 2252 movs r2, #82 ; 0x52 + 3ce8: 9904 ldr r1, [sp, #16] + 3cea: 0020 movs r0, r4 + 3cec: 47b8 blx r7 sh_width += LV_MATH_MAX(LV_MATH_ABS(sh_ofs_x), LV_MATH_ABS(sh_ofs_y)); - 3c86: 17ea asrs r2, r5, #31 - 3c88: 18ab adds r3, r5, r2 - 3c8a: 4053 eors r3, r2 - 3c8c: 17c2 asrs r2, r0, #31 - 3c8e: 1880 adds r0, r0, r2 - 3c90: 4050 eors r0, r2 - 3c92: 4298 cmp r0, r3 - 3c94: da00 bge.n 3c98 - 3c96: 0018 movs r0, r3 - 3c98: 1830 adds r0, r6, r0 + 3cee: 17ea asrs r2, r5, #31 + 3cf0: 18ab adds r3, r5, r2 + 3cf2: 4053 eors r3, r2 + 3cf4: 17c2 asrs r2, r0, #31 + 3cf6: 1880 adds r0, r0, r2 + 3cf8: 4050 eors r0, r2 + 3cfa: 4298 cmp r0, r3 + 3cfc: da00 bge.n 3d00 + 3cfe: 0018 movs r0, r3 + 3d00: 1830 adds r0, r6, r0 s = LV_MATH_MAX(s, sh_width); - 3c9a: 1c03 adds r3, r0, #0 - 3c9c: 0402 lsls r2, r0, #16 - 3c9e: d401 bmi.n 3ca4 - 3ca0: b21d sxth r5, r3 - 3ca2: e7a1 b.n 3be8 - 3ca4: 2300 movs r3, #0 - 3ca6: e7fb b.n 3ca0 + 3d02: 1c03 adds r3, r0, #0 + 3d04: 0402 lsls r2, r0, #16 + 3d06: d401 bmi.n 3d0c + 3d08: b21d sxth r5, r3 + 3d0a: e7a1 b.n 3c50 + 3d0c: 2300 movs r3, #0 + 3d0e: e7fb b.n 3d08 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar) - 3ca8: 2270 movs r2, #112 ; 0x70 - 3caa: 9f04 ldr r7, [sp, #16] - 3cac: 0039 movs r1, r7 - 3cae: 0020 movs r0, r4 - 3cb0: 4b43 ldr r3, [pc, #268] ; (3dc0 ) - 3cb2: 4699 mov r9, r3 - 3cb4: 4798 blx r3 - 3cb6: 9005 str r0, [sp, #20] - 3cb8: 2270 movs r2, #112 ; 0x70 - 3cba: 0039 movs r1, r7 - 3cbc: 0020 movs r0, r4 - 3cbe: 47c8 blx r9 - 3cc0: 4683 mov fp, r0 + 3d10: 2270 movs r2, #112 ; 0x70 + 3d12: 9f04 ldr r7, [sp, #16] + 3d14: 0039 movs r1, r7 + 3d16: 0020 movs r0, r4 + 3d18: 4b43 ldr r3, [pc, #268] ; (3e28 ) + 3d1a: 4699 mov r9, r3 + 3d1c: 4798 blx r3 + 3d1e: 9005 str r0, [sp, #20] + 3d20: 2270 movs r2, #112 ; 0x70 + 3d22: 0039 movs r1, r7 + 3d24: 0020 movs r0, r4 + 3d26: 47c8 blx r9 + 3d28: 4683 mov fp, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 3cc2: 227e movs r2, #126 ; 0x7e - 3cc4: 9704 str r7, [sp, #16] - 3cc6: 0039 movs r1, r7 - 3cc8: 0020 movs r0, r4 - 3cca: 4b3e ldr r3, [pc, #248] ; (3dc4 ) - 3ccc: 4798 blx r3 - 3cce: 0002 movs r2, r0 + 3d2a: 227e movs r2, #126 ; 0x7e + 3d2c: 9704 str r7, [sp, #16] + 3d2e: 0039 movs r1, r7 + 3d30: 0020 movs r0, r4 + 3d32: 4b3e ldr r3, [pc, #248] ; (3e2c ) + 3d34: 4798 blx r3 + 3d36: 0002 movs r2, r0 _lv_txt_get_size(&txt_size, value_str, font, letter_space, line_space, LV_COORD_MAX, LV_TXT_FLAG_NONE); - 3cd0: af06 add r7, sp, #24 - 3cd2: 2100 movs r1, #0 - 3cd4: 468a mov sl, r1 - 3cd6: 9102 str r1, [sp, #8] - 3cd8: 4b3c ldr r3, [pc, #240] ; (3dcc ) - 3cda: 9301 str r3, [sp, #4] - 3cdc: 4659 mov r1, fp - 3cde: 9100 str r1, [sp, #0] - 3ce0: 9b05 ldr r3, [sp, #20] - 3ce2: 0031 movs r1, r6 - 3ce4: 0038 movs r0, r7 - 3ce6: 4e3a ldr r6, [pc, #232] ; (3dd0 ) - 3ce8: 47b0 blx r6 + 3d38: af06 add r7, sp, #24 + 3d3a: 2100 movs r1, #0 + 3d3c: 468a mov sl, r1 + 3d3e: 9102 str r1, [sp, #8] + 3d40: 4b3c ldr r3, [pc, #240] ; (3e34 ) + 3d42: 9301 str r3, [sp, #4] + 3d44: 4659 mov r1, fp + 3d46: 9100 str r1, [sp, #0] + 3d48: 9b05 ldr r3, [sp, #20] + 3d4a: 0031 movs r1, r6 + 3d4c: 0038 movs r0, r7 + 3d4e: 4e3a ldr r6, [pc, #232] ; (3e38 ) + 3d50: 47b0 blx r6 value_area.x1 = 0; - 3cea: ae08 add r6, sp, #32 - 3cec: 4653 mov r3, sl - 3cee: 8033 strh r3, [r6, #0] + 3d52: ae08 add r6, sp, #32 + 3d54: 4653 mov r3, sl + 3d56: 8033 strh r3, [r6, #0] value_area.y1 = 0; - 3cf0: 8073 strh r3, [r6, #2] + 3d58: 8073 strh r3, [r6, #2] value_area.x2 = txt_size.x - 1; - 3cf2: 883b ldrh r3, [r7, #0] - 3cf4: 3b01 subs r3, #1 - 3cf6: 80b3 strh r3, [r6, #4] + 3d5a: 883b ldrh r3, [r7, #0] + 3d5c: 3b01 subs r3, #1 + 3d5e: 80b3 strh r3, [r6, #4] value_area.y2 = txt_size.y - 1; - 3cf8: 887b ldrh r3, [r7, #2] - 3cfa: 3b01 subs r3, #1 - 3cfc: 80f3 strh r3, [r6, #6] + 3d60: 887b ldrh r3, [r7, #2] + 3d62: 3b01 subs r3, #1 + 3d64: 80f3 strh r3, [r6, #6] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar) - 3cfe: 2275 movs r2, #117 ; 0x75 - 3d00: 9f04 ldr r7, [sp, #16] - 3d02: 0039 movs r1, r7 - 3d04: 0020 movs r0, r4 - 3d06: 47c8 blx r9 - 3d08: 9005 str r0, [sp, #20] + 3d66: 2275 movs r2, #117 ; 0x75 + 3d68: 9f04 ldr r7, [sp, #16] + 3d6a: 0039 movs r1, r7 + 3d6c: 0020 movs r0, r4 + 3d6e: 47c8 blx r9 + 3d70: 9005 str r0, [sp, #20] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar) - 3d0a: 2273 movs r2, #115 ; 0x73 - 3d0c: 0039 movs r1, r7 - 3d0e: 0020 movs r0, r4 - 3d10: 47c8 blx r9 - 3d12: 4682 mov sl, r0 + 3d72: 2273 movs r2, #115 ; 0x73 + 3d74: 0039 movs r1, r7 + 3d76: 0020 movs r0, r4 + 3d78: 47c8 blx r9 + 3d7a: 4682 mov sl, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar) - 3d14: 2274 movs r2, #116 ; 0x74 - 3d16: 0039 movs r1, r7 - 3d18: 0020 movs r0, r4 - 3d1a: 47c8 blx r9 - 3d1c: 4681 mov r9, r0 + 3d7c: 2274 movs r2, #116 ; 0x74 + 3d7e: 0039 movs r1, r7 + 3d80: 0020 movs r0, r4 + 3d82: 47c8 blx r9 + 3d84: 4681 mov r9, r0 _lv_area_align(&obj->coords, &value_area, align, &p_align); - 3d1e: aa07 add r2, sp, #28 - 3d20: 0013 movs r3, r2 - 3d22: 466a mov r2, sp - 3d24: 7d12 ldrb r2, [r2, #20] - 3d26: 0020 movs r0, r4 - 3d28: 3010 adds r0, #16 - 3d2a: 9305 str r3, [sp, #20] - 3d2c: 0031 movs r1, r6 - 3d2e: 4f29 ldr r7, [pc, #164] ; (3dd4 ) - 3d30: 47b8 blx r7 + 3d86: aa07 add r2, sp, #28 + 3d88: 0013 movs r3, r2 + 3d8a: 466a mov r2, sp + 3d8c: 7d12 ldrb r2, [r2, #20] + 3d8e: 0020 movs r0, r4 + 3d90: 3010 adds r0, #16 + 3d92: 9305 str r3, [sp, #20] + 3d94: 0031 movs r1, r6 + 3d96: 4f29 ldr r7, [pc, #164] ; (3e3c ) + 3d98: 47b8 blx r7 value_area.x1 += p_align.x + xofs; - 3d32: 9a05 ldr r2, [sp, #20] - 3d34: 8813 ldrh r3, [r2, #0] - 3d36: 4453 add r3, sl - 3d38: b29b uxth r3, r3 + 3d9a: 9a05 ldr r2, [sp, #20] + 3d9c: 8813 ldrh r3, [r2, #0] + 3d9e: 4453 add r3, sl + 3da0: b29b uxth r3, r3 value_area.y1 += p_align.y + yofs; - 3d3a: 8852 ldrh r2, [r2, #2] - 3d3c: 444a add r2, r9 - 3d3e: b292 uxth r2, r2 + 3da2: 8852 ldrh r2, [r2, #2] + 3da4: 444a add r2, r9 + 3da6: b292 uxth r2, r2 s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1); - 3d40: 2010 movs r0, #16 - 3d42: 5e21 ldrsh r1, [r4, r0] + 3da8: 2010 movs r0, #16 + 3daa: 5e21 ldrsh r1, [r4, r0] value_area.x1 += p_align.x + xofs; - 3d44: 8836 ldrh r6, [r6, #0] - 3d46: 199e adds r6, r3, r6 + 3dac: 8836 ldrh r6, [r6, #0] + 3dae: 199e adds r6, r3, r6 s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1); - 3d48: b236 sxth r6, r6 - 3d4a: 1b8e subs r6, r1, r6 - 3d4c: 42ae cmp r6, r5 - 3d4e: da00 bge.n 3d52 - 3d50: 002e movs r6, r5 + 3db0: b236 sxth r6, r6 + 3db2: 1b8e subs r6, r1, r6 + 3db4: 42ae cmp r6, r5 + 3db6: da00 bge.n 3dba + 3db8: 002e movs r6, r5 s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1); - 3d52: 2112 movs r1, #18 - 3d54: 5e60 ldrsh r0, [r4, r1] + 3dba: 2112 movs r1, #18 + 3dbc: 5e60 ldrsh r0, [r4, r1] value_area.y1 += p_align.y + yofs; - 3d56: a908 add r1, sp, #32 - 3d58: 8849 ldrh r1, [r1, #2] - 3d5a: 1851 adds r1, r2, r1 + 3dbe: a908 add r1, sp, #32 + 3dc0: 8849 ldrh r1, [r1, #2] + 3dc2: 1851 adds r1, r2, r1 s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1); - 3d5c: b209 sxth r1, r1 - 3d5e: b236 sxth r6, r6 - 3d60: 1a41 subs r1, r0, r1 - 3d62: 42b1 cmp r1, r6 - 3d64: da00 bge.n 3d68 - 3d66: 0031 movs r1, r6 + 3dc4: b209 sxth r1, r1 + 3dc6: b236 sxth r6, r6 + 3dc8: 1a41 subs r1, r0, r1 + 3dca: 42b1 cmp r1, r6 + 3dcc: da00 bge.n 3dd0 + 3dce: 0031 movs r1, r6 value_area.x2 += p_align.x + xofs; - 3d68: a808 add r0, sp, #32 - 3d6a: 8880 ldrh r0, [r0, #4] - 3d6c: 181b adds r3, r3, r0 + 3dd0: a808 add r0, sp, #32 + 3dd2: 8880 ldrh r0, [r0, #4] + 3dd4: 181b adds r3, r3, r0 s = LV_MATH_MAX(s, value_area.x2 - obj->coords.x2); - 3d6e: b21b sxth r3, r3 - 3d70: 2514 movs r5, #20 - 3d72: 5f60 ldrsh r0, [r4, r5] - 3d74: b209 sxth r1, r1 - 3d76: 1a1b subs r3, r3, r0 - 3d78: 428b cmp r3, r1 - 3d7a: da00 bge.n 3d7e - 3d7c: 000b movs r3, r1 + 3dd6: b21b sxth r3, r3 + 3dd8: 2514 movs r5, #20 + 3dda: 5f60 ldrsh r0, [r4, r5] + 3ddc: b209 sxth r1, r1 + 3dde: 1a1b subs r3, r3, r0 + 3de0: 428b cmp r3, r1 + 3de2: da00 bge.n 3de6 + 3de4: 000b movs r3, r1 value_area.y2 += p_align.y + yofs; - 3d7e: a908 add r1, sp, #32 - 3d80: 88c9 ldrh r1, [r1, #6] - 3d82: 1852 adds r2, r2, r1 + 3de6: a908 add r1, sp, #32 + 3de8: 88c9 ldrh r1, [r1, #6] + 3dea: 1852 adds r2, r2, r1 s = LV_MATH_MAX(s, value_area.y2 - obj->coords.y2); - 3d84: b212 sxth r2, r2 - 3d86: 2016 movs r0, #22 - 3d88: 5e21 ldrsh r1, [r4, r0] - 3d8a: b21b sxth r3, r3 - 3d8c: 1a52 subs r2, r2, r1 - 3d8e: 429a cmp r2, r3 - 3d90: da00 bge.n 3d94 - 3d92: 001a movs r2, r3 - 3d94: b215 sxth r5, r2 - 3d96: e736 b.n 3c06 + 3dec: b212 sxth r2, r2 + 3dee: 2016 movs r0, #22 + 3df0: 5e21 ldrsh r1, [r4, r0] + 3df2: b21b sxth r3, r3 + 3df4: 1a52 subs r2, r2, r1 + 3df6: 429a cmp r2, r3 + 3df8: da00 bge.n 3dfc + 3dfa: 001a movs r2, r3 + 3dfc: b215 sxth r5, r2 + 3dfe: e736 b.n 3c6e _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 3d98: 224c movs r2, #76 ; 0x4c - 3d9a: 9904 ldr r1, [sp, #16] - 3d9c: 0020 movs r0, r4 - 3d9e: 4b0a ldr r3, [pc, #40] ; (3dc8 ) - 3da0: 4798 blx r3 + 3e00: 224c movs r2, #76 ; 0x4c + 3e02: 9904 ldr r1, [sp, #16] + 3e04: 0020 movs r0, r4 + 3e06: 4b0a ldr r3, [pc, #40] ; (3e30 ) + 3e08: 4798 blx r3 if(outline_opa > LV_OPA_MIN) { - 3da2: 2805 cmp r0, #5 - 3da4: d800 bhi.n 3da8 - 3da6: e736 b.n 3c16 + 3e0a: 2805 cmp r0, #5 + 3e0c: d800 bhi.n 3e10 + 3e0e: e736 b.n 3c7e _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 3da8: 2241 movs r2, #65 ; 0x41 - 3daa: 9904 ldr r1, [sp, #16] - 3dac: 0020 movs r0, r4 - 3dae: 4b04 ldr r3, [pc, #16] ; (3dc0 ) - 3db0: 4798 blx r3 + 3e10: 2241 movs r2, #65 ; 0x41 + 3e12: 9904 ldr r1, [sp, #16] + 3e14: 0020 movs r0, r4 + 3e16: 4b04 ldr r3, [pc, #16] ; (3e28 ) + 3e18: 4798 blx r3 s = LV_MATH_MAX(s, outline_pad + outline_width); - 3db2: 1986 adds r6, r0, r6 - 3db4: 42ae cmp r6, r5 - 3db6: da00 bge.n 3dba - 3db8: 002e movs r6, r5 - 3dba: b235 sxth r5, r6 - 3dbc: e72b b.n 3c16 - 3dbe: 46c0 nop ; (mov r8, r8) - 3dc0: 00002d49 .word 0x00002d49 - 3dc4: 00002f59 .word 0x00002f59 - 3dc8: 00002ead .word 0x00002ead - 3dcc: 00007c18 .word 0x00007c18 - 3dd0: 00011a7d .word 0x00011a7d - 3dd4: 0000fed9 .word 0x0000fed9 - -00003dd8 : -{ - 3dd8: b510 push {r4, lr} - 3dda: 0004 movs r4, r0 + 3e1a: 1986 adds r6, r0, r6 + 3e1c: 42ae cmp r6, r5 + 3e1e: da00 bge.n 3e22 + 3e20: 002e movs r6, r5 + 3e22: b235 sxth r5, r6 + 3e24: e72b b.n 3c7e + 3e26: 46c0 nop ; (mov r8, r8) + 3e28: 00002db1 .word 0x00002db1 + 3e2c: 00002fc1 .word 0x00002fc1 + 3e30: 00002f15 .word 0x00002f15 + 3e34: 00007c18 .word 0x00007c18 + 3e38: 00011ae5 .word 0x00011ae5 + 3e3c: 0000ff41 .word 0x0000ff41 + +00003e40 : +{ + 3e40: b510 push {r4, lr} + 3e42: 0004 movs r4, r0 if(sign == LV_SIGNAL_GET_STYLE) { - 3ddc: 2908 cmp r1, #8 - 3dde: d01b beq.n 3e18 + 3e44: 2908 cmp r1, #8 + 3e46: d01b beq.n 3e80 else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 3de0: 2907 cmp r1, #7 - 3de2: d024 beq.n 3e2e + 3e48: 2907 cmp r1, #7 + 3e4a: d024 beq.n 3e96 if(sign == LV_SIGNAL_CHILD_CHG) { - 3de4: 2901 cmp r1, #1 - 3de6: d027 beq.n 3e38 + 3e4c: 2901 cmp r1, #1 + 3e4e: d027 beq.n 3ea0 else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { - 3de8: 2906 cmp r1, #6 - 3dea: d02b beq.n 3e44 + 3e50: 2906 cmp r1, #6 + 3e52: d02b beq.n 3eac else if(sign == LV_SIGNAL_PARENT_SIZE_CHG) { - 3dec: 2903 cmp r1, #3 - 3dee: d035 beq.n 3e5c + 3e54: 2903 cmp r1, #3 + 3e56: d035 beq.n 3ec4 else if(sign == LV_SIGNAL_STYLE_CHG) { - 3df0: 2904 cmp r1, #4 - 3df2: d03d beq.n 3e70 + 3e58: 2904 cmp r1, #4 + 3e5a: d03d beq.n 3ed8 else if(sign == LV_SIGNAL_PRESSED) { - 3df4: 290b cmp r1, #11 - 3df6: d03f beq.n 3e78 + 3e5c: 290b cmp r1, #11 + 3e5e: d03f beq.n 3ee0 else if(sign == LV_SIGNAL_RELEASED || sign == LV_SIGNAL_PRESS_LOST) { - 3df8: 000b movs r3, r1 - 3dfa: 3b0d subs r3, #13 - 3dfc: 2b01 cmp r3, #1 - 3dfe: d940 bls.n 3e82 + 3e60: 000b movs r3, r1 + 3e62: 3b0d subs r3, #13 + 3e64: 2b01 cmp r3, #1 + 3e66: d940 bls.n 3eea else if(sign == LV_SIGNAL_FOCUS) { - 3e00: 2916 cmp r1, #22 - 3e02: d043 beq.n 3e8c + 3e68: 2916 cmp r1, #22 + 3e6a: d043 beq.n 3ef4 else if(sign == LV_SIGNAL_DEFOCUS) { - 3e04: 2917 cmp r1, #23 - 3e06: d057 beq.n 3eb8 + 3e6c: 2917 cmp r1, #23 + 3e6e: d057 beq.n 3f20 lv_res_t res = LV_RES_OK; - 3e08: 2001 movs r0, #1 + 3e70: 2001 movs r0, #1 else if(sign == LV_SIGNAL_CLEANUP) { - 3e0a: 2900 cmp r1, #0 - 3e0c: d10a bne.n 3e24 + 3e72: 2900 cmp r1, #0 + 3e74: d10a bne.n 3e8c lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 3e0e: 0020 movs r0, r4 - 3e10: 4b2c ldr r3, [pc, #176] ; (3ec4 ) - 3e12: 4798 blx r3 + 3e76: 0020 movs r0, r4 + 3e78: 4b2c ldr r3, [pc, #176] ; (3f2c ) + 3e7a: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3e14: 2001 movs r0, #1 - 3e16: e005 b.n 3e24 + 3e7c: 2001 movs r0, #1 + 3e7e: e005 b.n 3e8c if(info->part == LV_OBJ_PART_MAIN) info->result = &obj->style_list; - 3e18: 7813 ldrb r3, [r2, #0] - 3e1a: 2b00 cmp r3, #0 - 3e1c: d103 bne.n 3e26 - 3e1e: 3428 adds r4, #40 ; 0x28 - 3e20: 6054 str r4, [r2, #4] + 3e80: 7813 ldrb r3, [r2, #0] + 3e82: 2b00 cmp r3, #0 + 3e84: d103 bne.n 3e8e + 3e86: 3428 adds r4, #40 ; 0x28 + 3e88: 6054 str r4, [r2, #4] return LV_RES_OK; - 3e22: 2001 movs r0, #1 + 3e8a: 2001 movs r0, #1 } - 3e24: bd10 pop {r4, pc} + 3e8c: bd10 pop {r4, pc} else info->result = NULL; - 3e26: 2300 movs r3, #0 - 3e28: 6053 str r3, [r2, #4] + 3e8e: 2300 movs r3, #0 + 3e90: 6053 str r3, [r2, #4] return LV_RES_OK; - 3e2a: 2001 movs r0, #1 - 3e2c: e7fa b.n 3e24 + 3e92: 2001 movs r0, #1 + 3e94: e7fa b.n 3e8c else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 3e2e: 4926 ldr r1, [pc, #152] ; (3ec8 ) - 3e30: 0010 movs r0, r2 - 3e32: 4b26 ldr r3, [pc, #152] ; (3ecc ) - 3e34: 4798 blx r3 - 3e36: e7f5 b.n 3e24 + 3e96: 4926 ldr r1, [pc, #152] ; (3f30 ) + 3e98: 0010 movs r0, r2 + 3e9a: 4b26 ldr r3, [pc, #152] ; (3f34 ) + 3e9c: 4798 blx r3 + 3e9e: e7f5 b.n 3e8c if(lv_obj_is_protected(obj, LV_PROTECT_CHILD_CHG) != false) res = LV_RES_INV; - 3e38: 4b25 ldr r3, [pc, #148] ; (3ed0 ) - 3e3a: 4798 blx r3 - 3e3c: 2301 movs r3, #1 - 3e3e: 4058 eors r0, r3 + 3ea0: 4b25 ldr r3, [pc, #148] ; (3f38 ) + 3ea2: 4798 blx r3 + 3ea4: 2301 movs r3, #1 + 3ea6: 4058 eors r0, r3 return LV_RES_OK; - 3e40: b2c0 uxtb r0, r0 - 3e42: e7ef b.n 3e24 + 3ea8: b2c0 uxtb r0, r0 + 3eaa: e7ef b.n 3e8c lv_coord_t d = lv_obj_get_draw_rect_ext_pad_size(obj, LV_OBJ_PART_MAIN); - 3e44: 2100 movs r1, #0 - 3e46: 4b23 ldr r3, [pc, #140] ; (3ed4 ) - 3e48: 4798 blx r3 + 3eac: 2100 movs r1, #0 + 3eae: 4b23 ldr r3, [pc, #140] ; (3f3c ) + 3eb0: 4798 blx r3 obj->ext_draw_pad = LV_MATH_MAX(obj->ext_draw_pad, d); - 3e4a: 8e63 ldrh r3, [r4, #50] ; 0x32 - 3e4c: 1c1a adds r2, r3, #0 - 3e4e: b21b sxth r3, r3 - 3e50: 4283 cmp r3, r0 - 3e52: da00 bge.n 3e56 - 3e54: 1c02 adds r2, r0, #0 - 3e56: 8662 strh r2, [r4, #50] ; 0x32 + 3eb2: 8e63 ldrh r3, [r4, #50] ; 0x32 + 3eb4: 1c1a adds r2, r3, #0 + 3eb6: b21b sxth r3, r3 + 3eb8: 4283 cmp r3, r0 + 3eba: da00 bge.n 3ebe + 3ebc: 1c02 adds r2, r0, #0 + 3ebe: 8662 strh r2, [r4, #50] ; 0x32 lv_res_t res = LV_RES_OK; - 3e58: 2001 movs r0, #1 - 3e5a: e7e3 b.n 3e24 + 3ec0: 2001 movs r0, #1 + 3ec2: e7e3 b.n 3e8c if(obj->realign.auto_realign) { - 3e5c: 2349 movs r3, #73 ; 0x49 - 3e5e: 5cc3 ldrb r3, [r0, r3] + 3ec4: 2349 movs r3, #73 ; 0x49 + 3ec6: 5cc3 ldrb r3, [r0, r3] lv_res_t res = LV_RES_OK; - 3e60: 2001 movs r0, #1 + 3ec8: 2001 movs r0, #1 if(obj->realign.auto_realign) { - 3e62: 07db lsls r3, r3, #31 - 3e64: d5de bpl.n 3e24 + 3eca: 07db lsls r3, r3, #31 + 3ecc: d5de bpl.n 3e8c lv_obj_realign(obj); - 3e66: 0020 movs r0, r4 - 3e68: 4b1b ldr r3, [pc, #108] ; (3ed8 ) - 3e6a: 4798 blx r3 + 3ece: 0020 movs r0, r4 + 3ed0: 4b1b ldr r3, [pc, #108] ; (3f40 ) + 3ed2: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3e6c: 2001 movs r0, #1 - 3e6e: e7d9 b.n 3e24 + 3ed4: 2001 movs r0, #1 + 3ed6: e7d9 b.n 3e8c lv_obj_refresh_ext_draw_pad(obj); - 3e70: 4b1a ldr r3, [pc, #104] ; (3edc ) - 3e72: 4798 blx r3 + 3ed8: 4b1a ldr r3, [pc, #104] ; (3f44 ) + 3eda: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3e74: 2001 movs r0, #1 - 3e76: e7d5 b.n 3e24 + 3edc: 2001 movs r0, #1 + 3ede: e7d5 b.n 3e8c lv_obj_add_state(obj, LV_STATE_PRESSED); - 3e78: 3105 adds r1, #5 - 3e7a: 4b19 ldr r3, [pc, #100] ; (3ee0 ) - 3e7c: 4798 blx r3 + 3ee0: 3105 adds r1, #5 + 3ee2: 4b19 ldr r3, [pc, #100] ; (3f48 ) + 3ee4: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3e7e: 2001 movs r0, #1 - 3e80: e7d0 b.n 3e24 + 3ee6: 2001 movs r0, #1 + 3ee8: e7d0 b.n 3e8c lv_obj_clear_state(obj, LV_STATE_PRESSED); - 3e82: 2110 movs r1, #16 - 3e84: 4b17 ldr r3, [pc, #92] ; (3ee4 ) - 3e86: 4798 blx r3 + 3eea: 2110 movs r1, #16 + 3eec: 4b17 ldr r3, [pc, #92] ; (3f4c ) + 3eee: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3e88: 2001 movs r0, #1 - 3e8a: e7cb b.n 3e24 + 3ef0: 2001 movs r0, #1 + 3ef2: e7cb b.n 3e8c if(lv_group_get_editing(lv_obj_get_group(obj))) { - 3e8c: 4b16 ldr r3, [pc, #88] ; (3ee8 ) - 3e8e: 4798 blx r3 - 3e90: 4b16 ldr r3, [pc, #88] ; (3eec ) - 3e92: 4798 blx r3 - 3e94: 2800 cmp r0, #0 - 3e96: d005 beq.n 3ea4 + 3ef4: 4b16 ldr r3, [pc, #88] ; (3f50 ) + 3ef6: 4798 blx r3 + 3ef8: 4b16 ldr r3, [pc, #88] ; (3f54 ) + 3efa: 4798 blx r3 + 3efc: 2800 cmp r0, #0 + 3efe: d005 beq.n 3f0c lv_obj_add_state(obj, state); - 3e98: 2106 movs r1, #6 - 3e9a: 0020 movs r0, r4 - 3e9c: 4b10 ldr r3, [pc, #64] ; (3ee0 ) - 3e9e: 4798 blx r3 + 3f00: 2106 movs r1, #6 + 3f02: 0020 movs r0, r4 + 3f04: 4b10 ldr r3, [pc, #64] ; (3f48 ) + 3f06: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3ea0: 2001 movs r0, #1 - 3ea2: e7bf b.n 3e24 + 3f08: 2001 movs r0, #1 + 3f0a: e7bf b.n 3e8c lv_obj_add_state(obj, LV_STATE_FOCUSED); - 3ea4: 2102 movs r1, #2 - 3ea6: 0020 movs r0, r4 - 3ea8: 4b0d ldr r3, [pc, #52] ; (3ee0 ) - 3eaa: 4798 blx r3 + 3f0c: 2102 movs r1, #2 + 3f0e: 0020 movs r0, r4 + 3f10: 4b0d ldr r3, [pc, #52] ; (3f48 ) + 3f12: 4798 blx r3 lv_obj_clear_state(obj, LV_STATE_EDITED); - 3eac: 2104 movs r1, #4 - 3eae: 0020 movs r0, r4 - 3eb0: 4b0c ldr r3, [pc, #48] ; (3ee4 ) - 3eb2: 4798 blx r3 + 3f14: 2104 movs r1, #4 + 3f16: 0020 movs r0, r4 + 3f18: 4b0c ldr r3, [pc, #48] ; (3f4c ) + 3f1a: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3eb4: 2001 movs r0, #1 - 3eb6: e7b5 b.n 3e24 + 3f1c: 2001 movs r0, #1 + 3f1e: e7b5 b.n 3e8c lv_obj_clear_state(obj, LV_STATE_FOCUSED | LV_STATE_EDITED); - 3eb8: 3911 subs r1, #17 - 3eba: 4b0a ldr r3, [pc, #40] ; (3ee4 ) - 3ebc: 4798 blx r3 + 3f20: 3911 subs r1, #17 + 3f22: 4b0a ldr r3, [pc, #40] ; (3f4c ) + 3f24: 4798 blx r3 lv_res_t res = LV_RES_OK; - 3ebe: 2001 movs r0, #1 - 3ec0: e7b0 b.n 3e24 - 3ec2: 46c0 nop ; (mov r8, r8) - 3ec4: 00001d6d .word 0x00001d6d - 3ec8: 0001887c .word 0x0001887c - 3ecc: 00003601 .word 0x00003601 - 3ed0: 00002cc5 .word 0x00002cc5 - 3ed4: 00003bcd .word 0x00003bcd - 3ed8: 0000247d .word 0x0000247d - 3edc: 00001a05 .word 0x00001a05 - 3ee0: 00003519 .word 0x00003519 - 3ee4: 00003559 .word 0x00003559 - 3ee8: 00003599 .word 0x00003599 - 3eec: 000016f3 .word 0x000016f3 - -00003ef0 : + 3f26: 2001 movs r0, #1 + 3f28: e7b0 b.n 3e8c + 3f2a: 46c0 nop ; (mov r8, r8) + 3f2c: 00001dd5 .word 0x00001dd5 + 3f30: 0001890c .word 0x0001890c + 3f34: 00003669 .word 0x00003669 + 3f38: 00002d2d .word 0x00002d2d + 3f3c: 00003c35 .word 0x00003c35 + 3f40: 000024e5 .word 0x000024e5 + 3f44: 00001a6d .word 0x00001a6d + 3f48: 00003581 .word 0x00003581 + 3f4c: 000035c1 .word 0x000035c1 + 3f50: 00003601 .word 0x00003601 + 3f54: 0000175b .word 0x0000175b + +00003f58 : * @param area_p pointer to an area * @param obj the first object to start the searching (typically a screen) * @return */ static lv_obj_t * lv_refr_get_top_obj(const lv_area_t * area_p, lv_obj_t * obj) { - 3ef0: b5f0 push {r4, r5, r6, r7, lr} - 3ef2: 46ce mov lr, r9 - 3ef4: b500 push {lr} - 3ef6: b082 sub sp, #8 - 3ef8: 0004 movs r4, r0 - 3efa: 9001 str r0, [sp, #4] - 3efc: 000d movs r5, r1 + 3f58: b5f0 push {r4, r5, r6, r7, lr} + 3f5a: 46ce mov lr, r9 + 3f5c: b500 push {lr} + 3f5e: b082 sub sp, #8 + 3f60: 0004 movs r4, r0 + 3f62: 9001 str r0, [sp, #4] + 3f64: 000d movs r5, r1 lv_obj_t * found_p = NULL; /*If this object is fully cover the draw area check the children too */ if(_lv_area_is_in(area_p, &obj->coords, 0) && obj->hidden == 0) { - 3efe: 3110 adds r1, #16 - 3f00: 2200 movs r2, #0 - 3f02: 4b1f ldr r3, [pc, #124] ; (3f80 ) - 3f04: 4798 blx r3 - 3f06: 2800 cmp r0, #0 - 3f08: d027 beq.n 3f5a - 3f0a: 2334 movs r3, #52 ; 0x34 - 3f0c: 5ceb ldrb r3, [r5, r3] - 3f0e: 06db lsls r3, r3, #27 - 3f10: d425 bmi.n 3f5e + 3f66: 3110 adds r1, #16 + 3f68: 2200 movs r2, #0 + 3f6a: 4b1f ldr r3, [pc, #124] ; (3fe8 ) + 3f6c: 4798 blx r3 + 3f6e: 2800 cmp r0, #0 + 3f70: d027 beq.n 3fc2 + 3f72: 2334 movs r3, #52 ; 0x34 + 3f74: 5ceb ldrb r3, [r5, r3] + 3f76: 06db lsls r3, r3, #27 + 3f78: d425 bmi.n 3fc6 lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p, - 3f12: 6a2b ldr r3, [r5, #32] - 3f14: 2b00 cmp r3, #0 - 3f16: d028 beq.n 3f6a - 3f18: 2202 movs r2, #2 - 3f1a: 0021 movs r1, r4 - 3f1c: 0028 movs r0, r5 - 3f1e: 4798 blx r3 - 3f20: 4681 mov r9, r0 + 3f7a: 6a2b ldr r3, [r5, #32] + 3f7c: 2b00 cmp r3, #0 + 3f7e: d028 beq.n 3fd2 + 3f80: 2202 movs r2, #2 + 3f82: 0021 movs r1, r4 + 3f84: 0028 movs r0, r5 + 3f86: 4798 blx r3 + 3f88: 4681 mov r9, r0 LV_DESIGN_COVER_CHK) : LV_DESIGN_RES_NOT_COVER; if(design_res == LV_DESIGN_RES_MASKED) return NULL; - 3f22: 2803 cmp r0, #3 - 3f24: d01d beq.n 3f62 + 3f8a: 2803 cmp r0, #3 + 3f8c: d01d beq.n 3fca lv_obj_t * i; _LV_LL_READ(obj->child_ll, i) { - 3f26: 1d2e adds r6, r5, #4 - 3f28: 0030 movs r0, r6 - 3f2a: 4b16 ldr r3, [pc, #88] ; (3f84 ) - 3f2c: 4798 blx r3 - 3f2e: 1e04 subs r4, r0, #0 - 3f30: d00b beq.n 3f4a - 3f32: 4f15 ldr r7, [pc, #84] ; (3f88 ) + 3f8e: 1d2e adds r6, r5, #4 + 3f90: 0030 movs r0, r6 + 3f92: 4b16 ldr r3, [pc, #88] ; (3fec ) + 3f94: 4798 blx r3 + 3f96: 1e04 subs r4, r0, #0 + 3f98: d00b beq.n 3fb2 + 3f9a: 4f15 ldr r7, [pc, #84] ; (3ff0 ) found_p = lv_refr_get_top_obj(area_p, i); - 3f34: 0021 movs r1, r4 - 3f36: 9801 ldr r0, [sp, #4] - 3f38: f7ff ffda bl 3ef0 + 3f9c: 0021 movs r1, r4 + 3f9e: 9801 ldr r0, [sp, #4] + 3fa0: f7ff ffda bl 3f58 /*If a children is ok then break*/ if(found_p != NULL) { - 3f3c: 2800 cmp r0, #0 - 3f3e: d108 bne.n 3f52 + 3fa4: 2800 cmp r0, #0 + 3fa6: d108 bne.n 3fba _LV_LL_READ(obj->child_ll, i) { - 3f40: 0021 movs r1, r4 - 3f42: 0030 movs r0, r6 - 3f44: 47b8 blx r7 - 3f46: 1e04 subs r4, r0, #0 - 3f48: d1f4 bne.n 3f34 - 3f4a: 2000 movs r0, #0 + 3fa8: 0021 movs r1, r4 + 3faa: 0030 movs r0, r6 + 3fac: 47b8 blx r7 + 3fae: 1e04 subs r4, r0, #0 + 3fb0: d1f4 bne.n 3f9c + 3fb2: 2000 movs r0, #0 } } /*If no better children use this object*/ if(found_p == NULL) { if(design_res == LV_DESIGN_RES_COVER) { - 3f4c: 464b mov r3, r9 - 3f4e: 2b01 cmp r3, #1 - 3f50: d009 beq.n 3f66 + 3fb4: 464b mov r3, r9 + 3fb6: 2b01 cmp r3, #1 + 3fb8: d009 beq.n 3fce } } } return found_p; } - 3f52: b002 add sp, #8 - 3f54: bc04 pop {r2} - 3f56: 4691 mov r9, r2 - 3f58: bdf0 pop {r4, r5, r6, r7, pc} + 3fba: b002 add sp, #8 + 3fbc: bc04 pop {r2} + 3fbe: 4691 mov r9, r2 + 3fc0: bdf0 pop {r4, r5, r6, r7, pc} lv_obj_t * found_p = NULL; - 3f5a: 2000 movs r0, #0 - 3f5c: e7f9 b.n 3f52 - 3f5e: 2000 movs r0, #0 - 3f60: e7f7 b.n 3f52 + 3fc2: 2000 movs r0, #0 + 3fc4: e7f9 b.n 3fba + 3fc6: 2000 movs r0, #0 + 3fc8: e7f7 b.n 3fba if(design_res == LV_DESIGN_RES_MASKED) return NULL; - 3f62: 2000 movs r0, #0 - 3f64: e7f5 b.n 3f52 + 3fca: 2000 movs r0, #0 + 3fcc: e7f5 b.n 3fba found_p = obj; - 3f66: 0028 movs r0, r5 - 3f68: e7f3 b.n 3f52 + 3fce: 0028 movs r0, r5 + 3fd0: e7f3 b.n 3fba _LV_LL_READ(obj->child_ll, i) { - 3f6a: 1d2e adds r6, r5, #4 - 3f6c: 0030 movs r0, r6 - 3f6e: 4b05 ldr r3, [pc, #20] ; (3f84 ) - 3f70: 4798 blx r3 - 3f72: 0004 movs r4, r0 + 3fd2: 1d2e adds r6, r5, #4 + 3fd4: 0030 movs r0, r6 + 3fd6: 4b05 ldr r3, [pc, #20] ; (3fec ) + 3fd8: 4798 blx r3 + 3fda: 0004 movs r4, r0 lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p, - 3f74: 2302 movs r3, #2 - 3f76: 4699 mov r9, r3 + 3fdc: 2302 movs r3, #2 + 3fde: 4699 mov r9, r3 _LV_LL_READ(obj->child_ll, i) { - 3f78: 2800 cmp r0, #0 - 3f7a: d1da bne.n 3f32 - 3f7c: e7e9 b.n 3f52 - 3f7e: 46c0 nop ; (mov r8, r8) - 3f80: 0000fe35 .word 0x0000fe35 - 3f84: 00010605 .word 0x00010605 - 3f88: 0001061d .word 0x0001061d - -00003f8c : + 3fe0: 2800 cmp r0, #0 + 3fe2: d1da bne.n 3f9a + 3fe4: e7e9 b.n 3fba + 3fe6: 46c0 nop ; (mov r8, r8) + 3fe8: 0000fe9d .word 0x0000fe9d + 3fec: 0001066d .word 0x0001066d + 3ff0: 00010685 .word 0x00010685 + +00003ff4 : * Refresh an object an all of its children. (Called recursively) * @param obj pointer to an object to refresh * @param mask_ori_p pointer to an area, the objects will be drawn only here */ static void lv_refr_obj(lv_obj_t * obj, const lv_area_t * mask_ori_p) { - 3f8c: b5f0 push {r4, r5, r6, r7, lr} - 3f8e: 46d6 mov lr, sl - 3f90: 464f mov r7, r9 - 3f92: b580 push {r7, lr} - 3f94: b08d sub sp, #52 ; 0x34 - 3f96: 0007 movs r7, r0 - 3f98: 000d movs r5, r1 + 3ff4: b5f0 push {r4, r5, r6, r7, lr} + 3ff6: 46d6 mov lr, sl + 3ff8: 464f mov r7, r9 + 3ffa: b580 push {r7, lr} + 3ffc: b08d sub sp, #52 ; 0x34 + 3ffe: 0007 movs r7, r0 + 4000: 000d movs r5, r1 /*Do not refresh hidden objects*/ if(obj->hidden != 0) return; - 3f9a: 2334 movs r3, #52 ; 0x34 - 3f9c: 5cc3 ldrb r3, [r0, r3] - 3f9e: 06db lsls r3, r3, #27 - 3fa0: d504 bpl.n 3fac + 4002: 2334 movs r3, #52 ; 0x34 + 4004: 5cc3 ldrb r3, [r0, r3] + 4006: 06db lsls r3, r3, #27 + 4008: d504 bpl.n 4014 } /* If all the children are redrawn make 'post draw' design */ if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_POST); } } - 3fa2: b00d add sp, #52 ; 0x34 - 3fa4: bc0c pop {r2, r3} - 3fa6: 4691 mov r9, r2 - 3fa8: 469a mov sl, r3 - 3faa: bdf0 pop {r4, r5, r6, r7, pc} + 400a: b00d add sp, #52 ; 0x34 + 400c: bc0c pop {r2, r3} + 400e: 4691 mov r9, r2 + 4010: 469a mov sl, r3 + 4012: bdf0 pop {r4, r5, r6, r7, pc} lv_coord_t ext_size = obj->ext_draw_pad; - 3fac: 2332 movs r3, #50 ; 0x32 - 3fae: 5ec6 ldrsh r6, [r0, r3] + 4014: 2332 movs r3, #50 ; 0x32 + 4016: 5ec6 ldrsh r6, [r0, r3] lv_obj_get_coords(obj, &obj_area); - 3fb0: ac06 add r4, sp, #24 - 3fb2: 0021 movs r1, r4 - 3fb4: 4b2e ldr r3, [pc, #184] ; (4070 ) - 3fb6: 4798 blx r3 + 4018: ac06 add r4, sp, #24 + 401a: 0021 movs r1, r4 + 401c: 4b2e ldr r3, [pc, #184] ; (40d8 ) + 401e: 4798 blx r3 obj_area.x1 -= ext_size; - 3fb8: b2b3 uxth r3, r6 - 3fba: 8822 ldrh r2, [r4, #0] - 3fbc: 1ad2 subs r2, r2, r3 - 3fbe: 8022 strh r2, [r4, #0] + 4020: b2b3 uxth r3, r6 + 4022: 8822 ldrh r2, [r4, #0] + 4024: 1ad2 subs r2, r2, r3 + 4026: 8022 strh r2, [r4, #0] obj_area.y1 -= ext_size; - 3fc0: 8862 ldrh r2, [r4, #2] - 3fc2: 1ad2 subs r2, r2, r3 - 3fc4: 8062 strh r2, [r4, #2] + 4028: 8862 ldrh r2, [r4, #2] + 402a: 1ad2 subs r2, r2, r3 + 402c: 8062 strh r2, [r4, #2] obj_area.x2 += ext_size; - 3fc6: 88a2 ldrh r2, [r4, #4] - 3fc8: 189a adds r2, r3, r2 - 3fca: 80a2 strh r2, [r4, #4] + 402e: 88a2 ldrh r2, [r4, #4] + 4030: 189a adds r2, r3, r2 + 4032: 80a2 strh r2, [r4, #4] obj_area.y2 += ext_size; - 3fcc: 88e2 ldrh r2, [r4, #6] - 3fce: 189b adds r3, r3, r2 - 3fd0: 80e3 strh r3, [r4, #6] + 4034: 88e2 ldrh r2, [r4, #6] + 4036: 189b adds r3, r3, r2 + 4038: 80e3 strh r3, [r4, #6] union_ok = _lv_area_intersect(&obj_ext_mask, mask_ori_p, &obj_area); - 3fd2: 0022 movs r2, r4 - 3fd4: 0029 movs r1, r5 - 3fd6: a808 add r0, sp, #32 - 3fd8: 4b26 ldr r3, [pc, #152] ; (4074 ) - 3fda: 4798 blx r3 + 403a: 0022 movs r2, r4 + 403c: 0029 movs r1, r5 + 403e: a808 add r0, sp, #32 + 4040: 4b26 ldr r3, [pc, #152] ; (40dc ) + 4042: 4798 blx r3 if(union_ok != false) { - 3fdc: 2800 cmp r0, #0 - 3fde: d0e0 beq.n 3fa2 + 4044: 2800 cmp r0, #0 + 4046: d0e0 beq.n 400a if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_MAIN); - 3fe0: 6a3b ldr r3, [r7, #32] - 3fe2: 2b00 cmp r3, #0 - 3fe4: d003 beq.n 3fee - 3fe6: 2200 movs r2, #0 - 3fe8: a908 add r1, sp, #32 - 3fea: 0038 movs r0, r7 - 3fec: 4798 blx r3 + 4048: 6a3b ldr r3, [r7, #32] + 404a: 2b00 cmp r3, #0 + 404c: d003 beq.n 4056 + 404e: 2200 movs r2, #0 + 4050: a908 add r1, sp, #32 + 4052: 0038 movs r0, r7 + 4054: 4798 blx r3 lv_obj_get_coords(obj, &obj_area); - 3fee: a906 add r1, sp, #24 - 3ff0: 0038 movs r0, r7 - 3ff2: 4b1f ldr r3, [pc, #124] ; (4070 ) - 3ff4: 4798 blx r3 + 4056: a906 add r1, sp, #24 + 4058: 0038 movs r0, r7 + 405a: 4b1f ldr r3, [pc, #124] ; (40d8 ) + 405c: 4798 blx r3 union_ok = _lv_area_intersect(&obj_mask, mask_ori_p, &obj_area); - 3ff6: aa06 add r2, sp, #24 - 3ff8: 0029 movs r1, r5 - 3ffa: a80a add r0, sp, #40 ; 0x28 - 3ffc: 4b1d ldr r3, [pc, #116] ; (4074 ) - 3ffe: 4798 blx r3 + 405e: aa06 add r2, sp, #24 + 4060: 0029 movs r1, r5 + 4062: a80a add r0, sp, #40 ; 0x28 + 4064: 4b1d ldr r3, [pc, #116] ; (40dc ) + 4066: 4798 blx r3 if(union_ok != false) { - 4000: 2800 cmp r0, #0 - 4002: d107 bne.n 4014 + 4068: 2800 cmp r0, #0 + 406a: d107 bne.n 407c if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_POST); - 4004: 6a3b ldr r3, [r7, #32] - 4006: 2b00 cmp r3, #0 - 4008: d0cb beq.n 3fa2 - 400a: 2201 movs r2, #1 - 400c: a908 add r1, sp, #32 - 400e: 0038 movs r0, r7 - 4010: 4798 blx r3 - 4012: e7c6 b.n 3fa2 + 406c: 6a3b ldr r3, [r7, #32] + 406e: 2b00 cmp r3, #0 + 4070: d0cb beq.n 400a + 4072: 2201 movs r2, #1 + 4074: a908 add r1, sp, #32 + 4076: 0038 movs r0, r7 + 4078: 4798 blx r3 + 407a: e7c6 b.n 400a _LV_LL_READ_BACK(obj->child_ll, child_p) { - 4014: 1d3b adds r3, r7, #4 - 4016: 9301 str r3, [sp, #4] - 4018: 0018 movs r0, r3 - 401a: 4b17 ldr r3, [pc, #92] ; (4078 ) - 401c: 4798 blx r3 - 401e: 1e05 subs r5, r0, #0 - 4020: d0f0 beq.n 4004 + 407c: 1d3b adds r3, r7, #4 + 407e: 9301 str r3, [sp, #4] + 4080: 0018 movs r0, r3 + 4082: 4b17 ldr r3, [pc, #92] ; (40e0 ) + 4084: 4798 blx r3 + 4086: 1e05 subs r5, r0, #0 + 4088: d0f0 beq.n 406c lv_obj_get_coords(child_p, &child_area); - 4022: 4b13 ldr r3, [pc, #76] ; (4070 ) - 4024: 469a mov sl, r3 + 408a: 4b13 ldr r3, [pc, #76] ; (40d8 ) + 408c: 469a mov sl, r3 union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area); - 4026: 4b13 ldr r3, [pc, #76] ; (4074 ) - 4028: 4699 mov r9, r3 + 408e: 4b13 ldr r3, [pc, #76] ; (40dc ) + 4090: 4699 mov r9, r3 _LV_LL_READ_BACK(obj->child_ll, child_p) { - 402a: 4e14 ldr r6, [pc, #80] ; (407c ) - 402c: e004 b.n 4038 - 402e: 0029 movs r1, r5 - 4030: 9801 ldr r0, [sp, #4] - 4032: 47b0 blx r6 - 4034: 1e05 subs r5, r0, #0 - 4036: d0e5 beq.n 4004 + 4092: 4e14 ldr r6, [pc, #80] ; (40e4 ) + 4094: e004 b.n 40a0 + 4096: 0029 movs r1, r5 + 4098: 9801 ldr r0, [sp, #4] + 409a: 47b0 blx r6 + 409c: 1e05 subs r5, r0, #0 + 409e: d0e5 beq.n 406c lv_obj_get_coords(child_p, &child_area); - 4038: ac04 add r4, sp, #16 - 403a: 0021 movs r1, r4 - 403c: 0028 movs r0, r5 - 403e: 47d0 blx sl + 40a0: ac04 add r4, sp, #16 + 40a2: 0021 movs r1, r4 + 40a4: 0028 movs r0, r5 + 40a6: 47d0 blx sl child_area.x1 -= ext_size; - 4040: 8e6b ldrh r3, [r5, #50] ; 0x32 - 4042: 8822 ldrh r2, [r4, #0] - 4044: 1ad2 subs r2, r2, r3 - 4046: 8022 strh r2, [r4, #0] + 40a8: 8e6b ldrh r3, [r5, #50] ; 0x32 + 40aa: 8822 ldrh r2, [r4, #0] + 40ac: 1ad2 subs r2, r2, r3 + 40ae: 8022 strh r2, [r4, #0] child_area.y1 -= ext_size; - 4048: 8862 ldrh r2, [r4, #2] - 404a: 1ad2 subs r2, r2, r3 - 404c: 8062 strh r2, [r4, #2] + 40b0: 8862 ldrh r2, [r4, #2] + 40b2: 1ad2 subs r2, r2, r3 + 40b4: 8062 strh r2, [r4, #2] child_area.x2 += ext_size; - 404e: 88a2 ldrh r2, [r4, #4] - 4050: 189a adds r2, r3, r2 - 4052: 80a2 strh r2, [r4, #4] + 40b6: 88a2 ldrh r2, [r4, #4] + 40b8: 189a adds r2, r3, r2 + 40ba: 80a2 strh r2, [r4, #4] child_area.y2 += ext_size; - 4054: 88e2 ldrh r2, [r4, #6] - 4056: 189b adds r3, r3, r2 - 4058: 80e3 strh r3, [r4, #6] + 40bc: 88e2 ldrh r2, [r4, #6] + 40be: 189b adds r3, r3, r2 + 40c0: 80e3 strh r3, [r4, #6] union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area); - 405a: 0022 movs r2, r4 - 405c: a90a add r1, sp, #40 ; 0x28 - 405e: a802 add r0, sp, #8 - 4060: 47c8 blx r9 + 40c2: 0022 movs r2, r4 + 40c4: a90a add r1, sp, #40 ; 0x28 + 40c6: a802 add r0, sp, #8 + 40c8: 47c8 blx r9 if(union_ok) { - 4062: 2800 cmp r0, #0 - 4064: d0e3 beq.n 402e + 40ca: 2800 cmp r0, #0 + 40cc: d0e3 beq.n 4096 lv_refr_obj(child_p, &mask_child); - 4066: a902 add r1, sp, #8 - 4068: 0028 movs r0, r5 - 406a: f7ff ff8f bl 3f8c - 406e: e7de b.n 402e - 4070: 00001b6d .word 0x00001b6d - 4074: 0000fba7 .word 0x0000fba7 - 4078: 00010611 .word 0x00010611 - 407c: 00010645 .word 0x00010645 - -00004080 : -{ - 4080: b5f0 push {r4, r5, r6, r7, lr} - 4082: 46d6 mov lr, sl - 4084: b500 push {lr} - 4086: b082 sub sp, #8 - 4088: 1e04 subs r4, r0, #0 - 408a: 9101 str r1, [sp, #4] + 40ce: a902 add r1, sp, #8 + 40d0: 0028 movs r0, r5 + 40d2: f7ff ff8f bl 3ff4 + 40d6: e7de b.n 4096 + 40d8: 00001bd5 .word 0x00001bd5 + 40dc: 0000fc0f .word 0x0000fc0f + 40e0: 00010679 .word 0x00010679 + 40e4: 000106ad .word 0x000106ad + +000040e8 : +{ + 40e8: b5f0 push {r4, r5, r6, r7, lr} + 40ea: 46d6 mov lr, sl + 40ec: b500 push {lr} + 40ee: b082 sub sp, #8 + 40f0: 1e04 subs r4, r0, #0 + 40f2: 9101 str r1, [sp, #4] if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr); - 408c: d00d beq.n 40aa + 40f4: d00d beq.n 4112 lv_refr_obj(top_p, mask_p); - 408e: 9901 ldr r1, [sp, #4] - 4090: 0020 movs r0, r4 - 4092: 4b1a ldr r3, [pc, #104] ; (40fc ) - 4094: 4798 blx r3 + 40f6: 9901 ldr r1, [sp, #4] + 40f8: 0020 movs r0, r4 + 40fa: 4b1a ldr r3, [pc, #104] ; (4164 ) + 40fc: 4798 blx r3 par = lv_obj_get_parent(top_p); - 4096: 0020 movs r0, r4 - 4098: 4b19 ldr r3, [pc, #100] ; (4100 ) - 409a: 4798 blx r3 - 409c: 1e05 subs r5, r0, #0 + 40fe: 0020 movs r0, r4 + 4100: 4b19 ldr r3, [pc, #100] ; (4168 ) + 4102: 4798 blx r3 + 4104: 1e05 subs r5, r0, #0 while(par != NULL) { - 409e: d00a beq.n 40b6 + 4106: d00a beq.n 411e lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p); - 40a0: 4b18 ldr r3, [pc, #96] ; (4104 ) - 40a2: 469a mov sl, r3 + 4108: 4b18 ldr r3, [pc, #96] ; (416c ) + 410a: 469a mov sl, r3 lv_refr_obj(i, mask_p); - 40a4: 4e15 ldr r6, [pc, #84] ; (40fc ) + 410c: 4e15 ldr r6, [pc, #84] ; (4164 ) i = _lv_ll_get_prev(&(par->child_ll), i); - 40a6: 001f movs r7, r3 - 40a8: e010 b.n 40cc + 410e: 001f movs r7, r3 + 4110: e010 b.n 4134 if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr); - 40aa: 4b17 ldr r3, [pc, #92] ; (4108 ) - 40ac: 6818 ldr r0, [r3, #0] - 40ae: 4b17 ldr r3, [pc, #92] ; (410c ) - 40b0: 4798 blx r3 - 40b2: 1e04 subs r4, r0, #0 + 4112: 4b17 ldr r3, [pc, #92] ; (4170 ) + 4114: 6818 ldr r0, [r3, #0] + 4116: 4b17 ldr r3, [pc, #92] ; (4174 ) + 4118: 4798 blx r3 + 411a: 1e04 subs r4, r0, #0 if(top_p == NULL) return; /*Shouldn't happen*/ - 40b4: d1eb bne.n 408e + 411c: d1eb bne.n 40f6 } - 40b6: b002 add sp, #8 - 40b8: bc04 pop {r2} - 40ba: 4692 mov sl, r2 - 40bc: bdf0 pop {r4, r5, r6, r7, pc} + 411e: b002 add sp, #8 + 4120: bc04 pop {r2} + 4122: 4692 mov sl, r2 + 4124: bdf0 pop {r4, r5, r6, r7, pc} par = lv_obj_get_parent(par); - 40be: 0028 movs r0, r5 - 40c0: 4b0f ldr r3, [pc, #60] ; (4100 ) - 40c2: 4798 blx r3 - 40c4: 002c movs r4, r5 + 4126: 0028 movs r0, r5 + 4128: 4b0f ldr r3, [pc, #60] ; (4168 ) + 412a: 4798 blx r3 + 412c: 002c movs r4, r5 while(par != NULL) { - 40c6: 2800 cmp r0, #0 - 40c8: d0f5 beq.n 40b6 + 412e: 2800 cmp r0, #0 + 4130: d0f5 beq.n 411e par = lv_obj_get_parent(par); - 40ca: 0005 movs r5, r0 + 4132: 0005 movs r5, r0 lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p); - 40cc: 1d2b adds r3, r5, #4 - 40ce: 9300 str r3, [sp, #0] - 40d0: 0021 movs r1, r4 - 40d2: 0018 movs r0, r3 - 40d4: 47d0 blx sl - 40d6: 1e04 subs r4, r0, #0 + 4134: 1d2b adds r3, r5, #4 + 4136: 9300 str r3, [sp, #0] + 4138: 0021 movs r1, r4 + 413a: 0018 movs r0, r3 + 413c: 47d0 blx sl + 413e: 1e04 subs r4, r0, #0 while(i != NULL) { - 40d8: d007 beq.n 40ea + 4140: d007 beq.n 4152 lv_refr_obj(i, mask_p); - 40da: 9901 ldr r1, [sp, #4] - 40dc: 0020 movs r0, r4 - 40de: 47b0 blx r6 + 4142: 9901 ldr r1, [sp, #4] + 4144: 0020 movs r0, r4 + 4146: 47b0 blx r6 i = _lv_ll_get_prev(&(par->child_ll), i); - 40e0: 0021 movs r1, r4 - 40e2: 9800 ldr r0, [sp, #0] - 40e4: 47b8 blx r7 - 40e6: 1e04 subs r4, r0, #0 + 4148: 0021 movs r1, r4 + 414a: 9800 ldr r0, [sp, #0] + 414c: 47b8 blx r7 + 414e: 1e04 subs r4, r0, #0 while(i != NULL) { - 40e8: d1f7 bne.n 40da + 4150: d1f7 bne.n 4142 if(par->design_cb) par->design_cb(par, mask_p, LV_DESIGN_DRAW_POST); - 40ea: 6a2b ldr r3, [r5, #32] - 40ec: 2b00 cmp r3, #0 - 40ee: d0e6 beq.n 40be - 40f0: 2201 movs r2, #1 - 40f2: 9901 ldr r1, [sp, #4] - 40f4: 0028 movs r0, r5 - 40f6: 4798 blx r3 - 40f8: e7e1 b.n 40be - 40fa: 46c0 nop ; (mov r8, r8) - 40fc: 00003f8d .word 0x00003f8d - 4100: 00001a39 .word 0x00001a39 - 4104: 00010645 .word 0x00010645 - 4108: 200026e8 .word 0x200026e8 - 410c: 00001445 .word 0x00001445 - -00004110 : + 4152: 6a2b ldr r3, [r5, #32] + 4154: 2b00 cmp r3, #0 + 4156: d0e6 beq.n 4126 + 4158: 2201 movs r2, #1 + 415a: 9901 ldr r1, [sp, #4] + 415c: 0028 movs r0, r5 + 415e: 4798 blx r3 + 4160: e7e1 b.n 4126 + 4162: 46c0 nop ; (mov r8, r8) + 4164: 00003ff5 .word 0x00003ff5 + 4168: 00001aa1 .word 0x00001aa1 + 416c: 000106ad .word 0x000106ad + 4170: 200026e8 .word 0x200026e8 + 4174: 000014ad .word 0x000014ad + +00004178 : /** * Flush the content of the VDB */ static void lv_refr_vdb_flush(void) { - 4110: b570 push {r4, r5, r6, lr} + 4178: b570 push {r4, r5, r6, lr} lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 4112: 4d1c ldr r5, [pc, #112] ; (4184 ) - 4114: 6828 ldr r0, [r5, #0] - 4116: 4b1c ldr r3, [pc, #112] ; (4188 ) - 4118: 4798 blx r3 - 411a: 0004 movs r4, r0 + 417a: 4d1c ldr r5, [pc, #112] ; (41ec ) + 417c: 6828 ldr r0, [r5, #0] + 417e: 4b1c ldr r3, [pc, #112] ; (41f0 ) + 4180: 4798 blx r3 + 4182: 0004 movs r4, r0 /*In double buffered mode wait until the other buffer is flushed before flushing the current * one*/ if(lv_disp_is_double_buf(disp_refr)) { - 411c: 6828 ldr r0, [r5, #0] - 411e: 4b1b ldr r3, [pc, #108] ; (418c ) - 4120: 4798 blx r3 - 4122: 2800 cmp r0, #0 - 4124: d10d bne.n 4142 + 4184: 6828 ldr r0, [r5, #0] + 4186: 4b1b ldr r3, [pc, #108] ; (41f4 ) + 4188: 4798 blx r3 + 418a: 2800 cmp r0, #0 + 418c: d10d bne.n 41aa while(vdb->flushing) { if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); } } vdb->flushing = 1; - 4126: 2301 movs r3, #1 - 4128: 61a3 str r3, [r4, #24] + 418e: 2301 movs r3, #1 + 4190: 61a3 str r3, [r4, #24] if(disp_refr->driver.buffer->last_area && disp_refr->driver.buffer->last_part) vdb->flushing_last = 1; - 412a: 4b16 ldr r3, [pc, #88] ; (4184 ) - 412c: 6818 ldr r0, [r3, #0] - 412e: 6843 ldr r3, [r0, #4] - 4130: 6a1a ldr r2, [r3, #32] - 4132: 07d2 lsls r2, r2, #31 - 4134: d50f bpl.n 4156 - 4136: 6a1b ldr r3, [r3, #32] - 4138: 079b lsls r3, r3, #30 - 413a: d50c bpl.n 4156 - 413c: 2301 movs r3, #1 - 413e: 61e3 str r3, [r4, #28] - 4140: e00b b.n 415a + 4192: 4b16 ldr r3, [pc, #88] ; (41ec ) + 4194: 6818 ldr r0, [r3, #0] + 4196: 6843 ldr r3, [r0, #4] + 4198: 6a1a ldr r2, [r3, #32] + 419a: 07d2 lsls r2, r2, #31 + 419c: d50f bpl.n 41be + 419e: 6a1b ldr r3, [r3, #32] + 41a0: 079b lsls r3, r3, #30 + 41a2: d50c bpl.n 41be + 41a4: 2301 movs r3, #1 + 41a6: 61e3 str r3, [r4, #28] + 41a8: e00b b.n 41c2 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 4142: 4d10 ldr r5, [pc, #64] ; (4184 ) - 4144: 6828 ldr r0, [r5, #0] + 41aa: 4d10 ldr r5, [pc, #64] ; (41ec ) + 41ac: 6828 ldr r0, [r5, #0] while(vdb->flushing) { - 4146: 69a3 ldr r3, [r4, #24] - 4148: 2b00 cmp r3, #0 - 414a: d0ec beq.n 4126 + 41ae: 69a3 ldr r3, [r4, #24] + 41b0: 2b00 cmp r3, #0 + 41b2: d0ec beq.n 418e if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 414c: 69c3 ldr r3, [r0, #28] - 414e: 2b00 cmp r3, #0 - 4150: d0f9 beq.n 4146 - 4152: 4798 blx r3 - 4154: e7f6 b.n 4144 + 41b4: 69c3 ldr r3, [r0, #28] + 41b6: 2b00 cmp r3, #0 + 41b8: d0f9 beq.n 41ae + 41ba: 4798 blx r3 + 41bc: e7f6 b.n 41ac else vdb->flushing_last = 0; - 4156: 2300 movs r3, #0 - 4158: 61e3 str r3, [r4, #28] + 41be: 2300 movs r3, #0 + 41c0: 61e3 str r3, [r4, #28] /*Flush the rendered content to the display*/ lv_disp_t * disp = _lv_refr_get_disp_refreshing(); if(disp->driver.flush_cb) disp->driver.flush_cb(&disp->driver, &vdb->area, vdb->buf_act); - 415a: 68c3 ldr r3, [r0, #12] - 415c: 2b00 cmp r3, #0 - 415e: d003 beq.n 4168 - 4160: 0021 movs r1, r4 - 4162: 3110 adds r1, #16 - 4164: 68a2 ldr r2, [r4, #8] - 4166: 4798 blx r3 + 41c2: 68c3 ldr r3, [r0, #12] + 41c4: 2b00 cmp r3, #0 + 41c6: d003 beq.n 41d0 + 41c8: 0021 movs r1, r4 + 41ca: 3110 adds r1, #16 + 41cc: 68a2 ldr r2, [r4, #8] + 41ce: 4798 blx r3 if(vdb->buf1 && vdb->buf2) { - 4168: 6823 ldr r3, [r4, #0] - 416a: 2b00 cmp r3, #0 - 416c: d006 beq.n 417c - 416e: 6862 ldr r2, [r4, #4] - 4170: 2a00 cmp r2, #0 - 4172: d003 beq.n 417c + 41d0: 6823 ldr r3, [r4, #0] + 41d2: 2b00 cmp r3, #0 + 41d4: d006 beq.n 41e4 + 41d6: 6862 ldr r2, [r4, #4] + 41d8: 2a00 cmp r2, #0 + 41da: d003 beq.n 41e4 if(vdb->buf_act == vdb->buf1) - 4174: 68a1 ldr r1, [r4, #8] - 4176: 428b cmp r3, r1 - 4178: d001 beq.n 417e + 41dc: 68a1 ldr r1, [r4, #8] + 41de: 428b cmp r3, r1 + 41e0: d001 beq.n 41e6 vdb->buf_act = vdb->buf2; else vdb->buf_act = vdb->buf1; - 417a: 60a3 str r3, [r4, #8] + 41e2: 60a3 str r3, [r4, #8] } } - 417c: bd70 pop {r4, r5, r6, pc} + 41e4: bd70 pop {r4, r5, r6, pc} vdb->buf_act = vdb->buf2; - 417e: 60a2 str r2, [r4, #8] - 4180: e7fc b.n 417c - 4182: 46c0 nop ; (mov r8, r8) - 4184: 200026e8 .word 0x200026e8 - 4188: 0000f6a1 .word 0x0000f6a1 - 418c: 0000f6a5 .word 0x0000f6a5 - -00004190 : -{ - 4190: b570 push {r4, r5, r6, lr} - 4192: b082 sub sp, #8 - 4194: 0005 movs r5, r0 + 41e6: 60a2 str r2, [r4, #8] + 41e8: e7fc b.n 41e4 + 41ea: 46c0 nop ; (mov r8, r8) + 41ec: 200026e8 .word 0x200026e8 + 41f0: 0000f709 .word 0x0000f709 + 41f4: 0000f70d .word 0x0000f70d + +000041f8 : +{ + 41f8: b570 push {r4, r5, r6, lr} + 41fa: b082 sub sp, #8 + 41fc: 0005 movs r5, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 4196: 4e1c ldr r6, [pc, #112] ; (4208 ) - 4198: 6830 ldr r0, [r6, #0] - 419a: 4b1c ldr r3, [pc, #112] ; (420c ) - 419c: 4798 blx r3 - 419e: 0004 movs r4, r0 + 41fe: 4e1c ldr r6, [pc, #112] ; (4270 ) + 4200: 6830 ldr r0, [r6, #0] + 4202: 4b1c ldr r3, [pc, #112] ; (4274 ) + 4204: 4798 blx r3 + 4206: 0004 movs r4, r0 if(lv_disp_is_double_buf(disp_refr) == false) { - 41a0: 6830 ldr r0, [r6, #0] - 41a2: 4b1b ldr r3, [pc, #108] ; (4210 ) - 41a4: 4798 blx r3 - 41a6: 2800 cmp r0, #0 - 41a8: d109 bne.n 41be + 4208: 6830 ldr r0, [r6, #0] + 420a: 4b1b ldr r3, [pc, #108] ; (4278 ) + 420c: 4798 blx r3 + 420e: 2800 cmp r0, #0 + 4210: d109 bne.n 4226 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 41aa: 4e17 ldr r6, [pc, #92] ; (4208 ) - 41ac: 6830 ldr r0, [r6, #0] + 4212: 4e17 ldr r6, [pc, #92] ; (4270 ) + 4214: 6830 ldr r0, [r6, #0] while(vdb->flushing) { - 41ae: 69a3 ldr r3, [r4, #24] - 41b0: 2b00 cmp r3, #0 - 41b2: d004 beq.n 41be + 4216: 69a3 ldr r3, [r4, #24] + 4218: 2b00 cmp r3, #0 + 421a: d004 beq.n 4226 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 41b4: 69c3 ldr r3, [r0, #28] - 41b6: 2b00 cmp r3, #0 - 41b8: d0f9 beq.n 41ae - 41ba: 4798 blx r3 - 41bc: e7f6 b.n 41ac + 421c: 69c3 ldr r3, [r0, #28] + 421e: 2b00 cmp r3, #0 + 4220: d0f9 beq.n 4216 + 4222: 4798 blx r3 + 4224: e7f6 b.n 4214 _lv_area_intersect(&start_mask, area_p, &vdb->area); - 41be: 0022 movs r2, r4 - 41c0: 3210 adds r2, #16 - 41c2: 0029 movs r1, r5 - 41c4: 4668 mov r0, sp - 41c6: 4b13 ldr r3, [pc, #76] ; (4214 ) - 41c8: 4798 blx r3 + 4226: 0022 movs r2, r4 + 4228: 3210 adds r2, #16 + 422a: 0029 movs r1, r5 + 422c: 4668 mov r0, sp + 422e: 4b13 ldr r3, [pc, #76] ; (427c ) + 4230: 4798 blx r3 top_p = lv_refr_get_top_obj(&start_mask, lv_disp_get_scr_act(disp_refr)); - 41ca: 4c0f ldr r4, [pc, #60] ; (4208 ) - 41cc: 6820 ldr r0, [r4, #0] - 41ce: 4b12 ldr r3, [pc, #72] ; (4218 ) - 41d0: 4798 blx r3 - 41d2: 0001 movs r1, r0 - 41d4: 4668 mov r0, sp - 41d6: 4b11 ldr r3, [pc, #68] ; (421c ) - 41d8: 4798 blx r3 + 4232: 4c0f ldr r4, [pc, #60] ; (4270 ) + 4234: 6820 ldr r0, [r4, #0] + 4236: 4b12 ldr r3, [pc, #72] ; (4280 ) + 4238: 4798 blx r3 + 423a: 0001 movs r1, r0 + 423c: 4668 mov r0, sp + 423e: 4b11 ldr r3, [pc, #68] ; (4284 ) + 4240: 4798 blx r3 lv_refr_obj_and_children(top_p, &start_mask); - 41da: 4669 mov r1, sp - 41dc: 4d10 ldr r5, [pc, #64] ; (4220 ) - 41de: 47a8 blx r5 + 4242: 4669 mov r1, sp + 4244: 4d10 ldr r5, [pc, #64] ; (4288 ) + 4246: 47a8 blx r5 lv_refr_obj_and_children(lv_disp_get_layer_top(disp_refr), &start_mask); - 41e0: 6820 ldr r0, [r4, #0] - 41e2: 4b10 ldr r3, [pc, #64] ; (4224 ) - 41e4: 4798 blx r3 - 41e6: 4669 mov r1, sp - 41e8: 47a8 blx r5 + 4248: 6820 ldr r0, [r4, #0] + 424a: 4b10 ldr r3, [pc, #64] ; (428c ) + 424c: 4798 blx r3 + 424e: 4669 mov r1, sp + 4250: 47a8 blx r5 lv_refr_obj_and_children(lv_disp_get_layer_sys(disp_refr), &start_mask); - 41ea: 6820 ldr r0, [r4, #0] - 41ec: 4b0e ldr r3, [pc, #56] ; (4228 ) - 41ee: 4798 blx r3 - 41f0: 4669 mov r1, sp - 41f2: 47a8 blx r5 + 4252: 6820 ldr r0, [r4, #0] + 4254: 4b0e ldr r3, [pc, #56] ; (4290 ) + 4256: 4798 blx r3 + 4258: 4669 mov r1, sp + 425a: 47a8 blx r5 if(lv_disp_is_true_double_buf(disp_refr) == false) { - 41f4: 6820 ldr r0, [r4, #0] - 41f6: 4b0d ldr r3, [pc, #52] ; (422c ) - 41f8: 4798 blx r3 - 41fa: 2800 cmp r0, #0 - 41fc: d001 beq.n 4202 -} - 41fe: b002 add sp, #8 - 4200: bd70 pop {r4, r5, r6, pc} + 425c: 6820 ldr r0, [r4, #0] + 425e: 4b0d ldr r3, [pc, #52] ; (4294 ) + 4260: 4798 blx r3 + 4262: 2800 cmp r0, #0 + 4264: d001 beq.n 426a +} + 4266: b002 add sp, #8 + 4268: bd70 pop {r4, r5, r6, pc} lv_refr_vdb_flush(); - 4202: 4b0b ldr r3, [pc, #44] ; (4230 ) - 4204: 4798 blx r3 + 426a: 4b0b ldr r3, [pc, #44] ; (4298 ) + 426c: 4798 blx r3 } - 4206: e7fa b.n 41fe - 4208: 200026e8 .word 0x200026e8 - 420c: 0000f6a1 .word 0x0000f6a1 - 4210: 0000f6a5 .word 0x0000f6a5 - 4214: 0000fba7 .word 0x0000fba7 - 4218: 00001445 .word 0x00001445 - 421c: 00003ef1 .word 0x00003ef1 - 4220: 00004081 .word 0x00004081 - 4224: 00001461 .word 0x00001461 - 4228: 0000147d .word 0x0000147d - 422c: 0000f6bd .word 0x0000f6bd - 4230: 00004111 .word 0x00004111 - -00004234 <_lv_refr_init>: -} - 4234: 4770 bx lr + 426e: e7fa b.n 4266 + 4270: 200026e8 .word 0x200026e8 + 4274: 0000f709 .word 0x0000f709 + 4278: 0000f70d .word 0x0000f70d + 427c: 0000fc0f .word 0x0000fc0f + 4280: 000014ad .word 0x000014ad + 4284: 00003f59 .word 0x00003f59 + 4288: 000040e9 .word 0x000040e9 + 428c: 000014c9 .word 0x000014c9 + 4290: 000014e5 .word 0x000014e5 + 4294: 0000f725 .word 0x0000f725 + 4298: 00004179 .word 0x00004179 + +0000429c <_lv_refr_init>: +} + 429c: 4770 bx lr ... -00004238 <_lv_inv_area>: +000042a0 <_lv_inv_area>: { - 4238: b5f0 push {r4, r5, r6, r7, lr} - 423a: b085 sub sp, #20 - 423c: 0005 movs r5, r0 - 423e: 000e movs r6, r1 + 42a0: b5f0 push {r4, r5, r6, r7, lr} + 42a2: b085 sub sp, #20 + 42a4: 0005 movs r5, r0 + 42a6: 000e movs r6, r1 if(!disp) disp = lv_disp_get_default(); - 4240: 2800 cmp r0, #0 - 4242: d057 beq.n 42f4 <_lv_inv_area+0xbc> + 42a8: 2800 cmp r0, #0 + 42aa: d057 beq.n 435c <_lv_inv_area+0xbc> if(area_p == NULL) { - 4244: 2e00 cmp r6, #0 - 4246: d05a beq.n 42fe <_lv_inv_area+0xc6> + 42ac: 2e00 cmp r6, #0 + 42ae: d05a beq.n 4366 <_lv_inv_area+0xc6> scr_area.x1 = 0; - 4248: ac02 add r4, sp, #8 - 424a: 2300 movs r3, #0 - 424c: 8023 strh r3, [r4, #0] + 42b0: ac02 add r4, sp, #8 + 42b2: 2300 movs r3, #0 + 42b4: 8023 strh r3, [r4, #0] scr_area.y1 = 0; - 424e: 8063 strh r3, [r4, #2] + 42b6: 8063 strh r3, [r4, #2] scr_area.x2 = lv_disp_get_hor_res(disp) - 1; - 4250: 0028 movs r0, r5 - 4252: 4b37 ldr r3, [pc, #220] ; (4330 <_lv_inv_area+0xf8>) - 4254: 4798 blx r3 - 4256: 3801 subs r0, #1 - 4258: 80a0 strh r0, [r4, #4] + 42b8: 0028 movs r0, r5 + 42ba: 4b37 ldr r3, [pc, #220] ; (4398 <_lv_inv_area+0xf8>) + 42bc: 4798 blx r3 + 42be: 3801 subs r0, #1 + 42c0: 80a0 strh r0, [r4, #4] scr_area.y2 = lv_disp_get_ver_res(disp) - 1; - 425a: 0028 movs r0, r5 - 425c: 4b35 ldr r3, [pc, #212] ; (4334 <_lv_inv_area+0xfc>) - 425e: 4798 blx r3 - 4260: 3801 subs r0, #1 - 4262: 80e0 strh r0, [r4, #6] + 42c2: 0028 movs r0, r5 + 42c4: 4b35 ldr r3, [pc, #212] ; (439c <_lv_inv_area+0xfc>) + 42c6: 4798 blx r3 + 42c8: 3801 subs r0, #1 + 42ca: 80e0 strh r0, [r4, #6] suc = _lv_area_intersect(&com_area, area_p, &scr_area); - 4264: 0022 movs r2, r4 - 4266: 0031 movs r1, r6 - 4268: 4668 mov r0, sp - 426a: 4b33 ldr r3, [pc, #204] ; (4338 <_lv_inv_area+0x100>) - 426c: 4798 blx r3 + 42cc: 0022 movs r2, r4 + 42ce: 0031 movs r1, r6 + 42d0: 4668 mov r0, sp + 42d2: 4b33 ldr r3, [pc, #204] ; (43a0 <_lv_inv_area+0x100>) + 42d4: 4798 blx r3 if(suc != false) { - 426e: 2800 cmp r0, #0 - 4270: d04b beq.n 430a <_lv_inv_area+0xd2> + 42d6: 2800 cmp r0, #0 + 42d8: d04b beq.n 4372 <_lv_inv_area+0xd2> if(disp->driver.rounder_cb) disp->driver.rounder_cb(&disp->driver, &com_area); - 4272: 692b ldr r3, [r5, #16] - 4274: 2b00 cmp r3, #0 - 4276: d002 beq.n 427e <_lv_inv_area+0x46> - 4278: 4669 mov r1, sp - 427a: 0028 movs r0, r5 - 427c: 4798 blx r3 + 42da: 692b ldr r3, [r5, #16] + 42dc: 2b00 cmp r3, #0 + 42de: d002 beq.n 42e6 <_lv_inv_area+0x46> + 42e0: 4669 mov r1, sp + 42e2: 0028 movs r0, r5 + 42e4: 4798 blx r3 for(i = 0; i < disp->inv_p; i++) { - 427e: 23b4 movs r3, #180 ; 0xb4 - 4280: 005b lsls r3, r3, #1 - 4282: 5aeb ldrh r3, [r5, r3] - 4284: 059b lsls r3, r3, #22 - 4286: 0d9b lsrs r3, r3, #22 - 4288: 2b00 cmp r3, #0 - 428a: dd14 ble.n 42b6 <_lv_inv_area+0x7e> - 428c: 2100 movs r1, #0 - 428e: 2400 movs r4, #0 + 42e6: 23b4 movs r3, #180 ; 0xb4 + 42e8: 005b lsls r3, r3, #1 + 42ea: 5aeb ldrh r3, [r5, r3] + 42ec: 059b lsls r3, r3, #22 + 42ee: 0d9b lsrs r3, r3, #22 + 42f0: 2b00 cmp r3, #0 + 42f2: dd14 ble.n 431e <_lv_inv_area+0x7e> + 42f4: 2100 movs r1, #0 + 42f6: 2400 movs r4, #0 if(_lv_area_is_in(&com_area, &disp->inv_areas[i], 0) != false) return; - 4290: 4e2a ldr r6, [pc, #168] ; (433c <_lv_inv_area+0x104>) + 42f8: 4e2a ldr r6, [pc, #168] ; (43a4 <_lv_inv_area+0x104>) for(i = 0; i < disp->inv_p; i++) { - 4292: 27b4 movs r7, #180 ; 0xb4 - 4294: 007f lsls r7, r7, #1 + 42fa: 27b4 movs r7, #180 ; 0xb4 + 42fc: 007f lsls r7, r7, #1 if(_lv_area_is_in(&com_area, &disp->inv_areas[i], 0) != false) return; - 4296: 3109 adds r1, #9 - 4298: 00c9 lsls r1, r1, #3 - 429a: 1869 adds r1, r5, r1 - 429c: 2200 movs r2, #0 - 429e: 4668 mov r0, sp - 42a0: 47b0 blx r6 - 42a2: 2800 cmp r0, #0 - 42a4: d131 bne.n 430a <_lv_inv_area+0xd2> + 42fe: 3109 adds r1, #9 + 4300: 00c9 lsls r1, r1, #3 + 4302: 1869 adds r1, r5, r1 + 4304: 2200 movs r2, #0 + 4306: 4668 mov r0, sp + 4308: 47b0 blx r6 + 430a: 2800 cmp r0, #0 + 430c: d131 bne.n 4372 <_lv_inv_area+0xd2> for(i = 0; i < disp->inv_p; i++) { - 42a6: 3401 adds r4, #1 - 42a8: b2a4 uxth r4, r4 - 42aa: 0021 movs r1, r4 - 42ac: 5beb ldrh r3, [r5, r7] - 42ae: 059b lsls r3, r3, #22 - 42b0: 0d9b lsrs r3, r3, #22 - 42b2: 429c cmp r4, r3 - 42b4: dbef blt.n 4296 <_lv_inv_area+0x5e> + 430e: 3401 adds r4, #1 + 4310: b2a4 uxth r4, r4 + 4312: 0021 movs r1, r4 + 4314: 5beb ldrh r3, [r5, r7] + 4316: 059b lsls r3, r3, #22 + 4318: 0d9b lsrs r3, r3, #22 + 431a: 429c cmp r4, r3 + 431c: dbef blt.n 42fe <_lv_inv_area+0x5e> if(disp->inv_p < LV_INV_BUF_SIZE) { - 42b6: 2b1f cmp r3, #31 - 42b8: dc29 bgt.n 430e <_lv_inv_area+0xd6> + 431e: 2b1f cmp r3, #31 + 4320: dc29 bgt.n 4376 <_lv_inv_area+0xd6> lv_area_copy(&disp->inv_areas[disp->inv_p], &com_area); - 42ba: 3309 adds r3, #9 - 42bc: 00db lsls r3, r3, #3 - 42be: 18eb adds r3, r5, r3 - 42c0: 2200 movs r2, #0 + 4322: 3309 adds r3, #9 + 4324: 00db lsls r3, r3, #3 + 4326: 18eb adds r3, r5, r3 + 4328: 2200 movs r2, #0 *d8 = *s8; - 42c2: 4669 mov r1, sp - 42c4: 5c51 ldrb r1, [r2, r1] - 42c6: 5499 strb r1, [r3, r2] - 42c8: 3201 adds r2, #1 + 432a: 4669 mov r1, sp + 432c: 5c51 ldrb r1, [r2, r1] + 432e: 5499 strb r1, [r3, r2] + 4330: 3201 adds r2, #1 while(len) { - 42ca: 2a08 cmp r2, #8 - 42cc: d1f9 bne.n 42c2 <_lv_inv_area+0x8a> + 4332: 2a08 cmp r2, #8 + 4334: d1f9 bne.n 432a <_lv_inv_area+0x8a> disp->inv_p++; - 42ce: 21b4 movs r1, #180 ; 0xb4 - 42d0: 0049 lsls r1, r1, #1 - 42d2: 5a6b ldrh r3, [r5, r1] - 42d4: 059a lsls r2, r3, #22 - 42d6: 2080 movs r0, #128 ; 0x80 - 42d8: 03c0 lsls r0, r0, #15 - 42da: 4684 mov ip, r0 - 42dc: 4462 add r2, ip - 42de: 0d92 lsrs r2, r2, #22 - 42e0: 0a9b lsrs r3, r3, #10 - 42e2: 029b lsls r3, r3, #10 - 42e4: 4313 orrs r3, r2 - 42e6: 526b strh r3, [r5, r1] + 4336: 21b4 movs r1, #180 ; 0xb4 + 4338: 0049 lsls r1, r1, #1 + 433a: 5a6b ldrh r3, [r5, r1] + 433c: 059a lsls r2, r3, #22 + 433e: 2080 movs r0, #128 ; 0x80 + 4340: 03c0 lsls r0, r0, #15 + 4342: 4684 mov ip, r0 + 4344: 4462 add r2, ip + 4346: 0d92 lsrs r2, r2, #22 + 4348: 0a9b lsrs r3, r3, #10 + 434a: 029b lsls r3, r3, #10 + 434c: 4313 orrs r3, r2 + 434e: 526b strh r3, [r5, r1] lv_task_set_prio(disp->refr_task, LV_REFR_TASK_PRIO); - 42e8: 6ae8 ldr r0, [r5, #44] ; 0x2c - 42ea: 3966 subs r1, #102 ; 0x66 - 42ec: 39ff subs r1, #255 ; 0xff - 42ee: 4b14 ldr r3, [pc, #80] ; (4340 <_lv_inv_area+0x108>) - 42f0: 4798 blx r3 - 42f2: e00a b.n 430a <_lv_inv_area+0xd2> + 4350: 6ae8 ldr r0, [r5, #44] ; 0x2c + 4352: 3966 subs r1, #102 ; 0x66 + 4354: 39ff subs r1, #255 ; 0xff + 4356: 4b14 ldr r3, [pc, #80] ; (43a8 <_lv_inv_area+0x108>) + 4358: 4798 blx r3 + 435a: e00a b.n 4372 <_lv_inv_area+0xd2> if(!disp) disp = lv_disp_get_default(); - 42f4: 4b13 ldr r3, [pc, #76] ; (4344 <_lv_inv_area+0x10c>) - 42f6: 4798 blx r3 - 42f8: 1e05 subs r5, r0, #0 + 435c: 4b13 ldr r3, [pc, #76] ; (43ac <_lv_inv_area+0x10c>) + 435e: 4798 blx r3 + 4360: 1e05 subs r5, r0, #0 if(!disp) return; - 42fa: d006 beq.n 430a <_lv_inv_area+0xd2> - 42fc: e7a2 b.n 4244 <_lv_inv_area+0xc> + 4362: d006 beq.n 4372 <_lv_inv_area+0xd2> + 4364: e7a2 b.n 42ac <_lv_inv_area+0xc> disp->inv_p = 0; - 42fe: 22b4 movs r2, #180 ; 0xb4 - 4300: 0052 lsls r2, r2, #1 - 4302: 5aab ldrh r3, [r5, r2] - 4304: 0a9b lsrs r3, r3, #10 - 4306: 029b lsls r3, r3, #10 - 4308: 52ab strh r3, [r5, r2] -} - 430a: b005 add sp, #20 - 430c: bdf0 pop {r4, r5, r6, r7, pc} + 4366: 22b4 movs r2, #180 ; 0xb4 + 4368: 0052 lsls r2, r2, #1 + 436a: 5aab ldrh r3, [r5, r2] + 436c: 0a9b lsrs r3, r3, #10 + 436e: 029b lsls r3, r3, #10 + 4370: 52ab strh r3, [r5, r2] +} + 4372: b005 add sp, #20 + 4374: bdf0 pop {r4, r5, r6, r7, pc} disp->inv_p = 0; - 430e: 22b4 movs r2, #180 ; 0xb4 - 4310: 0052 lsls r2, r2, #1 - 4312: 5aab ldrh r3, [r5, r2] - 4314: 0a9b lsrs r3, r3, #10 - 4316: 029b lsls r3, r3, #10 - 4318: 52ab strh r3, [r5, r2] + 4376: 22b4 movs r2, #180 ; 0xb4 + 4378: 0052 lsls r2, r2, #1 + 437a: 5aab ldrh r3, [r5, r2] + 437c: 0a9b lsrs r3, r3, #10 + 437e: 029b lsls r3, r3, #10 + 4380: 52ab strh r3, [r5, r2] lv_area_copy(&disp->inv_areas[disp->inv_p], &scr_area); - 431a: 0028 movs r0, r5 - 431c: 3048 adds r0, #72 ; 0x48 - 431e: 2300 movs r3, #0 + 4382: 0028 movs r0, r5 + 4384: 3048 adds r0, #72 ; 0x48 + 4386: 2300 movs r3, #0 *d8 = *s8; - 4320: a902 add r1, sp, #8 - 4322: 5c5a ldrb r2, [r3, r1] - 4324: 54c2 strb r2, [r0, r3] - 4326: 3301 adds r3, #1 + 4388: a902 add r1, sp, #8 + 438a: 5c5a ldrb r2, [r3, r1] + 438c: 54c2 strb r2, [r0, r3] + 438e: 3301 adds r3, #1 while(len) { - 4328: 2b08 cmp r3, #8 - 432a: d1fa bne.n 4322 <_lv_inv_area+0xea> - 432c: e7cf b.n 42ce <_lv_inv_area+0x96> - 432e: 46c0 nop ; (mov r8, r8) - 4330: 0000f5ad .word 0x0000f5ad - 4334: 0000f5d5 .word 0x0000f5d5 - 4338: 0000fba7 .word 0x0000fba7 - 433c: 0000fe35 .word 0x0000fe35 - 4340: 000114e1 .word 0x000114e1 - 4344: 0000f5a1 .word 0x0000f5a1 - -00004348 <_lv_refr_get_disp_refreshing>: + 4390: 2b08 cmp r3, #8 + 4392: d1fa bne.n 438a <_lv_inv_area+0xea> + 4394: e7cf b.n 4336 <_lv_inv_area+0x96> + 4396: 46c0 nop ; (mov r8, r8) + 4398: 0000f615 .word 0x0000f615 + 439c: 0000f63d .word 0x0000f63d + 43a0: 0000fc0f .word 0x0000fc0f + 43a4: 0000fe9d .word 0x0000fe9d + 43a8: 00011549 .word 0x00011549 + 43ac: 0000f609 .word 0x0000f609 + +000043b0 <_lv_refr_get_disp_refreshing>: return disp_refr; - 4348: 4b01 ldr r3, [pc, #4] ; (4350 <_lv_refr_get_disp_refreshing+0x8>) - 434a: 6818 ldr r0, [r3, #0] -} - 434c: 4770 bx lr - 434e: 46c0 nop ; (mov r8, r8) - 4350: 200026e8 .word 0x200026e8 - -00004354 <_lv_disp_refr_task>: -{ - 4354: b5f0 push {r4, r5, r6, r7, lr} - 4356: 46de mov lr, fp - 4358: 4657 mov r7, sl - 435a: 464e mov r6, r9 - 435c: 4645 mov r5, r8 - 435e: b5e0 push {r5, r6, r7, lr} - 4360: b089 sub sp, #36 ; 0x24 - 4362: 0005 movs r5, r0 + 43b0: 4b01 ldr r3, [pc, #4] ; (43b8 <_lv_refr_get_disp_refreshing+0x8>) + 43b2: 6818 ldr r0, [r3, #0] +} + 43b4: 4770 bx lr + 43b6: 46c0 nop ; (mov r8, r8) + 43b8: 200026e8 .word 0x200026e8 + +000043bc <_lv_disp_refr_task>: +{ + 43bc: b5f0 push {r4, r5, r6, r7, lr} + 43be: 46de mov lr, fp + 43c0: 4657 mov r7, sl + 43c2: 464e mov r6, r9 + 43c4: 4645 mov r5, r8 + 43c6: b5e0 push {r5, r6, r7, lr} + 43c8: b089 sub sp, #36 ; 0x24 + 43ca: 0005 movs r5, r0 uint32_t start = lv_tick_get(); - 4364: 4bc7 ldr r3, [pc, #796] ; (4684 <_lv_disp_refr_task+0x330>) - 4366: 4798 blx r3 - 4368: 9005 str r0, [sp, #20] + 43cc: 4bc7 ldr r3, [pc, #796] ; (46ec <_lv_disp_refr_task+0x330>) + 43ce: 4798 blx r3 + 43d0: 9005 str r0, [sp, #20] disp_refr = task->user_data; - 436a: 4cc7 ldr r4, [pc, #796] ; (4688 <_lv_disp_refr_task+0x334>) - 436c: 68eb ldr r3, [r5, #12] - 436e: 6023 str r3, [r4, #0] + 43d2: 4cc7 ldr r4, [pc, #796] ; (46f0 <_lv_disp_refr_task+0x334>) + 43d4: 68eb ldr r3, [r5, #12] + 43d6: 6023 str r3, [r4, #0] lv_task_set_prio(task, LV_TASK_PRIO_OFF); - 4370: 2100 movs r1, #0 - 4372: 0028 movs r0, r5 - 4374: 4bc5 ldr r3, [pc, #788] ; (468c <_lv_disp_refr_task+0x338>) - 4376: 4798 blx r3 + 43d8: 2100 movs r1, #0 + 43da: 0028 movs r0, r5 + 43dc: 4bc5 ldr r3, [pc, #788] ; (46f4 <_lv_disp_refr_task+0x338>) + 43de: 4798 blx r3 if(disp_refr->act_scr == NULL) { - 4378: 6820 ldr r0, [r4, #0] - 437a: 6bc3 ldr r3, [r0, #60] ; 0x3c - 437c: 2b00 cmp r3, #0 - 437e: d00e beq.n 439e <_lv_disp_refr_task+0x4a> + 43e0: 6820 ldr r0, [r4, #0] + 43e2: 6bc3 ldr r3, [r0, #60] ; 0x3c + 43e4: 2b00 cmp r3, #0 + 43e6: d00e beq.n 4406 <_lv_disp_refr_task+0x4a> for(join_in = 0; join_in < disp_refr->inv_p; join_in++) { - 4380: 23b4 movs r3, #180 ; 0xb4 - 4382: 005b lsls r3, r3, #1 - 4384: 5ac3 ldrh r3, [r0, r3] - 4386: 059b lsls r3, r3, #22 - 4388: 2748 movs r7, #72 ; 0x48 - 438a: 2600 movs r6, #0 - 438c: 2b00 cmp r3, #0 - 438e: d100 bne.n 4392 <_lv_disp_refr_task+0x3e> - 4390: e284 b.n 489c <_lv_disp_refr_task+0x548> + 43e8: 23b4 movs r3, #180 ; 0xb4 + 43ea: 005b lsls r3, r3, #1 + 43ec: 5ac3 ldrh r3, [r0, r3] + 43ee: 059b lsls r3, r3, #22 + 43f0: 2748 movs r7, #72 ; 0x48 + 43f2: 2600 movs r6, #0 + 43f4: 2b00 cmp r3, #0 + 43f6: d100 bne.n 43fa <_lv_disp_refr_task+0x3e> + 43f8: e284 b.n 4904 <_lv_disp_refr_task+0x548> for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 4392: 4bbd ldr r3, [pc, #756] ; (4688 <_lv_disp_refr_task+0x334>) - 4394: 4698 mov r8, r3 + 43fa: 4bbd ldr r3, [pc, #756] ; (46f0 <_lv_disp_refr_task+0x334>) + 43fc: 4698 mov r8, r3 if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) { - 4396: 4bbe ldr r3, [pc, #760] ; (4690 <_lv_disp_refr_task+0x33c>) - 4398: 469a mov sl, r3 + 43fe: 4bbe ldr r3, [pc, #760] ; (46f8 <_lv_disp_refr_task+0x33c>) + 4400: 469a mov sl, r3 _lv_area_join(&joined_area, &disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]); - 439a: 46c3 mov fp, r8 - 439c: e056 b.n 444c <_lv_disp_refr_task+0xf8> + 4402: 46c3 mov fp, r8 + 4404: e056 b.n 44b4 <_lv_disp_refr_task+0xf8> disp_refr->inv_p = 0; - 439e: 22b4 movs r2, #180 ; 0xb4 - 43a0: 0052 lsls r2, r2, #1 - 43a2: 5a83 ldrh r3, [r0, r2] - 43a4: 0a9b lsrs r3, r3, #10 - 43a6: 029b lsls r3, r3, #10 - 43a8: 5283 strh r3, [r0, r2] + 4406: 22b4 movs r2, #180 ; 0xb4 + 4408: 0052 lsls r2, r2, #1 + 440a: 5a83 ldrh r3, [r0, r2] + 440c: 0a9b lsrs r3, r3, #10 + 440e: 029b lsls r3, r3, #10 + 4410: 5283 strh r3, [r0, r2] return; - 43aa: e26d b.n 4888 <_lv_disp_refr_task+0x534> + 4412: e26d b.n 48f0 <_lv_disp_refr_task+0x534> disp_refr->inv_area_joined[join_from] = 1; - 43ac: 1900 adds r0, r0, r4 - 43ae: 3049 adds r0, #73 ; 0x49 - 43b0: 30ff adds r0, #255 ; 0xff - 43b2: 3b07 subs r3, #7 - 43b4: 7003 strb r3, [r0, #0] + 4414: 1900 adds r0, r0, r4 + 4416: 3049 adds r0, #73 ; 0x49 + 4418: 30ff adds r0, #255 ; 0xff + 441a: 3b07 subs r3, #7 + 441c: 7003 strb r3, [r0, #0] for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 43b6: 3401 adds r4, #1 - 43b8: 4bb3 ldr r3, [pc, #716] ; (4688 <_lv_disp_refr_task+0x334>) - 43ba: 6818 ldr r0, [r3, #0] - 43bc: 23b4 movs r3, #180 ; 0xb4 - 43be: 005b lsls r3, r3, #1 - 43c0: 5ac3 ldrh r3, [r0, r3] - 43c2: 059b lsls r3, r3, #22 - 43c4: 0d9b lsrs r3, r3, #22 - 43c6: 429c cmp r4, r3 - 43c8: d235 bcs.n 4436 <_lv_disp_refr_task+0xe2> + 441e: 3401 adds r4, #1 + 4420: 4bb3 ldr r3, [pc, #716] ; (46f0 <_lv_disp_refr_task+0x334>) + 4422: 6818 ldr r0, [r3, #0] + 4424: 23b4 movs r3, #180 ; 0xb4 + 4426: 005b lsls r3, r3, #1 + 4428: 5ac3 ldrh r3, [r0, r3] + 442a: 059b lsls r3, r3, #22 + 442c: 0d9b lsrs r3, r3, #22 + 442e: 429c cmp r4, r3 + 4430: d235 bcs.n 449e <_lv_disp_refr_task+0xe2> if(disp_refr->inv_area_joined[join_from] != 0 || join_in == join_from) { - 43ca: 1903 adds r3, r0, r4 - 43cc: 3349 adds r3, #73 ; 0x49 - 43ce: 33ff adds r3, #255 ; 0xff - 43d0: 781b ldrb r3, [r3, #0] - 43d2: 2b00 cmp r3, #0 - 43d4: d1ef bne.n 43b6 <_lv_disp_refr_task+0x62> - 43d6: 42a6 cmp r6, r4 - 43d8: d0ed beq.n 43b6 <_lv_disp_refr_task+0x62> - 43da: 0025 movs r5, r4 - 43dc: 3509 adds r5, #9 - 43de: 00ed lsls r5, r5, #3 + 4432: 1903 adds r3, r0, r4 + 4434: 3349 adds r3, #73 ; 0x49 + 4436: 33ff adds r3, #255 ; 0xff + 4438: 781b ldrb r3, [r3, #0] + 443a: 2b00 cmp r3, #0 + 443c: d1ef bne.n 441e <_lv_disp_refr_task+0x62> + 443e: 42a6 cmp r6, r4 + 4440: d0ed beq.n 441e <_lv_disp_refr_task+0x62> + 4442: 0025 movs r5, r4 + 4444: 3509 adds r5, #9 + 4446: 00ed lsls r5, r5, #3 if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) { - 43e0: 1941 adds r1, r0, r5 - 43e2: 19c0 adds r0, r0, r7 - 43e4: 47d0 blx sl - 43e6: 2800 cmp r0, #0 - 43e8: d0e5 beq.n 43b6 <_lv_disp_refr_task+0x62> + 4448: 1941 adds r1, r0, r5 + 444a: 19c0 adds r0, r0, r7 + 444c: 47d0 blx sl + 444e: 2800 cmp r0, #0 + 4450: d0e5 beq.n 441e <_lv_disp_refr_task+0x62> _lv_area_join(&joined_area, &disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]); - 43ea: 465b mov r3, fp - 43ec: 6819 ldr r1, [r3, #0] - 43ee: 194a adds r2, r1, r5 - 43f0: 19c9 adds r1, r1, r7 - 43f2: a806 add r0, sp, #24 - 43f4: 4ba7 ldr r3, [pc, #668] ; (4694 <_lv_disp_refr_task+0x340>) - 43f6: 4798 blx r3 + 4452: 465b mov r3, fp + 4454: 6819 ldr r1, [r3, #0] + 4456: 194a adds r2, r1, r5 + 4458: 19c9 adds r1, r1, r7 + 445a: a806 add r0, sp, #24 + 445c: 4ba7 ldr r3, [pc, #668] ; (46fc <_lv_disp_refr_task+0x340>) + 445e: 4798 blx r3 if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 43f8: a806 add r0, sp, #24 - 43fa: 4ba7 ldr r3, [pc, #668] ; (4698 <_lv_disp_refr_task+0x344>) - 43fc: 4699 mov r9, r3 - 43fe: 4798 blx r3 - 4400: 9000 str r0, [sp, #0] - 4402: 465b mov r3, fp - 4404: 681b ldr r3, [r3, #0] - 4406: 19d8 adds r0, r3, r7 - 4408: 47c8 blx r9 - 440a: 9001 str r0, [sp, #4] + 4460: a806 add r0, sp, #24 + 4462: 4ba7 ldr r3, [pc, #668] ; (4700 <_lv_disp_refr_task+0x344>) + 4464: 4699 mov r9, r3 + 4466: 4798 blx r3 + 4468: 9000 str r0, [sp, #0] + 446a: 465b mov r3, fp + 446c: 681b ldr r3, [r3, #0] + 446e: 19d8 adds r0, r3, r7 + 4470: 47c8 blx r9 + 4472: 9001 str r0, [sp, #4] lv_area_get_size(&disp_refr->inv_areas[join_from]))) { - 440c: 465b mov r3, fp - 440e: 681b ldr r3, [r3, #0] - 4410: 1958 adds r0, r3, r5 - 4412: 47c8 blx r9 + 4474: 465b mov r3, fp + 4476: 681b ldr r3, [r3, #0] + 4478: 1958 adds r0, r3, r5 + 447a: 47c8 blx r9 if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 4414: 9b01 ldr r3, [sp, #4] - 4416: 469c mov ip, r3 - 4418: 4460 add r0, ip - 441a: 9b00 ldr r3, [sp, #0] - 441c: 4283 cmp r3, r0 - 441e: d2ca bcs.n 43b6 <_lv_disp_refr_task+0x62> + 447c: 9b01 ldr r3, [sp, #4] + 447e: 469c mov ip, r3 + 4480: 4460 add r0, ip + 4482: 9b00 ldr r3, [sp, #0] + 4484: 4283 cmp r3, r0 + 4486: d2ca bcs.n 441e <_lv_disp_refr_task+0x62> lv_area_copy(&disp_refr->inv_areas[join_in], &joined_area); - 4420: 4b99 ldr r3, [pc, #612] ; (4688 <_lv_disp_refr_task+0x334>) - 4422: 6818 ldr r0, [r3, #0] - 4424: 19c1 adds r1, r0, r7 - 4426: 2300 movs r3, #0 + 4488: 4b99 ldr r3, [pc, #612] ; (46f0 <_lv_disp_refr_task+0x334>) + 448a: 6818 ldr r0, [r3, #0] + 448c: 19c1 adds r1, r0, r7 + 448e: 2300 movs r3, #0 *d8 = *s8; - 4428: aa06 add r2, sp, #24 - 442a: 5c9a ldrb r2, [r3, r2] - 442c: 54ca strb r2, [r1, r3] - 442e: 3301 adds r3, #1 + 4490: aa06 add r2, sp, #24 + 4492: 5c9a ldrb r2, [r3, r2] + 4494: 54ca strb r2, [r1, r3] + 4496: 3301 adds r3, #1 while(len) { - 4430: 2b08 cmp r3, #8 - 4432: d1f9 bne.n 4428 <_lv_disp_refr_task+0xd4> - 4434: e7ba b.n 43ac <_lv_disp_refr_task+0x58> + 4498: 2b08 cmp r3, #8 + 449a: d1f9 bne.n 4490 <_lv_disp_refr_task+0xd4> + 449c: e7ba b.n 4414 <_lv_disp_refr_task+0x58> for(join_in = 0; join_in < disp_refr->inv_p; join_in++) { - 4436: 3601 adds r6, #1 - 4438: 4b93 ldr r3, [pc, #588] ; (4688 <_lv_disp_refr_task+0x334>) - 443a: 6818 ldr r0, [r3, #0] - 443c: 23b4 movs r3, #180 ; 0xb4 - 443e: 005b lsls r3, r3, #1 - 4440: 5ac3 ldrh r3, [r0, r3] - 4442: 059b lsls r3, r3, #22 - 4444: 0d9b lsrs r3, r3, #22 - 4446: 3708 adds r7, #8 - 4448: 429e cmp r6, r3 - 444a: d20f bcs.n 446c <_lv_disp_refr_task+0x118> + 449e: 3601 adds r6, #1 + 44a0: 4b93 ldr r3, [pc, #588] ; (46f0 <_lv_disp_refr_task+0x334>) + 44a2: 6818 ldr r0, [r3, #0] + 44a4: 23b4 movs r3, #180 ; 0xb4 + 44a6: 005b lsls r3, r3, #1 + 44a8: 5ac3 ldrh r3, [r0, r3] + 44aa: 059b lsls r3, r3, #22 + 44ac: 0d9b lsrs r3, r3, #22 + 44ae: 3708 adds r7, #8 + 44b0: 429e cmp r6, r3 + 44b2: d20f bcs.n 44d4 <_lv_disp_refr_task+0x118> if(disp_refr->inv_area_joined[join_in] != 0) continue; - 444c: 1980 adds r0, r0, r6 - 444e: 3049 adds r0, #73 ; 0x49 - 4450: 30ff adds r0, #255 ; 0xff - 4452: 7803 ldrb r3, [r0, #0] - 4454: 2b00 cmp r3, #0 - 4456: d1ee bne.n 4436 <_lv_disp_refr_task+0xe2> + 44b4: 1980 adds r0, r0, r6 + 44b6: 3049 adds r0, #73 ; 0x49 + 44b8: 30ff adds r0, #255 ; 0xff + 44ba: 7803 ldrb r3, [r0, #0] + 44bc: 2b00 cmp r3, #0 + 44be: d1ee bne.n 449e <_lv_disp_refr_task+0xe2> for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 4458: 4643 mov r3, r8 - 445a: 6818 ldr r0, [r3, #0] - 445c: 23b4 movs r3, #180 ; 0xb4 - 445e: 005b lsls r3, r3, #1 - 4460: 5ac3 ldrh r3, [r0, r3] - 4462: 059b lsls r3, r3, #22 - 4464: d100 bne.n 4468 <_lv_disp_refr_task+0x114> - 4466: e1fb b.n 4860 <_lv_disp_refr_task+0x50c> - 4468: 2400 movs r4, #0 - 446a: e7ae b.n 43ca <_lv_disp_refr_task+0x76> + 44c0: 4643 mov r3, r8 + 44c2: 6818 ldr r0, [r3, #0] + 44c4: 23b4 movs r3, #180 ; 0xb4 + 44c6: 005b lsls r3, r3, #1 + 44c8: 5ac3 ldrh r3, [r0, r3] + 44ca: 059b lsls r3, r3, #22 + 44cc: d100 bne.n 44d0 <_lv_disp_refr_task+0x114> + 44ce: e1fb b.n 48c8 <_lv_disp_refr_task+0x50c> + 44d0: 2400 movs r4, #0 + 44d2: e7ae b.n 4432 <_lv_disp_refr_task+0x76> px_num = 0; - 446c: 2100 movs r1, #0 - 446e: 4a8b ldr r2, [pc, #556] ; (469c <_lv_disp_refr_task+0x348>) - 4470: 6011 str r1, [r2, #0] + 44d4: 2100 movs r1, #0 + 44d6: 4a8b ldr r2, [pc, #556] ; (4704 <_lv_disp_refr_task+0x348>) + 44d8: 6011 str r1, [r2, #0] if(disp_refr->inv_p == 0) return; - 4472: 22b4 movs r2, #180 ; 0xb4 - 4474: 0052 lsls r2, r2, #1 - 4476: 5a82 ldrh r2, [r0, r2] - 4478: 0592 lsls r2, r2, #22 - 447a: d100 bne.n 447e <_lv_disp_refr_task+0x12a> - 447c: e1f8 b.n 4870 <_lv_disp_refr_task+0x51c> + 44da: 22b4 movs r2, #180 ; 0xb4 + 44dc: 0052 lsls r2, r2, #1 + 44de: 5a82 ldrh r2, [r0, r2] + 44e0: 0592 lsls r2, r2, #22 + 44e2: d100 bne.n 44e6 <_lv_disp_refr_task+0x12a> + 44e4: e1f8 b.n 48d8 <_lv_disp_refr_task+0x51c> for(i = disp_refr->inv_p - 1; i >= 0; i--) { - 447e: 001a movs r2, r3 - 4480: 3a01 subs r2, #1 - 4482: 9204 str r2, [sp, #16] - 4484: d42d bmi.n 44e2 <_lv_disp_refr_task+0x18e> + 44e6: 001a movs r2, r3 + 44e8: 3a01 subs r2, #1 + 44ea: 9204 str r2, [sp, #16] + 44ec: d42d bmi.n 454a <_lv_disp_refr_task+0x18e> if(disp_refr->inv_area_joined[i] == 0) { - 4486: 9904 ldr r1, [sp, #16] - 4488: 1842 adds r2, r0, r1 - 448a: 3249 adds r2, #73 ; 0x49 - 448c: 32ff adds r2, #255 ; 0xff - 448e: 7812 ldrb r2, [r2, #0] - 4490: 2a00 cmp r2, #0 - 4492: d00d beq.n 44b0 <_lv_disp_refr_task+0x15c> - 4494: 3347 adds r3, #71 ; 0x47 - 4496: 33ff adds r3, #255 ; 0xff - 4498: 18c3 adds r3, r0, r3 - 449a: 000a movs r2, r1 + 44ee: 9904 ldr r1, [sp, #16] + 44f0: 1842 adds r2, r0, r1 + 44f2: 3249 adds r2, #73 ; 0x49 + 44f4: 32ff adds r2, #255 ; 0xff + 44f6: 7812 ldrb r2, [r2, #0] + 44f8: 2a00 cmp r2, #0 + 44fa: d00d beq.n 4518 <_lv_disp_refr_task+0x15c> + 44fc: 3347 adds r3, #71 ; 0x47 + 44fe: 33ff adds r3, #255 ; 0xff + 4500: 18c3 adds r3, r0, r3 + 4502: 000a movs r2, r1 for(i = disp_refr->inv_p - 1; i >= 0; i--) { - 449c: 3a01 subs r2, #1 - 449e: d305 bcc.n 44ac <_lv_disp_refr_task+0x158> - 44a0: 3b01 subs r3, #1 + 4504: 3a01 subs r2, #1 + 4506: d305 bcc.n 4514 <_lv_disp_refr_task+0x158> + 4508: 3b01 subs r3, #1 if(disp_refr->inv_area_joined[i] == 0) { - 44a2: 7859 ldrb r1, [r3, #1] - 44a4: 2900 cmp r1, #0 - 44a6: d1f9 bne.n 449c <_lv_disp_refr_task+0x148> - 44a8: 9204 str r2, [sp, #16] - 44aa: e001 b.n 44b0 <_lv_disp_refr_task+0x15c> + 450a: 7859 ldrb r1, [r3, #1] + 450c: 2900 cmp r1, #0 + 450e: d1f9 bne.n 4504 <_lv_disp_refr_task+0x148> + 4510: 9204 str r2, [sp, #16] + 4512: e001 b.n 4518 <_lv_disp_refr_task+0x15c> int32_t last_i = 0; - 44ac: 2300 movs r3, #0 - 44ae: 9304 str r3, [sp, #16] + 4514: 2300 movs r3, #0 + 4516: 9304 str r3, [sp, #16] disp_refr->driver.buffer->last_area = 0; - 44b0: 6841 ldr r1, [r0, #4] - 44b2: 2320 movs r3, #32 - 44b4: 5cca ldrb r2, [r1, r3] - 44b6: 2401 movs r4, #1 - 44b8: 43a2 bics r2, r4 - 44ba: 54ca strb r2, [r1, r3] + 4518: 6841 ldr r1, [r0, #4] + 451a: 2320 movs r3, #32 + 451c: 5cca ldrb r2, [r1, r3] + 451e: 2401 movs r4, #1 + 4520: 43a2 bics r2, r4 + 4522: 54ca strb r2, [r1, r3] disp_refr->driver.buffer->last_part = 0; - 44bc: 6841 ldr r1, [r0, #4] - 44be: 5cca ldrb r2, [r1, r3] - 44c0: 2002 movs r0, #2 - 44c2: 4382 bics r2, r0 - 44c4: 54ca strb r2, [r1, r3] + 4524: 6841 ldr r1, [r0, #4] + 4526: 5cca ldrb r2, [r1, r3] + 4528: 2002 movs r0, #2 + 452a: 4382 bics r2, r0 + 452c: 54ca strb r2, [r1, r3] for(i = 0; i < disp_refr->inv_p; i++) { - 44c6: 4b70 ldr r3, [pc, #448] ; (4688 <_lv_disp_refr_task+0x334>) - 44c8: 681c ldr r4, [r3, #0] - 44ca: 23b4 movs r3, #180 ; 0xb4 - 44cc: 005b lsls r3, r3, #1 - 44ce: 5ae3 ldrh r3, [r4, r3] - 44d0: 059b lsls r3, r3, #22 - 44d2: d100 bne.n 44d6 <_lv_disp_refr_task+0x182> - 44d4: e1cc b.n 4870 <_lv_disp_refr_task+0x51c> - 44d6: 2348 movs r3, #72 ; 0x48 - 44d8: 9301 str r3, [sp, #4] - 44da: 2300 movs r3, #0 - 44dc: 469b mov fp, r3 + 452e: 4b70 ldr r3, [pc, #448] ; (46f0 <_lv_disp_refr_task+0x334>) + 4530: 681c ldr r4, [r3, #0] + 4532: 23b4 movs r3, #180 ; 0xb4 + 4534: 005b lsls r3, r3, #1 + 4536: 5ae3 ldrh r3, [r4, r3] + 4538: 059b lsls r3, r3, #22 + 453a: d100 bne.n 453e <_lv_disp_refr_task+0x182> + 453c: e1cc b.n 48d8 <_lv_disp_refr_task+0x51c> + 453e: 2348 movs r3, #72 ; 0x48 + 4540: 9301 str r3, [sp, #4] + 4542: 2300 movs r3, #0 + 4544: 469b mov fp, r3 if(y2 == row_last) disp_refr->driver.buffer->last_part = 1; - 44de: 0027 movs r7, r4 - 44e0: e044 b.n 456c <_lv_disp_refr_task+0x218> + 4546: 0027 movs r7, r4 + 4548: e044 b.n 45d4 <_lv_disp_refr_task+0x218> int32_t last_i = 0; - 44e2: 2300 movs r3, #0 - 44e4: 9304 str r3, [sp, #16] - 44e6: e7e3 b.n 44b0 <_lv_disp_refr_task+0x15c> + 454a: 2300 movs r3, #0 + 454c: 9304 str r3, [sp, #16] + 454e: e7e3 b.n 4518 <_lv_disp_refr_task+0x15c> if(i == last_i) disp_refr->driver.buffer->last_area = 1; - 44e8: 6879 ldr r1, [r7, #4] - 44ea: 2220 movs r2, #32 - 44ec: 5c8b ldrb r3, [r1, r2] - 44ee: 2001 movs r0, #1 - 44f0: 4303 orrs r3, r0 - 44f2: 548b strb r3, [r1, r2] - 44f4: e044 b.n 4580 <_lv_disp_refr_task+0x22c> + 4550: 6879 ldr r1, [r7, #4] + 4552: 2220 movs r2, #32 + 4554: 5c8b ldrb r3, [r1, r2] + 4556: 2001 movs r0, #1 + 4558: 4303 orrs r3, r0 + 455a: 548b strb r3, [r1, r2] + 455c: e044 b.n 45e8 <_lv_disp_refr_task+0x22c> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 44f6: 4c64 ldr r4, [pc, #400] ; (4688 <_lv_disp_refr_task+0x334>) - 44f8: 6820 ldr r0, [r4, #0] - 44fa: 4b69 ldr r3, [pc, #420] ; (46a0 <_lv_disp_refr_task+0x34c>) - 44fc: 4798 blx r3 - 44fe: 0005 movs r5, r0 + 455e: 4c64 ldr r4, [pc, #400] ; (46f0 <_lv_disp_refr_task+0x334>) + 4560: 6820 ldr r0, [r4, #0] + 4562: 4b69 ldr r3, [pc, #420] ; (4708 <_lv_disp_refr_task+0x34c>) + 4564: 4798 blx r3 + 4566: 0005 movs r5, r0 vdb->area.x1 = 0; - 4500: 2600 movs r6, #0 - 4502: 8206 strh r6, [r0, #16] + 4568: 2600 movs r6, #0 + 456a: 8206 strh r6, [r0, #16] vdb->area.x2 = lv_disp_get_hor_res(disp_refr) - 1; - 4504: 6820 ldr r0, [r4, #0] - 4506: 4b67 ldr r3, [pc, #412] ; (46a4 <_lv_disp_refr_task+0x350>) - 4508: 4798 blx r3 - 450a: 3801 subs r0, #1 - 450c: 82a8 strh r0, [r5, #20] + 456c: 6820 ldr r0, [r4, #0] + 456e: 4b67 ldr r3, [pc, #412] ; (470c <_lv_disp_refr_task+0x350>) + 4570: 4798 blx r3 + 4572: 3801 subs r0, #1 + 4574: 82a8 strh r0, [r5, #20] vdb->area.y1 = 0; - 450e: 826e strh r6, [r5, #18] + 4576: 826e strh r6, [r5, #18] vdb->area.y2 = lv_disp_get_ver_res(disp_refr) - 1; - 4510: 6820 ldr r0, [r4, #0] - 4512: 4b65 ldr r3, [pc, #404] ; (46a8 <_lv_disp_refr_task+0x354>) - 4514: 4798 blx r3 - 4516: 3801 subs r0, #1 - 4518: 82e8 strh r0, [r5, #22] + 4578: 6820 ldr r0, [r4, #0] + 457a: 4b65 ldr r3, [pc, #404] ; (4710 <_lv_disp_refr_task+0x354>) + 457c: 4798 blx r3 + 457e: 3801 subs r0, #1 + 4580: 82e8 strh r0, [r5, #22] disp_refr->driver.buffer->last_part = 1; - 451a: 6823 ldr r3, [r4, #0] - 451c: 6859 ldr r1, [r3, #4] - 451e: 2220 movs r2, #32 - 4520: 5c8b ldrb r3, [r1, r2] - 4522: 2002 movs r0, #2 - 4524: 4303 orrs r3, r0 - 4526: 548b strb r3, [r1, r2] + 4582: 6823 ldr r3, [r4, #0] + 4584: 6859 ldr r1, [r3, #4] + 4586: 2220 movs r2, #32 + 4588: 5c8b ldrb r3, [r1, r2] + 458a: 2002 movs r0, #2 + 458c: 4303 orrs r3, r0 + 458e: 548b strb r3, [r1, r2] lv_refr_area_part(area_p); - 4528: 9800 ldr r0, [sp, #0] - 452a: 4b60 ldr r3, [pc, #384] ; (46ac <_lv_disp_refr_task+0x358>) - 452c: 4798 blx r3 + 4590: 9800 ldr r0, [sp, #0] + 4592: 4b60 ldr r3, [pc, #384] ; (4714 <_lv_disp_refr_task+0x358>) + 4594: 4798 blx r3 if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]); - 452e: 4b56 ldr r3, [pc, #344] ; (4688 <_lv_disp_refr_task+0x334>) - 4530: 6818 ldr r0, [r3, #0] - 4532: 6983 ldr r3, [r0, #24] - 4534: 2b00 cmp r3, #0 - 4536: d009 beq.n 454c <_lv_disp_refr_task+0x1f8> - 4538: 9b01 ldr r3, [sp, #4] - 453a: 469c mov ip, r3 - 453c: 4460 add r0, ip - 453e: 4b56 ldr r3, [pc, #344] ; (4698 <_lv_disp_refr_task+0x344>) - 4540: 4798 blx r3 - 4542: 4b56 ldr r3, [pc, #344] ; (469c <_lv_disp_refr_task+0x348>) - 4544: 681a ldr r2, [r3, #0] - 4546: 4694 mov ip, r2 - 4548: 4460 add r0, ip - 454a: 6018 str r0, [r3, #0] + 4596: 4b56 ldr r3, [pc, #344] ; (46f0 <_lv_disp_refr_task+0x334>) + 4598: 6818 ldr r0, [r3, #0] + 459a: 6983 ldr r3, [r0, #24] + 459c: 2b00 cmp r3, #0 + 459e: d009 beq.n 45b4 <_lv_disp_refr_task+0x1f8> + 45a0: 9b01 ldr r3, [sp, #4] + 45a2: 469c mov ip, r3 + 45a4: 4460 add r0, ip + 45a6: 4b56 ldr r3, [pc, #344] ; (4700 <_lv_disp_refr_task+0x344>) + 45a8: 4798 blx r3 + 45aa: 4b56 ldr r3, [pc, #344] ; (4704 <_lv_disp_refr_task+0x348>) + 45ac: 681a ldr r2, [r3, #0] + 45ae: 4694 mov ip, r2 + 45b0: 4460 add r0, ip + 45b2: 6018 str r0, [r3, #0] for(i = 0; i < disp_refr->inv_p; i++) { - 454c: 2301 movs r3, #1 - 454e: 469c mov ip, r3 - 4550: 44e3 add fp, ip - 4552: 4b4d ldr r3, [pc, #308] ; (4688 <_lv_disp_refr_task+0x334>) - 4554: 681f ldr r7, [r3, #0] - 4556: 9b01 ldr r3, [sp, #4] - 4558: 3308 adds r3, #8 - 455a: 9301 str r3, [sp, #4] - 455c: 23b4 movs r3, #180 ; 0xb4 - 455e: 005b lsls r3, r3, #1 - 4560: 5afb ldrh r3, [r7, r3] - 4562: 059b lsls r3, r3, #22 - 4564: 0d9b lsrs r3, r3, #22 - 4566: 459b cmp fp, r3 - 4568: db00 blt.n 456c <_lv_disp_refr_task+0x218> - 456a: e181 b.n 4870 <_lv_disp_refr_task+0x51c> + 45b4: 2301 movs r3, #1 + 45b6: 469c mov ip, r3 + 45b8: 44e3 add fp, ip + 45ba: 4b4d ldr r3, [pc, #308] ; (46f0 <_lv_disp_refr_task+0x334>) + 45bc: 681f ldr r7, [r3, #0] + 45be: 9b01 ldr r3, [sp, #4] + 45c0: 3308 adds r3, #8 + 45c2: 9301 str r3, [sp, #4] + 45c4: 23b4 movs r3, #180 ; 0xb4 + 45c6: 005b lsls r3, r3, #1 + 45c8: 5afb ldrh r3, [r7, r3] + 45ca: 059b lsls r3, r3, #22 + 45cc: 0d9b lsrs r3, r3, #22 + 45ce: 459b cmp fp, r3 + 45d0: db00 blt.n 45d4 <_lv_disp_refr_task+0x218> + 45d2: e181 b.n 48d8 <_lv_disp_refr_task+0x51c> if(disp_refr->inv_area_joined[i] == 0) { - 456c: 465b mov r3, fp - 456e: 18fb adds r3, r7, r3 - 4570: 3349 adds r3, #73 ; 0x49 - 4572: 33ff adds r3, #255 ; 0xff - 4574: 781b ldrb r3, [r3, #0] - 4576: 2b00 cmp r3, #0 - 4578: d1e8 bne.n 454c <_lv_disp_refr_task+0x1f8> + 45d4: 465b mov r3, fp + 45d6: 18fb adds r3, r7, r3 + 45d8: 3349 adds r3, #73 ; 0x49 + 45da: 33ff adds r3, #255 ; 0xff + 45dc: 781b ldrb r3, [r3, #0] + 45de: 2b00 cmp r3, #0 + 45e0: d1e8 bne.n 45b4 <_lv_disp_refr_task+0x1f8> if(i == last_i) disp_refr->driver.buffer->last_area = 1; - 457a: 9b04 ldr r3, [sp, #16] - 457c: 455b cmp r3, fp - 457e: d0b3 beq.n 44e8 <_lv_disp_refr_task+0x194> + 45e2: 9b04 ldr r3, [sp, #16] + 45e4: 455b cmp r3, fp + 45e6: d0b3 beq.n 4550 <_lv_disp_refr_task+0x194> disp_refr->driver.buffer->last_part = 0; - 4580: 6879 ldr r1, [r7, #4] - 4582: 2220 movs r2, #32 - 4584: 5c8b ldrb r3, [r1, r2] - 4586: 2002 movs r0, #2 - 4588: 4383 bics r3, r0 - 458a: 548b strb r3, [r1, r2] + 45e8: 6879 ldr r1, [r7, #4] + 45ea: 2220 movs r2, #32 + 45ec: 5c8b ldrb r3, [r1, r2] + 45ee: 2002 movs r0, #2 + 45f0: 4383 bics r3, r0 + 45f2: 548b strb r3, [r1, r2] lv_refr_area(&disp_refr->inv_areas[i]); - 458c: 9b01 ldr r3, [sp, #4] - 458e: 469c mov ip, r3 - 4590: 44bc add ip, r7 - 4592: 4663 mov r3, ip - 4594: 9300 str r3, [sp, #0] + 45f4: 9b01 ldr r3, [sp, #4] + 45f6: 469c mov ip, r3 + 45f8: 44bc add ip, r7 + 45fa: 4663 mov r3, ip + 45fc: 9300 str r3, [sp, #0] if(lv_disp_is_true_double_buf(disp_refr)) { - 4596: 0038 movs r0, r7 - 4598: 4b45 ldr r3, [pc, #276] ; (46b0 <_lv_disp_refr_task+0x35c>) - 459a: 4798 blx r3 - 459c: 2800 cmp r0, #0 - 459e: d1aa bne.n 44f6 <_lv_disp_refr_task+0x1a2> + 45fe: 0038 movs r0, r7 + 4600: 4b45 ldr r3, [pc, #276] ; (4718 <_lv_disp_refr_task+0x35c>) + 4602: 4798 blx r3 + 4604: 2800 cmp r0, #0 + 4606: d1aa bne.n 455e <_lv_disp_refr_task+0x1a2> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 45a0: 4b39 ldr r3, [pc, #228] ; (4688 <_lv_disp_refr_task+0x334>) - 45a2: 469a mov sl, r3 - 45a4: 6818 ldr r0, [r3, #0] - 45a6: 4b3e ldr r3, [pc, #248] ; (46a0 <_lv_disp_refr_task+0x34c>) - 45a8: 4798 blx r3 - 45aa: 0006 movs r6, r0 - 45ac: 465b mov r3, fp - 45ae: 00db lsls r3, r3, #3 - 45b0: 18ff adds r7, r7, r3 + 4608: 4b39 ldr r3, [pc, #228] ; (46f0 <_lv_disp_refr_task+0x334>) + 460a: 469a mov sl, r3 + 460c: 6818 ldr r0, [r3, #0] + 460e: 4b3e ldr r3, [pc, #248] ; (4708 <_lv_disp_refr_task+0x34c>) + 4610: 4798 blx r3 + 4612: 0006 movs r6, r0 + 4614: 465b mov r3, fp + 4616: 00db lsls r3, r3, #3 + 4618: 18ff adds r7, r7, r3 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 45b2: 234c movs r3, #76 ; 0x4c - 45b4: 5afc ldrh r4, [r7, r3] - 45b6: 3401 adds r4, #1 - 45b8: 3b04 subs r3, #4 - 45ba: 5afb ldrh r3, [r7, r3] - 45bc: 1ae4 subs r4, r4, r3 - 45be: b223 sxth r3, r4 - 45c0: 4698 mov r8, r3 + 461a: 234c movs r3, #76 ; 0x4c + 461c: 5afc ldrh r4, [r7, r3] + 461e: 3401 adds r4, #1 + 4620: 3b04 subs r3, #4 + 4622: 5afb ldrh r3, [r7, r3] + 4624: 1ae4 subs r4, r4, r3 + 4626: b223 sxth r3, r4 + 4628: 4698 mov r8, r3 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 45c2: 234e movs r3, #78 ; 0x4e - 45c4: 5efc ldrsh r4, [r7, r3] - 45c6: 1c65 adds r5, r4, #1 - 45c8: 234a movs r3, #74 ; 0x4a - 45ca: 5afb ldrh r3, [r7, r3] - 45cc: 1aed subs r5, r5, r3 - 45ce: b22d sxth r5, r5 + 462a: 234e movs r3, #78 ; 0x4e + 462c: 5efc ldrsh r4, [r7, r3] + 462e: 1c65 adds r5, r4, #1 + 4630: 234a movs r3, #74 ; 0x4a + 4632: 5afb ldrh r3, [r7, r3] + 4634: 1aed subs r5, r5, r3 + 4636: b22d sxth r5, r5 area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2; - 45d0: 4653 mov r3, sl - 45d2: 6818 ldr r0, [r3, #0] - 45d4: 4b34 ldr r3, [pc, #208] ; (46a8 <_lv_disp_refr_task+0x354>) - 45d6: 4798 blx r3 + 4638: 4653 mov r3, sl + 463a: 6818 ldr r0, [r3, #0] + 463c: 4b34 ldr r3, [pc, #208] ; (4710 <_lv_disp_refr_task+0x354>) + 463e: 4798 blx r3 lv_coord_t y2 = - 45d8: 4284 cmp r4, r0 - 45da: da31 bge.n 4640 <_lv_disp_refr_task+0x2ec> - 45dc: 234e movs r3, #78 ; 0x4e - 45de: 5efb ldrsh r3, [r7, r3] - 45e0: 4699 mov r9, r3 + 4640: 4284 cmp r4, r0 + 4642: da31 bge.n 46a8 <_lv_disp_refr_task+0x2ec> + 4644: 234e movs r3, #78 ; 0x4e + 4646: 5efb ldrsh r3, [r7, r3] + 4648: 4699 mov r9, r3 int32_t max_row = (uint32_t)vdb->size / w; - 45e2: 4641 mov r1, r8 - 45e4: 68f0 ldr r0, [r6, #12] - 45e6: 4b33 ldr r3, [pc, #204] ; (46b4 <_lv_disp_refr_task+0x360>) - 45e8: 4798 blx r3 - 45ea: 46a8 mov r8, r5 - 45ec: 4285 cmp r5, r0 - 45ee: dd00 ble.n 45f2 <_lv_disp_refr_task+0x29e> - 45f0: 4680 mov r8, r0 + 464a: 4641 mov r1, r8 + 464c: 68f0 ldr r0, [r6, #12] + 464e: 4b33 ldr r3, [pc, #204] ; (471c <_lv_disp_refr_task+0x360>) + 4650: 4798 blx r3 + 4652: 46a8 mov r8, r5 + 4654: 4285 cmp r5, r0 + 4656: dd00 ble.n 465a <_lv_disp_refr_task+0x29e> + 4658: 4680 mov r8, r0 if(disp_refr->driver.rounder_cb) { - 45f2: 4b25 ldr r3, [pc, #148] ; (4688 <_lv_disp_refr_task+0x334>) - 45f4: 681b ldr r3, [r3, #0] - 45f6: 691b ldr r3, [r3, #16] - 45f8: 2b00 cmp r3, #0 - 45fa: d02f beq.n 465c <_lv_disp_refr_task+0x308> + 465a: 4b25 ldr r3, [pc, #148] ; (46f0 <_lv_disp_refr_task+0x334>) + 465c: 681b ldr r3, [r3, #0] + 465e: 691b ldr r3, [r3, #16] + 4660: 2b00 cmp r3, #0 + 4662: d02f beq.n 46c4 <_lv_disp_refr_task+0x308> tmp.x1 = 0; - 45fc: 2300 movs r3, #0 - 45fe: aa06 add r2, sp, #24 - 4600: 8013 strh r3, [r2, #0] + 4664: 2300 movs r3, #0 + 4666: aa06 add r2, sp, #24 + 4668: 8013 strh r3, [r2, #0] tmp.x2 = 0; - 4602: 8093 strh r3, [r2, #4] + 466a: 8093 strh r3, [r2, #4] tmp.y1 = 0; - 4604: 8053 strh r3, [r2, #2] + 466c: 8053 strh r3, [r2, #2] lv_coord_t h_tmp = max_row; - 4606: 4643 mov r3, r8 - 4608: b21d sxth r5, r3 + 466e: 4643 mov r3, r8 + 4670: b21d sxth r5, r3 disp_refr->driver.rounder_cb(&disp_refr->driver, &tmp); - 460a: 4b1f ldr r3, [pc, #124] ; (4688 <_lv_disp_refr_task+0x334>) - 460c: 469a mov sl, r3 - 460e: 4643 mov r3, r8 - 4610: 46b0 mov r8, r6 - 4612: 001e movs r6, r3 - 4614: 1e6c subs r4, r5, #1 - 4616: b224 sxth r4, r4 + 4672: 4b1f ldr r3, [pc, #124] ; (46f0 <_lv_disp_refr_task+0x334>) + 4674: 469a mov sl, r3 + 4676: 4643 mov r3, r8 + 4678: 46b0 mov r8, r6 + 467a: 001e movs r6, r3 + 467c: 1e6c subs r4, r5, #1 + 467e: b224 sxth r4, r4 tmp.y2 = h_tmp - 1; - 4618: ab06 add r3, sp, #24 - 461a: 80dc strh r4, [r3, #6] + 4680: ab06 add r3, sp, #24 + 4682: 80dc strh r4, [r3, #6] disp_refr->driver.rounder_cb(&disp_refr->driver, &tmp); - 461c: 4653 mov r3, sl - 461e: 6818 ldr r0, [r3, #0] - 4620: 6903 ldr r3, [r0, #16] - 4622: a906 add r1, sp, #24 - 4624: 4798 blx r3 - 4626: ab06 add r3, sp, #24 - 4628: 2106 movs r1, #6 - 462a: 5e59 ldrsh r1, [r3, r1] - 462c: 1c4b adds r3, r1, #1 - 462e: aa06 add r2, sp, #24 - 4630: 8852 ldrh r2, [r2, #2] - 4632: 1a9b subs r3, r3, r2 + 4684: 4653 mov r3, sl + 4686: 6818 ldr r0, [r3, #0] + 4688: 6903 ldr r3, [r0, #16] + 468a: a906 add r1, sp, #24 + 468c: 4798 blx r3 + 468e: ab06 add r3, sp, #24 + 4690: 2106 movs r1, #6 + 4692: 5e59 ldrsh r1, [r3, r1] + 4694: 1c4b adds r3, r1, #1 + 4696: aa06 add r2, sp, #24 + 4698: 8852 ldrh r2, [r2, #2] + 469a: 1a9b subs r3, r3, r2 if(lv_area_get_height(&tmp) <= max_row) break; - 4634: b21b sxth r3, r3 - 4636: 429e cmp r6, r3 - 4638: da0a bge.n 4650 <_lv_disp_refr_task+0x2fc> + 469c: b21b sxth r3, r3 + 469e: 429e cmp r6, r3 + 46a0: da0a bge.n 46b8 <_lv_disp_refr_task+0x2fc> h_tmp--; - 463a: 1e25 subs r5, r4, #0 + 46a2: 1e25 subs r5, r4, #0 } while(h_tmp > 0); - 463c: dcea bgt.n 4614 <_lv_disp_refr_task+0x2c0> - 463e: e776 b.n 452e <_lv_disp_refr_task+0x1da> + 46a4: dcea bgt.n 467c <_lv_disp_refr_task+0x2c0> + 46a6: e776 b.n 4596 <_lv_disp_refr_task+0x1da> area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2; - 4640: 4b11 ldr r3, [pc, #68] ; (4688 <_lv_disp_refr_task+0x334>) - 4642: 6818 ldr r0, [r3, #0] - 4644: 4b18 ldr r3, [pc, #96] ; (46a8 <_lv_disp_refr_task+0x354>) - 4646: 4798 blx r3 - 4648: 3801 subs r0, #1 + 46a8: 4b11 ldr r3, [pc, #68] ; (46f0 <_lv_disp_refr_task+0x334>) + 46aa: 6818 ldr r0, [r3, #0] + 46ac: 4b18 ldr r3, [pc, #96] ; (4710 <_lv_disp_refr_task+0x354>) + 46ae: 4798 blx r3 + 46b0: 3801 subs r0, #1 lv_coord_t y2 = - 464a: b203 sxth r3, r0 - 464c: 4699 mov r9, r3 - 464e: e7c8 b.n 45e2 <_lv_disp_refr_task+0x28e> - 4650: 4646 mov r6, r8 + 46b2: b203 sxth r3, r0 + 46b4: 4699 mov r9, r3 + 46b6: e7c8 b.n 464a <_lv_disp_refr_task+0x28e> + 46b8: 4646 mov r6, r8 if(h_tmp <= 0) { - 4652: 2d00 cmp r5, #0 - 4654: dc00 bgt.n 4658 <_lv_disp_refr_task+0x304> - 4656: e76a b.n 452e <_lv_disp_refr_task+0x1da> + 46ba: 2d00 cmp r5, #0 + 46bc: dc00 bgt.n 46c0 <_lv_disp_refr_task+0x304> + 46be: e76a b.n 4596 <_lv_disp_refr_task+0x1da> max_row = tmp.y2 + 1; - 4658: 1c4b adds r3, r1, #1 - 465a: 4698 mov r8, r3 + 46c0: 1c4b adds r3, r1, #1 + 46c2: 4698 mov r8, r3 for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { - 465c: 234a movs r3, #74 ; 0x4a - 465e: 5efc ldrsh r4, [r7, r3] - 4660: 464b mov r3, r9 - 4662: 9302 str r3, [sp, #8] - 4664: 4643 mov r3, r8 - 4666: 18e3 adds r3, r4, r3 - 4668: 3b01 subs r3, #1 - 466a: 454b cmp r3, r9 - 466c: dc67 bgt.n 473e <_lv_disp_refr_task+0x3ea> + 46c4: 234a movs r3, #74 ; 0x4a + 46c6: 5efc ldrsh r4, [r7, r3] + 46c8: 464b mov r3, r9 + 46ca: 9302 str r3, [sp, #8] + 46cc: 4643 mov r3, r8 + 46ce: 18e3 adds r3, r4, r3 + 46d0: 3b01 subs r3, #1 + 46d2: 454b cmp r3, r9 + 46d4: dc67 bgt.n 47a6 <_lv_disp_refr_task+0x3ea> vdb->area.y2 = row + max_row - 1; - 466e: 4643 mov r3, r8 - 4670: 466a mov r2, sp - 4672: 8193 strh r3, [r2, #12] - 4674: 8993 ldrh r3, [r2, #12] - 4676: 469a mov sl, r3 - 4678: 3b01 subs r3, #1 - 467a: 9303 str r3, [sp, #12] - 467c: 464b mov r3, r9 - 467e: 46b9 mov r9, r7 - 4680: 001f movs r7, r3 - 4682: e026 b.n 46d2 <_lv_disp_refr_task+0x37e> - 4684: 0000f725 .word 0x0000f725 - 4688: 200026e8 .word 0x200026e8 - 468c: 000114e1 .word 0x000114e1 - 4690: 0000fdf1 .word 0x0000fdf1 - 4694: 0000fc15 .word 0x0000fc15 - 4698: 0000fb8b .word 0x0000fb8b - 469c: 200026ec .word 0x200026ec - 46a0: 0000f6a1 .word 0x0000f6a1 - 46a4: 0000f5ad .word 0x0000f5ad - 46a8: 0000f5d5 .word 0x0000f5d5 - 46ac: 00004191 .word 0x00004191 - 46b0: 0000f6bd .word 0x0000f6bd - 46b4: 00017961 .word 0x00017961 + 46d6: 4643 mov r3, r8 + 46d8: 466a mov r2, sp + 46da: 8193 strh r3, [r2, #12] + 46dc: 8993 ldrh r3, [r2, #12] + 46de: 469a mov sl, r3 + 46e0: 3b01 subs r3, #1 + 46e2: 9303 str r3, [sp, #12] + 46e4: 464b mov r3, r9 + 46e6: 46b9 mov r9, r7 + 46e8: 001f movs r7, r3 + 46ea: e026 b.n 473a <_lv_disp_refr_task+0x37e> + 46ec: 0000f78d .word 0x0000f78d + 46f0: 200026e8 .word 0x200026e8 + 46f4: 00011549 .word 0x00011549 + 46f8: 0000fe59 .word 0x0000fe59 + 46fc: 0000fc7d .word 0x0000fc7d + 4700: 0000fbf3 .word 0x0000fbf3 + 4704: 200026ec .word 0x200026ec + 4708: 0000f709 .word 0x0000f709 + 470c: 0000f615 .word 0x0000f615 + 4710: 0000f63d .word 0x0000f63d + 4714: 000041f9 .word 0x000041f9 + 4718: 0000f725 .word 0x0000f725 + 471c: 000179f1 .word 0x000179f1 if(y2 == row_last) disp_refr->driver.buffer->last_part = 1; - 46b8: 42af cmp r7, r5 - 46ba: d01c beq.n 46f6 <_lv_disp_refr_task+0x3a2> + 4720: 42af cmp r7, r5 + 4722: d01c beq.n 475e <_lv_disp_refr_task+0x3a2> lv_refr_area_part(area_p); - 46bc: 9800 ldr r0, [sp, #0] - 46be: 4b7d ldr r3, [pc, #500] ; (48b4 <_lv_disp_refr_task+0x560>) - 46c0: 4798 blx r3 - 46c2: 4454 add r4, sl - 46c4: b224 sxth r4, r4 + 4724: 9800 ldr r0, [sp, #0] + 4726: 4b7d ldr r3, [pc, #500] ; (491c <_lv_disp_refr_task+0x560>) + 4728: 4798 blx r3 + 472a: 4454 add r4, sl + 472c: b224 sxth r4, r4 for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { - 46c6: 4643 mov r3, r8 - 46c8: 18e3 adds r3, r4, r3 - 46ca: 3b01 subs r3, #1 - 46cc: 9a02 ldr r2, [sp, #8] - 46ce: 4293 cmp r3, r2 - 46d0: dc1a bgt.n 4708 <_lv_disp_refr_task+0x3b4> + 472e: 4643 mov r3, r8 + 4730: 18e3 adds r3, r4, r3 + 4732: 3b01 subs r3, #1 + 4734: 9a02 ldr r2, [sp, #8] + 4736: 4293 cmp r3, r2 + 4738: dc1a bgt.n 4770 <_lv_disp_refr_task+0x3b4> vdb->area.x1 = area_p->x1; - 46d2: 2348 movs r3, #72 ; 0x48 - 46d4: 464a mov r2, r9 - 46d6: 5ed3 ldrsh r3, [r2, r3] - 46d8: 8233 strh r3, [r6, #16] + 473a: 2348 movs r3, #72 ; 0x48 + 473c: 464a mov r2, r9 + 473e: 5ed3 ldrsh r3, [r2, r3] + 4740: 8233 strh r3, [r6, #16] vdb->area.x2 = area_p->x2; - 46da: 234c movs r3, #76 ; 0x4c - 46dc: 464a mov r2, r9 - 46de: 5ed3 ldrsh r3, [r2, r3] - 46e0: 82b3 strh r3, [r6, #20] + 4742: 234c movs r3, #76 ; 0x4c + 4744: 464a mov r2, r9 + 4746: 5ed3 ldrsh r3, [r2, r3] + 4748: 82b3 strh r3, [r6, #20] vdb->area.y1 = row; - 46e2: 8274 strh r4, [r6, #18] - 46e4: b2a4 uxth r4, r4 - 46e6: 9b03 ldr r3, [sp, #12] - 46e8: 18e5 adds r5, r4, r3 - 46ea: b22d sxth r5, r5 + 474a: 8274 strh r4, [r6, #18] + 474c: b2a4 uxth r4, r4 + 474e: 9b03 ldr r3, [sp, #12] + 4750: 18e5 adds r5, r4, r3 + 4752: b22d sxth r5, r5 vdb->area.y2 = row + max_row - 1; - 46ec: 82f5 strh r5, [r6, #22] + 4754: 82f5 strh r5, [r6, #22] if(vdb->area.y2 > y2) vdb->area.y2 = y2; - 46ee: 42af cmp r7, r5 - 46f0: dae2 bge.n 46b8 <_lv_disp_refr_task+0x364> - 46f2: 82f7 strh r7, [r6, #22] + 4756: 42af cmp r7, r5 + 4758: dae2 bge.n 4720 <_lv_disp_refr_task+0x364> + 475a: 82f7 strh r7, [r6, #22] row_last = vdb->area.y2; - 46f4: 003d movs r5, r7 + 475c: 003d movs r5, r7 if(y2 == row_last) disp_refr->driver.buffer->last_part = 1; - 46f6: 4b70 ldr r3, [pc, #448] ; (48b8 <_lv_disp_refr_task+0x564>) - 46f8: 681b ldr r3, [r3, #0] - 46fa: 6859 ldr r1, [r3, #4] - 46fc: 2220 movs r2, #32 - 46fe: 5c8b ldrb r3, [r1, r2] - 4700: 2002 movs r0, #2 - 4702: 4303 orrs r3, r0 - 4704: 548b strb r3, [r1, r2] - 4706: e7d9 b.n 46bc <_lv_disp_refr_task+0x368> - 4708: 003b movs r3, r7 - 470a: 464f mov r7, r9 - 470c: 4699 mov r9, r3 + 475e: 4b70 ldr r3, [pc, #448] ; (4920 <_lv_disp_refr_task+0x564>) + 4760: 681b ldr r3, [r3, #0] + 4762: 6859 ldr r1, [r3, #4] + 4764: 2220 movs r2, #32 + 4766: 5c8b ldrb r3, [r1, r2] + 4768: 2002 movs r0, #2 + 476a: 4303 orrs r3, r0 + 476c: 548b strb r3, [r1, r2] + 476e: e7d9 b.n 4724 <_lv_disp_refr_task+0x368> + 4770: 003b movs r3, r7 + 4772: 464f mov r7, r9 + 4774: 4699 mov r9, r3 if(y2 != row_last) { - 470e: 45a9 cmp r9, r5 - 4710: d100 bne.n 4714 <_lv_disp_refr_task+0x3c0> - 4712: e70c b.n 452e <_lv_disp_refr_task+0x1da> + 4776: 45a9 cmp r9, r5 + 4778: d100 bne.n 477c <_lv_disp_refr_task+0x3c0> + 477a: e70c b.n 4596 <_lv_disp_refr_task+0x1da> vdb->area.x1 = area_p->x1; - 4714: 2348 movs r3, #72 ; 0x48 - 4716: 5efb ldrsh r3, [r7, r3] - 4718: 8233 strh r3, [r6, #16] + 477c: 2348 movs r3, #72 ; 0x48 + 477e: 5efb ldrsh r3, [r7, r3] + 4780: 8233 strh r3, [r6, #16] vdb->area.x2 = area_p->x2; - 471a: 234c movs r3, #76 ; 0x4c - 471c: 5efb ldrsh r3, [r7, r3] - 471e: 82b3 strh r3, [r6, #20] + 4782: 234c movs r3, #76 ; 0x4c + 4784: 5efb ldrsh r3, [r7, r3] + 4786: 82b3 strh r3, [r6, #20] vdb->area.y1 = row; - 4720: 8274 strh r4, [r6, #18] + 4788: 8274 strh r4, [r6, #18] vdb->area.y2 = y2; - 4722: 464b mov r3, r9 - 4724: 82f3 strh r3, [r6, #22] + 478a: 464b mov r3, r9 + 478c: 82f3 strh r3, [r6, #22] disp_refr->driver.buffer->last_part = 1; - 4726: 4b64 ldr r3, [pc, #400] ; (48b8 <_lv_disp_refr_task+0x564>) - 4728: 681b ldr r3, [r3, #0] - 472a: 6859 ldr r1, [r3, #4] - 472c: 2220 movs r2, #32 - 472e: 5c8b ldrb r3, [r1, r2] - 4730: 2002 movs r0, #2 - 4732: 4303 orrs r3, r0 - 4734: 548b strb r3, [r1, r2] + 478e: 4b64 ldr r3, [pc, #400] ; (4920 <_lv_disp_refr_task+0x564>) + 4790: 681b ldr r3, [r3, #0] + 4792: 6859 ldr r1, [r3, #4] + 4794: 2220 movs r2, #32 + 4796: 5c8b ldrb r3, [r1, r2] + 4798: 2002 movs r0, #2 + 479a: 4303 orrs r3, r0 + 479c: 548b strb r3, [r1, r2] lv_refr_area_part(area_p); - 4736: 9800 ldr r0, [sp, #0] - 4738: 4b5e ldr r3, [pc, #376] ; (48b4 <_lv_disp_refr_task+0x560>) - 473a: 4798 blx r3 - 473c: e6f7 b.n 452e <_lv_disp_refr_task+0x1da> + 479e: 9800 ldr r0, [sp, #0] + 47a0: 4b5e ldr r3, [pc, #376] ; (491c <_lv_disp_refr_task+0x560>) + 47a2: 4798 blx r3 + 47a4: e6f7 b.n 4596 <_lv_disp_refr_task+0x1da> lv_coord_t row_last = 0; - 473e: 2500 movs r5, #0 - 4740: e7e5 b.n 470e <_lv_disp_refr_task+0x3ba> + 47a6: 2500 movs r5, #0 + 47a8: e7e5 b.n 4776 <_lv_disp_refr_task+0x3ba> if(lv_disp_is_true_double_buf(disp_refr) && disp_refr->driver.set_px_cb == NULL) { - 4742: 4b5e ldr r3, [pc, #376] ; (48bc <_lv_disp_refr_task+0x568>) - 4744: 4798 blx r3 - 4746: 2800 cmp r0, #0 - 4748: d004 beq.n 4754 <_lv_disp_refr_task+0x400> - 474a: 4b5b ldr r3, [pc, #364] ; (48b8 <_lv_disp_refr_task+0x564>) - 474c: 6818 ldr r0, [r3, #0] - 474e: 6943 ldr r3, [r0, #20] - 4750: 2b00 cmp r3, #0 - 4752: d01f beq.n 4794 <_lv_disp_refr_task+0x440> + 47aa: 4b5e ldr r3, [pc, #376] ; (4924 <_lv_disp_refr_task+0x568>) + 47ac: 4798 blx r3 + 47ae: 2800 cmp r0, #0 + 47b0: d004 beq.n 47bc <_lv_disp_refr_task+0x400> + 47b2: 4b5b ldr r3, [pc, #364] ; (4920 <_lv_disp_refr_task+0x564>) + 47b4: 6818 ldr r0, [r3, #0] + 47b6: 6943 ldr r3, [r0, #20] + 47b8: 2b00 cmp r3, #0 + 47ba: d01f beq.n 47fc <_lv_disp_refr_task+0x440> _lv_memset_00(disp_refr->inv_areas, sizeof(disp_refr->inv_areas)); - 4754: 4c58 ldr r4, [pc, #352] ; (48b8 <_lv_disp_refr_task+0x564>) - 4756: 6820 ldr r0, [r4, #0] - 4758: 3048 adds r0, #72 ; 0x48 - 475a: 2180 movs r1, #128 ; 0x80 - 475c: 0049 lsls r1, r1, #1 - 475e: 4d58 ldr r5, [pc, #352] ; (48c0 <_lv_disp_refr_task+0x56c>) - 4760: 47a8 blx r5 + 47bc: 4c58 ldr r4, [pc, #352] ; (4920 <_lv_disp_refr_task+0x564>) + 47be: 6820 ldr r0, [r4, #0] + 47c0: 3048 adds r0, #72 ; 0x48 + 47c2: 2180 movs r1, #128 ; 0x80 + 47c4: 0049 lsls r1, r1, #1 + 47c6: 4d58 ldr r5, [pc, #352] ; (4928 <_lv_disp_refr_task+0x56c>) + 47c8: 47a8 blx r5 _lv_memset_00(disp_refr->inv_area_joined, sizeof(disp_refr->inv_area_joined)); - 4762: 6820 ldr r0, [r4, #0] - 4764: 3049 adds r0, #73 ; 0x49 - 4766: 30ff adds r0, #255 ; 0xff - 4768: 2120 movs r1, #32 - 476a: 47a8 blx r5 + 47ca: 6820 ldr r0, [r4, #0] + 47cc: 3049 adds r0, #73 ; 0x49 + 47ce: 30ff adds r0, #255 ; 0xff + 47d0: 2120 movs r1, #32 + 47d2: 47a8 blx r5 disp_refr->inv_p = 0; - 476c: 6821 ldr r1, [r4, #0] - 476e: 22b4 movs r2, #180 ; 0xb4 - 4770: 0052 lsls r2, r2, #1 - 4772: 5a8b ldrh r3, [r1, r2] - 4774: 0a9b lsrs r3, r3, #10 - 4776: 029b lsls r3, r3, #10 - 4778: 528b strh r3, [r1, r2] + 47d4: 6821 ldr r1, [r4, #0] + 47d6: 22b4 movs r2, #180 ; 0xb4 + 47d8: 0052 lsls r2, r2, #1 + 47da: 5a8b ldrh r3, [r1, r2] + 47dc: 0a9b lsrs r3, r3, #10 + 47de: 029b lsls r3, r3, #10 + 47e0: 528b strh r3, [r1, r2] elaps = lv_tick_elaps(start); - 477a: 9805 ldr r0, [sp, #20] - 477c: 4b51 ldr r3, [pc, #324] ; (48c4 <_lv_disp_refr_task+0x570>) - 477e: 4798 blx r3 - 4780: 0001 movs r1, r0 + 47e2: 9805 ldr r0, [sp, #20] + 47e4: 4b51 ldr r3, [pc, #324] ; (492c <_lv_disp_refr_task+0x570>) + 47e6: 4798 blx r3 + 47e8: 0001 movs r1, r0 if(disp_refr->driver.monitor_cb) { - 4782: 6820 ldr r0, [r4, #0] - 4784: 6983 ldr r3, [r0, #24] - 4786: 2b00 cmp r3, #0 - 4788: d100 bne.n 478c <_lv_disp_refr_task+0x438> - 478a: e079 b.n 4880 <_lv_disp_refr_task+0x52c> + 47ea: 6820 ldr r0, [r4, #0] + 47ec: 6983 ldr r3, [r0, #24] + 47ee: 2b00 cmp r3, #0 + 47f0: d100 bne.n 47f4 <_lv_disp_refr_task+0x438> + 47f2: e079 b.n 48e8 <_lv_disp_refr_task+0x52c> disp_refr->driver.monitor_cb(&disp_refr->driver, elaps, px_num); - 478c: 4a4e ldr r2, [pc, #312] ; (48c8 <_lv_disp_refr_task+0x574>) - 478e: 6812 ldr r2, [r2, #0] - 4790: 4798 blx r3 - 4792: e075 b.n 4880 <_lv_disp_refr_task+0x52c> + 47f4: 4a4e ldr r2, [pc, #312] ; (4930 <_lv_disp_refr_task+0x574>) + 47f6: 6812 ldr r2, [r2, #0] + 47f8: 4798 blx r3 + 47fa: e075 b.n 48e8 <_lv_disp_refr_task+0x52c> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 4794: 4b4d ldr r3, [pc, #308] ; (48cc <_lv_disp_refr_task+0x578>) - 4796: 4798 blx r3 - 4798: 0004 movs r4, r0 + 47fc: 4b4d ldr r3, [pc, #308] ; (4934 <_lv_disp_refr_task+0x578>) + 47fe: 4798 blx r3 + 4800: 0004 movs r4, r0 lv_refr_vdb_flush(); - 479a: 4b4d ldr r3, [pc, #308] ; (48d0 <_lv_disp_refr_task+0x57c>) - 479c: 4798 blx r3 + 4802: 4b4d ldr r3, [pc, #308] ; (4938 <_lv_disp_refr_task+0x57c>) + 4804: 4798 blx r3 while(vdb->flushing) - 479e: 69a3 ldr r3, [r4, #24] - 47a0: 2b00 cmp r3, #0 - 47a2: d1fc bne.n 479e <_lv_disp_refr_task+0x44a> + 4806: 69a3 ldr r3, [r4, #24] + 4808: 2b00 cmp r3, #0 + 480a: d1fc bne.n 4806 <_lv_disp_refr_task+0x44a> uint8_t * buf_act = (uint8_t *)vdb->buf_act; - 47a4: 68a3 ldr r3, [r4, #8] - 47a6: 469b mov fp, r3 + 480c: 68a3 ldr r3, [r4, #8] + 480e: 469b mov fp, r3 uint8_t * buf_ina = (uint8_t *)vdb->buf_act == vdb->buf1 ? vdb->buf2 : vdb->buf1; - 47a8: 6823 ldr r3, [r4, #0] - 47aa: 4699 mov r9, r3 - 47ac: 459b cmp fp, r3 - 47ae: d101 bne.n 47b4 <_lv_disp_refr_task+0x460> - 47b0: 6863 ldr r3, [r4, #4] - 47b2: 4699 mov r9, r3 + 4810: 6823 ldr r3, [r4, #0] + 4812: 4699 mov r9, r3 + 4814: 459b cmp fp, r3 + 4816: d101 bne.n 481c <_lv_disp_refr_task+0x460> + 4818: 6863 ldr r3, [r4, #4] + 481a: 4699 mov r9, r3 lv_coord_t hres = lv_disp_get_hor_res(disp_refr); - 47b4: 4c40 ldr r4, [pc, #256] ; (48b8 <_lv_disp_refr_task+0x564>) - 47b6: 6820 ldr r0, [r4, #0] - 47b8: 4b46 ldr r3, [pc, #280] ; (48d4 <_lv_disp_refr_task+0x580>) - 47ba: 4798 blx r3 - 47bc: 9000 str r0, [sp, #0] + 481c: 4c40 ldr r4, [pc, #256] ; (4920 <_lv_disp_refr_task+0x564>) + 481e: 6820 ldr r0, [r4, #0] + 4820: 4b46 ldr r3, [pc, #280] ; (493c <_lv_disp_refr_task+0x580>) + 4822: 4798 blx r3 + 4824: 9000 str r0, [sp, #0] for(a = 0; a < disp_refr->inv_p; a++) { - 47be: 6823 ldr r3, [r4, #0] - 47c0: 22b4 movs r2, #180 ; 0xb4 - 47c2: 0052 lsls r2, r2, #1 - 47c4: 5a9a ldrh r2, [r3, r2] - 47c6: 0592 lsls r2, r2, #22 - 47c8: d0c4 beq.n 4754 <_lv_disp_refr_task+0x400> + 4826: 6823 ldr r3, [r4, #0] + 4828: 22b4 movs r2, #180 ; 0xb4 + 482a: 0052 lsls r2, r2, #1 + 482c: 5a9a ldrh r2, [r3, r2] + 482e: 0592 lsls r2, r2, #22 + 4830: d0c4 beq.n 47bc <_lv_disp_refr_task+0x400> start_offs += hres * sizeof(lv_color_t); - 47ca: 0042 lsls r2, r0, #1 - 47cc: 4692 mov sl, r2 - 47ce: 2600 movs r6, #0 + 4832: 0042 lsls r2, r0, #1 + 4834: 4692 mov sl, r2 + 4836: 2600 movs r6, #0 for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 47d0: 0035 movs r5, r6 - 47d2: e00b b.n 47ec <_lv_disp_refr_task+0x498> + 4838: 0035 movs r5, r6 + 483a: e00b b.n 4854 <_lv_disp_refr_task+0x498> for(a = 0; a < disp_refr->inv_p; a++) { - 47d4: 3601 adds r6, #1 - 47d6: b2b6 uxth r6, r6 - 47d8: 0035 movs r5, r6 - 47da: 4b37 ldr r3, [pc, #220] ; (48b8 <_lv_disp_refr_task+0x564>) - 47dc: 681b ldr r3, [r3, #0] - 47de: 22b4 movs r2, #180 ; 0xb4 - 47e0: 0052 lsls r2, r2, #1 - 47e2: 5a9a ldrh r2, [r3, r2] - 47e4: 0592 lsls r2, r2, #22 - 47e6: 0d92 lsrs r2, r2, #22 - 47e8: 4296 cmp r6, r2 - 47ea: dab3 bge.n 4754 <_lv_disp_refr_task+0x400> + 483c: 3601 adds r6, #1 + 483e: b2b6 uxth r6, r6 + 4840: 0035 movs r5, r6 + 4842: 4b37 ldr r3, [pc, #220] ; (4920 <_lv_disp_refr_task+0x564>) + 4844: 681b ldr r3, [r3, #0] + 4846: 22b4 movs r2, #180 ; 0xb4 + 4848: 0052 lsls r2, r2, #1 + 484a: 5a9a ldrh r2, [r3, r2] + 484c: 0592 lsls r2, r2, #22 + 484e: 0d92 lsrs r2, r2, #22 + 4850: 4296 cmp r6, r2 + 4852: dab3 bge.n 47bc <_lv_disp_refr_task+0x400> if(disp_refr->inv_area_joined[a] == 0) { - 47ec: 195a adds r2, r3, r5 - 47ee: 3249 adds r2, #73 ; 0x49 - 47f0: 32ff adds r2, #255 ; 0xff - 47f2: 7812 ldrb r2, [r2, #0] - 47f4: 2a00 cmp r2, #0 - 47f6: d1ed bne.n 47d4 <_lv_disp_refr_task+0x480> - 47f8: 00ea lsls r2, r5, #3 - 47fa: 189b adds r3, r3, r2 + 4854: 195a adds r2, r3, r5 + 4856: 3249 adds r2, #73 ; 0x49 + 4858: 32ff adds r2, #255 ; 0xff + 485a: 7812 ldrb r2, [r2, #0] + 485c: 2a00 cmp r2, #0 + 485e: d1ed bne.n 483c <_lv_disp_refr_task+0x480> + 4860: 00ea lsls r2, r5, #3 + 4862: 189b adds r3, r3, r2 (hres * disp_refr->inv_areas[a].y1 + disp_refr->inv_areas[a].x1) * sizeof(lv_color_t); - 47fc: 224a movs r2, #74 ; 0x4a - 47fe: 5e9f ldrsh r7, [r3, r2] - 4800: 2248 movs r2, #72 ; 0x48 - 4802: 5e9a ldrsh r2, [r3, r2] - 4804: 9c00 ldr r4, [sp, #0] - 4806: 437c muls r4, r7 - 4808: 18a4 adds r4, r4, r2 + 4864: 224a movs r2, #74 ; 0x4a + 4866: 5e9f ldrsh r7, [r3, r2] + 4868: 2248 movs r2, #72 ; 0x48 + 486a: 5e9a ldrsh r2, [r3, r2] + 486c: 9c00 ldr r4, [sp, #0] + 486e: 437c muls r4, r7 + 4870: 18a4 adds r4, r4, r2 uint32_t start_offs = - 480a: 0064 lsls r4, r4, #1 + 4872: 0064 lsls r4, r4, #1 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 480c: 214c movs r1, #76 ; 0x4c - 480e: 5a5b ldrh r3, [r3, r1] - 4810: 3301 adds r3, #1 - 4812: 1a9b subs r3, r3, r2 + 4874: 214c movs r1, #76 ; 0x4c + 4876: 5a5b ldrh r3, [r3, r1] + 4878: 3301 adds r3, #1 + 487a: 1a9b subs r3, r3, r2 uint32_t line_length = lv_area_get_width(&disp_refr->inv_areas[a]) * sizeof(lv_color_t); - 4814: b21b sxth r3, r3 - 4816: 005b lsls r3, r3, #1 - 4818: 9301 str r3, [sp, #4] + 487c: b21b sxth r3, r3 + 487e: 005b lsls r3, r3, #1 + 4880: 9301 str r3, [sp, #4] for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 481a: 002b movs r3, r5 - 481c: 3309 adds r3, #9 - 481e: 00db lsls r3, r3, #3 - 4820: 4a25 ldr r2, [pc, #148] ; (48b8 <_lv_disp_refr_task+0x564>) - 4822: 6812 ldr r2, [r2, #0] - 4824: 9202 str r2, [sp, #8] - 4826: 4694 mov ip, r2 - 4828: 4463 add r3, ip - 482a: 2206 movs r2, #6 - 482c: 5e9b ldrsh r3, [r3, r2] - 482e: 42bb cmp r3, r7 - 4830: dbd0 blt.n 47d4 <_lv_disp_refr_task+0x480> - 4832: 46a0 mov r8, r4 - 4834: 44d8 add r8, fp - 4836: 444c add r4, r9 - 4838: 3509 adds r5, #9 - 483a: 00ed lsls r5, r5, #3 + 4882: 002b movs r3, r5 + 4884: 3309 adds r3, #9 + 4886: 00db lsls r3, r3, #3 + 4888: 4a25 ldr r2, [pc, #148] ; (4920 <_lv_disp_refr_task+0x564>) + 488a: 6812 ldr r2, [r2, #0] + 488c: 9202 str r2, [sp, #8] + 488e: 4694 mov ip, r2 + 4890: 4463 add r3, ip + 4892: 2206 movs r2, #6 + 4894: 5e9b ldrsh r3, [r3, r2] + 4896: 42bb cmp r3, r7 + 4898: dbd0 blt.n 483c <_lv_disp_refr_task+0x480> + 489a: 46a0 mov r8, r4 + 489c: 44d8 add r8, fp + 489e: 444c add r4, r9 + 48a0: 3509 adds r5, #9 + 48a2: 00ed lsls r5, r5, #3 _lv_memcpy(buf_act + start_offs, buf_ina + start_offs, line_length); - 483c: 9a01 ldr r2, [sp, #4] - 483e: 0021 movs r1, r4 - 4840: 4640 mov r0, r8 - 4842: 4b25 ldr r3, [pc, #148] ; (48d8 <_lv_disp_refr_task+0x584>) - 4844: 4798 blx r3 - 4846: 3701 adds r7, #1 - 4848: b23f sxth r7, r7 - 484a: 44d0 add r8, sl - 484c: 4454 add r4, sl + 48a4: 9a01 ldr r2, [sp, #4] + 48a6: 0021 movs r1, r4 + 48a8: 4640 mov r0, r8 + 48aa: 4b25 ldr r3, [pc, #148] ; (4940 <_lv_disp_refr_task+0x584>) + 48ac: 4798 blx r3 + 48ae: 3701 adds r7, #1 + 48b0: b23f sxth r7, r7 + 48b2: 44d0 add r8, sl + 48b4: 4454 add r4, sl for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 484e: 4b1a ldr r3, [pc, #104] ; (48b8 <_lv_disp_refr_task+0x564>) - 4850: 681b ldr r3, [r3, #0] - 4852: 9302 str r3, [sp, #8] - 4854: 195b adds r3, r3, r5 - 4856: 2206 movs r2, #6 - 4858: 5e9b ldrsh r3, [r3, r2] - 485a: 42bb cmp r3, r7 - 485c: daee bge.n 483c <_lv_disp_refr_task+0x4e8> - 485e: e7b9 b.n 47d4 <_lv_disp_refr_task+0x480> + 48b6: 4b1a ldr r3, [pc, #104] ; (4920 <_lv_disp_refr_task+0x564>) + 48b8: 681b ldr r3, [r3, #0] + 48ba: 9302 str r3, [sp, #8] + 48bc: 195b adds r3, r3, r5 + 48be: 2206 movs r2, #6 + 48c0: 5e9b ldrsh r3, [r3, r2] + 48c2: 42bb cmp r3, r7 + 48c4: daee bge.n 48a4 <_lv_disp_refr_task+0x4e8> + 48c6: e7b9 b.n 483c <_lv_disp_refr_task+0x480> px_num = 0; - 4860: 2200 movs r2, #0 - 4862: 4b19 ldr r3, [pc, #100] ; (48c8 <_lv_disp_refr_task+0x574>) - 4864: 601a str r2, [r3, #0] + 48c8: 2200 movs r2, #0 + 48ca: 4b19 ldr r3, [pc, #100] ; (4930 <_lv_disp_refr_task+0x574>) + 48cc: 601a str r2, [r3, #0] if(disp_refr->inv_p == 0) return; - 4866: 23b4 movs r3, #180 ; 0xb4 - 4868: 005b lsls r3, r3, #1 - 486a: 5ac3 ldrh r3, [r0, r3] - 486c: 059b lsls r3, r3, #22 - 486e: d112 bne.n 4896 <_lv_disp_refr_task+0x542> + 48ce: 23b4 movs r3, #180 ; 0xb4 + 48d0: 005b lsls r3, r3, #1 + 48d2: 5ac3 ldrh r3, [r0, r3] + 48d4: 059b lsls r3, r3, #22 + 48d6: d112 bne.n 48fe <_lv_disp_refr_task+0x542> if(disp_refr->inv_p != 0) { - 4870: 4b11 ldr r3, [pc, #68] ; (48b8 <_lv_disp_refr_task+0x564>) - 4872: 6818 ldr r0, [r3, #0] - 4874: 23b4 movs r3, #180 ; 0xb4 - 4876: 005b lsls r3, r3, #1 - 4878: 5ac3 ldrh r3, [r0, r3] - 487a: 059b lsls r3, r3, #22 - 487c: d000 beq.n 4880 <_lv_disp_refr_task+0x52c> - 487e: e760 b.n 4742 <_lv_disp_refr_task+0x3ee> + 48d8: 4b11 ldr r3, [pc, #68] ; (4920 <_lv_disp_refr_task+0x564>) + 48da: 6818 ldr r0, [r3, #0] + 48dc: 23b4 movs r3, #180 ; 0xb4 + 48de: 005b lsls r3, r3, #1 + 48e0: 5ac3 ldrh r3, [r0, r3] + 48e2: 059b lsls r3, r3, #22 + 48e4: d000 beq.n 48e8 <_lv_disp_refr_task+0x52c> + 48e6: e760 b.n 47aa <_lv_disp_refr_task+0x3ee> _lv_mem_buf_free_all(); - 4880: 4b16 ldr r3, [pc, #88] ; (48dc <_lv_disp_refr_task+0x588>) - 4882: 4798 blx r3 + 48e8: 4b16 ldr r3, [pc, #88] ; (4944 <_lv_disp_refr_task+0x588>) + 48ea: 4798 blx r3 _lv_font_clean_up_fmt_txt(); - 4884: 4b16 ldr r3, [pc, #88] ; (48e0 <_lv_disp_refr_task+0x58c>) - 4886: 4798 blx r3 -} - 4888: b009 add sp, #36 ; 0x24 - 488a: bc3c pop {r2, r3, r4, r5} - 488c: 4690 mov r8, r2 - 488e: 4699 mov r9, r3 - 4890: 46a2 mov sl, r4 - 4892: 46ab mov fp, r5 - 4894: bdf0 pop {r4, r5, r6, r7, pc} + 48ec: 4b16 ldr r3, [pc, #88] ; (4948 <_lv_disp_refr_task+0x58c>) + 48ee: 4798 blx r3 +} + 48f0: b009 add sp, #36 ; 0x24 + 48f2: bc3c pop {r2, r3, r4, r5} + 48f4: 4690 mov r8, r2 + 48f6: 4699 mov r9, r3 + 48f8: 46a2 mov sl, r4 + 48fa: 46ab mov fp, r5 + 48fc: bdf0 pop {r4, r5, r6, r7, pc} int32_t last_i = 0; - 4896: 2300 movs r3, #0 - 4898: 9304 str r3, [sp, #16] - 489a: e609 b.n 44b0 <_lv_disp_refr_task+0x15c> + 48fe: 2300 movs r3, #0 + 4900: 9304 str r3, [sp, #16] + 4902: e609 b.n 4518 <_lv_disp_refr_task+0x15c> px_num = 0; - 489c: 2200 movs r2, #0 - 489e: 4b0a ldr r3, [pc, #40] ; (48c8 <_lv_disp_refr_task+0x574>) - 48a0: 601a str r2, [r3, #0] + 4904: 2200 movs r2, #0 + 4906: 4b0a ldr r3, [pc, #40] ; (4930 <_lv_disp_refr_task+0x574>) + 4908: 601a str r2, [r3, #0] if(disp_refr->inv_p == 0) return; - 48a2: 23b4 movs r3, #180 ; 0xb4 - 48a4: 005b lsls r3, r3, #1 - 48a6: 5ac3 ldrh r3, [r0, r3] - 48a8: 059b lsls r3, r3, #22 - 48aa: d0e9 beq.n 4880 <_lv_disp_refr_task+0x52c> + 490a: 23b4 movs r3, #180 ; 0xb4 + 490c: 005b lsls r3, r3, #1 + 490e: 5ac3 ldrh r3, [r0, r3] + 4910: 059b lsls r3, r3, #22 + 4912: d0e9 beq.n 48e8 <_lv_disp_refr_task+0x52c> int32_t last_i = 0; - 48ac: 2300 movs r3, #0 - 48ae: 9304 str r3, [sp, #16] - 48b0: e5fe b.n 44b0 <_lv_disp_refr_task+0x15c> - 48b2: 46c0 nop ; (mov r8, r8) - 48b4: 00004191 .word 0x00004191 - 48b8: 200026e8 .word 0x200026e8 - 48bc: 0000f6bd .word 0x0000f6bd - 48c0: 00010fe5 .word 0x00010fe5 - 48c4: 0000f741 .word 0x0000f741 - 48c8: 200026ec .word 0x200026ec - 48cc: 0000f6a1 .word 0x0000f6a1 - 48d0: 00004111 .word 0x00004111 - 48d4: 0000f5ad .word 0x0000f5ad - 48d8: 00010c25 .word 0x00010c25 - 48dc: 00010bcd .word 0x00010bcd - 48e0: 0000f3d5 .word 0x0000f3d5 - -000048e4 : + 4914: 2300 movs r3, #0 + 4916: 9304 str r3, [sp, #16] + 4918: e5fe b.n 4518 <_lv_disp_refr_task+0x15c> + 491a: 46c0 nop ; (mov r8, r8) + 491c: 000041f9 .word 0x000041f9 + 4920: 200026e8 .word 0x200026e8 + 4924: 0000f725 .word 0x0000f725 + 4928: 0001104d .word 0x0001104d + 492c: 0000f7a9 .word 0x0000f7a9 + 4930: 200026ec .word 0x200026ec + 4934: 0000f709 .word 0x0000f709 + 4938: 00004179 .word 0x00004179 + 493c: 0000f615 .word 0x0000f615 + 4940: 00010c8d .word 0x00010c8d + 4944: 00010c35 .word 0x00010c35 + 4948: 0000f43d .word 0x0000f43d + +0000494c : /** * Initialize a style * @param style pointer to a style to initialize */ void lv_style_init(lv_style_t * style) { - 48e4: b510 push {r4, lr} + 494c: b510 push {r4, lr} _lv_memset_00(style, sizeof(lv_style_t)); - 48e6: 2104 movs r1, #4 - 48e8: 4b01 ldr r3, [pc, #4] ; (48f0 ) - 48ea: 4798 blx r3 + 494e: 2104 movs r1, #4 + 4950: 4b01 ldr r3, [pc, #4] ; (4958 ) + 4952: 4798 blx r3 #if LV_USE_ASSERT_STYLE style->sentinel = LV_DEBUG_STYLE_SENTINEL_VALUE; #endif } - 48ec: bd10 pop {r4, pc} - 48ee: 46c0 nop ; (mov r8, r8) - 48f0: 00010fe5 .word 0x00010fe5 + 4954: bd10 pop {r4, pc} + 4956: 46c0 nop ; (mov r8, r8) + 4958: 0001104d .word 0x0001104d -000048f4 : +0000495c : /** * Initialize a style list * @param list a style list to initialize */ void lv_style_list_init(lv_style_list_t * list) { - 48f4: b510 push {r4, lr} + 495c: b510 push {r4, lr} _lv_memset_00(list, sizeof(lv_style_list_t)); - 48f6: 2108 movs r1, #8 - 48f8: 4b01 ldr r3, [pc, #4] ; (4900 ) - 48fa: 4798 blx r3 + 495e: 2108 movs r1, #8 + 4960: 4b01 ldr r3, [pc, #4] ; (4968 ) + 4962: 4798 blx r3 #if LV_USE_ASSERT_STYLE list->sentinel = LV_DEBUG_STYLE_LIST_SENTINEL_VALUE; #endif } - 48fc: bd10 pop {r4, pc} - 48fe: 46c0 nop ; (mov r8, r8) - 4900: 00010fe5 .word 0x00010fe5 + 4964: bd10 pop {r4, pc} + 4966: 46c0 nop ; (mov r8, r8) + 4968: 0001104d .word 0x0001104d -00004904 <_lv_style_list_remove_style>: +0000496c <_lv_style_list_remove_style>: * Remove a style from a style list * @param style_list pointer to a style list * @param style pointer to a style to remove */ void _lv_style_list_remove_style(lv_style_list_t * list, lv_style_t * style) { - 4904: b570 push {r4, r5, r6, lr} - 4906: 0004 movs r4, r0 - 4908: 000d movs r5, r1 + 496c: b570 push {r4, r5, r6, lr} + 496e: 0004 movs r4, r0 + 4970: 000d movs r5, r1 LV_ASSERT_STYLE_LIST(list); LV_ASSERT_STYLE(style); if(list->style_cnt == 0) return; - 490a: 7906 ldrb r6, [r0, #4] - 490c: 2e00 cmp r6, #0 - 490e: d045 beq.n 499c <_lv_style_list_remove_style+0x98> + 4972: 7906 ldrb r6, [r0, #4] + 4974: 2e00 cmp r6, #0 + 4976: d045 beq.n 4a04 <_lv_style_list_remove_style+0x98> /*Check if the style really exists here*/ uint8_t i; bool found = false; for(i = 0; i < list->style_cnt; i++) { if(list->style_list[i] == style) { - 4910: 6800 ldr r0, [r0, #0] - 4912: 6803 ldr r3, [r0, #0] - 4914: 4299 cmp r1, r3 - 4916: d00c beq.n 4932 <_lv_style_list_remove_style+0x2e> - 4918: 1d03 adds r3, r0, #4 - 491a: 1e72 subs r2, r6, #1 - 491c: b2d2 uxtb r2, r2 - 491e: 3201 adds r2, #1 - 4920: 0092 lsls r2, r2, #2 - 4922: 1882 adds r2, r0, r2 + 4978: 6800 ldr r0, [r0, #0] + 497a: 6803 ldr r3, [r0, #0] + 497c: 4299 cmp r1, r3 + 497e: d00c beq.n 499a <_lv_style_list_remove_style+0x2e> + 4980: 1d03 adds r3, r0, #4 + 4982: 1e72 subs r2, r6, #1 + 4984: b2d2 uxtb r2, r2 + 4986: 3201 adds r2, #1 + 4988: 0092 lsls r2, r2, #2 + 498a: 1882 adds r2, r0, r2 for(i = 0; i < list->style_cnt; i++) { - 4924: 429a cmp r2, r3 - 4926: d039 beq.n 499c <_lv_style_list_remove_style+0x98> - 4928: 3304 adds r3, #4 + 498c: 429a cmp r2, r3 + 498e: d039 beq.n 4a04 <_lv_style_list_remove_style+0x98> + 4990: 3304 adds r3, #4 if(list->style_list[i] == style) { - 492a: 1f19 subs r1, r3, #4 - 492c: 6809 ldr r1, [r1, #0] - 492e: 42a9 cmp r1, r5 - 4930: d1f8 bne.n 4924 <_lv_style_list_remove_style+0x20> + 4992: 1f19 subs r1, r3, #4 + 4994: 6809 ldr r1, [r1, #0] + 4996: 42a9 cmp r1, r5 + 4998: d1f8 bne.n 498c <_lv_style_list_remove_style+0x20> break; } } if(found == false) return; if(list->style_cnt == 1) { - 4932: 2e01 cmp r6, #1 - 4934: d010 beq.n 4958 <_lv_style_list_remove_style+0x54> + 499a: 2e01 cmp r6, #1 + 499c: d010 beq.n 49c0 <_lv_style_list_remove_style+0x54> list->style_cnt = 0; list->has_local = 0; return; } lv_style_t ** new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt - 1)); - 4936: 1e71 subs r1, r6, #1 - 4938: 0089 lsls r1, r1, #2 - 493a: 4b19 ldr r3, [pc, #100] ; (49a0 <_lv_style_list_remove_style+0x9c>) - 493c: 4798 blx r3 - 493e: 0006 movs r6, r0 + 499e: 1e71 subs r1, r6, #1 + 49a0: 0089 lsls r1, r1, #2 + 49a2: 4b19 ldr r3, [pc, #100] ; (4a08 <_lv_style_list_remove_style+0x9c>) + 49a4: 4798 blx r3 + 49a6: 0006 movs r6, r0 LV_ASSERT_MEM(new_classes); - 4940: 4b18 ldr r3, [pc, #96] ; (49a4 <_lv_style_list_remove_style+0xa0>) - 4942: 4798 blx r3 - 4944: 2800 cmp r0, #0 - 4946: d011 beq.n 496c <_lv_style_list_remove_style+0x68> + 49a8: 4b18 ldr r3, [pc, #96] ; (4a0c <_lv_style_list_remove_style+0xa0>) + 49aa: 4798 blx r3 + 49ac: 2800 cmp r0, #0 + 49ae: d011 beq.n 49d4 <_lv_style_list_remove_style+0x68> if(new_classes == NULL) { - 4948: 2e00 cmp r6, #0 - 494a: d027 beq.n 499c <_lv_style_list_remove_style+0x98> + 49b0: 2e00 cmp r6, #0 + 49b2: d027 beq.n 4a04 <_lv_style_list_remove_style+0x98> LV_LOG_WARN("lv_style_list_remove_style: couldn't reallocate class list"); return; } uint8_t j; for(i = 0, j = 0; i < list->style_cnt; i++) { - 494c: 7922 ldrb r2, [r4, #4] - 494e: 2a00 cmp r2, #0 - 4950: d021 beq.n 4996 <_lv_style_list_remove_style+0x92> - 4952: 2100 movs r1, #0 - 4954: 2300 movs r3, #0 - 4956: e014 b.n 4982 <_lv_style_list_remove_style+0x7e> + 49b4: 7922 ldrb r2, [r4, #4] + 49b6: 2a00 cmp r2, #0 + 49b8: d021 beq.n 49fe <_lv_style_list_remove_style+0x92> + 49ba: 2100 movs r1, #0 + 49bc: 2300 movs r3, #0 + 49be: e014 b.n 49ea <_lv_style_list_remove_style+0x7e> lv_mem_free(list->style_list); - 4958: 4b13 ldr r3, [pc, #76] ; (49a8 <_lv_style_list_remove_style+0xa4>) - 495a: 4798 blx r3 + 49c0: 4b13 ldr r3, [pc, #76] ; (4a10 <_lv_style_list_remove_style+0xa4>) + 49c2: 4798 blx r3 list->style_list = NULL; - 495c: 2300 movs r3, #0 - 495e: 6023 str r3, [r4, #0] + 49c4: 2300 movs r3, #0 + 49c6: 6023 str r3, [r4, #0] list->style_cnt = 0; - 4960: 7123 strb r3, [r4, #4] + 49c8: 7123 strb r3, [r4, #4] list->has_local = 0; - 4962: 7963 ldrb r3, [r4, #5] - 4964: 2201 movs r2, #1 - 4966: 4393 bics r3, r2 - 4968: 7163 strb r3, [r4, #5] + 49ca: 7963 ldrb r3, [r4, #5] + 49cc: 2201 movs r2, #1 + 49ce: 4393 bics r3, r2 + 49d0: 7163 strb r3, [r4, #5] return; - 496a: e017 b.n 499c <_lv_style_list_remove_style+0x98> + 49d2: e017 b.n 4a04 <_lv_style_list_remove_style+0x98> LV_ASSERT_MEM(new_classes); - 496c: 0032 movs r2, r6 - 496e: 2300 movs r3, #0 - 4970: 480e ldr r0, [pc, #56] ; (49ac <_lv_style_list_remove_style+0xa8>) - 4972: 490f ldr r1, [pc, #60] ; (49b0 <_lv_style_list_remove_style+0xac>) - 4974: 4788 blx r1 - 4976: e7fe b.n 4976 <_lv_style_list_remove_style+0x72> + 49d4: 0032 movs r2, r6 + 49d6: 2300 movs r3, #0 + 49d8: 480e ldr r0, [pc, #56] ; (4a14 <_lv_style_list_remove_style+0xa8>) + 49da: 490f ldr r1, [pc, #60] ; (4a18 <_lv_style_list_remove_style+0xac>) + 49dc: 4788 blx r1 + 49de: e7fe b.n 49de <_lv_style_list_remove_style+0x72> for(i = 0, j = 0; i < list->style_cnt; i++) { - 4978: 3301 adds r3, #1 - 497a: b2db uxtb r3, r3 - 497c: 7922 ldrb r2, [r4, #4] - 497e: 429a cmp r2, r3 - 4980: d909 bls.n 4996 <_lv_style_list_remove_style+0x92> + 49e0: 3301 adds r3, #1 + 49e2: b2db uxtb r3, r3 + 49e4: 7922 ldrb r2, [r4, #4] + 49e6: 429a cmp r2, r3 + 49e8: d909 bls.n 49fe <_lv_style_list_remove_style+0x92> if(list->style_list[i] == style) continue; - 4982: 009a lsls r2, r3, #2 - 4984: 6820 ldr r0, [r4, #0] - 4986: 5812 ldr r2, [r2, r0] - 4988: 4295 cmp r5, r2 - 498a: d0f5 beq.n 4978 <_lv_style_list_remove_style+0x74> + 49ea: 009a lsls r2, r3, #2 + 49ec: 6820 ldr r0, [r4, #0] + 49ee: 5812 ldr r2, [r2, r0] + 49f0: 4295 cmp r5, r2 + 49f2: d0f5 beq.n 49e0 <_lv_style_list_remove_style+0x74> new_classes[j] = list->style_list[i]; - 498c: 0088 lsls r0, r1, #2 - 498e: 5182 str r2, [r0, r6] + 49f4: 0088 lsls r0, r1, #2 + 49f6: 5182 str r2, [r0, r6] j++; - 4990: 3101 adds r1, #1 - 4992: b2c9 uxtb r1, r1 - 4994: e7f0 b.n 4978 <_lv_style_list_remove_style+0x74> + 49f8: 3101 adds r1, #1 + 49fa: b2c9 uxtb r1, r1 + 49fc: e7f0 b.n 49e0 <_lv_style_list_remove_style+0x74> } list->style_cnt--; - 4996: 3a01 subs r2, #1 - 4998: 7122 strb r2, [r4, #4] + 49fe: 3a01 subs r2, #1 + 4a00: 7122 strb r2, [r4, #4] list->style_list = new_classes; - 499a: 6026 str r6, [r4, #0] + 4a02: 6026 str r6, [r4, #0] } - 499c: bd70 pop {r4, r5, r6, pc} - 499e: 46c0 nop ; (mov r8, r8) - 49a0: 00010ddd .word 0x00010ddd - 49a4: 00001415 .word 0x00001415 - 49a8: 00010ad1 .word 0x00010ad1 - 49ac: 00018804 .word 0x00018804 - 49b0: 0000141d .word 0x0000141d + 4a04: bd70 pop {r4, r5, r6, pc} + 4a06: 46c0 nop ; (mov r8, r8) + 4a08: 00010e45 .word 0x00010e45 + 4a0c: 0000147d .word 0x0000147d + 4a10: 00010b39 .word 0x00010b39 + 4a14: 00018894 .word 0x00018894 + 4a18: 00001485 .word 0x00001485 -000049b4 <_lv_style_list_add_style>: +00004a1c <_lv_style_list_add_style>: { - 49b4: b570 push {r4, r5, r6, lr} - 49b6: 0005 movs r5, r0 - 49b8: 000c movs r4, r1 + 4a1c: b570 push {r4, r5, r6, lr} + 4a1e: 0005 movs r5, r0 + 4a20: 000c movs r4, r1 if(list == NULL) return; - 49ba: 2800 cmp r0, #0 - 49bc: d030 beq.n 4a20 <_lv_style_list_add_style+0x6c> + 4a22: 2800 cmp r0, #0 + 4a24: d030 beq.n 4a88 <_lv_style_list_add_style+0x6c> _lv_style_list_remove_style(list, style); - 49be: 4b1f ldr r3, [pc, #124] ; (4a3c <_lv_style_list_add_style+0x88>) - 49c0: 4798 blx r3 + 4a26: 4b1f ldr r3, [pc, #124] ; (4aa4 <_lv_style_list_add_style+0x88>) + 4a28: 4798 blx r3 if(list->style_cnt == 0) new_classes = lv_mem_alloc(sizeof(lv_style_t *)); - 49c2: 792b ldrb r3, [r5, #4] - 49c4: 2b00 cmp r3, #0 - 49c6: d12c bne.n 4a22 <_lv_style_list_add_style+0x6e> - 49c8: 2004 movs r0, #4 - 49ca: 4b1d ldr r3, [pc, #116] ; (4a40 <_lv_style_list_add_style+0x8c>) - 49cc: 4798 blx r3 - 49ce: 0006 movs r6, r0 + 4a2a: 792b ldrb r3, [r5, #4] + 4a2c: 2b00 cmp r3, #0 + 4a2e: d12c bne.n 4a8a <_lv_style_list_add_style+0x6e> + 4a30: 2004 movs r0, #4 + 4a32: 4b1d ldr r3, [pc, #116] ; (4aa8 <_lv_style_list_add_style+0x8c>) + 4a34: 4798 blx r3 + 4a36: 0006 movs r6, r0 LV_ASSERT_MEM(new_classes); - 49d0: 0030 movs r0, r6 - 49d2: 4b1c ldr r3, [pc, #112] ; (4a44 <_lv_style_list_add_style+0x90>) - 49d4: 4798 blx r3 - 49d6: 2800 cmp r0, #0 - 49d8: d02a beq.n 4a30 <_lv_style_list_add_style+0x7c> + 4a38: 0030 movs r0, r6 + 4a3a: 4b1c ldr r3, [pc, #112] ; (4aac <_lv_style_list_add_style+0x90>) + 4a3c: 4798 blx r3 + 4a3e: 2800 cmp r0, #0 + 4a40: d02a beq.n 4a98 <_lv_style_list_add_style+0x7c> if(new_classes == NULL) { - 49da: 2e00 cmp r6, #0 - 49dc: d020 beq.n 4a20 <_lv_style_list_add_style+0x6c> + 4a42: 2e00 cmp r6, #0 + 4a44: d020 beq.n 4a88 <_lv_style_list_add_style+0x6c> if(list->has_trans) first_style++; - 49de: 796b ldrb r3, [r5, #5] - 49e0: 0859 lsrs r1, r3, #1 - 49e2: 2201 movs r2, #1 + 4a46: 796b ldrb r3, [r5, #5] + 4a48: 0859 lsrs r1, r3, #1 + 4a4a: 2201 movs r2, #1 uint8_t first_style = 0; - 49e4: 4011 ands r1, r2 + 4a4c: 4011 ands r1, r2 if(list->has_local) first_style++; - 49e6: 421a tst r2, r3 - 49e8: d000 beq.n 49ec <_lv_style_list_add_style+0x38> - 49ea: 3101 adds r1, #1 + 4a4e: 421a tst r2, r3 + 4a50: d000 beq.n 4a54 <_lv_style_list_add_style+0x38> + 4a52: 3101 adds r1, #1 for(i = list->style_cnt; i > first_style; i--) { - 49ec: 792a ldrb r2, [r5, #4] - 49ee: 4291 cmp r1, r2 - 49f0: d210 bcs.n 4a14 <_lv_style_list_add_style+0x60> - 49f2: 4b15 ldr r3, [pc, #84] ; (4a48 <_lv_style_list_add_style+0x94>) - 49f4: 18d3 adds r3, r2, r3 - 49f6: 009b lsls r3, r3, #2 - 49f8: 18f3 adds r3, r6, r3 - 49fa: 4814 ldr r0, [pc, #80] ; (4a4c <_lv_style_list_add_style+0x98>) - 49fc: 1810 adds r0, r2, r0 - 49fe: 3a01 subs r2, #1 - 4a00: 1a52 subs r2, r2, r1 - 4a02: b2d2 uxtb r2, r2 - 4a04: 1a82 subs r2, r0, r2 - 4a06: 0092 lsls r2, r2, #2 - 4a08: 18b2 adds r2, r6, r2 + 4a54: 792a ldrb r2, [r5, #4] + 4a56: 4291 cmp r1, r2 + 4a58: d210 bcs.n 4a7c <_lv_style_list_add_style+0x60> + 4a5a: 4b15 ldr r3, [pc, #84] ; (4ab0 <_lv_style_list_add_style+0x94>) + 4a5c: 18d3 adds r3, r2, r3 + 4a5e: 009b lsls r3, r3, #2 + 4a60: 18f3 adds r3, r6, r3 + 4a62: 4814 ldr r0, [pc, #80] ; (4ab4 <_lv_style_list_add_style+0x98>) + 4a64: 1810 adds r0, r2, r0 + 4a66: 3a01 subs r2, #1 + 4a68: 1a52 subs r2, r2, r1 + 4a6a: b2d2 uxtb r2, r2 + 4a6c: 1a82 subs r2, r0, r2 + 4a6e: 0092 lsls r2, r2, #2 + 4a70: 18b2 adds r2, r6, r2 new_classes[i] = new_classes[i - 1]; - 4a0a: 6818 ldr r0, [r3, #0] - 4a0c: 6058 str r0, [r3, #4] - 4a0e: 3b04 subs r3, #4 + 4a72: 6818 ldr r0, [r3, #0] + 4a74: 6058 str r0, [r3, #4] + 4a76: 3b04 subs r3, #4 for(i = list->style_cnt; i > first_style; i--) { - 4a10: 4293 cmp r3, r2 - 4a12: d1fa bne.n 4a0a <_lv_style_list_add_style+0x56> + 4a78: 4293 cmp r3, r2 + 4a7a: d1fa bne.n 4a72 <_lv_style_list_add_style+0x56> new_classes[first_style] = style; - 4a14: 0089 lsls r1, r1, #2 - 4a16: 518c str r4, [r1, r6] + 4a7c: 0089 lsls r1, r1, #2 + 4a7e: 518c str r4, [r1, r6] list->style_cnt++; - 4a18: 792b ldrb r3, [r5, #4] - 4a1a: 3301 adds r3, #1 - 4a1c: 712b strb r3, [r5, #4] + 4a80: 792b ldrb r3, [r5, #4] + 4a82: 3301 adds r3, #1 + 4a84: 712b strb r3, [r5, #4] list->style_list = new_classes; - 4a1e: 602e str r6, [r5, #0] + 4a86: 602e str r6, [r5, #0] } - 4a20: bd70 pop {r4, r5, r6, pc} + 4a88: bd70 pop {r4, r5, r6, pc} else new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt + 1)); - 4a22: 3301 adds r3, #1 - 4a24: 0099 lsls r1, r3, #2 - 4a26: 6828 ldr r0, [r5, #0] - 4a28: 4b09 ldr r3, [pc, #36] ; (4a50 <_lv_style_list_add_style+0x9c>) - 4a2a: 4798 blx r3 - 4a2c: 0006 movs r6, r0 - 4a2e: e7cf b.n 49d0 <_lv_style_list_add_style+0x1c> + 4a8a: 3301 adds r3, #1 + 4a8c: 0099 lsls r1, r3, #2 + 4a8e: 6828 ldr r0, [r5, #0] + 4a90: 4b09 ldr r3, [pc, #36] ; (4ab8 <_lv_style_list_add_style+0x9c>) + 4a92: 4798 blx r3 + 4a94: 0006 movs r6, r0 + 4a96: e7cf b.n 4a38 <_lv_style_list_add_style+0x1c> LV_ASSERT_MEM(new_classes); - 4a30: 0032 movs r2, r6 - 4a32: 2300 movs r3, #0 - 4a34: 4807 ldr r0, [pc, #28] ; (4a54 <_lv_style_list_add_style+0xa0>) - 4a36: 4908 ldr r1, [pc, #32] ; (4a58 <_lv_style_list_add_style+0xa4>) - 4a38: 4788 blx r1 - 4a3a: e7fe b.n 4a3a <_lv_style_list_add_style+0x86> - 4a3c: 00004905 .word 0x00004905 - 4a40: 00010a09 .word 0x00010a09 - 4a44: 00001415 .word 0x00001415 - 4a48: 3fffffff .word 0x3fffffff - 4a4c: 3ffffffe .word 0x3ffffffe - 4a50: 00010ddd .word 0x00010ddd - 4a54: 00018804 .word 0x00018804 - 4a58: 0000141d .word 0x0000141d - -00004a5c : + 4a98: 0032 movs r2, r6 + 4a9a: 2300 movs r3, #0 + 4a9c: 4807 ldr r0, [pc, #28] ; (4abc <_lv_style_list_add_style+0xa0>) + 4a9e: 4908 ldr r1, [pc, #32] ; (4ac0 <_lv_style_list_add_style+0xa4>) + 4aa0: 4788 blx r1 + 4aa2: e7fe b.n 4aa2 <_lv_style_list_add_style+0x86> + 4aa4: 0000496d .word 0x0000496d + 4aa8: 00010a71 .word 0x00010a71 + 4aac: 0000147d .word 0x0000147d + 4ab0: 3fffffff .word 0x3fffffff + 4ab4: 3ffffffe .word 0x3ffffffe + 4ab8: 00010e45 .word 0x00010e45 + 4abc: 00018894 .word 0x00018894 + 4ac0: 00001485 .word 0x00001485 + +00004ac4 : * Get he local style from a style list. Allocate it if not exists yet. * @param list pointer to a style list * @return pointer to the local style */ static lv_style_t * get_alloc_local_style(lv_style_list_t * list) { - 4a5c: b570 push {r4, r5, r6, lr} - 4a5e: 0005 movs r5, r0 + 4ac4: b570 push {r4, r5, r6, lr} + 4ac6: 0005 movs r5, r0 LV_ASSERT_STYLE_LIST(list); if(list->has_local) return lv_style_list_get_style(list, 0); - 4a60: 7942 ldrb r2, [r0, #5] - 4a62: 07d3 lsls r3, r2, #31 - 4a64: d50f bpl.n 4a86 - 4a66: 2306 movs r3, #6 - 4a68: 4013 ands r3, r2 - 4a6a: 3b06 subs r3, #6 - 4a6c: 425a negs r2, r3 - 4a6e: 4153 adcs r3, r2 - 4a70: b2db uxtb r3, r3 + 4ac8: 7942 ldrb r2, [r0, #5] + 4aca: 07d3 lsls r3, r2, #31 + 4acc: d50f bpl.n 4aee + 4ace: 2306 movs r3, #6 + 4ad0: 4013 ands r3, r2 + 4ad2: 3b06 subs r3, #6 + 4ad4: 425a negs r2, r3 + 4ad6: 4153 adcs r3, r2 + 4ad8: b2db uxtb r3, r3 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 4a72: 7902 ldrb r2, [r0, #4] - 4a74: 2a00 cmp r2, #0 - 4a76: d022 beq.n 4abe - 4a78: 429a cmp r2, r3 - 4a7a: d922 bls.n 4ac2 + 4ada: 7902 ldrb r2, [r0, #4] + 4adc: 2a00 cmp r2, #0 + 4ade: d022 beq.n 4b26 + 4ae0: 429a cmp r2, r3 + 4ae2: d922 bls.n 4b2a return list->style_list[id]; - 4a7c: 6802 ldr r2, [r0, #0] - 4a7e: 009b lsls r3, r3, #2 - 4a80: 589c ldr r4, [r3, r2] + 4ae4: 6802 ldr r2, [r0, #0] + 4ae6: 009b lsls r3, r3, #2 + 4ae8: 589c ldr r4, [r3, r2] /*Add the local style to the furst place*/ _lv_style_list_add_style(list, local_style); list->has_local = 1; return local_style; } - 4a82: 0020 movs r0, r4 - 4a84: bd70 pop {r4, r5, r6, pc} + 4aea: 0020 movs r0, r4 + 4aec: bd70 pop {r4, r5, r6, pc} lv_style_t * local_style = lv_mem_alloc(sizeof(lv_style_t)); - 4a86: 2004 movs r0, #4 - 4a88: 4b0f ldr r3, [pc, #60] ; (4ac8 ) - 4a8a: 4798 blx r3 - 4a8c: 0004 movs r4, r0 + 4aee: 2004 movs r0, #4 + 4af0: 4b0f ldr r3, [pc, #60] ; (4b30 ) + 4af2: 4798 blx r3 + 4af4: 0004 movs r4, r0 LV_ASSERT_MEM(local_style); - 4a8e: 4b0f ldr r3, [pc, #60] ; (4acc ) - 4a90: 4798 blx r3 - 4a92: 2800 cmp r0, #0 - 4a94: d00d beq.n 4ab2 + 4af6: 4b0f ldr r3, [pc, #60] ; (4b34 ) + 4af8: 4798 blx r3 + 4afa: 2800 cmp r0, #0 + 4afc: d00d beq.n 4b1a if(local_style == NULL) { - 4a96: 2c00 cmp r4, #0 - 4a98: d0f3 beq.n 4a82 + 4afe: 2c00 cmp r4, #0 + 4b00: d0f3 beq.n 4aea lv_style_init(local_style); - 4a9a: 0020 movs r0, r4 - 4a9c: 4b0c ldr r3, [pc, #48] ; (4ad0 ) - 4a9e: 4798 blx r3 + 4b02: 0020 movs r0, r4 + 4b04: 4b0c ldr r3, [pc, #48] ; (4b38 ) + 4b06: 4798 blx r3 _lv_style_list_add_style(list, local_style); - 4aa0: 0021 movs r1, r4 - 4aa2: 0028 movs r0, r5 - 4aa4: 4b0b ldr r3, [pc, #44] ; (4ad4 ) - 4aa6: 4798 blx r3 + 4b08: 0021 movs r1, r4 + 4b0a: 0028 movs r0, r5 + 4b0c: 4b0b ldr r3, [pc, #44] ; (4b3c ) + 4b0e: 4798 blx r3 list->has_local = 1; - 4aa8: 796b ldrb r3, [r5, #5] - 4aaa: 2201 movs r2, #1 - 4aac: 4313 orrs r3, r2 - 4aae: 716b strb r3, [r5, #5] + 4b10: 796b ldrb r3, [r5, #5] + 4b12: 2201 movs r2, #1 + 4b14: 4313 orrs r3, r2 + 4b16: 716b strb r3, [r5, #5] return local_style; - 4ab0: e7e7 b.n 4a82 + 4b18: e7e7 b.n 4aea LV_ASSERT_MEM(local_style); - 4ab2: 0022 movs r2, r4 - 4ab4: 2300 movs r3, #0 - 4ab6: 4808 ldr r0, [pc, #32] ; (4ad8 ) - 4ab8: 4908 ldr r1, [pc, #32] ; (4adc ) - 4aba: 4788 blx r1 - 4abc: e7fe b.n 4abc + 4b1a: 0022 movs r2, r4 + 4b1c: 2300 movs r3, #0 + 4b1e: 4808 ldr r0, [pc, #32] ; (4b40 ) + 4b20: 4908 ldr r1, [pc, #32] ; (4b44 ) + 4b22: 4788 blx r1 + 4b24: e7fe b.n 4b24 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 4abe: 2400 movs r4, #0 - 4ac0: e7df b.n 4a82 - 4ac2: 2400 movs r4, #0 - 4ac4: e7dd b.n 4a82 - 4ac6: 46c0 nop ; (mov r8, r8) - 4ac8: 00010a09 .word 0x00010a09 - 4acc: 00001415 .word 0x00001415 - 4ad0: 000048e5 .word 0x000048e5 - 4ad4: 000049b5 .word 0x000049b5 - 4ad8: 00018804 .word 0x00018804 - 4adc: 0000141d .word 0x0000141d - -00004ae0 : -{ - 4ae0: b510 push {r4, lr} - 4ae2: 0004 movs r4, r0 + 4b26: 2400 movs r4, #0 + 4b28: e7df b.n 4aea + 4b2a: 2400 movs r4, #0 + 4b2c: e7dd b.n 4aea + 4b2e: 46c0 nop ; (mov r8, r8) + 4b30: 00010a71 .word 0x00010a71 + 4b34: 0000147d .word 0x0000147d + 4b38: 0000494d .word 0x0000494d + 4b3c: 00004a1d .word 0x00004a1d + 4b40: 00018894 .word 0x00018894 + 4b44: 00001485 .word 0x00001485 + +00004b48 : +{ + 4b48: b510 push {r4, lr} + 4b4a: 0004 movs r4, r0 lv_mem_free(style->map); - 4ae4: 6800 ldr r0, [r0, #0] - 4ae6: 4b02 ldr r3, [pc, #8] ; (4af0 ) - 4ae8: 4798 blx r3 + 4b4c: 6800 ldr r0, [r0, #0] + 4b4e: 4b02 ldr r3, [pc, #8] ; (4b58 ) + 4b50: 4798 blx r3 style->map = NULL; - 4aea: 2300 movs r3, #0 - 4aec: 6023 str r3, [r4, #0] + 4b52: 2300 movs r3, #0 + 4b54: 6023 str r3, [r4, #0] } - 4aee: bd10 pop {r4, pc} - 4af0: 00010ad1 .word 0x00010ad1 + 4b56: bd10 pop {r4, pc} + 4b58: 00010b39 .word 0x00010b39 -00004af4 <_lv_style_get_mem_size>: +00004b5c <_lv_style_get_mem_size>: { - 4af4: b510 push {r4, lr} + 4b5c: b510 push {r4, lr} if(style->map == NULL) return 0; - 4af6: 6801 ldr r1, [r0, #0] - 4af8: 2900 cmp r1, #0 - 4afa: d019 beq.n 4b30 <_lv_style_get_mem_size+0x3c> + 4b5e: 6801 ldr r1, [r0, #0] + 4b60: 2900 cmp r1, #0 + 4b62: d019 beq.n 4b98 <_lv_style_get_mem_size+0x3c> while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4afc: 780b ldrb r3, [r1, #0] - 4afe: 2bff cmp r3, #255 ; 0xff - 4b00: d012 beq.n 4b28 <_lv_style_get_mem_size+0x34> - 4b02: 2000 movs r0, #0 + 4b64: 780b ldrb r3, [r1, #0] + 4b66: 2bff cmp r3, #255 ; 0xff + 4b68: d012 beq.n 4b90 <_lv_style_get_mem_size+0x34> + 4b6a: 2000 movs r0, #0 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4b04: 240f movs r4, #15 - 4b06: e003 b.n 4b10 <_lv_style_get_mem_size+0x1c> + 4b6c: 240f movs r4, #15 + 4b6e: e003 b.n 4b78 <_lv_style_get_mem_size+0x1c> i += sizeof(lv_style_property_t); - 4b08: 1c90 adds r0, r2, #2 + 4b70: 1c90 adds r0, r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4b0a: 5c0b ldrb r3, [r1, r0] - 4b0c: 2bff cmp r3, #255 ; 0xff - 4b0e: d00c beq.n 4b2a <_lv_style_get_mem_size+0x36> + 4b72: 5c0b ldrb r3, [r1, r0] + 4b74: 2bff cmp r3, #255 ; 0xff + 4b76: d00c beq.n 4b92 <_lv_style_get_mem_size+0x36> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4b10: 4023 ands r3, r4 - 4b12: 1c82 adds r2, r0, #2 - 4b14: 2b08 cmp r3, #8 - 4b16: ddf7 ble.n 4b08 <_lv_style_get_mem_size+0x14> + 4b78: 4023 ands r3, r4 + 4b7a: 1c82 adds r2, r0, #2 + 4b7c: 2b08 cmp r3, #8 + 4b7e: ddf7 ble.n 4b70 <_lv_style_get_mem_size+0x14> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 4b18: 1c82 adds r2, r0, #2 - 4b1a: 2b0b cmp r3, #11 - 4b1c: ddf4 ble.n 4b08 <_lv_style_get_mem_size+0x14> + 4b80: 1c82 adds r2, r0, #2 + 4b82: 2b0b cmp r3, #11 + 4b84: ddf4 ble.n 4b70 <_lv_style_get_mem_size+0x14> else i += sizeof(const void *); - 4b1e: 1d02 adds r2, r0, #4 + 4b86: 1d02 adds r2, r0, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 4b20: 2b0d cmp r3, #13 - 4b22: dcf1 bgt.n 4b08 <_lv_style_get_mem_size+0x14> - 4b24: 1c42 adds r2, r0, #1 - 4b26: e7ef b.n 4b08 <_lv_style_get_mem_size+0x14> + 4b88: 2b0d cmp r3, #13 + 4b8a: dcf1 bgt.n 4b70 <_lv_style_get_mem_size+0x14> + 4b8c: 1c42 adds r2, r0, #1 + 4b8e: e7ef b.n 4b70 <_lv_style_get_mem_size+0x14> while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4b28: 2000 movs r0, #0 + 4b90: 2000 movs r0, #0 return i + sizeof(lv_style_property_t); - 4b2a: 3002 adds r0, #2 - 4b2c: b280 uxth r0, r0 + 4b92: 3002 adds r0, #2 + 4b94: b280 uxth r0, r0 } - 4b2e: bd10 pop {r4, pc} + 4b96: bd10 pop {r4, pc} if(style->map == NULL) return 0; - 4b30: 2000 movs r0, #0 - 4b32: e7fc b.n 4b2e <_lv_style_get_mem_size+0x3a> + 4b98: 2000 movs r0, #0 + 4b9a: e7fc b.n 4b96 <_lv_style_get_mem_size+0x3a> -00004b34 : +00004b9c : { - 4b34: b570 push {r4, r5, r6, lr} - 4b36: 0006 movs r6, r0 - 4b38: 1e0c subs r4, r1, #0 + 4b9c: b570 push {r4, r5, r6, lr} + 4b9e: 0006 movs r6, r0 + 4ba0: 1e0c subs r4, r1, #0 if(style_src == NULL) return; - 4b3a: d00d beq.n 4b58 + 4ba2: d00d beq.n 4bc0 if(style_src->map == NULL) return; - 4b3c: 680b ldr r3, [r1, #0] - 4b3e: 2b00 cmp r3, #0 - 4b40: d00a beq.n 4b58 + 4ba4: 680b ldr r3, [r1, #0] + 4ba6: 2b00 cmp r3, #0 + 4ba8: d00a beq.n 4bc0 uint16_t size = _lv_style_get_mem_size(style_src); - 4b42: 0008 movs r0, r1 - 4b44: 4b05 ldr r3, [pc, #20] ; (4b5c ) - 4b46: 4798 blx r3 - 4b48: 0005 movs r5, r0 + 4baa: 0008 movs r0, r1 + 4bac: 4b05 ldr r3, [pc, #20] ; (4bc4 ) + 4bae: 4798 blx r3 + 4bb0: 0005 movs r5, r0 style_dest->map = lv_mem_alloc(size); - 4b4a: 4b05 ldr r3, [pc, #20] ; (4b60 ) - 4b4c: 4798 blx r3 - 4b4e: 6030 str r0, [r6, #0] + 4bb2: 4b05 ldr r3, [pc, #20] ; (4bc8 ) + 4bb4: 4798 blx r3 + 4bb6: 6030 str r0, [r6, #0] _lv_memcpy(style_dest->map, style_src->map, size); - 4b50: 6821 ldr r1, [r4, #0] - 4b52: 002a movs r2, r5 - 4b54: 4b03 ldr r3, [pc, #12] ; (4b64 ) - 4b56: 4798 blx r3 -} - 4b58: bd70 pop {r4, r5, r6, pc} - 4b5a: 46c0 nop ; (mov r8, r8) - 4b5c: 00004af5 .word 0x00004af5 - 4b60: 00010a09 .word 0x00010a09 - 4b64: 00010c25 .word 0x00010c25 - -00004b68 : -{ - 4b68: b5f0 push {r4, r5, r6, r7, lr} - 4b6a: 46de mov lr, fp - 4b6c: 4657 mov r7, sl - 4b6e: 464e mov r6, r9 - 4b70: 4645 mov r5, r8 - 4b72: b5e0 push {r5, r6, r7, lr} - 4b74: b085 sub sp, #20 - 4b76: 1e06 subs r6, r0, #0 - 4b78: 9103 str r1, [sp, #12] + 4bb8: 6821 ldr r1, [r4, #0] + 4bba: 002a movs r2, r5 + 4bbc: 4b03 ldr r3, [pc, #12] ; (4bcc ) + 4bbe: 4798 blx r3 +} + 4bc0: bd70 pop {r4, r5, r6, pc} + 4bc2: 46c0 nop ; (mov r8, r8) + 4bc4: 00004b5d .word 0x00004b5d + 4bc8: 00010a71 .word 0x00010a71 + 4bcc: 00010c8d .word 0x00010c8d + +00004bd0 : +{ + 4bd0: b5f0 push {r4, r5, r6, r7, lr} + 4bd2: 46de mov lr, fp + 4bd4: 4657 mov r7, sl + 4bd6: 464e mov r6, r9 + 4bd8: 4645 mov r5, r8 + 4bda: b5e0 push {r5, r6, r7, lr} + 4bdc: b085 sub sp, #20 + 4bde: 1e06 subs r6, r0, #0 + 4be0: 9103 str r1, [sp, #12] if(style == NULL) return false; - 4b7a: d100 bne.n 4b7e - 4b7c: e07b b.n 4c76 + 4be2: d100 bne.n 4be6 + 4be4: e07b b.n 4cde if(style->map == NULL) return -1; - 4b7e: 6800 ldr r0, [r0, #0] - 4b80: 2800 cmp r0, #0 - 4b82: d100 bne.n 4b86 - 4b84: e07b b.n 4c7e + 4be6: 6800 ldr r0, [r0, #0] + 4be8: 2800 cmp r0, #0 + 4bea: d100 bne.n 4bee + 4bec: e07b b.n 4ce6 uint8_t id_to_find = prop & 0xFF; - 4b86: b2cc uxtb r4, r1 + 4bee: b2cc uxtb r4, r1 attr.full = (prop >> 8) & 0xFF; - 4b88: 0a0b lsrs r3, r1, #8 - 4b8a: 4698 mov r8, r3 - 4b8c: 1c19 adds r1, r3, #0 + 4bf0: 0a0b lsrs r3, r1, #8 + 4bf2: 4698 mov r8, r3 + 4bf4: 1c19 adds r1, r3, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4b8e: 7803 ldrb r3, [r0, #0] - 4b90: 2bff cmp r3, #255 ; 0xff - 4b92: d04e beq.n 4c32 - 4b94: 2201 movs r2, #1 - 4b96: 4252 negs r2, r2 - 4b98: 9202 str r2, [sp, #8] - 4b9a: 4693 mov fp, r2 - 4b9c: 2200 movs r2, #0 + 4bf6: 7803 ldrb r3, [r0, #0] + 4bf8: 2bff cmp r3, #255 ; 0xff + 4bfa: d04e beq.n 4c9a + 4bfc: 2201 movs r2, #1 + 4bfe: 4252 negs r2, r2 + 4c00: 9202 str r2, [sp, #8] + 4c02: 4693 mov fp, r2 + 4c04: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 4b9e: 257f movs r5, #127 ; 0x7f - 4ba0: 46aa mov sl, r5 + 4c06: 257f movs r5, #127 ; 0x7f + 4c08: 46aa mov sl, r5 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4ba2: 0649 lsls r1, r1, #25 - 4ba4: 0e49 lsrs r1, r1, #25 - 4ba6: 468c mov ip, r1 + 4c0a: 0649 lsls r1, r1, #25 + 4c0c: 0e49 lsrs r1, r1, #25 + 4c0e: 468c mov ip, r1 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4ba8: 3d70 subs r5, #112 ; 0x70 - 4baa: 46c1 mov r9, r8 - 4bac: 46b0 mov r8, r6 - 4bae: e01c b.n 4bea + 4c10: 3d70 subs r5, #112 ; 0x70 + 4c12: 46c1 mov r9, r8 + 4c14: 46b0 mov r8, r6 + 4c16: e01c b.n 4c52 attr_i.full = style->map[i + 1]; - 4bb0: 1881 adds r1, r0, r2 - 4bb2: 7849 ldrb r1, [r1, #1] + 4c18: 1881 adds r1, r0, r2 + 4c1a: 7849 ldrb r1, [r1, #1] if(attr_i.bits.state == attr.bits.state) { - 4bb4: 464f mov r7, r9 - 4bb6: 404f eors r7, r1 - 4bb8: 4656 mov r6, sl - 4bba: 423e tst r6, r7 - 4bbc: d00d beq.n 4bda + 4c1c: 464f mov r7, r9 + 4c1e: 404f eors r7, r1 + 4c20: 4656 mov r6, sl + 4c22: 423e tst r6, r7 + 4c24: d00d beq.n 4c42 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4bbe: 0649 lsls r1, r1, #25 - 4bc0: 0e49 lsrs r1, r1, #25 - 4bc2: 9101 str r1, [sp, #4] - 4bc4: 000f movs r7, r1 - 4bc6: 4666 mov r6, ip - 4bc8: 43b7 bics r7, r6 - 4bca: d110 bne.n 4bee + 4c26: 0649 lsls r1, r1, #25 + 4c28: 0e49 lsrs r1, r1, #25 + 4c2a: 9101 str r1, [sp, #4] + 4c2c: 000f movs r7, r1 + 4c2e: 4666 mov r6, ip + 4c30: 43b7 bics r7, r6 + 4c32: d110 bne.n 4c56 if(attr_i.bits.state > weight) { - 4bcc: 4559 cmp r1, fp - 4bce: dd0e ble.n 4bee + 4c34: 4559 cmp r1, fp + 4c36: dd0e ble.n 4c56 weight = attr_i.bits.state; - 4bd0: b209 sxth r1, r1 - 4bd2: 468b mov fp, r1 + 4c38: b209 sxth r1, r1 + 4c3a: 468b mov fp, r1 id_guess = i; - 4bd4: b211 sxth r1, r2 - 4bd6: 9102 str r1, [sp, #8] - 4bd8: e009 b.n 4bee - 4bda: 4643 mov r3, r8 - 4bdc: 46c8 mov r8, r9 - 4bde: 001e movs r6, r3 - 4be0: e015 b.n 4c0e + 4c3c: b211 sxth r1, r2 + 4c3e: 9102 str r1, [sp, #8] + 4c40: e009 b.n 4c56 + 4c42: 4643 mov r3, r8 + 4c44: 46c8 mov r8, r9 + 4c46: 001e movs r6, r3 + 4c48: e015 b.n 4c76 i += sizeof(lv_style_property_t); - 4be2: 1c8a adds r2, r1, #2 + 4c4a: 1c8a adds r2, r1, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4be4: 5c83 ldrb r3, [r0, r2] - 4be6: 2bff cmp r3, #255 ; 0xff - 4be8: d00d beq.n 4c06 + 4c4c: 5c83 ldrb r3, [r0, r2] + 4c4e: 2bff cmp r3, #255 ; 0xff + 4c50: d00d beq.n 4c6e if(style->map[i] == id_to_find) { - 4bea: 429c cmp r4, r3 - 4bec: d0e0 beq.n 4bb0 + 4c52: 429c cmp r4, r3 + 4c54: d0e0 beq.n 4c18 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4bee: 402b ands r3, r5 - 4bf0: 1c91 adds r1, r2, #2 - 4bf2: 2b08 cmp r3, #8 - 4bf4: ddf5 ble.n 4be2 + 4c56: 402b ands r3, r5 + 4c58: 1c91 adds r1, r2, #2 + 4c5a: 2b08 cmp r3, #8 + 4c5c: ddf5 ble.n 4c4a else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 4bf6: 1c91 adds r1, r2, #2 - 4bf8: 2b0b cmp r3, #11 - 4bfa: ddf2 ble.n 4be2 + 4c5e: 1c91 adds r1, r2, #2 + 4c60: 2b0b cmp r3, #11 + 4c62: ddf2 ble.n 4c4a else i += sizeof(const void *); - 4bfc: 1d11 adds r1, r2, #4 + 4c64: 1d11 adds r1, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 4bfe: 2b0d cmp r3, #13 - 4c00: dcef bgt.n 4be2 - 4c02: 1c51 adds r1, r2, #1 - 4c04: e7ed b.n 4be2 - 4c06: 4643 mov r3, r8 - 4c08: 46c8 mov r8, r9 - 4c0a: 001e movs r6, r3 + 4c66: 2b0d cmp r3, #13 + 4c68: dcef bgt.n 4c4a + 4c6a: 1c51 adds r1, r2, #1 + 4c6c: e7ed b.n 4c4a + 4c6e: 4643 mov r3, r8 + 4c70: 46c8 mov r8, r9 + 4c72: 001e movs r6, r3 return id_guess; - 4c0c: 9a02 ldr r2, [sp, #8] + 4c74: 9a02 ldr r2, [sp, #8] if(id >= 0) { - 4c0e: 2a00 cmp r2, #0 - 4c10: db33 blt.n 4c7a + 4c76: 2a00 cmp r2, #0 + 4c78: db33 blt.n 4ce2 attr_found.full = *(style->map + id + 1); - 4c12: 0014 movs r4, r2 - 4c14: 1880 adds r0, r0, r2 + 4c7a: 0014 movs r4, r2 + 4c7c: 1880 adds r0, r0, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 4c16: 7843 ldrb r3, [r0, #1] - 4c18: 4642 mov r2, r8 - 4c1a: 405a eors r2, r3 - 4c1c: 0013 movs r3, r2 + 4c7e: 7843 ldrb r3, [r0, #1] + 4c80: 4642 mov r2, r8 + 4c82: 405a eors r2, r3 + 4c84: 0013 movs r3, r2 return false; - 4c1e: 2000 movs r0, #0 + 4c86: 2000 movs r0, #0 if(attr_found.bits.state == attr_goal.bits.state) { - 4c20: 065b lsls r3, r3, #25 - 4c22: d00a beq.n 4c3a -} - 4c24: b005 add sp, #20 - 4c26: bc3c pop {r2, r3, r4, r5} - 4c28: 4690 mov r8, r2 - 4c2a: 4699 mov r9, r3 - 4c2c: 46a2 mov sl, r4 - 4c2e: 46ab mov fp, r5 - 4c30: bdf0 pop {r4, r5, r6, r7, pc} + 4c88: 065b lsls r3, r3, #25 + 4c8a: d00a beq.n 4ca2 +} + 4c8c: b005 add sp, #20 + 4c8e: bc3c pop {r2, r3, r4, r5} + 4c90: 4690 mov r8, r2 + 4c92: 4699 mov r9, r3 + 4c94: 46a2 mov sl, r4 + 4c96: 46ab mov fp, r5 + 4c98: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 4c32: 2301 movs r3, #1 - 4c34: 425b negs r3, r3 - 4c36: 9302 str r3, [sp, #8] - 4c38: e7e8 b.n 4c0c + 4c9a: 2301 movs r3, #1 + 4c9c: 425b negs r3, r3 + 4c9e: 9302 str r3, [sp, #8] + 4ca0: e7e8 b.n 4c74 uint32_t map_size = _lv_style_get_mem_size(style); - 4c3a: 0030 movs r0, r6 - 4c3c: 4b11 ldr r3, [pc, #68] ; (4c84 ) - 4c3e: 4798 blx r3 + 4ca2: 0030 movs r0, r6 + 4ca4: 4b11 ldr r3, [pc, #68] ; (4cec ) + 4ca6: 4798 blx r3 if((prop & 0xF) < LV_STYLE_ID_COLOR) prop_size += sizeof(lv_style_int_t); - 4c40: 230f movs r3, #15 - 4c42: 9a03 ldr r2, [sp, #12] - 4c44: 4013 ands r3, r2 + 4ca8: 230f movs r3, #15 + 4caa: 9a03 ldr r2, [sp, #12] + 4cac: 4013 ands r3, r2 else if((prop & 0xF) < LV_STYLE_ID_OPA) prop_size += sizeof(lv_color_t); - 4c46: 2104 movs r1, #4 - 4c48: 2b0b cmp r3, #11 - 4c4a: dd03 ble.n 4c54 + 4cae: 2104 movs r1, #4 + 4cb0: 2b0b cmp r3, #11 + 4cb2: dd03 ble.n 4cbc else if((prop & 0xF) < LV_STYLE_ID_PTR) prop_size += sizeof(lv_opa_t); - 4c4c: 3901 subs r1, #1 - 4c4e: 2b0d cmp r3, #13 - 4c50: dd00 ble.n 4c54 + 4cb4: 3901 subs r1, #1 + 4cb6: 2b0d cmp r3, #13 + 4cb8: dd00 ble.n 4cbc else prop_size += sizeof(const void *); - 4c52: 3103 adds r1, #3 + 4cba: 3103 adds r1, #3 for(i = id; i < map_size - prop_size; i++) { - 4c54: 000d movs r5, r1 - 4c56: 1a41 subs r1, r0, r1 - 4c58: 428c cmp r4, r1 - 4c5a: d206 bcs.n 4c6a + 4cbc: 000d movs r5, r1 + 4cbe: 1a41 subs r1, r0, r1 + 4cc0: 428c cmp r4, r1 + 4cc2: d206 bcs.n 4cd2 style->map[i] = style->map[i + prop_size]; - 4c5c: 6833 ldr r3, [r6, #0] - 4c5e: 195a adds r2, r3, r5 - 4c60: 5d12 ldrb r2, [r2, r4] - 4c62: 551a strb r2, [r3, r4] + 4cc4: 6833 ldr r3, [r6, #0] + 4cc6: 195a adds r2, r3, r5 + 4cc8: 5d12 ldrb r2, [r2, r4] + 4cca: 551a strb r2, [r3, r4] for(i = id; i < map_size - prop_size; i++) { - 4c64: 3401 adds r4, #1 - 4c66: 428c cmp r4, r1 - 4c68: d1f8 bne.n 4c5c + 4ccc: 3401 adds r4, #1 + 4cce: 428c cmp r4, r1 + 4cd0: d1f8 bne.n 4cc4 style->map = lv_mem_realloc(style->map, map_size - prop_size); - 4c6a: 6830 ldr r0, [r6, #0] - 4c6c: 4b06 ldr r3, [pc, #24] ; (4c88 ) - 4c6e: 4798 blx r3 - 4c70: 6030 str r0, [r6, #0] + 4cd2: 6830 ldr r0, [r6, #0] + 4cd4: 4b06 ldr r3, [pc, #24] ; (4cf0 ) + 4cd6: 4798 blx r3 + 4cd8: 6030 str r0, [r6, #0] return true; - 4c72: 2001 movs r0, #1 - 4c74: e7d6 b.n 4c24 + 4cda: 2001 movs r0, #1 + 4cdc: e7d6 b.n 4c8c if(style == NULL) return false; - 4c76: 2000 movs r0, #0 - 4c78: e7d4 b.n 4c24 + 4cde: 2000 movs r0, #0 + 4ce0: e7d4 b.n 4c8c return false; - 4c7a: 2000 movs r0, #0 - 4c7c: e7d2 b.n 4c24 - 4c7e: 2000 movs r0, #0 - 4c80: e7d0 b.n 4c24 - 4c82: 46c0 nop ; (mov r8, r8) - 4c84: 00004af5 .word 0x00004af5 - 4c88: 00010ddd .word 0x00010ddd - -00004c8c <_lv_style_set_int>: -{ - 4c8c: b5f0 push {r4, r5, r6, r7, lr} - 4c8e: 46de mov lr, fp - 4c90: 4657 mov r7, sl - 4c92: 464e mov r6, r9 - 4c94: 4645 mov r5, r8 - 4c96: b5e0 push {r5, r6, r7, lr} - 4c98: b087 sub sp, #28 - 4c9a: 0006 movs r6, r0 - 4c9c: ab02 add r3, sp, #8 - 4c9e: 80d9 strh r1, [r3, #6] - 4ca0: ab03 add r3, sp, #12 - 4ca2: 801a strh r2, [r3, #0] + 4ce2: 2000 movs r0, #0 + 4ce4: e7d2 b.n 4c8c + 4ce6: 2000 movs r0, #0 + 4ce8: e7d0 b.n 4c8c + 4cea: 46c0 nop ; (mov r8, r8) + 4cec: 00004b5d .word 0x00004b5d + 4cf0: 00010e45 .word 0x00010e45 + +00004cf4 <_lv_style_set_int>: +{ + 4cf4: b5f0 push {r4, r5, r6, r7, lr} + 4cf6: 46de mov lr, fp + 4cf8: 4657 mov r7, sl + 4cfa: 464e mov r6, r9 + 4cfc: 4645 mov r5, r8 + 4cfe: b5e0 push {r5, r6, r7, lr} + 4d00: b087 sub sp, #28 + 4d02: 0006 movs r6, r0 + 4d04: ab02 add r3, sp, #8 + 4d06: 80d9 strh r1, [r3, #6] + 4d08: ab03 add r3, sp, #12 + 4d0a: 801a strh r2, [r3, #0] if(style->map == NULL) return -1; - 4ca4: 6804 ldr r4, [r0, #0] - 4ca6: 2c00 cmp r4, #0 - 4ca8: d058 beq.n 4d5c <_lv_style_set_int+0xd0> + 4d0c: 6804 ldr r4, [r0, #0] + 4d0e: 2c00 cmp r4, #0 + 4d10: d058 beq.n 4dc4 <_lv_style_set_int+0xd0> uint8_t id_to_find = prop & 0xFF; - 4caa: b2cd uxtb r5, r1 + 4d12: b2cd uxtb r5, r1 attr.full = (prop >> 8) & 0xFF; - 4cac: 0a0b lsrs r3, r1, #8 - 4cae: 469a mov sl, r3 - 4cb0: 1c19 adds r1, r3, #0 + 4d14: 0a0b lsrs r3, r1, #8 + 4d16: 469a mov sl, r3 + 4d18: 1c19 adds r1, r3, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4cb2: 7823 ldrb r3, [r4, #0] - 4cb4: 2bff cmp r3, #255 ; 0xff - 4cb6: d04d beq.n 4d54 <_lv_style_set_int+0xc8> - 4cb8: 2201 movs r2, #1 - 4cba: 4252 negs r2, r2 - 4cbc: 4690 mov r8, r2 - 4cbe: 4694 mov ip, r2 - 4cc0: 2200 movs r2, #0 + 4d1a: 7823 ldrb r3, [r4, #0] + 4d1c: 2bff cmp r3, #255 ; 0xff + 4d1e: d04d beq.n 4dbc <_lv_style_set_int+0xc8> + 4d20: 2201 movs r2, #1 + 4d22: 4252 negs r2, r2 + 4d24: 4690 mov r8, r2 + 4d26: 4694 mov ip, r2 + 4d28: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 4cc2: 207f movs r0, #127 ; 0x7f - 4cc4: 4683 mov fp, r0 + 4d2a: 207f movs r0, #127 ; 0x7f + 4d2c: 4683 mov fp, r0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4cc6: 0649 lsls r1, r1, #25 - 4cc8: 0e49 lsrs r1, r1, #25 - 4cca: 4689 mov r9, r1 + 4d2e: 0649 lsls r1, r1, #25 + 4d30: 0e49 lsrs r1, r1, #25 + 4d32: 4689 mov r9, r1 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4ccc: 3870 subs r0, #112 ; 0x70 - 4cce: 9602 str r6, [sp, #8] - 4cd0: e01a b.n 4d08 <_lv_style_set_int+0x7c> + 4d34: 3870 subs r0, #112 ; 0x70 + 4d36: 9602 str r6, [sp, #8] + 4d38: e01a b.n 4d70 <_lv_style_set_int+0x7c> attr_i.full = style->map[i + 1]; - 4cd2: 18a1 adds r1, r4, r2 - 4cd4: 7849 ldrb r1, [r1, #1] + 4d3a: 18a1 adds r1, r4, r2 + 4d3c: 7849 ldrb r1, [r1, #1] if(attr_i.bits.state == attr.bits.state) { - 4cd6: 4656 mov r6, sl - 4cd8: 404e eors r6, r1 - 4cda: 465f mov r7, fp - 4cdc: 4237 tst r7, r6 - 4cde: d00d beq.n 4cfc <_lv_style_set_int+0x70> + 4d3e: 4656 mov r6, sl + 4d40: 404e eors r6, r1 + 4d42: 465f mov r7, fp + 4d44: 4237 tst r7, r6 + 4d46: d00d beq.n 4d64 <_lv_style_set_int+0x70> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4ce0: 0649 lsls r1, r1, #25 - 4ce2: 0e49 lsrs r1, r1, #25 - 4ce4: 9101 str r1, [sp, #4] - 4ce6: 000e movs r6, r1 - 4ce8: 464f mov r7, r9 - 4cea: 43be bics r6, r7 - 4cec: d10e bne.n 4d0c <_lv_style_set_int+0x80> + 4d48: 0649 lsls r1, r1, #25 + 4d4a: 0e49 lsrs r1, r1, #25 + 4d4c: 9101 str r1, [sp, #4] + 4d4e: 000e movs r6, r1 + 4d50: 464f mov r7, r9 + 4d52: 43be bics r6, r7 + 4d54: d10e bne.n 4d74 <_lv_style_set_int+0x80> if(attr_i.bits.state > weight) { - 4cee: 4561 cmp r1, ip - 4cf0: dd0c ble.n 4d0c <_lv_style_set_int+0x80> + 4d56: 4561 cmp r1, ip + 4d58: dd0c ble.n 4d74 <_lv_style_set_int+0x80> weight = attr_i.bits.state; - 4cf2: b209 sxth r1, r1 - 4cf4: 468c mov ip, r1 + 4d5a: b209 sxth r1, r1 + 4d5c: 468c mov ip, r1 id_guess = i; - 4cf6: b211 sxth r1, r2 - 4cf8: 4688 mov r8, r1 - 4cfa: e007 b.n 4d0c <_lv_style_set_int+0x80> - 4cfc: 9e02 ldr r6, [sp, #8] - 4cfe: e013 b.n 4d28 <_lv_style_set_int+0x9c> + 4d5e: b211 sxth r1, r2 + 4d60: 4688 mov r8, r1 + 4d62: e007 b.n 4d74 <_lv_style_set_int+0x80> + 4d64: 9e02 ldr r6, [sp, #8] + 4d66: e013 b.n 4d90 <_lv_style_set_int+0x9c> i += sizeof(lv_style_property_t); - 4d00: 1c8a adds r2, r1, #2 + 4d68: 1c8a adds r2, r1, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4d02: 5ca3 ldrb r3, [r4, r2] - 4d04: 2bff cmp r3, #255 ; 0xff - 4d06: d00d beq.n 4d24 <_lv_style_set_int+0x98> + 4d6a: 5ca3 ldrb r3, [r4, r2] + 4d6c: 2bff cmp r3, #255 ; 0xff + 4d6e: d00d beq.n 4d8c <_lv_style_set_int+0x98> if(style->map[i] == id_to_find) { - 4d08: 429d cmp r5, r3 - 4d0a: d0e2 beq.n 4cd2 <_lv_style_set_int+0x46> + 4d70: 429d cmp r5, r3 + 4d72: d0e2 beq.n 4d3a <_lv_style_set_int+0x46> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4d0c: 4003 ands r3, r0 - 4d0e: 1c91 adds r1, r2, #2 - 4d10: 2b08 cmp r3, #8 - 4d12: ddf5 ble.n 4d00 <_lv_style_set_int+0x74> + 4d74: 4003 ands r3, r0 + 4d76: 1c91 adds r1, r2, #2 + 4d78: 2b08 cmp r3, #8 + 4d7a: ddf5 ble.n 4d68 <_lv_style_set_int+0x74> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 4d14: 1c91 adds r1, r2, #2 - 4d16: 2b0b cmp r3, #11 - 4d18: ddf2 ble.n 4d00 <_lv_style_set_int+0x74> + 4d7c: 1c91 adds r1, r2, #2 + 4d7e: 2b0b cmp r3, #11 + 4d80: ddf2 ble.n 4d68 <_lv_style_set_int+0x74> else i += sizeof(const void *); - 4d1a: 1d11 adds r1, r2, #4 + 4d82: 1d11 adds r1, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 4d1c: 2b0d cmp r3, #13 - 4d1e: dcef bgt.n 4d00 <_lv_style_set_int+0x74> - 4d20: 1c51 adds r1, r2, #1 - 4d22: e7ed b.n 4d00 <_lv_style_set_int+0x74> - 4d24: 9e02 ldr r6, [sp, #8] + 4d84: 2b0d cmp r3, #13 + 4d86: dcef bgt.n 4d68 <_lv_style_set_int+0x74> + 4d88: 1c51 adds r1, r2, #1 + 4d8a: e7ed b.n 4d68 <_lv_style_set_int+0x74> + 4d8c: 9e02 ldr r6, [sp, #8] return id_guess; - 4d26: 4642 mov r2, r8 + 4d8e: 4642 mov r2, r8 if(id >= 0) { - 4d28: 2a00 cmp r2, #0 - 4d2a: db17 blt.n 4d5c <_lv_style_set_int+0xd0> + 4d90: 2a00 cmp r2, #0 + 4d92: db17 blt.n 4dc4 <_lv_style_set_int+0xd0> attr_found.full = *(style->map + id + 1); - 4d2c: 18a3 adds r3, r4, r2 + 4d94: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 4d2e: 785b ldrb r3, [r3, #1] - 4d30: 4655 mov r5, sl - 4d32: 405d eors r5, r3 - 4d34: 066b lsls r3, r5, #25 - 4d36: d111 bne.n 4d5c <_lv_style_set_int+0xd0> + 4d96: 785b ldrb r3, [r3, #1] + 4d98: 4655 mov r5, sl + 4d9a: 405d eors r5, r3 + 4d9c: 066b lsls r3, r5, #25 + 4d9e: d111 bne.n 4dc4 <_lv_style_set_int+0xd0> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &value, sizeof(lv_style_int_t)); - 4d38: 3202 adds r2, #2 - 4d3a: 18a4 adds r4, r4, r2 + 4da0: 3202 adds r2, #2 + 4da2: 18a4 adds r4, r4, r2 *d8 = *s8; - 4d3c: ab03 add r3, sp, #12 - 4d3e: 781a ldrb r2, [r3, #0] - 4d40: 7022 strb r2, [r4, #0] - 4d42: 785b ldrb r3, [r3, #1] - 4d44: 7063 strb r3, [r4, #1] -} - 4d46: b007 add sp, #28 - 4d48: bc3c pop {r2, r3, r4, r5} - 4d4a: 4690 mov r8, r2 - 4d4c: 4699 mov r9, r3 - 4d4e: 46a2 mov sl, r4 - 4d50: 46ab mov fp, r5 - 4d52: bdf0 pop {r4, r5, r6, r7, pc} + 4da4: ab03 add r3, sp, #12 + 4da6: 781a ldrb r2, [r3, #0] + 4da8: 7022 strb r2, [r4, #0] + 4daa: 785b ldrb r3, [r3, #1] + 4dac: 7063 strb r3, [r4, #1] +} + 4dae: b007 add sp, #28 + 4db0: bc3c pop {r2, r3, r4, r5} + 4db2: 4690 mov r8, r2 + 4db4: 4699 mov r9, r3 + 4db6: 46a2 mov sl, r4 + 4db8: 46ab mov fp, r5 + 4dba: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 4d54: 2301 movs r3, #1 - 4d56: 425b negs r3, r3 - 4d58: 4698 mov r8, r3 - 4d5a: e7e4 b.n 4d26 <_lv_style_set_int+0x9a> + 4dbc: 2301 movs r3, #1 + 4dbe: 425b negs r3, r3 + 4dc0: 4698 mov r8, r3 + 4dc2: e7e4 b.n 4d8e <_lv_style_set_int+0x9a> lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 4d5c: 22ff movs r2, #255 ; 0xff - 4d5e: 230e movs r3, #14 - 4d60: a902 add r1, sp, #8 - 4d62: 468c mov ip, r1 - 4d64: 4463 add r3, ip - 4d66: 801a strh r2, [r3, #0] + 4dc4: 22ff movs r2, #255 ; 0xff + 4dc6: 230e movs r3, #14 + 4dc8: a902 add r1, sp, #8 + 4dca: 468c mov ip, r1 + 4dcc: 4463 add r3, ip + 4dce: 801a strh r2, [r3, #0] uint16_t size = _lv_style_get_mem_size(style); - 4d68: 0030 movs r0, r6 - 4d6a: 4b1b ldr r3, [pc, #108] ; (4dd8 <_lv_style_set_int+0x14c>) - 4d6c: 4798 blx r3 + 4dd0: 0030 movs r0, r6 + 4dd2: 4b1b ldr r3, [pc, #108] ; (4e40 <_lv_style_set_int+0x14c>) + 4dd4: 4798 blx r3 if(size == 0) size += end_mark_size; - 4d6e: 2800 cmp r0, #0 - 4d70: d100 bne.n 4d74 <_lv_style_set_int+0xe8> - 4d72: 3002 adds r0, #2 + 4dd6: 2800 cmp r0, #0 + 4dd8: d100 bne.n 4ddc <_lv_style_set_int+0xe8> + 4dda: 3002 adds r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_style_int_t); - 4d74: 3004 adds r0, #4 + 4ddc: 3004 adds r0, #4 style->map = lv_mem_realloc(style->map, size); - 4d76: b285 uxth r5, r0 - 4d78: 0029 movs r1, r5 - 4d7a: 0020 movs r0, r4 - 4d7c: 4b17 ldr r3, [pc, #92] ; (4ddc <_lv_style_set_int+0x150>) - 4d7e: 4798 blx r3 - 4d80: 6030 str r0, [r6, #0] + 4dde: b285 uxth r5, r0 + 4de0: 0029 movs r1, r5 + 4de2: 0020 movs r0, r4 + 4de4: 4b17 ldr r3, [pc, #92] ; (4e44 <_lv_style_set_int+0x150>) + 4de6: 4798 blx r3 + 4de8: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 4d82: 4b17 ldr r3, [pc, #92] ; (4de0 <_lv_style_set_int+0x154>) - 4d84: 4798 blx r3 - 4d86: 2800 cmp r0, #0 - 4d88: d020 beq.n 4dcc <_lv_style_set_int+0x140> + 4dea: 4b17 ldr r3, [pc, #92] ; (4e48 <_lv_style_set_int+0x154>) + 4dec: 4798 blx r3 + 4dee: 2800 cmp r0, #0 + 4df0: d020 beq.n 4e34 <_lv_style_set_int+0x140> if(style == NULL) return; - 4d8a: 2e00 cmp r6, #0 - 4d8c: d0db beq.n 4d46 <_lv_style_set_int+0xba> + 4df2: 2e00 cmp r6, #0 + 4df4: d0db beq.n 4dae <_lv_style_set_int+0xba> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 4d8e: 1fab subs r3, r5, #6 - 4d90: 6832 ldr r2, [r6, #0] - 4d92: 4694 mov ip, r2 - 4d94: 4463 add r3, ip - 4d96: aa02 add r2, sp, #8 - 4d98: 7991 ldrb r1, [r2, #6] - 4d9a: 3206 adds r2, #6 - 4d9c: 7019 strb r1, [r3, #0] - 4d9e: 7852 ldrb r2, [r2, #1] - 4da0: 705a strb r2, [r3, #1] - 4da2: 1f2b subs r3, r5, #4 + 4df6: 1fab subs r3, r5, #6 + 4df8: 6832 ldr r2, [r6, #0] + 4dfa: 4694 mov ip, r2 + 4dfc: 4463 add r3, ip + 4dfe: aa02 add r2, sp, #8 + 4e00: 7991 ldrb r1, [r2, #6] + 4e02: 3206 adds r2, #6 + 4e04: 7019 strb r1, [r3, #0] + 4e06: 7852 ldrb r2, [r2, #1] + 4e08: 705a strb r2, [r3, #1] + 4e0a: 1f2b subs r3, r5, #4 _lv_memcpy_small(style->map + size - sizeof(lv_style_int_t) - end_mark_size, &value, sizeof(lv_style_int_t)); - 4da4: 6832 ldr r2, [r6, #0] - 4da6: 4694 mov ip, r2 - 4da8: 4463 add r3, ip - 4daa: aa03 add r2, sp, #12 - 4dac: 7811 ldrb r1, [r2, #0] - 4dae: 7019 strb r1, [r3, #0] - 4db0: 7852 ldrb r2, [r2, #1] - 4db2: 705a strb r2, [r3, #1] - 4db4: 3d02 subs r5, #2 + 4e0c: 6832 ldr r2, [r6, #0] + 4e0e: 4694 mov ip, r2 + 4e10: 4463 add r3, ip + 4e12: aa03 add r2, sp, #12 + 4e14: 7811 ldrb r1, [r2, #0] + 4e16: 7019 strb r1, [r3, #0] + 4e18: 7852 ldrb r2, [r2, #1] + 4e1a: 705a strb r2, [r3, #1] + 4e1c: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 4db6: 6833 ldr r3, [r6, #0] - 4db8: 195d adds r5, r3, r5 - 4dba: 230e movs r3, #14 - 4dbc: aa02 add r2, sp, #8 - 4dbe: 4694 mov ip, r2 - 4dc0: 4463 add r3, ip - 4dc2: 781a ldrb r2, [r3, #0] - 4dc4: 702a strb r2, [r5, #0] - 4dc6: 785b ldrb r3, [r3, #1] - 4dc8: 706b strb r3, [r5, #1] - 4dca: e7bc b.n 4d46 <_lv_style_set_int+0xba> + 4e1e: 6833 ldr r3, [r6, #0] + 4e20: 195d adds r5, r3, r5 + 4e22: 230e movs r3, #14 + 4e24: aa02 add r2, sp, #8 + 4e26: 4694 mov ip, r2 + 4e28: 4463 add r3, ip + 4e2a: 781a ldrb r2, [r3, #0] + 4e2c: 702a strb r2, [r5, #0] + 4e2e: 785b ldrb r3, [r3, #1] + 4e30: 706b strb r3, [r5, #1] + 4e32: e7bc b.n 4dae <_lv_style_set_int+0xba> LV_ASSERT_MEM(style->map); - 4dcc: 6832 ldr r2, [r6, #0] - 4dce: 2300 movs r3, #0 - 4dd0: 4804 ldr r0, [pc, #16] ; (4de4 <_lv_style_set_int+0x158>) - 4dd2: 4905 ldr r1, [pc, #20] ; (4de8 <_lv_style_set_int+0x15c>) - 4dd4: 4788 blx r1 - 4dd6: e7fe b.n 4dd6 <_lv_style_set_int+0x14a> - 4dd8: 00004af5 .word 0x00004af5 - 4ddc: 00010ddd .word 0x00010ddd - 4de0: 00001415 .word 0x00001415 - 4de4: 00018804 .word 0x00018804 - 4de8: 0000141d .word 0x0000141d - -00004dec <_lv_style_set_color>: -{ - 4dec: b5f0 push {r4, r5, r6, r7, lr} - 4dee: 46de mov lr, fp - 4df0: 4657 mov r7, sl - 4df2: 464e mov r6, r9 - 4df4: 4645 mov r5, r8 - 4df6: b5e0 push {r5, r6, r7, lr} - 4df8: b087 sub sp, #28 - 4dfa: 0006 movs r6, r0 - 4dfc: ab03 add r3, sp, #12 - 4dfe: 801a strh r2, [r3, #0] - 4e00: ab02 add r3, sp, #8 - 4e02: 80d9 strh r1, [r3, #6] + 4e34: 6832 ldr r2, [r6, #0] + 4e36: 2300 movs r3, #0 + 4e38: 4804 ldr r0, [pc, #16] ; (4e4c <_lv_style_set_int+0x158>) + 4e3a: 4905 ldr r1, [pc, #20] ; (4e50 <_lv_style_set_int+0x15c>) + 4e3c: 4788 blx r1 + 4e3e: e7fe b.n 4e3e <_lv_style_set_int+0x14a> + 4e40: 00004b5d .word 0x00004b5d + 4e44: 00010e45 .word 0x00010e45 + 4e48: 0000147d .word 0x0000147d + 4e4c: 00018894 .word 0x00018894 + 4e50: 00001485 .word 0x00001485 + +00004e54 <_lv_style_set_color>: +{ + 4e54: b5f0 push {r4, r5, r6, r7, lr} + 4e56: 46de mov lr, fp + 4e58: 4657 mov r7, sl + 4e5a: 464e mov r6, r9 + 4e5c: 4645 mov r5, r8 + 4e5e: b5e0 push {r5, r6, r7, lr} + 4e60: b087 sub sp, #28 + 4e62: 0006 movs r6, r0 + 4e64: ab03 add r3, sp, #12 + 4e66: 801a strh r2, [r3, #0] + 4e68: ab02 add r3, sp, #8 + 4e6a: 80d9 strh r1, [r3, #6] if(style->map == NULL) return -1; - 4e04: 6804 ldr r4, [r0, #0] - 4e06: 2c00 cmp r4, #0 - 4e08: d058 beq.n 4ebc <_lv_style_set_color+0xd0> + 4e6c: 6804 ldr r4, [r0, #0] + 4e6e: 2c00 cmp r4, #0 + 4e70: d058 beq.n 4f24 <_lv_style_set_color+0xd0> uint8_t id_to_find = prop & 0xFF; - 4e0a: b2cd uxtb r5, r1 + 4e72: b2cd uxtb r5, r1 attr.full = (prop >> 8) & 0xFF; - 4e0c: 0a0b lsrs r3, r1, #8 - 4e0e: 469a mov sl, r3 - 4e10: 1c19 adds r1, r3, #0 + 4e74: 0a0b lsrs r3, r1, #8 + 4e76: 469a mov sl, r3 + 4e78: 1c19 adds r1, r3, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4e12: 7823 ldrb r3, [r4, #0] - 4e14: 2bff cmp r3, #255 ; 0xff - 4e16: d04d beq.n 4eb4 <_lv_style_set_color+0xc8> - 4e18: 2201 movs r2, #1 - 4e1a: 4252 negs r2, r2 - 4e1c: 4690 mov r8, r2 - 4e1e: 4694 mov ip, r2 - 4e20: 2200 movs r2, #0 + 4e7a: 7823 ldrb r3, [r4, #0] + 4e7c: 2bff cmp r3, #255 ; 0xff + 4e7e: d04d beq.n 4f1c <_lv_style_set_color+0xc8> + 4e80: 2201 movs r2, #1 + 4e82: 4252 negs r2, r2 + 4e84: 4690 mov r8, r2 + 4e86: 4694 mov ip, r2 + 4e88: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 4e22: 207f movs r0, #127 ; 0x7f - 4e24: 4683 mov fp, r0 + 4e8a: 207f movs r0, #127 ; 0x7f + 4e8c: 4683 mov fp, r0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4e26: 0649 lsls r1, r1, #25 - 4e28: 0e49 lsrs r1, r1, #25 - 4e2a: 4689 mov r9, r1 + 4e8e: 0649 lsls r1, r1, #25 + 4e90: 0e49 lsrs r1, r1, #25 + 4e92: 4689 mov r9, r1 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4e2c: 3870 subs r0, #112 ; 0x70 - 4e2e: 9602 str r6, [sp, #8] - 4e30: e01a b.n 4e68 <_lv_style_set_color+0x7c> + 4e94: 3870 subs r0, #112 ; 0x70 + 4e96: 9602 str r6, [sp, #8] + 4e98: e01a b.n 4ed0 <_lv_style_set_color+0x7c> attr_i.full = style->map[i + 1]; - 4e32: 18a1 adds r1, r4, r2 - 4e34: 7849 ldrb r1, [r1, #1] + 4e9a: 18a1 adds r1, r4, r2 + 4e9c: 7849 ldrb r1, [r1, #1] if(attr_i.bits.state == attr.bits.state) { - 4e36: 4656 mov r6, sl - 4e38: 404e eors r6, r1 - 4e3a: 465f mov r7, fp - 4e3c: 4237 tst r7, r6 - 4e3e: d00d beq.n 4e5c <_lv_style_set_color+0x70> + 4e9e: 4656 mov r6, sl + 4ea0: 404e eors r6, r1 + 4ea2: 465f mov r7, fp + 4ea4: 4237 tst r7, r6 + 4ea6: d00d beq.n 4ec4 <_lv_style_set_color+0x70> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4e40: 0649 lsls r1, r1, #25 - 4e42: 0e49 lsrs r1, r1, #25 - 4e44: 9101 str r1, [sp, #4] - 4e46: 000e movs r6, r1 - 4e48: 464f mov r7, r9 - 4e4a: 43be bics r6, r7 - 4e4c: d10e bne.n 4e6c <_lv_style_set_color+0x80> + 4ea8: 0649 lsls r1, r1, #25 + 4eaa: 0e49 lsrs r1, r1, #25 + 4eac: 9101 str r1, [sp, #4] + 4eae: 000e movs r6, r1 + 4eb0: 464f mov r7, r9 + 4eb2: 43be bics r6, r7 + 4eb4: d10e bne.n 4ed4 <_lv_style_set_color+0x80> if(attr_i.bits.state > weight) { - 4e4e: 4561 cmp r1, ip - 4e50: dd0c ble.n 4e6c <_lv_style_set_color+0x80> + 4eb6: 4561 cmp r1, ip + 4eb8: dd0c ble.n 4ed4 <_lv_style_set_color+0x80> weight = attr_i.bits.state; - 4e52: b209 sxth r1, r1 - 4e54: 468c mov ip, r1 + 4eba: b209 sxth r1, r1 + 4ebc: 468c mov ip, r1 id_guess = i; - 4e56: b211 sxth r1, r2 - 4e58: 4688 mov r8, r1 - 4e5a: e007 b.n 4e6c <_lv_style_set_color+0x80> - 4e5c: 9e02 ldr r6, [sp, #8] - 4e5e: e013 b.n 4e88 <_lv_style_set_color+0x9c> + 4ebe: b211 sxth r1, r2 + 4ec0: 4688 mov r8, r1 + 4ec2: e007 b.n 4ed4 <_lv_style_set_color+0x80> + 4ec4: 9e02 ldr r6, [sp, #8] + 4ec6: e013 b.n 4ef0 <_lv_style_set_color+0x9c> i += sizeof(lv_style_property_t); - 4e60: 1c8a adds r2, r1, #2 + 4ec8: 1c8a adds r2, r1, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4e62: 5ca3 ldrb r3, [r4, r2] - 4e64: 2bff cmp r3, #255 ; 0xff - 4e66: d00d beq.n 4e84 <_lv_style_set_color+0x98> + 4eca: 5ca3 ldrb r3, [r4, r2] + 4ecc: 2bff cmp r3, #255 ; 0xff + 4ece: d00d beq.n 4eec <_lv_style_set_color+0x98> if(style->map[i] == id_to_find) { - 4e68: 429d cmp r5, r3 - 4e6a: d0e2 beq.n 4e32 <_lv_style_set_color+0x46> + 4ed0: 429d cmp r5, r3 + 4ed2: d0e2 beq.n 4e9a <_lv_style_set_color+0x46> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4e6c: 4003 ands r3, r0 - 4e6e: 1c91 adds r1, r2, #2 - 4e70: 2b08 cmp r3, #8 - 4e72: ddf5 ble.n 4e60 <_lv_style_set_color+0x74> + 4ed4: 4003 ands r3, r0 + 4ed6: 1c91 adds r1, r2, #2 + 4ed8: 2b08 cmp r3, #8 + 4eda: ddf5 ble.n 4ec8 <_lv_style_set_color+0x74> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 4e74: 1c91 adds r1, r2, #2 - 4e76: 2b0b cmp r3, #11 - 4e78: ddf2 ble.n 4e60 <_lv_style_set_color+0x74> + 4edc: 1c91 adds r1, r2, #2 + 4ede: 2b0b cmp r3, #11 + 4ee0: ddf2 ble.n 4ec8 <_lv_style_set_color+0x74> else i += sizeof(const void *); - 4e7a: 1d11 adds r1, r2, #4 + 4ee2: 1d11 adds r1, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 4e7c: 2b0d cmp r3, #13 - 4e7e: dcef bgt.n 4e60 <_lv_style_set_color+0x74> - 4e80: 1c51 adds r1, r2, #1 - 4e82: e7ed b.n 4e60 <_lv_style_set_color+0x74> - 4e84: 9e02 ldr r6, [sp, #8] + 4ee4: 2b0d cmp r3, #13 + 4ee6: dcef bgt.n 4ec8 <_lv_style_set_color+0x74> + 4ee8: 1c51 adds r1, r2, #1 + 4eea: e7ed b.n 4ec8 <_lv_style_set_color+0x74> + 4eec: 9e02 ldr r6, [sp, #8] return id_guess; - 4e86: 4642 mov r2, r8 + 4eee: 4642 mov r2, r8 if(id >= 0) { - 4e88: 2a00 cmp r2, #0 - 4e8a: db17 blt.n 4ebc <_lv_style_set_color+0xd0> + 4ef0: 2a00 cmp r2, #0 + 4ef2: db17 blt.n 4f24 <_lv_style_set_color+0xd0> attr_found.full = *(style->map + id + 1); - 4e8c: 18a3 adds r3, r4, r2 + 4ef4: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 4e8e: 785b ldrb r3, [r3, #1] - 4e90: 4655 mov r5, sl - 4e92: 405d eors r5, r3 - 4e94: 066b lsls r3, r5, #25 - 4e96: d111 bne.n 4ebc <_lv_style_set_color+0xd0> + 4ef6: 785b ldrb r3, [r3, #1] + 4ef8: 4655 mov r5, sl + 4efa: 405d eors r5, r3 + 4efc: 066b lsls r3, r5, #25 + 4efe: d111 bne.n 4f24 <_lv_style_set_color+0xd0> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &color, sizeof(lv_color_t)); - 4e98: 3202 adds r2, #2 - 4e9a: 18a4 adds r4, r4, r2 - 4e9c: ab03 add r3, sp, #12 - 4e9e: 781a ldrb r2, [r3, #0] - 4ea0: 7022 strb r2, [r4, #0] - 4ea2: 785b ldrb r3, [r3, #1] - 4ea4: 7063 strb r3, [r4, #1] -} - 4ea6: b007 add sp, #28 - 4ea8: bc3c pop {r2, r3, r4, r5} - 4eaa: 4690 mov r8, r2 - 4eac: 4699 mov r9, r3 - 4eae: 46a2 mov sl, r4 - 4eb0: 46ab mov fp, r5 - 4eb2: bdf0 pop {r4, r5, r6, r7, pc} + 4f00: 3202 adds r2, #2 + 4f02: 18a4 adds r4, r4, r2 + 4f04: ab03 add r3, sp, #12 + 4f06: 781a ldrb r2, [r3, #0] + 4f08: 7022 strb r2, [r4, #0] + 4f0a: 785b ldrb r3, [r3, #1] + 4f0c: 7063 strb r3, [r4, #1] +} + 4f0e: b007 add sp, #28 + 4f10: bc3c pop {r2, r3, r4, r5} + 4f12: 4690 mov r8, r2 + 4f14: 4699 mov r9, r3 + 4f16: 46a2 mov sl, r4 + 4f18: 46ab mov fp, r5 + 4f1a: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 4eb4: 2301 movs r3, #1 - 4eb6: 425b negs r3, r3 - 4eb8: 4698 mov r8, r3 - 4eba: e7e4 b.n 4e86 <_lv_style_set_color+0x9a> + 4f1c: 2301 movs r3, #1 + 4f1e: 425b negs r3, r3 + 4f20: 4698 mov r8, r3 + 4f22: e7e4 b.n 4eee <_lv_style_set_color+0x9a> lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 4ebc: 22ff movs r2, #255 ; 0xff - 4ebe: 230e movs r3, #14 - 4ec0: a902 add r1, sp, #8 - 4ec2: 468c mov ip, r1 - 4ec4: 4463 add r3, ip - 4ec6: 801a strh r2, [r3, #0] + 4f24: 22ff movs r2, #255 ; 0xff + 4f26: 230e movs r3, #14 + 4f28: a902 add r1, sp, #8 + 4f2a: 468c mov ip, r1 + 4f2c: 4463 add r3, ip + 4f2e: 801a strh r2, [r3, #0] uint16_t size = _lv_style_get_mem_size(style); - 4ec8: 0030 movs r0, r6 - 4eca: 4b1b ldr r3, [pc, #108] ; (4f38 <_lv_style_set_color+0x14c>) - 4ecc: 4798 blx r3 + 4f30: 0030 movs r0, r6 + 4f32: 4b1b ldr r3, [pc, #108] ; (4fa0 <_lv_style_set_color+0x14c>) + 4f34: 4798 blx r3 if(size == 0) size += end_mark_size; - 4ece: 2800 cmp r0, #0 - 4ed0: d100 bne.n 4ed4 <_lv_style_set_color+0xe8> - 4ed2: 3002 adds r0, #2 + 4f36: 2800 cmp r0, #0 + 4f38: d100 bne.n 4f3c <_lv_style_set_color+0xe8> + 4f3a: 3002 adds r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_color_t); - 4ed4: 3004 adds r0, #4 + 4f3c: 3004 adds r0, #4 style->map = lv_mem_realloc(style->map, size); - 4ed6: b285 uxth r5, r0 - 4ed8: 0029 movs r1, r5 - 4eda: 0020 movs r0, r4 - 4edc: 4b17 ldr r3, [pc, #92] ; (4f3c <_lv_style_set_color+0x150>) - 4ede: 4798 blx r3 - 4ee0: 6030 str r0, [r6, #0] + 4f3e: b285 uxth r5, r0 + 4f40: 0029 movs r1, r5 + 4f42: 0020 movs r0, r4 + 4f44: 4b17 ldr r3, [pc, #92] ; (4fa4 <_lv_style_set_color+0x150>) + 4f46: 4798 blx r3 + 4f48: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 4ee2: 4b17 ldr r3, [pc, #92] ; (4f40 <_lv_style_set_color+0x154>) - 4ee4: 4798 blx r3 - 4ee6: 2800 cmp r0, #0 - 4ee8: d020 beq.n 4f2c <_lv_style_set_color+0x140> + 4f4a: 4b17 ldr r3, [pc, #92] ; (4fa8 <_lv_style_set_color+0x154>) + 4f4c: 4798 blx r3 + 4f4e: 2800 cmp r0, #0 + 4f50: d020 beq.n 4f94 <_lv_style_set_color+0x140> if(style == NULL) return; - 4eea: 2e00 cmp r6, #0 - 4eec: d0db beq.n 4ea6 <_lv_style_set_color+0xba> + 4f52: 2e00 cmp r6, #0 + 4f54: d0db beq.n 4f0e <_lv_style_set_color+0xba> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 4eee: 1fab subs r3, r5, #6 - 4ef0: 6832 ldr r2, [r6, #0] - 4ef2: 4694 mov ip, r2 - 4ef4: 4463 add r3, ip - 4ef6: aa02 add r2, sp, #8 - 4ef8: 7991 ldrb r1, [r2, #6] - 4efa: 3206 adds r2, #6 - 4efc: 7019 strb r1, [r3, #0] - 4efe: 7852 ldrb r2, [r2, #1] - 4f00: 705a strb r2, [r3, #1] - 4f02: 1f2b subs r3, r5, #4 + 4f56: 1fab subs r3, r5, #6 + 4f58: 6832 ldr r2, [r6, #0] + 4f5a: 4694 mov ip, r2 + 4f5c: 4463 add r3, ip + 4f5e: aa02 add r2, sp, #8 + 4f60: 7991 ldrb r1, [r2, #6] + 4f62: 3206 adds r2, #6 + 4f64: 7019 strb r1, [r3, #0] + 4f66: 7852 ldrb r2, [r2, #1] + 4f68: 705a strb r2, [r3, #1] + 4f6a: 1f2b subs r3, r5, #4 _lv_memcpy_small(style->map + size - sizeof(lv_color_t) - end_mark_size, &color, sizeof(lv_color_t)); - 4f04: 6832 ldr r2, [r6, #0] - 4f06: 4694 mov ip, r2 - 4f08: 4463 add r3, ip - 4f0a: aa03 add r2, sp, #12 - 4f0c: 7811 ldrb r1, [r2, #0] - 4f0e: 7019 strb r1, [r3, #0] - 4f10: 7852 ldrb r2, [r2, #1] - 4f12: 705a strb r2, [r3, #1] - 4f14: 3d02 subs r5, #2 + 4f6c: 6832 ldr r2, [r6, #0] + 4f6e: 4694 mov ip, r2 + 4f70: 4463 add r3, ip + 4f72: aa03 add r2, sp, #12 + 4f74: 7811 ldrb r1, [r2, #0] + 4f76: 7019 strb r1, [r3, #0] + 4f78: 7852 ldrb r2, [r2, #1] + 4f7a: 705a strb r2, [r3, #1] + 4f7c: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 4f16: 6833 ldr r3, [r6, #0] - 4f18: 195d adds r5, r3, r5 - 4f1a: 230e movs r3, #14 - 4f1c: aa02 add r2, sp, #8 - 4f1e: 4694 mov ip, r2 - 4f20: 4463 add r3, ip - 4f22: 781a ldrb r2, [r3, #0] - 4f24: 702a strb r2, [r5, #0] - 4f26: 785b ldrb r3, [r3, #1] - 4f28: 706b strb r3, [r5, #1] - 4f2a: e7bc b.n 4ea6 <_lv_style_set_color+0xba> + 4f7e: 6833 ldr r3, [r6, #0] + 4f80: 195d adds r5, r3, r5 + 4f82: 230e movs r3, #14 + 4f84: aa02 add r2, sp, #8 + 4f86: 4694 mov ip, r2 + 4f88: 4463 add r3, ip + 4f8a: 781a ldrb r2, [r3, #0] + 4f8c: 702a strb r2, [r5, #0] + 4f8e: 785b ldrb r3, [r3, #1] + 4f90: 706b strb r3, [r5, #1] + 4f92: e7bc b.n 4f0e <_lv_style_set_color+0xba> LV_ASSERT_MEM(style->map); - 4f2c: 6832 ldr r2, [r6, #0] - 4f2e: 2300 movs r3, #0 - 4f30: 4804 ldr r0, [pc, #16] ; (4f44 <_lv_style_set_color+0x158>) - 4f32: 4905 ldr r1, [pc, #20] ; (4f48 <_lv_style_set_color+0x15c>) - 4f34: 4788 blx r1 - 4f36: e7fe b.n 4f36 <_lv_style_set_color+0x14a> - 4f38: 00004af5 .word 0x00004af5 - 4f3c: 00010ddd .word 0x00010ddd - 4f40: 00001415 .word 0x00001415 - 4f44: 00018804 .word 0x00018804 - 4f48: 0000141d .word 0x0000141d - -00004f4c <_lv_style_set_opa>: -{ - 4f4c: b5f0 push {r4, r5, r6, r7, lr} - 4f4e: 46de mov lr, fp - 4f50: 4657 mov r7, sl - 4f52: 464e mov r6, r9 - 4f54: 4645 mov r5, r8 - 4f56: b5e0 push {r5, r6, r7, lr} - 4f58: b087 sub sp, #28 - 4f5a: 0006 movs r6, r0 - 4f5c: 9201 str r2, [sp, #4] - 4f5e: ab02 add r3, sp, #8 - 4f60: 80d9 strh r1, [r3, #6] + 4f94: 6832 ldr r2, [r6, #0] + 4f96: 2300 movs r3, #0 + 4f98: 4804 ldr r0, [pc, #16] ; (4fac <_lv_style_set_color+0x158>) + 4f9a: 4905 ldr r1, [pc, #20] ; (4fb0 <_lv_style_set_color+0x15c>) + 4f9c: 4788 blx r1 + 4f9e: e7fe b.n 4f9e <_lv_style_set_color+0x14a> + 4fa0: 00004b5d .word 0x00004b5d + 4fa4: 00010e45 .word 0x00010e45 + 4fa8: 0000147d .word 0x0000147d + 4fac: 00018894 .word 0x00018894 + 4fb0: 00001485 .word 0x00001485 + +00004fb4 <_lv_style_set_opa>: +{ + 4fb4: b5f0 push {r4, r5, r6, r7, lr} + 4fb6: 46de mov lr, fp + 4fb8: 4657 mov r7, sl + 4fba: 464e mov r6, r9 + 4fbc: 4645 mov r5, r8 + 4fbe: b5e0 push {r5, r6, r7, lr} + 4fc0: b087 sub sp, #28 + 4fc2: 0006 movs r6, r0 + 4fc4: 9201 str r2, [sp, #4] + 4fc6: ab02 add r3, sp, #8 + 4fc8: 80d9 strh r1, [r3, #6] if(style->map == NULL) return -1; - 4f62: 6804 ldr r4, [r0, #0] - 4f64: 2c00 cmp r4, #0 - 4f66: d055 beq.n 5014 <_lv_style_set_opa+0xc8> + 4fca: 6804 ldr r4, [r0, #0] + 4fcc: 2c00 cmp r4, #0 + 4fce: d055 beq.n 507c <_lv_style_set_opa+0xc8> uint8_t id_to_find = prop & 0xFF; - 4f68: b2c8 uxtb r0, r1 + 4fd0: b2c8 uxtb r0, r1 attr.full = (prop >> 8) & 0xFF; - 4f6a: 0a0b lsrs r3, r1, #8 - 4f6c: 469a mov sl, r3 - 4f6e: 1c19 adds r1, r3, #0 + 4fd2: 0a0b lsrs r3, r1, #8 + 4fd4: 469a mov sl, r3 + 4fd6: 1c19 adds r1, r3, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4f70: 7823 ldrb r3, [r4, #0] - 4f72: 2bff cmp r3, #255 ; 0xff - 4f74: d04a beq.n 500c <_lv_style_set_opa+0xc0> - 4f76: 2201 movs r2, #1 - 4f78: 4252 negs r2, r2 - 4f7a: 4690 mov r8, r2 - 4f7c: 4694 mov ip, r2 - 4f7e: 2200 movs r2, #0 + 4fd8: 7823 ldrb r3, [r4, #0] + 4fda: 2bff cmp r3, #255 ; 0xff + 4fdc: d04a beq.n 5074 <_lv_style_set_opa+0xc0> + 4fde: 2201 movs r2, #1 + 4fe0: 4252 negs r2, r2 + 4fe2: 4690 mov r8, r2 + 4fe4: 4694 mov ip, r2 + 4fe6: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 4f80: 257f movs r5, #127 ; 0x7f - 4f82: 46ab mov fp, r5 + 4fe8: 257f movs r5, #127 ; 0x7f + 4fea: 46ab mov fp, r5 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4f84: 0649 lsls r1, r1, #25 - 4f86: 0e49 lsrs r1, r1, #25 - 4f88: 4689 mov r9, r1 + 4fec: 0649 lsls r1, r1, #25 + 4fee: 0e49 lsrs r1, r1, #25 + 4ff0: 4689 mov r9, r1 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4f8a: 3d70 subs r5, #112 ; 0x70 - 4f8c: 9602 str r6, [sp, #8] - 4f8e: e01a b.n 4fc6 <_lv_style_set_opa+0x7a> + 4ff2: 3d70 subs r5, #112 ; 0x70 + 4ff4: 9602 str r6, [sp, #8] + 4ff6: e01a b.n 502e <_lv_style_set_opa+0x7a> attr_i.full = style->map[i + 1]; - 4f90: 18a1 adds r1, r4, r2 - 4f92: 7849 ldrb r1, [r1, #1] + 4ff8: 18a1 adds r1, r4, r2 + 4ffa: 7849 ldrb r1, [r1, #1] if(attr_i.bits.state == attr.bits.state) { - 4f94: 4656 mov r6, sl - 4f96: 404e eors r6, r1 - 4f98: 465f mov r7, fp - 4f9a: 4237 tst r7, r6 - 4f9c: d00d beq.n 4fba <_lv_style_set_opa+0x6e> + 4ffc: 4656 mov r6, sl + 4ffe: 404e eors r6, r1 + 5000: 465f mov r7, fp + 5002: 4237 tst r7, r6 + 5004: d00d beq.n 5022 <_lv_style_set_opa+0x6e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 4f9e: 0649 lsls r1, r1, #25 - 4fa0: 0e49 lsrs r1, r1, #25 - 4fa2: 9100 str r1, [sp, #0] - 4fa4: 000e movs r6, r1 - 4fa6: 464f mov r7, r9 - 4fa8: 43be bics r6, r7 - 4faa: d10e bne.n 4fca <_lv_style_set_opa+0x7e> + 5006: 0649 lsls r1, r1, #25 + 5008: 0e49 lsrs r1, r1, #25 + 500a: 9100 str r1, [sp, #0] + 500c: 000e movs r6, r1 + 500e: 464f mov r7, r9 + 5010: 43be bics r6, r7 + 5012: d10e bne.n 5032 <_lv_style_set_opa+0x7e> if(attr_i.bits.state > weight) { - 4fac: 4561 cmp r1, ip - 4fae: dd0c ble.n 4fca <_lv_style_set_opa+0x7e> + 5014: 4561 cmp r1, ip + 5016: dd0c ble.n 5032 <_lv_style_set_opa+0x7e> weight = attr_i.bits.state; - 4fb0: b209 sxth r1, r1 - 4fb2: 468c mov ip, r1 + 5018: b209 sxth r1, r1 + 501a: 468c mov ip, r1 id_guess = i; - 4fb4: b211 sxth r1, r2 - 4fb6: 4688 mov r8, r1 - 4fb8: e007 b.n 4fca <_lv_style_set_opa+0x7e> - 4fba: 9e02 ldr r6, [sp, #8] - 4fbc: e013 b.n 4fe6 <_lv_style_set_opa+0x9a> + 501c: b211 sxth r1, r2 + 501e: 4688 mov r8, r1 + 5020: e007 b.n 5032 <_lv_style_set_opa+0x7e> + 5022: 9e02 ldr r6, [sp, #8] + 5024: e013 b.n 504e <_lv_style_set_opa+0x9a> i += sizeof(lv_style_property_t); - 4fbe: 1c8a adds r2, r1, #2 + 5026: 1c8a adds r2, r1, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 4fc0: 5ca3 ldrb r3, [r4, r2] - 4fc2: 2bff cmp r3, #255 ; 0xff - 4fc4: d00d beq.n 4fe2 <_lv_style_set_opa+0x96> + 5028: 5ca3 ldrb r3, [r4, r2] + 502a: 2bff cmp r3, #255 ; 0xff + 502c: d00d beq.n 504a <_lv_style_set_opa+0x96> if(style->map[i] == id_to_find) { - 4fc6: 4298 cmp r0, r3 - 4fc8: d0e2 beq.n 4f90 <_lv_style_set_opa+0x44> + 502e: 4298 cmp r0, r3 + 5030: d0e2 beq.n 4ff8 <_lv_style_set_opa+0x44> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 4fca: 402b ands r3, r5 - 4fcc: 1c91 adds r1, r2, #2 - 4fce: 2b08 cmp r3, #8 - 4fd0: ddf5 ble.n 4fbe <_lv_style_set_opa+0x72> + 5032: 402b ands r3, r5 + 5034: 1c91 adds r1, r2, #2 + 5036: 2b08 cmp r3, #8 + 5038: ddf5 ble.n 5026 <_lv_style_set_opa+0x72> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 4fd2: 1c91 adds r1, r2, #2 - 4fd4: 2b0b cmp r3, #11 - 4fd6: ddf2 ble.n 4fbe <_lv_style_set_opa+0x72> + 503a: 1c91 adds r1, r2, #2 + 503c: 2b0b cmp r3, #11 + 503e: ddf2 ble.n 5026 <_lv_style_set_opa+0x72> else i += sizeof(const void *); - 4fd8: 1d11 adds r1, r2, #4 + 5040: 1d11 adds r1, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 4fda: 2b0d cmp r3, #13 - 4fdc: dcef bgt.n 4fbe <_lv_style_set_opa+0x72> - 4fde: 1c51 adds r1, r2, #1 - 4fe0: e7ed b.n 4fbe <_lv_style_set_opa+0x72> - 4fe2: 9e02 ldr r6, [sp, #8] + 5042: 2b0d cmp r3, #13 + 5044: dcef bgt.n 5026 <_lv_style_set_opa+0x72> + 5046: 1c51 adds r1, r2, #1 + 5048: e7ed b.n 5026 <_lv_style_set_opa+0x72> + 504a: 9e02 ldr r6, [sp, #8] return id_guess; - 4fe4: 4642 mov r2, r8 + 504c: 4642 mov r2, r8 if(id >= 0) { - 4fe6: 2a00 cmp r2, #0 - 4fe8: db14 blt.n 5014 <_lv_style_set_opa+0xc8> + 504e: 2a00 cmp r2, #0 + 5050: db14 blt.n 507c <_lv_style_set_opa+0xc8> attr_found.full = *(style->map + id + 1); - 4fea: 18a3 adds r3, r4, r2 + 5052: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 4fec: 785b ldrb r3, [r3, #1] - 4fee: 4650 mov r0, sl - 4ff0: 4058 eors r0, r3 - 4ff2: 0643 lsls r3, r0, #25 - 4ff4: d10e bne.n 5014 <_lv_style_set_opa+0xc8> - 4ff6: 18a2 adds r2, r4, r2 - 4ff8: 466b mov r3, sp - 4ffa: 791b ldrb r3, [r3, #4] - 4ffc: 7093 strb r3, [r2, #2] -} - 4ffe: b007 add sp, #28 - 5000: bc3c pop {r2, r3, r4, r5} - 5002: 4690 mov r8, r2 - 5004: 4699 mov r9, r3 - 5006: 46a2 mov sl, r4 - 5008: 46ab mov fp, r5 - 500a: bdf0 pop {r4, r5, r6, r7, pc} + 5054: 785b ldrb r3, [r3, #1] + 5056: 4650 mov r0, sl + 5058: 4058 eors r0, r3 + 505a: 0643 lsls r3, r0, #25 + 505c: d10e bne.n 507c <_lv_style_set_opa+0xc8> + 505e: 18a2 adds r2, r4, r2 + 5060: 466b mov r3, sp + 5062: 791b ldrb r3, [r3, #4] + 5064: 7093 strb r3, [r2, #2] +} + 5066: b007 add sp, #28 + 5068: bc3c pop {r2, r3, r4, r5} + 506a: 4690 mov r8, r2 + 506c: 4699 mov r9, r3 + 506e: 46a2 mov sl, r4 + 5070: 46ab mov fp, r5 + 5072: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 500c: 2301 movs r3, #1 - 500e: 425b negs r3, r3 - 5010: 4698 mov r8, r3 - 5012: e7e7 b.n 4fe4 <_lv_style_set_opa+0x98> + 5074: 2301 movs r3, #1 + 5076: 425b negs r3, r3 + 5078: 4698 mov r8, r3 + 507a: e7e7 b.n 504c <_lv_style_set_opa+0x98> lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 5014: 22ff movs r2, #255 ; 0xff - 5016: 230e movs r3, #14 - 5018: a902 add r1, sp, #8 - 501a: 468c mov ip, r1 - 501c: 4463 add r3, ip - 501e: 801a strh r2, [r3, #0] + 507c: 22ff movs r2, #255 ; 0xff + 507e: 230e movs r3, #14 + 5080: a902 add r1, sp, #8 + 5082: 468c mov ip, r1 + 5084: 4463 add r3, ip + 5086: 801a strh r2, [r3, #0] uint16_t size = _lv_style_get_mem_size(style); - 5020: 0030 movs r0, r6 - 5022: 4b1a ldr r3, [pc, #104] ; (508c <_lv_style_set_opa+0x140>) - 5024: 4798 blx r3 + 5088: 0030 movs r0, r6 + 508a: 4b1a ldr r3, [pc, #104] ; (50f4 <_lv_style_set_opa+0x140>) + 508c: 4798 blx r3 if(size == 0) size += end_mark_size; - 5026: 2800 cmp r0, #0 - 5028: d100 bne.n 502c <_lv_style_set_opa+0xe0> - 502a: 3002 adds r0, #2 + 508e: 2800 cmp r0, #0 + 5090: d100 bne.n 5094 <_lv_style_set_opa+0xe0> + 5092: 3002 adds r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_opa_t); - 502c: 3003 adds r0, #3 + 5094: 3003 adds r0, #3 style->map = lv_mem_realloc(style->map, size); - 502e: b285 uxth r5, r0 - 5030: 0029 movs r1, r5 - 5032: 0020 movs r0, r4 - 5034: 4b16 ldr r3, [pc, #88] ; (5090 <_lv_style_set_opa+0x144>) - 5036: 4798 blx r3 - 5038: 6030 str r0, [r6, #0] + 5096: b285 uxth r5, r0 + 5098: 0029 movs r1, r5 + 509a: 0020 movs r0, r4 + 509c: 4b16 ldr r3, [pc, #88] ; (50f8 <_lv_style_set_opa+0x144>) + 509e: 4798 blx r3 + 50a0: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 503a: 4b16 ldr r3, [pc, #88] ; (5094 <_lv_style_set_opa+0x148>) - 503c: 4798 blx r3 - 503e: 2800 cmp r0, #0 - 5040: d01d beq.n 507e <_lv_style_set_opa+0x132> + 50a2: 4b16 ldr r3, [pc, #88] ; (50fc <_lv_style_set_opa+0x148>) + 50a4: 4798 blx r3 + 50a6: 2800 cmp r0, #0 + 50a8: d01d beq.n 50e6 <_lv_style_set_opa+0x132> if(style == NULL) return; - 5042: 2e00 cmp r6, #0 - 5044: d0db beq.n 4ffe <_lv_style_set_opa+0xb2> + 50aa: 2e00 cmp r6, #0 + 50ac: d0db beq.n 5066 <_lv_style_set_opa+0xb2> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 5046: 1f6b subs r3, r5, #5 - 5048: 6832 ldr r2, [r6, #0] - 504a: 4694 mov ip, r2 - 504c: 4463 add r3, ip - 504e: aa02 add r2, sp, #8 - 5050: 7991 ldrb r1, [r2, #6] - 5052: 3206 adds r2, #6 - 5054: 7019 strb r1, [r3, #0] - 5056: 7852 ldrb r2, [r2, #1] - 5058: 705a strb r2, [r3, #1] - 505a: 6833 ldr r3, [r6, #0] - 505c: 195b adds r3, r3, r5 - 505e: 3b03 subs r3, #3 - 5060: 466a mov r2, sp - 5062: 7912 ldrb r2, [r2, #4] - 5064: 701a strb r2, [r3, #0] + 50ae: 1f6b subs r3, r5, #5 + 50b0: 6832 ldr r2, [r6, #0] + 50b2: 4694 mov ip, r2 + 50b4: 4463 add r3, ip + 50b6: aa02 add r2, sp, #8 + 50b8: 7991 ldrb r1, [r2, #6] + 50ba: 3206 adds r2, #6 + 50bc: 7019 strb r1, [r3, #0] + 50be: 7852 ldrb r2, [r2, #1] + 50c0: 705a strb r2, [r3, #1] + 50c2: 6833 ldr r3, [r6, #0] + 50c4: 195b adds r3, r3, r5 + 50c6: 3b03 subs r3, #3 + 50c8: 466a mov r2, sp + 50ca: 7912 ldrb r2, [r2, #4] + 50cc: 701a strb r2, [r3, #0] _lv_memcpy_small(style->map + size - sizeof(lv_opa_t) - end_mark_size, &opa, sizeof(lv_opa_t)); - 5066: 3d02 subs r5, #2 + 50ce: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 5068: 6833 ldr r3, [r6, #0] - 506a: 195d adds r5, r3, r5 - 506c: 230e movs r3, #14 - 506e: aa02 add r2, sp, #8 - 5070: 4694 mov ip, r2 - 5072: 4463 add r3, ip - 5074: 781a ldrb r2, [r3, #0] - 5076: 702a strb r2, [r5, #0] - 5078: 785b ldrb r3, [r3, #1] - 507a: 706b strb r3, [r5, #1] - 507c: e7bf b.n 4ffe <_lv_style_set_opa+0xb2> + 50d0: 6833 ldr r3, [r6, #0] + 50d2: 195d adds r5, r3, r5 + 50d4: 230e movs r3, #14 + 50d6: aa02 add r2, sp, #8 + 50d8: 4694 mov ip, r2 + 50da: 4463 add r3, ip + 50dc: 781a ldrb r2, [r3, #0] + 50de: 702a strb r2, [r5, #0] + 50e0: 785b ldrb r3, [r3, #1] + 50e2: 706b strb r3, [r5, #1] + 50e4: e7bf b.n 5066 <_lv_style_set_opa+0xb2> LV_ASSERT_MEM(style->map); - 507e: 6832 ldr r2, [r6, #0] - 5080: 2300 movs r3, #0 - 5082: 4805 ldr r0, [pc, #20] ; (5098 <_lv_style_set_opa+0x14c>) - 5084: 4905 ldr r1, [pc, #20] ; (509c <_lv_style_set_opa+0x150>) - 5086: 4788 blx r1 - 5088: e7fe b.n 5088 <_lv_style_set_opa+0x13c> - 508a: 46c0 nop ; (mov r8, r8) - 508c: 00004af5 .word 0x00004af5 - 5090: 00010ddd .word 0x00010ddd - 5094: 00001415 .word 0x00001415 - 5098: 00018804 .word 0x00018804 - 509c: 0000141d .word 0x0000141d - -000050a0 <_lv_style_set_ptr>: -{ - 50a0: b5f0 push {r4, r5, r6, r7, lr} - 50a2: 46de mov lr, fp - 50a4: 4657 mov r7, sl - 50a6: 464e mov r6, r9 - 50a8: 4645 mov r5, r8 - 50aa: b5e0 push {r5, r6, r7, lr} - 50ac: b087 sub sp, #28 - 50ae: 0006 movs r6, r0 - 50b0: 9202 str r2, [sp, #8] - 50b2: ab02 add r3, sp, #8 - 50b4: 80d9 strh r1, [r3, #6] + 50e6: 6832 ldr r2, [r6, #0] + 50e8: 2300 movs r3, #0 + 50ea: 4805 ldr r0, [pc, #20] ; (5100 <_lv_style_set_opa+0x14c>) + 50ec: 4905 ldr r1, [pc, #20] ; (5104 <_lv_style_set_opa+0x150>) + 50ee: 4788 blx r1 + 50f0: e7fe b.n 50f0 <_lv_style_set_opa+0x13c> + 50f2: 46c0 nop ; (mov r8, r8) + 50f4: 00004b5d .word 0x00004b5d + 50f8: 00010e45 .word 0x00010e45 + 50fc: 0000147d .word 0x0000147d + 5100: 00018894 .word 0x00018894 + 5104: 00001485 .word 0x00001485 + +00005108 <_lv_style_set_ptr>: +{ + 5108: b5f0 push {r4, r5, r6, r7, lr} + 510a: 46de mov lr, fp + 510c: 4657 mov r7, sl + 510e: 464e mov r6, r9 + 5110: 4645 mov r5, r8 + 5112: b5e0 push {r5, r6, r7, lr} + 5114: b087 sub sp, #28 + 5116: 0006 movs r6, r0 + 5118: 9202 str r2, [sp, #8] + 511a: ab02 add r3, sp, #8 + 511c: 80d9 strh r1, [r3, #6] if(style->map == NULL) return -1; - 50b6: 6804 ldr r4, [r0, #0] - 50b8: 2c00 cmp r4, #0 - 50ba: d05f beq.n 517c <_lv_style_set_ptr+0xdc> + 511e: 6804 ldr r4, [r0, #0] + 5120: 2c00 cmp r4, #0 + 5122: d05f beq.n 51e4 <_lv_style_set_ptr+0xdc> uint8_t id_to_find = prop & 0xFF; - 50bc: b2cd uxtb r5, r1 + 5124: b2cd uxtb r5, r1 attr.full = (prop >> 8) & 0xFF; - 50be: 0a0b lsrs r3, r1, #8 - 50c0: 469a mov sl, r3 - 50c2: 1c18 adds r0, r3, #0 + 5126: 0a0b lsrs r3, r1, #8 + 5128: 469a mov sl, r3 + 512a: 1c18 adds r0, r3, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 50c4: 7823 ldrb r3, [r4, #0] - 50c6: 2bff cmp r3, #255 ; 0xff - 50c8: d054 beq.n 5174 <_lv_style_set_ptr+0xd4> - 50ca: 2201 movs r2, #1 - 50cc: 4252 negs r2, r2 - 50ce: 4690 mov r8, r2 - 50d0: 4694 mov ip, r2 - 50d2: 2200 movs r2, #0 + 512c: 7823 ldrb r3, [r4, #0] + 512e: 2bff cmp r3, #255 ; 0xff + 5130: d054 beq.n 51dc <_lv_style_set_ptr+0xd4> + 5132: 2201 movs r2, #1 + 5134: 4252 negs r2, r2 + 5136: 4690 mov r8, r2 + 5138: 4694 mov ip, r2 + 513a: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 50d4: 217f movs r1, #127 ; 0x7f - 50d6: 468b mov fp, r1 + 513c: 217f movs r1, #127 ; 0x7f + 513e: 468b mov fp, r1 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 50d8: 0640 lsls r0, r0, #25 - 50da: 0e41 lsrs r1, r0, #25 - 50dc: 4689 mov r9, r1 + 5140: 0640 lsls r0, r0, #25 + 5142: 0e41 lsrs r1, r0, #25 + 5144: 4689 mov r9, r1 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 50de: 210f movs r1, #15 - 50e0: 9601 str r6, [sp, #4] - 50e2: e01a b.n 511a <_lv_style_set_ptr+0x7a> + 5146: 210f movs r1, #15 + 5148: 9601 str r6, [sp, #4] + 514a: e01a b.n 5182 <_lv_style_set_ptr+0x7a> attr_i.full = style->map[i + 1]; - 50e4: 18a0 adds r0, r4, r2 - 50e6: 7840 ldrb r0, [r0, #1] + 514c: 18a0 adds r0, r4, r2 + 514e: 7840 ldrb r0, [r0, #1] if(attr_i.bits.state == attr.bits.state) { - 50e8: 4656 mov r6, sl - 50ea: 4046 eors r6, r0 - 50ec: 465f mov r7, fp - 50ee: 4237 tst r7, r6 - 50f0: d00d beq.n 510e <_lv_style_set_ptr+0x6e> + 5150: 4656 mov r6, sl + 5152: 4046 eors r6, r0 + 5154: 465f mov r7, fp + 5156: 4237 tst r7, r6 + 5158: d00d beq.n 5176 <_lv_style_set_ptr+0x6e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 50f2: 0640 lsls r0, r0, #25 - 50f4: 0e40 lsrs r0, r0, #25 - 50f6: 9000 str r0, [sp, #0] - 50f8: 0006 movs r6, r0 - 50fa: 464f mov r7, r9 - 50fc: 43be bics r6, r7 - 50fe: d10e bne.n 511e <_lv_style_set_ptr+0x7e> + 515a: 0640 lsls r0, r0, #25 + 515c: 0e40 lsrs r0, r0, #25 + 515e: 9000 str r0, [sp, #0] + 5160: 0006 movs r6, r0 + 5162: 464f mov r7, r9 + 5164: 43be bics r6, r7 + 5166: d10e bne.n 5186 <_lv_style_set_ptr+0x7e> if(attr_i.bits.state > weight) { - 5100: 4560 cmp r0, ip - 5102: dd0c ble.n 511e <_lv_style_set_ptr+0x7e> + 5168: 4560 cmp r0, ip + 516a: dd0c ble.n 5186 <_lv_style_set_ptr+0x7e> weight = attr_i.bits.state; - 5104: b200 sxth r0, r0 - 5106: 4684 mov ip, r0 + 516c: b200 sxth r0, r0 + 516e: 4684 mov ip, r0 id_guess = i; - 5108: b210 sxth r0, r2 - 510a: 4680 mov r8, r0 - 510c: e007 b.n 511e <_lv_style_set_ptr+0x7e> - 510e: 9e01 ldr r6, [sp, #4] - 5110: e013 b.n 513a <_lv_style_set_ptr+0x9a> + 5170: b210 sxth r0, r2 + 5172: 4680 mov r8, r0 + 5174: e007 b.n 5186 <_lv_style_set_ptr+0x7e> + 5176: 9e01 ldr r6, [sp, #4] + 5178: e013 b.n 51a2 <_lv_style_set_ptr+0x9a> i += sizeof(lv_style_property_t); - 5112: 1c82 adds r2, r0, #2 + 517a: 1c82 adds r2, r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 5114: 5ca3 ldrb r3, [r4, r2] - 5116: 2bff cmp r3, #255 ; 0xff - 5118: d00d beq.n 5136 <_lv_style_set_ptr+0x96> + 517c: 5ca3 ldrb r3, [r4, r2] + 517e: 2bff cmp r3, #255 ; 0xff + 5180: d00d beq.n 519e <_lv_style_set_ptr+0x96> if(style->map[i] == id_to_find) { - 511a: 429d cmp r5, r3 - 511c: d0e2 beq.n 50e4 <_lv_style_set_ptr+0x44> + 5182: 429d cmp r5, r3 + 5184: d0e2 beq.n 514c <_lv_style_set_ptr+0x44> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 511e: 400b ands r3, r1 - 5120: 1c90 adds r0, r2, #2 - 5122: 2b08 cmp r3, #8 - 5124: ddf5 ble.n 5112 <_lv_style_set_ptr+0x72> + 5186: 400b ands r3, r1 + 5188: 1c90 adds r0, r2, #2 + 518a: 2b08 cmp r3, #8 + 518c: ddf5 ble.n 517a <_lv_style_set_ptr+0x72> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 5126: 1c90 adds r0, r2, #2 - 5128: 2b0b cmp r3, #11 - 512a: ddf2 ble.n 5112 <_lv_style_set_ptr+0x72> + 518e: 1c90 adds r0, r2, #2 + 5190: 2b0b cmp r3, #11 + 5192: ddf2 ble.n 517a <_lv_style_set_ptr+0x72> else i += sizeof(const void *); - 512c: 1d10 adds r0, r2, #4 + 5194: 1d10 adds r0, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 512e: 2b0d cmp r3, #13 - 5130: dcef bgt.n 5112 <_lv_style_set_ptr+0x72> - 5132: 1c50 adds r0, r2, #1 - 5134: e7ed b.n 5112 <_lv_style_set_ptr+0x72> - 5136: 9e01 ldr r6, [sp, #4] + 5196: 2b0d cmp r3, #13 + 5198: dcef bgt.n 517a <_lv_style_set_ptr+0x72> + 519a: 1c50 adds r0, r2, #1 + 519c: e7ed b.n 517a <_lv_style_set_ptr+0x72> + 519e: 9e01 ldr r6, [sp, #4] return id_guess; - 5138: 4642 mov r2, r8 + 51a0: 4642 mov r2, r8 if(id >= 0) { - 513a: 2a00 cmp r2, #0 - 513c: db1e blt.n 517c <_lv_style_set_ptr+0xdc> + 51a2: 2a00 cmp r2, #0 + 51a4: db1e blt.n 51e4 <_lv_style_set_ptr+0xdc> attr_found.full = *(style->map + id + 1); - 513e: 18a3 adds r3, r4, r2 + 51a6: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 5140: 785b ldrb r3, [r3, #1] - 5142: 4655 mov r5, sl - 5144: 405d eors r5, r3 - 5146: 066b lsls r3, r5, #25 - 5148: d118 bne.n 517c <_lv_style_set_ptr+0xdc> + 51a8: 785b ldrb r3, [r3, #1] + 51aa: 4655 mov r5, sl + 51ac: 405d eors r5, r3 + 51ae: 066b lsls r3, r5, #25 + 51b0: d118 bne.n 51e4 <_lv_style_set_ptr+0xdc> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &p, sizeof(const void *)); - 514a: 3202 adds r2, #2 - 514c: 18a4 adds r4, r4, r2 - 514e: ab02 add r3, sp, #8 - 5150: 781b ldrb r3, [r3, #0] - 5152: 7023 strb r3, [r4, #0] - 5154: ab02 add r3, sp, #8 - 5156: 785b ldrb r3, [r3, #1] - 5158: 7063 strb r3, [r4, #1] - 515a: ab02 add r3, sp, #8 - 515c: 789b ldrb r3, [r3, #2] - 515e: 70a3 strb r3, [r4, #2] - 5160: ab02 add r3, sp, #8 - 5162: 78db ldrb r3, [r3, #3] - 5164: 70e3 strb r3, [r4, #3] -} - 5166: b007 add sp, #28 - 5168: bc3c pop {r2, r3, r4, r5} - 516a: 4690 mov r8, r2 - 516c: 4699 mov r9, r3 - 516e: 46a2 mov sl, r4 - 5170: 46ab mov fp, r5 - 5172: bdf0 pop {r4, r5, r6, r7, pc} + 51b2: 3202 adds r2, #2 + 51b4: 18a4 adds r4, r4, r2 + 51b6: ab02 add r3, sp, #8 + 51b8: 781b ldrb r3, [r3, #0] + 51ba: 7023 strb r3, [r4, #0] + 51bc: ab02 add r3, sp, #8 + 51be: 785b ldrb r3, [r3, #1] + 51c0: 7063 strb r3, [r4, #1] + 51c2: ab02 add r3, sp, #8 + 51c4: 789b ldrb r3, [r3, #2] + 51c6: 70a3 strb r3, [r4, #2] + 51c8: ab02 add r3, sp, #8 + 51ca: 78db ldrb r3, [r3, #3] + 51cc: 70e3 strb r3, [r4, #3] +} + 51ce: b007 add sp, #28 + 51d0: bc3c pop {r2, r3, r4, r5} + 51d2: 4690 mov r8, r2 + 51d4: 4699 mov r9, r3 + 51d6: 46a2 mov sl, r4 + 51d8: 46ab mov fp, r5 + 51da: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 5174: 2301 movs r3, #1 - 5176: 425b negs r3, r3 - 5178: 4698 mov r8, r3 - 517a: e7dd b.n 5138 <_lv_style_set_ptr+0x98> + 51dc: 2301 movs r3, #1 + 51de: 425b negs r3, r3 + 51e0: 4698 mov r8, r3 + 51e2: e7dd b.n 51a0 <_lv_style_set_ptr+0x98> lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 517c: 22ff movs r2, #255 ; 0xff - 517e: 230e movs r3, #14 - 5180: a902 add r1, sp, #8 - 5182: 468c mov ip, r1 - 5184: 4463 add r3, ip - 5186: 801a strh r2, [r3, #0] + 51e4: 22ff movs r2, #255 ; 0xff + 51e6: 230e movs r3, #14 + 51e8: a902 add r1, sp, #8 + 51ea: 468c mov ip, r1 + 51ec: 4463 add r3, ip + 51ee: 801a strh r2, [r3, #0] uint16_t size = _lv_style_get_mem_size(style); - 5188: 0030 movs r0, r6 - 518a: 4b1f ldr r3, [pc, #124] ; (5208 <_lv_style_set_ptr+0x168>) - 518c: 4798 blx r3 + 51f0: 0030 movs r0, r6 + 51f2: 4b1f ldr r3, [pc, #124] ; (5270 <_lv_style_set_ptr+0x168>) + 51f4: 4798 blx r3 if(size == 0) size += end_mark_size; - 518e: 2800 cmp r0, #0 - 5190: d100 bne.n 5194 <_lv_style_set_ptr+0xf4> - 5192: 3002 adds r0, #2 + 51f6: 2800 cmp r0, #0 + 51f8: d100 bne.n 51fc <_lv_style_set_ptr+0xf4> + 51fa: 3002 adds r0, #2 size += sizeof(lv_style_property_t) + sizeof(const void *); - 5194: 3006 adds r0, #6 + 51fc: 3006 adds r0, #6 style->map = lv_mem_realloc(style->map, size); - 5196: b285 uxth r5, r0 - 5198: 0029 movs r1, r5 - 519a: 0020 movs r0, r4 - 519c: 4b1b ldr r3, [pc, #108] ; (520c <_lv_style_set_ptr+0x16c>) - 519e: 4798 blx r3 - 51a0: 6030 str r0, [r6, #0] + 51fe: b285 uxth r5, r0 + 5200: 0029 movs r1, r5 + 5202: 0020 movs r0, r4 + 5204: 4b1b ldr r3, [pc, #108] ; (5274 <_lv_style_set_ptr+0x16c>) + 5206: 4798 blx r3 + 5208: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 51a2: 4b1b ldr r3, [pc, #108] ; (5210 <_lv_style_set_ptr+0x170>) - 51a4: 4798 blx r3 - 51a6: 2800 cmp r0, #0 - 51a8: d028 beq.n 51fc <_lv_style_set_ptr+0x15c> + 520a: 4b1b ldr r3, [pc, #108] ; (5278 <_lv_style_set_ptr+0x170>) + 520c: 4798 blx r3 + 520e: 2800 cmp r0, #0 + 5210: d028 beq.n 5264 <_lv_style_set_ptr+0x15c> if(style == NULL) return; - 51aa: 2e00 cmp r6, #0 - 51ac: d0db beq.n 5166 <_lv_style_set_ptr+0xc6> + 5212: 2e00 cmp r6, #0 + 5214: d0db beq.n 51ce <_lv_style_set_ptr+0xc6> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 51ae: 002b movs r3, r5 - 51b0: 3b08 subs r3, #8 - 51b2: 6832 ldr r2, [r6, #0] - 51b4: 4694 mov ip, r2 - 51b6: 4463 add r3, ip - 51b8: aa02 add r2, sp, #8 - 51ba: 7991 ldrb r1, [r2, #6] - 51bc: 3206 adds r2, #6 - 51be: 7019 strb r1, [r3, #0] - 51c0: 7852 ldrb r2, [r2, #1] - 51c2: 705a strb r2, [r3, #1] - 51c4: 1fab subs r3, r5, #6 + 5216: 002b movs r3, r5 + 5218: 3b08 subs r3, #8 + 521a: 6832 ldr r2, [r6, #0] + 521c: 4694 mov ip, r2 + 521e: 4463 add r3, ip + 5220: aa02 add r2, sp, #8 + 5222: 7991 ldrb r1, [r2, #6] + 5224: 3206 adds r2, #6 + 5226: 7019 strb r1, [r3, #0] + 5228: 7852 ldrb r2, [r2, #1] + 522a: 705a strb r2, [r3, #1] + 522c: 1fab subs r3, r5, #6 _lv_memcpy_small(style->map + size - sizeof(const void *) - end_mark_size, &p, sizeof(const void *)); - 51c6: 6832 ldr r2, [r6, #0] - 51c8: 4694 mov ip, r2 - 51ca: 4463 add r3, ip - 51cc: aa02 add r2, sp, #8 - 51ce: 7812 ldrb r2, [r2, #0] - 51d0: 701a strb r2, [r3, #0] - 51d2: aa02 add r2, sp, #8 - 51d4: 7852 ldrb r2, [r2, #1] - 51d6: 705a strb r2, [r3, #1] - 51d8: aa02 add r2, sp, #8 - 51da: 7892 ldrb r2, [r2, #2] - 51dc: 709a strb r2, [r3, #2] - 51de: aa02 add r2, sp, #8 - 51e0: 78d2 ldrb r2, [r2, #3] - 51e2: 70da strb r2, [r3, #3] - 51e4: 3d02 subs r5, #2 + 522e: 6832 ldr r2, [r6, #0] + 5230: 4694 mov ip, r2 + 5232: 4463 add r3, ip + 5234: aa02 add r2, sp, #8 + 5236: 7812 ldrb r2, [r2, #0] + 5238: 701a strb r2, [r3, #0] + 523a: aa02 add r2, sp, #8 + 523c: 7852 ldrb r2, [r2, #1] + 523e: 705a strb r2, [r3, #1] + 5240: aa02 add r2, sp, #8 + 5242: 7892 ldrb r2, [r2, #2] + 5244: 709a strb r2, [r3, #2] + 5246: aa02 add r2, sp, #8 + 5248: 78d2 ldrb r2, [r2, #3] + 524a: 70da strb r2, [r3, #3] + 524c: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 51e6: 6833 ldr r3, [r6, #0] - 51e8: 195d adds r5, r3, r5 - 51ea: 230e movs r3, #14 - 51ec: aa02 add r2, sp, #8 - 51ee: 4694 mov ip, r2 - 51f0: 4463 add r3, ip - 51f2: 781a ldrb r2, [r3, #0] - 51f4: 702a strb r2, [r5, #0] - 51f6: 785b ldrb r3, [r3, #1] - 51f8: 706b strb r3, [r5, #1] - 51fa: e7b4 b.n 5166 <_lv_style_set_ptr+0xc6> + 524e: 6833 ldr r3, [r6, #0] + 5250: 195d adds r5, r3, r5 + 5252: 230e movs r3, #14 + 5254: aa02 add r2, sp, #8 + 5256: 4694 mov ip, r2 + 5258: 4463 add r3, ip + 525a: 781a ldrb r2, [r3, #0] + 525c: 702a strb r2, [r5, #0] + 525e: 785b ldrb r3, [r3, #1] + 5260: 706b strb r3, [r5, #1] + 5262: e7b4 b.n 51ce <_lv_style_set_ptr+0xc6> LV_ASSERT_MEM(style->map); - 51fc: 6832 ldr r2, [r6, #0] - 51fe: 2300 movs r3, #0 - 5200: 4804 ldr r0, [pc, #16] ; (5214 <_lv_style_set_ptr+0x174>) - 5202: 4905 ldr r1, [pc, #20] ; (5218 <_lv_style_set_ptr+0x178>) - 5204: 4788 blx r1 - 5206: e7fe b.n 5206 <_lv_style_set_ptr+0x166> - 5208: 00004af5 .word 0x00004af5 - 520c: 00010ddd .word 0x00010ddd - 5210: 00001415 .word 0x00001415 - 5214: 00018804 .word 0x00018804 - 5218: 0000141d .word 0x0000141d - -0000521c <_lv_style_get_int>: -{ - 521c: b5f0 push {r4, r5, r6, r7, lr} - 521e: 46de mov lr, fp - 5220: 4657 mov r7, sl - 5222: 464e mov r6, r9 - 5224: 4645 mov r5, r8 - 5226: b5e0 push {r5, r6, r7, lr} - 5228: b085 sub sp, #20 - 522a: 4681 mov r9, r0 - 522c: 9203 str r2, [sp, #12] + 5264: 6832 ldr r2, [r6, #0] + 5266: 2300 movs r3, #0 + 5268: 4804 ldr r0, [pc, #16] ; (527c <_lv_style_set_ptr+0x174>) + 526a: 4905 ldr r1, [pc, #20] ; (5280 <_lv_style_set_ptr+0x178>) + 526c: 4788 blx r1 + 526e: e7fe b.n 526e <_lv_style_set_ptr+0x166> + 5270: 00004b5d .word 0x00004b5d + 5274: 00010e45 .word 0x00010e45 + 5278: 0000147d .word 0x0000147d + 527c: 00018894 .word 0x00018894 + 5280: 00001485 .word 0x00001485 + +00005284 <_lv_style_get_int>: +{ + 5284: b5f0 push {r4, r5, r6, r7, lr} + 5286: 46de mov lr, fp + 5288: 4657 mov r7, sl + 528a: 464e mov r6, r9 + 528c: 4645 mov r5, r8 + 528e: b5e0 push {r5, r6, r7, lr} + 5290: b085 sub sp, #20 + 5292: 4681 mov r9, r0 + 5294: 9203 str r2, [sp, #12] if(style == NULL) return -1; - 522e: 2800 cmp r0, #0 - 5230: d05b beq.n 52ea <_lv_style_get_int+0xce> + 5296: 2800 cmp r0, #0 + 5298: d05b beq.n 5352 <_lv_style_get_int+0xce> if(style->map == NULL) return -1; - 5232: 6805 ldr r5, [r0, #0] - 5234: 2d00 cmp r5, #0 - 5236: d05b beq.n 52f0 <_lv_style_get_int+0xd4> + 529a: 6805 ldr r5, [r0, #0] + 529c: 2d00 cmp r5, #0 + 529e: d05b beq.n 5358 <_lv_style_get_int+0xd4> uint8_t id_to_find = prop & 0xFF; - 5238: b2ce uxtb r6, r1 + 52a0: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 523a: 0a09 lsrs r1, r1, #8 - 523c: 1c08 adds r0, r1, #0 + 52a2: 0a09 lsrs r1, r1, #8 + 52a4: 1c08 adds r0, r1, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 523e: 782b ldrb r3, [r5, #0] - 5240: 2bff cmp r3, #255 ; 0xff - 5242: d04e beq.n 52e2 <_lv_style_get_int+0xc6> - 5244: 2201 movs r2, #1 - 5246: 4252 negs r2, r2 - 5248: 9202 str r2, [sp, #8] - 524a: 4693 mov fp, r2 - 524c: 2200 movs r2, #0 + 52a6: 782b ldrb r3, [r5, #0] + 52a8: 2bff cmp r3, #255 ; 0xff + 52aa: d04e beq.n 534a <_lv_style_get_int+0xc6> + 52ac: 2201 movs r2, #1 + 52ae: 4252 negs r2, r2 + 52b0: 9202 str r2, [sp, #8] + 52b2: 4693 mov fp, r2 + 52b4: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 524e: 247f movs r4, #127 ; 0x7f - 5250: 46a2 mov sl, r4 + 52b6: 247f movs r4, #127 ; 0x7f + 52b8: 46a2 mov sl, r4 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 5252: 0640 lsls r0, r0, #25 - 5254: 0e40 lsrs r0, r0, #25 - 5256: 4684 mov ip, r0 + 52ba: 0640 lsls r0, r0, #25 + 52bc: 0e40 lsrs r0, r0, #25 + 52be: 4684 mov ip, r0 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 5258: 270f movs r7, #15 - 525a: 4688 mov r8, r1 - 525c: e01a b.n 5294 <_lv_style_get_int+0x78> + 52c0: 270f movs r7, #15 + 52c2: 4688 mov r8, r1 + 52c4: e01a b.n 52fc <_lv_style_get_int+0x78> attr_i.full = style->map[i + 1]; - 525e: 18a8 adds r0, r5, r2 - 5260: 7840 ldrb r0, [r0, #1] + 52c6: 18a8 adds r0, r5, r2 + 52c8: 7840 ldrb r0, [r0, #1] if(attr_i.bits.state == attr.bits.state) { - 5262: 4644 mov r4, r8 - 5264: 4044 eors r4, r0 - 5266: 4651 mov r1, sl - 5268: 4221 tst r1, r4 - 526a: d00d beq.n 5288 <_lv_style_get_int+0x6c> + 52ca: 4644 mov r4, r8 + 52cc: 4044 eors r4, r0 + 52ce: 4651 mov r1, sl + 52d0: 4221 tst r1, r4 + 52d2: d00d beq.n 52f0 <_lv_style_get_int+0x6c> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 526c: 0640 lsls r0, r0, #25 - 526e: 0e40 lsrs r0, r0, #25 - 5270: 9001 str r0, [sp, #4] - 5272: 0004 movs r4, r0 - 5274: 4661 mov r1, ip - 5276: 438c bics r4, r1 - 5278: d10e bne.n 5298 <_lv_style_get_int+0x7c> + 52d4: 0640 lsls r0, r0, #25 + 52d6: 0e40 lsrs r0, r0, #25 + 52d8: 9001 str r0, [sp, #4] + 52da: 0004 movs r4, r0 + 52dc: 4661 mov r1, ip + 52de: 438c bics r4, r1 + 52e0: d10e bne.n 5300 <_lv_style_get_int+0x7c> if(attr_i.bits.state > weight) { - 527a: 4558 cmp r0, fp - 527c: dd0c ble.n 5298 <_lv_style_get_int+0x7c> + 52e2: 4558 cmp r0, fp + 52e4: dd0c ble.n 5300 <_lv_style_get_int+0x7c> weight = attr_i.bits.state; - 527e: b201 sxth r1, r0 - 5280: 468b mov fp, r1 + 52e6: b201 sxth r1, r0 + 52e8: 468b mov fp, r1 id_guess = i; - 5282: b211 sxth r1, r2 - 5284: 9102 str r1, [sp, #8] - 5286: e007 b.n 5298 <_lv_style_get_int+0x7c> - 5288: 4641 mov r1, r8 - 528a: e013 b.n 52b4 <_lv_style_get_int+0x98> + 52ea: b211 sxth r1, r2 + 52ec: 9102 str r1, [sp, #8] + 52ee: e007 b.n 5300 <_lv_style_get_int+0x7c> + 52f0: 4641 mov r1, r8 + 52f2: e013 b.n 531c <_lv_style_get_int+0x98> i += sizeof(lv_style_property_t); - 528c: 1c82 adds r2, r0, #2 + 52f4: 1c82 adds r2, r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 528e: 5cab ldrb r3, [r5, r2] - 5290: 2bff cmp r3, #255 ; 0xff - 5292: d00d beq.n 52b0 <_lv_style_get_int+0x94> + 52f6: 5cab ldrb r3, [r5, r2] + 52f8: 2bff cmp r3, #255 ; 0xff + 52fa: d00d beq.n 5318 <_lv_style_get_int+0x94> if(style->map[i] == id_to_find) { - 5294: 429e cmp r6, r3 - 5296: d0e2 beq.n 525e <_lv_style_get_int+0x42> + 52fc: 429e cmp r6, r3 + 52fe: d0e2 beq.n 52c6 <_lv_style_get_int+0x42> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 5298: 403b ands r3, r7 - 529a: 1c90 adds r0, r2, #2 - 529c: 2b08 cmp r3, #8 - 529e: ddf5 ble.n 528c <_lv_style_get_int+0x70> + 5300: 403b ands r3, r7 + 5302: 1c90 adds r0, r2, #2 + 5304: 2b08 cmp r3, #8 + 5306: ddf5 ble.n 52f4 <_lv_style_get_int+0x70> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 52a0: 1c90 adds r0, r2, #2 - 52a2: 2b0b cmp r3, #11 - 52a4: ddf2 ble.n 528c <_lv_style_get_int+0x70> + 5308: 1c90 adds r0, r2, #2 + 530a: 2b0b cmp r3, #11 + 530c: ddf2 ble.n 52f4 <_lv_style_get_int+0x70> else i += sizeof(const void *); - 52a6: 1d10 adds r0, r2, #4 + 530e: 1d10 adds r0, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 52a8: 2b0d cmp r3, #13 - 52aa: dcef bgt.n 528c <_lv_style_get_int+0x70> - 52ac: 1c50 adds r0, r2, #1 - 52ae: e7ed b.n 528c <_lv_style_get_int+0x70> - 52b0: 4641 mov r1, r8 + 5310: 2b0d cmp r3, #13 + 5312: dcef bgt.n 52f4 <_lv_style_get_int+0x70> + 5314: 1c50 adds r0, r2, #1 + 5316: e7ed b.n 52f4 <_lv_style_get_int+0x70> + 5318: 4641 mov r1, r8 return id_guess; - 52b2: 9a02 ldr r2, [sp, #8] + 531a: 9a02 ldr r2, [sp, #8] if(id < 0) { - 52b4: 2a00 cmp r2, #0 - 52b6: db1e blt.n 52f6 <_lv_style_get_int+0xda> + 531c: 2a00 cmp r2, #0 + 531e: db1e blt.n 535e <_lv_style_get_int+0xda> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_style_int_t)); - 52b8: 1c93 adds r3, r2, #2 - 52ba: 18ed adds r5, r5, r3 - 52bc: 782b ldrb r3, [r5, #0] - 52be: 9803 ldr r0, [sp, #12] - 52c0: 7003 strb r3, [r0, #0] - 52c2: 786b ldrb r3, [r5, #1] - 52c4: 7043 strb r3, [r0, #1] + 5320: 1c93 adds r3, r2, #2 + 5322: 18ed adds r5, r5, r3 + 5324: 782b ldrb r3, [r5, #0] + 5326: 9803 ldr r0, [sp, #12] + 5328: 7003 strb r3, [r0, #0] + 532a: 786b ldrb r3, [r5, #1] + 532c: 7043 strb r3, [r0, #1] attr_act.full = style->map[id + 1]; - 52c6: 464b mov r3, r9 - 52c8: 681b ldr r3, [r3, #0] - 52ca: 189a adds r2, r3, r2 - 52cc: 7850 ldrb r0, [r2, #1] + 532e: 464b mov r3, r9 + 5330: 681b ldr r3, [r3, #0] + 5332: 189a adds r2, r3, r2 + 5334: 7850 ldrb r0, [r2, #1] return attr_act.bits.state & attr_goal.bits.state; - 52ce: 0649 lsls r1, r1, #25 - 52d0: 0e49 lsrs r1, r1, #25 - 52d2: 4008 ands r0, r1 -} - 52d4: b005 add sp, #20 - 52d6: bc3c pop {r2, r3, r4, r5} - 52d8: 4690 mov r8, r2 - 52da: 4699 mov r9, r3 - 52dc: 46a2 mov sl, r4 - 52de: 46ab mov fp, r5 - 52e0: bdf0 pop {r4, r5, r6, r7, pc} + 5336: 0649 lsls r1, r1, #25 + 5338: 0e49 lsrs r1, r1, #25 + 533a: 4008 ands r0, r1 +} + 533c: b005 add sp, #20 + 533e: bc3c pop {r2, r3, r4, r5} + 5340: 4690 mov r8, r2 + 5342: 4699 mov r9, r3 + 5344: 46a2 mov sl, r4 + 5346: 46ab mov fp, r5 + 5348: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 52e2: 2301 movs r3, #1 - 52e4: 425b negs r3, r3 - 52e6: 9302 str r3, [sp, #8] - 52e8: e7e3 b.n 52b2 <_lv_style_get_int+0x96> + 534a: 2301 movs r3, #1 + 534c: 425b negs r3, r3 + 534e: 9302 str r3, [sp, #8] + 5350: e7e3 b.n 531a <_lv_style_get_int+0x96> if(style == NULL) return -1; - 52ea: 2001 movs r0, #1 - 52ec: 4240 negs r0, r0 - 52ee: e7f1 b.n 52d4 <_lv_style_get_int+0xb8> + 5352: 2001 movs r0, #1 + 5354: 4240 negs r0, r0 + 5356: e7f1 b.n 533c <_lv_style_get_int+0xb8> if(style->map == NULL) return -1; - 52f0: 2001 movs r0, #1 - 52f2: 4240 negs r0, r0 - 52f4: e7ee b.n 52d4 <_lv_style_get_int+0xb8> + 5358: 2001 movs r0, #1 + 535a: 4240 negs r0, r0 + 535c: e7ee b.n 533c <_lv_style_get_int+0xb8> return -1; - 52f6: 2001 movs r0, #1 - 52f8: 4240 negs r0, r0 - 52fa: e7eb b.n 52d4 <_lv_style_get_int+0xb8> - -000052fc <_lv_style_get_opa>: -{ - 52fc: b5f0 push {r4, r5, r6, r7, lr} - 52fe: 46de mov lr, fp - 5300: 4657 mov r7, sl - 5302: 464e mov r6, r9 - 5304: 4645 mov r5, r8 - 5306: b5e0 push {r5, r6, r7, lr} - 5308: b085 sub sp, #20 - 530a: 4681 mov r9, r0 - 530c: 9203 str r2, [sp, #12] + 535e: 2001 movs r0, #1 + 5360: 4240 negs r0, r0 + 5362: e7eb b.n 533c <_lv_style_get_int+0xb8> + +00005364 <_lv_style_get_opa>: +{ + 5364: b5f0 push {r4, r5, r6, r7, lr} + 5366: 46de mov lr, fp + 5368: 4657 mov r7, sl + 536a: 464e mov r6, r9 + 536c: 4645 mov r5, r8 + 536e: b5e0 push {r5, r6, r7, lr} + 5370: b085 sub sp, #20 + 5372: 4681 mov r9, r0 + 5374: 9203 str r2, [sp, #12] if(style == NULL) return -1; - 530e: 2800 cmp r0, #0 - 5310: d058 beq.n 53c4 <_lv_style_get_opa+0xc8> + 5376: 2800 cmp r0, #0 + 5378: d058 beq.n 542c <_lv_style_get_opa+0xc8> if(style->map == NULL) return -1; - 5312: 6805 ldr r5, [r0, #0] - 5314: 2d00 cmp r5, #0 - 5316: d058 beq.n 53ca <_lv_style_get_opa+0xce> + 537a: 6805 ldr r5, [r0, #0] + 537c: 2d00 cmp r5, #0 + 537e: d058 beq.n 5432 <_lv_style_get_opa+0xce> uint8_t id_to_find = prop & 0xFF; - 5318: b2ce uxtb r6, r1 + 5380: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 531a: 0a09 lsrs r1, r1, #8 - 531c: 1c08 adds r0, r1, #0 + 5382: 0a09 lsrs r1, r1, #8 + 5384: 1c08 adds r0, r1, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 531e: 782b ldrb r3, [r5, #0] - 5320: 2bff cmp r3, #255 ; 0xff - 5322: d04b beq.n 53bc <_lv_style_get_opa+0xc0> - 5324: 2201 movs r2, #1 - 5326: 4252 negs r2, r2 - 5328: 9202 str r2, [sp, #8] - 532a: 4693 mov fp, r2 - 532c: 2200 movs r2, #0 + 5386: 782b ldrb r3, [r5, #0] + 5388: 2bff cmp r3, #255 ; 0xff + 538a: d04b beq.n 5424 <_lv_style_get_opa+0xc0> + 538c: 2201 movs r2, #1 + 538e: 4252 negs r2, r2 + 5390: 9202 str r2, [sp, #8] + 5392: 4693 mov fp, r2 + 5394: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 532e: 247f movs r4, #127 ; 0x7f - 5330: 46a2 mov sl, r4 + 5396: 247f movs r4, #127 ; 0x7f + 5398: 46a2 mov sl, r4 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 5332: 0640 lsls r0, r0, #25 - 5334: 0e40 lsrs r0, r0, #25 - 5336: 4684 mov ip, r0 + 539a: 0640 lsls r0, r0, #25 + 539c: 0e40 lsrs r0, r0, #25 + 539e: 4684 mov ip, r0 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 5338: 270f movs r7, #15 - 533a: 4688 mov r8, r1 - 533c: e01a b.n 5374 <_lv_style_get_opa+0x78> + 53a0: 270f movs r7, #15 + 53a2: 4688 mov r8, r1 + 53a4: e01a b.n 53dc <_lv_style_get_opa+0x78> attr_i.full = style->map[i + 1]; - 533e: 18a8 adds r0, r5, r2 - 5340: 7840 ldrb r0, [r0, #1] + 53a6: 18a8 adds r0, r5, r2 + 53a8: 7840 ldrb r0, [r0, #1] if(attr_i.bits.state == attr.bits.state) { - 5342: 4644 mov r4, r8 - 5344: 4044 eors r4, r0 - 5346: 4651 mov r1, sl - 5348: 4221 tst r1, r4 - 534a: d00d beq.n 5368 <_lv_style_get_opa+0x6c> + 53aa: 4644 mov r4, r8 + 53ac: 4044 eors r4, r0 + 53ae: 4651 mov r1, sl + 53b0: 4221 tst r1, r4 + 53b2: d00d beq.n 53d0 <_lv_style_get_opa+0x6c> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 534c: 0640 lsls r0, r0, #25 - 534e: 0e40 lsrs r0, r0, #25 - 5350: 9001 str r0, [sp, #4] - 5352: 0004 movs r4, r0 - 5354: 4661 mov r1, ip - 5356: 438c bics r4, r1 - 5358: d10e bne.n 5378 <_lv_style_get_opa+0x7c> + 53b4: 0640 lsls r0, r0, #25 + 53b6: 0e40 lsrs r0, r0, #25 + 53b8: 9001 str r0, [sp, #4] + 53ba: 0004 movs r4, r0 + 53bc: 4661 mov r1, ip + 53be: 438c bics r4, r1 + 53c0: d10e bne.n 53e0 <_lv_style_get_opa+0x7c> if(attr_i.bits.state > weight) { - 535a: 4558 cmp r0, fp - 535c: dd0c ble.n 5378 <_lv_style_get_opa+0x7c> + 53c2: 4558 cmp r0, fp + 53c4: dd0c ble.n 53e0 <_lv_style_get_opa+0x7c> weight = attr_i.bits.state; - 535e: b201 sxth r1, r0 - 5360: 468b mov fp, r1 + 53c6: b201 sxth r1, r0 + 53c8: 468b mov fp, r1 id_guess = i; - 5362: b211 sxth r1, r2 - 5364: 9102 str r1, [sp, #8] - 5366: e007 b.n 5378 <_lv_style_get_opa+0x7c> - 5368: 4641 mov r1, r8 - 536a: e013 b.n 5394 <_lv_style_get_opa+0x98> + 53ca: b211 sxth r1, r2 + 53cc: 9102 str r1, [sp, #8] + 53ce: e007 b.n 53e0 <_lv_style_get_opa+0x7c> + 53d0: 4641 mov r1, r8 + 53d2: e013 b.n 53fc <_lv_style_get_opa+0x98> i += sizeof(lv_style_property_t); - 536c: 1c82 adds r2, r0, #2 + 53d4: 1c82 adds r2, r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 536e: 5cab ldrb r3, [r5, r2] - 5370: 2bff cmp r3, #255 ; 0xff - 5372: d00d beq.n 5390 <_lv_style_get_opa+0x94> + 53d6: 5cab ldrb r3, [r5, r2] + 53d8: 2bff cmp r3, #255 ; 0xff + 53da: d00d beq.n 53f8 <_lv_style_get_opa+0x94> if(style->map[i] == id_to_find) { - 5374: 429e cmp r6, r3 - 5376: d0e2 beq.n 533e <_lv_style_get_opa+0x42> + 53dc: 429e cmp r6, r3 + 53de: d0e2 beq.n 53a6 <_lv_style_get_opa+0x42> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 5378: 403b ands r3, r7 - 537a: 1c90 adds r0, r2, #2 - 537c: 2b08 cmp r3, #8 - 537e: ddf5 ble.n 536c <_lv_style_get_opa+0x70> + 53e0: 403b ands r3, r7 + 53e2: 1c90 adds r0, r2, #2 + 53e4: 2b08 cmp r3, #8 + 53e6: ddf5 ble.n 53d4 <_lv_style_get_opa+0x70> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 5380: 1c90 adds r0, r2, #2 - 5382: 2b0b cmp r3, #11 - 5384: ddf2 ble.n 536c <_lv_style_get_opa+0x70> + 53e8: 1c90 adds r0, r2, #2 + 53ea: 2b0b cmp r3, #11 + 53ec: ddf2 ble.n 53d4 <_lv_style_get_opa+0x70> else i += sizeof(const void *); - 5386: 1d10 adds r0, r2, #4 + 53ee: 1d10 adds r0, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 5388: 2b0d cmp r3, #13 - 538a: dcef bgt.n 536c <_lv_style_get_opa+0x70> - 538c: 1c50 adds r0, r2, #1 - 538e: e7ed b.n 536c <_lv_style_get_opa+0x70> - 5390: 4641 mov r1, r8 + 53f0: 2b0d cmp r3, #13 + 53f2: dcef bgt.n 53d4 <_lv_style_get_opa+0x70> + 53f4: 1c50 adds r0, r2, #1 + 53f6: e7ed b.n 53d4 <_lv_style_get_opa+0x70> + 53f8: 4641 mov r1, r8 return id_guess; - 5392: 9a02 ldr r2, [sp, #8] + 53fa: 9a02 ldr r2, [sp, #8] if(id < 0) { - 5394: 2a00 cmp r2, #0 - 5396: db1b blt.n 53d0 <_lv_style_get_opa+0xd4> - 5398: 18ad adds r5, r5, r2 - 539a: 78ab ldrb r3, [r5, #2] - 539c: 9803 ldr r0, [sp, #12] - 539e: 7003 strb r3, [r0, #0] + 53fc: 2a00 cmp r2, #0 + 53fe: db1b blt.n 5438 <_lv_style_get_opa+0xd4> + 5400: 18ad adds r5, r5, r2 + 5402: 78ab ldrb r3, [r5, #2] + 5404: 9803 ldr r0, [sp, #12] + 5406: 7003 strb r3, [r0, #0] attr_act.full = style->map[id + 1]; - 53a0: 464b mov r3, r9 - 53a2: 681b ldr r3, [r3, #0] - 53a4: 189a adds r2, r3, r2 - 53a6: 7850 ldrb r0, [r2, #1] + 5408: 464b mov r3, r9 + 540a: 681b ldr r3, [r3, #0] + 540c: 189a adds r2, r3, r2 + 540e: 7850 ldrb r0, [r2, #1] return attr_act.bits.state & attr_goal.bits.state; - 53a8: 0649 lsls r1, r1, #25 - 53aa: 0e49 lsrs r1, r1, #25 - 53ac: 4008 ands r0, r1 -} - 53ae: b005 add sp, #20 - 53b0: bc3c pop {r2, r3, r4, r5} - 53b2: 4690 mov r8, r2 - 53b4: 4699 mov r9, r3 - 53b6: 46a2 mov sl, r4 - 53b8: 46ab mov fp, r5 - 53ba: bdf0 pop {r4, r5, r6, r7, pc} + 5410: 0649 lsls r1, r1, #25 + 5412: 0e49 lsrs r1, r1, #25 + 5414: 4008 ands r0, r1 +} + 5416: b005 add sp, #20 + 5418: bc3c pop {r2, r3, r4, r5} + 541a: 4690 mov r8, r2 + 541c: 4699 mov r9, r3 + 541e: 46a2 mov sl, r4 + 5420: 46ab mov fp, r5 + 5422: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 53bc: 2301 movs r3, #1 - 53be: 425b negs r3, r3 - 53c0: 9302 str r3, [sp, #8] - 53c2: e7e6 b.n 5392 <_lv_style_get_opa+0x96> + 5424: 2301 movs r3, #1 + 5426: 425b negs r3, r3 + 5428: 9302 str r3, [sp, #8] + 542a: e7e6 b.n 53fa <_lv_style_get_opa+0x96> if(style == NULL) return -1; - 53c4: 2001 movs r0, #1 - 53c6: 4240 negs r0, r0 - 53c8: e7f1 b.n 53ae <_lv_style_get_opa+0xb2> + 542c: 2001 movs r0, #1 + 542e: 4240 negs r0, r0 + 5430: e7f1 b.n 5416 <_lv_style_get_opa+0xb2> if(style->map == NULL) return -1; - 53ca: 2001 movs r0, #1 - 53cc: 4240 negs r0, r0 - 53ce: e7ee b.n 53ae <_lv_style_get_opa+0xb2> + 5432: 2001 movs r0, #1 + 5434: 4240 negs r0, r0 + 5436: e7ee b.n 5416 <_lv_style_get_opa+0xb2> return -1; - 53d0: 2001 movs r0, #1 - 53d2: 4240 negs r0, r0 - 53d4: e7eb b.n 53ae <_lv_style_get_opa+0xb2> - -000053d6 <_lv_style_get_color>: -{ - 53d6: b5f0 push {r4, r5, r6, r7, lr} - 53d8: 46de mov lr, fp - 53da: 4657 mov r7, sl - 53dc: 464e mov r6, r9 - 53de: 4645 mov r5, r8 - 53e0: b5e0 push {r5, r6, r7, lr} - 53e2: b085 sub sp, #20 - 53e4: 4681 mov r9, r0 - 53e6: 9203 str r2, [sp, #12] + 5438: 2001 movs r0, #1 + 543a: 4240 negs r0, r0 + 543c: e7eb b.n 5416 <_lv_style_get_opa+0xb2> + +0000543e <_lv_style_get_color>: +{ + 543e: b5f0 push {r4, r5, r6, r7, lr} + 5440: 46de mov lr, fp + 5442: 4657 mov r7, sl + 5444: 464e mov r6, r9 + 5446: 4645 mov r5, r8 + 5448: b5e0 push {r5, r6, r7, lr} + 544a: b085 sub sp, #20 + 544c: 4681 mov r9, r0 + 544e: 9203 str r2, [sp, #12] if(style == NULL) return -1; - 53e8: 2800 cmp r0, #0 - 53ea: d05b beq.n 54a4 <_lv_style_get_color+0xce> + 5450: 2800 cmp r0, #0 + 5452: d05b beq.n 550c <_lv_style_get_color+0xce> if(style->map == NULL) return -1; - 53ec: 6805 ldr r5, [r0, #0] - 53ee: 2d00 cmp r5, #0 - 53f0: d05b beq.n 54aa <_lv_style_get_color+0xd4> + 5454: 6805 ldr r5, [r0, #0] + 5456: 2d00 cmp r5, #0 + 5458: d05b beq.n 5512 <_lv_style_get_color+0xd4> uint8_t id_to_find = prop & 0xFF; - 53f2: b2ce uxtb r6, r1 + 545a: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 53f4: 0a09 lsrs r1, r1, #8 - 53f6: 1c08 adds r0, r1, #0 + 545c: 0a09 lsrs r1, r1, #8 + 545e: 1c08 adds r0, r1, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 53f8: 782b ldrb r3, [r5, #0] - 53fa: 2bff cmp r3, #255 ; 0xff - 53fc: d04e beq.n 549c <_lv_style_get_color+0xc6> - 53fe: 2201 movs r2, #1 - 5400: 4252 negs r2, r2 - 5402: 9202 str r2, [sp, #8] - 5404: 4693 mov fp, r2 - 5406: 2200 movs r2, #0 + 5460: 782b ldrb r3, [r5, #0] + 5462: 2bff cmp r3, #255 ; 0xff + 5464: d04e beq.n 5504 <_lv_style_get_color+0xc6> + 5466: 2201 movs r2, #1 + 5468: 4252 negs r2, r2 + 546a: 9202 str r2, [sp, #8] + 546c: 4693 mov fp, r2 + 546e: 2200 movs r2, #0 if(attr_i.bits.state == attr.bits.state) { - 5408: 247f movs r4, #127 ; 0x7f - 540a: 46a2 mov sl, r4 + 5470: 247f movs r4, #127 ; 0x7f + 5472: 46a2 mov sl, r4 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 540c: 0640 lsls r0, r0, #25 - 540e: 0e40 lsrs r0, r0, #25 - 5410: 4684 mov ip, r0 + 5474: 0640 lsls r0, r0, #25 + 5476: 0e40 lsrs r0, r0, #25 + 5478: 4684 mov ip, r0 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 5412: 270f movs r7, #15 - 5414: 4688 mov r8, r1 - 5416: e01a b.n 544e <_lv_style_get_color+0x78> + 547a: 270f movs r7, #15 + 547c: 4688 mov r8, r1 + 547e: e01a b.n 54b6 <_lv_style_get_color+0x78> attr_i.full = style->map[i + 1]; - 5418: 18a8 adds r0, r5, r2 - 541a: 7840 ldrb r0, [r0, #1] + 5480: 18a8 adds r0, r5, r2 + 5482: 7840 ldrb r0, [r0, #1] if(attr_i.bits.state == attr.bits.state) { - 541c: 4644 mov r4, r8 - 541e: 4044 eors r4, r0 - 5420: 4651 mov r1, sl - 5422: 4221 tst r1, r4 - 5424: d00d beq.n 5442 <_lv_style_get_color+0x6c> + 5484: 4644 mov r4, r8 + 5486: 4044 eors r4, r0 + 5488: 4651 mov r1, sl + 548a: 4221 tst r1, r4 + 548c: d00d beq.n 54aa <_lv_style_get_color+0x6c> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 5426: 0640 lsls r0, r0, #25 - 5428: 0e40 lsrs r0, r0, #25 - 542a: 9001 str r0, [sp, #4] - 542c: 0004 movs r4, r0 - 542e: 4661 mov r1, ip - 5430: 438c bics r4, r1 - 5432: d10e bne.n 5452 <_lv_style_get_color+0x7c> + 548e: 0640 lsls r0, r0, #25 + 5490: 0e40 lsrs r0, r0, #25 + 5492: 9001 str r0, [sp, #4] + 5494: 0004 movs r4, r0 + 5496: 4661 mov r1, ip + 5498: 438c bics r4, r1 + 549a: d10e bne.n 54ba <_lv_style_get_color+0x7c> if(attr_i.bits.state > weight) { - 5434: 4558 cmp r0, fp - 5436: dd0c ble.n 5452 <_lv_style_get_color+0x7c> + 549c: 4558 cmp r0, fp + 549e: dd0c ble.n 54ba <_lv_style_get_color+0x7c> weight = attr_i.bits.state; - 5438: b201 sxth r1, r0 - 543a: 468b mov fp, r1 + 54a0: b201 sxth r1, r0 + 54a2: 468b mov fp, r1 id_guess = i; - 543c: b211 sxth r1, r2 - 543e: 9102 str r1, [sp, #8] - 5440: e007 b.n 5452 <_lv_style_get_color+0x7c> - 5442: 4641 mov r1, r8 - 5444: e013 b.n 546e <_lv_style_get_color+0x98> + 54a4: b211 sxth r1, r2 + 54a6: 9102 str r1, [sp, #8] + 54a8: e007 b.n 54ba <_lv_style_get_color+0x7c> + 54aa: 4641 mov r1, r8 + 54ac: e013 b.n 54d6 <_lv_style_get_color+0x98> i += sizeof(lv_style_property_t); - 5446: 1c82 adds r2, r0, #2 + 54ae: 1c82 adds r2, r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 5448: 5cab ldrb r3, [r5, r2] - 544a: 2bff cmp r3, #255 ; 0xff - 544c: d00d beq.n 546a <_lv_style_get_color+0x94> + 54b0: 5cab ldrb r3, [r5, r2] + 54b2: 2bff cmp r3, #255 ; 0xff + 54b4: d00d beq.n 54d2 <_lv_style_get_color+0x94> if(style->map[i] == id_to_find) { - 544e: 429e cmp r6, r3 - 5450: d0e2 beq.n 5418 <_lv_style_get_color+0x42> + 54b6: 429e cmp r6, r3 + 54b8: d0e2 beq.n 5480 <_lv_style_get_color+0x42> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 5452: 403b ands r3, r7 - 5454: 1c90 adds r0, r2, #2 - 5456: 2b08 cmp r3, #8 - 5458: ddf5 ble.n 5446 <_lv_style_get_color+0x70> + 54ba: 403b ands r3, r7 + 54bc: 1c90 adds r0, r2, #2 + 54be: 2b08 cmp r3, #8 + 54c0: ddf5 ble.n 54ae <_lv_style_get_color+0x70> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 545a: 1c90 adds r0, r2, #2 - 545c: 2b0b cmp r3, #11 - 545e: ddf2 ble.n 5446 <_lv_style_get_color+0x70> + 54c2: 1c90 adds r0, r2, #2 + 54c4: 2b0b cmp r3, #11 + 54c6: ddf2 ble.n 54ae <_lv_style_get_color+0x70> else i += sizeof(const void *); - 5460: 1d10 adds r0, r2, #4 + 54c8: 1d10 adds r0, r2, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 5462: 2b0d cmp r3, #13 - 5464: dcef bgt.n 5446 <_lv_style_get_color+0x70> - 5466: 1c50 adds r0, r2, #1 - 5468: e7ed b.n 5446 <_lv_style_get_color+0x70> - 546a: 4641 mov r1, r8 + 54ca: 2b0d cmp r3, #13 + 54cc: dcef bgt.n 54ae <_lv_style_get_color+0x70> + 54ce: 1c50 adds r0, r2, #1 + 54d0: e7ed b.n 54ae <_lv_style_get_color+0x70> + 54d2: 4641 mov r1, r8 return id_guess; - 546c: 9a02 ldr r2, [sp, #8] + 54d4: 9a02 ldr r2, [sp, #8] if(id < 0) { - 546e: 2a00 cmp r2, #0 - 5470: db1e blt.n 54b0 <_lv_style_get_color+0xda> + 54d6: 2a00 cmp r2, #0 + 54d8: db1e blt.n 5518 <_lv_style_get_color+0xda> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_color_t)); - 5472: 1c93 adds r3, r2, #2 - 5474: 18ed adds r5, r5, r3 - 5476: 782b ldrb r3, [r5, #0] - 5478: 9803 ldr r0, [sp, #12] - 547a: 7003 strb r3, [r0, #0] - 547c: 786b ldrb r3, [r5, #1] - 547e: 7043 strb r3, [r0, #1] + 54da: 1c93 adds r3, r2, #2 + 54dc: 18ed adds r5, r5, r3 + 54de: 782b ldrb r3, [r5, #0] + 54e0: 9803 ldr r0, [sp, #12] + 54e2: 7003 strb r3, [r0, #0] + 54e4: 786b ldrb r3, [r5, #1] + 54e6: 7043 strb r3, [r0, #1] attr_act.full = style->map[id + 1]; - 5480: 464b mov r3, r9 - 5482: 681b ldr r3, [r3, #0] - 5484: 189a adds r2, r3, r2 - 5486: 7850 ldrb r0, [r2, #1] + 54e8: 464b mov r3, r9 + 54ea: 681b ldr r3, [r3, #0] + 54ec: 189a adds r2, r3, r2 + 54ee: 7850 ldrb r0, [r2, #1] return attr_act.bits.state & attr_goal.bits.state; - 5488: 0649 lsls r1, r1, #25 - 548a: 0e49 lsrs r1, r1, #25 - 548c: 4008 ands r0, r1 -} - 548e: b005 add sp, #20 - 5490: bc3c pop {r2, r3, r4, r5} - 5492: 4690 mov r8, r2 - 5494: 4699 mov r9, r3 - 5496: 46a2 mov sl, r4 - 5498: 46ab mov fp, r5 - 549a: bdf0 pop {r4, r5, r6, r7, pc} + 54f0: 0649 lsls r1, r1, #25 + 54f2: 0e49 lsrs r1, r1, #25 + 54f4: 4008 ands r0, r1 +} + 54f6: b005 add sp, #20 + 54f8: bc3c pop {r2, r3, r4, r5} + 54fa: 4690 mov r8, r2 + 54fc: 4699 mov r9, r3 + 54fe: 46a2 mov sl, r4 + 5500: 46ab mov fp, r5 + 5502: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 549c: 2301 movs r3, #1 - 549e: 425b negs r3, r3 - 54a0: 9302 str r3, [sp, #8] - 54a2: e7e3 b.n 546c <_lv_style_get_color+0x96> + 5504: 2301 movs r3, #1 + 5506: 425b negs r3, r3 + 5508: 9302 str r3, [sp, #8] + 550a: e7e3 b.n 54d4 <_lv_style_get_color+0x96> if(style == NULL) return -1; - 54a4: 2001 movs r0, #1 - 54a6: 4240 negs r0, r0 - 54a8: e7f1 b.n 548e <_lv_style_get_color+0xb8> + 550c: 2001 movs r0, #1 + 550e: 4240 negs r0, r0 + 5510: e7f1 b.n 54f6 <_lv_style_get_color+0xb8> if(style->map == NULL) return -1; - 54aa: 2001 movs r0, #1 - 54ac: 4240 negs r0, r0 - 54ae: e7ee b.n 548e <_lv_style_get_color+0xb8> + 5512: 2001 movs r0, #1 + 5514: 4240 negs r0, r0 + 5516: e7ee b.n 54f6 <_lv_style_get_color+0xb8> return -1; - 54b0: 2001 movs r0, #1 - 54b2: 4240 negs r0, r0 - 54b4: e7eb b.n 548e <_lv_style_get_color+0xb8> - -000054b6 <_lv_style_get_ptr>: -{ - 54b6: b5f0 push {r4, r5, r6, r7, lr} - 54b8: 46de mov lr, fp - 54ba: 4657 mov r7, sl - 54bc: 464e mov r6, r9 - 54be: 4645 mov r5, r8 - 54c0: b5e0 push {r5, r6, r7, lr} - 54c2: b085 sub sp, #20 - 54c4: 4681 mov r9, r0 - 54c6: 4693 mov fp, r2 + 5518: 2001 movs r0, #1 + 551a: 4240 negs r0, r0 + 551c: e7eb b.n 54f6 <_lv_style_get_color+0xb8> + +0000551e <_lv_style_get_ptr>: +{ + 551e: b5f0 push {r4, r5, r6, r7, lr} + 5520: 46de mov lr, fp + 5522: 4657 mov r7, sl + 5524: 464e mov r6, r9 + 5526: 4645 mov r5, r8 + 5528: b5e0 push {r5, r6, r7, lr} + 552a: b085 sub sp, #20 + 552c: 4681 mov r9, r0 + 552e: 4693 mov fp, r2 if(style == NULL) return -1; - 54c8: 2800 cmp r0, #0 - 54ca: d05f beq.n 558c <_lv_style_get_ptr+0xd6> + 5530: 2800 cmp r0, #0 + 5532: d05f beq.n 55f4 <_lv_style_get_ptr+0xd6> if(style->map == NULL) return -1; - 54cc: 6806 ldr r6, [r0, #0] - 54ce: 2e00 cmp r6, #0 - 54d0: d05f beq.n 5592 <_lv_style_get_ptr+0xdc> + 5534: 6806 ldr r6, [r0, #0] + 5536: 2e00 cmp r6, #0 + 5538: d05f beq.n 55fa <_lv_style_get_ptr+0xdc> uint8_t id_to_find = prop & 0xFF; - 54d2: b2cf uxtb r7, r1 + 553a: b2cf uxtb r7, r1 attr.full = (prop >> 8) & 0xFF; - 54d4: 0a0a lsrs r2, r1, #8 - 54d6: 1c11 adds r1, r2, #0 + 553c: 0a0a lsrs r2, r1, #8 + 553e: 1c11 adds r1, r2, #0 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 54d8: 7833 ldrb r3, [r6, #0] - 54da: 2bff cmp r3, #255 ; 0xff - 54dc: d052 beq.n 5584 <_lv_style_get_ptr+0xce> - 54de: 2001 movs r0, #1 - 54e0: 4240 negs r0, r0 - 54e2: 9003 str r0, [sp, #12] - 54e4: 9002 str r0, [sp, #8] - 54e6: 2400 movs r4, #0 + 5540: 7833 ldrb r3, [r6, #0] + 5542: 2bff cmp r3, #255 ; 0xff + 5544: d052 beq.n 55ec <_lv_style_get_ptr+0xce> + 5546: 2001 movs r0, #1 + 5548: 4240 negs r0, r0 + 554a: 9003 str r0, [sp, #12] + 554c: 9002 str r0, [sp, #8] + 554e: 2400 movs r4, #0 if(attr_i.bits.state == attr.bits.state) { - 54e8: 3080 adds r0, #128 ; 0x80 - 54ea: 4682 mov sl, r0 + 5550: 3080 adds r0, #128 ; 0x80 + 5552: 4682 mov sl, r0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 54ec: 0649 lsls r1, r1, #25 - 54ee: 0e49 lsrs r1, r1, #25 - 54f0: 468c mov ip, r1 + 5554: 0649 lsls r1, r1, #25 + 5556: 0e49 lsrs r1, r1, #25 + 5558: 468c mov ip, r1 if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 54f2: 210f movs r1, #15 - 54f4: 4690 mov r8, r2 - 54f6: e01b b.n 5530 <_lv_style_get_ptr+0x7a> + 555a: 210f movs r1, #15 + 555c: 4690 mov r8, r2 + 555e: e01b b.n 5598 <_lv_style_get_ptr+0x7a> attr_i.full = style->map[i + 1]; - 54f8: 1932 adds r2, r6, r4 - 54fa: 7850 ldrb r0, [r2, #1] + 5560: 1932 adds r2, r6, r4 + 5562: 7850 ldrb r0, [r2, #1] if(attr_i.bits.state == attr.bits.state) { - 54fc: 4642 mov r2, r8 - 54fe: 4042 eors r2, r0 - 5500: 4655 mov r5, sl - 5502: 4215 tst r5, r2 - 5504: d00e beq.n 5524 <_lv_style_get_ptr+0x6e> + 5564: 4642 mov r2, r8 + 5566: 4042 eors r2, r0 + 5568: 4655 mov r5, sl + 556a: 4215 tst r5, r2 + 556c: d00e beq.n 558c <_lv_style_get_ptr+0x6e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 5506: 0640 lsls r0, r0, #25 - 5508: 0e40 lsrs r0, r0, #25 - 550a: 9001 str r0, [sp, #4] - 550c: 0005 movs r5, r0 - 550e: 4662 mov r2, ip - 5510: 4395 bics r5, r2 - 5512: d10f bne.n 5534 <_lv_style_get_ptr+0x7e> + 556e: 0640 lsls r0, r0, #25 + 5570: 0e40 lsrs r0, r0, #25 + 5572: 9001 str r0, [sp, #4] + 5574: 0005 movs r5, r0 + 5576: 4662 mov r2, ip + 5578: 4395 bics r5, r2 + 557a: d10f bne.n 559c <_lv_style_get_ptr+0x7e> if(attr_i.bits.state > weight) { - 5514: 9a02 ldr r2, [sp, #8] - 5516: 4290 cmp r0, r2 - 5518: dd0c ble.n 5534 <_lv_style_get_ptr+0x7e> + 557c: 9a02 ldr r2, [sp, #8] + 557e: 4290 cmp r0, r2 + 5580: dd0c ble.n 559c <_lv_style_get_ptr+0x7e> weight = attr_i.bits.state; - 551a: b202 sxth r2, r0 - 551c: 9202 str r2, [sp, #8] + 5582: b202 sxth r2, r0 + 5584: 9202 str r2, [sp, #8] id_guess = i; - 551e: b222 sxth r2, r4 - 5520: 9203 str r2, [sp, #12] - 5522: e007 b.n 5534 <_lv_style_get_ptr+0x7e> - 5524: 4642 mov r2, r8 - 5526: e013 b.n 5550 <_lv_style_get_ptr+0x9a> + 5586: b222 sxth r2, r4 + 5588: 9203 str r2, [sp, #12] + 558a: e007 b.n 559c <_lv_style_get_ptr+0x7e> + 558c: 4642 mov r2, r8 + 558e: e013 b.n 55b8 <_lv_style_get_ptr+0x9a> i += sizeof(lv_style_property_t); - 5528: 1c94 adds r4, r2, #2 + 5590: 1c94 adds r4, r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 552a: 5d33 ldrb r3, [r6, r4] - 552c: 2bff cmp r3, #255 ; 0xff - 552e: d00d beq.n 554c <_lv_style_get_ptr+0x96> + 5592: 5d33 ldrb r3, [r6, r4] + 5594: 2bff cmp r3, #255 ; 0xff + 5596: d00d beq.n 55b4 <_lv_style_get_ptr+0x96> if(style->map[i] == id_to_find) { - 5530: 429f cmp r7, r3 - 5532: d0e1 beq.n 54f8 <_lv_style_get_ptr+0x42> + 5598: 429f cmp r7, r3 + 559a: d0e1 beq.n 5560 <_lv_style_get_ptr+0x42> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 5534: 400b ands r3, r1 - 5536: 1ca2 adds r2, r4, #2 - 5538: 2b08 cmp r3, #8 - 553a: ddf5 ble.n 5528 <_lv_style_get_ptr+0x72> + 559c: 400b ands r3, r1 + 559e: 1ca2 adds r2, r4, #2 + 55a0: 2b08 cmp r3, #8 + 55a2: ddf5 ble.n 5590 <_lv_style_get_ptr+0x72> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 553c: 1ca2 adds r2, r4, #2 - 553e: 2b0b cmp r3, #11 - 5540: ddf2 ble.n 5528 <_lv_style_get_ptr+0x72> + 55a4: 1ca2 adds r2, r4, #2 + 55a6: 2b0b cmp r3, #11 + 55a8: ddf2 ble.n 5590 <_lv_style_get_ptr+0x72> else i += sizeof(const void *); - 5542: 1d22 adds r2, r4, #4 + 55aa: 1d22 adds r2, r4, #4 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 5544: 2b0d cmp r3, #13 - 5546: dcef bgt.n 5528 <_lv_style_get_ptr+0x72> - 5548: 1c62 adds r2, r4, #1 - 554a: e7ed b.n 5528 <_lv_style_get_ptr+0x72> - 554c: 4642 mov r2, r8 + 55ac: 2b0d cmp r3, #13 + 55ae: dcef bgt.n 5590 <_lv_style_get_ptr+0x72> + 55b0: 1c62 adds r2, r4, #1 + 55b2: e7ed b.n 5590 <_lv_style_get_ptr+0x72> + 55b4: 4642 mov r2, r8 return id_guess; - 554e: 9c03 ldr r4, [sp, #12] + 55b6: 9c03 ldr r4, [sp, #12] if(id < 0) { - 5550: 2c00 cmp r4, #0 - 5552: db21 blt.n 5598 <_lv_style_get_ptr+0xe2> + 55b8: 2c00 cmp r4, #0 + 55ba: db21 blt.n 5600 <_lv_style_get_ptr+0xe2> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(const void *)); - 5554: 0020 movs r0, r4 - 5556: 3402 adds r4, #2 - 5558: 1936 adds r6, r6, r4 - 555a: 2300 movs r3, #0 - 555c: 465c mov r4, fp - 555e: 5cf1 ldrb r1, [r6, r3] - 5560: 54e1 strb r1, [r4, r3] - 5562: 3301 adds r3, #1 + 55bc: 0020 movs r0, r4 + 55be: 3402 adds r4, #2 + 55c0: 1936 adds r6, r6, r4 + 55c2: 2300 movs r3, #0 + 55c4: 465c mov r4, fp + 55c6: 5cf1 ldrb r1, [r6, r3] + 55c8: 54e1 strb r1, [r4, r3] + 55ca: 3301 adds r3, #1 while(len) { - 5564: 2b04 cmp r3, #4 - 5566: d1fa bne.n 555e <_lv_style_get_ptr+0xa8> + 55cc: 2b04 cmp r3, #4 + 55ce: d1fa bne.n 55c6 <_lv_style_get_ptr+0xa8> attr_act.full = style->map[id + 1]; - 5568: 464b mov r3, r9 - 556a: 681b ldr r3, [r3, #0] - 556c: 181b adds r3, r3, r0 - 556e: 7858 ldrb r0, [r3, #1] + 55d0: 464b mov r3, r9 + 55d2: 681b ldr r3, [r3, #0] + 55d4: 181b adds r3, r3, r0 + 55d6: 7858 ldrb r0, [r3, #1] return attr_act.bits.state & attr_goal.bits.state; - 5570: 0652 lsls r2, r2, #25 - 5572: 0e52 lsrs r2, r2, #25 - 5574: 4010 ands r0, r2 -} - 5576: b005 add sp, #20 - 5578: bc3c pop {r2, r3, r4, r5} - 557a: 4690 mov r8, r2 - 557c: 4699 mov r9, r3 - 557e: 46a2 mov sl, r4 - 5580: 46ab mov fp, r5 - 5582: bdf0 pop {r4, r5, r6, r7, pc} + 55d8: 0652 lsls r2, r2, #25 + 55da: 0e52 lsrs r2, r2, #25 + 55dc: 4010 ands r0, r2 +} + 55de: b005 add sp, #20 + 55e0: bc3c pop {r2, r3, r4, r5} + 55e2: 4690 mov r8, r2 + 55e4: 4699 mov r9, r3 + 55e6: 46a2 mov sl, r4 + 55e8: 46ab mov fp, r5 + 55ea: bdf0 pop {r4, r5, r6, r7, pc} int16_t id_guess = -1; - 5584: 2301 movs r3, #1 - 5586: 425b negs r3, r3 - 5588: 9303 str r3, [sp, #12] - 558a: e7e0 b.n 554e <_lv_style_get_ptr+0x98> + 55ec: 2301 movs r3, #1 + 55ee: 425b negs r3, r3 + 55f0: 9303 str r3, [sp, #12] + 55f2: e7e0 b.n 55b6 <_lv_style_get_ptr+0x98> if(style == NULL) return -1; - 558c: 2001 movs r0, #1 - 558e: 4240 negs r0, r0 - 5590: e7f1 b.n 5576 <_lv_style_get_ptr+0xc0> + 55f4: 2001 movs r0, #1 + 55f6: 4240 negs r0, r0 + 55f8: e7f1 b.n 55de <_lv_style_get_ptr+0xc0> if(style->map == NULL) return -1; - 5592: 2001 movs r0, #1 - 5594: 4240 negs r0, r0 - 5596: e7ee b.n 5576 <_lv_style_get_ptr+0xc0> + 55fa: 2001 movs r0, #1 + 55fc: 4240 negs r0, r0 + 55fe: e7ee b.n 55de <_lv_style_get_ptr+0xc0> return -1; - 5598: 2001 movs r0, #1 - 559a: 4240 negs r0, r0 - 559c: e7eb b.n 5576 <_lv_style_get_ptr+0xc0> + 5600: 2001 movs r0, #1 + 5602: 4240 negs r0, r0 + 5604: e7eb b.n 55de <_lv_style_get_ptr+0xc0> -0000559e : +00005606 : if(!list->has_local) return NULL; - 559e: 7943 ldrb r3, [r0, #5] - 55a0: 07da lsls r2, r3, #31 - 55a2: d507 bpl.n 55b4 + 5606: 7943 ldrb r3, [r0, #5] + 5608: 07da lsls r2, r3, #31 + 560a: d507 bpl.n 561c if(list->has_trans) return list->style_list[1]; - 55a4: 079b lsls r3, r3, #30 - 55a6: d402 bmi.n 55ae + 560c: 079b lsls r3, r3, #30 + 560e: d402 bmi.n 5616 else return list->style_list[0]; - 55a8: 6803 ldr r3, [r0, #0] - 55aa: 6818 ldr r0, [r3, #0] + 5610: 6803 ldr r3, [r0, #0] + 5612: 6818 ldr r0, [r3, #0] } - 55ac: 4770 bx lr + 5614: 4770 bx lr if(list->has_trans) return list->style_list[1]; - 55ae: 6803 ldr r3, [r0, #0] - 55b0: 6858 ldr r0, [r3, #4] - 55b2: e7fb b.n 55ac + 5616: 6803 ldr r3, [r0, #0] + 5618: 6858 ldr r0, [r3, #4] + 561a: e7fb b.n 5614 if(!list->has_local) return NULL; - 55b4: 2000 movs r0, #0 - 55b6: e7f9 b.n 55ac + 561c: 2000 movs r0, #0 + 561e: e7f9 b.n 5614 -000055b8 <_lv_style_list_get_transition_style>: +00005620 <_lv_style_list_get_transition_style>: if(!list->has_trans) return NULL; - 55b8: 7943 ldrb r3, [r0, #5] - 55ba: 079b lsls r3, r3, #30 - 55bc: d502 bpl.n 55c4 <_lv_style_list_get_transition_style+0xc> + 5620: 7943 ldrb r3, [r0, #5] + 5622: 079b lsls r3, r3, #30 + 5624: d502 bpl.n 562c <_lv_style_list_get_transition_style+0xc> return list->style_list[0]; - 55be: 6803 ldr r3, [r0, #0] - 55c0: 6818 ldr r0, [r3, #0] + 5626: 6803 ldr r3, [r0, #0] + 5628: 6818 ldr r0, [r3, #0] } - 55c2: 4770 bx lr + 562a: 4770 bx lr if(!list->has_trans) return NULL; - 55c4: 2000 movs r0, #0 - 55c6: e7fc b.n 55c2 <_lv_style_list_get_transition_style+0xa> + 562c: 2000 movs r0, #0 + 562e: e7fc b.n 562a <_lv_style_list_get_transition_style+0xa> -000055c8 <_lv_style_list_reset>: +00005630 <_lv_style_list_reset>: { - 55c8: b570 push {r4, r5, r6, lr} - 55ca: 1e04 subs r4, r0, #0 + 5630: b570 push {r4, r5, r6, lr} + 5632: 1e04 subs r4, r0, #0 if(list == NULL) return; - 55cc: d026 beq.n 561c <_lv_style_list_reset+0x54> + 5634: d026 beq.n 5684 <_lv_style_list_reset+0x54> if(list->has_local) { - 55ce: 7943 ldrb r3, [r0, #5] - 55d0: 07db lsls r3, r3, #31 - 55d2: d508 bpl.n 55e6 <_lv_style_list_reset+0x1e> + 5636: 7943 ldrb r3, [r0, #5] + 5638: 07db lsls r3, r3, #31 + 563a: d508 bpl.n 564e <_lv_style_list_reset+0x1e> lv_style_t * local = lv_style_list_get_local_style(list); - 55d4: 4b14 ldr r3, [pc, #80] ; (5628 <_lv_style_list_reset+0x60>) - 55d6: 4798 blx r3 - 55d8: 1e05 subs r5, r0, #0 + 563c: 4b14 ldr r3, [pc, #80] ; (5690 <_lv_style_list_reset+0x60>) + 563e: 4798 blx r3 + 5640: 1e05 subs r5, r0, #0 if(local) { - 55da: d004 beq.n 55e6 <_lv_style_list_reset+0x1e> + 5642: d004 beq.n 564e <_lv_style_list_reset+0x1e> lv_style_reset(local); - 55dc: 4b13 ldr r3, [pc, #76] ; (562c <_lv_style_list_reset+0x64>) - 55de: 4798 blx r3 + 5644: 4b13 ldr r3, [pc, #76] ; (5694 <_lv_style_list_reset+0x64>) + 5646: 4798 blx r3 lv_mem_free(local); - 55e0: 0028 movs r0, r5 - 55e2: 4b13 ldr r3, [pc, #76] ; (5630 <_lv_style_list_reset+0x68>) - 55e4: 4798 blx r3 + 5648: 0028 movs r0, r5 + 564a: 4b13 ldr r3, [pc, #76] ; (5698 <_lv_style_list_reset+0x68>) + 564c: 4798 blx r3 if(list->has_trans) { - 55e6: 7963 ldrb r3, [r4, #5] - 55e8: 079b lsls r3, r3, #30 - 55ea: d509 bpl.n 5600 <_lv_style_list_reset+0x38> + 564e: 7963 ldrb r3, [r4, #5] + 5650: 079b lsls r3, r3, #30 + 5652: d509 bpl.n 5668 <_lv_style_list_reset+0x38> lv_style_t * trans = _lv_style_list_get_transition_style(list); - 55ec: 0020 movs r0, r4 - 55ee: 4b11 ldr r3, [pc, #68] ; (5634 <_lv_style_list_reset+0x6c>) - 55f0: 4798 blx r3 - 55f2: 1e05 subs r5, r0, #0 + 5654: 0020 movs r0, r4 + 5656: 4b11 ldr r3, [pc, #68] ; (569c <_lv_style_list_reset+0x6c>) + 5658: 4798 blx r3 + 565a: 1e05 subs r5, r0, #0 if(trans) { - 55f4: d004 beq.n 5600 <_lv_style_list_reset+0x38> + 565c: d004 beq.n 5668 <_lv_style_list_reset+0x38> lv_style_reset(trans); - 55f6: 4b0d ldr r3, [pc, #52] ; (562c <_lv_style_list_reset+0x64>) - 55f8: 4798 blx r3 + 565e: 4b0d ldr r3, [pc, #52] ; (5694 <_lv_style_list_reset+0x64>) + 5660: 4798 blx r3 lv_mem_free(trans); - 55fa: 0028 movs r0, r5 - 55fc: 4b0c ldr r3, [pc, #48] ; (5630 <_lv_style_list_reset+0x68>) - 55fe: 4798 blx r3 + 5662: 0028 movs r0, r5 + 5664: 4b0c ldr r3, [pc, #48] ; (5698 <_lv_style_list_reset+0x68>) + 5666: 4798 blx r3 if(list->style_cnt > 0) lv_mem_free(list->style_list); - 5600: 7923 ldrb r3, [r4, #4] - 5602: 2b00 cmp r3, #0 - 5604: d10b bne.n 561e <_lv_style_list_reset+0x56> + 5668: 7923 ldrb r3, [r4, #4] + 566a: 2b00 cmp r3, #0 + 566c: d10b bne.n 5686 <_lv_style_list_reset+0x56> list->style_list = NULL; - 5606: 2300 movs r3, #0 - 5608: 6023 str r3, [r4, #0] + 566e: 2300 movs r3, #0 + 5670: 6023 str r3, [r4, #0] list->style_cnt = 0; - 560a: 7123 strb r3, [r4, #4] + 5672: 7123 strb r3, [r4, #4] list->has_local = 0; - 560c: 7963 ldrb r3, [r4, #5] + 5674: 7963 ldrb r3, [r4, #5] list->has_trans = 0; - 560e: 2201 movs r2, #1 - 5610: 4393 bics r3, r2 + 5676: 2201 movs r2, #1 + 5678: 4393 bics r3, r2 list->skip_trans = 0; - 5612: 3201 adds r2, #1 - 5614: 4393 bics r3, r2 - 5616: 3202 adds r2, #2 - 5618: 4393 bics r3, r2 - 561a: 7163 strb r3, [r4, #5] + 567a: 3201 adds r2, #1 + 567c: 4393 bics r3, r2 + 567e: 3202 adds r2, #2 + 5680: 4393 bics r3, r2 + 5682: 7163 strb r3, [r4, #5] } - 561c: bd70 pop {r4, r5, r6, pc} + 5684: bd70 pop {r4, r5, r6, pc} if(list->style_cnt > 0) lv_mem_free(list->style_list); - 561e: 6820 ldr r0, [r4, #0] - 5620: 4b03 ldr r3, [pc, #12] ; (5630 <_lv_style_list_reset+0x68>) - 5622: 4798 blx r3 - 5624: e7ef b.n 5606 <_lv_style_list_reset+0x3e> - 5626: 46c0 nop ; (mov r8, r8) - 5628: 0000559f .word 0x0000559f - 562c: 00004ae1 .word 0x00004ae1 - 5630: 00010ad1 .word 0x00010ad1 - 5634: 000055b9 .word 0x000055b9 - -00005638 : -{ - 5638: b570 push {r4, r5, r6, lr} - 563a: 0005 movs r5, r0 - 563c: 000c movs r4, r1 + 5686: 6820 ldr r0, [r4, #0] + 5688: 4b03 ldr r3, [pc, #12] ; (5698 <_lv_style_list_reset+0x68>) + 568a: 4798 blx r3 + 568c: e7ef b.n 566e <_lv_style_list_reset+0x3e> + 568e: 46c0 nop ; (mov r8, r8) + 5690: 00005607 .word 0x00005607 + 5694: 00004b49 .word 0x00004b49 + 5698: 00010b39 .word 0x00010b39 + 569c: 00005621 .word 0x00005621 + +000056a0 : +{ + 56a0: b570 push {r4, r5, r6, lr} + 56a2: 0005 movs r5, r0 + 56a4: 000c movs r4, r1 _lv_style_list_reset(list_dest); - 563e: 4b2b ldr r3, [pc, #172] ; (56ec ) - 5640: 4798 blx r3 + 56a6: 4b2b ldr r3, [pc, #172] ; (5754 ) + 56a8: 4798 blx r3 if(list_src->style_list == NULL) return; - 5642: 6823 ldr r3, [r4, #0] - 5644: 2b00 cmp r3, #0 - 5646: d03e beq.n 56c6 + 56aa: 6823 ldr r3, [r4, #0] + 56ac: 2b00 cmp r3, #0 + 56ae: d03e beq.n 572e if(list_src->has_local == 0) { - 5648: 7963 ldrb r3, [r4, #5] - 564a: 07da lsls r2, r3, #31 - 564c: d41f bmi.n 568e + 56b0: 7963 ldrb r3, [r4, #5] + 56b2: 07da lsls r2, r3, #31 + 56b4: d41f bmi.n 56f6 if(list_src->has_trans) { - 564e: 079b lsls r3, r3, #30 - 5650: d510 bpl.n 5674 + 56b6: 079b lsls r3, r3, #30 + 56b8: d510 bpl.n 56dc list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 5652: 7920 ldrb r0, [r4, #4] - 5654: 3801 subs r0, #1 - 5656: 0080 lsls r0, r0, #2 - 5658: 4b25 ldr r3, [pc, #148] ; (56f0 ) - 565a: 4798 blx r3 - 565c: 6028 str r0, [r5, #0] + 56ba: 7920 ldrb r0, [r4, #4] + 56bc: 3801 subs r0, #1 + 56be: 0080 lsls r0, r0, #2 + 56c0: 4b25 ldr r3, [pc, #148] ; (5758 ) + 56c2: 4798 blx r3 + 56c4: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 565e: 7922 ldrb r2, [r4, #4] - 5660: 3a01 subs r2, #1 - 5662: 0092 lsls r2, r2, #2 - 5664: 6823 ldr r3, [r4, #0] - 5666: 1d19 adds r1, r3, #4 - 5668: 4b22 ldr r3, [pc, #136] ; (56f4 ) - 566a: 4798 blx r3 + 56c6: 7922 ldrb r2, [r4, #4] + 56c8: 3a01 subs r2, #1 + 56ca: 0092 lsls r2, r2, #2 + 56cc: 6823 ldr r3, [r4, #0] + 56ce: 1d19 adds r1, r3, #4 + 56d0: 4b22 ldr r3, [pc, #136] ; (575c ) + 56d2: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 1; - 566c: 7923 ldrb r3, [r4, #4] - 566e: 3b01 subs r3, #1 - 5670: 712b strb r3, [r5, #4] - 5672: e028 b.n 56c6 + 56d4: 7923 ldrb r3, [r4, #4] + 56d6: 3b01 subs r3, #1 + 56d8: 712b strb r3, [r5, #4] + 56da: e028 b.n 572e list_dest->style_list = lv_mem_alloc(list_src->style_cnt * sizeof(lv_style_t *)); - 5674: 7920 ldrb r0, [r4, #4] - 5676: 0080 lsls r0, r0, #2 - 5678: 4b1d ldr r3, [pc, #116] ; (56f0 ) - 567a: 4798 blx r3 - 567c: 6028 str r0, [r5, #0] + 56dc: 7920 ldrb r0, [r4, #4] + 56de: 0080 lsls r0, r0, #2 + 56e0: 4b1d ldr r3, [pc, #116] ; (5758 ) + 56e2: 4798 blx r3 + 56e4: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list, list_src->style_cnt * sizeof(lv_style_t *)); - 567e: 7922 ldrb r2, [r4, #4] - 5680: 0092 lsls r2, r2, #2 - 5682: 6821 ldr r1, [r4, #0] - 5684: 4b1b ldr r3, [pc, #108] ; (56f4 ) - 5686: 4798 blx r3 + 56e6: 7922 ldrb r2, [r4, #4] + 56e8: 0092 lsls r2, r2, #2 + 56ea: 6821 ldr r1, [r4, #0] + 56ec: 4b1b ldr r3, [pc, #108] ; (575c ) + 56ee: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt; - 5688: 7923 ldrb r3, [r4, #4] - 568a: 712b strb r3, [r5, #4] - 568c: e01b b.n 56c6 + 56f0: 7923 ldrb r3, [r4, #4] + 56f2: 712b strb r3, [r5, #4] + 56f4: e01b b.n 572e if(list_src->has_trans) { - 568e: 079b lsls r3, r3, #30 - 5690: d51a bpl.n 56c8 + 56f6: 079b lsls r3, r3, #30 + 56f8: d51a bpl.n 5730 list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 2) * sizeof(lv_style_t *)); - 5692: 7920 ldrb r0, [r4, #4] - 5694: 3802 subs r0, #2 - 5696: 0080 lsls r0, r0, #2 - 5698: 4b15 ldr r3, [pc, #84] ; (56f0 ) - 569a: 4798 blx r3 - 569c: 6028 str r0, [r5, #0] + 56fa: 7920 ldrb r0, [r4, #4] + 56fc: 3802 subs r0, #2 + 56fe: 0080 lsls r0, r0, #2 + 5700: 4b15 ldr r3, [pc, #84] ; (5758 ) + 5702: 4798 blx r3 + 5704: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 2, (list_src->style_cnt - 2) * sizeof(lv_style_t *)); - 569e: 7922 ldrb r2, [r4, #4] - 56a0: 3a02 subs r2, #2 - 56a2: 0092 lsls r2, r2, #2 - 56a4: 6821 ldr r1, [r4, #0] - 56a6: 3108 adds r1, #8 - 56a8: 4b12 ldr r3, [pc, #72] ; (56f4 ) - 56aa: 4798 blx r3 + 5706: 7922 ldrb r2, [r4, #4] + 5708: 3a02 subs r2, #2 + 570a: 0092 lsls r2, r2, #2 + 570c: 6821 ldr r1, [r4, #0] + 570e: 3108 adds r1, #8 + 5710: 4b12 ldr r3, [pc, #72] ; (575c ) + 5712: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 2; - 56ac: 7923 ldrb r3, [r4, #4] - 56ae: 3b02 subs r3, #2 - 56b0: 712b strb r3, [r5, #4] + 5714: 7923 ldrb r3, [r4, #4] + 5716: 3b02 subs r3, #2 + 5718: 712b strb r3, [r5, #4] lv_style_t * local_style = get_alloc_local_style(list_dest); - 56b2: 0028 movs r0, r5 - 56b4: 4d10 ldr r5, [pc, #64] ; (56f8 ) - 56b6: 47a8 blx r5 - 56b8: 0006 movs r6, r0 + 571a: 0028 movs r0, r5 + 571c: 4d10 ldr r5, [pc, #64] ; (5760 ) + 571e: 47a8 blx r5 + 5720: 0006 movs r6, r0 lv_style_copy(local_style, get_alloc_local_style((lv_style_list_t *)list_src)); - 56ba: 0020 movs r0, r4 - 56bc: 47a8 blx r5 - 56be: 0001 movs r1, r0 - 56c0: 0030 movs r0, r6 - 56c2: 4b0e ldr r3, [pc, #56] ; (56fc ) - 56c4: 4798 blx r3 -} - 56c6: bd70 pop {r4, r5, r6, pc} + 5722: 0020 movs r0, r4 + 5724: 47a8 blx r5 + 5726: 0001 movs r1, r0 + 5728: 0030 movs r0, r6 + 572a: 4b0e ldr r3, [pc, #56] ; (5764 ) + 572c: 4798 blx r3 +} + 572e: bd70 pop {r4, r5, r6, pc} list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 56c8: 7920 ldrb r0, [r4, #4] - 56ca: 3801 subs r0, #1 - 56cc: 0080 lsls r0, r0, #2 - 56ce: 4b08 ldr r3, [pc, #32] ; (56f0 ) - 56d0: 4798 blx r3 - 56d2: 6028 str r0, [r5, #0] + 5730: 7920 ldrb r0, [r4, #4] + 5732: 3801 subs r0, #1 + 5734: 0080 lsls r0, r0, #2 + 5736: 4b08 ldr r3, [pc, #32] ; (5758 ) + 5738: 4798 blx r3 + 573a: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 56d4: 7922 ldrb r2, [r4, #4] - 56d6: 3a01 subs r2, #1 - 56d8: 0092 lsls r2, r2, #2 - 56da: 6823 ldr r3, [r4, #0] - 56dc: 1d19 adds r1, r3, #4 - 56de: 4b05 ldr r3, [pc, #20] ; (56f4 ) - 56e0: 4798 blx r3 + 573c: 7922 ldrb r2, [r4, #4] + 573e: 3a01 subs r2, #1 + 5740: 0092 lsls r2, r2, #2 + 5742: 6823 ldr r3, [r4, #0] + 5744: 1d19 adds r1, r3, #4 + 5746: 4b05 ldr r3, [pc, #20] ; (575c ) + 5748: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 1; - 56e2: 7923 ldrb r3, [r4, #4] - 56e4: 3b01 subs r3, #1 - 56e6: 712b strb r3, [r5, #4] - 56e8: e7e3 b.n 56b2 - 56ea: 46c0 nop ; (mov r8, r8) - 56ec: 000055c9 .word 0x000055c9 - 56f0: 00010a09 .word 0x00010a09 - 56f4: 00010c25 .word 0x00010c25 - 56f8: 00004a5d .word 0x00004a5d - 56fc: 00004b35 .word 0x00004b35 - -00005700 <_lv_style_list_add_trans_style>: -{ - 5700: b570 push {r4, r5, r6, lr} - 5702: 0005 movs r5, r0 + 574a: 7923 ldrb r3, [r4, #4] + 574c: 3b01 subs r3, #1 + 574e: 712b strb r3, [r5, #4] + 5750: e7e3 b.n 571a + 5752: 46c0 nop ; (mov r8, r8) + 5754: 00005631 .word 0x00005631 + 5758: 00010a71 .word 0x00010a71 + 575c: 00010c8d .word 0x00010c8d + 5760: 00004ac5 .word 0x00004ac5 + 5764: 00004b9d .word 0x00004b9d + +00005768 <_lv_style_list_add_trans_style>: +{ + 5768: b570 push {r4, r5, r6, lr} + 576a: 0005 movs r5, r0 if(list->has_trans) return _lv_style_list_get_transition_style(list); - 5704: 7943 ldrb r3, [r0, #5] - 5706: 079b lsls r3, r3, #30 - 5708: d504 bpl.n 5714 <_lv_style_list_add_trans_style+0x14> - 570a: 4b14 ldr r3, [pc, #80] ; (575c <_lv_style_list_add_trans_style+0x5c>) - 570c: 4798 blx r3 - 570e: 0004 movs r4, r0 -} - 5710: 0020 movs r0, r4 - 5712: bd70 pop {r4, r5, r6, pc} + 576c: 7943 ldrb r3, [r0, #5] + 576e: 079b lsls r3, r3, #30 + 5770: d504 bpl.n 577c <_lv_style_list_add_trans_style+0x14> + 5772: 4b14 ldr r3, [pc, #80] ; (57c4 <_lv_style_list_add_trans_style+0x5c>) + 5774: 4798 blx r3 + 5776: 0004 movs r4, r0 +} + 5778: 0020 movs r0, r4 + 577a: bd70 pop {r4, r5, r6, pc} lv_style_t * trans_style = lv_mem_alloc(sizeof(lv_style_t)); - 5714: 2004 movs r0, #4 - 5716: 4b12 ldr r3, [pc, #72] ; (5760 <_lv_style_list_add_trans_style+0x60>) - 5718: 4798 blx r3 - 571a: 0004 movs r4, r0 + 577c: 2004 movs r0, #4 + 577e: 4b12 ldr r3, [pc, #72] ; (57c8 <_lv_style_list_add_trans_style+0x60>) + 5780: 4798 blx r3 + 5782: 0004 movs r4, r0 LV_ASSERT_MEM(trans_style); - 571c: 4b11 ldr r3, [pc, #68] ; (5764 <_lv_style_list_add_trans_style+0x64>) - 571e: 4798 blx r3 - 5720: 2800 cmp r0, #0 - 5722: d015 beq.n 5750 <_lv_style_list_add_trans_style+0x50> + 5784: 4b11 ldr r3, [pc, #68] ; (57cc <_lv_style_list_add_trans_style+0x64>) + 5786: 4798 blx r3 + 5788: 2800 cmp r0, #0 + 578a: d015 beq.n 57b8 <_lv_style_list_add_trans_style+0x50> if(trans_style == NULL) { - 5724: 2c00 cmp r4, #0 - 5726: d0f3 beq.n 5710 <_lv_style_list_add_trans_style+0x10> + 578c: 2c00 cmp r4, #0 + 578e: d0f3 beq.n 5778 <_lv_style_list_add_trans_style+0x10> lv_style_init(trans_style); - 5728: 0020 movs r0, r4 - 572a: 4b0f ldr r3, [pc, #60] ; (5768 <_lv_style_list_add_trans_style+0x68>) - 572c: 4798 blx r3 + 5790: 0020 movs r0, r4 + 5792: 4b0f ldr r3, [pc, #60] ; (57d0 <_lv_style_list_add_trans_style+0x68>) + 5794: 4798 blx r3 _lv_style_list_add_style(list, trans_style); - 572e: 0021 movs r1, r4 - 5730: 0028 movs r0, r5 - 5732: 4b0e ldr r3, [pc, #56] ; (576c <_lv_style_list_add_trans_style+0x6c>) - 5734: 4798 blx r3 + 5796: 0021 movs r1, r4 + 5798: 0028 movs r0, r5 + 579a: 4b0e ldr r3, [pc, #56] ; (57d4 <_lv_style_list_add_trans_style+0x6c>) + 579c: 4798 blx r3 list->has_trans = 1; - 5736: 796b ldrb r3, [r5, #5] - 5738: 2202 movs r2, #2 - 573a: 4313 orrs r3, r2 - 573c: 716b strb r3, [r5, #5] + 579e: 796b ldrb r3, [r5, #5] + 57a0: 2202 movs r2, #2 + 57a2: 4313 orrs r3, r2 + 57a4: 716b strb r3, [r5, #5] if(list->has_local) { - 573e: 07db lsls r3, r3, #31 - 5740: d5e6 bpl.n 5710 <_lv_style_list_add_trans_style+0x10> + 57a6: 07db lsls r3, r3, #31 + 57a8: d5e6 bpl.n 5778 <_lv_style_list_add_trans_style+0x10> lv_style_t * tmp = list->style_list[0]; - 5742: 682b ldr r3, [r5, #0] - 5744: 681a ldr r2, [r3, #0] + 57aa: 682b ldr r3, [r5, #0] + 57ac: 681a ldr r2, [r3, #0] list->style_list[0] = list->style_list[1]; - 5746: 6859 ldr r1, [r3, #4] - 5748: 6019 str r1, [r3, #0] + 57ae: 6859 ldr r1, [r3, #4] + 57b0: 6019 str r1, [r3, #0] list->style_list[1] = tmp; - 574a: 682b ldr r3, [r5, #0] - 574c: 605a str r2, [r3, #4] - 574e: e7df b.n 5710 <_lv_style_list_add_trans_style+0x10> + 57b2: 682b ldr r3, [r5, #0] + 57b4: 605a str r2, [r3, #4] + 57b6: e7df b.n 5778 <_lv_style_list_add_trans_style+0x10> LV_ASSERT_MEM(trans_style); - 5750: 0022 movs r2, r4 - 5752: 2300 movs r3, #0 - 5754: 4806 ldr r0, [pc, #24] ; (5770 <_lv_style_list_add_trans_style+0x70>) - 5756: 4907 ldr r1, [pc, #28] ; (5774 <_lv_style_list_add_trans_style+0x74>) - 5758: 4788 blx r1 - 575a: e7fe b.n 575a <_lv_style_list_add_trans_style+0x5a> - 575c: 000055b9 .word 0x000055b9 - 5760: 00010a09 .word 0x00010a09 - 5764: 00001415 .word 0x00001415 - 5768: 000048e5 .word 0x000048e5 - 576c: 000049b5 .word 0x000049b5 - 5770: 00018804 .word 0x00018804 - 5774: 0000141d .word 0x0000141d - -00005778 <_lv_style_list_get_int>: -{ - 5778: b5f0 push {r4, r5, r6, r7, lr} - 577a: 46d6 mov lr, sl - 577c: 464f mov r7, r9 - 577e: 4646 mov r6, r8 - 5780: b5c0 push {r6, r7, lr} - 5782: b084 sub sp, #16 - 5784: 1e05 subs r5, r0, #0 - 5786: 9101 str r1, [sp, #4] - 5788: 4691 mov r9, r2 + 57b8: 0022 movs r2, r4 + 57ba: 2300 movs r3, #0 + 57bc: 4806 ldr r0, [pc, #24] ; (57d8 <_lv_style_list_add_trans_style+0x70>) + 57be: 4907 ldr r1, [pc, #28] ; (57dc <_lv_style_list_add_trans_style+0x74>) + 57c0: 4788 blx r1 + 57c2: e7fe b.n 57c2 <_lv_style_list_add_trans_style+0x5a> + 57c4: 00005621 .word 0x00005621 + 57c8: 00010a71 .word 0x00010a71 + 57cc: 0000147d .word 0x0000147d + 57d0: 0000494d .word 0x0000494d + 57d4: 00004a1d .word 0x00004a1d + 57d8: 00018894 .word 0x00018894 + 57dc: 00001485 .word 0x00001485 + +000057e0 <_lv_style_list_get_int>: +{ + 57e0: b5f0 push {r4, r5, r6, r7, lr} + 57e2: 46d6 mov lr, sl + 57e4: 464f mov r7, r9 + 57e6: 4646 mov r6, r8 + 57e8: b5c0 push {r6, r7, lr} + 57ea: b084 sub sp, #16 + 57ec: 1e05 subs r5, r0, #0 + 57ee: 9101 str r1, [sp, #4] + 57f0: 4691 mov r9, r2 if(list == NULL) return LV_RES_INV; - 578a: d058 beq.n 583e <_lv_style_list_get_int+0xc6> + 57f2: d058 beq.n 58a6 <_lv_style_list_get_int+0xc6> if(list->style_list == NULL) return LV_RES_INV; - 578c: 6803 ldr r3, [r0, #0] - 578e: 2b00 cmp r3, #0 - 5790: d057 beq.n 5842 <_lv_style_list_get_int+0xca> + 57f4: 6803 ldr r3, [r0, #0] + 57f6: 2b00 cmp r3, #0 + 57f8: d057 beq.n 58aa <_lv_style_list_get_int+0xca> int16_t weight_goal = attr.full; - 5792: 0a0b lsrs r3, r1, #8 - 5794: 4698 mov r8, r3 + 57fa: 0a0b lsrs r3, r1, #8 + 57fc: 4698 mov r8, r3 lv_style_int_t value_act = 0; - 5796: 2200 movs r2, #0 - 5798: ab02 add r3, sp, #8 - 579a: 80da strh r2, [r3, #6] + 57fe: 2200 movs r2, #0 + 5800: ab02 add r3, sp, #8 + 5802: 80da strh r2, [r3, #6] for(ci = 0; ci < list->style_cnt; ci++) { - 579c: 7902 ldrb r2, [r0, #4] - 579e: 2a00 cmp r2, #0 - 57a0: dd42 ble.n 5828 <_lv_style_list_get_int+0xb0> - 57a2: 2400 movs r4, #0 - 57a4: 2601 movs r6, #1 - 57a6: 4276 negs r6, r6 + 5804: 7902 ldrb r2, [r0, #4] + 5806: 2a00 cmp r2, #0 + 5808: dd42 ble.n 5890 <_lv_style_list_get_int+0xb0> + 580a: 2400 movs r4, #0 + 580c: 2601 movs r6, #1 + 580e: 4276 negs r6, r6 if(list->has_trans && list->skip_trans) id++; - 57a8: 2306 movs r3, #6 - 57aa: 469a mov sl, r3 + 5810: 2306 movs r3, #6 + 5812: 469a mov sl, r3 int16_t weight_act = _lv_style_get_int(class, prop, &value_act); - 57ac: 4f26 ldr r7, [pc, #152] ; (5848 <_lv_style_list_get_int+0xd0>) - 57ae: e016 b.n 57de <_lv_style_list_get_int+0x66> - 57b0: 3101 adds r1, #1 - 57b2: b2c9 uxtb r1, r1 - 57b4: e019 b.n 57ea <_lv_style_list_get_int+0x72> + 5814: 4f26 ldr r7, [pc, #152] ; (58b0 <_lv_style_list_get_int+0xd0>) + 5816: e016 b.n 5846 <_lv_style_list_get_int+0x66> + 5818: 3101 adds r1, #1 + 581a: b2c9 uxtb r1, r1 + 581c: e019 b.n 5852 <_lv_style_list_get_int+0x72> *res = value_act; - 57b6: ab02 add r3, sp, #8 - 57b8: 3306 adds r3, #6 - 57ba: 881b ldrh r3, [r3, #0] - 57bc: 464a mov r2, r9 - 57be: 8013 strh r3, [r2, #0] + 581e: ab02 add r3, sp, #8 + 5820: 3306 adds r3, #6 + 5822: 881b ldrh r3, [r3, #0] + 5824: 464a mov r2, r9 + 5826: 8013 strh r3, [r2, #0] return LV_RES_OK; - 57c0: 2001 movs r0, #1 - 57c2: e036 b.n 5832 <_lv_style_list_get_int+0xba> + 5828: 2001 movs r0, #1 + 582a: e036 b.n 589a <_lv_style_list_get_int+0xba> else if(weight_act > weight) { - 57c4: 42b3 cmp r3, r6 - 57c6: dd05 ble.n 57d4 <_lv_style_list_get_int+0x5c> + 582c: 42b3 cmp r3, r6 + 582e: dd05 ble.n 583c <_lv_style_list_get_int+0x5c> *res = value_act; - 57c8: ab02 add r3, sp, #8 - 57ca: 3306 adds r3, #6 - 57cc: 881b ldrh r3, [r3, #0] - 57ce: 464a mov r2, r9 - 57d0: 8013 strh r3, [r2, #0] + 5830: ab02 add r3, sp, #8 + 5832: 3306 adds r3, #6 + 5834: 881b ldrh r3, [r3, #0] + 5836: 464a mov r2, r9 + 5838: 8013 strh r3, [r2, #0] weight = weight_act; - 57d2: 0006 movs r6, r0 - 57d4: 3401 adds r4, #1 - 57d6: b224 sxth r4, r4 + 583a: 0006 movs r6, r0 + 583c: 3401 adds r4, #1 + 583e: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 57d8: 792a ldrb r2, [r5, #4] - 57da: 4294 cmp r4, r2 - 57dc: da26 bge.n 582c <_lv_style_list_get_int+0xb4> + 5840: 792a ldrb r2, [r5, #4] + 5842: 4294 cmp r4, r2 + 5844: da26 bge.n 5894 <_lv_style_list_get_int+0xb4> lv_style_t * class = lv_style_list_get_style(list, ci); - 57de: b2e1 uxtb r1, r4 - 57e0: 796b ldrb r3, [r5, #5] - 57e2: 4650 mov r0, sl - 57e4: 4003 ands r3, r0 - 57e6: 2b06 cmp r3, #6 - 57e8: d0e2 beq.n 57b0 <_lv_style_list_get_int+0x38> + 5846: b2e1 uxtb r1, r4 + 5848: 796b ldrb r3, [r5, #5] + 584a: 4650 mov r0, sl + 584c: 4003 ands r3, r0 + 584e: 2b06 cmp r3, #6 + 5850: d0e2 beq.n 5818 <_lv_style_list_get_int+0x38> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 57ea: 2000 movs r0, #0 - 57ec: 2a00 cmp r2, #0 - 57ee: d004 beq.n 57fa <_lv_style_list_get_int+0x82> - 57f0: 4291 cmp r1, r2 - 57f2: d202 bcs.n 57fa <_lv_style_list_get_int+0x82> + 5852: 2000 movs r0, #0 + 5854: 2a00 cmp r2, #0 + 5856: d004 beq.n 5862 <_lv_style_list_get_int+0x82> + 5858: 4291 cmp r1, r2 + 585a: d202 bcs.n 5862 <_lv_style_list_get_int+0x82> return list->style_list[id]; - 57f4: 0089 lsls r1, r1, #2 - 57f6: 682b ldr r3, [r5, #0] - 57f8: 58c8 ldr r0, [r1, r3] + 585c: 0089 lsls r1, r1, #2 + 585e: 682b ldr r3, [r5, #0] + 5860: 58c8 ldr r0, [r1, r3] int16_t weight_act = _lv_style_get_int(class, prop, &value_act); - 57fa: ab02 add r3, sp, #8 - 57fc: 1d9a adds r2, r3, #6 - 57fe: 9901 ldr r1, [sp, #4] - 5800: 47b8 blx r7 - 5802: 0003 movs r3, r0 + 5862: ab02 add r3, sp, #8 + 5864: 1d9a adds r2, r3, #6 + 5866: 9901 ldr r1, [sp, #4] + 5868: 47b8 blx r7 + 586a: 0003 movs r3, r0 if(weight_act == weight_goal) { - 5804: 4580 cmp r8, r0 - 5806: d0d6 beq.n 57b6 <_lv_style_list_get_int+0x3e> + 586c: 4580 cmp r8, r0 + 586e: d0d6 beq.n 581e <_lv_style_list_get_int+0x3e> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 5808: 796a ldrb r2, [r5, #5] - 580a: 0791 lsls r1, r2, #30 - 580c: d5da bpl.n 57c4 <_lv_style_list_get_int+0x4c> - 580e: 2800 cmp r0, #0 - 5810: dbd8 blt.n 57c4 <_lv_style_list_get_int+0x4c> - 5812: 2c00 cmp r4, #0 - 5814: d1d6 bne.n 57c4 <_lv_style_list_get_int+0x4c> - 5816: 0752 lsls r2, r2, #29 - 5818: d4d4 bmi.n 57c4 <_lv_style_list_get_int+0x4c> + 5870: 796a ldrb r2, [r5, #5] + 5872: 0791 lsls r1, r2, #30 + 5874: d5da bpl.n 582c <_lv_style_list_get_int+0x4c> + 5876: 2800 cmp r0, #0 + 5878: dbd8 blt.n 582c <_lv_style_list_get_int+0x4c> + 587a: 2c00 cmp r4, #0 + 587c: d1d6 bne.n 582c <_lv_style_list_get_int+0x4c> + 587e: 0752 lsls r2, r2, #29 + 5880: d4d4 bmi.n 582c <_lv_style_list_get_int+0x4c> *res = value_act; - 581a: ab02 add r3, sp, #8 - 581c: 3306 adds r3, #6 - 581e: 881b ldrh r3, [r3, #0] - 5820: 464a mov r2, r9 - 5822: 8013 strh r3, [r2, #0] + 5882: ab02 add r3, sp, #8 + 5884: 3306 adds r3, #6 + 5886: 881b ldrh r3, [r3, #0] + 5888: 464a mov r2, r9 + 588a: 8013 strh r3, [r2, #0] return LV_RES_OK; - 5824: 2001 movs r0, #1 - 5826: e004 b.n 5832 <_lv_style_list_get_int+0xba> + 588c: 2001 movs r0, #1 + 588e: e004 b.n 589a <_lv_style_list_get_int+0xba> int16_t weight = -1; - 5828: 2601 movs r6, #1 - 582a: 4276 negs r6, r6 + 5890: 2601 movs r6, #1 + 5892: 4276 negs r6, r6 if(weight >= 0) return LV_RES_OK; - 582c: 43f0 mvns r0, r6 - 582e: b280 uxth r0, r0 + 5894: 43f0 mvns r0, r6 + 5896: b280 uxth r0, r0 if(list == NULL) return LV_RES_INV; - 5830: 0bc0 lsrs r0, r0, #15 -} - 5832: b004 add sp, #16 - 5834: bc1c pop {r2, r3, r4} - 5836: 4690 mov r8, r2 - 5838: 4699 mov r9, r3 - 583a: 46a2 mov sl, r4 - 583c: bdf0 pop {r4, r5, r6, r7, pc} + 5898: 0bc0 lsrs r0, r0, #15 +} + 589a: b004 add sp, #16 + 589c: bc1c pop {r2, r3, r4} + 589e: 4690 mov r8, r2 + 58a0: 4699 mov r9, r3 + 58a2: 46a2 mov sl, r4 + 58a4: bdf0 pop {r4, r5, r6, r7, pc} if(list == NULL) return LV_RES_INV; - 583e: 2000 movs r0, #0 - 5840: e7f7 b.n 5832 <_lv_style_list_get_int+0xba> + 58a6: 2000 movs r0, #0 + 58a8: e7f7 b.n 589a <_lv_style_list_get_int+0xba> if(list->style_list == NULL) return LV_RES_INV; - 5842: 2000 movs r0, #0 - 5844: e7f5 b.n 5832 <_lv_style_list_get_int+0xba> - 5846: 46c0 nop ; (mov r8, r8) - 5848: 0000521d .word 0x0000521d - -0000584c <_lv_style_list_get_color>: -{ - 584c: b5f0 push {r4, r5, r6, r7, lr} - 584e: 46d6 mov lr, sl - 5850: 464f mov r7, r9 - 5852: 4646 mov r6, r8 - 5854: b5c0 push {r6, r7, lr} - 5856: b084 sub sp, #16 - 5858: 1e05 subs r5, r0, #0 - 585a: 9101 str r1, [sp, #4] - 585c: 4691 mov r9, r2 + 58aa: 2000 movs r0, #0 + 58ac: e7f5 b.n 589a <_lv_style_list_get_int+0xba> + 58ae: 46c0 nop ; (mov r8, r8) + 58b0: 00005285 .word 0x00005285 + +000058b4 <_lv_style_list_get_color>: +{ + 58b4: b5f0 push {r4, r5, r6, r7, lr} + 58b6: 46d6 mov lr, sl + 58b8: 464f mov r7, r9 + 58ba: 4646 mov r6, r8 + 58bc: b5c0 push {r6, r7, lr} + 58be: b084 sub sp, #16 + 58c0: 1e05 subs r5, r0, #0 + 58c2: 9101 str r1, [sp, #4] + 58c4: 4691 mov r9, r2 if(list == NULL) return LV_RES_INV; - 585e: d054 beq.n 590a <_lv_style_list_get_color+0xbe> + 58c6: d054 beq.n 5972 <_lv_style_list_get_color+0xbe> if(list->style_list == NULL) return LV_RES_INV; - 5860: 6803 ldr r3, [r0, #0] - 5862: 2b00 cmp r3, #0 - 5864: d053 beq.n 590e <_lv_style_list_get_color+0xc2> + 58c8: 6803 ldr r3, [r0, #0] + 58ca: 2b00 cmp r3, #0 + 58cc: d053 beq.n 5976 <_lv_style_list_get_color+0xc2> int16_t weight_goal = attr.full; - 5866: 0a0b lsrs r3, r1, #8 - 5868: 4698 mov r8, r3 + 58ce: 0a0b lsrs r3, r1, #8 + 58d0: 4698 mov r8, r3 lv_color_t value_act = { 0 }; - 586a: 2200 movs r2, #0 - 586c: ab03 add r3, sp, #12 - 586e: 801a strh r2, [r3, #0] + 58d2: 2200 movs r2, #0 + 58d4: ab03 add r3, sp, #12 + 58d6: 801a strh r2, [r3, #0] for(ci = 0; ci < list->style_cnt; ci++) { - 5870: 7902 ldrb r2, [r0, #4] - 5872: 2a00 cmp r2, #0 - 5874: dd3e ble.n 58f4 <_lv_style_list_get_color+0xa8> - 5876: 2400 movs r4, #0 - 5878: 2601 movs r6, #1 - 587a: 4276 negs r6, r6 + 58d8: 7902 ldrb r2, [r0, #4] + 58da: 2a00 cmp r2, #0 + 58dc: dd3e ble.n 595c <_lv_style_list_get_color+0xa8> + 58de: 2400 movs r4, #0 + 58e0: 2601 movs r6, #1 + 58e2: 4276 negs r6, r6 if(list->has_trans && list->skip_trans) id++; - 587c: 2306 movs r3, #6 - 587e: 469a mov sl, r3 + 58e4: 2306 movs r3, #6 + 58e6: 469a mov sl, r3 int16_t weight_act = _lv_style_get_color(class, prop, &value_act); - 5880: 4f24 ldr r7, [pc, #144] ; (5914 <_lv_style_list_get_color+0xc8>) - 5882: e014 b.n 58ae <_lv_style_list_get_color+0x62> - 5884: 3101 adds r1, #1 - 5886: b2c9 uxtb r1, r1 - 5888: e017 b.n 58ba <_lv_style_list_get_color+0x6e> + 58e8: 4f24 ldr r7, [pc, #144] ; (597c <_lv_style_list_get_color+0xc8>) + 58ea: e014 b.n 5916 <_lv_style_list_get_color+0x62> + 58ec: 3101 adds r1, #1 + 58ee: b2c9 uxtb r1, r1 + 58f0: e017 b.n 5922 <_lv_style_list_get_color+0x6e> *res = value_act; - 588a: ab03 add r3, sp, #12 - 588c: 881b ldrh r3, [r3, #0] - 588e: 464a mov r2, r9 - 5890: 8013 strh r3, [r2, #0] + 58f2: ab03 add r3, sp, #12 + 58f4: 881b ldrh r3, [r3, #0] + 58f6: 464a mov r2, r9 + 58f8: 8013 strh r3, [r2, #0] return LV_RES_OK; - 5892: 2001 movs r0, #1 - 5894: e033 b.n 58fe <_lv_style_list_get_color+0xb2> + 58fa: 2001 movs r0, #1 + 58fc: e033 b.n 5966 <_lv_style_list_get_color+0xb2> else if(weight_act > weight) { - 5896: 42b3 cmp r3, r6 - 5898: dd04 ble.n 58a4 <_lv_style_list_get_color+0x58> + 58fe: 42b3 cmp r3, r6 + 5900: dd04 ble.n 590c <_lv_style_list_get_color+0x58> *res = value_act; - 589a: ab03 add r3, sp, #12 - 589c: 881b ldrh r3, [r3, #0] - 589e: 464a mov r2, r9 - 58a0: 8013 strh r3, [r2, #0] + 5902: ab03 add r3, sp, #12 + 5904: 881b ldrh r3, [r3, #0] + 5906: 464a mov r2, r9 + 5908: 8013 strh r3, [r2, #0] weight = weight_act; - 58a2: 0006 movs r6, r0 - 58a4: 3401 adds r4, #1 - 58a6: b224 sxth r4, r4 + 590a: 0006 movs r6, r0 + 590c: 3401 adds r4, #1 + 590e: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 58a8: 792a ldrb r2, [r5, #4] - 58aa: 4294 cmp r4, r2 - 58ac: da24 bge.n 58f8 <_lv_style_list_get_color+0xac> + 5910: 792a ldrb r2, [r5, #4] + 5912: 4294 cmp r4, r2 + 5914: da24 bge.n 5960 <_lv_style_list_get_color+0xac> lv_style_t * class = lv_style_list_get_style(list, ci); - 58ae: b2e1 uxtb r1, r4 - 58b0: 796b ldrb r3, [r5, #5] - 58b2: 4650 mov r0, sl - 58b4: 4003 ands r3, r0 - 58b6: 2b06 cmp r3, #6 - 58b8: d0e4 beq.n 5884 <_lv_style_list_get_color+0x38> + 5916: b2e1 uxtb r1, r4 + 5918: 796b ldrb r3, [r5, #5] + 591a: 4650 mov r0, sl + 591c: 4003 ands r3, r0 + 591e: 2b06 cmp r3, #6 + 5920: d0e4 beq.n 58ec <_lv_style_list_get_color+0x38> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 58ba: 2000 movs r0, #0 - 58bc: 2a00 cmp r2, #0 - 58be: d004 beq.n 58ca <_lv_style_list_get_color+0x7e> - 58c0: 4291 cmp r1, r2 - 58c2: d202 bcs.n 58ca <_lv_style_list_get_color+0x7e> + 5922: 2000 movs r0, #0 + 5924: 2a00 cmp r2, #0 + 5926: d004 beq.n 5932 <_lv_style_list_get_color+0x7e> + 5928: 4291 cmp r1, r2 + 592a: d202 bcs.n 5932 <_lv_style_list_get_color+0x7e> return list->style_list[id]; - 58c4: 0089 lsls r1, r1, #2 - 58c6: 682b ldr r3, [r5, #0] - 58c8: 58c8 ldr r0, [r1, r3] + 592c: 0089 lsls r1, r1, #2 + 592e: 682b ldr r3, [r5, #0] + 5930: 58c8 ldr r0, [r1, r3] int16_t weight_act = _lv_style_get_color(class, prop, &value_act); - 58ca: aa03 add r2, sp, #12 - 58cc: 9901 ldr r1, [sp, #4] - 58ce: 47b8 blx r7 - 58d0: 0003 movs r3, r0 + 5932: aa03 add r2, sp, #12 + 5934: 9901 ldr r1, [sp, #4] + 5936: 47b8 blx r7 + 5938: 0003 movs r3, r0 if(weight_act == weight_goal) { - 58d2: 4580 cmp r8, r0 - 58d4: d0d9 beq.n 588a <_lv_style_list_get_color+0x3e> + 593a: 4580 cmp r8, r0 + 593c: d0d9 beq.n 58f2 <_lv_style_list_get_color+0x3e> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 58d6: 796a ldrb r2, [r5, #5] - 58d8: 0791 lsls r1, r2, #30 - 58da: d5dc bpl.n 5896 <_lv_style_list_get_color+0x4a> - 58dc: 2800 cmp r0, #0 - 58de: dbda blt.n 5896 <_lv_style_list_get_color+0x4a> - 58e0: 2c00 cmp r4, #0 - 58e2: d1d8 bne.n 5896 <_lv_style_list_get_color+0x4a> - 58e4: 0752 lsls r2, r2, #29 - 58e6: d4d6 bmi.n 5896 <_lv_style_list_get_color+0x4a> + 593e: 796a ldrb r2, [r5, #5] + 5940: 0791 lsls r1, r2, #30 + 5942: d5dc bpl.n 58fe <_lv_style_list_get_color+0x4a> + 5944: 2800 cmp r0, #0 + 5946: dbda blt.n 58fe <_lv_style_list_get_color+0x4a> + 5948: 2c00 cmp r4, #0 + 594a: d1d8 bne.n 58fe <_lv_style_list_get_color+0x4a> + 594c: 0752 lsls r2, r2, #29 + 594e: d4d6 bmi.n 58fe <_lv_style_list_get_color+0x4a> *res = value_act; - 58e8: ab03 add r3, sp, #12 - 58ea: 881b ldrh r3, [r3, #0] - 58ec: 464a mov r2, r9 - 58ee: 8013 strh r3, [r2, #0] + 5950: ab03 add r3, sp, #12 + 5952: 881b ldrh r3, [r3, #0] + 5954: 464a mov r2, r9 + 5956: 8013 strh r3, [r2, #0] return LV_RES_OK; - 58f0: 2001 movs r0, #1 - 58f2: e004 b.n 58fe <_lv_style_list_get_color+0xb2> + 5958: 2001 movs r0, #1 + 595a: e004 b.n 5966 <_lv_style_list_get_color+0xb2> int16_t weight = -1; - 58f4: 2601 movs r6, #1 - 58f6: 4276 negs r6, r6 + 595c: 2601 movs r6, #1 + 595e: 4276 negs r6, r6 if(weight >= 0) return LV_RES_OK; - 58f8: 43f0 mvns r0, r6 - 58fa: b280 uxth r0, r0 + 5960: 43f0 mvns r0, r6 + 5962: b280 uxth r0, r0 if(list == NULL) return LV_RES_INV; - 58fc: 0bc0 lsrs r0, r0, #15 -} - 58fe: b004 add sp, #16 - 5900: bc1c pop {r2, r3, r4} - 5902: 4690 mov r8, r2 - 5904: 4699 mov r9, r3 - 5906: 46a2 mov sl, r4 - 5908: bdf0 pop {r4, r5, r6, r7, pc} + 5964: 0bc0 lsrs r0, r0, #15 +} + 5966: b004 add sp, #16 + 5968: bc1c pop {r2, r3, r4} + 596a: 4690 mov r8, r2 + 596c: 4699 mov r9, r3 + 596e: 46a2 mov sl, r4 + 5970: bdf0 pop {r4, r5, r6, r7, pc} if(list == NULL) return LV_RES_INV; - 590a: 2000 movs r0, #0 - 590c: e7f7 b.n 58fe <_lv_style_list_get_color+0xb2> + 5972: 2000 movs r0, #0 + 5974: e7f7 b.n 5966 <_lv_style_list_get_color+0xb2> if(list->style_list == NULL) return LV_RES_INV; - 590e: 2000 movs r0, #0 - 5910: e7f5 b.n 58fe <_lv_style_list_get_color+0xb2> - 5912: 46c0 nop ; (mov r8, r8) - 5914: 000053d7 .word 0x000053d7 - -00005918 <_lv_style_list_get_opa>: -{ - 5918: b5f0 push {r4, r5, r6, r7, lr} - 591a: 46d6 mov lr, sl - 591c: 464f mov r7, r9 - 591e: 4646 mov r6, r8 - 5920: b5c0 push {r6, r7, lr} - 5922: b084 sub sp, #16 - 5924: 1e05 subs r5, r0, #0 - 5926: 9101 str r1, [sp, #4] - 5928: 4691 mov r9, r2 + 5976: 2000 movs r0, #0 + 5978: e7f5 b.n 5966 <_lv_style_list_get_color+0xb2> + 597a: 46c0 nop ; (mov r8, r8) + 597c: 0000543f .word 0x0000543f + +00005980 <_lv_style_list_get_opa>: +{ + 5980: b5f0 push {r4, r5, r6, r7, lr} + 5982: 46d6 mov lr, sl + 5984: 464f mov r7, r9 + 5986: 4646 mov r6, r8 + 5988: b5c0 push {r6, r7, lr} + 598a: b084 sub sp, #16 + 598c: 1e05 subs r5, r0, #0 + 598e: 9101 str r1, [sp, #4] + 5990: 4691 mov r9, r2 if(list == NULL) return LV_RES_INV; - 592a: d058 beq.n 59de <_lv_style_list_get_opa+0xc6> + 5992: d058 beq.n 5a46 <_lv_style_list_get_opa+0xc6> if(list->style_list == NULL) return LV_RES_INV; - 592c: 6803 ldr r3, [r0, #0] - 592e: 2b00 cmp r3, #0 - 5930: d057 beq.n 59e2 <_lv_style_list_get_opa+0xca> + 5994: 6803 ldr r3, [r0, #0] + 5996: 2b00 cmp r3, #0 + 5998: d057 beq.n 5a4a <_lv_style_list_get_opa+0xca> int16_t weight_goal = attr.full; - 5932: 0a0b lsrs r3, r1, #8 - 5934: 4698 mov r8, r3 + 599a: 0a0b lsrs r3, r1, #8 + 599c: 4698 mov r8, r3 lv_opa_t value_act = LV_OPA_TRANSP; - 5936: 2200 movs r2, #0 - 5938: ab02 add r3, sp, #8 - 593a: 71da strb r2, [r3, #7] + 599e: 2200 movs r2, #0 + 59a0: ab02 add r3, sp, #8 + 59a2: 71da strb r2, [r3, #7] for(ci = 0; ci < list->style_cnt; ci++) { - 593c: 7902 ldrb r2, [r0, #4] - 593e: 2a00 cmp r2, #0 - 5940: dd42 ble.n 59c8 <_lv_style_list_get_opa+0xb0> - 5942: 2400 movs r4, #0 - 5944: 2601 movs r6, #1 - 5946: 4276 negs r6, r6 + 59a4: 7902 ldrb r2, [r0, #4] + 59a6: 2a00 cmp r2, #0 + 59a8: dd42 ble.n 5a30 <_lv_style_list_get_opa+0xb0> + 59aa: 2400 movs r4, #0 + 59ac: 2601 movs r6, #1 + 59ae: 4276 negs r6, r6 if(list->has_trans && list->skip_trans) id++; - 5948: 2306 movs r3, #6 - 594a: 469a mov sl, r3 + 59b0: 2306 movs r3, #6 + 59b2: 469a mov sl, r3 int16_t weight_act = _lv_style_get_opa(class, prop, &value_act); - 594c: 4f26 ldr r7, [pc, #152] ; (59e8 <_lv_style_list_get_opa+0xd0>) - 594e: e016 b.n 597e <_lv_style_list_get_opa+0x66> - 5950: 3101 adds r1, #1 - 5952: b2c9 uxtb r1, r1 - 5954: e019 b.n 598a <_lv_style_list_get_opa+0x72> + 59b4: 4f26 ldr r7, [pc, #152] ; (5a50 <_lv_style_list_get_opa+0xd0>) + 59b6: e016 b.n 59e6 <_lv_style_list_get_opa+0x66> + 59b8: 3101 adds r1, #1 + 59ba: b2c9 uxtb r1, r1 + 59bc: e019 b.n 59f2 <_lv_style_list_get_opa+0x72> *res = value_act; - 5956: ab02 add r3, sp, #8 - 5958: 3307 adds r3, #7 - 595a: 781b ldrb r3, [r3, #0] - 595c: 464a mov r2, r9 - 595e: 7013 strb r3, [r2, #0] + 59be: ab02 add r3, sp, #8 + 59c0: 3307 adds r3, #7 + 59c2: 781b ldrb r3, [r3, #0] + 59c4: 464a mov r2, r9 + 59c6: 7013 strb r3, [r2, #0] return LV_RES_OK; - 5960: 2001 movs r0, #1 - 5962: e036 b.n 59d2 <_lv_style_list_get_opa+0xba> + 59c8: 2001 movs r0, #1 + 59ca: e036 b.n 5a3a <_lv_style_list_get_opa+0xba> else if(weight_act > weight) { - 5964: 42b3 cmp r3, r6 - 5966: dd05 ble.n 5974 <_lv_style_list_get_opa+0x5c> + 59cc: 42b3 cmp r3, r6 + 59ce: dd05 ble.n 59dc <_lv_style_list_get_opa+0x5c> *res = value_act; - 5968: ab02 add r3, sp, #8 - 596a: 3307 adds r3, #7 - 596c: 781b ldrb r3, [r3, #0] - 596e: 464a mov r2, r9 - 5970: 7013 strb r3, [r2, #0] + 59d0: ab02 add r3, sp, #8 + 59d2: 3307 adds r3, #7 + 59d4: 781b ldrb r3, [r3, #0] + 59d6: 464a mov r2, r9 + 59d8: 7013 strb r3, [r2, #0] weight = weight_act; - 5972: 0006 movs r6, r0 - 5974: 3401 adds r4, #1 - 5976: b224 sxth r4, r4 + 59da: 0006 movs r6, r0 + 59dc: 3401 adds r4, #1 + 59de: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 5978: 792a ldrb r2, [r5, #4] - 597a: 4294 cmp r4, r2 - 597c: da26 bge.n 59cc <_lv_style_list_get_opa+0xb4> + 59e0: 792a ldrb r2, [r5, #4] + 59e2: 4294 cmp r4, r2 + 59e4: da26 bge.n 5a34 <_lv_style_list_get_opa+0xb4> lv_style_t * class = lv_style_list_get_style(list, ci); - 597e: b2e1 uxtb r1, r4 - 5980: 796b ldrb r3, [r5, #5] - 5982: 4650 mov r0, sl - 5984: 4003 ands r3, r0 - 5986: 2b06 cmp r3, #6 - 5988: d0e2 beq.n 5950 <_lv_style_list_get_opa+0x38> + 59e6: b2e1 uxtb r1, r4 + 59e8: 796b ldrb r3, [r5, #5] + 59ea: 4650 mov r0, sl + 59ec: 4003 ands r3, r0 + 59ee: 2b06 cmp r3, #6 + 59f0: d0e2 beq.n 59b8 <_lv_style_list_get_opa+0x38> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 598a: 2000 movs r0, #0 - 598c: 2a00 cmp r2, #0 - 598e: d004 beq.n 599a <_lv_style_list_get_opa+0x82> - 5990: 4291 cmp r1, r2 - 5992: d202 bcs.n 599a <_lv_style_list_get_opa+0x82> + 59f2: 2000 movs r0, #0 + 59f4: 2a00 cmp r2, #0 + 59f6: d004 beq.n 5a02 <_lv_style_list_get_opa+0x82> + 59f8: 4291 cmp r1, r2 + 59fa: d202 bcs.n 5a02 <_lv_style_list_get_opa+0x82> return list->style_list[id]; - 5994: 0089 lsls r1, r1, #2 - 5996: 682b ldr r3, [r5, #0] - 5998: 58c8 ldr r0, [r1, r3] + 59fc: 0089 lsls r1, r1, #2 + 59fe: 682b ldr r3, [r5, #0] + 5a00: 58c8 ldr r0, [r1, r3] int16_t weight_act = _lv_style_get_opa(class, prop, &value_act); - 599a: ab02 add r3, sp, #8 - 599c: 1dda adds r2, r3, #7 - 599e: 9901 ldr r1, [sp, #4] - 59a0: 47b8 blx r7 - 59a2: 0003 movs r3, r0 + 5a02: ab02 add r3, sp, #8 + 5a04: 1dda adds r2, r3, #7 + 5a06: 9901 ldr r1, [sp, #4] + 5a08: 47b8 blx r7 + 5a0a: 0003 movs r3, r0 if(weight_act == weight_goal) { - 59a4: 4580 cmp r8, r0 - 59a6: d0d6 beq.n 5956 <_lv_style_list_get_opa+0x3e> + 5a0c: 4580 cmp r8, r0 + 5a0e: d0d6 beq.n 59be <_lv_style_list_get_opa+0x3e> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 59a8: 796a ldrb r2, [r5, #5] - 59aa: 0791 lsls r1, r2, #30 - 59ac: d5da bpl.n 5964 <_lv_style_list_get_opa+0x4c> - 59ae: 2800 cmp r0, #0 - 59b0: dbd8 blt.n 5964 <_lv_style_list_get_opa+0x4c> - 59b2: 2c00 cmp r4, #0 - 59b4: d1d6 bne.n 5964 <_lv_style_list_get_opa+0x4c> - 59b6: 0752 lsls r2, r2, #29 - 59b8: d4d4 bmi.n 5964 <_lv_style_list_get_opa+0x4c> + 5a10: 796a ldrb r2, [r5, #5] + 5a12: 0791 lsls r1, r2, #30 + 5a14: d5da bpl.n 59cc <_lv_style_list_get_opa+0x4c> + 5a16: 2800 cmp r0, #0 + 5a18: dbd8 blt.n 59cc <_lv_style_list_get_opa+0x4c> + 5a1a: 2c00 cmp r4, #0 + 5a1c: d1d6 bne.n 59cc <_lv_style_list_get_opa+0x4c> + 5a1e: 0752 lsls r2, r2, #29 + 5a20: d4d4 bmi.n 59cc <_lv_style_list_get_opa+0x4c> *res = value_act; - 59ba: ab02 add r3, sp, #8 - 59bc: 3307 adds r3, #7 - 59be: 781b ldrb r3, [r3, #0] - 59c0: 464a mov r2, r9 - 59c2: 7013 strb r3, [r2, #0] + 5a22: ab02 add r3, sp, #8 + 5a24: 3307 adds r3, #7 + 5a26: 781b ldrb r3, [r3, #0] + 5a28: 464a mov r2, r9 + 5a2a: 7013 strb r3, [r2, #0] return LV_RES_OK; - 59c4: 2001 movs r0, #1 - 59c6: e004 b.n 59d2 <_lv_style_list_get_opa+0xba> + 5a2c: 2001 movs r0, #1 + 5a2e: e004 b.n 5a3a <_lv_style_list_get_opa+0xba> int16_t weight = -1; - 59c8: 2601 movs r6, #1 - 59ca: 4276 negs r6, r6 + 5a30: 2601 movs r6, #1 + 5a32: 4276 negs r6, r6 if(weight >= 0) return LV_RES_OK; - 59cc: 43f0 mvns r0, r6 - 59ce: b280 uxth r0, r0 + 5a34: 43f0 mvns r0, r6 + 5a36: b280 uxth r0, r0 if(list == NULL) return LV_RES_INV; - 59d0: 0bc0 lsrs r0, r0, #15 -} - 59d2: b004 add sp, #16 - 59d4: bc1c pop {r2, r3, r4} - 59d6: 4690 mov r8, r2 - 59d8: 4699 mov r9, r3 - 59da: 46a2 mov sl, r4 - 59dc: bdf0 pop {r4, r5, r6, r7, pc} + 5a38: 0bc0 lsrs r0, r0, #15 +} + 5a3a: b004 add sp, #16 + 5a3c: bc1c pop {r2, r3, r4} + 5a3e: 4690 mov r8, r2 + 5a40: 4699 mov r9, r3 + 5a42: 46a2 mov sl, r4 + 5a44: bdf0 pop {r4, r5, r6, r7, pc} if(list == NULL) return LV_RES_INV; - 59de: 2000 movs r0, #0 - 59e0: e7f7 b.n 59d2 <_lv_style_list_get_opa+0xba> + 5a46: 2000 movs r0, #0 + 5a48: e7f7 b.n 5a3a <_lv_style_list_get_opa+0xba> if(list->style_list == NULL) return LV_RES_INV; - 59e2: 2000 movs r0, #0 - 59e4: e7f5 b.n 59d2 <_lv_style_list_get_opa+0xba> - 59e6: 46c0 nop ; (mov r8, r8) - 59e8: 000052fd .word 0x000052fd - -000059ec <_lv_style_list_get_ptr>: -{ - 59ec: b5f0 push {r4, r5, r6, r7, lr} - 59ee: 46d6 mov lr, sl - 59f0: 464f mov r7, r9 - 59f2: 4646 mov r6, r8 - 59f4: b5c0 push {r6, r7, lr} - 59f6: b084 sub sp, #16 - 59f8: 0005 movs r5, r0 - 59fa: 9101 str r1, [sp, #4] - 59fc: 0017 movs r7, r2 + 5a4a: 2000 movs r0, #0 + 5a4c: e7f5 b.n 5a3a <_lv_style_list_get_opa+0xba> + 5a4e: 46c0 nop ; (mov r8, r8) + 5a50: 00005365 .word 0x00005365 + +00005a54 <_lv_style_list_get_ptr>: +{ + 5a54: b5f0 push {r4, r5, r6, r7, lr} + 5a56: 46d6 mov lr, sl + 5a58: 464f mov r7, r9 + 5a5a: 4646 mov r6, r8 + 5a5c: b5c0 push {r6, r7, lr} + 5a5e: b084 sub sp, #16 + 5a60: 0005 movs r5, r0 + 5a62: 9101 str r1, [sp, #4] + 5a64: 0017 movs r7, r2 if(list == NULL) return LV_RES_INV; - 59fe: 2800 cmp r0, #0 - 5a00: d04c beq.n 5a9c <_lv_style_list_get_ptr+0xb0> + 5a66: 2800 cmp r0, #0 + 5a68: d04c beq.n 5b04 <_lv_style_list_get_ptr+0xb0> if(list->style_list == NULL) return LV_RES_INV; - 5a02: 6803 ldr r3, [r0, #0] - 5a04: 2b00 cmp r3, #0 - 5a06: d04b beq.n 5aa0 <_lv_style_list_get_ptr+0xb4> + 5a6a: 6803 ldr r3, [r0, #0] + 5a6c: 2b00 cmp r3, #0 + 5a6e: d04b beq.n 5b08 <_lv_style_list_get_ptr+0xb4> int16_t weight_goal = attr.full; - 5a08: 0a0b lsrs r3, r1, #8 - 5a0a: 4698 mov r8, r3 + 5a70: 0a0b lsrs r3, r1, #8 + 5a72: 4698 mov r8, r3 for(ci = 0; ci < list->style_cnt; ci++) { - 5a0c: 7902 ldrb r2, [r0, #4] - 5a0e: 2a00 cmp r2, #0 - 5a10: dd39 ble.n 5a86 <_lv_style_list_get_ptr+0x9a> - 5a12: 2400 movs r4, #0 - 5a14: 2601 movs r6, #1 - 5a16: 4276 negs r6, r6 + 5a74: 7902 ldrb r2, [r0, #4] + 5a76: 2a00 cmp r2, #0 + 5a78: dd39 ble.n 5aee <_lv_style_list_get_ptr+0x9a> + 5a7a: 2400 movs r4, #0 + 5a7c: 2601 movs r6, #1 + 5a7e: 4276 negs r6, r6 if(list->has_trans && list->skip_trans) id++; - 5a18: 2306 movs r3, #6 - 5a1a: 469a mov sl, r3 + 5a80: 2306 movs r3, #6 + 5a82: 469a mov sl, r3 int16_t weight_act = _lv_style_get_ptr(class, prop, &value_act); - 5a1c: 4b21 ldr r3, [pc, #132] ; (5aa4 <_lv_style_list_get_ptr+0xb8>) - 5a1e: 4699 mov r9, r3 - 5a20: e010 b.n 5a44 <_lv_style_list_get_ptr+0x58> - 5a22: 3101 adds r1, #1 - 5a24: b2c9 uxtb r1, r1 - 5a26: e013 b.n 5a50 <_lv_style_list_get_ptr+0x64> + 5a84: 4b21 ldr r3, [pc, #132] ; (5b0c <_lv_style_list_get_ptr+0xb8>) + 5a86: 4699 mov r9, r3 + 5a88: e010 b.n 5aac <_lv_style_list_get_ptr+0x58> + 5a8a: 3101 adds r1, #1 + 5a8c: b2c9 uxtb r1, r1 + 5a8e: e013 b.n 5ab8 <_lv_style_list_get_ptr+0x64> *res = value_act; - 5a28: 9b03 ldr r3, [sp, #12] - 5a2a: 603b str r3, [r7, #0] + 5a90: 9b03 ldr r3, [sp, #12] + 5a92: 603b str r3, [r7, #0] return LV_RES_OK; - 5a2c: 2001 movs r0, #1 - 5a2e: e02f b.n 5a90 <_lv_style_list_get_ptr+0xa4> + 5a94: 2001 movs r0, #1 + 5a96: e02f b.n 5af8 <_lv_style_list_get_ptr+0xa4> else if(weight_act > weight) { - 5a30: 42b3 cmp r3, r6 - 5a32: dd02 ble.n 5a3a <_lv_style_list_get_ptr+0x4e> + 5a98: 42b3 cmp r3, r6 + 5a9a: dd02 ble.n 5aa2 <_lv_style_list_get_ptr+0x4e> *res = value_act; - 5a34: 9b03 ldr r3, [sp, #12] - 5a36: 603b str r3, [r7, #0] + 5a9c: 9b03 ldr r3, [sp, #12] + 5a9e: 603b str r3, [r7, #0] weight = weight_act; - 5a38: 0006 movs r6, r0 - 5a3a: 3401 adds r4, #1 - 5a3c: b224 sxth r4, r4 + 5aa0: 0006 movs r6, r0 + 5aa2: 3401 adds r4, #1 + 5aa4: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 5a3e: 792a ldrb r2, [r5, #4] - 5a40: 4294 cmp r4, r2 - 5a42: da22 bge.n 5a8a <_lv_style_list_get_ptr+0x9e> + 5aa6: 792a ldrb r2, [r5, #4] + 5aa8: 4294 cmp r4, r2 + 5aaa: da22 bge.n 5af2 <_lv_style_list_get_ptr+0x9e> lv_style_t * class = lv_style_list_get_style(list, ci); - 5a44: b2e1 uxtb r1, r4 - 5a46: 796b ldrb r3, [r5, #5] - 5a48: 4650 mov r0, sl - 5a4a: 4003 ands r3, r0 - 5a4c: 2b06 cmp r3, #6 - 5a4e: d0e8 beq.n 5a22 <_lv_style_list_get_ptr+0x36> + 5aac: b2e1 uxtb r1, r4 + 5aae: 796b ldrb r3, [r5, #5] + 5ab0: 4650 mov r0, sl + 5ab2: 4003 ands r3, r0 + 5ab4: 2b06 cmp r3, #6 + 5ab6: d0e8 beq.n 5a8a <_lv_style_list_get_ptr+0x36> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 5a50: 2000 movs r0, #0 - 5a52: 2a00 cmp r2, #0 - 5a54: d004 beq.n 5a60 <_lv_style_list_get_ptr+0x74> - 5a56: 4291 cmp r1, r2 - 5a58: d202 bcs.n 5a60 <_lv_style_list_get_ptr+0x74> + 5ab8: 2000 movs r0, #0 + 5aba: 2a00 cmp r2, #0 + 5abc: d004 beq.n 5ac8 <_lv_style_list_get_ptr+0x74> + 5abe: 4291 cmp r1, r2 + 5ac0: d202 bcs.n 5ac8 <_lv_style_list_get_ptr+0x74> return list->style_list[id]; - 5a5a: 0089 lsls r1, r1, #2 - 5a5c: 682b ldr r3, [r5, #0] - 5a5e: 58c8 ldr r0, [r1, r3] + 5ac2: 0089 lsls r1, r1, #2 + 5ac4: 682b ldr r3, [r5, #0] + 5ac6: 58c8 ldr r0, [r1, r3] int16_t weight_act = _lv_style_get_ptr(class, prop, &value_act); - 5a60: aa03 add r2, sp, #12 - 5a62: 9901 ldr r1, [sp, #4] - 5a64: 47c8 blx r9 - 5a66: 0003 movs r3, r0 + 5ac8: aa03 add r2, sp, #12 + 5aca: 9901 ldr r1, [sp, #4] + 5acc: 47c8 blx r9 + 5ace: 0003 movs r3, r0 if(weight_act == weight_goal) { - 5a68: 4580 cmp r8, r0 - 5a6a: d0dd beq.n 5a28 <_lv_style_list_get_ptr+0x3c> + 5ad0: 4580 cmp r8, r0 + 5ad2: d0dd beq.n 5a90 <_lv_style_list_get_ptr+0x3c> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 5a6c: 796a ldrb r2, [r5, #5] - 5a6e: 0791 lsls r1, r2, #30 - 5a70: d5de bpl.n 5a30 <_lv_style_list_get_ptr+0x44> - 5a72: 2800 cmp r0, #0 - 5a74: dbdc blt.n 5a30 <_lv_style_list_get_ptr+0x44> - 5a76: 2c00 cmp r4, #0 - 5a78: d1da bne.n 5a30 <_lv_style_list_get_ptr+0x44> - 5a7a: 0752 lsls r2, r2, #29 - 5a7c: d4d8 bmi.n 5a30 <_lv_style_list_get_ptr+0x44> + 5ad4: 796a ldrb r2, [r5, #5] + 5ad6: 0791 lsls r1, r2, #30 + 5ad8: d5de bpl.n 5a98 <_lv_style_list_get_ptr+0x44> + 5ada: 2800 cmp r0, #0 + 5adc: dbdc blt.n 5a98 <_lv_style_list_get_ptr+0x44> + 5ade: 2c00 cmp r4, #0 + 5ae0: d1da bne.n 5a98 <_lv_style_list_get_ptr+0x44> + 5ae2: 0752 lsls r2, r2, #29 + 5ae4: d4d8 bmi.n 5a98 <_lv_style_list_get_ptr+0x44> *res = value_act; - 5a7e: 9b03 ldr r3, [sp, #12] - 5a80: 603b str r3, [r7, #0] + 5ae6: 9b03 ldr r3, [sp, #12] + 5ae8: 603b str r3, [r7, #0] return LV_RES_OK; - 5a82: 2001 movs r0, #1 - 5a84: e004 b.n 5a90 <_lv_style_list_get_ptr+0xa4> + 5aea: 2001 movs r0, #1 + 5aec: e004 b.n 5af8 <_lv_style_list_get_ptr+0xa4> int16_t weight = -1; - 5a86: 2601 movs r6, #1 - 5a88: 4276 negs r6, r6 + 5aee: 2601 movs r6, #1 + 5af0: 4276 negs r6, r6 if(weight >= 0) return LV_RES_OK; - 5a8a: 43f0 mvns r0, r6 - 5a8c: b280 uxth r0, r0 + 5af2: 43f0 mvns r0, r6 + 5af4: b280 uxth r0, r0 if(list == NULL) return LV_RES_INV; - 5a8e: 0bc0 lsrs r0, r0, #15 -} - 5a90: b004 add sp, #16 - 5a92: bc1c pop {r2, r3, r4} - 5a94: 4690 mov r8, r2 - 5a96: 4699 mov r9, r3 - 5a98: 46a2 mov sl, r4 - 5a9a: bdf0 pop {r4, r5, r6, r7, pc} + 5af6: 0bc0 lsrs r0, r0, #15 +} + 5af8: b004 add sp, #16 + 5afa: bc1c pop {r2, r3, r4} + 5afc: 4690 mov r8, r2 + 5afe: 4699 mov r9, r3 + 5b00: 46a2 mov sl, r4 + 5b02: bdf0 pop {r4, r5, r6, r7, pc} if(list == NULL) return LV_RES_INV; - 5a9c: 2000 movs r0, #0 - 5a9e: e7f7 b.n 5a90 <_lv_style_list_get_ptr+0xa4> + 5b04: 2000 movs r0, #0 + 5b06: e7f7 b.n 5af8 <_lv_style_list_get_ptr+0xa4> if(list->style_list == NULL) return LV_RES_INV; - 5aa0: 2000 movs r0, #0 - 5aa2: e7f5 b.n 5a90 <_lv_style_list_get_ptr+0xa4> - 5aa4: 000054b7 .word 0x000054b7 + 5b08: 2000 movs r0, #0 + 5b0a: e7f5 b.n 5af8 <_lv_style_list_get_ptr+0xa4> + 5b0c: 0000551f .word 0x0000551f -00005aa8 : +00005b10 : } } } static inline lv_color_t color_blend_true_color_additive(lv_color_t fg, lv_color_t bg, lv_opa_t opa) { - 5aa8: b5f0 push {r4, r5, r6, r7, lr} - 5aaa: 1c05 adds r5, r0, #0 - 5aac: 06cb lsls r3, r1, #27 - 5aae: 0edb lsrs r3, r3, #27 - 5ab0: 054f lsls r7, r1, #21 - 5ab2: 0ebf lsrs r7, r7, #26 - 5ab4: 0409 lsls r1, r1, #16 - 5ab6: 0ec9 lsrs r1, r1, #27 + 5b10: b5f0 push {r4, r5, r6, r7, lr} + 5b12: 1c05 adds r5, r0, #0 + 5b14: 06cb lsls r3, r1, #27 + 5b16: 0edb lsrs r3, r3, #27 + 5b18: 054f lsls r7, r1, #21 + 5b1a: 0ebf lsrs r7, r7, #26 + 5b1c: 0409 lsls r1, r1, #16 + 5b1e: 0ec9 lsrs r1, r1, #27 if(opa <= LV_OPA_MIN) return bg; - 5ab8: 2a05 cmp r2, #5 - 5aba: d93d bls.n 5b38 + 5b20: 2a05 cmp r2, #5 + 5b22: d93d bls.n 5ba0 uint32_t tmp; #if LV_COLOR_DEPTH == 1 tmp = bg.full + fg.full; fg.full = LV_MATH_MIN(tmp, 1); #else tmp = bg.ch.red + fg.ch.red; - 5abc: 0428 lsls r0, r5, #16 - 5abe: 0ec0 lsrs r0, r0, #27 - 5ac0: 1840 adds r0, r0, r1 + 5b24: 0428 lsls r0, r5, #16 + 5b26: 0ec0 lsrs r0, r0, #27 + 5b28: 1840 adds r0, r0, r1 #if LV_COLOR_DEPTH == 8 fg.ch.red = LV_MATH_MIN(tmp, 7); #elif LV_COLOR_DEPTH == 16 fg.ch.red = LV_MATH_MIN(tmp, 31); - 5ac2: 281f cmp r0, #31 - 5ac4: d900 bls.n 5ac8 - 5ac6: 201f movs r0, #31 - 5ac8: 241f movs r4, #31 - 5aca: 4004 ands r4, r0 - 5acc: 46a4 mov ip, r4 + 5b2a: 281f cmp r0, #31 + 5b2c: d900 bls.n 5b30 + 5b2e: 201f movs r0, #31 + 5b30: 241f movs r4, #31 + 5b32: 4004 ands r4, r0 + 5b34: 46a4 mov ip, r4 #if LV_COLOR_DEPTH == 8 fg.ch.green = LV_MATH_MIN(tmp, 7); #elif LV_COLOR_DEPTH == 16 #if LV_COLOR_16_SWAP == 0 tmp = bg.ch.green + fg.ch.green; - 5ace: 056e lsls r6, r5, #21 - 5ad0: 0eb6 lsrs r6, r6, #26 - 5ad2: 19f6 adds r6, r6, r7 + 5b36: 056e lsls r6, r5, #21 + 5b38: 0eb6 lsrs r6, r6, #26 + 5b3a: 19f6 adds r6, r6, r7 fg.ch.green = LV_MATH_MIN(tmp, 63); - 5ad4: 2e3f cmp r6, #63 ; 0x3f - 5ad6: d900 bls.n 5ada - 5ad8: 263f movs r6, #63 ; 0x3f - 5ada: 243f movs r4, #63 ; 0x3f - 5adc: 4026 ands r6, r4 + 5b3c: 2e3f cmp r6, #63 ; 0x3f + 5b3e: d900 bls.n 5b42 + 5b40: 263f movs r6, #63 ; 0x3f + 5b42: 243f movs r4, #63 ; 0x3f + 5b44: 4026 ands r6, r4 #elif LV_COLOR_DEPTH == 32 fg.ch.green = LV_MATH_MIN(tmp, 255); #endif tmp = bg.ch.blue + fg.ch.blue; - 5ade: 06ed lsls r5, r5, #27 - 5ae0: 0eed lsrs r5, r5, #27 - 5ae2: 18ed adds r5, r5, r3 + 5b46: 06ed lsls r5, r5, #27 + 5b48: 0eed lsrs r5, r5, #27 + 5b4a: 18ed adds r5, r5, r3 #if LV_COLOR_DEPTH == 8 fg.ch.blue = LV_MATH_MIN(tmp, 4); #elif LV_COLOR_DEPTH == 16 fg.ch.blue = LV_MATH_MIN(tmp, 31); - 5ae4: 2d1f cmp r5, #31 - 5ae6: d900 bls.n 5aea - 5ae8: 251f movs r5, #31 - 5aea: 241f movs r4, #31 - 5aec: 402c ands r4, r5 + 5b4c: 2d1f cmp r5, #31 + 5b4e: d900 bls.n 5b52 + 5b50: 251f movs r5, #31 + 5b52: 241f movs r4, #31 + 5b54: 402c ands r4, r5 #elif LV_COLOR_DEPTH == 32 fg.ch.blue = LV_MATH_MIN(tmp, 255); #endif #endif if(opa == LV_OPA_COVER) return fg; - 5aee: 2aff cmp r2, #255 ; 0xff - 5af0: d027 beq.n 5b42 + 5b56: 2aff cmp r2, #255 ; 0xff + 5b58: d027 beq.n 5baa LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 5af2: 25ff movs r5, #255 ; 0xff - 5af4: 1aad subs r5, r5, r2 + 5b5a: 25ff movs r5, #255 ; 0xff + 5b5c: 1aad subs r5, r5, r2 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 5af6: 4354 muls r4, r2 - 5af8: 436b muls r3, r5 - 5afa: 18e3 adds r3, r4, r3 - 5afc: 0218 lsls r0, r3, #8 - 5afe: 18c0 adds r0, r0, r3 - 5b00: 01c0 lsls r0, r0, #7 - 5b02: 18c0 adds r0, r0, r3 - 5b04: 0100 lsls r0, r0, #4 + 5b5e: 4354 muls r4, r2 + 5b60: 436b muls r3, r5 + 5b62: 18e3 adds r3, r4, r3 + 5b64: 0218 lsls r0, r3, #8 + 5b66: 18c0 adds r0, r0, r3 + 5b68: 01c0 lsls r0, r0, #7 + 5b6a: 18c0 adds r0, r0, r3 + 5b6c: 0100 lsls r0, r0, #4 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 5b06: 4356 muls r6, r2 - 5b08: 436f muls r7, r5 - 5b0a: 19f7 adds r7, r6, r7 - 5b0c: 023e lsls r6, r7, #8 - 5b0e: 19f6 adds r6, r6, r7 - 5b10: 01f6 lsls r6, r6, #7 - 5b12: 19f6 adds r6, r6, r7 - 5b14: 00f6 lsls r6, r6, #3 - 5b16: 0eb6 lsrs r6, r6, #26 - 5b18: 0176 lsls r6, r6, #5 - 5b1a: 0ec0 lsrs r0, r0, #27 + 5b6e: 4356 muls r6, r2 + 5b70: 436f muls r7, r5 + 5b72: 19f7 adds r7, r6, r7 + 5b74: 023e lsls r6, r7, #8 + 5b76: 19f6 adds r6, r6, r7 + 5b78: 01f6 lsls r6, r6, #7 + 5b7a: 19f6 adds r6, r6, r7 + 5b7c: 00f6 lsls r6, r6, #3 + 5b7e: 0eb6 lsrs r6, r6, #26 + 5b80: 0176 lsls r6, r6, #5 + 5b82: 0ec0 lsrs r0, r0, #27 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 5b1c: 4663 mov r3, ip - 5b1e: 435a muls r2, r3 - 5b20: 4369 muls r1, r5 - 5b22: 1852 adds r2, r2, r1 - 5b24: 0211 lsls r1, r2, #8 - 5b26: 1889 adds r1, r1, r2 - 5b28: 01c9 lsls r1, r1, #7 - 5b2a: 188a adds r2, r1, r2 - 5b2c: 0dd2 lsrs r2, r2, #23 - 5b2e: b2d2 uxtb r2, r2 - 5b30: 02d2 lsls r2, r2, #11 - 5b32: 4330 orrs r0, r6 - 5b34: 4310 orrs r0, r2 + 5b84: 4663 mov r3, ip + 5b86: 435a muls r2, r3 + 5b88: 4369 muls r1, r5 + 5b8a: 1852 adds r2, r2, r1 + 5b8c: 0211 lsls r1, r2, #8 + 5b8e: 1889 adds r1, r1, r2 + 5b90: 01c9 lsls r1, r1, #7 + 5b92: 188a adds r2, r1, r2 + 5b94: 0dd2 lsrs r2, r2, #23 + 5b96: b2d2 uxtb r2, r2 + 5b98: 02d2 lsls r2, r2, #11 + 5b9a: 4330 orrs r0, r6 + 5b9c: 4310 orrs r0, r2 return lv_color_mix(fg, bg, opa); } - 5b36: bdf0 pop {r4, r5, r6, r7, pc} + 5b9e: bdf0 pop {r4, r5, r6, r7, pc} if(opa <= LV_OPA_MIN) return bg; - 5b38: 0178 lsls r0, r7, #5 - 5b3a: 02c9 lsls r1, r1, #11 - 5b3c: 4318 orrs r0, r3 - 5b3e: 4308 orrs r0, r1 - 5b40: e7f9 b.n 5b36 + 5ba0: 0178 lsls r0, r7, #5 + 5ba2: 02c9 lsls r1, r1, #11 + 5ba4: 4318 orrs r0, r3 + 5ba6: 4308 orrs r0, r1 + 5ba8: e7f9 b.n 5b9e if(opa == LV_OPA_COVER) return fg; - 5b42: 0170 lsls r0, r6, #5 - 5b44: 4663 mov r3, ip - 5b46: 02da lsls r2, r3, #11 - 5b48: 4320 orrs r0, r4 - 5b4a: 4310 orrs r0, r2 - 5b4c: e7f3 b.n 5b36 + 5baa: 0170 lsls r0, r6, #5 + 5bac: 4663 mov r3, ip + 5bae: 02da lsls r2, r3, #11 + 5bb0: 4320 orrs r0, r4 + 5bb2: 4310 orrs r0, r2 + 5bb4: e7f3 b.n 5b9e -00005b4e : +00005bb6 : static inline lv_color_t color_blend_true_color_subtractive(lv_color_t fg, lv_color_t bg, lv_opa_t opa) { - 5b4e: b5f0 push {r4, r5, r6, r7, lr} - 5b50: 46c6 mov lr, r8 - 5b52: b500 push {lr} - 5b54: 1c05 adds r5, r0, #0 - 5b56: 06c8 lsls r0, r1, #27 - 5b58: 0ec3 lsrs r3, r0, #27 - 5b5a: 4698 mov r8, r3 - 5b5c: 054f lsls r7, r1, #21 - 5b5e: 0ebf lsrs r7, r7, #26 - 5b60: 0409 lsls r1, r1, #16 - 5b62: 0ec9 lsrs r1, r1, #27 + 5bb6: b5f0 push {r4, r5, r6, r7, lr} + 5bb8: 46c6 mov lr, r8 + 5bba: b500 push {lr} + 5bbc: 1c05 adds r5, r0, #0 + 5bbe: 06c8 lsls r0, r1, #27 + 5bc0: 0ec3 lsrs r3, r0, #27 + 5bc2: 4698 mov r8, r3 + 5bc4: 054f lsls r7, r1, #21 + 5bc6: 0ebf lsrs r7, r7, #26 + 5bc8: 0409 lsls r1, r1, #16 + 5bca: 0ec9 lsrs r1, r1, #27 if(opa <= LV_OPA_MIN) return bg; - 5b64: 2a05 cmp r2, #5 - 5b66: d941 bls.n 5bec + 5bcc: 2a05 cmp r2, #5 + 5bce: d941 bls.n 5c54 int32_t tmp; tmp = bg.ch.red - fg.ch.red; - 5b68: 0428 lsls r0, r5, #16 - 5b6a: 0ec0 lsrs r0, r0, #27 - 5b6c: 1a08 subs r0, r1, r0 + 5bd0: 0428 lsls r0, r5, #16 + 5bd2: 0ec0 lsrs r0, r0, #27 + 5bd4: 1a08 subs r0, r1, r0 fg.ch.red = LV_MATH_MAX(tmp, 0); - 5b6e: 43c3 mvns r3, r0 - 5b70: 17db asrs r3, r3, #31 - 5b72: 4018 ands r0, r3 - 5b74: 231f movs r3, #31 - 5b76: 4003 ands r3, r0 - 5b78: 469c mov ip, r3 + 5bd6: 43c3 mvns r3, r0 + 5bd8: 17db asrs r3, r3, #31 + 5bda: 4018 ands r0, r3 + 5bdc: 231f movs r3, #31 + 5bde: 4003 ands r3, r0 + 5be0: 469c mov ip, r3 #if LV_COLOR_16_SWAP == 0 tmp = bg.ch.green - fg.ch.green; - 5b7a: 056e lsls r6, r5, #21 - 5b7c: 0eb6 lsrs r6, r6, #26 - 5b7e: 1bb8 subs r0, r7, r6 + 5be2: 056e lsls r6, r5, #21 + 5be4: 0eb6 lsrs r6, r6, #26 + 5be6: 1bb8 subs r0, r7, r6 fg.ch.green = LV_MATH_MAX(tmp, 0); - 5b80: 43c3 mvns r3, r0 - 5b82: 17db asrs r3, r3, #31 - 5b84: 4018 ands r0, r3 - 5b86: 263f movs r6, #63 ; 0x3f - 5b88: 4006 ands r6, r0 + 5be8: 43c3 mvns r3, r0 + 5bea: 17db asrs r3, r3, #31 + 5bec: 4018 ands r0, r3 + 5bee: 263f movs r6, #63 ; 0x3f + 5bf0: 4006 ands r6, r0 tmp = LV_MATH_MAX(tmp, 0); fg.ch.green_h = tmp >> 3; fg.ch.green_l = tmp & 0x7; #endif tmp = bg.ch.blue - fg.ch.blue; - 5b8a: 06ed lsls r5, r5, #27 - 5b8c: 0eed lsrs r5, r5, #27 - 5b8e: 4643 mov r3, r8 - 5b90: 1b5d subs r5, r3, r5 + 5bf2: 06ed lsls r5, r5, #27 + 5bf4: 0eed lsrs r5, r5, #27 + 5bf6: 4643 mov r3, r8 + 5bf8: 1b5d subs r5, r3, r5 fg.ch.blue = LV_MATH_MAX(tmp, 0); - 5b92: 43e8 mvns r0, r5 - 5b94: 17c0 asrs r0, r0, #31 - 5b96: 4005 ands r5, r0 - 5b98: 241f movs r4, #31 - 5b9a: 402c ands r4, r5 + 5bfa: 43e8 mvns r0, r5 + 5bfc: 17c0 asrs r0, r0, #31 + 5bfe: 4005 ands r5, r0 + 5c00: 241f movs r4, #31 + 5c02: 402c ands r4, r5 if(opa == LV_OPA_COVER) return fg; - 5b9c: 2aff cmp r2, #255 ; 0xff - 5b9e: d02b beq.n 5bf8 - 5ba0: 25ff movs r5, #255 ; 0xff - 5ba2: 1aad subs r5, r5, r2 + 5c04: 2aff cmp r2, #255 ; 0xff + 5c06: d02b beq.n 5c60 + 5c08: 25ff movs r5, #255 ; 0xff + 5c0a: 1aad subs r5, r5, r2 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 5ba4: 4354 muls r4, r2 - 5ba6: 4640 mov r0, r8 - 5ba8: 4368 muls r0, r5 - 5baa: 1824 adds r4, r4, r0 - 5bac: 0220 lsls r0, r4, #8 - 5bae: 1900 adds r0, r0, r4 - 5bb0: 01c0 lsls r0, r0, #7 - 5bb2: 1900 adds r0, r0, r4 - 5bb4: 0100 lsls r0, r0, #4 + 5c0c: 4354 muls r4, r2 + 5c0e: 4640 mov r0, r8 + 5c10: 4368 muls r0, r5 + 5c12: 1824 adds r4, r4, r0 + 5c14: 0220 lsls r0, r4, #8 + 5c16: 1900 adds r0, r0, r4 + 5c18: 01c0 lsls r0, r0, #7 + 5c1a: 1900 adds r0, r0, r4 + 5c1c: 0100 lsls r0, r0, #4 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 5bb6: 4356 muls r6, r2 - 5bb8: 436f muls r7, r5 - 5bba: 19f7 adds r7, r6, r7 - 5bbc: 023e lsls r6, r7, #8 - 5bbe: 19f6 adds r6, r6, r7 - 5bc0: 01f6 lsls r6, r6, #7 - 5bc2: 19f6 adds r6, r6, r7 - 5bc4: 00f6 lsls r6, r6, #3 - 5bc6: 0eb6 lsrs r6, r6, #26 - 5bc8: 0176 lsls r6, r6, #5 - 5bca: 0ec0 lsrs r0, r0, #27 + 5c1e: 4356 muls r6, r2 + 5c20: 436f muls r7, r5 + 5c22: 19f7 adds r7, r6, r7 + 5c24: 023e lsls r6, r7, #8 + 5c26: 19f6 adds r6, r6, r7 + 5c28: 01f6 lsls r6, r6, #7 + 5c2a: 19f6 adds r6, r6, r7 + 5c2c: 00f6 lsls r6, r6, #3 + 5c2e: 0eb6 lsrs r6, r6, #26 + 5c30: 0176 lsls r6, r6, #5 + 5c32: 0ec0 lsrs r0, r0, #27 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 5bcc: 4663 mov r3, ip - 5bce: 435a muls r2, r3 - 5bd0: 4369 muls r1, r5 - 5bd2: 1852 adds r2, r2, r1 - 5bd4: 0211 lsls r1, r2, #8 - 5bd6: 1889 adds r1, r1, r2 - 5bd8: 01c9 lsls r1, r1, #7 - 5bda: 188a adds r2, r1, r2 - 5bdc: 0dd2 lsrs r2, r2, #23 - 5bde: b2d2 uxtb r2, r2 - 5be0: 02d2 lsls r2, r2, #11 - 5be2: 4330 orrs r0, r6 - 5be4: 4310 orrs r0, r2 + 5c34: 4663 mov r3, ip + 5c36: 435a muls r2, r3 + 5c38: 4369 muls r1, r5 + 5c3a: 1852 adds r2, r2, r1 + 5c3c: 0211 lsls r1, r2, #8 + 5c3e: 1889 adds r1, r1, r2 + 5c40: 01c9 lsls r1, r1, #7 + 5c42: 188a adds r2, r1, r2 + 5c44: 0dd2 lsrs r2, r2, #23 + 5c46: b2d2 uxtb r2, r2 + 5c48: 02d2 lsls r2, r2, #11 + 5c4a: 4330 orrs r0, r6 + 5c4c: 4310 orrs r0, r2 return lv_color_mix(fg, bg, opa); } - 5be6: bc04 pop {r2} - 5be8: 4690 mov r8, r2 - 5bea: bdf0 pop {r4, r5, r6, r7, pc} + 5c4e: bc04 pop {r2} + 5c50: 4690 mov r8, r2 + 5c52: bdf0 pop {r4, r5, r6, r7, pc} if(opa <= LV_OPA_MIN) return bg; - 5bec: 0178 lsls r0, r7, #5 - 5bee: 02c9 lsls r1, r1, #11 - 5bf0: 4303 orrs r3, r0 - 5bf2: 0018 movs r0, r3 - 5bf4: 4308 orrs r0, r1 - 5bf6: e7f6 b.n 5be6 + 5c54: 0178 lsls r0, r7, #5 + 5c56: 02c9 lsls r1, r1, #11 + 5c58: 4303 orrs r3, r0 + 5c5a: 0018 movs r0, r3 + 5c5c: 4308 orrs r0, r1 + 5c5e: e7f6 b.n 5c4e if(opa == LV_OPA_COVER) return fg; - 5bf8: 0176 lsls r6, r6, #5 - 5bfa: 4663 mov r3, ip - 5bfc: 02d8 lsls r0, r3, #11 - 5bfe: 4334 orrs r4, r6 - 5c00: 4320 orrs r0, r4 - 5c02: e7f0 b.n 5be6 - -00005c04 <_lv_blend_fill>: -{ - 5c04: b5f0 push {r4, r5, r6, r7, lr} - 5c06: 46de mov lr, fp - 5c08: 4657 mov r7, sl - 5c0a: 464e mov r6, r9 - 5c0c: 4645 mov r5, r8 - 5c0e: b5e0 push {r5, r6, r7, lr} - 5c10: b093 sub sp, #76 ; 0x4c - 5c12: 0004 movs r4, r0 - 5c14: 000d movs r5, r1 - 5c16: 4669 mov r1, sp - 5c18: 828a strh r2, [r1, #20] - 5c1a: 9306 str r3, [sp, #24] - 5c1c: ab1c add r3, sp, #112 ; 0x70 - 5c1e: 781f ldrb r7, [r3, #0] - 5c20: ab1d add r3, sp, #116 ; 0x74 - 5c22: 781b ldrb r3, [r3, #0] - 5c24: 469b mov fp, r3 - 5c26: ab1e add r3, sp, #120 ; 0x78 - 5c28: 781e ldrb r6, [r3, #0] + 5c60: 0176 lsls r6, r6, #5 + 5c62: 4663 mov r3, ip + 5c64: 02d8 lsls r0, r3, #11 + 5c66: 4334 orrs r4, r6 + 5c68: 4320 orrs r0, r4 + 5c6a: e7f0 b.n 5c4e + +00005c6c <_lv_blend_fill>: +{ + 5c6c: b5f0 push {r4, r5, r6, r7, lr} + 5c6e: 46de mov lr, fp + 5c70: 4657 mov r7, sl + 5c72: 464e mov r6, r9 + 5c74: 4645 mov r5, r8 + 5c76: b5e0 push {r5, r6, r7, lr} + 5c78: b093 sub sp, #76 ; 0x4c + 5c7a: 0004 movs r4, r0 + 5c7c: 000d movs r5, r1 + 5c7e: 4669 mov r1, sp + 5c80: 828a strh r2, [r1, #20] + 5c82: 9306 str r3, [sp, #24] + 5c84: ab1c add r3, sp, #112 ; 0x70 + 5c86: 781f ldrb r7, [r3, #0] + 5c88: ab1d add r3, sp, #116 ; 0x74 + 5c8a: 781b ldrb r3, [r3, #0] + 5c8c: 469b mov fp, r3 + 5c8e: ab1e add r3, sp, #120 ; 0x78 + 5c90: 781e ldrb r6, [r3, #0] if(opa < LV_OPA_MIN) return; - 5c2a: 465b mov r3, fp - 5c2c: 2b04 cmp r3, #4 - 5c2e: d901 bls.n 5c34 <_lv_blend_fill+0x30> + 5c92: 465b mov r3, fp + 5c94: 2b04 cmp r3, #4 + 5c96: d901 bls.n 5c9c <_lv_blend_fill+0x30> if(mask_res == LV_DRAW_MASK_RES_TRANSP) return; - 5c30: 2f00 cmp r7, #0 - 5c32: d106 bne.n 5c42 <_lv_blend_fill+0x3e> -} - 5c34: b013 add sp, #76 ; 0x4c - 5c36: bc3c pop {r2, r3, r4, r5} - 5c38: 4690 mov r8, r2 - 5c3a: 4699 mov r9, r3 - 5c3c: 46a2 mov sl, r4 - 5c3e: 46ab mov fp, r5 - 5c40: bdf0 pop {r4, r5, r6, r7, pc} + 5c98: 2f00 cmp r7, #0 + 5c9a: d106 bne.n 5caa <_lv_blend_fill+0x3e> +} + 5c9c: b013 add sp, #76 ; 0x4c + 5c9e: bc3c pop {r2, r3, r4, r5} + 5ca0: 4690 mov r8, r2 + 5ca2: 4699 mov r9, r3 + 5ca4: 46a2 mov sl, r4 + 5ca6: 46ab mov fp, r5 + 5ca8: bdf0 pop {r4, r5, r6, r7, pc} lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 5c42: 4bbf ldr r3, [pc, #764] ; (5f40 <_lv_blend_fill+0x33c>) - 5c44: 4798 blx r3 - 5c46: 4682 mov sl, r0 + 5caa: 4bbf ldr r3, [pc, #764] ; (5fa8 <_lv_blend_fill+0x33c>) + 5cac: 4798 blx r3 + 5cae: 4682 mov sl, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 5c48: 4bbe ldr r3, [pc, #760] ; (5f44 <_lv_blend_fill+0x340>) - 5c4a: 4798 blx r3 - 5c4c: 4680 mov r8, r0 + 5cb0: 4bbe ldr r3, [pc, #760] ; (5fac <_lv_blend_fill+0x340>) + 5cb2: 4798 blx r3 + 5cb4: 4680 mov r8, r0 lv_color_t * disp_buf = vdb->buf_act; - 5c4e: 6883 ldr r3, [r0, #8] - 5c50: 9304 str r3, [sp, #16] + 5cb6: 6883 ldr r3, [r0, #8] + 5cb8: 9304 str r3, [sp, #16] is_common = _lv_area_intersect(&draw_area, clip_area, fill_area); - 5c52: 002a movs r2, r5 - 5c54: 0021 movs r1, r4 - 5c56: a810 add r0, sp, #64 ; 0x40 - 5c58: 4bbb ldr r3, [pc, #748] ; (5f48 <_lv_blend_fill+0x344>) - 5c5a: 4798 blx r3 + 5cba: 002a movs r2, r5 + 5cbc: 0021 movs r1, r4 + 5cbe: a810 add r0, sp, #64 ; 0x40 + 5cc0: 4bbb ldr r3, [pc, #748] ; (5fb0 <_lv_blend_fill+0x344>) + 5cc2: 4798 blx r3 if(!is_common) return; - 5c5c: 2800 cmp r0, #0 - 5c5e: d0e9 beq.n 5c34 <_lv_blend_fill+0x30> + 5cc4: 2800 cmp r0, #0 + 5cc6: d0e9 beq.n 5c9c <_lv_blend_fill+0x30> draw_area.x1 -= disp_area->x1; - 5c60: 4643 mov r3, r8 - 5c62: 8a1a ldrh r2, [r3, #16] - 5c64: ab10 add r3, sp, #64 ; 0x40 - 5c66: 8819 ldrh r1, [r3, #0] - 5c68: 1a89 subs r1, r1, r2 - 5c6a: b289 uxth r1, r1 - 5c6c: 910b str r1, [sp, #44] ; 0x2c - 5c6e: 468c mov ip, r1 - 5c70: b208 sxth r0, r1 - 5c72: 900a str r0, [sp, #40] ; 0x28 - 5c74: 8018 strh r0, [r3, #0] + 5cc8: 4643 mov r3, r8 + 5cca: 8a1a ldrh r2, [r3, #16] + 5ccc: ab10 add r3, sp, #64 ; 0x40 + 5cce: 8819 ldrh r1, [r3, #0] + 5cd0: 1a89 subs r1, r1, r2 + 5cd2: b289 uxth r1, r1 + 5cd4: 910b str r1, [sp, #44] ; 0x2c + 5cd6: 468c mov ip, r1 + 5cd8: b208 sxth r0, r1 + 5cda: 900a str r0, [sp, #40] ; 0x28 + 5cdc: 8018 strh r0, [r3, #0] draw_area.y1 -= disp_area->y1; - 5c76: 4640 mov r0, r8 - 5c78: 8a41 ldrh r1, [r0, #18] - 5c7a: 885d ldrh r5, [r3, #2] - 5c7c: 1a6d subs r5, r5, r1 - 5c7e: b22d sxth r5, r5 - 5c80: 805d strh r5, [r3, #2] + 5cde: 4640 mov r0, r8 + 5ce0: 8a41 ldrh r1, [r0, #18] + 5ce2: 885d ldrh r5, [r3, #2] + 5ce4: 1a6d subs r5, r5, r1 + 5ce6: b22d sxth r5, r5 + 5ce8: 805d strh r5, [r3, #2] draw_area.x2 -= disp_area->x1; - 5c82: 8898 ldrh r0, [r3, #4] - 5c84: 1a80 subs r0, r0, r2 - 5c86: b280 uxth r0, r0 - 5c88: 8098 strh r0, [r3, #4] + 5cea: 8898 ldrh r0, [r3, #4] + 5cec: 1a80 subs r0, r0, r2 + 5cee: b280 uxth r0, r0 + 5cf0: 8098 strh r0, [r3, #4] draw_area.y2 -= disp_area->y1; - 5c8a: 88da ldrh r2, [r3, #6] - 5c8c: 1a52 subs r2, r2, r1 - 5c8e: b212 sxth r2, r2 - 5c90: 4691 mov r9, r2 - 5c92: 80da strh r2, [r3, #6] + 5cf2: 88da ldrh r2, [r3, #6] + 5cf4: 1a52 subs r2, r2, r1 + 5cf6: b212 sxth r2, r2 + 5cf8: 4691 mov r9, r2 + 5cfa: 80da strh r2, [r3, #6] if(mask && disp->driver.antialiasing == 0) - 5c94: 9a06 ldr r2, [sp, #24] - 5c96: 2a00 cmp r2, #0 - 5c98: d018 beq.n 5ccc <_lv_blend_fill+0xc8> - 5c9a: 4653 mov r3, sl - 5c9c: 7a1b ldrb r3, [r3, #8] - 5c9e: 07db lsls r3, r3, #31 - 5ca0: d414 bmi.n 5ccc <_lv_blend_fill+0xc8> + 5cfc: 9a06 ldr r2, [sp, #24] + 5cfe: 2a00 cmp r2, #0 + 5d00: d018 beq.n 5d34 <_lv_blend_fill+0xc8> + 5d02: 4653 mov r3, sl + 5d04: 7a1b ldrb r3, [r3, #8] + 5d06: 07db lsls r3, r3, #31 + 5d08: d414 bmi.n 5d34 <_lv_blend_fill+0xc8> * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 5ca2: 1c41 adds r1, r0, #1 - 5ca4: 4663 mov r3, ip - 5ca6: 1ac9 subs r1, r1, r3 - 5ca8: b209 sxth r1, r1 + 5d0a: 1c41 adds r1, r0, #1 + 5d0c: 4663 mov r3, ip + 5d0e: 1ac9 subs r1, r1, r3 + 5d10: b209 sxth r1, r1 for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP; - 5caa: 2900 cmp r1, #0 - 5cac: dd0e ble.n 5ccc <_lv_blend_fill+0xc8> - 5cae: 0013 movs r3, r2 - 5cb0: 4694 mov ip, r2 - 5cb2: 4461 add r1, ip - 5cb4: 2480 movs r4, #128 ; 0x80 - 5cb6: 9a0a ldr r2, [sp, #40] ; 0x28 - 5cb8: 4694 mov ip, r2 - 5cba: 781a ldrb r2, [r3, #0] - 5cbc: 4294 cmp r4, r2 - 5cbe: 4192 sbcs r2, r2 - 5cc0: 701a strb r2, [r3, #0] - 5cc2: 3301 adds r3, #1 - 5cc4: 428b cmp r3, r1 - 5cc6: d1f8 bne.n 5cba <_lv_blend_fill+0xb6> - 5cc8: 4663 mov r3, ip - 5cca: 930a str r3, [sp, #40] ; 0x28 + 5d12: 2900 cmp r1, #0 + 5d14: dd0e ble.n 5d34 <_lv_blend_fill+0xc8> + 5d16: 0013 movs r3, r2 + 5d18: 4694 mov ip, r2 + 5d1a: 4461 add r1, ip + 5d1c: 2480 movs r4, #128 ; 0x80 + 5d1e: 9a0a ldr r2, [sp, #40] ; 0x28 + 5d20: 4694 mov ip, r2 + 5d22: 781a ldrb r2, [r3, #0] + 5d24: 4294 cmp r4, r2 + 5d26: 4192 sbcs r2, r2 + 5d28: 701a strb r2, [r3, #0] + 5d2a: 3301 adds r3, #1 + 5d2c: 428b cmp r3, r1 + 5d2e: d1f8 bne.n 5d22 <_lv_blend_fill+0xb6> + 5d30: 4663 mov r3, ip + 5d32: 930a str r3, [sp, #40] ; 0x28 if(disp->driver.set_px_cb) { - 5ccc: 4653 mov r3, sl - 5cce: 695b ldr r3, [r3, #20] - 5cd0: 2b00 cmp r3, #0 - 5cd2: d100 bne.n 5cd6 <_lv_blend_fill+0xd2> - 5cd4: e08c b.n 5df0 <_lv_blend_fill+0x1ec> - 5cd6: 466b mov r3, sp - 5cd8: 8a9e ldrh r6, [r3, #20] + 5d34: 4653 mov r3, sl + 5d36: 695b ldr r3, [r3, #20] + 5d38: 2b00 cmp r3, #0 + 5d3a: d100 bne.n 5d3e <_lv_blend_fill+0xd2> + 5d3c: e08c b.n 5e58 <_lv_blend_fill+0x1ec> + 5d3e: 466b mov r3, sp + 5d40: 8a9e ldrh r6, [r3, #20] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 5cda: 4b99 ldr r3, [pc, #612] ; (5f40 <_lv_blend_fill+0x33c>) - 5cdc: 4798 blx r3 - 5cde: 0005 movs r5, r0 - 5ce0: 4643 mov r3, r8 - 5ce2: 8a9b ldrh r3, [r3, #20] - 5ce4: 3301 adds r3, #1 - 5ce6: 4642 mov r2, r8 - 5ce8: 8a12 ldrh r2, [r2, #16] - 5cea: 1a9b subs r3, r3, r2 - 5cec: b21b sxth r3, r3 - 5cee: 9305 str r3, [sp, #20] + 5d42: 4b99 ldr r3, [pc, #612] ; (5fa8 <_lv_blend_fill+0x33c>) + 5d44: 4798 blx r3 + 5d46: 0005 movs r5, r0 + 5d48: 4643 mov r3, r8 + 5d4a: 8a9b ldrh r3, [r3, #20] + 5d4c: 3301 adds r3, #1 + 5d4e: 4642 mov r2, r8 + 5d50: 8a12 ldrh r2, [r2, #16] + 5d52: 1a9b subs r3, r3, r2 + 5d54: b21b sxth r3, r3 + 5d56: 9305 str r3, [sp, #20] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 5cf0: 2f01 cmp r7, #1 - 5cf2: d046 beq.n 5d82 <_lv_blend_fill+0x17e> + 5d58: 2f01 cmp r7, #1 + 5d5a: d046 beq.n 5dea <_lv_blend_fill+0x17e> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 5cf4: aa10 add r2, sp, #64 ; 0x40 - 5cf6: 2300 movs r3, #0 - 5cf8: 5ed1 ldrsh r1, [r2, r3] - 5cfa: 9b06 ldr r3, [sp, #24] - 5cfc: 1a5b subs r3, r3, r1 - 5cfe: 4698 mov r8, r3 - 5d00: 8893 ldrh r3, [r2, #4] - 5d02: 3301 adds r3, #1 - 5d04: 1a5b subs r3, r3, r1 - 5d06: b21b sxth r3, r3 - 5d08: 9308 str r3, [sp, #32] + 5d5c: aa10 add r2, sp, #64 ; 0x40 + 5d5e: 2300 movs r3, #0 + 5d60: 5ed1 ldrsh r1, [r2, r3] + 5d62: 9b06 ldr r3, [sp, #24] + 5d64: 1a5b subs r3, r3, r1 + 5d66: 4698 mov r8, r3 + 5d68: 8893 ldrh r3, [r2, #4] + 5d6a: 3301 adds r3, #1 + 5d6c: 1a5b subs r3, r3, r1 + 5d6e: b21b sxth r3, r3 + 5d70: 9308 str r3, [sp, #32] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5d0a: 2102 movs r1, #2 - 5d0c: 5e53 ldrsh r3, [r2, r1] - 5d0e: 0019 movs r1, r3 - 5d10: 9307 str r3, [sp, #28] - 5d12: 2306 movs r3, #6 - 5d14: 5ed3 ldrsh r3, [r2, r3] - 5d16: 4299 cmp r1, r3 - 5d18: dd00 ble.n 5d1c <_lv_blend_fill+0x118> - 5d1a: e78b b.n 5c34 <_lv_blend_fill+0x30> + 5d72: 2102 movs r1, #2 + 5d74: 5e53 ldrsh r3, [r2, r1] + 5d76: 0019 movs r1, r3 + 5d78: 9307 str r3, [sp, #28] + 5d7a: 2306 movs r3, #6 + 5d7c: 5ed3 ldrsh r3, [r2, r3] + 5d7e: 4299 cmp r1, r3 + 5d80: dd00 ble.n 5d84 <_lv_blend_fill+0x118> + 5d82: e78b b.n 5c9c <_lv_blend_fill+0x30> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 5d1c: af10 add r7, sp, #64 ; 0x40 + 5d84: af10 add r7, sp, #64 ; 0x40 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, - 5d1e: ab01 add r3, sp, #4 - 5d20: 469a mov sl, r3 - 5d22: 46b1 mov r9, r6 - 5d24: 4646 mov r6, r8 + 5d86: ab01 add r3, sp, #4 + 5d88: 469a mov sl, r3 + 5d8a: 46b1 mov r9, r6 + 5d8c: 4646 mov r6, r8 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 5d26: 2300 movs r3, #0 - 5d28: 5efc ldrsh r4, [r7, r3] - 5d2a: 2204 movs r2, #4 - 5d2c: 5ebb ldrsh r3, [r7, r2] - 5d2e: 429c cmp r4, r3 - 5d30: dc1b bgt.n 5d6a <_lv_blend_fill+0x166> + 5d8e: 2300 movs r3, #0 + 5d90: 5efc ldrsh r4, [r7, r3] + 5d92: 2204 movs r2, #4 + 5d94: 5ebb ldrsh r3, [r7, r2] + 5d96: 429c cmp r4, r3 + 5d98: dc1b bgt.n 5dd2 <_lv_blend_fill+0x166> disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, - 5d32: 466b mov r3, sp - 5d34: 221c movs r2, #28 - 5d36: 5e9b ldrsh r3, [r3, r2] - 5d38: 4698 mov r8, r3 - 5d3a: 9606 str r6, [sp, #24] - 5d3c: b223 sxth r3, r4 + 5d9a: 466b mov r3, sp + 5d9c: 221c movs r2, #28 + 5d9e: 5e9b ldrsh r3, [r3, r2] + 5da0: 4698 mov r8, r3 + 5da2: 9606 str r6, [sp, #24] + 5da4: b223 sxth r3, r4 (uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8); - 5d3e: 9a06 ldr r2, [sp, #24] - 5d40: 5d12 ldrb r2, [r2, r4] - 5d42: 4659 mov r1, fp - 5d44: 434a muls r2, r1 + 5da6: 9a06 ldr r2, [sp, #24] + 5da8: 5d12 ldrb r2, [r2, r4] + 5daa: 4659 mov r1, fp + 5dac: 434a muls r2, r1 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, - 5d46: 0a12 lsrs r2, r2, #8 - 5d48: 9202 str r2, [sp, #8] - 5d4a: 4652 mov r2, sl - 5d4c: 4649 mov r1, r9 - 5d4e: 8011 strh r1, [r2, #0] - 5d50: 4642 mov r2, r8 - 5d52: 9200 str r2, [sp, #0] - 5d54: 9a05 ldr r2, [sp, #20] - 5d56: 9904 ldr r1, [sp, #16] - 5d58: 0028 movs r0, r5 - 5d5a: 696e ldr r6, [r5, #20] - 5d5c: 47b0 blx r6 + 5dae: 0a12 lsrs r2, r2, #8 + 5db0: 9202 str r2, [sp, #8] + 5db2: 4652 mov r2, sl + 5db4: 4649 mov r1, r9 + 5db6: 8011 strh r1, [r2, #0] + 5db8: 4642 mov r2, r8 + 5dba: 9200 str r2, [sp, #0] + 5dbc: 9a05 ldr r2, [sp, #20] + 5dbe: 9904 ldr r1, [sp, #16] + 5dc0: 0028 movs r0, r5 + 5dc2: 696e ldr r6, [r5, #20] + 5dc4: 47b0 blx r6 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 5d5e: 3401 adds r4, #1 - 5d60: 2204 movs r2, #4 - 5d62: 5ebb ldrsh r3, [r7, r2] - 5d64: 429c cmp r4, r3 - 5d66: dde9 ble.n 5d3c <_lv_blend_fill+0x138> - 5d68: 9e06 ldr r6, [sp, #24] - 5d6a: 9b08 ldr r3, [sp, #32] - 5d6c: 469c mov ip, r3 - 5d6e: 4466 add r6, ip + 5dc6: 3401 adds r4, #1 + 5dc8: 2204 movs r2, #4 + 5dca: 5ebb ldrsh r3, [r7, r2] + 5dcc: 429c cmp r4, r3 + 5dce: dde9 ble.n 5da4 <_lv_blend_fill+0x138> + 5dd0: 9e06 ldr r6, [sp, #24] + 5dd2: 9b08 ldr r3, [sp, #32] + 5dd4: 469c mov ip, r3 + 5dd6: 4466 add r6, ip for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5d70: 9b07 ldr r3, [sp, #28] - 5d72: 3301 adds r3, #1 - 5d74: 001a movs r2, r3 - 5d76: 9307 str r3, [sp, #28] - 5d78: 2106 movs r1, #6 - 5d7a: 5e7b ldrsh r3, [r7, r1] - 5d7c: 429a cmp r2, r3 - 5d7e: ddd2 ble.n 5d26 <_lv_blend_fill+0x122> - 5d80: e758 b.n 5c34 <_lv_blend_fill+0x30> + 5dd8: 9b07 ldr r3, [sp, #28] + 5dda: 3301 adds r3, #1 + 5ddc: 001a movs r2, r3 + 5dde: 9307 str r3, [sp, #28] + 5de0: 2106 movs r1, #6 + 5de2: 5e7b ldrsh r3, [r7, r1] + 5de4: 429a cmp r2, r3 + 5de6: ddd2 ble.n 5d8e <_lv_blend_fill+0x122> + 5de8: e758 b.n 5c9c <_lv_blend_fill+0x30> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5d82: ab10 add r3, sp, #64 ; 0x40 - 5d84: 2102 movs r1, #2 - 5d86: 5e5a ldrsh r2, [r3, r1] - 5d88: 4692 mov sl, r2 - 5d8a: 2206 movs r2, #6 - 5d8c: 5e9b ldrsh r3, [r3, r2] - 5d8e: 459a cmp sl, r3 - 5d90: dd00 ble.n 5d94 <_lv_blend_fill+0x190> - 5d92: e74f b.n 5c34 <_lv_blend_fill+0x30> + 5dea: ab10 add r3, sp, #64 ; 0x40 + 5dec: 2102 movs r1, #2 + 5dee: 5e5a ldrsh r2, [r3, r1] + 5df0: 4692 mov sl, r2 + 5df2: 2206 movs r2, #6 + 5df4: 5e9b ldrsh r3, [r3, r2] + 5df6: 459a cmp sl, r3 + 5df8: dd00 ble.n 5dfc <_lv_blend_fill+0x190> + 5dfa: e74f b.n 5c9c <_lv_blend_fill+0x30> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 5d94: ac10 add r4, sp, #64 ; 0x40 + 5dfc: ac10 add r4, sp, #64 ; 0x40 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, opa); - 5d96: ab01 add r3, sp, #4 - 5d98: 4699 mov r9, r3 - 5d9a: 46b0 mov r8, r6 + 5dfe: ab01 add r3, sp, #4 + 5e00: 4699 mov r9, r3 + 5e02: 46b0 mov r8, r6 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 5d9c: 2300 movs r3, #0 - 5d9e: 5ee7 ldrsh r7, [r4, r3] - 5da0: 2204 movs r2, #4 - 5da2: 5ea3 ldrsh r3, [r4, r2] - 5da4: 429f cmp r7, r3 - 5da6: dc1b bgt.n 5de0 <_lv_blend_fill+0x1dc> + 5e04: 2300 movs r3, #0 + 5e06: 5ee7 ldrsh r7, [r4, r3] + 5e08: 2204 movs r2, #4 + 5e0a: 5ea3 ldrsh r3, [r4, r2] + 5e0c: 429f cmp r7, r3 + 5e0e: dc1b bgt.n 5e48 <_lv_blend_fill+0x1dc> disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, opa); - 5da8: 4653 mov r3, sl - 5daa: b21e sxth r6, r3 - 5dac: 4642 mov r2, r8 - 5dae: 4669 mov r1, sp - 5db0: 830a strh r2, [r1, #24] - 5db2: 46b0 mov r8, r6 - 5db4: b23b sxth r3, r7 - 5db6: 465a mov r2, fp - 5db8: 9202 str r2, [sp, #8] - 5dba: 464a mov r2, r9 - 5dbc: 4669 mov r1, sp - 5dbe: 8b09 ldrh r1, [r1, #24] - 5dc0: 8011 strh r1, [r2, #0] - 5dc2: 4642 mov r2, r8 - 5dc4: 9200 str r2, [sp, #0] - 5dc6: 9a05 ldr r2, [sp, #20] - 5dc8: 9904 ldr r1, [sp, #16] - 5dca: 0028 movs r0, r5 - 5dcc: 696e ldr r6, [r5, #20] - 5dce: 47b0 blx r6 + 5e10: 4653 mov r3, sl + 5e12: b21e sxth r6, r3 + 5e14: 4642 mov r2, r8 + 5e16: 4669 mov r1, sp + 5e18: 830a strh r2, [r1, #24] + 5e1a: 46b0 mov r8, r6 + 5e1c: b23b sxth r3, r7 + 5e1e: 465a mov r2, fp + 5e20: 9202 str r2, [sp, #8] + 5e22: 464a mov r2, r9 + 5e24: 4669 mov r1, sp + 5e26: 8b09 ldrh r1, [r1, #24] + 5e28: 8011 strh r1, [r2, #0] + 5e2a: 4642 mov r2, r8 + 5e2c: 9200 str r2, [sp, #0] + 5e2e: 9a05 ldr r2, [sp, #20] + 5e30: 9904 ldr r1, [sp, #16] + 5e32: 0028 movs r0, r5 + 5e34: 696e ldr r6, [r5, #20] + 5e36: 47b0 blx r6 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 5dd0: 3701 adds r7, #1 - 5dd2: 2204 movs r2, #4 - 5dd4: 5ea3 ldrsh r3, [r4, r2] - 5dd6: 429f cmp r7, r3 - 5dd8: ddec ble.n 5db4 <_lv_blend_fill+0x1b0> - 5dda: 466b mov r3, sp - 5ddc: 8b1b ldrh r3, [r3, #24] - 5dde: 4698 mov r8, r3 + 5e38: 3701 adds r7, #1 + 5e3a: 2204 movs r2, #4 + 5e3c: 5ea3 ldrsh r3, [r4, r2] + 5e3e: 429f cmp r7, r3 + 5e40: ddec ble.n 5e1c <_lv_blend_fill+0x1b0> + 5e42: 466b mov r3, sp + 5e44: 8b1b ldrh r3, [r3, #24] + 5e46: 4698 mov r8, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5de0: 2301 movs r3, #1 - 5de2: 469c mov ip, r3 - 5de4: 44e2 add sl, ip - 5de6: 2206 movs r2, #6 - 5de8: 5ea3 ldrsh r3, [r4, r2] - 5dea: 459a cmp sl, r3 - 5dec: ddd6 ble.n 5d9c <_lv_blend_fill+0x198> - 5dee: e721 b.n 5c34 <_lv_blend_fill+0x30> + 5e48: 2301 movs r3, #1 + 5e4a: 469c mov ip, r3 + 5e4c: 44e2 add sl, ip + 5e4e: 2206 movs r2, #6 + 5e50: 5ea3 ldrsh r3, [r4, r2] + 5e52: 459a cmp sl, r3 + 5e54: ddd6 ble.n 5e04 <_lv_blend_fill+0x198> + 5e56: e721 b.n 5c9c <_lv_blend_fill+0x30> else if(mode == LV_BLEND_MODE_NORMAL) { - 5df0: 2e00 cmp r6, #0 - 5df2: d001 beq.n 5df8 <_lv_blend_fill+0x1f4> - 5df4: f000 fc27 bl 6646 <_lv_blend_fill+0xa42> - 5df8: 466b mov r3, sp - 5dfa: 8a9b ldrh r3, [r3, #20] - 5dfc: 466a mov r2, sp - 5dfe: 8413 strh r3, [r2, #32] + 5e58: 2e00 cmp r6, #0 + 5e5a: d001 beq.n 5e60 <_lv_blend_fill+0x1f4> + 5e5c: f000 fc27 bl 66ae <_lv_blend_fill+0xa42> + 5e60: 466b mov r3, sp + 5e62: 8a9b ldrh r3, [r3, #20] + 5e64: 466a mov r2, sp + 5e66: 8413 strh r3, [r2, #32] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 5e00: 4b4f ldr r3, [pc, #316] ; (5f40 <_lv_blend_fill+0x33c>) - 5e02: 4798 blx r3 - 5e04: 0004 movs r4, r0 - 5e06: 4643 mov r3, r8 - 5e08: 8a9d ldrh r5, [r3, #20] - 5e0a: 3501 adds r5, #1 - 5e0c: 8a1b ldrh r3, [r3, #16] - 5e0e: 1aed subs r5, r5, r3 - 5e10: b22d sxth r5, r5 - 5e12: a810 add r0, sp, #64 ; 0x40 - 5e14: 2300 movs r3, #0 - 5e16: 5ec1 ldrsh r1, [r0, r3] - 5e18: 8883 ldrh r3, [r0, #4] - 5e1a: 3301 adds r3, #1 - 5e1c: 1a5b subs r3, r3, r1 - 5e1e: b21b sxth r3, r3 - 5e20: 930b str r3, [sp, #44] ; 0x2c + 5e68: 4b4f ldr r3, [pc, #316] ; (5fa8 <_lv_blend_fill+0x33c>) + 5e6a: 4798 blx r3 + 5e6c: 0004 movs r4, r0 + 5e6e: 4643 mov r3, r8 + 5e70: 8a9d ldrh r5, [r3, #20] + 5e72: 3501 adds r5, #1 + 5e74: 8a1b ldrh r3, [r3, #16] + 5e76: 1aed subs r5, r5, r3 + 5e78: b22d sxth r5, r5 + 5e7a: a810 add r0, sp, #64 ; 0x40 + 5e7c: 2300 movs r3, #0 + 5e7e: 5ec1 ldrsh r1, [r0, r3] + 5e80: 8883 ldrh r3, [r0, #4] + 5e82: 3301 adds r3, #1 + 5e84: 1a5b subs r3, r3, r1 + 5e86: b21b sxth r3, r3 + 5e88: 930b str r3, [sp, #44] ; 0x2c int32_t draw_area_w = lv_area_get_width(draw_area); - 5e22: 930a str r3, [sp, #40] ; 0x28 + 5e8a: 930a str r3, [sp, #40] ; 0x28 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 5e24: 2306 movs r3, #6 - 5e26: 5ec2 ldrsh r2, [r0, r3] - 5e28: 2302 movs r3, #2 - 5e2a: 5ec3 ldrsh r3, [r0, r3] - 5e2c: 1c56 adds r6, r2, #1 - 5e2e: 1af6 subs r6, r6, r3 - 5e30: b236 sxth r6, r6 + 5e8c: 2306 movs r3, #6 + 5e8e: 5ec2 ldrsh r2, [r0, r3] + 5e90: 2302 movs r3, #2 + 5e92: 5ec3 ldrsh r3, [r0, r3] + 5e94: 1c56 adds r6, r2, #1 + 5e96: 1af6 subs r6, r6, r3 + 5e98: b236 sxth r6, r6 int32_t draw_area_h = lv_area_get_height(draw_area); - 5e32: 960e str r6, [sp, #56] ; 0x38 + 5e9a: 960e str r6, [sp, #56] ; 0x38 lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1; - 5e34: 930c str r3, [sp, #48] ; 0x30 - 5e36: 436b muls r3, r5 - 5e38: 185b adds r3, r3, r1 - 5e3a: 005b lsls r3, r3, #1 - 5e3c: 9904 ldr r1, [sp, #16] - 5e3e: 468c mov ip, r1 - 5e40: 4463 add r3, ip - 5e42: 9307 str r3, [sp, #28] + 5e9c: 930c str r3, [sp, #48] ; 0x30 + 5e9e: 436b muls r3, r5 + 5ea0: 185b adds r3, r3, r1 + 5ea2: 005b lsls r3, r3, #1 + 5ea4: 9904 ldr r1, [sp, #16] + 5ea6: 468c mov ip, r1 + 5ea8: 4463 add r3, ip + 5eaa: 9307 str r3, [sp, #28] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 5e44: 2f01 cmp r7, #1 - 5e46: d01e beq.n 5e86 <_lv_blend_fill+0x282> + 5eac: 2f01 cmp r7, #1 + 5eae: d01e beq.n 5eee <_lv_blend_fill+0x282> if(opa > LV_OPA_MAX) { - 5e48: 465b mov r3, fp - 5e4a: 2bfa cmp r3, #250 ; 0xfa - 5e4c: d900 bls.n 5e50 <_lv_blend_fill+0x24c> - 5e4e: e127 b.n 60a0 <_lv_blend_fill+0x49c> + 5eb0: 465b mov r3, fp + 5eb2: 2bfa cmp r3, #250 ; 0xfa + 5eb4: d900 bls.n 5eb8 <_lv_blend_fill+0x24c> + 5eb6: e127 b.n 6108 <_lv_blend_fill+0x49c> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5e50: 9b0c ldr r3, [sp, #48] ; 0x30 - 5e52: 4293 cmp r3, r2 - 5e54: dd00 ble.n 5e58 <_lv_blend_fill+0x254> - 5e56: e6ed b.n 5c34 <_lv_blend_fill+0x30> + 5eb8: 9b0c ldr r3, [sp, #48] ; 0x30 + 5eba: 4293 cmp r3, r2 + 5ebc: dd00 ble.n 5ec0 <_lv_blend_fill+0x254> + 5ebe: e6ed b.n 5c9c <_lv_blend_fill+0x30> last_dest_color.full = disp_buf_first[0].full; - 5e58: 9b07 ldr r3, [sp, #28] - 5e5a: 881a ldrh r2, [r3, #0] - 5e5c: 466b mov r3, sp - 5e5e: 8a99 ldrh r1, [r3, #20] - 5e60: 040b lsls r3, r1, #16 - 5e62: 0edb lsrs r3, r3, #27 - 5e64: 9305 str r3, [sp, #20] + 5ec0: 9b07 ldr r3, [sp, #28] + 5ec2: 881a ldrh r2, [r3, #0] + 5ec4: 466b mov r3, sp + 5ec6: 8a99 ldrh r1, [r3, #20] + 5ec8: 040b lsls r3, r1, #16 + 5eca: 0edb lsrs r3, r3, #27 + 5ecc: 9305 str r3, [sp, #20] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 5e66: 054b lsls r3, r1, #21 - 5e68: 0e9b lsrs r3, r3, #26 - 5e6a: 9308 str r3, [sp, #32] + 5ece: 054b lsls r3, r1, #21 + 5ed0: 0e9b lsrs r3, r3, #26 + 5ed2: 9308 str r3, [sp, #32] LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 5e6c: 06cb lsls r3, r1, #27 - 5e6e: 0edb lsrs r3, r3, #27 - 5e70: 469c mov ip, r3 + 5ed4: 06cb lsls r3, r1, #27 + 5ed6: 0edb lsrs r3, r3, #27 + 5ed8: 469c mov ip, r3 disp_buf_first += disp_w; - 5e72: 006b lsls r3, r5, #1 - 5e74: 930f str r3, [sp, #60] ; 0x3c - 5e76: 0013 movs r3, r2 - 5e78: 2600 movs r6, #0 - 5e7a: 2000 movs r0, #0 + 5eda: 006b lsls r3, r5, #1 + 5edc: 930f str r3, [sp, #60] ; 0x3c + 5ede: 0013 movs r3, r2 + 5ee0: 2600 movs r6, #0 + 5ee2: 2000 movs r0, #0 if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 5e7c: b289 uxth r1, r1 - 5e7e: 910e str r1, [sp, #56] ; 0x38 - 5e80: 0002 movs r2, r0 - 5e82: 4699 mov r9, r3 - 5e84: e3d0 b.n 6628 <_lv_blend_fill+0xa24> + 5ee4: b289 uxth r1, r1 + 5ee6: 910e str r1, [sp, #56] ; 0x38 + 5ee8: 0002 movs r2, r0 + 5eea: 4699 mov r9, r3 + 5eec: e3d0 b.n 6690 <_lv_blend_fill+0xa24> if(opa > LV_OPA_MAX) { - 5e86: 465b mov r3, fp - 5e88: 2bfa cmp r3, #250 ; 0xfa - 5e8a: d924 bls.n 5ed6 <_lv_blend_fill+0x2d2> + 5eee: 465b mov r3, fp + 5ef0: 2bfa cmp r3, #250 ; 0xfa + 5ef2: d924 bls.n 5f3e <_lv_blend_fill+0x2d2> if(disp->driver.gpu_fill_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) { - 5e8c: 6a63 ldr r3, [r4, #36] ; 0x24 - 5e8e: 2b00 cmp r3, #0 - 5e90: d004 beq.n 5e9c <_lv_blend_fill+0x298> - 5e92: a810 add r0, sp, #64 ; 0x40 - 5e94: 4b2d ldr r3, [pc, #180] ; (5f4c <_lv_blend_fill+0x348>) - 5e96: 4798 blx r3 - 5e98: 28f0 cmp r0, #240 ; 0xf0 - 5e9a: d812 bhi.n 5ec2 <_lv_blend_fill+0x2be> + 5ef4: 6a63 ldr r3, [r4, #36] ; 0x24 + 5ef6: 2b00 cmp r3, #0 + 5ef8: d004 beq.n 5f04 <_lv_blend_fill+0x298> + 5efa: a810 add r0, sp, #64 ; 0x40 + 5efc: 4b2d ldr r3, [pc, #180] ; (5fb4 <_lv_blend_fill+0x348>) + 5efe: 4798 blx r3 + 5f00: 28f0 cmp r0, #240 ; 0xf0 + 5f02: d812 bhi.n 5f2a <_lv_blend_fill+0x2be> disp_buf_first += disp_w; - 5e9c: 006d lsls r5, r5, #1 - 5e9e: 2400 movs r4, #0 + 5f04: 006d lsls r5, r5, #1 + 5f06: 2400 movs r4, #0 for(y = 0; y < draw_area_h; y++) { - 5ea0: 9b0e ldr r3, [sp, #56] ; 0x38 - 5ea2: 2b00 cmp r3, #0 - 5ea4: dc00 bgt.n 5ea8 <_lv_blend_fill+0x2a4> - 5ea6: e6c5 b.n 5c34 <_lv_blend_fill+0x30> + 5f08: 9b0e ldr r3, [sp, #56] ; 0x38 + 5f0a: 2b00 cmp r3, #0 + 5f0c: dc00 bgt.n 5f10 <_lv_blend_fill+0x2a4> + 5f0e: e6c5 b.n 5c9c <_lv_blend_fill+0x30> lv_color_fill(disp_buf_first, color, draw_area_w); - 5ea8: 4e29 ldr r6, [pc, #164] ; (5f50 <_lv_blend_fill+0x34c>) - 5eaa: 9f07 ldr r7, [sp, #28] - 5eac: 9a0b ldr r2, [sp, #44] ; 0x2c - 5eae: 466b mov r3, sp - 5eb0: 8c19 ldrh r1, [r3, #32] - 5eb2: 0038 movs r0, r7 - 5eb4: 47b0 blx r6 + 5f10: 4e29 ldr r6, [pc, #164] ; (5fb8 <_lv_blend_fill+0x34c>) + 5f12: 9f07 ldr r7, [sp, #28] + 5f14: 9a0b ldr r2, [sp, #44] ; 0x2c + 5f16: 466b mov r3, sp + 5f18: 8c19 ldrh r1, [r3, #32] + 5f1a: 0038 movs r0, r7 + 5f1c: 47b0 blx r6 disp_buf_first += disp_w; - 5eb6: 197f adds r7, r7, r5 + 5f1e: 197f adds r7, r7, r5 for(y = 0; y < draw_area_h; y++) { - 5eb8: 3401 adds r4, #1 - 5eba: 9b0e ldr r3, [sp, #56] ; 0x38 - 5ebc: 42a3 cmp r3, r4 - 5ebe: dcf5 bgt.n 5eac <_lv_blend_fill+0x2a8> - 5ec0: e6b8 b.n 5c34 <_lv_blend_fill+0x30> + 5f20: 3401 adds r4, #1 + 5f22: 9b0e ldr r3, [sp, #56] ; 0x38 + 5f24: 42a3 cmp r3, r4 + 5f26: dcf5 bgt.n 5f14 <_lv_blend_fill+0x2a8> + 5f28: e6b8 b.n 5c9c <_lv_blend_fill+0x30> disp->driver.gpu_fill_cb(&disp->driver, disp_buf, disp_w, draw_area, color); - 5ec2: 466b mov r3, sp - 5ec4: 8a9a ldrh r2, [r3, #20] - 5ec6: 801a strh r2, [r3, #0] - 5ec8: 6a66 ldr r6, [r4, #36] ; 0x24 - 5eca: ab10 add r3, sp, #64 ; 0x40 - 5ecc: 002a movs r2, r5 - 5ece: 9904 ldr r1, [sp, #16] - 5ed0: 0020 movs r0, r4 - 5ed2: 47b0 blx r6 - 5ed4: e6ae b.n 5c34 <_lv_blend_fill+0x30> + 5f2a: 466b mov r3, sp + 5f2c: 8a9a ldrh r2, [r3, #20] + 5f2e: 801a strh r2, [r3, #0] + 5f30: 6a66 ldr r6, [r4, #36] ; 0x24 + 5f32: ab10 add r3, sp, #64 ; 0x40 + 5f34: 002a movs r2, r5 + 5f36: 9904 ldr r1, [sp, #16] + 5f38: 0020 movs r0, r4 + 5f3a: 47b0 blx r6 + 5f3c: e6ae b.n 5c9c <_lv_blend_fill+0x30> if(disp->driver.gpu_blend_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) { - 5ed6: 6a23 ldr r3, [r4, #32] - 5ed8: 2b00 cmp r3, #0 - 5eda: d03d beq.n 5f58 <_lv_blend_fill+0x354> - 5edc: a810 add r0, sp, #64 ; 0x40 - 5ede: 4b1b ldr r3, [pc, #108] ; (5f4c <_lv_blend_fill+0x348>) - 5ee0: 4798 blx r3 - 5ee2: 28f0 cmp r0, #240 ; 0xf0 - 5ee4: d938 bls.n 5f58 <_lv_blend_fill+0x354> + 5f3e: 6a23 ldr r3, [r4, #32] + 5f40: 2b00 cmp r3, #0 + 5f42: d03d beq.n 5fc0 <_lv_blend_fill+0x354> + 5f44: a810 add r0, sp, #64 ; 0x40 + 5f46: 4b1b ldr r3, [pc, #108] ; (5fb4 <_lv_blend_fill+0x348>) + 5f48: 4798 blx r3 + 5f4a: 28f0 cmp r0, #240 ; 0xf0 + 5f4c: d938 bls.n 5fc0 <_lv_blend_fill+0x354> for(x = 0; x < draw_area_w ; x++) blend_buf[x].full = color.full; - 5ee6: 9b0a ldr r3, [sp, #40] ; 0x28 - 5ee8: 2b00 cmp r3, #0 - 5eea: dd09 ble.n 5f00 <_lv_blend_fill+0x2fc> - 5eec: 466b mov r3, sp - 5eee: 8a9e ldrh r6, [r3, #20] - 5ef0: 4b18 ldr r3, [pc, #96] ; (5f54 <_lv_blend_fill+0x350>) - 5ef2: 9a0b ldr r2, [sp, #44] ; 0x2c - 5ef4: 0052 lsls r2, r2, #1 - 5ef6: 189a adds r2, r3, r2 - 5ef8: 801e strh r6, [r3, #0] - 5efa: 3302 adds r3, #2 - 5efc: 4293 cmp r3, r2 - 5efe: d1fb bne.n 5ef8 <_lv_blend_fill+0x2f4> + 5f4e: 9b0a ldr r3, [sp, #40] ; 0x28 + 5f50: 2b00 cmp r3, #0 + 5f52: dd09 ble.n 5f68 <_lv_blend_fill+0x2fc> + 5f54: 466b mov r3, sp + 5f56: 8a9e ldrh r6, [r3, #20] + 5f58: 4b18 ldr r3, [pc, #96] ; (5fbc <_lv_blend_fill+0x350>) + 5f5a: 9a0b ldr r2, [sp, #44] ; 0x2c + 5f5c: 0052 lsls r2, r2, #1 + 5f5e: 189a adds r2, r3, r2 + 5f60: 801e strh r6, [r3, #0] + 5f62: 3302 adds r3, #2 + 5f64: 4293 cmp r3, r2 + 5f66: d1fb bne.n 5f60 <_lv_blend_fill+0x2f4> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5f00: ab10 add r3, sp, #64 ; 0x40 - 5f02: 2202 movs r2, #2 - 5f04: 5e9e ldrsh r6, [r3, r2] - 5f06: 2206 movs r2, #6 - 5f08: 5e9b ldrsh r3, [r3, r2] - 5f0a: 429e cmp r6, r3 - 5f0c: dd00 ble.n 5f10 <_lv_blend_fill+0x30c> - 5f0e: e691 b.n 5c34 <_lv_blend_fill+0x30> + 5f68: ab10 add r3, sp, #64 ; 0x40 + 5f6a: 2202 movs r2, #2 + 5f6c: 5e9e ldrsh r6, [r3, r2] + 5f6e: 2206 movs r2, #6 + 5f70: 5e9b ldrsh r3, [r3, r2] + 5f72: 429e cmp r6, r3 + 5f74: dd00 ble.n 5f78 <_lv_blend_fill+0x30c> + 5f76: e691 b.n 5c9c <_lv_blend_fill+0x30> disp_buf_first += disp_w; - 5f10: 006d lsls r5, r5, #1 + 5f78: 006d lsls r5, r5, #1 disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, blend_buf, draw_area_w, opa); - 5f12: 4b10 ldr r3, [pc, #64] ; (5f54 <_lv_blend_fill+0x350>) - 5f14: 4698 mov r8, r3 + 5f7a: 4b10 ldr r3, [pc, #64] ; (5fbc <_lv_blend_fill+0x350>) + 5f7c: 4698 mov r8, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5f16: af10 add r7, sp, #64 ; 0x40 - 5f18: 46aa mov sl, r5 + 5f7e: af10 add r7, sp, #64 ; 0x40 + 5f80: 46aa mov sl, r5 disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, blend_buf, draw_area_w, opa); - 5f1a: 465b mov r3, fp - 5f1c: 9300 str r3, [sp, #0] - 5f1e: 9b0b ldr r3, [sp, #44] ; 0x2c - 5f20: 4642 mov r2, r8 - 5f22: 9907 ldr r1, [sp, #28] - 5f24: 4689 mov r9, r1 - 5f26: 0020 movs r0, r4 - 5f28: 6a25 ldr r5, [r4, #32] - 5f2a: 47a8 blx r5 + 5f82: 465b mov r3, fp + 5f84: 9300 str r3, [sp, #0] + 5f86: 9b0b ldr r3, [sp, #44] ; 0x2c + 5f88: 4642 mov r2, r8 + 5f8a: 9907 ldr r1, [sp, #28] + 5f8c: 4689 mov r9, r1 + 5f8e: 0020 movs r0, r4 + 5f90: 6a25 ldr r5, [r4, #32] + 5f92: 47a8 blx r5 disp_buf_first += disp_w; - 5f2c: 46cc mov ip, r9 - 5f2e: 44d4 add ip, sl - 5f30: 4663 mov r3, ip - 5f32: 9307 str r3, [sp, #28] + 5f94: 46cc mov ip, r9 + 5f96: 44d4 add ip, sl + 5f98: 4663 mov r3, ip + 5f9a: 9307 str r3, [sp, #28] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 5f34: 3601 adds r6, #1 - 5f36: 2206 movs r2, #6 - 5f38: 5ebb ldrsh r3, [r7, r2] - 5f3a: 429e cmp r6, r3 - 5f3c: dded ble.n 5f1a <_lv_blend_fill+0x316> - 5f3e: e679 b.n 5c34 <_lv_blend_fill+0x30> - 5f40: 00004349 .word 0x00004349 - 5f44: 0000f6a1 .word 0x0000f6a1 - 5f48: 0000fba7 .word 0x0000fba7 - 5f4c: 0000fb8b .word 0x0000fb8b - 5f50: 000101cd .word 0x000101cd - 5f54: 200026f0 .word 0x200026f0 + 5f9c: 3601 adds r6, #1 + 5f9e: 2206 movs r2, #6 + 5fa0: 5ebb ldrsh r3, [r7, r2] + 5fa2: 429e cmp r6, r3 + 5fa4: dded ble.n 5f82 <_lv_blend_fill+0x316> + 5fa6: e679 b.n 5c9c <_lv_blend_fill+0x30> + 5fa8: 000043b1 .word 0x000043b1 + 5fac: 0000f709 .word 0x0000f709 + 5fb0: 0000fc0f .word 0x0000fc0f + 5fb4: 0000fbf3 .word 0x0000fbf3 + 5fb8: 00010235 .word 0x00010235 + 5fbc: 200026f0 .word 0x200026f0 lv_color_t last_dest_color = LV_COLOR_BLACK; - 5f58: 2300 movs r3, #0 - 5f5a: 466a mov r2, sp - 5f5c: 8313 strh r3, [r2, #24] - 5f5e: 8a92 ldrh r2, [r2, #20] - 5f60: 06d3 lsls r3, r2, #27 - 5f62: 0edb lsrs r3, r3, #27 - 5f64: 469c mov ip, r3 - 5f66: 1c13 adds r3, r2, #0 - 5f68: 001a movs r2, r3 - 5f6a: 0557 lsls r7, r2, #21 - 5f6c: 0ebf lsrs r7, r7, #26 - 5f6e: 041c lsls r4, r3, #16 - 5f70: 0ee4 lsrs r4, r4, #27 + 5fc0: 2300 movs r3, #0 + 5fc2: 466a mov r2, sp + 5fc4: 8313 strh r3, [r2, #24] + 5fc6: 8a92 ldrh r2, [r2, #20] + 5fc8: 06d3 lsls r3, r2, #27 + 5fca: 0edb lsrs r3, r3, #27 + 5fcc: 469c mov ip, r3 + 5fce: 1c13 adds r3, r2, #0 + 5fd0: 001a movs r2, r3 + 5fd2: 0557 lsls r7, r2, #21 + 5fd4: 0ebf lsrs r7, r7, #26 + 5fd6: 041c lsls r4, r3, #16 + 5fd8: 0ee4 lsrs r4, r4, #27 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 5f72: 465b mov r3, fp - 5f74: 4363 muls r3, r4 - 5f76: 0218 lsls r0, r3, #8 - 5f78: 18c0 adds r0, r0, r3 - 5f7a: 01c0 lsls r0, r0, #7 - 5f7c: 18c0 adds r0, r0, r3 - 5f7e: 0dc0 lsrs r0, r0, #23 - 5f80: 231f movs r3, #31 - 5f82: 4698 mov r8, r3 - 5f84: 4018 ands r0, r3 + 5fda: 465b mov r3, fp + 5fdc: 4363 muls r3, r4 + 5fde: 0218 lsls r0, r3, #8 + 5fe0: 18c0 adds r0, r0, r3 + 5fe2: 01c0 lsls r0, r0, #7 + 5fe4: 18c0 adds r0, r0, r3 + 5fe6: 0dc0 lsrs r0, r0, #23 + 5fe8: 231f movs r3, #31 + 5fea: 4698 mov r8, r3 + 5fec: 4018 ands r0, r3 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 5f86: 465a mov r2, fp - 5f88: 437a muls r2, r7 - 5f8a: 0213 lsls r3, r2, #8 - 5f8c: 189b adds r3, r3, r2 - 5f8e: 01db lsls r3, r3, #7 - 5f90: 189a adds r2, r3, r2 - 5f92: 00d2 lsls r2, r2, #3 - 5f94: 0e93 lsrs r3, r2, #26 - 5f96: 469a mov sl, r3 + 5fee: 465a mov r2, fp + 5ff0: 437a muls r2, r7 + 5ff2: 0213 lsls r3, r2, #8 + 5ff4: 189b adds r3, r3, r2 + 5ff6: 01db lsls r3, r3, #7 + 5ff8: 189a adds r2, r3, r2 + 5ffa: 00d2 lsls r2, r2, #3 + 5ffc: 0e93 lsrs r3, r2, #26 + 5ffe: 469a mov sl, r3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 5f98: 4659 mov r1, fp - 5f9a: 4663 mov r3, ip - 5f9c: 4359 muls r1, r3 - 5f9e: 020b lsls r3, r1, #8 - 5fa0: 185b adds r3, r3, r1 - 5fa2: 01db lsls r3, r3, #7 - 5fa4: 1859 adds r1, r3, r1 - 5fa6: 0dc9 lsrs r1, r1, #23 - 5fa8: 4643 mov r3, r8 - 5faa: 4019 ands r1, r3 + 6000: 4659 mov r1, fp + 6002: 4663 mov r3, ip + 6004: 4359 muls r1, r3 + 6006: 020b lsls r3, r1, #8 + 6008: 185b adds r3, r3, r1 + 600a: 01db lsls r3, r3, #7 + 600c: 1859 adds r1, r3, r1 + 600e: 0dc9 lsrs r1, r1, #23 + 6010: 4643 mov r3, r8 + 6012: 4019 ands r1, r3 } LV_ATTRIBUTE_FAST_MEM static inline void lv_color_premult(lv_color_t c, uint8_t mix, uint16_t * out) { #if LV_COLOR_DEPTH != 1 out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix; - 5fac: 465b mov r3, fp - 5fae: 466a mov r2, sp - 5fb0: 8213 strh r3, [r2, #16] - 5fb2: 8a13 ldrh r3, [r2, #16] - 5fb4: 435c muls r4, r3 - 5fb6: 9405 str r4, [sp, #20] + 6014: 465b mov r3, fp + 6016: 466a mov r2, sp + 6018: 8213 strh r3, [r2, #16] + 601a: 8a13 ldrh r3, [r2, #16] + 601c: 435c muls r4, r3 + 601e: 9405 str r4, [sp, #20] out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix; - 5fb8: 435f muls r7, r3 - 5fba: 9708 str r7, [sp, #32] + 6020: 435f muls r7, r3 + 6022: 9708 str r7, [sp, #32] out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix; - 5fbc: 4664 mov r4, ip - 5fbe: 435c muls r4, r3 - 5fc0: 9409 str r4, [sp, #36] ; 0x24 + 6024: 4664 mov r4, ip + 6026: 435c muls r4, r3 + 6028: 9409 str r4, [sp, #36] ; 0x24 lv_opa_t opa_inv = 255 - opa; - 5fc2: 465b mov r3, fp - 5fc4: 43df mvns r7, r3 - 5fc6: b2ff uxtb r7, r7 + 602a: 465b mov r3, fp + 602c: 43df mvns r7, r3 + 602e: b2ff uxtb r7, r7 for(y = 0; y < draw_area_h; y++) { - 5fc8: 9b0e ldr r3, [sp, #56] ; 0x38 - 5fca: 2b00 cmp r3, #0 - 5fcc: dc00 bgt.n 5fd0 <_lv_blend_fill+0x3cc> - 5fce: e631 b.n 5c34 <_lv_blend_fill+0x30> + 6030: 9b0e ldr r3, [sp, #56] ; 0x38 + 6032: 2b00 cmp r3, #0 + 6034: dc00 bgt.n 6038 <_lv_blend_fill+0x3cc> + 6036: e631 b.n 5c9c <_lv_blend_fill+0x30> disp_buf_first += disp_w; - 5fd0: 006b lsls r3, r5, #1 - 5fd2: 930e str r3, [sp, #56] ; 0x38 - 5fd4: 1c73 adds r3, r6, #1 - 5fd6: 930d str r3, [sp, #52] ; 0x34 - 5fd8: 9b0b ldr r3, [sp, #44] ; 0x2c - 5fda: 005b lsls r3, r3, #1 - 5fdc: 930f str r3, [sp, #60] ; 0x3c - 5fde: 2301 movs r3, #1 - 5fe0: 930c str r3, [sp, #48] ; 0x30 + 6038: 006b lsls r3, r5, #1 + 603a: 930e str r3, [sp, #56] ; 0x38 + 603c: 1c73 adds r3, r6, #1 + 603e: 930d str r3, [sp, #52] ; 0x34 + 6040: 9b0b ldr r3, [sp, #44] ; 0x2c + 6042: 005b lsls r3, r3, #1 + 6044: 930f str r3, [sp, #60] ; 0x3c + 6046: 2301 movs r3, #1 + 6048: 930c str r3, [sp, #48] ; 0x30 LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix_premult(uint16_t * premult_c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8); - 5fe2: b2bf uxth r7, r7 - 5fe4: 261f movs r6, #31 + 604a: b2bf uxth r7, r7 + 604c: 261f movs r6, #31 LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8); - 5fe6: 333e adds r3, #62 ; 0x3e - 5fe8: 930b str r3, [sp, #44] ; 0x2c + 604e: 333e adds r3, #62 ; 0x3e + 6050: 930b str r3, [sp, #44] ; 0x2c disp_buf_first[x] = last_res_color; - 5fea: 4b63 ldr r3, [pc, #396] ; (6178 <_lv_blend_fill+0x574>) - 5fec: 4698 mov r8, r3 - 5fee: 2307 movs r3, #7 - 5ff0: 4699 mov r9, r3 - 5ff2: 4652 mov r2, sl - 5ff4: e048 b.n 6088 <_lv_blend_fill+0x484> - 5ff6: 782b ldrb r3, [r5, #0] - 5ff8: 43b3 bics r3, r6 - 5ffa: 430b orrs r3, r1 - 5ffc: 702b strb r3, [r5, #0] - 5ffe: 9b04 ldr r3, [sp, #16] - 6000: 015b lsls r3, r3, #5 - 6002: 882f ldrh r7, [r5, #0] - 6004: 4642 mov r2, r8 - 6006: 4017 ands r7, r2 - 6008: 433b orrs r3, r7 - 600a: 802b strh r3, [r5, #0] - 600c: 00c7 lsls r7, r0, #3 - 600e: 0a1b lsrs r3, r3, #8 - 6010: 464a mov r2, r9 - 6012: 4013 ands r3, r2 - 6014: 431f orrs r7, r3 - 6016: 706f strb r7, [r5, #1] - 6018: 3402 adds r4, #2 + 6052: 4b63 ldr r3, [pc, #396] ; (61e0 <_lv_blend_fill+0x574>) + 6054: 4698 mov r8, r3 + 6056: 2307 movs r3, #7 + 6058: 4699 mov r9, r3 + 605a: 4652 mov r2, sl + 605c: e048 b.n 60f0 <_lv_blend_fill+0x484> + 605e: 782b ldrb r3, [r5, #0] + 6060: 43b3 bics r3, r6 + 6062: 430b orrs r3, r1 + 6064: 702b strb r3, [r5, #0] + 6066: 9b04 ldr r3, [sp, #16] + 6068: 015b lsls r3, r3, #5 + 606a: 882f ldrh r7, [r5, #0] + 606c: 4642 mov r2, r8 + 606e: 4017 ands r7, r2 + 6070: 433b orrs r3, r7 + 6072: 802b strh r3, [r5, #0] + 6074: 00c7 lsls r7, r0, #3 + 6076: 0a1b lsrs r3, r3, #8 + 6078: 464a mov r2, r9 + 607a: 4013 ands r3, r2 + 607c: 431f orrs r7, r3 + 607e: 706f strb r7, [r5, #1] + 6080: 3402 adds r4, #2 for(x = 0; x < draw_area_w; x++) { - 601a: 4554 cmp r4, sl - 601c: d026 beq.n 606c <_lv_blend_fill+0x468> + 6082: 4554 cmp r4, sl + 6084: d026 beq.n 60d4 <_lv_blend_fill+0x468> if(last_dest_color.full != disp_buf_first[x].full) { - 601e: 0025 movs r5, r4 - 6020: 466b mov r3, sp - 6022: 8b1b ldrh r3, [r3, #24] - 6024: 8827 ldrh r7, [r4, #0] - 6026: 42bb cmp r3, r7 - 6028: d0e5 beq.n 5ff6 <_lv_blend_fill+0x3f2> + 6086: 0025 movs r5, r4 + 6088: 466b mov r3, sp + 608a: 8b1b ldrh r3, [r3, #24] + 608c: 8827 ldrh r7, [r4, #0] + 608e: 42bb cmp r3, r7 + 6090: d0e5 beq.n 605e <_lv_blend_fill+0x3f2> last_dest_color = disp_buf_first[x]; - 602a: 466b mov r3, sp - 602c: 831f strh r7, [r3, #24] + 6092: 466b mov r3, sp + 6094: 831f strh r7, [r3, #24] LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8); - 602e: 7860 ldrb r0, [r4, #1] - 6030: 08c0 lsrs r0, r0, #3 - 6032: 4663 mov r3, ip - 6034: 4358 muls r0, r3 - 6036: 9b05 ldr r3, [sp, #20] - 6038: 469b mov fp, r3 - 603a: 4458 add r0, fp - 603c: 0a00 lsrs r0, r0, #8 - 603e: 4030 ands r0, r6 + 6096: 7860 ldrb r0, [r4, #1] + 6098: 08c0 lsrs r0, r0, #3 + 609a: 4663 mov r3, ip + 609c: 4358 muls r0, r3 + 609e: 9b05 ldr r3, [sp, #20] + 60a0: 469b mov fp, r3 + 60a2: 4458 add r0, fp + 60a4: 0a00 lsrs r0, r0, #8 + 60a6: 4030 ands r0, r6 LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8); - 6040: 057a lsls r2, r7, #21 - 6042: 0e92 lsrs r2, r2, #26 - 6044: 4663 mov r3, ip - 6046: 435a muls r2, r3 - 6048: 9b08 ldr r3, [sp, #32] - 604a: 469b mov fp, r3 - 604c: 445a add r2, fp - 604e: 0a12 lsrs r2, r2, #8 - 6050: 9b0b ldr r3, [sp, #44] ; 0x2c - 6052: 401a ands r2, r3 - 6054: 9204 str r2, [sp, #16] + 60a8: 057a lsls r2, r7, #21 + 60aa: 0e92 lsrs r2, r2, #26 + 60ac: 4663 mov r3, ip + 60ae: 435a muls r2, r3 + 60b0: 9b08 ldr r3, [sp, #32] + 60b2: 469b mov fp, r3 + 60b4: 445a add r2, fp + 60b6: 0a12 lsrs r2, r2, #8 + 60b8: 9b0b ldr r3, [sp, #44] ; 0x2c + 60ba: 401a ands r2, r3 + 60bc: 9204 str r2, [sp, #16] LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8); - 6056: 7821 ldrb r1, [r4, #0] - 6058: 06c9 lsls r1, r1, #27 - 605a: 0ec9 lsrs r1, r1, #27 - 605c: 4663 mov r3, ip - 605e: 4359 muls r1, r3 - 6060: 9b09 ldr r3, [sp, #36] ; 0x24 - 6062: 469b mov fp, r3 - 6064: 4459 add r1, fp - 6066: 0a09 lsrs r1, r1, #8 - 6068: 4031 ands r1, r6 - 606a: e7c4 b.n 5ff6 <_lv_blend_fill+0x3f2> - 606c: 9a04 ldr r2, [sp, #16] - 606e: 4667 mov r7, ip + 60be: 7821 ldrb r1, [r4, #0] + 60c0: 06c9 lsls r1, r1, #27 + 60c2: 0ec9 lsrs r1, r1, #27 + 60c4: 4663 mov r3, ip + 60c6: 4359 muls r1, r3 + 60c8: 9b09 ldr r3, [sp, #36] ; 0x24 + 60ca: 469b mov fp, r3 + 60cc: 4459 add r1, fp + 60ce: 0a09 lsrs r1, r1, #8 + 60d0: 4031 ands r1, r6 + 60d2: e7c4 b.n 605e <_lv_blend_fill+0x3f2> + 60d4: 9a04 ldr r2, [sp, #16] + 60d6: 4667 mov r7, ip disp_buf_first += disp_w; - 6070: 9b07 ldr r3, [sp, #28] - 6072: 9c0e ldr r4, [sp, #56] ; 0x38 - 6074: 46a4 mov ip, r4 - 6076: 4463 add r3, ip - 6078: 9307 str r3, [sp, #28] - 607a: 9b0c ldr r3, [sp, #48] ; 0x30 - 607c: 3301 adds r3, #1 - 607e: 930c str r3, [sp, #48] ; 0x30 + 60d8: 9b07 ldr r3, [sp, #28] + 60da: 9c0e ldr r4, [sp, #56] ; 0x38 + 60dc: 46a4 mov ip, r4 + 60de: 4463 add r3, ip + 60e0: 9307 str r3, [sp, #28] + 60e2: 9b0c ldr r3, [sp, #48] ; 0x30 + 60e4: 3301 adds r3, #1 + 60e6: 930c str r3, [sp, #48] ; 0x30 for(y = 0; y < draw_area_h; y++) { - 6080: 9c0d ldr r4, [sp, #52] ; 0x34 - 6082: 429c cmp r4, r3 - 6084: d100 bne.n 6088 <_lv_blend_fill+0x484> - 6086: e5d5 b.n 5c34 <_lv_blend_fill+0x30> + 60e8: 9c0d ldr r4, [sp, #52] ; 0x34 + 60ea: 429c cmp r4, r3 + 60ec: d100 bne.n 60f0 <_lv_blend_fill+0x484> + 60ee: e5d5 b.n 5c9c <_lv_blend_fill+0x30> for(x = 0; x < draw_area_w; x++) { - 6088: 9b0a ldr r3, [sp, #40] ; 0x28 - 608a: 2b00 cmp r3, #0 - 608c: ddf0 ble.n 6070 <_lv_blend_fill+0x46c> - 608e: 9b07 ldr r3, [sp, #28] - 6090: 001c movs r4, r3 - 6092: 9d0f ldr r5, [sp, #60] ; 0x3c - 6094: 46aa mov sl, r5 - 6096: 4453 add r3, sl - 6098: 9204 str r2, [sp, #16] - 609a: 469a mov sl, r3 - 609c: 46bc mov ip, r7 - 609e: e7be b.n 601e <_lv_blend_fill+0x41a> + 60f0: 9b0a ldr r3, [sp, #40] ; 0x28 + 60f2: 2b00 cmp r3, #0 + 60f4: ddf0 ble.n 60d8 <_lv_blend_fill+0x46c> + 60f6: 9b07 ldr r3, [sp, #28] + 60f8: 001c movs r4, r3 + 60fa: 9d0f ldr r5, [sp, #60] ; 0x3c + 60fc: 46aa mov sl, r5 + 60fe: 4453 add r3, sl + 6100: 9204 str r2, [sp, #16] + 6102: 469a mov sl, r3 + 6104: 46bc mov ip, r7 + 6106: e7be b.n 6086 <_lv_blend_fill+0x41a> for(y = 0; y < draw_area_h; y++) { - 60a0: 9b0e ldr r3, [sp, #56] ; 0x38 - 60a2: 2b00 cmp r3, #0 - 60a4: dc00 bgt.n 60a8 <_lv_blend_fill+0x4a4> - 60a6: e5c5 b.n 5c34 <_lv_blend_fill+0x30> + 6108: 9b0e ldr r3, [sp, #56] ; 0x38 + 610a: 2b00 cmp r3, #0 + 610c: dc00 bgt.n 6110 <_lv_blend_fill+0x4a4> + 610e: e5c5 b.n 5c9c <_lv_blend_fill+0x30> int32_t x_end4 = draw_area_w - 4; - 60a8: 9b0b ldr r3, [sp, #44] ; 0x2c - 60aa: 3b04 subs r3, #4 - 60ac: 9305 str r3, [sp, #20] + 6110: 9b0b ldr r3, [sp, #44] ; 0x2c + 6112: 3b04 subs r3, #4 + 6114: 9305 str r3, [sp, #20] disp_buf_first += disp_w; - 60ae: 006b lsls r3, r5, #1 - 60b0: 930f str r3, [sp, #60] ; 0x3c - 60b2: 9b06 ldr r3, [sp, #24] - 60b4: 9309 str r3, [sp, #36] ; 0x24 - 60b6: 2300 movs r3, #0 - 60b8: 930d str r3, [sp, #52] ; 0x34 + 6116: 006b lsls r3, r5, #1 + 6118: 930f str r3, [sp, #60] ; 0x3c + 611a: 9b06 ldr r3, [sp, #24] + 611c: 9309 str r3, [sp, #36] ; 0x24 + 611e: 2300 movs r3, #0 + 6120: 930d str r3, [sp, #52] ; 0x34 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 60ba: 466b mov r3, sp - 60bc: 8c1a ldrh r2, [r3, #32] - 60be: 0417 lsls r7, r2, #16 - 60c0: 0efb lsrs r3, r7, #27 - 60c2: 9304 str r3, [sp, #16] + 6122: 466b mov r3, sp + 6124: 8c1a ldrh r2, [r3, #32] + 6126: 0417 lsls r7, r2, #16 + 6128: 0efb lsrs r3, r7, #27 + 612a: 9304 str r3, [sp, #16] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 60c4: 0553 lsls r3, r2, #21 - 60c6: 0e9b lsrs r3, r3, #26 - 60c8: 469a mov sl, r3 + 612c: 0553 lsls r3, r2, #21 + 612e: 0e9b lsrs r3, r3, #26 + 6130: 469a mov sl, r3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 60ca: 06d3 lsls r3, r2, #27 - 60cc: 0edb lsrs r3, r3, #27 - 60ce: 469b mov fp, r3 - 60d0: e213 b.n 64fa <_lv_blend_fill+0x8f6> + 6132: 06d3 lsls r3, r2, #27 + 6134: 0edb lsrs r3, r3, #27 + 6136: 469b mov fp, r3 + 6138: e213 b.n 6562 <_lv_blend_fill+0x8f6> FILL_NORMAL_MASK_PX(x, color) - 60d2: 466a mov r2, sp - 60d4: 8c12 ldrh r2, [r2, #32] - 60d6: 8032 strh r2, [r6, #0] - 60d8: 3401 adds r4, #1 + 613a: 466a mov r2, sp + 613c: 8c12 ldrh r2, [r2, #32] + 613e: 8032 strh r2, [r6, #0] + 6140: 3401 adds r4, #1 for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 60da: 3301 adds r3, #1 - 60dc: 4598 cmp r8, r3 - 60de: dc01 bgt.n 60e4 <_lv_blend_fill+0x4e0> - 60e0: f000 fbe8 bl 68b4 <_lv_blend_fill+0xcb0> - 60e4: 3602 adds r6, #2 - 60e6: 07a2 lsls r2, r4, #30 - 60e8: d03f beq.n 616a <_lv_blend_fill+0x566> + 6142: 3301 adds r3, #1 + 6144: 4598 cmp r8, r3 + 6146: dc01 bgt.n 614c <_lv_blend_fill+0x4e0> + 6148: f000 fbe8 bl 691c <_lv_blend_fill+0xcb0> + 614c: 3602 adds r6, #2 + 614e: 07a2 lsls r2, r4, #30 + 6150: d03f beq.n 61d2 <_lv_blend_fill+0x566> FILL_NORMAL_MASK_PX(x, color) - 60ea: 7820 ldrb r0, [r4, #0] - 60ec: 2800 cmp r0, #0 - 60ee: d0f3 beq.n 60d8 <_lv_blend_fill+0x4d4> - 60f0: 28ff cmp r0, #255 ; 0xff - 60f2: d0ee beq.n 60d2 <_lv_blend_fill+0x4ce> + 6152: 7820 ldrb r0, [r4, #0] + 6154: 2800 cmp r0, #0 + 6156: d0f3 beq.n 6140 <_lv_blend_fill+0x4d4> + 6158: 28ff cmp r0, #255 ; 0xff + 615a: d0ee beq.n 613a <_lv_blend_fill+0x4ce> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 60f4: 22ff movs r2, #255 ; 0xff - 60f6: 1a15 subs r5, r2, r0 - 60f8: 9f04 ldr r7, [sp, #16] - 60fa: 4347 muls r7, r0 - 60fc: 7871 ldrb r1, [r6, #1] - 60fe: 08c9 lsrs r1, r1, #3 - 6100: 4369 muls r1, r5 - 6102: 187f adds r7, r7, r1 - 6104: 023a lsls r2, r7, #8 - 6106: 19d2 adds r2, r2, r7 - 6108: 01d2 lsls r2, r2, #7 - 610a: 19d2 adds r2, r2, r7 - 610c: 0dd2 lsrs r2, r2, #23 - 610e: 4649 mov r1, r9 - 6110: 400a ands r2, r1 - 6112: 9206 str r2, [sp, #24] + 615c: 22ff movs r2, #255 ; 0xff + 615e: 1a15 subs r5, r2, r0 + 6160: 9f04 ldr r7, [sp, #16] + 6162: 4347 muls r7, r0 + 6164: 7871 ldrb r1, [r6, #1] + 6166: 08c9 lsrs r1, r1, #3 + 6168: 4369 muls r1, r5 + 616a: 187f adds r7, r7, r1 + 616c: 023a lsls r2, r7, #8 + 616e: 19d2 adds r2, r2, r7 + 6170: 01d2 lsls r2, r2, #7 + 6172: 19d2 adds r2, r2, r7 + 6174: 0dd2 lsrs r2, r2, #23 + 6176: 4649 mov r1, r9 + 6178: 400a ands r2, r1 + 617a: 9206 str r2, [sp, #24] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6114: 4657 mov r7, sl - 6116: 4347 muls r7, r0 - 6118: 8831 ldrh r1, [r6, #0] - 611a: 0549 lsls r1, r1, #21 - 611c: 0e89 lsrs r1, r1, #26 - 611e: 4369 muls r1, r5 - 6120: 187f adds r7, r7, r1 - 6122: 0239 lsls r1, r7, #8 - 6124: 19c9 adds r1, r1, r7 - 6126: 01c9 lsls r1, r1, #7 - 6128: 19c9 adds r1, r1, r7 - 612a: 00c9 lsls r1, r1, #3 + 617c: 4657 mov r7, sl + 617e: 4347 muls r7, r0 + 6180: 8831 ldrh r1, [r6, #0] + 6182: 0549 lsls r1, r1, #21 + 6184: 0e89 lsrs r1, r1, #26 + 6186: 4369 muls r1, r5 + 6188: 187f adds r7, r7, r1 + 618a: 0239 lsls r1, r7, #8 + 618c: 19c9 adds r1, r1, r7 + 618e: 01c9 lsls r1, r1, #7 + 6190: 19c9 adds r1, r1, r7 + 6192: 00c9 lsls r1, r1, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 612c: 465f mov r7, fp - 612e: 4378 muls r0, r7 - 6130: 7837 ldrb r7, [r6, #0] - 6132: 06fa lsls r2, r7, #27 - 6134: 0ed2 lsrs r2, r2, #27 - 6136: 4355 muls r5, r2 - 6138: 1945 adds r5, r0, r5 - 613a: 0228 lsls r0, r5, #8 - 613c: 1940 adds r0, r0, r5 - 613e: 01c0 lsls r0, r0, #7 - 6140: 1940 adds r0, r0, r5 - 6142: 0dc0 lsrs r0, r0, #23 - 6144: 464a mov r2, r9 - 6146: 4010 ands r0, r2 - 6148: 4397 bics r7, r2 - 614a: 4338 orrs r0, r7 - 614c: 7030 strb r0, [r6, #0] - 614e: 0e89 lsrs r1, r1, #26 - 6150: 0148 lsls r0, r1, #5 - 6152: 8831 ldrh r1, [r6, #0] - 6154: 4d08 ldr r5, [pc, #32] ; (6178 <_lv_blend_fill+0x574>) - 6156: 4029 ands r1, r5 - 6158: 4301 orrs r1, r0 - 615a: 8031 strh r1, [r6, #0] - 615c: 9a06 ldr r2, [sp, #24] - 615e: 00d2 lsls r2, r2, #3 - 6160: 0549 lsls r1, r1, #21 - 6162: 0f49 lsrs r1, r1, #29 - 6164: 430a orrs r2, r1 - 6166: 7072 strb r2, [r6, #1] - 6168: e7b6 b.n 60d8 <_lv_blend_fill+0x4d4> - 616a: 0022 movs r2, r4 + 6194: 465f mov r7, fp + 6196: 4378 muls r0, r7 + 6198: 7837 ldrb r7, [r6, #0] + 619a: 06fa lsls r2, r7, #27 + 619c: 0ed2 lsrs r2, r2, #27 + 619e: 4355 muls r5, r2 + 61a0: 1945 adds r5, r0, r5 + 61a2: 0228 lsls r0, r5, #8 + 61a4: 1940 adds r0, r0, r5 + 61a6: 01c0 lsls r0, r0, #7 + 61a8: 1940 adds r0, r0, r5 + 61aa: 0dc0 lsrs r0, r0, #23 + 61ac: 464a mov r2, r9 + 61ae: 4010 ands r0, r2 + 61b0: 4397 bics r7, r2 + 61b2: 4338 orrs r0, r7 + 61b4: 7030 strb r0, [r6, #0] + 61b6: 0e89 lsrs r1, r1, #26 + 61b8: 0148 lsls r0, r1, #5 + 61ba: 8831 ldrh r1, [r6, #0] + 61bc: 4d08 ldr r5, [pc, #32] ; (61e0 <_lv_blend_fill+0x574>) + 61be: 4029 ands r1, r5 + 61c0: 4301 orrs r1, r0 + 61c2: 8031 strh r1, [r6, #0] + 61c4: 9a06 ldr r2, [sp, #24] + 61c6: 00d2 lsls r2, r2, #3 + 61c8: 0549 lsls r1, r1, #21 + 61ca: 0f49 lsrs r1, r1, #29 + 61cc: 430a orrs r2, r1 + 61ce: 7072 strb r2, [r6, #1] + 61d0: e7b6 b.n 6140 <_lv_blend_fill+0x4d4> + 61d2: 0022 movs r2, r4 for(; x <= x_end4; x += 4) { - 616c: 9905 ldr r1, [sp, #20] - 616e: 4299 cmp r1, r3 - 6170: db00 blt.n 6174 <_lv_blend_fill+0x570> - 6172: e3a4 b.n 68be <_lv_blend_fill+0xcba> - 6174: e15e b.n 6434 <_lv_blend_fill+0x830> - 6176: 46c0 nop ; (mov r8, r8) - 6178: fffff81f .word 0xfffff81f + 61d4: 9905 ldr r1, [sp, #20] + 61d6: 4299 cmp r1, r3 + 61d8: db00 blt.n 61dc <_lv_blend_fill+0x570> + 61da: e3a4 b.n 6926 <_lv_blend_fill+0xcba> + 61dc: e15e b.n 649c <_lv_blend_fill+0x830> + 61de: 46c0 nop ; (mov r8, r8) + 61e0: fffff81f .word 0xfffff81f disp_buf_first[x] = color; - 617c: 4669 mov r1, sp - 617e: 8c09 ldrh r1, [r1, #32] - 6180: 8021 strh r1, [r4, #0] + 61e4: 4669 mov r1, sp + 61e6: 8c09 ldrh r1, [r1, #32] + 61e8: 8021 strh r1, [r4, #0] disp_buf_first[x + 1] = color; - 6182: 8061 strh r1, [r4, #2] + 61ea: 8061 strh r1, [r4, #2] disp_buf_first[x + 2] = color; - 6184: 80a1 strh r1, [r4, #4] + 61ec: 80a1 strh r1, [r4, #4] disp_buf_first[x + 3] = color; - 6186: 80e1 strh r1, [r4, #6] + 61ee: 80e1 strh r1, [r4, #6] mask32++; - 6188: 3204 adds r2, #4 + 61f0: 3204 adds r2, #4 for(; x <= x_end4; x += 4) { - 618a: 3304 adds r3, #4 - 618c: 3408 adds r4, #8 - 618e: 9905 ldr r1, [sp, #20] - 6190: 4299 cmp r1, r3 - 6192: da00 bge.n 6196 <_lv_blend_fill+0x592> - 6194: e149 b.n 642a <_lv_blend_fill+0x826> + 61f2: 3304 adds r3, #4 + 61f4: 3408 adds r4, #8 + 61f6: 9905 ldr r1, [sp, #20] + 61f8: 4299 cmp r1, r3 + 61fa: da00 bge.n 61fe <_lv_blend_fill+0x592> + 61fc: e149 b.n 6492 <_lv_blend_fill+0x826> if(*mask32) { - 6196: 6811 ldr r1, [r2, #0] - 6198: 2900 cmp r1, #0 - 619a: d0f5 beq.n 6188 <_lv_blend_fill+0x584> + 61fe: 6811 ldr r1, [r2, #0] + 6200: 2900 cmp r1, #0 + 6202: d0f5 beq.n 61f0 <_lv_blend_fill+0x584> if((*mask32) == 0xFFFFFFFF) { - 619c: 3101 adds r1, #1 - 619e: d0ed beq.n 617c <_lv_blend_fill+0x578> + 6204: 3101 adds r1, #1 + 6206: d0ed beq.n 61e4 <_lv_blend_fill+0x578> FILL_NORMAL_MASK_PX(x, color) - 61a0: 7815 ldrb r5, [r2, #0] - 61a2: 2d00 cmp r5, #0 - 61a4: d046 beq.n 6234 <_lv_blend_fill+0x630> - 61a6: 2dff cmp r5, #255 ; 0xff - 61a8: d100 bne.n 61ac <_lv_blend_fill+0x5a8> - 61aa: e12e b.n 640a <_lv_blend_fill+0x806> + 6208: 7815 ldrb r5, [r2, #0] + 620a: 2d00 cmp r5, #0 + 620c: d046 beq.n 629c <_lv_blend_fill+0x630> + 620e: 2dff cmp r5, #255 ; 0xff + 6210: d100 bne.n 6214 <_lv_blend_fill+0x5a8> + 6212: e12e b.n 6472 <_lv_blend_fill+0x806> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 61ac: 21ff movs r1, #255 ; 0xff - 61ae: 1b49 subs r1, r1, r5 - 61b0: 468c mov ip, r1 - 61b2: 9804 ldr r0, [sp, #16] - 61b4: 4368 muls r0, r5 - 61b6: 7861 ldrb r1, [r4, #1] - 61b8: 08c9 lsrs r1, r1, #3 - 61ba: 4666 mov r6, ip - 61bc: 4371 muls r1, r6 - 61be: 1840 adds r0, r0, r1 - 61c0: 0201 lsls r1, r0, #8 - 61c2: 1809 adds r1, r1, r0 - 61c4: 01c9 lsls r1, r1, #7 - 61c6: 1809 adds r1, r1, r0 - 61c8: 0dc9 lsrs r1, r1, #23 - 61ca: 4039 ands r1, r7 - 61cc: 468a mov sl, r1 + 6214: 21ff movs r1, #255 ; 0xff + 6216: 1b49 subs r1, r1, r5 + 6218: 468c mov ip, r1 + 621a: 9804 ldr r0, [sp, #16] + 621c: 4368 muls r0, r5 + 621e: 7861 ldrb r1, [r4, #1] + 6220: 08c9 lsrs r1, r1, #3 + 6222: 4666 mov r6, ip + 6224: 4371 muls r1, r6 + 6226: 1840 adds r0, r0, r1 + 6228: 0201 lsls r1, r0, #8 + 622a: 1809 adds r1, r1, r0 + 622c: 01c9 lsls r1, r1, #7 + 622e: 1809 adds r1, r1, r0 + 6230: 0dc9 lsrs r1, r1, #23 + 6232: 4039 ands r1, r7 + 6234: 468a mov sl, r1 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 61ce: 0028 movs r0, r5 - 61d0: 9906 ldr r1, [sp, #24] - 61d2: 4348 muls r0, r1 - 61d4: 4681 mov r9, r0 - 61d6: 8820 ldrh r0, [r4, #0] - 61d8: 0540 lsls r0, r0, #21 - 61da: 0e80 lsrs r0, r0, #26 - 61dc: 4370 muls r0, r6 - 61de: 4481 add r9, r0 - 61e0: 4648 mov r0, r9 - 61e2: 0200 lsls r0, r0, #8 - 61e4: 4448 add r0, r9 - 61e6: 01c0 lsls r0, r0, #7 - 61e8: 4448 add r0, r9 - 61ea: 00c0 lsls r0, r0, #3 + 6236: 0028 movs r0, r5 + 6238: 9906 ldr r1, [sp, #24] + 623a: 4348 muls r0, r1 + 623c: 4681 mov r9, r0 + 623e: 8820 ldrh r0, [r4, #0] + 6240: 0540 lsls r0, r0, #21 + 6242: 0e80 lsrs r0, r0, #26 + 6244: 4370 muls r0, r6 + 6246: 4481 add r9, r0 + 6248: 4648 mov r0, r9 + 624a: 0200 lsls r0, r0, #8 + 624c: 4448 add r0, r9 + 624e: 01c0 lsls r0, r0, #7 + 6250: 4448 add r0, r9 + 6252: 00c0 lsls r0, r0, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 61ec: 465e mov r6, fp - 61ee: 4375 muls r5, r6 - 61f0: 7826 ldrb r6, [r4, #0] - 61f2: 46b0 mov r8, r6 - 61f4: 06f6 lsls r6, r6, #27 - 61f6: 0ef6 lsrs r6, r6, #27 - 61f8: 46b1 mov r9, r6 - 61fa: 4666 mov r6, ip - 61fc: 4649 mov r1, r9 - 61fe: 434e muls r6, r1 - 6200: 46b4 mov ip, r6 - 6202: 44ac add ip, r5 - 6204: 4661 mov r1, ip - 6206: 020d lsls r5, r1, #8 - 6208: 4465 add r5, ip - 620a: 01ed lsls r5, r5, #7 - 620c: 4465 add r5, ip - 620e: 0ded lsrs r5, r5, #23 - 6210: 403d ands r5, r7 - 6212: 4646 mov r6, r8 - 6214: 43be bics r6, r7 - 6216: 4335 orrs r5, r6 - 6218: 7025 strb r5, [r4, #0] - 621a: 0e80 lsrs r0, r0, #26 - 621c: 0145 lsls r5, r0, #5 - 621e: 8820 ldrh r0, [r4, #0] - 6220: 49be ldr r1, [pc, #760] ; (651c <_lv_blend_fill+0x918>) - 6222: 4008 ands r0, r1 - 6224: 4328 orrs r0, r5 - 6226: 8020 strh r0, [r4, #0] - 6228: 4651 mov r1, sl - 622a: 00c9 lsls r1, r1, #3 - 622c: 0540 lsls r0, r0, #21 - 622e: 0f40 lsrs r0, r0, #29 - 6230: 4301 orrs r1, r0 - 6232: 7061 strb r1, [r4, #1] + 6254: 465e mov r6, fp + 6256: 4375 muls r5, r6 + 6258: 7826 ldrb r6, [r4, #0] + 625a: 46b0 mov r8, r6 + 625c: 06f6 lsls r6, r6, #27 + 625e: 0ef6 lsrs r6, r6, #27 + 6260: 46b1 mov r9, r6 + 6262: 4666 mov r6, ip + 6264: 4649 mov r1, r9 + 6266: 434e muls r6, r1 + 6268: 46b4 mov ip, r6 + 626a: 44ac add ip, r5 + 626c: 4661 mov r1, ip + 626e: 020d lsls r5, r1, #8 + 6270: 4465 add r5, ip + 6272: 01ed lsls r5, r5, #7 + 6274: 4465 add r5, ip + 6276: 0ded lsrs r5, r5, #23 + 6278: 403d ands r5, r7 + 627a: 4646 mov r6, r8 + 627c: 43be bics r6, r7 + 627e: 4335 orrs r5, r6 + 6280: 7025 strb r5, [r4, #0] + 6282: 0e80 lsrs r0, r0, #26 + 6284: 0145 lsls r5, r0, #5 + 6286: 8820 ldrh r0, [r4, #0] + 6288: 49be ldr r1, [pc, #760] ; (6584 <_lv_blend_fill+0x918>) + 628a: 4008 ands r0, r1 + 628c: 4328 orrs r0, r5 + 628e: 8020 strh r0, [r4, #0] + 6290: 4651 mov r1, sl + 6292: 00c9 lsls r1, r1, #3 + 6294: 0540 lsls r0, r0, #21 + 6296: 0f40 lsrs r0, r0, #29 + 6298: 4301 orrs r1, r0 + 629a: 7061 strb r1, [r4, #1] FILL_NORMAL_MASK_PX(x + 1, color) - 6234: 7855 ldrb r5, [r2, #1] - 6236: 2d00 cmp r5, #0 - 6238: d04a beq.n 62d0 <_lv_blend_fill+0x6cc> - 623a: 2dff cmp r5, #255 ; 0xff - 623c: d100 bne.n 6240 <_lv_blend_fill+0x63c> - 623e: e0e8 b.n 6412 <_lv_blend_fill+0x80e> - 6240: 1ca1 adds r1, r4, #2 + 629c: 7855 ldrb r5, [r2, #1] + 629e: 2d00 cmp r5, #0 + 62a0: d04a beq.n 6338 <_lv_blend_fill+0x6cc> + 62a2: 2dff cmp r5, #255 ; 0xff + 62a4: d100 bne.n 62a8 <_lv_blend_fill+0x63c> + 62a6: e0e8 b.n 647a <_lv_blend_fill+0x80e> + 62a8: 1ca1 adds r1, r4, #2 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 6242: 20ff movs r0, #255 ; 0xff - 6244: 1b40 subs r0, r0, r5 - 6246: 4684 mov ip, r0 - 6248: 9804 ldr r0, [sp, #16] - 624a: 4368 muls r0, r5 - 624c: 4689 mov r9, r1 - 624e: 78e1 ldrb r1, [r4, #3] - 6250: 08c9 lsrs r1, r1, #3 - 6252: 4666 mov r6, ip - 6254: 4371 muls r1, r6 - 6256: 1840 adds r0, r0, r1 - 6258: 0201 lsls r1, r0, #8 - 625a: 1809 adds r1, r1, r0 - 625c: 01c9 lsls r1, r1, #7 - 625e: 1809 adds r1, r1, r0 - 6260: 0dc9 lsrs r1, r1, #23 - 6262: 4039 ands r1, r7 - 6264: 910c str r1, [sp, #48] ; 0x30 + 62aa: 20ff movs r0, #255 ; 0xff + 62ac: 1b40 subs r0, r0, r5 + 62ae: 4684 mov ip, r0 + 62b0: 9804 ldr r0, [sp, #16] + 62b2: 4368 muls r0, r5 + 62b4: 4689 mov r9, r1 + 62b6: 78e1 ldrb r1, [r4, #3] + 62b8: 08c9 lsrs r1, r1, #3 + 62ba: 4666 mov r6, ip + 62bc: 4371 muls r1, r6 + 62be: 1840 adds r0, r0, r1 + 62c0: 0201 lsls r1, r0, #8 + 62c2: 1809 adds r1, r1, r0 + 62c4: 01c9 lsls r1, r1, #7 + 62c6: 1809 adds r1, r1, r0 + 62c8: 0dc9 lsrs r1, r1, #23 + 62ca: 4039 ands r1, r7 + 62cc: 910c str r1, [sp, #48] ; 0x30 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6266: 0028 movs r0, r5 - 6268: 9e06 ldr r6, [sp, #24] - 626a: 4370 muls r0, r6 - 626c: 4682 mov sl, r0 - 626e: 8860 ldrh r0, [r4, #2] - 6270: 0540 lsls r0, r0, #21 - 6272: 0e80 lsrs r0, r0, #26 - 6274: 4666 mov r6, ip - 6276: 4370 muls r0, r6 - 6278: 4482 add sl, r0 - 627a: 4650 mov r0, sl - 627c: 0200 lsls r0, r0, #8 - 627e: 4450 add r0, sl - 6280: 01c0 lsls r0, r0, #7 - 6282: 4450 add r0, sl - 6284: 00c0 lsls r0, r0, #3 + 62ce: 0028 movs r0, r5 + 62d0: 9e06 ldr r6, [sp, #24] + 62d2: 4370 muls r0, r6 + 62d4: 4682 mov sl, r0 + 62d6: 8860 ldrh r0, [r4, #2] + 62d8: 0540 lsls r0, r0, #21 + 62da: 0e80 lsrs r0, r0, #26 + 62dc: 4666 mov r6, ip + 62de: 4370 muls r0, r6 + 62e0: 4482 add sl, r0 + 62e2: 4650 mov r0, sl + 62e4: 0200 lsls r0, r0, #8 + 62e6: 4450 add r0, sl + 62e8: 01c0 lsls r0, r0, #7 + 62ea: 4450 add r0, sl + 62ec: 00c0 lsls r0, r0, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 6286: 465e mov r6, fp - 6288: 4375 muls r5, r6 - 628a: 78a6 ldrb r6, [r4, #2] - 628c: 46b0 mov r8, r6 - 628e: 06f6 lsls r6, r6, #27 - 6290: 0ef6 lsrs r6, r6, #27 - 6292: 46b2 mov sl, r6 - 6294: 4666 mov r6, ip - 6296: 4651 mov r1, sl - 6298: 434e muls r6, r1 - 629a: 46b4 mov ip, r6 - 629c: 44ac add ip, r5 - 629e: 4661 mov r1, ip - 62a0: 020d lsls r5, r1, #8 - 62a2: 4465 add r5, ip - 62a4: 01ed lsls r5, r5, #7 - 62a6: 4465 add r5, ip - 62a8: 0ded lsrs r5, r5, #23 - 62aa: 403d ands r5, r7 - 62ac: 4646 mov r6, r8 - 62ae: 43be bics r6, r7 - 62b0: 4335 orrs r5, r6 - 62b2: 70a5 strb r5, [r4, #2] - 62b4: 0e80 lsrs r0, r0, #26 - 62b6: 0140 lsls r0, r0, #5 - 62b8: 8865 ldrh r5, [r4, #2] - 62ba: 4998 ldr r1, [pc, #608] ; (651c <_lv_blend_fill+0x918>) - 62bc: 400d ands r5, r1 - 62be: 4328 orrs r0, r5 - 62c0: 8060 strh r0, [r4, #2] - 62c2: 990c ldr r1, [sp, #48] ; 0x30 - 62c4: 00c9 lsls r1, r1, #3 - 62c6: 0540 lsls r0, r0, #21 - 62c8: 0f40 lsrs r0, r0, #29 - 62ca: 4301 orrs r1, r0 - 62cc: 4648 mov r0, r9 - 62ce: 7041 strb r1, [r0, #1] + 62ee: 465e mov r6, fp + 62f0: 4375 muls r5, r6 + 62f2: 78a6 ldrb r6, [r4, #2] + 62f4: 46b0 mov r8, r6 + 62f6: 06f6 lsls r6, r6, #27 + 62f8: 0ef6 lsrs r6, r6, #27 + 62fa: 46b2 mov sl, r6 + 62fc: 4666 mov r6, ip + 62fe: 4651 mov r1, sl + 6300: 434e muls r6, r1 + 6302: 46b4 mov ip, r6 + 6304: 44ac add ip, r5 + 6306: 4661 mov r1, ip + 6308: 020d lsls r5, r1, #8 + 630a: 4465 add r5, ip + 630c: 01ed lsls r5, r5, #7 + 630e: 4465 add r5, ip + 6310: 0ded lsrs r5, r5, #23 + 6312: 403d ands r5, r7 + 6314: 4646 mov r6, r8 + 6316: 43be bics r6, r7 + 6318: 4335 orrs r5, r6 + 631a: 70a5 strb r5, [r4, #2] + 631c: 0e80 lsrs r0, r0, #26 + 631e: 0140 lsls r0, r0, #5 + 6320: 8865 ldrh r5, [r4, #2] + 6322: 4998 ldr r1, [pc, #608] ; (6584 <_lv_blend_fill+0x918>) + 6324: 400d ands r5, r1 + 6326: 4328 orrs r0, r5 + 6328: 8060 strh r0, [r4, #2] + 632a: 990c ldr r1, [sp, #48] ; 0x30 + 632c: 00c9 lsls r1, r1, #3 + 632e: 0540 lsls r0, r0, #21 + 6330: 0f40 lsrs r0, r0, #29 + 6332: 4301 orrs r1, r0 + 6334: 4648 mov r0, r9 + 6336: 7041 strb r1, [r0, #1] FILL_NORMAL_MASK_PX(x + 2, color) - 62d0: 7895 ldrb r5, [r2, #2] - 62d2: 2d00 cmp r5, #0 - 62d4: d04a beq.n 636c <_lv_blend_fill+0x768> - 62d6: 2dff cmp r5, #255 ; 0xff - 62d8: d100 bne.n 62dc <_lv_blend_fill+0x6d8> - 62da: e09e b.n 641a <_lv_blend_fill+0x816> - 62dc: 1d21 adds r1, r4, #4 + 6338: 7895 ldrb r5, [r2, #2] + 633a: 2d00 cmp r5, #0 + 633c: d04a beq.n 63d4 <_lv_blend_fill+0x768> + 633e: 2dff cmp r5, #255 ; 0xff + 6340: d100 bne.n 6344 <_lv_blend_fill+0x6d8> + 6342: e09e b.n 6482 <_lv_blend_fill+0x816> + 6344: 1d21 adds r1, r4, #4 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 62de: 20ff movs r0, #255 ; 0xff - 62e0: 1b40 subs r0, r0, r5 - 62e2: 4684 mov ip, r0 - 62e4: 9804 ldr r0, [sp, #16] - 62e6: 4368 muls r0, r5 - 62e8: 4689 mov r9, r1 - 62ea: 7961 ldrb r1, [r4, #5] - 62ec: 08c9 lsrs r1, r1, #3 - 62ee: 4666 mov r6, ip - 62f0: 4371 muls r1, r6 - 62f2: 1840 adds r0, r0, r1 - 62f4: 0201 lsls r1, r0, #8 - 62f6: 1809 adds r1, r1, r0 - 62f8: 01c9 lsls r1, r1, #7 - 62fa: 1809 adds r1, r1, r0 - 62fc: 0dc9 lsrs r1, r1, #23 - 62fe: 4039 ands r1, r7 - 6300: 910c str r1, [sp, #48] ; 0x30 + 6346: 20ff movs r0, #255 ; 0xff + 6348: 1b40 subs r0, r0, r5 + 634a: 4684 mov ip, r0 + 634c: 9804 ldr r0, [sp, #16] + 634e: 4368 muls r0, r5 + 6350: 4689 mov r9, r1 + 6352: 7961 ldrb r1, [r4, #5] + 6354: 08c9 lsrs r1, r1, #3 + 6356: 4666 mov r6, ip + 6358: 4371 muls r1, r6 + 635a: 1840 adds r0, r0, r1 + 635c: 0201 lsls r1, r0, #8 + 635e: 1809 adds r1, r1, r0 + 6360: 01c9 lsls r1, r1, #7 + 6362: 1809 adds r1, r1, r0 + 6364: 0dc9 lsrs r1, r1, #23 + 6366: 4039 ands r1, r7 + 6368: 910c str r1, [sp, #48] ; 0x30 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6302: 0028 movs r0, r5 - 6304: 9e06 ldr r6, [sp, #24] - 6306: 4370 muls r0, r6 - 6308: 4682 mov sl, r0 - 630a: 88a0 ldrh r0, [r4, #4] - 630c: 0540 lsls r0, r0, #21 - 630e: 0e80 lsrs r0, r0, #26 - 6310: 4666 mov r6, ip - 6312: 4370 muls r0, r6 - 6314: 4482 add sl, r0 - 6316: 4650 mov r0, sl - 6318: 0200 lsls r0, r0, #8 - 631a: 4450 add r0, sl - 631c: 01c0 lsls r0, r0, #7 - 631e: 4450 add r0, sl - 6320: 00c0 lsls r0, r0, #3 + 636a: 0028 movs r0, r5 + 636c: 9e06 ldr r6, [sp, #24] + 636e: 4370 muls r0, r6 + 6370: 4682 mov sl, r0 + 6372: 88a0 ldrh r0, [r4, #4] + 6374: 0540 lsls r0, r0, #21 + 6376: 0e80 lsrs r0, r0, #26 + 6378: 4666 mov r6, ip + 637a: 4370 muls r0, r6 + 637c: 4482 add sl, r0 + 637e: 4650 mov r0, sl + 6380: 0200 lsls r0, r0, #8 + 6382: 4450 add r0, sl + 6384: 01c0 lsls r0, r0, #7 + 6386: 4450 add r0, sl + 6388: 00c0 lsls r0, r0, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 6322: 465e mov r6, fp - 6324: 4375 muls r5, r6 - 6326: 7926 ldrb r6, [r4, #4] - 6328: 46b0 mov r8, r6 - 632a: 06f6 lsls r6, r6, #27 - 632c: 0ef6 lsrs r6, r6, #27 - 632e: 46b2 mov sl, r6 - 6330: 4666 mov r6, ip - 6332: 4651 mov r1, sl - 6334: 434e muls r6, r1 - 6336: 46b4 mov ip, r6 - 6338: 44ac add ip, r5 - 633a: 4661 mov r1, ip - 633c: 020d lsls r5, r1, #8 - 633e: 4465 add r5, ip - 6340: 01ed lsls r5, r5, #7 - 6342: 4465 add r5, ip - 6344: 0ded lsrs r5, r5, #23 - 6346: 403d ands r5, r7 - 6348: 4646 mov r6, r8 - 634a: 43be bics r6, r7 - 634c: 4335 orrs r5, r6 - 634e: 7125 strb r5, [r4, #4] - 6350: 0e80 lsrs r0, r0, #26 - 6352: 0140 lsls r0, r0, #5 - 6354: 88a5 ldrh r5, [r4, #4] - 6356: 4971 ldr r1, [pc, #452] ; (651c <_lv_blend_fill+0x918>) - 6358: 400d ands r5, r1 - 635a: 4328 orrs r0, r5 - 635c: 80a0 strh r0, [r4, #4] - 635e: 990c ldr r1, [sp, #48] ; 0x30 - 6360: 00c9 lsls r1, r1, #3 - 6362: 0540 lsls r0, r0, #21 - 6364: 0f40 lsrs r0, r0, #29 - 6366: 4301 orrs r1, r0 - 6368: 4648 mov r0, r9 - 636a: 7041 strb r1, [r0, #1] + 638a: 465e mov r6, fp + 638c: 4375 muls r5, r6 + 638e: 7926 ldrb r6, [r4, #4] + 6390: 46b0 mov r8, r6 + 6392: 06f6 lsls r6, r6, #27 + 6394: 0ef6 lsrs r6, r6, #27 + 6396: 46b2 mov sl, r6 + 6398: 4666 mov r6, ip + 639a: 4651 mov r1, sl + 639c: 434e muls r6, r1 + 639e: 46b4 mov ip, r6 + 63a0: 44ac add ip, r5 + 63a2: 4661 mov r1, ip + 63a4: 020d lsls r5, r1, #8 + 63a6: 4465 add r5, ip + 63a8: 01ed lsls r5, r5, #7 + 63aa: 4465 add r5, ip + 63ac: 0ded lsrs r5, r5, #23 + 63ae: 403d ands r5, r7 + 63b0: 4646 mov r6, r8 + 63b2: 43be bics r6, r7 + 63b4: 4335 orrs r5, r6 + 63b6: 7125 strb r5, [r4, #4] + 63b8: 0e80 lsrs r0, r0, #26 + 63ba: 0140 lsls r0, r0, #5 + 63bc: 88a5 ldrh r5, [r4, #4] + 63be: 4971 ldr r1, [pc, #452] ; (6584 <_lv_blend_fill+0x918>) + 63c0: 400d ands r5, r1 + 63c2: 4328 orrs r0, r5 + 63c4: 80a0 strh r0, [r4, #4] + 63c6: 990c ldr r1, [sp, #48] ; 0x30 + 63c8: 00c9 lsls r1, r1, #3 + 63ca: 0540 lsls r0, r0, #21 + 63cc: 0f40 lsrs r0, r0, #29 + 63ce: 4301 orrs r1, r0 + 63d0: 4648 mov r0, r9 + 63d2: 7041 strb r1, [r0, #1] FILL_NORMAL_MASK_PX(x + 3, color) - 636c: 78d5 ldrb r5, [r2, #3] - 636e: 2d00 cmp r5, #0 - 6370: d100 bne.n 6374 <_lv_blend_fill+0x770> - 6372: e709 b.n 6188 <_lv_blend_fill+0x584> - 6374: 2dff cmp r5, #255 ; 0xff - 6376: d054 beq.n 6422 <_lv_blend_fill+0x81e> - 6378: 1da1 adds r1, r4, #6 + 63d4: 78d5 ldrb r5, [r2, #3] + 63d6: 2d00 cmp r5, #0 + 63d8: d100 bne.n 63dc <_lv_blend_fill+0x770> + 63da: e709 b.n 61f0 <_lv_blend_fill+0x584> + 63dc: 2dff cmp r5, #255 ; 0xff + 63de: d054 beq.n 648a <_lv_blend_fill+0x81e> + 63e0: 1da1 adds r1, r4, #6 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 637a: 20ff movs r0, #255 ; 0xff - 637c: 1b40 subs r0, r0, r5 - 637e: 4684 mov ip, r0 - 6380: 9804 ldr r0, [sp, #16] - 6382: 4368 muls r0, r5 - 6384: 4689 mov r9, r1 - 6386: 79e1 ldrb r1, [r4, #7] - 6388: 08c9 lsrs r1, r1, #3 - 638a: 4666 mov r6, ip - 638c: 4371 muls r1, r6 - 638e: 1840 adds r0, r0, r1 - 6390: 0201 lsls r1, r0, #8 - 6392: 1809 adds r1, r1, r0 - 6394: 01c9 lsls r1, r1, #7 - 6396: 1809 adds r1, r1, r0 - 6398: 0dc9 lsrs r1, r1, #23 - 639a: 4039 ands r1, r7 - 639c: 910c str r1, [sp, #48] ; 0x30 + 63e2: 20ff movs r0, #255 ; 0xff + 63e4: 1b40 subs r0, r0, r5 + 63e6: 4684 mov ip, r0 + 63e8: 9804 ldr r0, [sp, #16] + 63ea: 4368 muls r0, r5 + 63ec: 4689 mov r9, r1 + 63ee: 79e1 ldrb r1, [r4, #7] + 63f0: 08c9 lsrs r1, r1, #3 + 63f2: 4666 mov r6, ip + 63f4: 4371 muls r1, r6 + 63f6: 1840 adds r0, r0, r1 + 63f8: 0201 lsls r1, r0, #8 + 63fa: 1809 adds r1, r1, r0 + 63fc: 01c9 lsls r1, r1, #7 + 63fe: 1809 adds r1, r1, r0 + 6400: 0dc9 lsrs r1, r1, #23 + 6402: 4039 ands r1, r7 + 6404: 910c str r1, [sp, #48] ; 0x30 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 639e: 0028 movs r0, r5 - 63a0: 9e06 ldr r6, [sp, #24] - 63a2: 4370 muls r0, r6 - 63a4: 4682 mov sl, r0 - 63a6: 88e0 ldrh r0, [r4, #6] - 63a8: 0540 lsls r0, r0, #21 - 63aa: 0e80 lsrs r0, r0, #26 - 63ac: 4666 mov r6, ip - 63ae: 4370 muls r0, r6 - 63b0: 4482 add sl, r0 - 63b2: 4650 mov r0, sl - 63b4: 0200 lsls r0, r0, #8 - 63b6: 4450 add r0, sl - 63b8: 01c0 lsls r0, r0, #7 - 63ba: 4450 add r0, sl - 63bc: 00c0 lsls r0, r0, #3 + 6406: 0028 movs r0, r5 + 6408: 9e06 ldr r6, [sp, #24] + 640a: 4370 muls r0, r6 + 640c: 4682 mov sl, r0 + 640e: 88e0 ldrh r0, [r4, #6] + 6410: 0540 lsls r0, r0, #21 + 6412: 0e80 lsrs r0, r0, #26 + 6414: 4666 mov r6, ip + 6416: 4370 muls r0, r6 + 6418: 4482 add sl, r0 + 641a: 4650 mov r0, sl + 641c: 0200 lsls r0, r0, #8 + 641e: 4450 add r0, sl + 6420: 01c0 lsls r0, r0, #7 + 6422: 4450 add r0, sl + 6424: 00c0 lsls r0, r0, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 63be: 465e mov r6, fp - 63c0: 4375 muls r5, r6 - 63c2: 79a6 ldrb r6, [r4, #6] - 63c4: 46b0 mov r8, r6 - 63c6: 06f6 lsls r6, r6, #27 - 63c8: 0ef6 lsrs r6, r6, #27 - 63ca: 46b2 mov sl, r6 - 63cc: 4666 mov r6, ip - 63ce: 4651 mov r1, sl - 63d0: 434e muls r6, r1 - 63d2: 46b4 mov ip, r6 - 63d4: 44ac add ip, r5 - 63d6: 4661 mov r1, ip - 63d8: 020d lsls r5, r1, #8 - 63da: 4465 add r5, ip - 63dc: 01ed lsls r5, r5, #7 - 63de: 4465 add r5, ip - 63e0: 0ded lsrs r5, r5, #23 - 63e2: 403d ands r5, r7 - 63e4: 4646 mov r6, r8 - 63e6: 43be bics r6, r7 - 63e8: 4335 orrs r5, r6 - 63ea: 71a5 strb r5, [r4, #6] - 63ec: 0e80 lsrs r0, r0, #26 - 63ee: 0140 lsls r0, r0, #5 - 63f0: 88e5 ldrh r5, [r4, #6] - 63f2: 494a ldr r1, [pc, #296] ; (651c <_lv_blend_fill+0x918>) - 63f4: 400d ands r5, r1 - 63f6: 4328 orrs r0, r5 - 63f8: 80e0 strh r0, [r4, #6] - 63fa: 990c ldr r1, [sp, #48] ; 0x30 - 63fc: 00c9 lsls r1, r1, #3 - 63fe: 0540 lsls r0, r0, #21 - 6400: 0f40 lsrs r0, r0, #29 - 6402: 4301 orrs r1, r0 - 6404: 4648 mov r0, r9 - 6406: 7041 strb r1, [r0, #1] - 6408: e6be b.n 6188 <_lv_blend_fill+0x584> + 6426: 465e mov r6, fp + 6428: 4375 muls r5, r6 + 642a: 79a6 ldrb r6, [r4, #6] + 642c: 46b0 mov r8, r6 + 642e: 06f6 lsls r6, r6, #27 + 6430: 0ef6 lsrs r6, r6, #27 + 6432: 46b2 mov sl, r6 + 6434: 4666 mov r6, ip + 6436: 4651 mov r1, sl + 6438: 434e muls r6, r1 + 643a: 46b4 mov ip, r6 + 643c: 44ac add ip, r5 + 643e: 4661 mov r1, ip + 6440: 020d lsls r5, r1, #8 + 6442: 4465 add r5, ip + 6444: 01ed lsls r5, r5, #7 + 6446: 4465 add r5, ip + 6448: 0ded lsrs r5, r5, #23 + 644a: 403d ands r5, r7 + 644c: 4646 mov r6, r8 + 644e: 43be bics r6, r7 + 6450: 4335 orrs r5, r6 + 6452: 71a5 strb r5, [r4, #6] + 6454: 0e80 lsrs r0, r0, #26 + 6456: 0140 lsls r0, r0, #5 + 6458: 88e5 ldrh r5, [r4, #6] + 645a: 494a ldr r1, [pc, #296] ; (6584 <_lv_blend_fill+0x918>) + 645c: 400d ands r5, r1 + 645e: 4328 orrs r0, r5 + 6460: 80e0 strh r0, [r4, #6] + 6462: 990c ldr r1, [sp, #48] ; 0x30 + 6464: 00c9 lsls r1, r1, #3 + 6466: 0540 lsls r0, r0, #21 + 6468: 0f40 lsrs r0, r0, #29 + 646a: 4301 orrs r1, r0 + 646c: 4648 mov r0, r9 + 646e: 7041 strb r1, [r0, #1] + 6470: e6be b.n 61f0 <_lv_blend_fill+0x584> FILL_NORMAL_MASK_PX(x, color) - 640a: 4669 mov r1, sp - 640c: 8c09 ldrh r1, [r1, #32] - 640e: 8021 strh r1, [r4, #0] - 6410: e710 b.n 6234 <_lv_blend_fill+0x630> + 6472: 4669 mov r1, sp + 6474: 8c09 ldrh r1, [r1, #32] + 6476: 8021 strh r1, [r4, #0] + 6478: e710 b.n 629c <_lv_blend_fill+0x630> FILL_NORMAL_MASK_PX(x + 1, color) - 6412: 4669 mov r1, sp - 6414: 8c09 ldrh r1, [r1, #32] - 6416: 8061 strh r1, [r4, #2] - 6418: e75a b.n 62d0 <_lv_blend_fill+0x6cc> + 647a: 4669 mov r1, sp + 647c: 8c09 ldrh r1, [r1, #32] + 647e: 8061 strh r1, [r4, #2] + 6480: e75a b.n 6338 <_lv_blend_fill+0x6cc> FILL_NORMAL_MASK_PX(x + 2, color) - 641a: 4669 mov r1, sp - 641c: 8c09 ldrh r1, [r1, #32] - 641e: 80a1 strh r1, [r4, #4] - 6420: e7a4 b.n 636c <_lv_blend_fill+0x768> + 6482: 4669 mov r1, sp + 6484: 8c09 ldrh r1, [r1, #32] + 6486: 80a1 strh r1, [r4, #4] + 6488: e7a4 b.n 63d4 <_lv_blend_fill+0x768> FILL_NORMAL_MASK_PX(x + 3, color) - 6422: 4669 mov r1, sp - 6424: 8c09 ldrh r1, [r1, #32] - 6426: 80e1 strh r1, [r4, #6] - 6428: e6ae b.n 6188 <_lv_blend_fill+0x584> - 642a: 9906 ldr r1, [sp, #24] - 642c: 468a mov sl, r1 + 648a: 4669 mov r1, sp + 648c: 8c09 ldrh r1, [r1, #32] + 648e: 80e1 strh r1, [r4, #6] + 6490: e6ae b.n 61f0 <_lv_blend_fill+0x584> + 6492: 9906 ldr r1, [sp, #24] + 6494: 468a mov sl, r1 for(; x < draw_area_w ; x++) { - 642e: 990a ldr r1, [sp, #40] ; 0x28 - 6430: 4299 cmp r1, r3 - 6432: dd50 ble.n 64d6 <_lv_blend_fill+0x8d2> - 6434: 005e lsls r6, r3, #1 - 6436: 9907 ldr r1, [sp, #28] - 6438: 468c mov ip, r1 - 643a: 4466 add r6, ip + 6496: 990a ldr r1, [sp, #40] ; 0x28 + 6498: 4299 cmp r1, r3 + 649a: dd50 ble.n 653e <_lv_blend_fill+0x8d2> + 649c: 005e lsls r6, r3, #1 + 649e: 9907 ldr r1, [sp, #28] + 64a0: 468c mov ip, r1 + 64a2: 4466 add r6, ip FILL_NORMAL_MASK_PX(x, color) - 643c: 1ad2 subs r2, r2, r3 - 643e: 4690 mov r8, r2 - 6440: 9a0a ldr r2, [sp, #40] ; 0x28 - 6442: 4691 mov r9, r2 - 6444: e006 b.n 6454 <_lv_blend_fill+0x850> - 6446: 466a mov r2, sp - 6448: 8c12 ldrh r2, [r2, #32] - 644a: 8032 strh r2, [r6, #0] + 64a4: 1ad2 subs r2, r2, r3 + 64a6: 4690 mov r8, r2 + 64a8: 9a0a ldr r2, [sp, #40] ; 0x28 + 64aa: 4691 mov r9, r2 + 64ac: e006 b.n 64bc <_lv_blend_fill+0x850> + 64ae: 466a mov r2, sp + 64b0: 8c12 ldrh r2, [r2, #32] + 64b2: 8032 strh r2, [r6, #0] for(; x < draw_area_w ; x++) { - 644c: 3301 adds r3, #1 - 644e: 3602 adds r6, #2 - 6450: 4599 cmp r9, r3 - 6452: dd40 ble.n 64d6 <_lv_blend_fill+0x8d2> + 64b4: 3301 adds r3, #1 + 64b6: 3602 adds r6, #2 + 64b8: 4599 cmp r9, r3 + 64ba: dd40 ble.n 653e <_lv_blend_fill+0x8d2> FILL_NORMAL_MASK_PX(x, color) - 6454: 4642 mov r2, r8 - 6456: 5cd0 ldrb r0, [r2, r3] - 6458: 2800 cmp r0, #0 - 645a: d0f7 beq.n 644c <_lv_blend_fill+0x848> - 645c: 28ff cmp r0, #255 ; 0xff - 645e: d0f2 beq.n 6446 <_lv_blend_fill+0x842> + 64bc: 4642 mov r2, r8 + 64be: 5cd0 ldrb r0, [r2, r3] + 64c0: 2800 cmp r0, #0 + 64c2: d0f7 beq.n 64b4 <_lv_blend_fill+0x848> + 64c4: 28ff cmp r0, #255 ; 0xff + 64c6: d0f2 beq.n 64ae <_lv_blend_fill+0x842> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 6460: 22ff movs r2, #255 ; 0xff - 6462: 1a14 subs r4, r2, r0 - 6464: 9a04 ldr r2, [sp, #16] - 6466: 4342 muls r2, r0 - 6468: 7871 ldrb r1, [r6, #1] - 646a: 08c9 lsrs r1, r1, #3 - 646c: 4361 muls r1, r4 - 646e: 1851 adds r1, r2, r1 - 6470: 020a lsls r2, r1, #8 - 6472: 1852 adds r2, r2, r1 - 6474: 01d2 lsls r2, r2, #7 - 6476: 1852 adds r2, r2, r1 - 6478: 0dd2 lsrs r2, r2, #23 - 647a: 271f movs r7, #31 - 647c: 403a ands r2, r7 - 647e: 9206 str r2, [sp, #24] + 64c8: 22ff movs r2, #255 ; 0xff + 64ca: 1a14 subs r4, r2, r0 + 64cc: 9a04 ldr r2, [sp, #16] + 64ce: 4342 muls r2, r0 + 64d0: 7871 ldrb r1, [r6, #1] + 64d2: 08c9 lsrs r1, r1, #3 + 64d4: 4361 muls r1, r4 + 64d6: 1851 adds r1, r2, r1 + 64d8: 020a lsls r2, r1, #8 + 64da: 1852 adds r2, r2, r1 + 64dc: 01d2 lsls r2, r2, #7 + 64de: 1852 adds r2, r2, r1 + 64e0: 0dd2 lsrs r2, r2, #23 + 64e2: 271f movs r7, #31 + 64e4: 403a ands r2, r7 + 64e6: 9206 str r2, [sp, #24] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6480: 4655 mov r5, sl - 6482: 4345 muls r5, r0 - 6484: 8831 ldrh r1, [r6, #0] - 6486: 0549 lsls r1, r1, #21 - 6488: 0e89 lsrs r1, r1, #26 - 648a: 4361 muls r1, r4 - 648c: 186d adds r5, r5, r1 - 648e: 0229 lsls r1, r5, #8 - 6490: 1949 adds r1, r1, r5 - 6492: 01c9 lsls r1, r1, #7 - 6494: 1949 adds r1, r1, r5 - 6496: 00c9 lsls r1, r1, #3 + 64e8: 4655 mov r5, sl + 64ea: 4345 muls r5, r0 + 64ec: 8831 ldrh r1, [r6, #0] + 64ee: 0549 lsls r1, r1, #21 + 64f0: 0e89 lsrs r1, r1, #26 + 64f2: 4361 muls r1, r4 + 64f4: 186d adds r5, r5, r1 + 64f6: 0229 lsls r1, r5, #8 + 64f8: 1949 adds r1, r1, r5 + 64fa: 01c9 lsls r1, r1, #7 + 64fc: 1949 adds r1, r1, r5 + 64fe: 00c9 lsls r1, r1, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 6498: 465d mov r5, fp - 649a: 4368 muls r0, r5 - 649c: 7835 ldrb r5, [r6, #0] - 649e: 06ea lsls r2, r5, #27 - 64a0: 0ed2 lsrs r2, r2, #27 - 64a2: 4354 muls r4, r2 - 64a4: 1904 adds r4, r0, r4 - 64a6: 0220 lsls r0, r4, #8 - 64a8: 1900 adds r0, r0, r4 - 64aa: 01c0 lsls r0, r0, #7 - 64ac: 1900 adds r0, r0, r4 - 64ae: 0dc0 lsrs r0, r0, #23 - 64b0: 4007 ands r7, r0 - 64b2: 201f movs r0, #31 - 64b4: 4385 bics r5, r0 - 64b6: 432f orrs r7, r5 - 64b8: 7037 strb r7, [r6, #0] - 64ba: 0e89 lsrs r1, r1, #26 - 64bc: 0148 lsls r0, r1, #5 - 64be: 8831 ldrh r1, [r6, #0] - 64c0: 4c16 ldr r4, [pc, #88] ; (651c <_lv_blend_fill+0x918>) - 64c2: 4021 ands r1, r4 - 64c4: 4301 orrs r1, r0 - 64c6: 8031 strh r1, [r6, #0] - 64c8: 9a06 ldr r2, [sp, #24] - 64ca: 00d2 lsls r2, r2, #3 - 64cc: 0549 lsls r1, r1, #21 - 64ce: 0f49 lsrs r1, r1, #29 - 64d0: 430a orrs r2, r1 - 64d2: 7072 strb r2, [r6, #1] - 64d4: e7ba b.n 644c <_lv_blend_fill+0x848> + 6500: 465d mov r5, fp + 6502: 4368 muls r0, r5 + 6504: 7835 ldrb r5, [r6, #0] + 6506: 06ea lsls r2, r5, #27 + 6508: 0ed2 lsrs r2, r2, #27 + 650a: 4354 muls r4, r2 + 650c: 1904 adds r4, r0, r4 + 650e: 0220 lsls r0, r4, #8 + 6510: 1900 adds r0, r0, r4 + 6512: 01c0 lsls r0, r0, #7 + 6514: 1900 adds r0, r0, r4 + 6516: 0dc0 lsrs r0, r0, #23 + 6518: 4007 ands r7, r0 + 651a: 201f movs r0, #31 + 651c: 4385 bics r5, r0 + 651e: 432f orrs r7, r5 + 6520: 7037 strb r7, [r6, #0] + 6522: 0e89 lsrs r1, r1, #26 + 6524: 0148 lsls r0, r1, #5 + 6526: 8831 ldrh r1, [r6, #0] + 6528: 4c16 ldr r4, [pc, #88] ; (6584 <_lv_blend_fill+0x918>) + 652a: 4021 ands r1, r4 + 652c: 4301 orrs r1, r0 + 652e: 8031 strh r1, [r6, #0] + 6530: 9a06 ldr r2, [sp, #24] + 6532: 00d2 lsls r2, r2, #3 + 6534: 0549 lsls r1, r1, #21 + 6536: 0f49 lsrs r1, r1, #29 + 6538: 430a orrs r2, r1 + 653a: 7072 strb r2, [r6, #1] + 653c: e7ba b.n 64b4 <_lv_blend_fill+0x848> disp_buf_first += disp_w; - 64d6: 9b07 ldr r3, [sp, #28] - 64d8: 9a0f ldr r2, [sp, #60] ; 0x3c - 64da: 4694 mov ip, r2 - 64dc: 4463 add r3, ip - 64de: 9307 str r3, [sp, #28] - 64e0: 9b09 ldr r3, [sp, #36] ; 0x24 - 64e2: 9a0b ldr r2, [sp, #44] ; 0x2c - 64e4: 4694 mov ip, r2 - 64e6: 4463 add r3, ip - 64e8: 9309 str r3, [sp, #36] ; 0x24 + 653e: 9b07 ldr r3, [sp, #28] + 6540: 9a0f ldr r2, [sp, #60] ; 0x3c + 6542: 4694 mov ip, r2 + 6544: 4463 add r3, ip + 6546: 9307 str r3, [sp, #28] + 6548: 9b09 ldr r3, [sp, #36] ; 0x24 + 654a: 9a0b ldr r2, [sp, #44] ; 0x2c + 654c: 4694 mov ip, r2 + 654e: 4463 add r3, ip + 6550: 9309 str r3, [sp, #36] ; 0x24 for(y = 0; y < draw_area_h; y++) { - 64ea: 9b0d ldr r3, [sp, #52] ; 0x34 - 64ec: 3301 adds r3, #1 - 64ee: 930d str r3, [sp, #52] ; 0x34 - 64f0: 9a0e ldr r2, [sp, #56] ; 0x38 - 64f2: 429a cmp r2, r3 - 64f4: dc01 bgt.n 64fa <_lv_blend_fill+0x8f6> - 64f6: f7ff fb9d bl 5c34 <_lv_blend_fill+0x30> + 6552: 9b0d ldr r3, [sp, #52] ; 0x34 + 6554: 3301 adds r3, #1 + 6556: 930d str r3, [sp, #52] ; 0x34 + 6558: 9a0e ldr r2, [sp, #56] ; 0x38 + 655a: 429a cmp r2, r3 + 655c: dc01 bgt.n 6562 <_lv_blend_fill+0x8f6> + 655e: f7ff fb9d bl 5c9c <_lv_blend_fill+0x30> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 64fa: 9a0a ldr r2, [sp, #40] ; 0x28 - 64fc: 2a00 cmp r2, #0 - 64fe: dc00 bgt.n 6502 <_lv_blend_fill+0x8fe> - 6500: e1e5 b.n 68ce <_lv_blend_fill+0xcca> - 6502: 9b09 ldr r3, [sp, #36] ; 0x24 - 6504: 0799 lsls r1, r3, #30 - 6506: d100 bne.n 650a <_lv_blend_fill+0x906> - 6508: e1e4 b.n 68d4 <_lv_blend_fill+0xcd0> - 650a: 9e07 ldr r6, [sp, #28] - 650c: 4698 mov r8, r3 - 650e: 2300 movs r3, #0 + 6562: 9a0a ldr r2, [sp, #40] ; 0x28 + 6564: 2a00 cmp r2, #0 + 6566: dc00 bgt.n 656a <_lv_blend_fill+0x8fe> + 6568: e1e5 b.n 6936 <_lv_blend_fill+0xcca> + 656a: 9b09 ldr r3, [sp, #36] ; 0x24 + 656c: 0799 lsls r1, r3, #30 + 656e: d100 bne.n 6572 <_lv_blend_fill+0x906> + 6570: e1e4 b.n 693c <_lv_blend_fill+0xcd0> + 6572: 9e07 ldr r6, [sp, #28] + 6574: 4698 mov r8, r3 + 6576: 2300 movs r3, #0 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 6510: 211f movs r1, #31 - 6512: 4689 mov r9, r1 - 6514: 4644 mov r4, r8 - 6516: 4690 mov r8, r2 - 6518: e5e7 b.n 60ea <_lv_blend_fill+0x4e6> - 651a: 46c0 nop ; (mov r8, r8) - 651c: fffff81f .word 0xfffff81f + 6578: 211f movs r1, #31 + 657a: 4689 mov r9, r1 + 657c: 4644 mov r4, r8 + 657e: 4690 mov r8, r2 + 6580: e5e7 b.n 6152 <_lv_blend_fill+0x4e6> + 6582: 46c0 nop ; (mov r8, r8) + 6584: fffff81f .word 0xfffff81f if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 6520: 9e0d ldr r6, [sp, #52] ; 0x34 + 6588: 9e0d ldr r6, [sp, #52] ; 0x34 if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) { - 6522: 2aff cmp r2, #255 ; 0xff - 6524: d065 beq.n 65f2 <_lv_blend_fill+0x9ee> + 658a: 2aff cmp r2, #255 ; 0xff + 658c: d065 beq.n 665a <_lv_blend_fill+0x9ee> if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 6526: 2eff cmp r6, #255 ; 0xff - 6528: d067 beq.n 65fa <_lv_blend_fill+0x9f6> - 652a: 23ff movs r3, #255 ; 0xff - 652c: 1b9b subs r3, r3, r6 - 652e: 784a ldrb r2, [r1, #1] - 6530: 08d2 lsrs r2, r2, #3 - 6532: 4699 mov r9, r3 - 6534: 435a muls r2, r3 - 6536: 9b05 ldr r3, [sp, #20] - 6538: 4373 muls r3, r6 - 653a: 18d2 adds r2, r2, r3 - 653c: 0213 lsls r3, r2, #8 - 653e: 189b adds r3, r3, r2 - 6540: 01db lsls r3, r3, #7 - 6542: 189b adds r3, r3, r2 - 6544: 0ddb lsrs r3, r3, #23 - 6546: 221f movs r2, #31 - 6548: 401a ands r2, r3 - 654a: 9204 str r2, [sp, #16] + 658e: 2eff cmp r6, #255 ; 0xff + 6590: d067 beq.n 6662 <_lv_blend_fill+0x9f6> + 6592: 23ff movs r3, #255 ; 0xff + 6594: 1b9b subs r3, r3, r6 + 6596: 784a ldrb r2, [r1, #1] + 6598: 08d2 lsrs r2, r2, #3 + 659a: 4699 mov r9, r3 + 659c: 435a muls r2, r3 + 659e: 9b05 ldr r3, [sp, #20] + 65a0: 4373 muls r3, r6 + 65a2: 18d2 adds r2, r2, r3 + 65a4: 0213 lsls r3, r2, #8 + 65a6: 189b adds r3, r3, r2 + 65a8: 01db lsls r3, r3, #7 + 65aa: 189b adds r3, r3, r2 + 65ac: 0ddb lsrs r3, r3, #23 + 65ae: 221f movs r2, #31 + 65b0: 401a ands r2, r3 + 65b2: 9204 str r2, [sp, #16] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 654c: 880a ldrh r2, [r1, #0] - 654e: 0552 lsls r2, r2, #21 - 6550: 0e92 lsrs r2, r2, #26 - 6552: 464b mov r3, r9 - 6554: 435a muls r2, r3 - 6556: 9b08 ldr r3, [sp, #32] - 6558: 4373 muls r3, r6 - 655a: 469a mov sl, r3 - 655c: 4452 add r2, sl - 655e: 0213 lsls r3, r2, #8 - 6560: 469a mov sl, r3 - 6562: 4492 add sl, r2 - 6564: 4653 mov r3, sl - 6566: 01db lsls r3, r3, #7 - 6568: 469a mov sl, r3 - 656a: 4452 add r2, sl - 656c: 0dd2 lsrs r2, r2, #23 + 65b4: 880a ldrh r2, [r1, #0] + 65b6: 0552 lsls r2, r2, #21 + 65b8: 0e92 lsrs r2, r2, #26 + 65ba: 464b mov r3, r9 + 65bc: 435a muls r2, r3 + 65be: 9b08 ldr r3, [sp, #32] + 65c0: 4373 muls r3, r6 + 65c2: 469a mov sl, r3 + 65c4: 4452 add r2, sl + 65c6: 0213 lsls r3, r2, #8 + 65c8: 469a mov sl, r3 + 65ca: 4492 add sl, r2 + 65cc: 4653 mov r3, sl + 65ce: 01db lsls r3, r3, #7 + 65d0: 469a mov sl, r3 + 65d2: 4452 add r2, sl + 65d4: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 656e: 780b ldrb r3, [r1, #0] - 6570: 06db lsls r3, r3, #27 - 6572: 0edb lsrs r3, r3, #27 - 6574: 469a mov sl, r3 - 6576: 464b mov r3, r9 - 6578: 4654 mov r4, sl - 657a: 4363 muls r3, r4 - 657c: 469a mov sl, r3 - 657e: 4663 mov r3, ip - 6580: 4373 muls r3, r6 - 6582: 4699 mov r9, r3 - 6584: 44ca add sl, r9 - 6586: 4653 mov r3, sl - 6588: 021b lsls r3, r3, #8 - 658a: 4699 mov r9, r3 - 658c: 44d1 add r9, sl - 658e: 464b mov r3, r9 - 6590: 01db lsls r3, r3, #7 - 6592: 4699 mov r9, r3 - 6594: 44d1 add r9, sl - 6596: 464b mov r3, r9 - 6598: 0ddb lsrs r3, r3, #23 - 659a: 241f movs r4, #31 - 659c: 4023 ands r3, r4 - 659e: 4699 mov r9, r3 - 65a0: 9b09 ldr r3, [sp, #36] ; 0x24 - 65a2: 43a3 bics r3, r4 - 65a4: 469a mov sl, r3 - 65a6: 464b mov r3, r9 - 65a8: 4654 mov r4, sl - 65aa: 4323 orrs r3, r4 - 65ac: 4699 mov r9, r3 - 65ae: 233f movs r3, #63 ; 0x3f - 65b0: 401a ands r2, r3 - 65b2: 0152 lsls r2, r2, #5 - 65b4: 464b mov r3, r9 - 65b6: 4644 mov r4, r8 - 65b8: 4023 ands r3, r4 - 65ba: 431a orrs r2, r3 - 65bc: 9b04 ldr r3, [sp, #16] - 65be: 02db lsls r3, r3, #11 - 65c0: 0552 lsls r2, r2, #21 - 65c2: 0d52 lsrs r2, r2, #21 - 65c4: 4313 orrs r3, r2 - 65c6: 466a mov r2, sp - 65c8: 8493 strh r3, [r2, #36] ; 0x24 - 65ca: b29b uxth r3, r3 + 65d6: 780b ldrb r3, [r1, #0] + 65d8: 06db lsls r3, r3, #27 + 65da: 0edb lsrs r3, r3, #27 + 65dc: 469a mov sl, r3 + 65de: 464b mov r3, r9 + 65e0: 4654 mov r4, sl + 65e2: 4363 muls r3, r4 + 65e4: 469a mov sl, r3 + 65e6: 4663 mov r3, ip + 65e8: 4373 muls r3, r6 + 65ea: 4699 mov r9, r3 + 65ec: 44ca add sl, r9 + 65ee: 4653 mov r3, sl + 65f0: 021b lsls r3, r3, #8 + 65f2: 4699 mov r9, r3 + 65f4: 44d1 add r9, sl + 65f6: 464b mov r3, r9 + 65f8: 01db lsls r3, r3, #7 + 65fa: 4699 mov r9, r3 + 65fc: 44d1 add r9, sl + 65fe: 464b mov r3, r9 + 6600: 0ddb lsrs r3, r3, #23 + 6602: 241f movs r4, #31 + 6604: 4023 ands r3, r4 + 6606: 4699 mov r9, r3 + 6608: 9b09 ldr r3, [sp, #36] ; 0x24 + 660a: 43a3 bics r3, r4 + 660c: 469a mov sl, r3 + 660e: 464b mov r3, r9 + 6610: 4654 mov r4, sl + 6612: 4323 orrs r3, r4 + 6614: 4699 mov r9, r3 + 6616: 233f movs r3, #63 ; 0x3f + 6618: 401a ands r2, r3 + 661a: 0152 lsls r2, r2, #5 + 661c: 464b mov r3, r9 + 661e: 4644 mov r4, r8 + 6620: 4023 ands r3, r4 + 6622: 431a orrs r2, r3 + 6624: 9b04 ldr r3, [sp, #16] + 6626: 02db lsls r3, r3, #11 + 6628: 0552 lsls r2, r2, #21 + 662a: 0d52 lsrs r2, r2, #21 + 662c: 4313 orrs r3, r2 + 662e: 466a mov r2, sp + 6630: 8493 strh r3, [r2, #36] ; 0x24 + 6632: b29b uxth r3, r3 last_dest_color.full = disp_buf_first[x].full; - 65cc: 880a ldrh r2, [r1, #0] - 65ce: 4691 mov r9, r2 + 6634: 880a ldrh r2, [r1, #0] + 6636: 4691 mov r9, r2 disp_buf_first[x] = last_res_color; - 65d0: 800b strh r3, [r1, #0] - 65d2: 002a movs r2, r5 + 6638: 800b strh r3, [r1, #0] + 663a: 002a movs r2, r5 mask_tmp_x++; - 65d4: 3001 adds r0, #1 - 65d6: 3102 adds r1, #2 + 663c: 3001 adds r0, #1 + 663e: 3102 adds r1, #2 for(x = 0; x < draw_area_w; x++) { - 65d8: 42b8 cmp r0, r7 - 65da: d010 beq.n 65fe <_lv_blend_fill+0x9fa> + 6640: 42b8 cmp r0, r7 + 6642: d010 beq.n 6666 <_lv_blend_fill+0x9fa> if(*mask_tmp_x) { - 65dc: 7805 ldrb r5, [r0, #0] - 65de: 2d00 cmp r5, #0 - 65e0: d0f8 beq.n 65d4 <_lv_blend_fill+0x9d0> + 6644: 7805 ldrb r5, [r0, #0] + 6646: 2d00 cmp r5, #0 + 6648: d0f8 beq.n 663c <_lv_blend_fill+0x9d0> if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 65e2: 4295 cmp r5, r2 - 65e4: d005 beq.n 65f2 <_lv_blend_fill+0x9ee> - 65e6: 2dff cmp r5, #255 ; 0xff - 65e8: d09a beq.n 6520 <_lv_blend_fill+0x91c> + 664a: 4295 cmp r5, r2 + 664c: d005 beq.n 665a <_lv_blend_fill+0x9ee> + 664e: 2dff cmp r5, #255 ; 0xff + 6650: d09a beq.n 6588 <_lv_blend_fill+0x91c> (uint32_t)((uint32_t)(*mask_tmp_x) * opa) >> 8; - 65ea: 465e mov r6, fp - 65ec: 436e muls r6, r5 + 6652: 465e mov r6, fp + 6654: 436e muls r6, r5 if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 65ee: 0a36 lsrs r6, r6, #8 - 65f0: e799 b.n 6526 <_lv_blend_fill+0x922> + 6656: 0a36 lsrs r6, r6, #8 + 6658: e799 b.n 658e <_lv_blend_fill+0x922> if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) { - 65f2: 880a ldrh r2, [r1, #0] - 65f4: 454a cmp r2, r9 - 65f6: d196 bne.n 6526 <_lv_blend_fill+0x922> - 65f8: e7ea b.n 65d0 <_lv_blend_fill+0x9cc> + 665a: 880a ldrh r2, [r1, #0] + 665c: 454a cmp r2, r9 + 665e: d196 bne.n 658e <_lv_blend_fill+0x922> + 6660: e7ea b.n 6638 <_lv_blend_fill+0x9cc> if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 65fa: 9b0e ldr r3, [sp, #56] ; 0x38 - 65fc: e7e6 b.n 65cc <_lv_blend_fill+0x9c8> + 6662: 9b0e ldr r3, [sp, #56] ; 0x38 + 6664: e7e6 b.n 6634 <_lv_blend_fill+0x9c8> disp_buf_first += disp_w; - 65fe: 9907 ldr r1, [sp, #28] - 6600: 980f ldr r0, [sp, #60] ; 0x3c - 6602: 4680 mov r8, r0 - 6604: 4441 add r1, r8 - 6606: 9107 str r1, [sp, #28] - 6608: 9906 ldr r1, [sp, #24] - 660a: 980b ldr r0, [sp, #44] ; 0x2c - 660c: 4680 mov r8, r0 - 660e: 4441 add r1, r8 - 6610: 9106 str r1, [sp, #24] + 6666: 9907 ldr r1, [sp, #28] + 6668: 980f ldr r0, [sp, #60] ; 0x3c + 666a: 4680 mov r8, r0 + 666c: 4441 add r1, r8 + 666e: 9107 str r1, [sp, #28] + 6670: 9906 ldr r1, [sp, #24] + 6672: 980b ldr r0, [sp, #44] ; 0x2c + 6674: 4680 mov r8, r0 + 6676: 4441 add r1, r8 + 6678: 9106 str r1, [sp, #24] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6612: 990c ldr r1, [sp, #48] ; 0x30 - 6614: 3101 adds r1, #1 - 6616: 0008 movs r0, r1 - 6618: 910c str r1, [sp, #48] ; 0x30 - 661a: a910 add r1, sp, #64 ; 0x40 - 661c: 2406 movs r4, #6 - 661e: 5f09 ldrsh r1, [r1, r4] - 6620: 4288 cmp r0, r1 - 6622: dd01 ble.n 6628 <_lv_blend_fill+0xa24> - 6624: f7ff fb06 bl 5c34 <_lv_blend_fill+0x30> + 667a: 990c ldr r1, [sp, #48] ; 0x30 + 667c: 3101 adds r1, #1 + 667e: 0008 movs r0, r1 + 6680: 910c str r1, [sp, #48] ; 0x30 + 6682: a910 add r1, sp, #64 ; 0x40 + 6684: 2406 movs r4, #6 + 6686: 5f09 ldrsh r1, [r1, r4] + 6688: 4288 cmp r0, r1 + 668a: dd01 ble.n 6690 <_lv_blend_fill+0xa24> + 668c: f7ff fb06 bl 5c9c <_lv_blend_fill+0x30> for(x = 0; x < draw_area_w; x++) { - 6628: 990a ldr r1, [sp, #40] ; 0x28 - 662a: 2900 cmp r1, #0 - 662c: dde7 ble.n 65fe <_lv_blend_fill+0x9fa> - 662e: 9907 ldr r1, [sp, #28] - 6630: 9806 ldr r0, [sp, #24] - 6632: 0004 movs r4, r0 - 6634: 9d0b ldr r5, [sp, #44] ; 0x2c - 6636: 46a8 mov r8, r5 - 6638: 4444 add r4, r8 - 663a: 0027 movs r7, r4 - 663c: 4ca7 ldr r4, [pc, #668] ; (68dc <_lv_blend_fill+0xcd8>) - 663e: 46a0 mov r8, r4 + 6690: 990a ldr r1, [sp, #40] ; 0x28 + 6692: 2900 cmp r1, #0 + 6694: dde7 ble.n 6666 <_lv_blend_fill+0x9fa> + 6696: 9907 ldr r1, [sp, #28] + 6698: 9806 ldr r0, [sp, #24] + 669a: 0004 movs r4, r0 + 669c: 9d0b ldr r5, [sp, #44] ; 0x2c + 669e: 46a8 mov r8, r5 + 66a0: 4444 add r4, r8 + 66a2: 0027 movs r7, r4 + 66a4: 4ca7 ldr r4, [pc, #668] ; (6944 <_lv_blend_fill+0xcd8>) + 66a6: 46a0 mov r8, r4 if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 6640: 465c mov r4, fp - 6642: 940d str r4, [sp, #52] ; 0x34 - 6644: e7ca b.n 65dc <_lv_blend_fill+0x9d8> - 6646: 466b mov r3, sp - 6648: 8a9c ldrh r4, [r3, #20] + 66a8: 465c mov r4, fp + 66aa: 940d str r4, [sp, #52] ; 0x34 + 66ac: e7ca b.n 6644 <_lv_blend_fill+0x9d8> + 66ae: 466b mov r3, sp + 66b0: 8a9c ldrh r4, [r3, #20] switch(mode) { - 664a: 2e01 cmp r6, #1 - 664c: d045 beq.n 66da <_lv_blend_fill+0xad6> - 664e: 2e02 cmp r6, #2 - 6650: d001 beq.n 6656 <_lv_blend_fill+0xa52> - 6652: f7ff faef bl 5c34 <_lv_blend_fill+0x30> + 66b2: 2e01 cmp r6, #1 + 66b4: d045 beq.n 6742 <_lv_blend_fill+0xad6> + 66b6: 2e02 cmp r6, #2 + 66b8: d001 beq.n 66be <_lv_blend_fill+0xa52> + 66ba: f7ff faef bl 5c9c <_lv_blend_fill+0x30> blend_fp = color_blend_true_color_subtractive; - 6656: 4ba2 ldr r3, [pc, #648] ; (68e0 <_lv_blend_fill+0xcdc>) - 6658: 9309 str r3, [sp, #36] ; 0x24 - 665a: 466b mov r3, sp - 665c: 8a9a ldrh r2, [r3, #20] - 665e: 06d3 lsls r3, r2, #27 - 6660: 0edb lsrs r3, r3, #27 - 6662: 930e str r3, [sp, #56] ; 0x38 - 6664: 0553 lsls r3, r2, #21 - 6666: 0e9b lsrs r3, r3, #26 - 6668: 930c str r3, [sp, #48] ; 0x30 - 666a: 0416 lsls r6, r2, #16 - 666c: 0ef3 lsrs r3, r6, #27 - 666e: 930d str r3, [sp, #52] ; 0x34 + 66be: 4ba2 ldr r3, [pc, #648] ; (6948 <_lv_blend_fill+0xcdc>) + 66c0: 9309 str r3, [sp, #36] ; 0x24 + 66c2: 466b mov r3, sp + 66c4: 8a9a ldrh r2, [r3, #20] + 66c6: 06d3 lsls r3, r2, #27 + 66c8: 0edb lsrs r3, r3, #27 + 66ca: 930e str r3, [sp, #56] ; 0x38 + 66cc: 0553 lsls r3, r2, #21 + 66ce: 0e9b lsrs r3, r3, #26 + 66d0: 930c str r3, [sp, #48] ; 0x30 + 66d2: 0416 lsls r6, r2, #16 + 66d4: 0ef3 lsrs r3, r6, #27 + 66d6: 930d str r3, [sp, #52] ; 0x34 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 6670: 4643 mov r3, r8 - 6672: 8a9b ldrh r3, [r3, #20] - 6674: 3301 adds r3, #1 - 6676: 4642 mov r2, r8 - 6678: 8a12 ldrh r2, [r2, #16] - 667a: 1a9b subs r3, r3, r2 - 667c: b219 sxth r1, r3 + 66d8: 4643 mov r3, r8 + 66da: 8a9b ldrh r3, [r3, #20] + 66dc: 3301 adds r3, #1 + 66de: 4642 mov r2, r8 + 66e0: 8a12 ldrh r2, [r2, #16] + 66e2: 1a9b subs r3, r3, r2 + 66e4: b219 sxth r1, r3 lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1; - 667e: 9508 str r5, [sp, #32] - 6680: 434d muls r5, r1 - 6682: 006d lsls r5, r5, #1 - 6684: 9b04 ldr r3, [sp, #16] - 6686: 469c mov ip, r3 - 6688: 44ac add ip, r5 - 668a: 4663 mov r3, ip - 668c: 9307 str r3, [sp, #28] + 66e6: 9508 str r5, [sp, #32] + 66e8: 434d muls r5, r1 + 66ea: 006d lsls r5, r5, #1 + 66ec: 9b04 ldr r3, [sp, #16] + 66ee: 469c mov ip, r3 + 66f0: 44ac add ip, r5 + 66f2: 4663 mov r3, ip + 66f4: 9307 str r3, [sp, #28] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 668e: 2f01 cmp r7, #1 - 6690: d026 beq.n 66e0 <_lv_blend_fill+0xadc> - 6692: 3001 adds r0, #1 - 6694: 9b0b ldr r3, [sp, #44] ; 0x2c - 6696: 1ac0 subs r0, r0, r3 - 6698: b203 sxth r3, r0 - 669a: 4698 mov r8, r3 + 66f6: 2f01 cmp r7, #1 + 66f8: d026 beq.n 6748 <_lv_blend_fill+0xadc> + 66fa: 3001 adds r0, #1 + 66fc: 9b0b ldr r3, [sp, #44] ; 0x2c + 66fe: 1ac0 subs r0, r0, r3 + 6700: b203 sxth r3, r0 + 6702: 4698 mov r8, r3 const lv_opa_t * mask_tmp = mask - draw_area->x1; - 669c: 9b06 ldr r3, [sp, #24] - 669e: 9a0a ldr r2, [sp, #40] ; 0x28 - 66a0: 1a9e subs r6, r3, r2 + 6704: 9b06 ldr r3, [sp, #24] + 6706: 9a0a ldr r2, [sp, #40] ; 0x28 + 6708: 1a9e subs r6, r3, r2 last_dest_color.full = disp_buf_tmp[0].full; - 66a2: 9b07 ldr r3, [sp, #28] - 66a4: 881a ldrh r2, [r3, #0] + 670a: 9b07 ldr r3, [sp, #28] + 670c: 881a ldrh r2, [r3, #0] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 66a6: 9b08 ldr r3, [sp, #32] - 66a8: 454b cmp r3, r9 - 66aa: dd01 ble.n 66b0 <_lv_blend_fill+0xaac> - 66ac: f7ff fac2 bl 5c34 <_lv_blend_fill+0x30> + 670e: 9b08 ldr r3, [sp, #32] + 6710: 454b cmp r3, r9 + 6712: dd01 ble.n 6718 <_lv_blend_fill+0xaac> + 6714: f7ff fac2 bl 5c9c <_lv_blend_fill+0x30> disp_buf_tmp += disp_w; - 66b0: 004b lsls r3, r1, #1 - 66b2: 930a str r3, [sp, #40] ; 0x28 - 66b4: 0010 movs r0, r2 - 66b6: 2100 movs r1, #0 + 6718: 004b lsls r3, r1, #1 + 671a: 930a str r3, [sp, #40] ; 0x28 + 671c: 0010 movs r0, r2 + 671e: 2100 movs r1, #0 last_res_color = blend_fp(color, disp_buf_tmp[x], opa_tmp); - 66b8: 9b0c ldr r3, [sp, #48] ; 0x30 - 66ba: 015b lsls r3, r3, #5 - 66bc: 469a mov sl, r3 - 66be: 4643 mov r3, r8 - 66c0: 930b str r3, [sp, #44] ; 0x2c - 66c2: 9b09 ldr r3, [sp, #36] ; 0x24 - 66c4: 4698 mov r8, r3 - 66c6: 9b0d ldr r3, [sp, #52] ; 0x34 - 66c8: 4699 mov r9, r3 - 66ca: 466b mov r3, sp - 66cc: 821c strh r4, [r3, #16] - 66ce: 0034 movs r4, r6 - 66d0: 465b mov r3, fp - 66d2: 9306 str r3, [sp, #24] - 66d4: 9b0e ldr r3, [sp, #56] ; 0x38 - 66d6: 469b mov fp, r3 - 66d8: e0de b.n 6898 <_lv_blend_fill+0xc94> + 6720: 9b0c ldr r3, [sp, #48] ; 0x30 + 6722: 015b lsls r3, r3, #5 + 6724: 469a mov sl, r3 + 6726: 4643 mov r3, r8 + 6728: 930b str r3, [sp, #44] ; 0x2c + 672a: 9b09 ldr r3, [sp, #36] ; 0x24 + 672c: 4698 mov r8, r3 + 672e: 9b0d ldr r3, [sp, #52] ; 0x34 + 6730: 4699 mov r9, r3 + 6732: 466b mov r3, sp + 6734: 821c strh r4, [r3, #16] + 6736: 0034 movs r4, r6 + 6738: 465b mov r3, fp + 673a: 9306 str r3, [sp, #24] + 673c: 9b0e ldr r3, [sp, #56] ; 0x38 + 673e: 469b mov fp, r3 + 6740: e0de b.n 6900 <_lv_blend_fill+0xc94> blend_fp = color_blend_true_color_additive; - 66da: 4b82 ldr r3, [pc, #520] ; (68e4 <_lv_blend_fill+0xce0>) - 66dc: 9309 str r3, [sp, #36] ; 0x24 - 66de: e7bc b.n 665a <_lv_blend_fill+0xa56> + 6742: 4b82 ldr r3, [pc, #520] ; (694c <_lv_blend_fill+0xce0>) + 6744: 9309 str r3, [sp, #36] ; 0x24 + 6746: e7bc b.n 66c2 <_lv_blend_fill+0xa56> lv_color_t last_dest_color = LV_COLOR_BLACK; - 66e0: 2300 movs r3, #0 - 66e2: 466a mov r2, sp - 66e4: 8293 strh r3, [r2, #20] + 6748: 2300 movs r3, #0 + 674a: 466a mov r2, sp + 674c: 8293 strh r3, [r2, #20] LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 66e6: 465b mov r3, fp - 66e8: 9f0d ldr r7, [sp, #52] ; 0x34 - 66ea: 437b muls r3, r7 - 66ec: 0218 lsls r0, r3, #8 - 66ee: 18c0 adds r0, r0, r3 - 66f0: 01c0 lsls r0, r0, #7 - 66f2: 18c0 adds r0, r0, r3 - 66f4: 0dc0 lsrs r0, r0, #23 - 66f6: 251f movs r5, #31 - 66f8: 4028 ands r0, r5 + 674e: 465b mov r3, fp + 6750: 9f0d ldr r7, [sp, #52] ; 0x34 + 6752: 437b muls r3, r7 + 6754: 0218 lsls r0, r3, #8 + 6756: 18c0 adds r0, r0, r3 + 6758: 01c0 lsls r0, r0, #7 + 675a: 18c0 adds r0, r0, r3 + 675c: 0dc0 lsrs r0, r0, #23 + 675e: 251f movs r5, #31 + 6760: 4028 ands r0, r5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 66fa: 465a mov r2, fp - 66fc: 9b0c ldr r3, [sp, #48] ; 0x30 - 66fe: 435a muls r2, r3 - 6700: 0213 lsls r3, r2, #8 - 6702: 189b adds r3, r3, r2 - 6704: 01db lsls r3, r3, #7 - 6706: 189b adds r3, r3, r2 - 6708: 00db lsls r3, r3, #3 - 670a: 0e9a lsrs r2, r3, #26 - 670c: 4692 mov sl, r2 + 6762: 465a mov r2, fp + 6764: 9b0c ldr r3, [sp, #48] ; 0x30 + 6766: 435a muls r2, r3 + 6768: 0213 lsls r3, r2, #8 + 676a: 189b adds r3, r3, r2 + 676c: 01db lsls r3, r3, #7 + 676e: 189b adds r3, r3, r2 + 6770: 00db lsls r3, r3, #3 + 6772: 0e9a lsrs r2, r3, #26 + 6774: 4692 mov sl, r2 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 670e: 465a mov r2, fp - 6710: 9e0e ldr r6, [sp, #56] ; 0x38 - 6712: 4372 muls r2, r6 - 6714: 0213 lsls r3, r2, #8 - 6716: 189b adds r3, r3, r2 - 6718: 01db lsls r3, r3, #7 - 671a: 189b adds r3, r3, r2 - 671c: 0ddb lsrs r3, r3, #23 - 671e: 401d ands r5, r3 + 6776: 465a mov r2, fp + 6778: 9e0e ldr r6, [sp, #56] ; 0x38 + 677a: 4372 muls r2, r6 + 677c: 0213 lsls r3, r2, #8 + 677e: 189b adds r3, r3, r2 + 6780: 01db lsls r3, r3, #7 + 6782: 189b adds r3, r3, r2 + 6784: 0ddb lsrs r3, r3, #23 + 6786: 401d ands r5, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6720: 9a08 ldr r2, [sp, #32] - 6722: 454a cmp r2, r9 - 6724: dd01 ble.n 672a <_lv_blend_fill+0xb26> - 6726: f7ff fa85 bl 5c34 <_lv_blend_fill+0x30> + 6788: 9a08 ldr r2, [sp, #32] + 678a: 454a cmp r2, r9 + 678c: dd01 ble.n 6792 <_lv_blend_fill+0xb26> + 678e: f7ff fa85 bl 5c9c <_lv_blend_fill+0x30> disp_buf_tmp += disp_w; - 672a: 004a lsls r2, r1, #1 - 672c: 4691 mov r9, r2 + 6792: 004a lsls r2, r1, #1 + 6794: 4691 mov r9, r2 last_res_color = blend_fp(color, disp_buf_tmp[x], opa); - 672e: 0033 movs r3, r6 - 6730: 221f movs r2, #31 - 6732: 4013 ands r3, r2 - 6734: 4698 mov r8, r3 - 6736: 464a mov r2, r9 - 6738: 920b str r2, [sp, #44] ; 0x2c - 673a: 46b9 mov r9, r7 - 673c: 466b mov r3, sp - 673e: 831c strh r4, [r3, #24] - 6740: 002c movs r4, r5 - 6742: 465a mov r2, fp - 6744: 920a str r2, [sp, #40] ; 0x28 - 6746: 9b0c ldr r3, [sp, #48] ; 0x30 - 6748: 469b mov fp, r3 - 674a: e050 b.n 67ee <_lv_blend_fill+0xbea> + 6796: 0033 movs r3, r6 + 6798: 221f movs r2, #31 + 679a: 4013 ands r3, r2 + 679c: 4698 mov r8, r3 + 679e: 464a mov r2, r9 + 67a0: 920b str r2, [sp, #44] ; 0x2c + 67a2: 46b9 mov r9, r7 + 67a4: 466b mov r3, sp + 67a6: 831c strh r4, [r3, #24] + 67a8: 002c movs r4, r5 + 67aa: 465a mov r2, fp + 67ac: 920a str r2, [sp, #40] ; 0x28 + 67ae: 9b0c ldr r3, [sp, #48] ; 0x30 + 67b0: 469b mov fp, r3 + 67b2: e050 b.n 6856 <_lv_blend_fill+0xbea> disp_buf_tmp[x] = last_res_color; - 674c: 782b ldrb r3, [r5, #0] - 674e: 221f movs r2, #31 - 6750: 4393 bics r3, r2 - 6752: 9a04 ldr r2, [sp, #16] - 6754: 4313 orrs r3, r2 - 6756: 702b strb r3, [r5, #0] - 6758: 017a lsls r2, r7, #5 - 675a: 882b ldrh r3, [r5, #0] - 675c: 469c mov ip, r3 - 675e: 4b5f ldr r3, [pc, #380] ; (68dc <_lv_blend_fill+0xcd8>) - 6760: 4661 mov r1, ip - 6762: 400b ands r3, r1 - 6764: 4313 orrs r3, r2 - 6766: 802b strh r3, [r5, #0] - 6768: 00c2 lsls r2, r0, #3 - 676a: 055b lsls r3, r3, #21 - 676c: 0f5b lsrs r3, r3, #29 - 676e: 4313 orrs r3, r2 - 6770: 706b strb r3, [r5, #1] + 67b4: 782b ldrb r3, [r5, #0] + 67b6: 221f movs r2, #31 + 67b8: 4393 bics r3, r2 + 67ba: 9a04 ldr r2, [sp, #16] + 67bc: 4313 orrs r3, r2 + 67be: 702b strb r3, [r5, #0] + 67c0: 017a lsls r2, r7, #5 + 67c2: 882b ldrh r3, [r5, #0] + 67c4: 469c mov ip, r3 + 67c6: 4b5f ldr r3, [pc, #380] ; (6944 <_lv_blend_fill+0xcd8>) + 67c8: 4661 mov r1, ip + 67ca: 400b ands r3, r1 + 67cc: 4313 orrs r3, r2 + 67ce: 802b strh r3, [r5, #0] + 67d0: 00c2 lsls r2, r0, #3 + 67d2: 055b lsls r3, r3, #21 + 67d4: 0f5b lsrs r3, r3, #29 + 67d6: 4313 orrs r3, r2 + 67d8: 706b strb r3, [r5, #1] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6772: 3401 adds r4, #1 - 6774: 3602 adds r6, #2 - 6776: ab10 add r3, sp, #64 ; 0x40 - 6778: 2204 movs r2, #4 - 677a: 5e9b ldrsh r3, [r3, r2] - 677c: 429c cmp r4, r3 - 677e: dc24 bgt.n 67ca <_lv_blend_fill+0xbc6> + 67da: 3401 adds r4, #1 + 67dc: 3602 adds r6, #2 + 67de: ab10 add r3, sp, #64 ; 0x40 + 67e0: 2204 movs r2, #4 + 67e2: 5e9b ldrsh r3, [r3, r2] + 67e4: 429c cmp r4, r3 + 67e6: dc24 bgt.n 6832 <_lv_blend_fill+0xbc6> if(last_dest_color.full != disp_buf_tmp[x].full) { - 6780: 0035 movs r5, r6 - 6782: 466b mov r3, sp - 6784: 8a9b ldrh r3, [r3, #20] - 6786: 8832 ldrh r2, [r6, #0] - 6788: 4293 cmp r3, r2 - 678a: d0df beq.n 674c <_lv_blend_fill+0xb48> + 67e8: 0035 movs r5, r6 + 67ea: 466b mov r3, sp + 67ec: 8a9b ldrh r3, [r3, #20] + 67ee: 8832 ldrh r2, [r6, #0] + 67f0: 4293 cmp r3, r2 + 67f2: d0df beq.n 67b4 <_lv_blend_fill+0xb48> last_dest_color = disp_buf_tmp[x]; - 678c: 0011 movs r1, r2 - 678e: 466b mov r3, sp - 6790: 829a strh r2, [r3, #20] + 67f4: 0011 movs r1, r2 + 67f6: 466b mov r3, sp + 67f8: 829a strh r2, [r3, #20] last_res_color = blend_fp(color, disp_buf_tmp[x], opa); - 6792: 9806 ldr r0, [sp, #24] - 6794: 231f movs r3, #31 - 6796: 4398 bics r0, r3 - 6798: 4643 mov r3, r8 - 679a: 4318 orrs r0, r3 - 679c: 465b mov r3, fp - 679e: 015b lsls r3, r3, #5 - 67a0: 4f4e ldr r7, [pc, #312] ; (68dc <_lv_blend_fill+0xcd8>) - 67a2: 4038 ands r0, r7 - 67a4: 4318 orrs r0, r3 - 67a6: 464b mov r3, r9 - 67a8: 02db lsls r3, r3, #11 - 67aa: 0540 lsls r0, r0, #21 - 67ac: 0d40 lsrs r0, r0, #21 - 67ae: 4318 orrs r0, r3 - 67b0: 466b mov r3, sp - 67b2: 8318 strh r0, [r3, #24] - 67b4: 9a0a ldr r2, [sp, #40] ; 0x28 - 67b6: 9b09 ldr r3, [sp, #36] ; 0x24 - 67b8: 4798 blx r3 - 67ba: 06c1 lsls r1, r0, #27 - 67bc: 0ecb lsrs r3, r1, #27 - 67be: 9304 str r3, [sp, #16] - 67c0: 0547 lsls r7, r0, #21 - 67c2: 0ebf lsrs r7, r7, #26 - 67c4: 0400 lsls r0, r0, #16 - 67c6: 0ec0 lsrs r0, r0, #27 - 67c8: e7c0 b.n 674c <_lv_blend_fill+0xb48> - 67ca: 9c04 ldr r4, [sp, #16] - 67cc: 46ba mov sl, r7 + 67fa: 9806 ldr r0, [sp, #24] + 67fc: 231f movs r3, #31 + 67fe: 4398 bics r0, r3 + 6800: 4643 mov r3, r8 + 6802: 4318 orrs r0, r3 + 6804: 465b mov r3, fp + 6806: 015b lsls r3, r3, #5 + 6808: 4f4e ldr r7, [pc, #312] ; (6944 <_lv_blend_fill+0xcd8>) + 680a: 4038 ands r0, r7 + 680c: 4318 orrs r0, r3 + 680e: 464b mov r3, r9 + 6810: 02db lsls r3, r3, #11 + 6812: 0540 lsls r0, r0, #21 + 6814: 0d40 lsrs r0, r0, #21 + 6816: 4318 orrs r0, r3 + 6818: 466b mov r3, sp + 681a: 8318 strh r0, [r3, #24] + 681c: 9a0a ldr r2, [sp, #40] ; 0x28 + 681e: 9b09 ldr r3, [sp, #36] ; 0x24 + 6820: 4798 blx r3 + 6822: 06c1 lsls r1, r0, #27 + 6824: 0ecb lsrs r3, r1, #27 + 6826: 9304 str r3, [sp, #16] + 6828: 0547 lsls r7, r0, #21 + 682a: 0ebf lsrs r7, r7, #26 + 682c: 0400 lsls r0, r0, #16 + 682e: 0ec0 lsrs r0, r0, #27 + 6830: e7c0 b.n 67b4 <_lv_blend_fill+0xb48> + 6832: 9c04 ldr r4, [sp, #16] + 6834: 46ba mov sl, r7 disp_buf_tmp += disp_w; - 67ce: 9b07 ldr r3, [sp, #28] - 67d0: 9a0b ldr r2, [sp, #44] ; 0x2c - 67d2: 4694 mov ip, r2 - 67d4: 4463 add r3, ip - 67d6: 9307 str r3, [sp, #28] + 6836: 9b07 ldr r3, [sp, #28] + 6838: 9a0b ldr r2, [sp, #44] ; 0x2c + 683a: 4694 mov ip, r2 + 683c: 4463 add r3, ip + 683e: 9307 str r3, [sp, #28] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 67d8: 9b08 ldr r3, [sp, #32] - 67da: 3301 adds r3, #1 - 67dc: 001a movs r2, r3 - 67de: 9308 str r3, [sp, #32] - 67e0: ab10 add r3, sp, #64 ; 0x40 - 67e2: 2106 movs r1, #6 - 67e4: 5e5b ldrsh r3, [r3, r1] - 67e6: 429a cmp r2, r3 - 67e8: dd01 ble.n 67ee <_lv_blend_fill+0xbea> - 67ea: f7ff fa23 bl 5c34 <_lv_blend_fill+0x30> + 6840: 9b08 ldr r3, [sp, #32] + 6842: 3301 adds r3, #1 + 6844: 001a movs r2, r3 + 6846: 9308 str r3, [sp, #32] + 6848: ab10 add r3, sp, #64 ; 0x40 + 684a: 2106 movs r1, #6 + 684c: 5e5b ldrsh r3, [r3, r1] + 684e: 429a cmp r2, r3 + 6850: dd01 ble.n 6856 <_lv_blend_fill+0xbea> + 6852: f7ff fa23 bl 5c9c <_lv_blend_fill+0x30> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 67ee: ab10 add r3, sp, #64 ; 0x40 - 67f0: 2200 movs r2, #0 - 67f2: 5e9e ldrsh r6, [r3, r2] - 67f4: 0037 movs r7, r6 - 67f6: 2204 movs r2, #4 - 67f8: 5e9b ldrsh r3, [r3, r2] - 67fa: 429e cmp r6, r3 - 67fc: dce7 bgt.n 67ce <_lv_blend_fill+0xbca> - 67fe: 0076 lsls r6, r6, #1 - 6800: 9b07 ldr r3, [sp, #28] - 6802: 469c mov ip, r3 - 6804: 4466 add r6, ip - 6806: 9404 str r4, [sp, #16] - 6808: 003c movs r4, r7 - 680a: 4657 mov r7, sl - 680c: e7b8 b.n 6780 <_lv_blend_fill+0xb7c> + 6856: ab10 add r3, sp, #64 ; 0x40 + 6858: 2200 movs r2, #0 + 685a: 5e9e ldrsh r6, [r3, r2] + 685c: 0037 movs r7, r6 + 685e: 2204 movs r2, #4 + 6860: 5e9b ldrsh r3, [r3, r2] + 6862: 429e cmp r6, r3 + 6864: dce7 bgt.n 6836 <_lv_blend_fill+0xbca> + 6866: 0076 lsls r6, r6, #1 + 6868: 9b07 ldr r3, [sp, #28] + 686a: 469c mov ip, r3 + 686c: 4466 add r6, ip + 686e: 9404 str r4, [sp, #16] + 6870: 003c movs r4, r7 + 6872: 4657 mov r7, sl + 6874: e7b8 b.n 67e8 <_lv_blend_fill+0xb7c> if(mask_tmp[x] != last_mask || last_dest_color.full != disp_buf_tmp[x].full) { - 680e: 883a ldrh r2, [r7, #0] - 6810: 4694 mov ip, r2 - 6812: 9a05 ldr r2, [sp, #20] - 6814: 4594 cmp ip, r2 - 6816: d124 bne.n 6862 <_lv_blend_fill+0xc5e> - 6818: e015 b.n 6846 <_lv_blend_fill+0xc42> + 6876: 883a ldrh r2, [r7, #0] + 6878: 4694 mov ip, r2 + 687a: 9a05 ldr r2, [sp, #20] + 687c: 4594 cmp ip, r2 + 687e: d124 bne.n 68ca <_lv_blend_fill+0xc5e> + 6880: e015 b.n 68ae <_lv_blend_fill+0xc42> last_res_color = blend_fp(color, disp_buf_tmp[x], opa_tmp); - 681a: 231f movs r3, #31 - 681c: 9804 ldr r0, [sp, #16] - 681e: 4398 bics r0, r3 - 6820: 465b mov r3, fp - 6822: 4318 orrs r0, r3 - 6824: 4b2d ldr r3, [pc, #180] ; (68dc <_lv_blend_fill+0xcd8>) - 6826: 4018 ands r0, r3 - 6828: 4653 mov r3, sl - 682a: 4318 orrs r0, r3 - 682c: 464b mov r3, r9 - 682e: 02db lsls r3, r3, #11 - 6830: 0540 lsls r0, r0, #21 - 6832: 0d40 lsrs r0, r0, #21 - 6834: 4318 orrs r0, r3 - 6836: 466b mov r3, sp - 6838: 8218 strh r0, [r3, #16] - 683a: 8839 ldrh r1, [r7, #0] - 683c: 47c0 blx r8 - 683e: b280 uxth r0, r0 + 6882: 231f movs r3, #31 + 6884: 9804 ldr r0, [sp, #16] + 6886: 4398 bics r0, r3 + 6888: 465b mov r3, fp + 688a: 4318 orrs r0, r3 + 688c: 4b2d ldr r3, [pc, #180] ; (6944 <_lv_blend_fill+0xcd8>) + 688e: 4018 ands r0, r3 + 6890: 4653 mov r3, sl + 6892: 4318 orrs r0, r3 + 6894: 464b mov r3, r9 + 6896: 02db lsls r3, r3, #11 + 6898: 0540 lsls r0, r0, #21 + 689a: 0d40 lsrs r0, r0, #21 + 689c: 4318 orrs r0, r3 + 689e: 466b mov r3, sp + 68a0: 8218 strh r0, [r3, #16] + 68a2: 8839 ldrh r1, [r7, #0] + 68a4: 47c0 blx r8 + 68a6: b280 uxth r0, r0 last_mask = mask_tmp[x]; - 6840: 5da1 ldrb r1, [r4, r6] + 68a8: 5da1 ldrb r1, [r4, r6] last_dest_color.full = disp_buf_tmp[x].full; - 6842: 883b ldrh r3, [r7, #0] - 6844: 9305 str r3, [sp, #20] + 68aa: 883b ldrh r3, [r7, #0] + 68ac: 9305 str r3, [sp, #20] disp_buf_tmp[x] = last_res_color; - 6846: 8038 strh r0, [r7, #0] + 68ae: 8038 strh r0, [r7, #0] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6848: 3501 adds r5, #1 - 684a: 3702 adds r7, #2 - 684c: ab10 add r3, sp, #64 ; 0x40 - 684e: 2604 movs r6, #4 - 6850: 5f9b ldrsh r3, [r3, r6] - 6852: 429d cmp r5, r3 - 6854: dc0c bgt.n 6870 <_lv_blend_fill+0xc6c> - 6856: 002e movs r6, r5 + 68b0: 3501 adds r5, #1 + 68b2: 3702 adds r7, #2 + 68b4: ab10 add r3, sp, #64 ; 0x40 + 68b6: 2604 movs r6, #4 + 68b8: 5f9b ldrsh r3, [r3, r6] + 68ba: 429d cmp r5, r3 + 68bc: dc0c bgt.n 68d8 <_lv_blend_fill+0xc6c> + 68be: 002e movs r6, r5 if(mask_tmp[x] == 0) continue; - 6858: 5d63 ldrb r3, [r4, r5] - 685a: 2b00 cmp r3, #0 - 685c: d0f4 beq.n 6848 <_lv_blend_fill+0xc44> + 68c0: 5d63 ldrb r3, [r4, r5] + 68c2: 2b00 cmp r3, #0 + 68c4: d0f4 beq.n 68b0 <_lv_blend_fill+0xc44> if(mask_tmp[x] != last_mask || last_dest_color.full != disp_buf_tmp[x].full) { - 685e: 428b cmp r3, r1 - 6860: d0d5 beq.n 680e <_lv_blend_fill+0xc0a> + 68c6: 428b cmp r3, r1 + 68c8: d0d5 beq.n 6876 <_lv_blend_fill+0xc0a> lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : (uint32_t)((uint32_t)mask_tmp[x] * opa) >> 8; - 6862: 9906 ldr r1, [sp, #24] - 6864: 000a movs r2, r1 - 6866: 2bf9 cmp r3, #249 ; 0xf9 - 6868: d8d7 bhi.n 681a <_lv_blend_fill+0xc16> - 686a: 435a muls r2, r3 - 686c: 0a12 lsrs r2, r2, #8 - 686e: e7d4 b.n 681a <_lv_blend_fill+0xc16> - 6870: 9a05 ldr r2, [sp, #20] + 68ca: 9906 ldr r1, [sp, #24] + 68cc: 000a movs r2, r1 + 68ce: 2bf9 cmp r3, #249 ; 0xf9 + 68d0: d8d7 bhi.n 6882 <_lv_blend_fill+0xc16> + 68d2: 435a muls r2, r3 + 68d4: 0a12 lsrs r2, r2, #8 + 68d6: e7d4 b.n 6882 <_lv_blend_fill+0xc16> + 68d8: 9a05 ldr r2, [sp, #20] disp_buf_tmp += disp_w; - 6872: 9b07 ldr r3, [sp, #28] - 6874: 9d0a ldr r5, [sp, #40] ; 0x28 - 6876: 46ac mov ip, r5 - 6878: 4463 add r3, ip - 687a: 9307 str r3, [sp, #28] - 687c: 9b0b ldr r3, [sp, #44] ; 0x2c - 687e: 469c mov ip, r3 - 6880: 4464 add r4, ip + 68da: 9b07 ldr r3, [sp, #28] + 68dc: 9d0a ldr r5, [sp, #40] ; 0x28 + 68de: 46ac mov ip, r5 + 68e0: 4463 add r3, ip + 68e2: 9307 str r3, [sp, #28] + 68e4: 9b0b ldr r3, [sp, #44] ; 0x2c + 68e6: 469c mov ip, r3 + 68e8: 4464 add r4, ip for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6882: 9b08 ldr r3, [sp, #32] - 6884: 3301 adds r3, #1 - 6886: 001d movs r5, r3 - 6888: 9308 str r3, [sp, #32] - 688a: ab10 add r3, sp, #64 ; 0x40 - 688c: 2606 movs r6, #6 - 688e: 5f9b ldrsh r3, [r3, r6] - 6890: 429d cmp r5, r3 - 6892: dd01 ble.n 6898 <_lv_blend_fill+0xc94> - 6894: f7ff f9ce bl 5c34 <_lv_blend_fill+0x30> + 68ea: 9b08 ldr r3, [sp, #32] + 68ec: 3301 adds r3, #1 + 68ee: 001d movs r5, r3 + 68f0: 9308 str r3, [sp, #32] + 68f2: ab10 add r3, sp, #64 ; 0x40 + 68f4: 2606 movs r6, #6 + 68f6: 5f9b ldrsh r3, [r3, r6] + 68f8: 429d cmp r5, r3 + 68fa: dd01 ble.n 6900 <_lv_blend_fill+0xc94> + 68fc: f7ff f9ce bl 5c9c <_lv_blend_fill+0x30> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6898: ab10 add r3, sp, #64 ; 0x40 - 689a: 2500 movs r5, #0 - 689c: 5f5f ldrsh r7, [r3, r5] - 689e: 003d movs r5, r7 - 68a0: 2604 movs r6, #4 - 68a2: 5f9b ldrsh r3, [r3, r6] - 68a4: 429f cmp r7, r3 - 68a6: dce4 bgt.n 6872 <_lv_blend_fill+0xc6e> - 68a8: 007f lsls r7, r7, #1 - 68aa: 9b07 ldr r3, [sp, #28] - 68ac: 469c mov ip, r3 - 68ae: 4467 add r7, ip - 68b0: 9205 str r2, [sp, #20] - 68b2: e7d0 b.n 6856 <_lv_blend_fill+0xc52> + 6900: ab10 add r3, sp, #64 ; 0x40 + 6902: 2500 movs r5, #0 + 6904: 5f5f ldrsh r7, [r3, r5] + 6906: 003d movs r5, r7 + 6908: 2604 movs r6, #4 + 690a: 5f9b ldrsh r3, [r3, r6] + 690c: 429f cmp r7, r3 + 690e: dce4 bgt.n 68da <_lv_blend_fill+0xc6e> + 6910: 007f lsls r7, r7, #1 + 6912: 9b07 ldr r3, [sp, #28] + 6914: 469c mov ip, r3 + 6916: 4467 add r7, ip + 6918: 9205 str r2, [sp, #20] + 691a: e7d0 b.n 68be <_lv_blend_fill+0xc52> FILL_NORMAL_MASK_PX(x, color) - 68b4: 0022 movs r2, r4 + 691c: 0022 movs r2, r4 for(; x <= x_end4; x += 4) { - 68b6: 9905 ldr r1, [sp, #20] - 68b8: 4299 cmp r1, r3 - 68ba: da00 bge.n 68be <_lv_blend_fill+0xcba> - 68bc: e60b b.n 64d6 <_lv_blend_fill+0x8d2> - 68be: 005c lsls r4, r3, #1 - 68c0: 9907 ldr r1, [sp, #28] - 68c2: 468c mov ip, r1 - 68c4: 4464 add r4, ip + 691e: 9905 ldr r1, [sp, #20] + 6920: 4299 cmp r1, r3 + 6922: da00 bge.n 6926 <_lv_blend_fill+0xcba> + 6924: e60b b.n 653e <_lv_blend_fill+0x8d2> + 6926: 005c lsls r4, r3, #1 + 6928: 9907 ldr r1, [sp, #28] + 692a: 468c mov ip, r1 + 692c: 4464 add r4, ip LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 68c6: 271f movs r7, #31 - 68c8: 4651 mov r1, sl - 68ca: 9106 str r1, [sp, #24] - 68cc: e463 b.n 6196 <_lv_blend_fill+0x592> + 692e: 271f movs r7, #31 + 6930: 4651 mov r1, sl + 6932: 9106 str r1, [sp, #24] + 6934: e463 b.n 61fe <_lv_blend_fill+0x592> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 68ce: 9a09 ldr r2, [sp, #36] ; 0x24 - 68d0: 2300 movs r3, #0 - 68d2: e7f0 b.n 68b6 <_lv_blend_fill+0xcb2> - 68d4: 9a09 ldr r2, [sp, #36] ; 0x24 - 68d6: 2300 movs r3, #0 - 68d8: e448 b.n 616c <_lv_blend_fill+0x568> - 68da: 46c0 nop ; (mov r8, r8) - 68dc: fffff81f .word 0xfffff81f - 68e0: 00005b4f .word 0x00005b4f - 68e4: 00005aa9 .word 0x00005aa9 - -000068e8 <_lv_blend_map>: -{ - 68e8: b5f0 push {r4, r5, r6, r7, lr} - 68ea: 46de mov lr, fp - 68ec: 4657 mov r7, sl - 68ee: 464e mov r6, r9 - 68f0: 4645 mov r5, r8 - 68f2: b5e0 push {r5, r6, r7, lr} - 68f4: b093 sub sp, #76 ; 0x4c - 68f6: 000c movs r4, r1 - 68f8: 9207 str r2, [sp, #28] - 68fa: 001d movs r5, r3 - 68fc: ab1c add r3, sp, #112 ; 0x70 - 68fe: 781f ldrb r7, [r3, #0] - 6900: ab1d add r3, sp, #116 ; 0x74 - 6902: 781b ldrb r3, [r3, #0] - 6904: 469b mov fp, r3 - 6906: ab1e add r3, sp, #120 ; 0x78 - 6908: 781e ldrb r6, [r3, #0] + 6936: 9a09 ldr r2, [sp, #36] ; 0x24 + 6938: 2300 movs r3, #0 + 693a: e7f0 b.n 691e <_lv_blend_fill+0xcb2> + 693c: 9a09 ldr r2, [sp, #36] ; 0x24 + 693e: 2300 movs r3, #0 + 6940: e448 b.n 61d4 <_lv_blend_fill+0x568> + 6942: 46c0 nop ; (mov r8, r8) + 6944: fffff81f .word 0xfffff81f + 6948: 00005bb7 .word 0x00005bb7 + 694c: 00005b11 .word 0x00005b11 + +00006950 <_lv_blend_map>: +{ + 6950: b5f0 push {r4, r5, r6, r7, lr} + 6952: 46de mov lr, fp + 6954: 4657 mov r7, sl + 6956: 464e mov r6, r9 + 6958: 4645 mov r5, r8 + 695a: b5e0 push {r5, r6, r7, lr} + 695c: b093 sub sp, #76 ; 0x4c + 695e: 000c movs r4, r1 + 6960: 9207 str r2, [sp, #28] + 6962: 001d movs r5, r3 + 6964: ab1c add r3, sp, #112 ; 0x70 + 6966: 781f ldrb r7, [r3, #0] + 6968: ab1d add r3, sp, #116 ; 0x74 + 696a: 781b ldrb r3, [r3, #0] + 696c: 469b mov fp, r3 + 696e: ab1e add r3, sp, #120 ; 0x78 + 6970: 781e ldrb r6, [r3, #0] if(opa < LV_OPA_MIN) return; - 690a: 465b mov r3, fp - 690c: 2b04 cmp r3, #4 - 690e: d901 bls.n 6914 <_lv_blend_map+0x2c> + 6972: 465b mov r3, fp + 6974: 2b04 cmp r3, #4 + 6976: d901 bls.n 697c <_lv_blend_map+0x2c> if(mask_res == LV_DRAW_MASK_RES_TRANSP) return; - 6910: 2f00 cmp r7, #0 - 6912: d106 bne.n 6922 <_lv_blend_map+0x3a> -} - 6914: b013 add sp, #76 ; 0x4c - 6916: bc3c pop {r2, r3, r4, r5} - 6918: 4690 mov r8, r2 - 691a: 4699 mov r9, r3 - 691c: 46a2 mov sl, r4 - 691e: 46ab mov fp, r5 - 6920: bdf0 pop {r4, r5, r6, r7, pc} + 6978: 2f00 cmp r7, #0 + 697a: d106 bne.n 698a <_lv_blend_map+0x3a> +} + 697c: b013 add sp, #76 ; 0x4c + 697e: bc3c pop {r2, r3, r4, r5} + 6980: 4690 mov r8, r2 + 6982: 4699 mov r9, r3 + 6984: 46a2 mov sl, r4 + 6986: 46ab mov fp, r5 + 6988: bdf0 pop {r4, r5, r6, r7, pc} is_common = _lv_area_intersect(&draw_area, clip_area, map_area); - 6922: 000a movs r2, r1 - 6924: 0001 movs r1, r0 - 6926: a810 add r0, sp, #64 ; 0x40 - 6928: 4bd7 ldr r3, [pc, #860] ; (6c88 <_lv_blend_map+0x3a0>) - 692a: 4798 blx r3 + 698a: 000a movs r2, r1 + 698c: 0001 movs r1, r0 + 698e: a810 add r0, sp, #64 ; 0x40 + 6990: 4bd7 ldr r3, [pc, #860] ; (6cf0 <_lv_blend_map+0x3a0>) + 6992: 4798 blx r3 if(!is_common) return; - 692c: 2800 cmp r0, #0 - 692e: d0f1 beq.n 6914 <_lv_blend_map+0x2c> + 6994: 2800 cmp r0, #0 + 6996: d0f1 beq.n 697c <_lv_blend_map+0x2c> lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 6930: 4bd6 ldr r3, [pc, #856] ; (6c8c <_lv_blend_map+0x3a4>) - 6932: 4798 blx r3 - 6934: 4680 mov r8, r0 + 6998: 4bd6 ldr r3, [pc, #856] ; (6cf4 <_lv_blend_map+0x3a4>) + 699a: 4798 blx r3 + 699c: 4680 mov r8, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 6936: 4bd6 ldr r3, [pc, #856] ; (6c90 <_lv_blend_map+0x3a8>) - 6938: 4798 blx r3 - 693a: 4681 mov r9, r0 + 699e: 4bd6 ldr r3, [pc, #856] ; (6cf8 <_lv_blend_map+0x3a8>) + 69a0: 4798 blx r3 + 69a2: 4681 mov r9, r0 lv_color_t * disp_buf = vdb->buf_act; - 693c: 6883 ldr r3, [r0, #8] - 693e: 9305 str r3, [sp, #20] + 69a4: 6883 ldr r3, [r0, #8] + 69a6: 9305 str r3, [sp, #20] draw_area.x1 -= disp_area->x1; - 6940: 8a02 ldrh r2, [r0, #16] - 6942: ab10 add r3, sp, #64 ; 0x40 - 6944: 8819 ldrh r1, [r3, #0] - 6946: 1a89 subs r1, r1, r2 - 6948: b289 uxth r1, r1 - 694a: 9109 str r1, [sp, #36] ; 0x24 - 694c: 468c mov ip, r1 - 694e: b208 sxth r0, r1 - 6950: 4682 mov sl, r0 - 6952: 8018 strh r0, [r3, #0] + 69a8: 8a02 ldrh r2, [r0, #16] + 69aa: ab10 add r3, sp, #64 ; 0x40 + 69ac: 8819 ldrh r1, [r3, #0] + 69ae: 1a89 subs r1, r1, r2 + 69b0: b289 uxth r1, r1 + 69b2: 9109 str r1, [sp, #36] ; 0x24 + 69b4: 468c mov ip, r1 + 69b6: b208 sxth r0, r1 + 69b8: 4682 mov sl, r0 + 69ba: 8018 strh r0, [r3, #0] draw_area.y1 -= disp_area->y1; - 6954: 4648 mov r0, r9 - 6956: 8a41 ldrh r1, [r0, #18] - 6958: 8858 ldrh r0, [r3, #2] - 695a: 1a40 subs r0, r0, r1 - 695c: b280 uxth r0, r0 - 695e: 900a str r0, [sp, #40] ; 0x28 - 6960: b200 sxth r0, r0 - 6962: 9008 str r0, [sp, #32] - 6964: 8058 strh r0, [r3, #2] + 69bc: 4648 mov r0, r9 + 69be: 8a41 ldrh r1, [r0, #18] + 69c0: 8858 ldrh r0, [r3, #2] + 69c2: 1a40 subs r0, r0, r1 + 69c4: b280 uxth r0, r0 + 69c6: 900a str r0, [sp, #40] ; 0x28 + 69c8: b200 sxth r0, r0 + 69ca: 9008 str r0, [sp, #32] + 69cc: 8058 strh r0, [r3, #2] draw_area.x2 -= disp_area->x1; - 6966: 8898 ldrh r0, [r3, #4] - 6968: 1a80 subs r0, r0, r2 - 696a: b280 uxth r0, r0 - 696c: 8098 strh r0, [r3, #4] + 69ce: 8898 ldrh r0, [r3, #4] + 69d0: 1a80 subs r0, r0, r2 + 69d2: b280 uxth r0, r0 + 69d4: 8098 strh r0, [r3, #4] draw_area.y2 -= disp_area->y1; - 696e: 88da ldrh r2, [r3, #6] - 6970: 1a52 subs r2, r2, r1 - 6972: b292 uxth r2, r2 - 6974: 920b str r2, [sp, #44] ; 0x2c - 6976: b212 sxth r2, r2 - 6978: 920c str r2, [sp, #48] ; 0x30 - 697a: 80da strh r2, [r3, #6] + 69d6: 88da ldrh r2, [r3, #6] + 69d8: 1a52 subs r2, r2, r1 + 69da: b292 uxth r2, r2 + 69dc: 920b str r2, [sp, #44] ; 0x2c + 69de: b212 sxth r2, r2 + 69e0: 920c str r2, [sp, #48] ; 0x30 + 69e2: 80da strh r2, [r3, #6] if(mask && disp->driver.antialiasing == 0) - 697c: 2d00 cmp r5, #0 - 697e: d014 beq.n 69aa <_lv_blend_map+0xc2> - 6980: 4643 mov r3, r8 - 6982: 7a1b ldrb r3, [r3, #8] - 6984: 07db lsls r3, r3, #31 - 6986: d410 bmi.n 69aa <_lv_blend_map+0xc2> - 6988: 1c41 adds r1, r0, #1 - 698a: 4663 mov r3, ip - 698c: 1ac9 subs r1, r1, r3 - 698e: b209 sxth r1, r1 + 69e4: 2d00 cmp r5, #0 + 69e6: d014 beq.n 6a12 <_lv_blend_map+0xc2> + 69e8: 4643 mov r3, r8 + 69ea: 7a1b ldrb r3, [r3, #8] + 69ec: 07db lsls r3, r3, #31 + 69ee: d410 bmi.n 6a12 <_lv_blend_map+0xc2> + 69f0: 1c41 adds r1, r0, #1 + 69f2: 4663 mov r3, ip + 69f4: 1ac9 subs r1, r1, r3 + 69f6: b209 sxth r1, r1 for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP; - 6990: 2900 cmp r1, #0 - 6992: dd0a ble.n 69aa <_lv_blend_map+0xc2> - 6994: 002b movs r3, r5 - 6996: 1869 adds r1, r5, r1 - 6998: 2280 movs r2, #128 ; 0x80 - 699a: 4694 mov ip, r2 - 699c: 781a ldrb r2, [r3, #0] - 699e: 4594 cmp ip, r2 - 69a0: 4192 sbcs r2, r2 - 69a2: 701a strb r2, [r3, #0] - 69a4: 3301 adds r3, #1 - 69a6: 428b cmp r3, r1 - 69a8: d1f8 bne.n 699c <_lv_blend_map+0xb4> + 69f8: 2900 cmp r1, #0 + 69fa: dd0a ble.n 6a12 <_lv_blend_map+0xc2> + 69fc: 002b movs r3, r5 + 69fe: 1869 adds r1, r5, r1 + 6a00: 2280 movs r2, #128 ; 0x80 + 6a02: 4694 mov ip, r2 + 6a04: 781a ldrb r2, [r3, #0] + 6a06: 4594 cmp ip, r2 + 6a08: 4192 sbcs r2, r2 + 6a0a: 701a strb r2, [r3, #0] + 6a0c: 3301 adds r3, #1 + 6a0e: 428b cmp r3, r1 + 6a10: d1f8 bne.n 6a04 <_lv_blend_map+0xb4> if(disp->driver.set_px_cb) { - 69aa: 4643 mov r3, r8 - 69ac: 695b ldr r3, [r3, #20] - 69ae: 2b00 cmp r3, #0 - 69b0: d100 bne.n 69b4 <_lv_blend_map+0xcc> - 69b2: e0c3 b.n 6b3c <_lv_blend_map+0x254> + 6a12: 4643 mov r3, r8 + 6a14: 695b ldr r3, [r3, #20] + 6a16: 2b00 cmp r3, #0 + 6a18: d100 bne.n 6a1c <_lv_blend_map+0xcc> + 6a1a: e0c3 b.n 6ba4 <_lv_blend_map+0x254> lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 69b4: 4bb5 ldr r3, [pc, #724] ; (6c8c <_lv_blend_map+0x3a4>) - 69b6: 4798 blx r3 - 69b8: 900c str r0, [sp, #48] ; 0x30 - 69ba: 464b mov r3, r9 - 69bc: 2210 movs r2, #16 - 69be: 5e9b ldrsh r3, [r3, r2] - 69c0: 4698 mov r8, r3 - 69c2: 464b mov r3, r9 - 69c4: 8a9b ldrh r3, [r3, #20] - 69c6: 3301 adds r3, #1 - 69c8: 4642 mov r2, r8 - 69ca: 1a9b subs r3, r3, r2 - 69cc: b21b sxth r3, r3 - 69ce: 9306 str r3, [sp, #24] - 69d0: a910 add r1, sp, #64 ; 0x40 - 69d2: 2300 movs r3, #0 - 69d4: 5ec8 ldrsh r0, [r1, r3] - 69d6: 2300 movs r3, #0 - 69d8: 5ee2 ldrsh r2, [r4, r3] - 69da: 88a3 ldrh r3, [r4, #4] - 69dc: 3301 adds r3, #1 - 69de: 1a9b subs r3, r3, r2 - 69e0: b21b sxth r3, r3 + 6a1c: 4bb5 ldr r3, [pc, #724] ; (6cf4 <_lv_blend_map+0x3a4>) + 6a1e: 4798 blx r3 + 6a20: 900c str r0, [sp, #48] ; 0x30 + 6a22: 464b mov r3, r9 + 6a24: 2210 movs r2, #16 + 6a26: 5e9b ldrsh r3, [r3, r2] + 6a28: 4698 mov r8, r3 + 6a2a: 464b mov r3, r9 + 6a2c: 8a9b ldrh r3, [r3, #20] + 6a2e: 3301 adds r3, #1 + 6a30: 4642 mov r2, r8 + 6a32: 1a9b subs r3, r3, r2 + 6a34: b21b sxth r3, r3 + 6a36: 9306 str r3, [sp, #24] + 6a38: a910 add r1, sp, #64 ; 0x40 + 6a3a: 2300 movs r3, #0 + 6a3c: 5ec8 ldrsh r0, [r1, r3] + 6a3e: 2300 movs r3, #0 + 6a40: 5ee2 ldrsh r2, [r4, r3] + 6a42: 88a3 ldrh r3, [r4, #4] + 6a44: 3301 adds r3, #1 + 6a46: 1a9b subs r3, r3, r2 + 6a48: b21b sxth r3, r3 const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 69e2: 2602 movs r6, #2 - 69e4: 5f89 ldrsh r1, [r1, r6] - 69e6: 9109 str r1, [sp, #36] ; 0x24 - 69e8: 2602 movs r6, #2 - 69ea: 5fa4 ldrsh r4, [r4, r6] - 69ec: 46a4 mov ip, r4 - 69ee: 464e mov r6, r9 - 69f0: 2412 movs r4, #18 - 69f2: 5f36 ldrsh r6, [r6, r4] - 69f4: 4664 mov r4, ip - 69f6: 1ba4 subs r4, r4, r6 - 69f8: 1b0c subs r4, r1, r4 - 69fa: 435c muls r4, r3 + 6a4a: 2602 movs r6, #2 + 6a4c: 5f89 ldrsh r1, [r1, r6] + 6a4e: 9109 str r1, [sp, #36] ; 0x24 + 6a50: 2602 movs r6, #2 + 6a52: 5fa4 ldrsh r4, [r4, r6] + 6a54: 46a4 mov ip, r4 + 6a56: 464e mov r6, r9 + 6a58: 2412 movs r4, #18 + 6a5a: 5f36 ldrsh r6, [r6, r4] + 6a5c: 4664 mov r4, ip + 6a5e: 1ba4 subs r4, r4, r6 + 6a60: 1b0c subs r4, r1, r4 + 6a62: 435c muls r4, r3 map_buf_tmp += (draw_area->x1 - (map_area->x1 - disp_area->x1)); - 69fc: 4646 mov r6, r8 - 69fe: 1b92 subs r2, r2, r6 + 6a64: 4646 mov r6, r8 + 6a66: 1b92 subs r2, r2, r6 map_buf_tmp -= draw_area->x1; - 6a00: 1aa4 subs r4, r4, r2 - 6a02: 0064 lsls r4, r4, #1 - 6a04: 9a07 ldr r2, [sp, #28] - 6a06: 4694 mov ip, r2 - 6a08: 44a4 add ip, r4 - 6a0a: 4662 mov r2, ip - 6a0c: 9208 str r2, [sp, #32] + 6a68: 1aa4 subs r4, r4, r2 + 6a6a: 0064 lsls r4, r4, #1 + 6a6c: 9a07 ldr r2, [sp, #28] + 6a6e: 4694 mov ip, r2 + 6a70: 44a4 add ip, r4 + 6a72: 4662 mov r2, ip + 6a74: 9208 str r2, [sp, #32] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 6a0e: 2f01 cmp r7, #1 - 6a10: d053 beq.n 6aba <_lv_blend_map+0x1d2> + 6a76: 2f01 cmp r7, #1 + 6a78: d053 beq.n 6b22 <_lv_blend_map+0x1d2> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 6a12: 1a2a subs r2, r5, r0 - 6a14: 4690 mov r8, r2 + 6a7a: 1a2a subs r2, r5, r0 + 6a7c: 4690 mov r8, r2 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6a16: aa10 add r2, sp, #64 ; 0x40 - 6a18: 2406 movs r4, #6 - 6a1a: 5f12 ldrsh r2, [r2, r4] - 6a1c: 9c09 ldr r4, [sp, #36] ; 0x24 - 6a1e: 4294 cmp r4, r2 - 6a20: dd00 ble.n 6a24 <_lv_blend_map+0x13c> - 6a22: e777 b.n 6914 <_lv_blend_map+0x2c> - 6a24: aa10 add r2, sp, #64 ; 0x40 - 6a26: 2404 movs r4, #4 - 6a28: 5f12 ldrsh r2, [r2, r4] + 6a7e: aa10 add r2, sp, #64 ; 0x40 + 6a80: 2406 movs r4, #6 + 6a82: 5f12 ldrsh r2, [r2, r4] + 6a84: 9c09 ldr r4, [sp, #36] ; 0x24 + 6a86: 4294 cmp r4, r2 + 6a88: dd00 ble.n 6a8c <_lv_blend_map+0x13c> + 6a8a: e777 b.n 697c <_lv_blend_map+0x2c> + 6a8c: aa10 add r2, sp, #64 ; 0x40 + 6a8e: 2404 movs r4, #4 + 6a90: 5f12 ldrsh r2, [r2, r4] map_buf_tmp += map_w; - 6a2a: 005b lsls r3, r3, #1 - 6a2c: 930a str r3, [sp, #40] ; 0x28 - 6a2e: 9109 str r1, [sp, #36] ; 0x24 + 6a92: 005b lsls r3, r3, #1 + 6a94: 930a str r3, [sp, #40] ; 0x28 + 6a96: 9109 str r1, [sp, #36] ; 0x24 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6a30: ab10 add r3, sp, #64 ; 0x40 - 6a32: 9307 str r3, [sp, #28] + 6a98: ab10 add r3, sp, #64 ; 0x40 + 6a9a: 9307 str r3, [sp, #28] disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], - 6a34: ab01 add r3, sp, #4 - 6a36: 469a mov sl, r3 - 6a38: 3201 adds r2, #1 - 6a3a: 1a13 subs r3, r2, r0 + 6a9c: ab01 add r3, sp, #4 + 6a9e: 469a mov sl, r3 + 6aa0: 3201 adds r2, #1 + 6aa2: 1a13 subs r3, r2, r0 mask_tmp += draw_area_w; - 6a3c: b21b sxth r3, r3 - 6a3e: 930b str r3, [sp, #44] ; 0x2c - 6a40: 9e0c ldr r6, [sp, #48] ; 0x30 + 6aa4: b21b sxth r3, r3 + 6aa6: 930b str r3, [sp, #44] ; 0x2c + 6aa8: 9e0c ldr r6, [sp, #48] ; 0x30 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6a42: 9a07 ldr r2, [sp, #28] - 6a44: 0013 movs r3, r2 - 6a46: 2500 movs r5, #0 - 6a48: 5f5d ldrsh r5, [r3, r5] - 6a4a: 002c movs r4, r5 - 6a4c: 0013 movs r3, r2 - 6a4e: 2204 movs r2, #4 - 6a50: 5e9b ldrsh r3, [r3, r2] - 6a52: 429d cmp r5, r3 - 6a54: dc1f bgt.n 6a96 <_lv_blend_map+0x1ae> - 6a56: 006d lsls r5, r5, #1 - 6a58: 9b08 ldr r3, [sp, #32] - 6a5a: 469c mov ip, r3 - 6a5c: 4465 add r5, ip + 6aaa: 9a07 ldr r2, [sp, #28] + 6aac: 0013 movs r3, r2 + 6aae: 2500 movs r5, #0 + 6ab0: 5f5d ldrsh r5, [r3, r5] + 6ab2: 002c movs r4, r5 + 6ab4: 0013 movs r3, r2 + 6ab6: 2204 movs r2, #4 + 6ab8: 5e9b ldrsh r3, [r3, r2] + 6aba: 429d cmp r5, r3 + 6abc: dc1f bgt.n 6afe <_lv_blend_map+0x1ae> + 6abe: 006d lsls r5, r5, #1 + 6ac0: 9b08 ldr r3, [sp, #32] + 6ac2: 469c mov ip, r3 + 6ac4: 4465 add r5, ip disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], - 6a5e: 466b mov r3, sp - 6a60: 2224 movs r2, #36 ; 0x24 - 6a62: 5e9b ldrsh r3, [r3, r2] - 6a64: 4699 mov r9, r3 - 6a66: b223 sxth r3, r4 + 6ac6: 466b mov r3, sp + 6ac8: 2224 movs r2, #36 ; 0x24 + 6aca: 5e9b ldrsh r3, [r3, r2] + 6acc: 4699 mov r9, r3 + 6ace: b223 sxth r3, r4 (uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8); - 6a68: 4642 mov r2, r8 - 6a6a: 5d12 ldrb r2, [r2, r4] - 6a6c: 4659 mov r1, fp - 6a6e: 434a muls r2, r1 + 6ad0: 4642 mov r2, r8 + 6ad2: 5d12 ldrb r2, [r2, r4] + 6ad4: 4659 mov r1, fp + 6ad6: 434a muls r2, r1 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], - 6a70: 0a12 lsrs r2, r2, #8 - 6a72: 9202 str r2, [sp, #8] - 6a74: 882a ldrh r2, [r5, #0] - 6a76: 4651 mov r1, sl - 6a78: 800a strh r2, [r1, #0] - 6a7a: 464a mov r2, r9 - 6a7c: 9200 str r2, [sp, #0] - 6a7e: 9a06 ldr r2, [sp, #24] - 6a80: 9905 ldr r1, [sp, #20] - 6a82: 0030 movs r0, r6 - 6a84: 6977 ldr r7, [r6, #20] - 6a86: 47b8 blx r7 + 6ad8: 0a12 lsrs r2, r2, #8 + 6ada: 9202 str r2, [sp, #8] + 6adc: 882a ldrh r2, [r5, #0] + 6ade: 4651 mov r1, sl + 6ae0: 800a strh r2, [r1, #0] + 6ae2: 464a mov r2, r9 + 6ae4: 9200 str r2, [sp, #0] + 6ae6: 9a06 ldr r2, [sp, #24] + 6ae8: 9905 ldr r1, [sp, #20] + 6aea: 0030 movs r0, r6 + 6aec: 6977 ldr r7, [r6, #20] + 6aee: 47b8 blx r7 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6a88: 3401 adds r4, #1 - 6a8a: 3502 adds r5, #2 - 6a8c: 9b07 ldr r3, [sp, #28] - 6a8e: 2204 movs r2, #4 - 6a90: 5e9b ldrsh r3, [r3, r2] - 6a92: 429c cmp r4, r3 - 6a94: dde7 ble.n 6a66 <_lv_blend_map+0x17e> - 6a96: 9b0b ldr r3, [sp, #44] ; 0x2c - 6a98: 469c mov ip, r3 - 6a9a: 44e0 add r8, ip + 6af0: 3401 adds r4, #1 + 6af2: 3502 adds r5, #2 + 6af4: 9b07 ldr r3, [sp, #28] + 6af6: 2204 movs r2, #4 + 6af8: 5e9b ldrsh r3, [r3, r2] + 6afa: 429c cmp r4, r3 + 6afc: dde7 ble.n 6ace <_lv_blend_map+0x17e> + 6afe: 9b0b ldr r3, [sp, #44] ; 0x2c + 6b00: 469c mov ip, r3 + 6b02: 44e0 add r8, ip map_buf_tmp += map_w; - 6a9c: 9b08 ldr r3, [sp, #32] - 6a9e: 9a0a ldr r2, [sp, #40] ; 0x28 - 6aa0: 4694 mov ip, r2 - 6aa2: 4463 add r3, ip - 6aa4: 9308 str r3, [sp, #32] + 6b04: 9b08 ldr r3, [sp, #32] + 6b06: 9a0a ldr r2, [sp, #40] ; 0x28 + 6b08: 4694 mov ip, r2 + 6b0a: 4463 add r3, ip + 6b0c: 9308 str r3, [sp, #32] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6aa6: 9b09 ldr r3, [sp, #36] ; 0x24 - 6aa8: 3301 adds r3, #1 - 6aaa: 001a movs r2, r3 - 6aac: 9309 str r3, [sp, #36] ; 0x24 - 6aae: 9b07 ldr r3, [sp, #28] - 6ab0: 2106 movs r1, #6 - 6ab2: 5e5b ldrsh r3, [r3, r1] - 6ab4: 429a cmp r2, r3 - 6ab6: ddc4 ble.n 6a42 <_lv_blend_map+0x15a> - 6ab8: e72c b.n 6914 <_lv_blend_map+0x2c> + 6b0e: 9b09 ldr r3, [sp, #36] ; 0x24 + 6b10: 3301 adds r3, #1 + 6b12: 001a movs r2, r3 + 6b14: 9309 str r3, [sp, #36] ; 0x24 + 6b16: 9b07 ldr r3, [sp, #28] + 6b18: 2106 movs r1, #6 + 6b1a: 5e5b ldrsh r3, [r3, r1] + 6b1c: 429a cmp r2, r3 + 6b1e: ddc4 ble.n 6aaa <_lv_blend_map+0x15a> + 6b20: e72c b.n 697c <_lv_blend_map+0x2c> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6aba: aa10 add r2, sp, #64 ; 0x40 - 6abc: 2006 movs r0, #6 - 6abe: 5e12 ldrsh r2, [r2, r0] - 6ac0: 428a cmp r2, r1 - 6ac2: da00 bge.n 6ac6 <_lv_blend_map+0x1de> - 6ac4: e726 b.n 6914 <_lv_blend_map+0x2c> + 6b22: aa10 add r2, sp, #64 ; 0x40 + 6b24: 2006 movs r0, #6 + 6b26: 5e12 ldrsh r2, [r2, r0] + 6b28: 428a cmp r2, r1 + 6b2a: da00 bge.n 6b2e <_lv_blend_map+0x1de> + 6b2c: e726 b.n 697c <_lv_blend_map+0x2c> map_buf_tmp += map_w; - 6ac6: 005b lsls r3, r3, #1 - 6ac8: 9309 str r3, [sp, #36] ; 0x24 - 6aca: 468a mov sl, r1 + 6b2e: 005b lsls r3, r3, #1 + 6b30: 9309 str r3, [sp, #36] ; 0x24 + 6b32: 468a mov sl, r1 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6acc: ab10 add r3, sp, #64 ; 0x40 - 6ace: 9307 str r3, [sp, #28] + 6b34: ab10 add r3, sp, #64 ; 0x40 + 6b36: 9307 str r3, [sp, #28] disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], opa); - 6ad0: ab01 add r3, sp, #4 - 6ad2: 4699 mov r9, r3 - 6ad4: 9e0c ldr r6, [sp, #48] ; 0x30 + 6b38: ab01 add r3, sp, #4 + 6b3a: 4699 mov r9, r3 + 6b3c: 9e0c ldr r6, [sp, #48] ; 0x30 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6ad6: 9a07 ldr r2, [sp, #28] - 6ad8: 0013 movs r3, r2 - 6ada: 2700 movs r7, #0 - 6adc: 5fdf ldrsh r7, [r3, r7] - 6ade: 003c movs r4, r7 - 6ae0: 0013 movs r3, r2 - 6ae2: 2204 movs r2, #4 - 6ae4: 5e9b ldrsh r3, [r3, r2] - 6ae6: 429f cmp r7, r3 - 6ae8: dc1a bgt.n 6b20 <_lv_blend_map+0x238> - 6aea: 007f lsls r7, r7, #1 - 6aec: 9b08 ldr r3, [sp, #32] - 6aee: 469c mov ip, r3 - 6af0: 4467 add r7, ip + 6b3e: 9a07 ldr r2, [sp, #28] + 6b40: 0013 movs r3, r2 + 6b42: 2700 movs r7, #0 + 6b44: 5fdf ldrsh r7, [r3, r7] + 6b46: 003c movs r4, r7 + 6b48: 0013 movs r3, r2 + 6b4a: 2204 movs r2, #4 + 6b4c: 5e9b ldrsh r3, [r3, r2] + 6b4e: 429f cmp r7, r3 + 6b50: dc1a bgt.n 6b88 <_lv_blend_map+0x238> + 6b52: 007f lsls r7, r7, #1 + 6b54: 9b08 ldr r3, [sp, #32] + 6b56: 469c mov ip, r3 + 6b58: 4467 add r7, ip disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], opa); - 6af2: 4653 mov r3, sl - 6af4: b21b sxth r3, r3 - 6af6: 4698 mov r8, r3 - 6af8: b223 sxth r3, r4 - 6afa: 465a mov r2, fp - 6afc: 9202 str r2, [sp, #8] - 6afe: 883a ldrh r2, [r7, #0] - 6b00: 4649 mov r1, r9 - 6b02: 800a strh r2, [r1, #0] - 6b04: 4642 mov r2, r8 - 6b06: 9200 str r2, [sp, #0] - 6b08: 9a06 ldr r2, [sp, #24] - 6b0a: 9905 ldr r1, [sp, #20] - 6b0c: 0030 movs r0, r6 - 6b0e: 6975 ldr r5, [r6, #20] - 6b10: 47a8 blx r5 + 6b5a: 4653 mov r3, sl + 6b5c: b21b sxth r3, r3 + 6b5e: 4698 mov r8, r3 + 6b60: b223 sxth r3, r4 + 6b62: 465a mov r2, fp + 6b64: 9202 str r2, [sp, #8] + 6b66: 883a ldrh r2, [r7, #0] + 6b68: 4649 mov r1, r9 + 6b6a: 800a strh r2, [r1, #0] + 6b6c: 4642 mov r2, r8 + 6b6e: 9200 str r2, [sp, #0] + 6b70: 9a06 ldr r2, [sp, #24] + 6b72: 9905 ldr r1, [sp, #20] + 6b74: 0030 movs r0, r6 + 6b76: 6975 ldr r5, [r6, #20] + 6b78: 47a8 blx r5 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 6b12: 3401 adds r4, #1 - 6b14: 3702 adds r7, #2 - 6b16: 9b07 ldr r3, [sp, #28] - 6b18: 2204 movs r2, #4 - 6b1a: 5e9b ldrsh r3, [r3, r2] - 6b1c: 429c cmp r4, r3 - 6b1e: ddeb ble.n 6af8 <_lv_blend_map+0x210> + 6b7a: 3401 adds r4, #1 + 6b7c: 3702 adds r7, #2 + 6b7e: 9b07 ldr r3, [sp, #28] + 6b80: 2204 movs r2, #4 + 6b82: 5e9b ldrsh r3, [r3, r2] + 6b84: 429c cmp r4, r3 + 6b86: ddeb ble.n 6b60 <_lv_blend_map+0x210> map_buf_tmp += map_w; - 6b20: 9b08 ldr r3, [sp, #32] - 6b22: 9a09 ldr r2, [sp, #36] ; 0x24 - 6b24: 4694 mov ip, r2 - 6b26: 4463 add r3, ip - 6b28: 9308 str r3, [sp, #32] + 6b88: 9b08 ldr r3, [sp, #32] + 6b8a: 9a09 ldr r2, [sp, #36] ; 0x24 + 6b8c: 4694 mov ip, r2 + 6b8e: 4463 add r3, ip + 6b90: 9308 str r3, [sp, #32] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6b2a: 2301 movs r3, #1 - 6b2c: 469c mov ip, r3 - 6b2e: 44e2 add sl, ip - 6b30: 9b07 ldr r3, [sp, #28] - 6b32: 2206 movs r2, #6 - 6b34: 5e9b ldrsh r3, [r3, r2] - 6b36: 459a cmp sl, r3 - 6b38: ddcd ble.n 6ad6 <_lv_blend_map+0x1ee> - 6b3a: e6eb b.n 6914 <_lv_blend_map+0x2c> + 6b92: 2301 movs r3, #1 + 6b94: 469c mov ip, r3 + 6b96: 44e2 add sl, ip + 6b98: 9b07 ldr r3, [sp, #28] + 6b9a: 2206 movs r2, #6 + 6b9c: 5e9b ldrsh r3, [r3, r2] + 6b9e: 459a cmp sl, r3 + 6ba0: ddcd ble.n 6b3e <_lv_blend_map+0x1ee> + 6ba2: e6eb b.n 697c <_lv_blend_map+0x2c> else if(mode == LV_BLEND_MODE_NORMAL) { - 6b3c: 2e00 cmp r6, #0 - 6b3e: d001 beq.n 6b44 <_lv_blend_map+0x25c> - 6b40: f000 fbfd bl 733e <_lv_blend_map+0xa56> - 6b44: 464b mov r3, r9 - 6b46: 2210 movs r2, #16 - 6b48: 5e9b ldrsh r3, [r3, r2] - 6b4a: 001a movs r2, r3 - 6b4c: 464b mov r3, r9 - 6b4e: 8a9b ldrh r3, [r3, #20] - 6b50: 3301 adds r3, #1 - 6b52: 920d str r2, [sp, #52] ; 0x34 - 6b54: 1a9b subs r3, r3, r2 - 6b56: b21b sxth r3, r3 - 6b58: 4698 mov r8, r3 - 6b5a: 3001 adds r0, #1 - 6b5c: 9b09 ldr r3, [sp, #36] ; 0x24 - 6b5e: 1ac0 subs r0, r0, r3 - 6b60: b203 sxth r3, r0 - 6b62: 930c str r3, [sp, #48] ; 0x30 + 6ba4: 2e00 cmp r6, #0 + 6ba6: d001 beq.n 6bac <_lv_blend_map+0x25c> + 6ba8: f000 fbfd bl 73a6 <_lv_blend_map+0xa56> + 6bac: 464b mov r3, r9 + 6bae: 2210 movs r2, #16 + 6bb0: 5e9b ldrsh r3, [r3, r2] + 6bb2: 001a movs r2, r3 + 6bb4: 464b mov r3, r9 + 6bb6: 8a9b ldrh r3, [r3, #20] + 6bb8: 3301 adds r3, #1 + 6bba: 920d str r2, [sp, #52] ; 0x34 + 6bbc: 1a9b subs r3, r3, r2 + 6bbe: b21b sxth r3, r3 + 6bc0: 4698 mov r8, r3 + 6bc2: 3001 adds r0, #1 + 6bc4: 9b09 ldr r3, [sp, #36] ; 0x24 + 6bc6: 1ac0 subs r0, r0, r3 + 6bc8: b203 sxth r3, r0 + 6bca: 930c str r3, [sp, #48] ; 0x30 int32_t draw_area_w = lv_area_get_width(draw_area); - 6b64: 9306 str r3, [sp, #24] + 6bcc: 9306 str r3, [sp, #24] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 6b66: 980b ldr r0, [sp, #44] ; 0x2c - 6b68: 3001 adds r0, #1 - 6b6a: 9b0a ldr r3, [sp, #40] ; 0x28 - 6b6c: 1ac0 subs r0, r0, r3 + 6bce: 980b ldr r0, [sp, #44] ; 0x2c + 6bd0: 3001 adds r0, #1 + 6bd2: 9b0a ldr r3, [sp, #40] ; 0x28 + 6bd4: 1ac0 subs r0, r0, r3 int32_t draw_area_h = lv_area_get_height(draw_area); - 6b6e: b203 sxth r3, r0 - 6b70: 930b str r3, [sp, #44] ; 0x2c + 6bd6: b203 sxth r3, r0 + 6bd8: 930b str r3, [sp, #44] ; 0x2c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 6b72: 2300 movs r3, #0 - 6b74: 5ee2 ldrsh r2, [r4, r3] - 6b76: 88a6 ldrh r6, [r4, #4] - 6b78: 3601 adds r6, #1 - 6b7a: 1ab6 subs r6, r6, r2 - 6b7c: b236 sxth r6, r6 + 6bda: 2300 movs r3, #0 + 6bdc: 5ee2 ldrsh r2, [r4, r3] + 6bde: 88a6 ldrh r6, [r4, #4] + 6be0: 3601 adds r6, #1 + 6be2: 1ab6 subs r6, r6, r2 + 6be4: b236 sxth r6, r6 lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1; - 6b7e: 9808 ldr r0, [sp, #32] - 6b80: 0003 movs r3, r0 - 6b82: 4641 mov r1, r8 - 6b84: 434b muls r3, r1 - 6b86: 4453 add r3, sl - 6b88: 005b lsls r3, r3, #1 - 6b8a: 9905 ldr r1, [sp, #20] - 6b8c: 468c mov ip, r1 - 6b8e: 449c add ip, r3 - 6b90: 4663 mov r3, ip - 6b92: 9308 str r3, [sp, #32] + 6be6: 9808 ldr r0, [sp, #32] + 6be8: 0003 movs r3, r0 + 6bea: 4641 mov r1, r8 + 6bec: 434b muls r3, r1 + 6bee: 4453 add r3, sl + 6bf0: 005b lsls r3, r3, #1 + 6bf2: 9905 ldr r1, [sp, #20] + 6bf4: 468c mov ip, r1 + 6bf6: 449c add ip, r3 + 6bf8: 4663 mov r3, ip + 6bfa: 9308 str r3, [sp, #32] const lv_color_t * map_buf_first = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 6b94: 2102 movs r1, #2 - 6b96: 5e63 ldrsh r3, [r4, r1] - 6b98: 4649 mov r1, r9 - 6b9a: 2412 movs r4, #18 - 6b9c: 5f09 ldrsh r1, [r1, r4] - 6b9e: 1a5b subs r3, r3, r1 - 6ba0: 1ac3 subs r3, r0, r3 - 6ba2: 4373 muls r3, r6 + 6bfc: 2102 movs r1, #2 + 6bfe: 5e63 ldrsh r3, [r4, r1] + 6c00: 4649 mov r1, r9 + 6c02: 2412 movs r4, #18 + 6c04: 5f09 ldrsh r1, [r1, r4] + 6c06: 1a5b subs r3, r3, r1 + 6c08: 1ac3 subs r3, r0, r3 + 6c0a: 4373 muls r3, r6 map_buf_first += (draw_area->x1 - (map_area->x1 - disp_area->x1)); - 6ba4: 990d ldr r1, [sp, #52] ; 0x34 - 6ba6: 1a52 subs r2, r2, r1 - 6ba8: 4651 mov r1, sl - 6baa: 1a8a subs r2, r1, r2 - 6bac: 189b adds r3, r3, r2 - 6bae: 005b lsls r3, r3, #1 - 6bb0: 9a07 ldr r2, [sp, #28] - 6bb2: 4694 mov ip, r2 - 6bb4: 449c add ip, r3 - 6bb6: 4663 mov r3, ip - 6bb8: 9309 str r3, [sp, #36] ; 0x24 + 6c0c: 990d ldr r1, [sp, #52] ; 0x34 + 6c0e: 1a52 subs r2, r2, r1 + 6c10: 4651 mov r1, sl + 6c12: 1a8a subs r2, r1, r2 + 6c14: 189b adds r3, r3, r2 + 6c16: 005b lsls r3, r3, #1 + 6c18: 9a07 ldr r2, [sp, #28] + 6c1a: 4694 mov ip, r2 + 6c1c: 449c add ip, r3 + 6c1e: 4663 mov r3, ip + 6c20: 9309 str r3, [sp, #36] ; 0x24 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 6bba: 4b34 ldr r3, [pc, #208] ; (6c8c <_lv_blend_map+0x3a4>) - 6bbc: 4798 blx r3 - 6bbe: 0004 movs r4, r0 + 6c22: 4b34 ldr r3, [pc, #208] ; (6cf4 <_lv_blend_map+0x3a4>) + 6c24: 4798 blx r3 + 6c26: 0004 movs r4, r0 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 6bc0: 2f01 cmp r7, #1 - 6bc2: d015 beq.n 6bf0 <_lv_blend_map+0x308> + 6c28: 2f01 cmp r7, #1 + 6c2a: d015 beq.n 6c58 <_lv_blend_map+0x308> if(opa > LV_OPA_MAX) { - 6bc4: 465b mov r3, fp - 6bc6: 2bfa cmp r3, #250 ; 0xfa - 6bc8: d900 bls.n 6bcc <_lv_blend_map+0x2e4> - 6bca: e0eb b.n 6da4 <_lv_blend_map+0x4bc> + 6c2c: 465b mov r3, fp + 6c2e: 2bfa cmp r3, #250 ; 0xfa + 6c30: d900 bls.n 6c34 <_lv_blend_map+0x2e4> + 6c32: e0eb b.n 6e0c <_lv_blend_map+0x4bc> for(y = 0; y < draw_area_h; y++) { - 6bcc: 9b0b ldr r3, [sp, #44] ; 0x2c - 6bce: 2b00 cmp r3, #0 - 6bd0: dc00 bgt.n 6bd4 <_lv_blend_map+0x2ec> - 6bd2: e69f b.n 6914 <_lv_blend_map+0x2c> + 6c34: 9b0b ldr r3, [sp, #44] ; 0x2c + 6c36: 2b00 cmp r3, #0 + 6c38: dc00 bgt.n 6c3c <_lv_blend_map+0x2ec> + 6c3a: e69f b.n 697c <_lv_blend_map+0x2c> disp_buf_first += disp_w; - 6bd4: 4643 mov r3, r8 - 6bd6: 005b lsls r3, r3, #1 - 6bd8: 930e str r3, [sp, #56] ; 0x38 + 6c3c: 4643 mov r3, r8 + 6c3e: 005b lsls r3, r3, #1 + 6c40: 930e str r3, [sp, #56] ; 0x38 map_buf_first += map_w; - 6bda: 0073 lsls r3, r6, #1 - 6bdc: 930f str r3, [sp, #60] ; 0x3c - 6bde: 46a9 mov r9, r5 - 6be0: 2300 movs r3, #0 - 6be2: 930d str r3, [sp, #52] ; 0x34 - 6be4: 331f adds r3, #31 - 6be6: 4698 mov r8, r3 + 6c42: 0073 lsls r3, r6, #1 + 6c44: 930f str r3, [sp, #60] ; 0x3c + 6c46: 46a9 mov r9, r5 + 6c48: 2300 movs r3, #0 + 6c4a: 930d str r3, [sp, #52] ; 0x34 + 6c4c: 331f adds r3, #31 + 6c4e: 4698 mov r8, r3 lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8); - 6be8: 465b mov r3, fp - 6bea: 9307 str r3, [sp, #28] - 6bec: 930a str r3, [sp, #40] ; 0x28 - 6bee: e39a b.n 7326 <_lv_blend_map+0xa3e> + 6c50: 465b mov r3, fp + 6c52: 9307 str r3, [sp, #28] + 6c54: 930a str r3, [sp, #40] ; 0x28 + 6c56: e39a b.n 738e <_lv_blend_map+0xa3e> if(disp->driver.gpu_blend_cb && (lv_area_get_size(draw_area) > GPU_SIZE_LIMIT)) { - 6bf0: 6a03 ldr r3, [r0, #32] - 6bf2: 2b00 cmp r3, #0 - 6bf4: d02a beq.n 6c4c <_lv_blend_map+0x364> - 6bf6: a810 add r0, sp, #64 ; 0x40 - 6bf8: 4b26 ldr r3, [pc, #152] ; (6c94 <_lv_blend_map+0x3ac>) - 6bfa: 4798 blx r3 - 6bfc: 28f0 cmp r0, #240 ; 0xf0 - 6bfe: d925 bls.n 6c4c <_lv_blend_map+0x364> + 6c58: 6a03 ldr r3, [r0, #32] + 6c5a: 2b00 cmp r3, #0 + 6c5c: d02a beq.n 6cb4 <_lv_blend_map+0x364> + 6c5e: a810 add r0, sp, #64 ; 0x40 + 6c60: 4b26 ldr r3, [pc, #152] ; (6cfc <_lv_blend_map+0x3ac>) + 6c62: 4798 blx r3 + 6c64: 28f0 cmp r0, #240 ; 0xf0 + 6c66: d925 bls.n 6cb4 <_lv_blend_map+0x364> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6c00: ab10 add r3, sp, #64 ; 0x40 - 6c02: 2202 movs r2, #2 - 6c04: 5e9f ldrsh r7, [r3, r2] - 6c06: 2206 movs r2, #6 - 6c08: 5e9b ldrsh r3, [r3, r2] - 6c0a: 429f cmp r7, r3 - 6c0c: dd00 ble.n 6c10 <_lv_blend_map+0x328> - 6c0e: e681 b.n 6914 <_lv_blend_map+0x2c> + 6c68: ab10 add r3, sp, #64 ; 0x40 + 6c6a: 2202 movs r2, #2 + 6c6c: 5e9f ldrsh r7, [r3, r2] + 6c6e: 2206 movs r2, #6 + 6c70: 5e9b ldrsh r3, [r3, r2] + 6c72: 429f cmp r7, r3 + 6c74: dd00 ble.n 6c78 <_lv_blend_map+0x328> + 6c76: e681 b.n 697c <_lv_blend_map+0x2c> disp_buf_first += disp_w; - 6c10: 4643 mov r3, r8 - 6c12: 005b lsls r3, r3, #1 - 6c14: 4698 mov r8, r3 + 6c78: 4643 mov r3, r8 + 6c7a: 005b lsls r3, r3, #1 + 6c7c: 4698 mov r8, r3 map_buf_first += map_w; - 6c16: 0076 lsls r6, r6, #1 + 6c7e: 0076 lsls r6, r6, #1 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6c18: ab10 add r3, sp, #64 ; 0x40 - 6c1a: 9305 str r3, [sp, #20] + 6c80: ab10 add r3, sp, #64 ; 0x40 + 6c82: 9305 str r3, [sp, #20] disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, map_buf_first, draw_area_w, opa); - 6c1c: 465b mov r3, fp - 6c1e: 9300 str r3, [sp, #0] - 6c20: 9b0c ldr r3, [sp, #48] ; 0x30 - 6c22: 9a09 ldr r2, [sp, #36] ; 0x24 - 6c24: 4692 mov sl, r2 - 6c26: 9908 ldr r1, [sp, #32] - 6c28: 4689 mov r9, r1 - 6c2a: 0020 movs r0, r4 - 6c2c: 6a25 ldr r5, [r4, #32] - 6c2e: 47a8 blx r5 + 6c84: 465b mov r3, fp + 6c86: 9300 str r3, [sp, #0] + 6c88: 9b0c ldr r3, [sp, #48] ; 0x30 + 6c8a: 9a09 ldr r2, [sp, #36] ; 0x24 + 6c8c: 4692 mov sl, r2 + 6c8e: 9908 ldr r1, [sp, #32] + 6c90: 4689 mov r9, r1 + 6c92: 0020 movs r0, r4 + 6c94: 6a25 ldr r5, [r4, #32] + 6c96: 47a8 blx r5 disp_buf_first += disp_w; - 6c30: 464b mov r3, r9 - 6c32: 4443 add r3, r8 - 6c34: 9308 str r3, [sp, #32] + 6c98: 464b mov r3, r9 + 6c9a: 4443 add r3, r8 + 6c9c: 9308 str r3, [sp, #32] map_buf_first += map_w; - 6c36: 46d4 mov ip, sl - 6c38: 44b4 add ip, r6 - 6c3a: 4663 mov r3, ip - 6c3c: 9309 str r3, [sp, #36] ; 0x24 + 6c9e: 46d4 mov ip, sl + 6ca0: 44b4 add ip, r6 + 6ca2: 4663 mov r3, ip + 6ca4: 9309 str r3, [sp, #36] ; 0x24 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 6c3e: 3701 adds r7, #1 - 6c40: 9b05 ldr r3, [sp, #20] - 6c42: 2206 movs r2, #6 - 6c44: 5e9b ldrsh r3, [r3, r2] - 6c46: 429f cmp r7, r3 - 6c48: dde8 ble.n 6c1c <_lv_blend_map+0x334> - 6c4a: e663 b.n 6914 <_lv_blend_map+0x2c> + 6ca6: 3701 adds r7, #1 + 6ca8: 9b05 ldr r3, [sp, #20] + 6caa: 2206 movs r2, #6 + 6cac: 5e9b ldrsh r3, [r3, r2] + 6cae: 429f cmp r7, r3 + 6cb0: dde8 ble.n 6c84 <_lv_blend_map+0x334> + 6cb2: e663 b.n 697c <_lv_blend_map+0x2c> if(opa > LV_OPA_MAX) { - 6c4c: 465b mov r3, fp - 6c4e: 2bfa cmp r3, #250 ; 0xfa - 6c50: d824 bhi.n 6c9c <_lv_blend_map+0x3b4> + 6cb4: 465b mov r3, fp + 6cb6: 2bfa cmp r3, #250 ; 0xfa + 6cb8: d824 bhi.n 6d04 <_lv_blend_map+0x3b4> for(y = 0; y < draw_area_h; y++) { - 6c52: 9b0b ldr r3, [sp, #44] ; 0x2c - 6c54: 2b00 cmp r3, #0 - 6c56: dc00 bgt.n 6c5a <_lv_blend_map+0x372> - 6c58: e65c b.n 6914 <_lv_blend_map+0x2c> + 6cba: 9b0b ldr r3, [sp, #44] ; 0x2c + 6cbc: 2b00 cmp r3, #0 + 6cbe: dc00 bgt.n 6cc2 <_lv_blend_map+0x372> + 6cc0: e65c b.n 697c <_lv_blend_map+0x2c> disp_buf_first += disp_w; - 6c5a: 4643 mov r3, r8 - 6c5c: 005b lsls r3, r3, #1 - 6c5e: 930a str r3, [sp, #40] ; 0x28 + 6cc2: 4643 mov r3, r8 + 6cc4: 005b lsls r3, r3, #1 + 6cc6: 930a str r3, [sp, #40] ; 0x28 map_buf_first += map_w; - 6c60: 0073 lsls r3, r6, #1 - 6c62: 930d str r3, [sp, #52] ; 0x34 - 6c64: 9b0c ldr r3, [sp, #48] ; 0x30 - 6c66: 005b lsls r3, r3, #1 - 6c68: 930c str r3, [sp, #48] ; 0x30 - 6c6a: 2300 movs r3, #0 - 6c6c: 9307 str r3, [sp, #28] - 6c6e: 27ff movs r7, #255 ; 0xff - 6c70: 465b mov r3, fp - 6c72: 1aff subs r7, r7, r3 - 6c74: 231f movs r3, #31 - 6c76: 469c mov ip, r3 + 6cc8: 0073 lsls r3, r6, #1 + 6cca: 930d str r3, [sp, #52] ; 0x34 + 6ccc: 9b0c ldr r3, [sp, #48] ; 0x30 + 6cce: 005b lsls r3, r3, #1 + 6cd0: 930c str r3, [sp, #48] ; 0x30 + 6cd2: 2300 movs r3, #0 + 6cd4: 9307 str r3, [sp, #28] + 6cd6: 27ff movs r7, #255 ; 0xff + 6cd8: 465b mov r3, fp + 6cda: 1aff subs r7, r7, r3 + 6cdc: 231f movs r3, #31 + 6cde: 469c mov ip, r3 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6c78: 3320 adds r3, #32 - 6c7a: 4699 mov r9, r3 + 6ce0: 3320 adds r3, #32 + 6ce2: 4699 mov r9, r3 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa); - 6c7c: 4b06 ldr r3, [pc, #24] ; (6c98 <_lv_blend_map+0x3b0>) - 6c7e: 469a mov sl, r3 - 6c80: 46b8 mov r8, r7 - 6c82: 465f mov r7, fp - 6c84: e03b b.n 6cfe <_lv_blend_map+0x416> - 6c86: 46c0 nop ; (mov r8, r8) - 6c88: 0000fba7 .word 0x0000fba7 - 6c8c: 00004349 .word 0x00004349 - 6c90: 0000f6a1 .word 0x0000f6a1 - 6c94: 0000fb8b .word 0x0000fb8b - 6c98: fffff81f .word 0xfffff81f + 6ce4: 4b06 ldr r3, [pc, #24] ; (6d00 <_lv_blend_map+0x3b0>) + 6ce6: 469a mov sl, r3 + 6ce8: 46b8 mov r8, r7 + 6cea: 465f mov r7, fp + 6cec: e03b b.n 6d66 <_lv_blend_map+0x416> + 6cee: 46c0 nop ; (mov r8, r8) + 6cf0: 0000fc0f .word 0x0000fc0f + 6cf4: 000043b1 .word 0x000043b1 + 6cf8: 0000f709 .word 0x0000f709 + 6cfc: 0000fbf3 .word 0x0000fbf3 + 6d00: fffff81f .word 0xfffff81f for(y = 0; y < draw_area_h; y++) { - 6c9c: 9b0b ldr r3, [sp, #44] ; 0x2c - 6c9e: 2b00 cmp r3, #0 - 6ca0: dc00 bgt.n 6ca4 <_lv_blend_map+0x3bc> - 6ca2: e637 b.n 6914 <_lv_blend_map+0x2c> + 6d04: 9b0b ldr r3, [sp, #44] ; 0x2c + 6d06: 2b00 cmp r3, #0 + 6d08: dc00 bgt.n 6d0c <_lv_blend_map+0x3bc> + 6d0a: e637 b.n 697c <_lv_blend_map+0x2c> _lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t)); - 6ca4: 9b0c ldr r3, [sp, #48] ; 0x30 - 6ca6: 005c lsls r4, r3, #1 + 6d0c: 9b0c ldr r3, [sp, #48] ; 0x30 + 6d0e: 005c lsls r4, r3, #1 disp_buf_first += disp_w; - 6ca8: 4643 mov r3, r8 - 6caa: 005b lsls r3, r3, #1 - 6cac: 4698 mov r8, r3 + 6d10: 4643 mov r3, r8 + 6d12: 005b lsls r3, r3, #1 + 6d14: 4698 mov r8, r3 map_buf_first += map_w; - 6cae: 0076 lsls r6, r6, #1 - 6cb0: 2500 movs r5, #0 + 6d16: 0076 lsls r6, r6, #1 + 6d18: 2500 movs r5, #0 _lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t)); - 6cb2: 4f80 ldr r7, [pc, #512] ; (6eb4 <_lv_blend_map+0x5cc>) - 6cb4: 0022 movs r2, r4 - 6cb6: 9b09 ldr r3, [sp, #36] ; 0x24 - 6cb8: 469a mov sl, r3 - 6cba: 0019 movs r1, r3 - 6cbc: 9b08 ldr r3, [sp, #32] - 6cbe: 4699 mov r9, r3 - 6cc0: 0018 movs r0, r3 - 6cc2: 47b8 blx r7 + 6d1a: 4f80 ldr r7, [pc, #512] ; (6f1c <_lv_blend_map+0x5cc>) + 6d1c: 0022 movs r2, r4 + 6d1e: 9b09 ldr r3, [sp, #36] ; 0x24 + 6d20: 469a mov sl, r3 + 6d22: 0019 movs r1, r3 + 6d24: 9b08 ldr r3, [sp, #32] + 6d26: 4699 mov r9, r3 + 6d28: 0018 movs r0, r3 + 6d2a: 47b8 blx r7 disp_buf_first += disp_w; - 6cc4: 464b mov r3, r9 - 6cc6: 4443 add r3, r8 - 6cc8: 9308 str r3, [sp, #32] + 6d2c: 464b mov r3, r9 + 6d2e: 4443 add r3, r8 + 6d30: 9308 str r3, [sp, #32] map_buf_first += map_w; - 6cca: 46d4 mov ip, sl - 6ccc: 44b4 add ip, r6 - 6cce: 4663 mov r3, ip - 6cd0: 9309 str r3, [sp, #36] ; 0x24 + 6d32: 46d4 mov ip, sl + 6d34: 44b4 add ip, r6 + 6d36: 4663 mov r3, ip + 6d38: 9309 str r3, [sp, #36] ; 0x24 for(y = 0; y < draw_area_h; y++) { - 6cd2: 3501 adds r5, #1 - 6cd4: 9b0b ldr r3, [sp, #44] ; 0x2c - 6cd6: 42ab cmp r3, r5 - 6cd8: dcec bgt.n 6cb4 <_lv_blend_map+0x3cc> - 6cda: e61b b.n 6914 <_lv_blend_map+0x2c> + 6d3a: 3501 adds r5, #1 + 6d3c: 9b0b ldr r3, [sp, #44] ; 0x2c + 6d3e: 42ab cmp r3, r5 + 6d40: dcec bgt.n 6d1c <_lv_blend_map+0x3cc> + 6d42: e61b b.n 697c <_lv_blend_map+0x2c> disp_buf_first += disp_w; - 6cdc: 9b08 ldr r3, [sp, #32] - 6cde: 9a0a ldr r2, [sp, #40] ; 0x28 - 6ce0: 4693 mov fp, r2 - 6ce2: 445b add r3, fp - 6ce4: 9308 str r3, [sp, #32] + 6d44: 9b08 ldr r3, [sp, #32] + 6d46: 9a0a ldr r2, [sp, #40] ; 0x28 + 6d48: 4693 mov fp, r2 + 6d4a: 445b add r3, fp + 6d4c: 9308 str r3, [sp, #32] map_buf_first += map_w; - 6ce6: 9b09 ldr r3, [sp, #36] ; 0x24 - 6ce8: 9a0d ldr r2, [sp, #52] ; 0x34 - 6cea: 4693 mov fp, r2 - 6cec: 445b add r3, fp - 6cee: 9309 str r3, [sp, #36] ; 0x24 + 6d4e: 9b09 ldr r3, [sp, #36] ; 0x24 + 6d50: 9a0d ldr r2, [sp, #52] ; 0x34 + 6d52: 4693 mov fp, r2 + 6d54: 445b add r3, fp + 6d56: 9309 str r3, [sp, #36] ; 0x24 for(y = 0; y < draw_area_h; y++) { - 6cf0: 9b07 ldr r3, [sp, #28] - 6cf2: 3301 adds r3, #1 - 6cf4: 9307 str r3, [sp, #28] - 6cf6: 9a0b ldr r2, [sp, #44] ; 0x2c - 6cf8: 429a cmp r2, r3 - 6cfa: dc00 bgt.n 6cfe <_lv_blend_map+0x416> - 6cfc: e60a b.n 6914 <_lv_blend_map+0x2c> + 6d58: 9b07 ldr r3, [sp, #28] + 6d5a: 3301 adds r3, #1 + 6d5c: 9307 str r3, [sp, #28] + 6d5e: 9a0b ldr r2, [sp, #44] ; 0x2c + 6d60: 429a cmp r2, r3 + 6d62: dc00 bgt.n 6d66 <_lv_blend_map+0x416> + 6d64: e60a b.n 697c <_lv_blend_map+0x2c> for(x = 0; x < draw_area_w; x++) { - 6cfe: 9b06 ldr r3, [sp, #24] - 6d00: 2b00 cmp r3, #0 - 6d02: ddeb ble.n 6cdc <_lv_blend_map+0x3f4> - 6d04: 9b09 ldr r3, [sp, #36] ; 0x24 - 6d06: 001e movs r6, r3 - 6d08: 9d08 ldr r5, [sp, #32] - 6d0a: 9a0c ldr r2, [sp, #48] ; 0x30 - 6d0c: 4693 mov fp, r2 - 6d0e: 445b add r3, fp - 6d10: 469b mov fp, r3 - 6d12: 4641 mov r1, r8 + 6d66: 9b06 ldr r3, [sp, #24] + 6d68: 2b00 cmp r3, #0 + 6d6a: ddeb ble.n 6d44 <_lv_blend_map+0x3f4> + 6d6c: 9b09 ldr r3, [sp, #36] ; 0x24 + 6d6e: 001e movs r6, r3 + 6d70: 9d08 ldr r5, [sp, #32] + 6d72: 9a0c ldr r2, [sp, #48] ; 0x30 + 6d74: 4693 mov fp, r2 + 6d76: 445b add r3, fp + 6d78: 469b mov fp, r3 + 6d7a: 4641 mov r1, r8 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 6d14: 7873 ldrb r3, [r6, #1] - 6d16: 08db lsrs r3, r3, #3 - 6d18: 437b muls r3, r7 - 6d1a: 786a ldrb r2, [r5, #1] - 6d1c: 08d2 lsrs r2, r2, #3 - 6d1e: 434a muls r2, r1 - 6d20: 189a adds r2, r3, r2 - 6d22: 0213 lsls r3, r2, #8 - 6d24: 189b adds r3, r3, r2 - 6d26: 01db lsls r3, r3, #7 - 6d28: 189b adds r3, r3, r2 - 6d2a: 0ddb lsrs r3, r3, #23 - 6d2c: 4662 mov r2, ip - 6d2e: 4013 ands r3, r2 - 6d30: 9305 str r3, [sp, #20] + 6d7c: 7873 ldrb r3, [r6, #1] + 6d7e: 08db lsrs r3, r3, #3 + 6d80: 437b muls r3, r7 + 6d82: 786a ldrb r2, [r5, #1] + 6d84: 08d2 lsrs r2, r2, #3 + 6d86: 434a muls r2, r1 + 6d88: 189a adds r2, r3, r2 + 6d8a: 0213 lsls r3, r2, #8 + 6d8c: 189b adds r3, r3, r2 + 6d8e: 01db lsls r3, r3, #7 + 6d90: 189b adds r3, r3, r2 + 6d92: 0ddb lsrs r3, r3, #23 + 6d94: 4662 mov r2, ip + 6d96: 4013 ands r3, r2 + 6d98: 9305 str r3, [sp, #20] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6d32: 8832 ldrh r2, [r6, #0] - 6d34: 0552 lsls r2, r2, #21 - 6d36: 0e92 lsrs r2, r2, #26 - 6d38: 437a muls r2, r7 - 6d3a: 882c ldrh r4, [r5, #0] - 6d3c: 0564 lsls r4, r4, #21 - 6d3e: 0ea4 lsrs r4, r4, #26 - 6d40: 434c muls r4, r1 - 6d42: 1914 adds r4, r2, r4 - 6d44: 0222 lsls r2, r4, #8 - 6d46: 1912 adds r2, r2, r4 - 6d48: 01d2 lsls r2, r2, #7 - 6d4a: 1912 adds r2, r2, r4 - 6d4c: 0dd2 lsrs r2, r2, #23 + 6d9a: 8832 ldrh r2, [r6, #0] + 6d9c: 0552 lsls r2, r2, #21 + 6d9e: 0e92 lsrs r2, r2, #26 + 6da0: 437a muls r2, r7 + 6da2: 882c ldrh r4, [r5, #0] + 6da4: 0564 lsls r4, r4, #21 + 6da6: 0ea4 lsrs r4, r4, #26 + 6da8: 434c muls r4, r1 + 6daa: 1914 adds r4, r2, r4 + 6dac: 0222 lsls r2, r4, #8 + 6dae: 1912 adds r2, r2, r4 + 6db0: 01d2 lsls r2, r2, #7 + 6db2: 1912 adds r2, r2, r4 + 6db4: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 6d4e: 7834 ldrb r4, [r6, #0] - 6d50: 06e4 lsls r4, r4, #27 - 6d52: 0ee4 lsrs r4, r4, #27 - 6d54: 437c muls r4, r7 - 6d56: 7828 ldrb r0, [r5, #0] - 6d58: 4680 mov r8, r0 - 6d5a: 06c0 lsls r0, r0, #27 - 6d5c: 0ec0 lsrs r0, r0, #27 - 6d5e: 4348 muls r0, r1 - 6d60: 1820 adds r0, r4, r0 - 6d62: 0204 lsls r4, r0, #8 - 6d64: 1824 adds r4, r4, r0 - 6d66: 01e4 lsls r4, r4, #7 - 6d68: 1824 adds r4, r4, r0 - 6d6a: 0de4 lsrs r4, r4, #23 + 6db6: 7834 ldrb r4, [r6, #0] + 6db8: 06e4 lsls r4, r4, #27 + 6dba: 0ee4 lsrs r4, r4, #27 + 6dbc: 437c muls r4, r7 + 6dbe: 7828 ldrb r0, [r5, #0] + 6dc0: 4680 mov r8, r0 + 6dc2: 06c0 lsls r0, r0, #27 + 6dc4: 0ec0 lsrs r0, r0, #27 + 6dc6: 4348 muls r0, r1 + 6dc8: 1820 adds r0, r4, r0 + 6dca: 0204 lsls r4, r0, #8 + 6dcc: 1824 adds r4, r4, r0 + 6dce: 01e4 lsls r4, r4, #7 + 6dd0: 1824 adds r4, r4, r0 + 6dd2: 0de4 lsrs r4, r4, #23 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa); - 6d6c: 4660 mov r0, ip - 6d6e: 4004 ands r4, r0 - 6d70: 4640 mov r0, r8 - 6d72: 4663 mov r3, ip - 6d74: 4398 bics r0, r3 - 6d76: 4304 orrs r4, r0 - 6d78: 702c strb r4, [r5, #0] - 6d7a: 464b mov r3, r9 - 6d7c: 401a ands r2, r3 - 6d7e: 0154 lsls r4, r2, #5 - 6d80: 882a ldrh r2, [r5, #0] - 6d82: 4653 mov r3, sl - 6d84: 401a ands r2, r3 - 6d86: 4322 orrs r2, r4 - 6d88: 802a strh r2, [r5, #0] - 6d8a: 9b05 ldr r3, [sp, #20] - 6d8c: 00db lsls r3, r3, #3 - 6d8e: 0a12 lsrs r2, r2, #8 - 6d90: 2007 movs r0, #7 - 6d92: 4002 ands r2, r0 - 6d94: 4313 orrs r3, r2 - 6d96: 706b strb r3, [r5, #1] - 6d98: 3602 adds r6, #2 - 6d9a: 3502 adds r5, #2 + 6dd4: 4660 mov r0, ip + 6dd6: 4004 ands r4, r0 + 6dd8: 4640 mov r0, r8 + 6dda: 4663 mov r3, ip + 6ddc: 4398 bics r0, r3 + 6dde: 4304 orrs r4, r0 + 6de0: 702c strb r4, [r5, #0] + 6de2: 464b mov r3, r9 + 6de4: 401a ands r2, r3 + 6de6: 0154 lsls r4, r2, #5 + 6de8: 882a ldrh r2, [r5, #0] + 6dea: 4653 mov r3, sl + 6dec: 401a ands r2, r3 + 6dee: 4322 orrs r2, r4 + 6df0: 802a strh r2, [r5, #0] + 6df2: 9b05 ldr r3, [sp, #20] + 6df4: 00db lsls r3, r3, #3 + 6df6: 0a12 lsrs r2, r2, #8 + 6df8: 2007 movs r0, #7 + 6dfa: 4002 ands r2, r0 + 6dfc: 4313 orrs r3, r2 + 6dfe: 706b strb r3, [r5, #1] + 6e00: 3602 adds r6, #2 + 6e02: 3502 adds r5, #2 for(x = 0; x < draw_area_w; x++) { - 6d9c: 455e cmp r6, fp - 6d9e: d1b9 bne.n 6d14 <_lv_blend_map+0x42c> - 6da0: 4688 mov r8, r1 - 6da2: e79b b.n 6cdc <_lv_blend_map+0x3f4> + 6e04: 455e cmp r6, fp + 6e06: d1b9 bne.n 6d7c <_lv_blend_map+0x42c> + 6e08: 4688 mov r8, r1 + 6e0a: e79b b.n 6d44 <_lv_blend_map+0x3f4> int32_t x_end4 = draw_area_w - 4; - 6da4: 9b0c ldr r3, [sp, #48] ; 0x30 - 6da6: 3b04 subs r3, #4 - 6da8: 9307 str r3, [sp, #28] + 6e0c: 9b0c ldr r3, [sp, #48] ; 0x30 + 6e0e: 3b04 subs r3, #4 + 6e10: 9307 str r3, [sp, #28] for(y = 0; y < draw_area_h; y++) { - 6daa: 9b0b ldr r3, [sp, #44] ; 0x2c - 6dac: 2b00 cmp r3, #0 - 6dae: dc00 bgt.n 6db2 <_lv_blend_map+0x4ca> - 6db0: e5b0 b.n 6914 <_lv_blend_map+0x2c> + 6e12: 9b0b ldr r3, [sp, #44] ; 0x2c + 6e14: 2b00 cmp r3, #0 + 6e16: dc00 bgt.n 6e1a <_lv_blend_map+0x4ca> + 6e18: e5b0 b.n 697c <_lv_blend_map+0x2c> disp_buf_first += disp_w; - 6db2: 4643 mov r3, r8 - 6db4: 005b lsls r3, r3, #1 - 6db6: 930e str r3, [sp, #56] ; 0x38 + 6e1a: 4643 mov r3, r8 + 6e1c: 005b lsls r3, r3, #1 + 6e1e: 930e str r3, [sp, #56] ; 0x38 map_buf_first += map_w; - 6db8: 0073 lsls r3, r6, #1 - 6dba: 930f str r3, [sp, #60] ; 0x3c - 6dbc: 950a str r5, [sp, #40] ; 0x28 - 6dbe: 2300 movs r3, #0 - 6dc0: 930d str r3, [sp, #52] ; 0x34 + 6e20: 0073 lsls r3, r6, #1 + 6e22: 930f str r3, [sp, #60] ; 0x3c + 6e24: 950a str r5, [sp, #40] ; 0x28 + 6e26: 2300 movs r3, #0 + 6e28: 930d str r3, [sp, #52] ; 0x34 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 6dc2: 331f adds r3, #31 - 6dc4: 469b mov fp, r3 - 6dc6: 9b06 ldr r3, [sp, #24] - 6dc8: 4699 mov r9, r3 - 6dca: e3a6 b.n 751a <_lv_blend_map+0xc32> + 6e2a: 331f adds r3, #31 + 6e2c: 469b mov fp, r3 + 6e2e: 9b06 ldr r3, [sp, #24] + 6e30: 4699 mov r9, r3 + 6e32: e3a6 b.n 7582 <_lv_blend_map+0xc32> MAP_NORMAL_MASK_PX(x) - 6dcc: 8803 ldrh r3, [r0, #0] - 6dce: 800b strh r3, [r1, #0] - 6dd0: 3701 adds r7, #1 + 6e34: 8803 ldrh r3, [r0, #0] + 6e36: 800b strh r3, [r1, #0] + 6e38: 3701 adds r7, #1 for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 6dd2: 3601 adds r6, #1 - 6dd4: 9b05 ldr r3, [sp, #20] - 6dd6: 42b3 cmp r3, r6 - 6dd8: dc00 bgt.n 6ddc <_lv_blend_map+0x4f4> - 6dda: e381 b.n 74e0 <_lv_blend_map+0xbf8> - 6ddc: 3002 adds r0, #2 - 6dde: 3102 adds r1, #2 - 6de0: 2303 movs r3, #3 - 6de2: 421f tst r7, r3 - 6de4: d053 beq.n 6e8e <_lv_blend_map+0x5a6> + 6e3a: 3601 adds r6, #1 + 6e3c: 9b05 ldr r3, [sp, #20] + 6e3e: 42b3 cmp r3, r6 + 6e40: dc00 bgt.n 6e44 <_lv_blend_map+0x4f4> + 6e42: e381 b.n 7548 <_lv_blend_map+0xbf8> + 6e44: 3002 adds r0, #2 + 6e46: 3102 adds r1, #2 + 6e48: 2303 movs r3, #3 + 6e4a: 421f tst r7, r3 + 6e4c: d053 beq.n 6ef6 <_lv_blend_map+0x5a6> MAP_NORMAL_MASK_PX(x) - 6de6: 783d ldrb r5, [r7, #0] - 6de8: 2d00 cmp r5, #0 - 6dea: d0f1 beq.n 6dd0 <_lv_blend_map+0x4e8> - 6dec: 2dff cmp r5, #255 ; 0xff - 6dee: d0ed beq.n 6dcc <_lv_blend_map+0x4e4> - 6df0: 23ff movs r3, #255 ; 0xff - 6df2: 1b5b subs r3, r3, r5 - 6df4: 4699 mov r9, r3 - 6df6: 7843 ldrb r3, [r0, #1] - 6df8: 08db lsrs r3, r3, #3 - 6dfa: 436b muls r3, r5 - 6dfc: 784a ldrb r2, [r1, #1] - 6dfe: 08d2 lsrs r2, r2, #3 - 6e00: 464c mov r4, r9 - 6e02: 4362 muls r2, r4 - 6e04: 189a adds r2, r3, r2 - 6e06: 0213 lsls r3, r2, #8 - 6e08: 189b adds r3, r3, r2 - 6e0a: 01db lsls r3, r3, #7 - 6e0c: 189b adds r3, r3, r2 - 6e0e: 0ddb lsrs r3, r3, #23 - 6e10: 465a mov r2, fp - 6e12: 4013 ands r3, r2 - 6e14: 9306 str r3, [sp, #24] + 6e4e: 783d ldrb r5, [r7, #0] + 6e50: 2d00 cmp r5, #0 + 6e52: d0f1 beq.n 6e38 <_lv_blend_map+0x4e8> + 6e54: 2dff cmp r5, #255 ; 0xff + 6e56: d0ed beq.n 6e34 <_lv_blend_map+0x4e4> + 6e58: 23ff movs r3, #255 ; 0xff + 6e5a: 1b5b subs r3, r3, r5 + 6e5c: 4699 mov r9, r3 + 6e5e: 7843 ldrb r3, [r0, #1] + 6e60: 08db lsrs r3, r3, #3 + 6e62: 436b muls r3, r5 + 6e64: 784a ldrb r2, [r1, #1] + 6e66: 08d2 lsrs r2, r2, #3 + 6e68: 464c mov r4, r9 + 6e6a: 4362 muls r2, r4 + 6e6c: 189a adds r2, r3, r2 + 6e6e: 0213 lsls r3, r2, #8 + 6e70: 189b adds r3, r3, r2 + 6e72: 01db lsls r3, r3, #7 + 6e74: 189b adds r3, r3, r2 + 6e76: 0ddb lsrs r3, r3, #23 + 6e78: 465a mov r2, fp + 6e7a: 4013 ands r3, r2 + 6e7c: 9306 str r3, [sp, #24] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6e16: 8802 ldrh r2, [r0, #0] - 6e18: 0552 lsls r2, r2, #21 - 6e1a: 0e92 lsrs r2, r2, #26 - 6e1c: 436a muls r2, r5 - 6e1e: 4694 mov ip, r2 - 6e20: 880a ldrh r2, [r1, #0] - 6e22: 0552 lsls r2, r2, #21 - 6e24: 0e92 lsrs r2, r2, #26 - 6e26: 4362 muls r2, r4 - 6e28: 4462 add r2, ip - 6e2a: 0214 lsls r4, r2, #8 - 6e2c: 46a4 mov ip, r4 - 6e2e: 4494 add ip, r2 - 6e30: 4664 mov r4, ip - 6e32: 01e4 lsls r4, r4, #7 - 6e34: 46a4 mov ip, r4 - 6e36: 4462 add r2, ip - 6e38: 0dd2 lsrs r2, r2, #23 + 6e7e: 8802 ldrh r2, [r0, #0] + 6e80: 0552 lsls r2, r2, #21 + 6e82: 0e92 lsrs r2, r2, #26 + 6e84: 436a muls r2, r5 + 6e86: 4694 mov ip, r2 + 6e88: 880a ldrh r2, [r1, #0] + 6e8a: 0552 lsls r2, r2, #21 + 6e8c: 0e92 lsrs r2, r2, #26 + 6e8e: 4362 muls r2, r4 + 6e90: 4462 add r2, ip + 6e92: 0214 lsls r4, r2, #8 + 6e94: 46a4 mov ip, r4 + 6e96: 4494 add ip, r2 + 6e98: 4664 mov r4, ip + 6e9a: 01e4 lsls r4, r4, #7 + 6e9c: 46a4 mov ip, r4 + 6e9e: 4462 add r2, ip + 6ea0: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 6e3a: 7804 ldrb r4, [r0, #0] - 6e3c: 06e4 lsls r4, r4, #27 - 6e3e: 0ee4 lsrs r4, r4, #27 - 6e40: 4365 muls r5, r4 - 6e42: 780c ldrb r4, [r1, #0] - 6e44: 46a4 mov ip, r4 - 6e46: 06e4 lsls r4, r4, #27 - 6e48: 0ee4 lsrs r4, r4, #27 - 6e4a: 46a0 mov r8, r4 - 6e4c: 464c mov r4, r9 - 6e4e: 4643 mov r3, r8 - 6e50: 435c muls r4, r3 - 6e52: 46a0 mov r8, r4 - 6e54: 44a8 add r8, r5 - 6e56: 4643 mov r3, r8 - 6e58: 021d lsls r5, r3, #8 - 6e5a: 4445 add r5, r8 - 6e5c: 01ed lsls r5, r5, #7 - 6e5e: 4445 add r5, r8 - 6e60: 0ded lsrs r5, r5, #23 - 6e62: 465b mov r3, fp - 6e64: 401d ands r5, r3 - 6e66: 4664 mov r4, ip - 6e68: 439c bics r4, r3 - 6e6a: 4325 orrs r5, r4 - 6e6c: 700d strb r5, [r1, #0] - 6e6e: 233f movs r3, #63 ; 0x3f - 6e70: 401a ands r2, r3 - 6e72: 0155 lsls r5, r2, #5 - 6e74: 880a ldrh r2, [r1, #0] - 6e76: 4653 mov r3, sl - 6e78: 401a ands r2, r3 - 6e7a: 432a orrs r2, r5 - 6e7c: 800a strh r2, [r1, #0] - 6e7e: 9b06 ldr r3, [sp, #24] - 6e80: 00db lsls r3, r3, #3 - 6e82: 0a12 lsrs r2, r2, #8 - 6e84: 2407 movs r4, #7 - 6e86: 4022 ands r2, r4 - 6e88: 4313 orrs r3, r2 - 6e8a: 704b strb r3, [r1, #1] - 6e8c: e7a0 b.n 6dd0 <_lv_blend_map+0x4e8> - 6e8e: 9b05 ldr r3, [sp, #20] - 6e90: 4699 mov r9, r3 + 6ea2: 7804 ldrb r4, [r0, #0] + 6ea4: 06e4 lsls r4, r4, #27 + 6ea6: 0ee4 lsrs r4, r4, #27 + 6ea8: 4365 muls r5, r4 + 6eaa: 780c ldrb r4, [r1, #0] + 6eac: 46a4 mov ip, r4 + 6eae: 06e4 lsls r4, r4, #27 + 6eb0: 0ee4 lsrs r4, r4, #27 + 6eb2: 46a0 mov r8, r4 + 6eb4: 464c mov r4, r9 + 6eb6: 4643 mov r3, r8 + 6eb8: 435c muls r4, r3 + 6eba: 46a0 mov r8, r4 + 6ebc: 44a8 add r8, r5 + 6ebe: 4643 mov r3, r8 + 6ec0: 021d lsls r5, r3, #8 + 6ec2: 4445 add r5, r8 + 6ec4: 01ed lsls r5, r5, #7 + 6ec6: 4445 add r5, r8 + 6ec8: 0ded lsrs r5, r5, #23 + 6eca: 465b mov r3, fp + 6ecc: 401d ands r5, r3 + 6ece: 4664 mov r4, ip + 6ed0: 439c bics r4, r3 + 6ed2: 4325 orrs r5, r4 + 6ed4: 700d strb r5, [r1, #0] + 6ed6: 233f movs r3, #63 ; 0x3f + 6ed8: 401a ands r2, r3 + 6eda: 0155 lsls r5, r2, #5 + 6edc: 880a ldrh r2, [r1, #0] + 6ede: 4653 mov r3, sl + 6ee0: 401a ands r2, r3 + 6ee2: 432a orrs r2, r5 + 6ee4: 800a strh r2, [r1, #0] + 6ee6: 9b06 ldr r3, [sp, #24] + 6ee8: 00db lsls r3, r3, #3 + 6eea: 0a12 lsrs r2, r2, #8 + 6eec: 2407 movs r4, #7 + 6eee: 4022 ands r2, r4 + 6ef0: 4313 orrs r3, r2 + 6ef2: 704b strb r3, [r1, #1] + 6ef4: e7a0 b.n 6e38 <_lv_blend_map+0x4e8> + 6ef6: 9b05 ldr r3, [sp, #20] + 6ef8: 4699 mov r9, r3 for(; x < x_end4; x += 4) { - 6e92: 9b07 ldr r3, [sp, #28] - 6e94: 42b3 cmp r3, r6 - 6e96: dc00 bgt.n 6e9a <_lv_blend_map+0x5b2> - 6e98: e319 b.n 74ce <_lv_blend_map+0xbe6> - 6e9a: 0070 lsls r0, r6, #1 - 6e9c: 9b09 ldr r3, [sp, #36] ; 0x24 - 6e9e: 181c adds r4, r3, r0 - 6ea0: 9b08 ldr r3, [sp, #32] - 6ea2: 469c mov ip, r3 - 6ea4: 4460 add r0, ip + 6efa: 9b07 ldr r3, [sp, #28] + 6efc: 42b3 cmp r3, r6 + 6efe: dc00 bgt.n 6f02 <_lv_blend_map+0x5b2> + 6f00: e319 b.n 7536 <_lv_blend_map+0xbe6> + 6f02: 0070 lsls r0, r6, #1 + 6f04: 9b09 ldr r3, [sp, #36] ; 0x24 + 6f06: 181c adds r4, r3, r0 + 6f08: 9b08 ldr r3, [sp, #32] + 6f0a: 469c mov ip, r3 + 6f0c: 4460 add r0, ip MAP_NORMAL_MASK_PX(x + 3) - 6ea6: 4b04 ldr r3, [pc, #16] ; (6eb8 <_lv_blend_map+0x5d0>) - 6ea8: 469a mov sl, r3 - 6eaa: 464b mov r3, r9 - 6eac: 9306 str r3, [sp, #24] - 6eae: 9605 str r6, [sp, #20] - 6eb0: e016 b.n 6ee0 <_lv_blend_map+0x5f8> - 6eb2: 46c0 nop ; (mov r8, r8) - 6eb4: 00010c25 .word 0x00010c25 - 6eb8: fffff81f .word 0xfffff81f + 6f0e: 4b04 ldr r3, [pc, #16] ; (6f20 <_lv_blend_map+0x5d0>) + 6f10: 469a mov sl, r3 + 6f12: 464b mov r3, r9 + 6f14: 9306 str r3, [sp, #24] + 6f16: 9605 str r6, [sp, #20] + 6f18: e016 b.n 6f48 <_lv_blend_map+0x5f8> + 6f1a: 46c0 nop ; (mov r8, r8) + 6f1c: 00010c8d .word 0x00010c8d + 6f20: fffff81f .word 0xfffff81f disp_buf_first[x] = map_buf_first[x]; - 6ebc: 8823 ldrh r3, [r4, #0] - 6ebe: 8003 strh r3, [r0, #0] + 6f24: 8823 ldrh r3, [r4, #0] + 6f26: 8003 strh r3, [r0, #0] disp_buf_first[x + 1] = map_buf_first[x + 1]; - 6ec0: 8863 ldrh r3, [r4, #2] - 6ec2: 8043 strh r3, [r0, #2] + 6f28: 8863 ldrh r3, [r4, #2] + 6f2a: 8043 strh r3, [r0, #2] disp_buf_first[x + 2] = map_buf_first[x + 2]; - 6ec4: 88a3 ldrh r3, [r4, #4] - 6ec6: 8083 strh r3, [r0, #4] + 6f2c: 88a3 ldrh r3, [r4, #4] + 6f2e: 8083 strh r3, [r0, #4] disp_buf_first[x + 3] = map_buf_first[x + 3]; - 6ec8: 88e3 ldrh r3, [r4, #6] - 6eca: 80c3 strh r3, [r0, #6] + 6f30: 88e3 ldrh r3, [r4, #6] + 6f32: 80c3 strh r3, [r0, #6] mask32++; - 6ecc: 3704 adds r7, #4 + 6f34: 3704 adds r7, #4 for(; x < x_end4; x += 4) { - 6ece: 9a05 ldr r2, [sp, #20] - 6ed0: 3204 adds r2, #4 - 6ed2: 9205 str r2, [sp, #20] - 6ed4: 3408 adds r4, #8 - 6ed6: 3008 adds r0, #8 - 6ed8: 9b07 ldr r3, [sp, #28] - 6eda: 4293 cmp r3, r2 - 6edc: dc00 bgt.n 6ee0 <_lv_blend_map+0x5f8> - 6ede: e14b b.n 7178 <_lv_blend_map+0x890> + 6f36: 9a05 ldr r2, [sp, #20] + 6f38: 3204 adds r2, #4 + 6f3a: 9205 str r2, [sp, #20] + 6f3c: 3408 adds r4, #8 + 6f3e: 3008 adds r0, #8 + 6f40: 9b07 ldr r3, [sp, #28] + 6f42: 4293 cmp r3, r2 + 6f44: dc00 bgt.n 6f48 <_lv_blend_map+0x5f8> + 6f46: e14b b.n 71e0 <_lv_blend_map+0x890> if(*mask32) { - 6ee0: 683b ldr r3, [r7, #0] - 6ee2: 2b00 cmp r3, #0 - 6ee4: d0f2 beq.n 6ecc <_lv_blend_map+0x5e4> + 6f48: 683b ldr r3, [r7, #0] + 6f4a: 2b00 cmp r3, #0 + 6f4c: d0f2 beq.n 6f34 <_lv_blend_map+0x5e4> if((*mask32) == 0xFFFFFFFF) { - 6ee6: 3301 adds r3, #1 - 6ee8: d0e8 beq.n 6ebc <_lv_blend_map+0x5d4> + 6f4e: 3301 adds r3, #1 + 6f50: d0e8 beq.n 6f24 <_lv_blend_map+0x5d4> MAP_NORMAL_MASK_PX(x) - 6eea: 7839 ldrb r1, [r7, #0] - 6eec: 2900 cmp r1, #0 - 6eee: d049 beq.n 6f84 <_lv_blend_map+0x69c> - 6ef0: 29ff cmp r1, #255 ; 0xff - 6ef2: d100 bne.n 6ef6 <_lv_blend_map+0x60e> - 6ef4: e134 b.n 7160 <_lv_blend_map+0x878> + 6f52: 7839 ldrb r1, [r7, #0] + 6f54: 2900 cmp r1, #0 + 6f56: d049 beq.n 6fec <_lv_blend_map+0x69c> + 6f58: 29ff cmp r1, #255 ; 0xff + 6f5a: d100 bne.n 6f5e <_lv_blend_map+0x60e> + 6f5c: e134 b.n 71c8 <_lv_blend_map+0x878> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 6ef6: 23ff movs r3, #255 ; 0xff - 6ef8: 1a5d subs r5, r3, r1 - 6efa: 7862 ldrb r2, [r4, #1] - 6efc: 08d2 lsrs r2, r2, #3 - 6efe: 0013 movs r3, r2 - 6f00: 434b muls r3, r1 - 6f02: 7842 ldrb r2, [r0, #1] - 6f04: 08d2 lsrs r2, r2, #3 - 6f06: 436a muls r2, r5 - 6f08: 189a adds r2, r3, r2 - 6f0a: 0213 lsls r3, r2, #8 - 6f0c: 189b adds r3, r3, r2 - 6f0e: 01db lsls r3, r3, #7 - 6f10: 189b adds r3, r3, r2 - 6f12: 0ddb lsrs r3, r3, #23 - 6f14: 465a mov r2, fp - 6f16: 4013 ands r3, r2 + 6f5e: 23ff movs r3, #255 ; 0xff + 6f60: 1a5d subs r5, r3, r1 + 6f62: 7862 ldrb r2, [r4, #1] + 6f64: 08d2 lsrs r2, r2, #3 + 6f66: 0013 movs r3, r2 + 6f68: 434b muls r3, r1 + 6f6a: 7842 ldrb r2, [r0, #1] + 6f6c: 08d2 lsrs r2, r2, #3 + 6f6e: 436a muls r2, r5 + 6f70: 189a adds r2, r3, r2 + 6f72: 0213 lsls r3, r2, #8 + 6f74: 189b adds r3, r3, r2 + 6f76: 01db lsls r3, r3, #7 + 6f78: 189b adds r3, r3, r2 + 6f7a: 0ddb lsrs r3, r3, #23 + 6f7c: 465a mov r2, fp + 6f7e: 4013 ands r3, r2 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6f18: 8822 ldrh r2, [r4, #0] - 6f1a: 0552 lsls r2, r2, #21 - 6f1c: 0e92 lsrs r2, r2, #26 - 6f1e: 434a muls r2, r1 - 6f20: 4694 mov ip, r2 - 6f22: 8802 ldrh r2, [r0, #0] - 6f24: 0552 lsls r2, r2, #21 - 6f26: 0e92 lsrs r2, r2, #26 - 6f28: 436a muls r2, r5 - 6f2a: 4462 add r2, ip - 6f2c: 0216 lsls r6, r2, #8 - 6f2e: 46b4 mov ip, r6 - 6f30: 4494 add ip, r2 - 6f32: 4666 mov r6, ip - 6f34: 01f6 lsls r6, r6, #7 - 6f36: 46b4 mov ip, r6 - 6f38: 4462 add r2, ip - 6f3a: 0dd2 lsrs r2, r2, #23 + 6f80: 8822 ldrh r2, [r4, #0] + 6f82: 0552 lsls r2, r2, #21 + 6f84: 0e92 lsrs r2, r2, #26 + 6f86: 434a muls r2, r1 + 6f88: 4694 mov ip, r2 + 6f8a: 8802 ldrh r2, [r0, #0] + 6f8c: 0552 lsls r2, r2, #21 + 6f8e: 0e92 lsrs r2, r2, #26 + 6f90: 436a muls r2, r5 + 6f92: 4462 add r2, ip + 6f94: 0216 lsls r6, r2, #8 + 6f96: 46b4 mov ip, r6 + 6f98: 4494 add ip, r2 + 6f9a: 4666 mov r6, ip + 6f9c: 01f6 lsls r6, r6, #7 + 6f9e: 46b4 mov ip, r6 + 6fa0: 4462 add r2, ip + 6fa2: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 6f3c: 7826 ldrb r6, [r4, #0] - 6f3e: 06f6 lsls r6, r6, #27 - 6f40: 0ef6 lsrs r6, r6, #27 - 6f42: 4371 muls r1, r6 - 6f44: 7806 ldrb r6, [r0, #0] - 6f46: 46b4 mov ip, r6 - 6f48: 06f6 lsls r6, r6, #27 - 6f4a: 0ef6 lsrs r6, r6, #27 - 6f4c: 4375 muls r5, r6 - 6f4e: 194d adds r5, r1, r5 - 6f50: 0229 lsls r1, r5, #8 - 6f52: 1949 adds r1, r1, r5 - 6f54: 01c9 lsls r1, r1, #7 - 6f56: 1949 adds r1, r1, r5 - 6f58: 0dc9 lsrs r1, r1, #23 - 6f5a: 465d mov r5, fp - 6f5c: 4029 ands r1, r5 - 6f5e: 4665 mov r5, ip - 6f60: 465e mov r6, fp - 6f62: 43b5 bics r5, r6 - 6f64: 4329 orrs r1, r5 - 6f66: 7001 strb r1, [r0, #0] - 6f68: 213f movs r1, #63 ; 0x3f - 6f6a: 400a ands r2, r1 - 6f6c: 0151 lsls r1, r2, #5 - 6f6e: 8802 ldrh r2, [r0, #0] - 6f70: 4655 mov r5, sl - 6f72: 402a ands r2, r5 - 6f74: 430a orrs r2, r1 - 6f76: 8002 strh r2, [r0, #0] - 6f78: 00db lsls r3, r3, #3 - 6f7a: 0a12 lsrs r2, r2, #8 - 6f7c: 2107 movs r1, #7 - 6f7e: 400a ands r2, r1 - 6f80: 4313 orrs r3, r2 - 6f82: 7043 strb r3, [r0, #1] + 6fa4: 7826 ldrb r6, [r4, #0] + 6fa6: 06f6 lsls r6, r6, #27 + 6fa8: 0ef6 lsrs r6, r6, #27 + 6faa: 4371 muls r1, r6 + 6fac: 7806 ldrb r6, [r0, #0] + 6fae: 46b4 mov ip, r6 + 6fb0: 06f6 lsls r6, r6, #27 + 6fb2: 0ef6 lsrs r6, r6, #27 + 6fb4: 4375 muls r5, r6 + 6fb6: 194d adds r5, r1, r5 + 6fb8: 0229 lsls r1, r5, #8 + 6fba: 1949 adds r1, r1, r5 + 6fbc: 01c9 lsls r1, r1, #7 + 6fbe: 1949 adds r1, r1, r5 + 6fc0: 0dc9 lsrs r1, r1, #23 + 6fc2: 465d mov r5, fp + 6fc4: 4029 ands r1, r5 + 6fc6: 4665 mov r5, ip + 6fc8: 465e mov r6, fp + 6fca: 43b5 bics r5, r6 + 6fcc: 4329 orrs r1, r5 + 6fce: 7001 strb r1, [r0, #0] + 6fd0: 213f movs r1, #63 ; 0x3f + 6fd2: 400a ands r2, r1 + 6fd4: 0151 lsls r1, r2, #5 + 6fd6: 8802 ldrh r2, [r0, #0] + 6fd8: 4655 mov r5, sl + 6fda: 402a ands r2, r5 + 6fdc: 430a orrs r2, r1 + 6fde: 8002 strh r2, [r0, #0] + 6fe0: 00db lsls r3, r3, #3 + 6fe2: 0a12 lsrs r2, r2, #8 + 6fe4: 2107 movs r1, #7 + 6fe6: 400a ands r2, r1 + 6fe8: 4313 orrs r3, r2 + 6fea: 7043 strb r3, [r0, #1] MAP_NORMAL_MASK_PX(x + 1) - 6f84: 7879 ldrb r1, [r7, #1] - 6f86: 2900 cmp r1, #0 - 6f88: d04b beq.n 7022 <_lv_blend_map+0x73a> - 6f8a: 29ff cmp r1, #255 ; 0xff - 6f8c: d100 bne.n 6f90 <_lv_blend_map+0x6a8> - 6f8e: e0ea b.n 7166 <_lv_blend_map+0x87e> - 6f90: 1c83 adds r3, r0, #2 + 6fec: 7879 ldrb r1, [r7, #1] + 6fee: 2900 cmp r1, #0 + 6ff0: d04b beq.n 708a <_lv_blend_map+0x73a> + 6ff2: 29ff cmp r1, #255 ; 0xff + 6ff4: d100 bne.n 6ff8 <_lv_blend_map+0x6a8> + 6ff6: e0ea b.n 71ce <_lv_blend_map+0x87e> + 6ff8: 1c83 adds r3, r0, #2 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 6f92: 22ff movs r2, #255 ; 0xff - 6f94: 1a55 subs r5, r2, r1 - 6f96: 78e2 ldrb r2, [r4, #3] - 6f98: 08d2 lsrs r2, r2, #3 - 6f9a: 434a muls r2, r1 - 6f9c: 4698 mov r8, r3 - 6f9e: 78c3 ldrb r3, [r0, #3] - 6fa0: 08db lsrs r3, r3, #3 - 6fa2: 436b muls r3, r5 - 6fa4: 18d2 adds r2, r2, r3 - 6fa6: 0213 lsls r3, r2, #8 - 6fa8: 189b adds r3, r3, r2 - 6faa: 01db lsls r3, r3, #7 - 6fac: 189b adds r3, r3, r2 - 6fae: 0ddb lsrs r3, r3, #23 - 6fb0: 465a mov r2, fp - 6fb2: 4013 ands r3, r2 + 6ffa: 22ff movs r2, #255 ; 0xff + 6ffc: 1a55 subs r5, r2, r1 + 6ffe: 78e2 ldrb r2, [r4, #3] + 7000: 08d2 lsrs r2, r2, #3 + 7002: 434a muls r2, r1 + 7004: 4698 mov r8, r3 + 7006: 78c3 ldrb r3, [r0, #3] + 7008: 08db lsrs r3, r3, #3 + 700a: 436b muls r3, r5 + 700c: 18d2 adds r2, r2, r3 + 700e: 0213 lsls r3, r2, #8 + 7010: 189b adds r3, r3, r2 + 7012: 01db lsls r3, r3, #7 + 7014: 189b adds r3, r3, r2 + 7016: 0ddb lsrs r3, r3, #23 + 7018: 465a mov r2, fp + 701a: 4013 ands r3, r2 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 6fb4: 8862 ldrh r2, [r4, #2] - 6fb6: 0552 lsls r2, r2, #21 - 6fb8: 0e92 lsrs r2, r2, #26 - 6fba: 434a muls r2, r1 - 6fbc: 4694 mov ip, r2 - 6fbe: 8842 ldrh r2, [r0, #2] - 6fc0: 0552 lsls r2, r2, #21 - 6fc2: 0e92 lsrs r2, r2, #26 - 6fc4: 436a muls r2, r5 - 6fc6: 4462 add r2, ip - 6fc8: 0216 lsls r6, r2, #8 - 6fca: 46b4 mov ip, r6 - 6fcc: 4494 add ip, r2 - 6fce: 4666 mov r6, ip - 6fd0: 01f6 lsls r6, r6, #7 - 6fd2: 46b4 mov ip, r6 - 6fd4: 4462 add r2, ip - 6fd6: 0dd2 lsrs r2, r2, #23 + 701c: 8862 ldrh r2, [r4, #2] + 701e: 0552 lsls r2, r2, #21 + 7020: 0e92 lsrs r2, r2, #26 + 7022: 434a muls r2, r1 + 7024: 4694 mov ip, r2 + 7026: 8842 ldrh r2, [r0, #2] + 7028: 0552 lsls r2, r2, #21 + 702a: 0e92 lsrs r2, r2, #26 + 702c: 436a muls r2, r5 + 702e: 4462 add r2, ip + 7030: 0216 lsls r6, r2, #8 + 7032: 46b4 mov ip, r6 + 7034: 4494 add ip, r2 + 7036: 4666 mov r6, ip + 7038: 01f6 lsls r6, r6, #7 + 703a: 46b4 mov ip, r6 + 703c: 4462 add r2, ip + 703e: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 6fd8: 78a6 ldrb r6, [r4, #2] - 6fda: 06f6 lsls r6, r6, #27 - 6fdc: 0ef6 lsrs r6, r6, #27 - 6fde: 4371 muls r1, r6 - 6fe0: 7886 ldrb r6, [r0, #2] - 6fe2: 46b4 mov ip, r6 - 6fe4: 06f6 lsls r6, r6, #27 - 6fe6: 0ef6 lsrs r6, r6, #27 - 6fe8: 4375 muls r5, r6 - 6fea: 194d adds r5, r1, r5 - 6fec: 0229 lsls r1, r5, #8 - 6fee: 1949 adds r1, r1, r5 - 6ff0: 01c9 lsls r1, r1, #7 - 6ff2: 1949 adds r1, r1, r5 - 6ff4: 0dc9 lsrs r1, r1, #23 - 6ff6: 465d mov r5, fp - 6ff8: 4029 ands r1, r5 - 6ffa: 4665 mov r5, ip - 6ffc: 465e mov r6, fp - 6ffe: 43b5 bics r5, r6 - 7000: 4329 orrs r1, r5 - 7002: 7081 strb r1, [r0, #2] - 7004: 213f movs r1, #63 ; 0x3f - 7006: 400a ands r2, r1 - 7008: 0151 lsls r1, r2, #5 - 700a: 8842 ldrh r2, [r0, #2] - 700c: 4655 mov r5, sl - 700e: 402a ands r2, r5 - 7010: 430a orrs r2, r1 - 7012: 8042 strh r2, [r0, #2] - 7014: 00db lsls r3, r3, #3 - 7016: 0a12 lsrs r2, r2, #8 - 7018: 2107 movs r1, #7 - 701a: 400a ands r2, r1 - 701c: 4313 orrs r3, r2 - 701e: 4642 mov r2, r8 - 7020: 7053 strb r3, [r2, #1] + 7040: 78a6 ldrb r6, [r4, #2] + 7042: 06f6 lsls r6, r6, #27 + 7044: 0ef6 lsrs r6, r6, #27 + 7046: 4371 muls r1, r6 + 7048: 7886 ldrb r6, [r0, #2] + 704a: 46b4 mov ip, r6 + 704c: 06f6 lsls r6, r6, #27 + 704e: 0ef6 lsrs r6, r6, #27 + 7050: 4375 muls r5, r6 + 7052: 194d adds r5, r1, r5 + 7054: 0229 lsls r1, r5, #8 + 7056: 1949 adds r1, r1, r5 + 7058: 01c9 lsls r1, r1, #7 + 705a: 1949 adds r1, r1, r5 + 705c: 0dc9 lsrs r1, r1, #23 + 705e: 465d mov r5, fp + 7060: 4029 ands r1, r5 + 7062: 4665 mov r5, ip + 7064: 465e mov r6, fp + 7066: 43b5 bics r5, r6 + 7068: 4329 orrs r1, r5 + 706a: 7081 strb r1, [r0, #2] + 706c: 213f movs r1, #63 ; 0x3f + 706e: 400a ands r2, r1 + 7070: 0151 lsls r1, r2, #5 + 7072: 8842 ldrh r2, [r0, #2] + 7074: 4655 mov r5, sl + 7076: 402a ands r2, r5 + 7078: 430a orrs r2, r1 + 707a: 8042 strh r2, [r0, #2] + 707c: 00db lsls r3, r3, #3 + 707e: 0a12 lsrs r2, r2, #8 + 7080: 2107 movs r1, #7 + 7082: 400a ands r2, r1 + 7084: 4313 orrs r3, r2 + 7086: 4642 mov r2, r8 + 7088: 7053 strb r3, [r2, #1] MAP_NORMAL_MASK_PX(x + 2) - 7022: 78b9 ldrb r1, [r7, #2] - 7024: 2900 cmp r1, #0 - 7026: d04b beq.n 70c0 <_lv_blend_map+0x7d8> - 7028: 29ff cmp r1, #255 ; 0xff - 702a: d100 bne.n 702e <_lv_blend_map+0x746> - 702c: e09e b.n 716c <_lv_blend_map+0x884> - 702e: 1d03 adds r3, r0, #4 + 708a: 78b9 ldrb r1, [r7, #2] + 708c: 2900 cmp r1, #0 + 708e: d04b beq.n 7128 <_lv_blend_map+0x7d8> + 7090: 29ff cmp r1, #255 ; 0xff + 7092: d100 bne.n 7096 <_lv_blend_map+0x746> + 7094: e09e b.n 71d4 <_lv_blend_map+0x884> + 7096: 1d03 adds r3, r0, #4 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7030: 22ff movs r2, #255 ; 0xff - 7032: 1a55 subs r5, r2, r1 - 7034: 7962 ldrb r2, [r4, #5] - 7036: 08d2 lsrs r2, r2, #3 - 7038: 434a muls r2, r1 - 703a: 4698 mov r8, r3 - 703c: 7943 ldrb r3, [r0, #5] - 703e: 08db lsrs r3, r3, #3 - 7040: 436b muls r3, r5 - 7042: 18d2 adds r2, r2, r3 - 7044: 0213 lsls r3, r2, #8 - 7046: 189b adds r3, r3, r2 - 7048: 01db lsls r3, r3, #7 - 704a: 189b adds r3, r3, r2 - 704c: 0ddb lsrs r3, r3, #23 - 704e: 465a mov r2, fp - 7050: 4013 ands r3, r2 + 7098: 22ff movs r2, #255 ; 0xff + 709a: 1a55 subs r5, r2, r1 + 709c: 7962 ldrb r2, [r4, #5] + 709e: 08d2 lsrs r2, r2, #3 + 70a0: 434a muls r2, r1 + 70a2: 4698 mov r8, r3 + 70a4: 7943 ldrb r3, [r0, #5] + 70a6: 08db lsrs r3, r3, #3 + 70a8: 436b muls r3, r5 + 70aa: 18d2 adds r2, r2, r3 + 70ac: 0213 lsls r3, r2, #8 + 70ae: 189b adds r3, r3, r2 + 70b0: 01db lsls r3, r3, #7 + 70b2: 189b adds r3, r3, r2 + 70b4: 0ddb lsrs r3, r3, #23 + 70b6: 465a mov r2, fp + 70b8: 4013 ands r3, r2 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7052: 88a2 ldrh r2, [r4, #4] - 7054: 0552 lsls r2, r2, #21 - 7056: 0e92 lsrs r2, r2, #26 - 7058: 434a muls r2, r1 - 705a: 4694 mov ip, r2 - 705c: 8882 ldrh r2, [r0, #4] - 705e: 0552 lsls r2, r2, #21 - 7060: 0e92 lsrs r2, r2, #26 - 7062: 436a muls r2, r5 - 7064: 4462 add r2, ip - 7066: 0216 lsls r6, r2, #8 - 7068: 46b4 mov ip, r6 - 706a: 4494 add ip, r2 - 706c: 4666 mov r6, ip - 706e: 01f6 lsls r6, r6, #7 - 7070: 46b4 mov ip, r6 - 7072: 4462 add r2, ip - 7074: 0dd2 lsrs r2, r2, #23 + 70ba: 88a2 ldrh r2, [r4, #4] + 70bc: 0552 lsls r2, r2, #21 + 70be: 0e92 lsrs r2, r2, #26 + 70c0: 434a muls r2, r1 + 70c2: 4694 mov ip, r2 + 70c4: 8882 ldrh r2, [r0, #4] + 70c6: 0552 lsls r2, r2, #21 + 70c8: 0e92 lsrs r2, r2, #26 + 70ca: 436a muls r2, r5 + 70cc: 4462 add r2, ip + 70ce: 0216 lsls r6, r2, #8 + 70d0: 46b4 mov ip, r6 + 70d2: 4494 add ip, r2 + 70d4: 4666 mov r6, ip + 70d6: 01f6 lsls r6, r6, #7 + 70d8: 46b4 mov ip, r6 + 70da: 4462 add r2, ip + 70dc: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7076: 7926 ldrb r6, [r4, #4] - 7078: 06f6 lsls r6, r6, #27 - 707a: 0ef6 lsrs r6, r6, #27 - 707c: 4371 muls r1, r6 - 707e: 7906 ldrb r6, [r0, #4] - 7080: 46b4 mov ip, r6 - 7082: 06f6 lsls r6, r6, #27 - 7084: 0ef6 lsrs r6, r6, #27 - 7086: 4375 muls r5, r6 - 7088: 194d adds r5, r1, r5 - 708a: 0229 lsls r1, r5, #8 - 708c: 1949 adds r1, r1, r5 - 708e: 01c9 lsls r1, r1, #7 - 7090: 1949 adds r1, r1, r5 - 7092: 0dc9 lsrs r1, r1, #23 - 7094: 465d mov r5, fp - 7096: 4029 ands r1, r5 - 7098: 4665 mov r5, ip - 709a: 465e mov r6, fp - 709c: 43b5 bics r5, r6 - 709e: 4329 orrs r1, r5 - 70a0: 7101 strb r1, [r0, #4] - 70a2: 213f movs r1, #63 ; 0x3f - 70a4: 400a ands r2, r1 - 70a6: 0151 lsls r1, r2, #5 - 70a8: 8882 ldrh r2, [r0, #4] - 70aa: 4655 mov r5, sl - 70ac: 402a ands r2, r5 - 70ae: 430a orrs r2, r1 - 70b0: 8082 strh r2, [r0, #4] - 70b2: 00db lsls r3, r3, #3 - 70b4: 0a12 lsrs r2, r2, #8 - 70b6: 2107 movs r1, #7 - 70b8: 400a ands r2, r1 - 70ba: 4313 orrs r3, r2 - 70bc: 4642 mov r2, r8 - 70be: 7053 strb r3, [r2, #1] + 70de: 7926 ldrb r6, [r4, #4] + 70e0: 06f6 lsls r6, r6, #27 + 70e2: 0ef6 lsrs r6, r6, #27 + 70e4: 4371 muls r1, r6 + 70e6: 7906 ldrb r6, [r0, #4] + 70e8: 46b4 mov ip, r6 + 70ea: 06f6 lsls r6, r6, #27 + 70ec: 0ef6 lsrs r6, r6, #27 + 70ee: 4375 muls r5, r6 + 70f0: 194d adds r5, r1, r5 + 70f2: 0229 lsls r1, r5, #8 + 70f4: 1949 adds r1, r1, r5 + 70f6: 01c9 lsls r1, r1, #7 + 70f8: 1949 adds r1, r1, r5 + 70fa: 0dc9 lsrs r1, r1, #23 + 70fc: 465d mov r5, fp + 70fe: 4029 ands r1, r5 + 7100: 4665 mov r5, ip + 7102: 465e mov r6, fp + 7104: 43b5 bics r5, r6 + 7106: 4329 orrs r1, r5 + 7108: 7101 strb r1, [r0, #4] + 710a: 213f movs r1, #63 ; 0x3f + 710c: 400a ands r2, r1 + 710e: 0151 lsls r1, r2, #5 + 7110: 8882 ldrh r2, [r0, #4] + 7112: 4655 mov r5, sl + 7114: 402a ands r2, r5 + 7116: 430a orrs r2, r1 + 7118: 8082 strh r2, [r0, #4] + 711a: 00db lsls r3, r3, #3 + 711c: 0a12 lsrs r2, r2, #8 + 711e: 2107 movs r1, #7 + 7120: 400a ands r2, r1 + 7122: 4313 orrs r3, r2 + 7124: 4642 mov r2, r8 + 7126: 7053 strb r3, [r2, #1] MAP_NORMAL_MASK_PX(x + 3) - 70c0: 78f9 ldrb r1, [r7, #3] - 70c2: 2900 cmp r1, #0 - 70c4: d100 bne.n 70c8 <_lv_blend_map+0x7e0> - 70c6: e701 b.n 6ecc <_lv_blend_map+0x5e4> - 70c8: 29ff cmp r1, #255 ; 0xff - 70ca: d052 beq.n 7172 <_lv_blend_map+0x88a> - 70cc: 1d83 adds r3, r0, #6 + 7128: 78f9 ldrb r1, [r7, #3] + 712a: 2900 cmp r1, #0 + 712c: d100 bne.n 7130 <_lv_blend_map+0x7e0> + 712e: e701 b.n 6f34 <_lv_blend_map+0x5e4> + 7130: 29ff cmp r1, #255 ; 0xff + 7132: d052 beq.n 71da <_lv_blend_map+0x88a> + 7134: 1d83 adds r3, r0, #6 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 70ce: 22ff movs r2, #255 ; 0xff - 70d0: 1a55 subs r5, r2, r1 - 70d2: 79e2 ldrb r2, [r4, #7] - 70d4: 08d2 lsrs r2, r2, #3 - 70d6: 434a muls r2, r1 - 70d8: 4698 mov r8, r3 - 70da: 79c3 ldrb r3, [r0, #7] - 70dc: 08db lsrs r3, r3, #3 - 70de: 436b muls r3, r5 - 70e0: 18d2 adds r2, r2, r3 - 70e2: 0213 lsls r3, r2, #8 - 70e4: 189b adds r3, r3, r2 - 70e6: 01db lsls r3, r3, #7 - 70e8: 189b adds r3, r3, r2 - 70ea: 0ddb lsrs r3, r3, #23 - 70ec: 465a mov r2, fp - 70ee: 4013 ands r3, r2 + 7136: 22ff movs r2, #255 ; 0xff + 7138: 1a55 subs r5, r2, r1 + 713a: 79e2 ldrb r2, [r4, #7] + 713c: 08d2 lsrs r2, r2, #3 + 713e: 434a muls r2, r1 + 7140: 4698 mov r8, r3 + 7142: 79c3 ldrb r3, [r0, #7] + 7144: 08db lsrs r3, r3, #3 + 7146: 436b muls r3, r5 + 7148: 18d2 adds r2, r2, r3 + 714a: 0213 lsls r3, r2, #8 + 714c: 189b adds r3, r3, r2 + 714e: 01db lsls r3, r3, #7 + 7150: 189b adds r3, r3, r2 + 7152: 0ddb lsrs r3, r3, #23 + 7154: 465a mov r2, fp + 7156: 4013 ands r3, r2 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 70f0: 88e2 ldrh r2, [r4, #6] - 70f2: 0552 lsls r2, r2, #21 - 70f4: 0e92 lsrs r2, r2, #26 - 70f6: 434a muls r2, r1 - 70f8: 4694 mov ip, r2 - 70fa: 88c2 ldrh r2, [r0, #6] - 70fc: 0552 lsls r2, r2, #21 - 70fe: 0e92 lsrs r2, r2, #26 - 7100: 436a muls r2, r5 - 7102: 4462 add r2, ip - 7104: 0216 lsls r6, r2, #8 - 7106: 46b4 mov ip, r6 - 7108: 4494 add ip, r2 - 710a: 4666 mov r6, ip - 710c: 01f6 lsls r6, r6, #7 - 710e: 46b4 mov ip, r6 - 7110: 4462 add r2, ip - 7112: 0dd2 lsrs r2, r2, #23 + 7158: 88e2 ldrh r2, [r4, #6] + 715a: 0552 lsls r2, r2, #21 + 715c: 0e92 lsrs r2, r2, #26 + 715e: 434a muls r2, r1 + 7160: 4694 mov ip, r2 + 7162: 88c2 ldrh r2, [r0, #6] + 7164: 0552 lsls r2, r2, #21 + 7166: 0e92 lsrs r2, r2, #26 + 7168: 436a muls r2, r5 + 716a: 4462 add r2, ip + 716c: 0216 lsls r6, r2, #8 + 716e: 46b4 mov ip, r6 + 7170: 4494 add ip, r2 + 7172: 4666 mov r6, ip + 7174: 01f6 lsls r6, r6, #7 + 7176: 46b4 mov ip, r6 + 7178: 4462 add r2, ip + 717a: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7114: 79a6 ldrb r6, [r4, #6] - 7116: 06f6 lsls r6, r6, #27 - 7118: 0ef6 lsrs r6, r6, #27 - 711a: 4371 muls r1, r6 - 711c: 7986 ldrb r6, [r0, #6] - 711e: 46b4 mov ip, r6 - 7120: 06f6 lsls r6, r6, #27 - 7122: 0ef6 lsrs r6, r6, #27 - 7124: 4375 muls r5, r6 - 7126: 194d adds r5, r1, r5 - 7128: 0229 lsls r1, r5, #8 - 712a: 1949 adds r1, r1, r5 - 712c: 01c9 lsls r1, r1, #7 - 712e: 1949 adds r1, r1, r5 - 7130: 0dc9 lsrs r1, r1, #23 - 7132: 465d mov r5, fp - 7134: 4029 ands r1, r5 - 7136: 4665 mov r5, ip - 7138: 465e mov r6, fp - 713a: 43b5 bics r5, r6 - 713c: 4329 orrs r1, r5 - 713e: 7181 strb r1, [r0, #6] - 7140: 213f movs r1, #63 ; 0x3f - 7142: 400a ands r2, r1 - 7144: 0151 lsls r1, r2, #5 - 7146: 88c2 ldrh r2, [r0, #6] - 7148: 4655 mov r5, sl - 714a: 402a ands r2, r5 - 714c: 430a orrs r2, r1 - 714e: 80c2 strh r2, [r0, #6] - 7150: 00db lsls r3, r3, #3 - 7152: 0a12 lsrs r2, r2, #8 - 7154: 2107 movs r1, #7 - 7156: 400a ands r2, r1 - 7158: 4313 orrs r3, r2 - 715a: 4642 mov r2, r8 - 715c: 7053 strb r3, [r2, #1] - 715e: e6b5 b.n 6ecc <_lv_blend_map+0x5e4> + 717c: 79a6 ldrb r6, [r4, #6] + 717e: 06f6 lsls r6, r6, #27 + 7180: 0ef6 lsrs r6, r6, #27 + 7182: 4371 muls r1, r6 + 7184: 7986 ldrb r6, [r0, #6] + 7186: 46b4 mov ip, r6 + 7188: 06f6 lsls r6, r6, #27 + 718a: 0ef6 lsrs r6, r6, #27 + 718c: 4375 muls r5, r6 + 718e: 194d adds r5, r1, r5 + 7190: 0229 lsls r1, r5, #8 + 7192: 1949 adds r1, r1, r5 + 7194: 01c9 lsls r1, r1, #7 + 7196: 1949 adds r1, r1, r5 + 7198: 0dc9 lsrs r1, r1, #23 + 719a: 465d mov r5, fp + 719c: 4029 ands r1, r5 + 719e: 4665 mov r5, ip + 71a0: 465e mov r6, fp + 71a2: 43b5 bics r5, r6 + 71a4: 4329 orrs r1, r5 + 71a6: 7181 strb r1, [r0, #6] + 71a8: 213f movs r1, #63 ; 0x3f + 71aa: 400a ands r2, r1 + 71ac: 0151 lsls r1, r2, #5 + 71ae: 88c2 ldrh r2, [r0, #6] + 71b0: 4655 mov r5, sl + 71b2: 402a ands r2, r5 + 71b4: 430a orrs r2, r1 + 71b6: 80c2 strh r2, [r0, #6] + 71b8: 00db lsls r3, r3, #3 + 71ba: 0a12 lsrs r2, r2, #8 + 71bc: 2107 movs r1, #7 + 71be: 400a ands r2, r1 + 71c0: 4313 orrs r3, r2 + 71c2: 4642 mov r2, r8 + 71c4: 7053 strb r3, [r2, #1] + 71c6: e6b5 b.n 6f34 <_lv_blend_map+0x5e4> MAP_NORMAL_MASK_PX(x) - 7160: 8823 ldrh r3, [r4, #0] - 7162: 8003 strh r3, [r0, #0] - 7164: e70e b.n 6f84 <_lv_blend_map+0x69c> + 71c8: 8823 ldrh r3, [r4, #0] + 71ca: 8003 strh r3, [r0, #0] + 71cc: e70e b.n 6fec <_lv_blend_map+0x69c> MAP_NORMAL_MASK_PX(x + 1) - 7166: 8863 ldrh r3, [r4, #2] - 7168: 8043 strh r3, [r0, #2] - 716a: e75a b.n 7022 <_lv_blend_map+0x73a> + 71ce: 8863 ldrh r3, [r4, #2] + 71d0: 8043 strh r3, [r0, #2] + 71d2: e75a b.n 708a <_lv_blend_map+0x73a> MAP_NORMAL_MASK_PX(x + 2) - 716c: 88a3 ldrh r3, [r4, #4] - 716e: 8083 strh r3, [r0, #4] - 7170: e7a6 b.n 70c0 <_lv_blend_map+0x7d8> + 71d4: 88a3 ldrh r3, [r4, #4] + 71d6: 8083 strh r3, [r0, #4] + 71d8: e7a6 b.n 7128 <_lv_blend_map+0x7d8> MAP_NORMAL_MASK_PX(x + 3) - 7172: 88e3 ldrh r3, [r4, #6] - 7174: 80c3 strh r3, [r0, #6] - 7176: e6a9 b.n 6ecc <_lv_blend_map+0x5e4> - 7178: 9b06 ldr r3, [sp, #24] - 717a: 4699 mov r9, r3 - 717c: 0016 movs r6, r2 + 71da: 88e3 ldrh r3, [r4, #6] + 71dc: 80c3 strh r3, [r0, #6] + 71de: e6a9 b.n 6f34 <_lv_blend_map+0x5e4> + 71e0: 9b06 ldr r3, [sp, #24] + 71e2: 4699 mov r9, r3 + 71e4: 0016 movs r6, r2 for(; x < draw_area_w ; x++) { - 717e: 4293 cmp r3, r2 - 7180: dc00 bgt.n 7184 <_lv_blend_map+0x89c> - 7182: e1b3 b.n 74ec <_lv_blend_map+0xc04> + 71e6: 4293 cmp r3, r2 + 71e8: dc00 bgt.n 71ec <_lv_blend_map+0x89c> + 71ea: e1b3 b.n 7554 <_lv_blend_map+0xc04> mask32++; - 7184: 003b movs r3, r7 - 7186: 0077 lsls r7, r6, #1 - 7188: 9a09 ldr r2, [sp, #36] ; 0x24 - 718a: 4690 mov r8, r2 - 718c: 44b8 add r8, r7 - 718e: 9a08 ldr r2, [sp, #32] - 7190: 4694 mov ip, r2 - 7192: 4467 add r7, ip + 71ec: 003b movs r3, r7 + 71ee: 0077 lsls r7, r6, #1 + 71f0: 9a09 ldr r2, [sp, #36] ; 0x24 + 71f2: 4690 mov r8, r2 + 71f4: 44b8 add r8, r7 + 71f6: 9a08 ldr r2, [sp, #32] + 71f8: 4694 mov ip, r2 + 71fa: 4467 add r7, ip MAP_NORMAL_MASK_PX(x) - 7194: 1b9b subs r3, r3, r6 - 7196: 9305 str r3, [sp, #20] - 7198: 4bce ldr r3, [pc, #824] ; (74d4 <_lv_blend_map+0xbec>) - 719a: 469a mov sl, r3 - 719c: 2307 movs r3, #7 - 719e: 469c mov ip, r3 - 71a0: 4644 mov r4, r8 - 71a2: e007 b.n 71b4 <_lv_blend_map+0x8cc> - 71a4: 8823 ldrh r3, [r4, #0] - 71a6: 803b strh r3, [r7, #0] + 71fc: 1b9b subs r3, r3, r6 + 71fe: 9305 str r3, [sp, #20] + 7200: 4bce ldr r3, [pc, #824] ; (753c <_lv_blend_map+0xbec>) + 7202: 469a mov sl, r3 + 7204: 2307 movs r3, #7 + 7206: 469c mov ip, r3 + 7208: 4644 mov r4, r8 + 720a: e007 b.n 721c <_lv_blend_map+0x8cc> + 720c: 8823 ldrh r3, [r4, #0] + 720e: 803b strh r3, [r7, #0] for(; x < draw_area_w ; x++) { - 71a8: 3601 adds r6, #1 - 71aa: 3402 adds r4, #2 - 71ac: 3702 adds r7, #2 - 71ae: 45b1 cmp r9, r6 - 71b0: dc00 bgt.n 71b4 <_lv_blend_map+0x8cc> - 71b2: e19b b.n 74ec <_lv_blend_map+0xc04> + 7210: 3601 adds r6, #1 + 7212: 3402 adds r4, #2 + 7214: 3702 adds r7, #2 + 7216: 45b1 cmp r9, r6 + 7218: dc00 bgt.n 721c <_lv_blend_map+0x8cc> + 721a: e19b b.n 7554 <_lv_blend_map+0xc04> MAP_NORMAL_MASK_PX(x) - 71b4: 9b05 ldr r3, [sp, #20] - 71b6: 5d99 ldrb r1, [r3, r6] - 71b8: 2900 cmp r1, #0 - 71ba: d0f5 beq.n 71a8 <_lv_blend_map+0x8c0> - 71bc: 29ff cmp r1, #255 ; 0xff - 71be: d0f1 beq.n 71a4 <_lv_blend_map+0x8bc> + 721c: 9b05 ldr r3, [sp, #20] + 721e: 5d99 ldrb r1, [r3, r6] + 7220: 2900 cmp r1, #0 + 7222: d0f5 beq.n 7210 <_lv_blend_map+0x8c0> + 7224: 29ff cmp r1, #255 ; 0xff + 7226: d0f1 beq.n 720c <_lv_blend_map+0x8bc> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 71c0: 23ff movs r3, #255 ; 0xff - 71c2: 1a58 subs r0, r3, r1 - 71c4: 7862 ldrb r2, [r4, #1] - 71c6: 08d2 lsrs r2, r2, #3 - 71c8: 434a muls r2, r1 - 71ca: 0015 movs r5, r2 - 71cc: 787a ldrb r2, [r7, #1] - 71ce: 08d2 lsrs r2, r2, #3 - 71d0: 4342 muls r2, r0 - 71d2: 18ad adds r5, r5, r2 - 71d4: 022b lsls r3, r5, #8 - 71d6: 195b adds r3, r3, r5 - 71d8: 01db lsls r3, r3, #7 - 71da: 195b adds r3, r3, r5 - 71dc: 0ddb lsrs r3, r3, #23 - 71de: 465a mov r2, fp - 71e0: 4013 ands r3, r2 - 71e2: 9306 str r3, [sp, #24] + 7228: 23ff movs r3, #255 ; 0xff + 722a: 1a58 subs r0, r3, r1 + 722c: 7862 ldrb r2, [r4, #1] + 722e: 08d2 lsrs r2, r2, #3 + 7230: 434a muls r2, r1 + 7232: 0015 movs r5, r2 + 7234: 787a ldrb r2, [r7, #1] + 7236: 08d2 lsrs r2, r2, #3 + 7238: 4342 muls r2, r0 + 723a: 18ad adds r5, r5, r2 + 723c: 022b lsls r3, r5, #8 + 723e: 195b adds r3, r3, r5 + 7240: 01db lsls r3, r3, #7 + 7242: 195b adds r3, r3, r5 + 7244: 0ddb lsrs r3, r3, #23 + 7246: 465a mov r2, fp + 7248: 4013 ands r3, r2 + 724a: 9306 str r3, [sp, #24] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 71e4: 8825 ldrh r5, [r4, #0] - 71e6: 056d lsls r5, r5, #21 - 71e8: 0ead lsrs r5, r5, #26 - 71ea: 434d muls r5, r1 - 71ec: 883a ldrh r2, [r7, #0] - 71ee: 0552 lsls r2, r2, #21 - 71f0: 0e92 lsrs r2, r2, #26 - 71f2: 4342 muls r2, r0 - 71f4: 18ad adds r5, r5, r2 - 71f6: 022a lsls r2, r5, #8 - 71f8: 1952 adds r2, r2, r5 - 71fa: 01d2 lsls r2, r2, #7 - 71fc: 1952 adds r2, r2, r5 - 71fe: 0dd2 lsrs r2, r2, #23 + 724c: 8825 ldrh r5, [r4, #0] + 724e: 056d lsls r5, r5, #21 + 7250: 0ead lsrs r5, r5, #26 + 7252: 434d muls r5, r1 + 7254: 883a ldrh r2, [r7, #0] + 7256: 0552 lsls r2, r2, #21 + 7258: 0e92 lsrs r2, r2, #26 + 725a: 4342 muls r2, r0 + 725c: 18ad adds r5, r5, r2 + 725e: 022a lsls r2, r5, #8 + 7260: 1952 adds r2, r2, r5 + 7262: 01d2 lsls r2, r2, #7 + 7264: 1952 adds r2, r2, r5 + 7266: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7200: 7825 ldrb r5, [r4, #0] - 7202: 06ed lsls r5, r5, #27 - 7204: 0eed lsrs r5, r5, #27 - 7206: 4369 muls r1, r5 - 7208: 783d ldrb r5, [r7, #0] - 720a: 06eb lsls r3, r5, #27 - 720c: 0edb lsrs r3, r3, #27 - 720e: 4358 muls r0, r3 - 7210: 1808 adds r0, r1, r0 - 7212: 0201 lsls r1, r0, #8 - 7214: 1809 adds r1, r1, r0 - 7216: 01c9 lsls r1, r1, #7 - 7218: 1809 adds r1, r1, r0 - 721a: 0dc9 lsrs r1, r1, #23 - 721c: 465b mov r3, fp - 721e: 4019 ands r1, r3 - 7220: 439d bics r5, r3 - 7222: 4329 orrs r1, r5 - 7224: 7039 strb r1, [r7, #0] - 7226: 233f movs r3, #63 ; 0x3f - 7228: 401a ands r2, r3 - 722a: 0151 lsls r1, r2, #5 - 722c: 883a ldrh r2, [r7, #0] - 722e: 4653 mov r3, sl - 7230: 401a ands r2, r3 - 7232: 430a orrs r2, r1 - 7234: 803a strh r2, [r7, #0] - 7236: 9b06 ldr r3, [sp, #24] - 7238: 00db lsls r3, r3, #3 - 723a: 0a12 lsrs r2, r2, #8 - 723c: 4661 mov r1, ip - 723e: 400a ands r2, r1 - 7240: 4313 orrs r3, r2 - 7242: 707b strb r3, [r7, #1] - 7244: e7b0 b.n 71a8 <_lv_blend_map+0x8c0> + 7268: 7825 ldrb r5, [r4, #0] + 726a: 06ed lsls r5, r5, #27 + 726c: 0eed lsrs r5, r5, #27 + 726e: 4369 muls r1, r5 + 7270: 783d ldrb r5, [r7, #0] + 7272: 06eb lsls r3, r5, #27 + 7274: 0edb lsrs r3, r3, #27 + 7276: 4358 muls r0, r3 + 7278: 1808 adds r0, r1, r0 + 727a: 0201 lsls r1, r0, #8 + 727c: 1809 adds r1, r1, r0 + 727e: 01c9 lsls r1, r1, #7 + 7280: 1809 adds r1, r1, r0 + 7282: 0dc9 lsrs r1, r1, #23 + 7284: 465b mov r3, fp + 7286: 4019 ands r1, r3 + 7288: 439d bics r5, r3 + 728a: 4329 orrs r1, r5 + 728c: 7039 strb r1, [r7, #0] + 728e: 233f movs r3, #63 ; 0x3f + 7290: 401a ands r2, r3 + 7292: 0151 lsls r1, r2, #5 + 7294: 883a ldrh r2, [r7, #0] + 7296: 4653 mov r3, sl + 7298: 401a ands r2, r3 + 729a: 430a orrs r2, r1 + 729c: 803a strh r2, [r7, #0] + 729e: 9b06 ldr r3, [sp, #24] + 72a0: 00db lsls r3, r3, #3 + 72a2: 0a12 lsrs r2, r2, #8 + 72a4: 4661 mov r1, ip + 72a6: 400a ands r2, r1 + 72a8: 4313 orrs r3, r2 + 72aa: 707b strb r3, [r7, #1] + 72ac: e7b0 b.n 7210 <_lv_blend_map+0x8c0> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7246: 23ff movs r3, #255 ; 0xff - 7248: 1a1d subs r5, r3, r0 - 724a: 784b ldrb r3, [r1, #1] - 724c: 08db lsrs r3, r3, #3 - 724e: 4343 muls r3, r0 - 7250: 7872 ldrb r2, [r6, #1] - 7252: 08d2 lsrs r2, r2, #3 - 7254: 436a muls r2, r5 - 7256: 189a adds r2, r3, r2 - 7258: 0213 lsls r3, r2, #8 - 725a: 189b adds r3, r3, r2 - 725c: 01db lsls r3, r3, #7 - 725e: 189b adds r3, r3, r2 - 7260: 0ddb lsrs r3, r3, #23 - 7262: 4642 mov r2, r8 - 7264: 4013 ands r3, r2 - 7266: 9305 str r3, [sp, #20] + 72ae: 23ff movs r3, #255 ; 0xff + 72b0: 1a1d subs r5, r3, r0 + 72b2: 784b ldrb r3, [r1, #1] + 72b4: 08db lsrs r3, r3, #3 + 72b6: 4343 muls r3, r0 + 72b8: 7872 ldrb r2, [r6, #1] + 72ba: 08d2 lsrs r2, r2, #3 + 72bc: 436a muls r2, r5 + 72be: 189a adds r2, r3, r2 + 72c0: 0213 lsls r3, r2, #8 + 72c2: 189b adds r3, r3, r2 + 72c4: 01db lsls r3, r3, #7 + 72c6: 189b adds r3, r3, r2 + 72c8: 0ddb lsrs r3, r3, #23 + 72ca: 4642 mov r2, r8 + 72cc: 4013 ands r3, r2 + 72ce: 9305 str r3, [sp, #20] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7268: 880a ldrh r2, [r1, #0] - 726a: 0552 lsls r2, r2, #21 - 726c: 0e92 lsrs r2, r2, #26 - 726e: 4342 muls r2, r0 - 7270: 4691 mov r9, r2 - 7272: 8832 ldrh r2, [r6, #0] - 7274: 0552 lsls r2, r2, #21 - 7276: 0e92 lsrs r2, r2, #26 - 7278: 436a muls r2, r5 - 727a: 444a add r2, r9 - 727c: 0213 lsls r3, r2, #8 - 727e: 4699 mov r9, r3 - 7280: 4491 add r9, r2 - 7282: 464b mov r3, r9 - 7284: 01db lsls r3, r3, #7 - 7286: 4699 mov r9, r3 - 7288: 444a add r2, r9 - 728a: 0dd2 lsrs r2, r2, #23 + 72d0: 880a ldrh r2, [r1, #0] + 72d2: 0552 lsls r2, r2, #21 + 72d4: 0e92 lsrs r2, r2, #26 + 72d6: 4342 muls r2, r0 + 72d8: 4691 mov r9, r2 + 72da: 8832 ldrh r2, [r6, #0] + 72dc: 0552 lsls r2, r2, #21 + 72de: 0e92 lsrs r2, r2, #26 + 72e0: 436a muls r2, r5 + 72e2: 444a add r2, r9 + 72e4: 0213 lsls r3, r2, #8 + 72e6: 4699 mov r9, r3 + 72e8: 4491 add r9, r2 + 72ea: 464b mov r3, r9 + 72ec: 01db lsls r3, r3, #7 + 72ee: 4699 mov r9, r3 + 72f0: 444a add r2, r9 + 72f2: 0dd2 lsrs r2, r2, #23 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 728c: 780b ldrb r3, [r1, #0] - 728e: 06db lsls r3, r3, #27 - 7290: 0edb lsrs r3, r3, #27 - 7292: 4343 muls r3, r0 - 7294: 4699 mov r9, r3 - 7296: 7833 ldrb r3, [r6, #0] - 7298: 469c mov ip, r3 - 729a: 06db lsls r3, r3, #27 - 729c: 0edb lsrs r3, r3, #27 - 729e: 435d muls r5, r3 - 72a0: 44a9 add r9, r5 - 72a2: 464b mov r3, r9 - 72a4: 021d lsls r5, r3, #8 - 72a6: 444d add r5, r9 - 72a8: 01ed lsls r5, r5, #7 - 72aa: 444d add r5, r9 - 72ac: 0ded lsrs r5, r5, #23 + 72f4: 780b ldrb r3, [r1, #0] + 72f6: 06db lsls r3, r3, #27 + 72f8: 0edb lsrs r3, r3, #27 + 72fa: 4343 muls r3, r0 + 72fc: 4699 mov r9, r3 + 72fe: 7833 ldrb r3, [r6, #0] + 7300: 469c mov ip, r3 + 7302: 06db lsls r3, r3, #27 + 7304: 0edb lsrs r3, r3, #27 + 7306: 435d muls r5, r3 + 7308: 44a9 add r9, r5 + 730a: 464b mov r3, r9 + 730c: 021d lsls r5, r3, #8 + 730e: 444d add r5, r9 + 7310: 01ed lsls r5, r5, #7 + 7312: 444d add r5, r9 + 7314: 0ded lsrs r5, r5, #23 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa_tmp); - 72ae: 4643 mov r3, r8 - 72b0: 401d ands r5, r3 - 72b2: 4663 mov r3, ip - 72b4: 4640 mov r0, r8 - 72b6: 4383 bics r3, r0 - 72b8: 431d orrs r5, r3 - 72ba: 7035 strb r5, [r6, #0] - 72bc: 233f movs r3, #63 ; 0x3f - 72be: 401a ands r2, r3 - 72c0: 0155 lsls r5, r2, #5 - 72c2: 8832 ldrh r2, [r6, #0] - 72c4: 4b83 ldr r3, [pc, #524] ; (74d4 <_lv_blend_map+0xbec>) - 72c6: 401a ands r2, r3 - 72c8: 432a orrs r2, r5 - 72ca: 8032 strh r2, [r6, #0] - 72cc: 9b05 ldr r3, [sp, #20] - 72ce: 00db lsls r3, r3, #3 - 72d0: 0a12 lsrs r2, r2, #8 - 72d2: 4658 mov r0, fp - 72d4: 4002 ands r2, r0 - 72d6: 4313 orrs r3, r2 - 72d8: 7073 strb r3, [r6, #1] + 7316: 4643 mov r3, r8 + 7318: 401d ands r5, r3 + 731a: 4663 mov r3, ip + 731c: 4640 mov r0, r8 + 731e: 4383 bics r3, r0 + 7320: 431d orrs r5, r3 + 7322: 7035 strb r5, [r6, #0] + 7324: 233f movs r3, #63 ; 0x3f + 7326: 401a ands r2, r3 + 7328: 0155 lsls r5, r2, #5 + 732a: 8832 ldrh r2, [r6, #0] + 732c: 4b83 ldr r3, [pc, #524] ; (753c <_lv_blend_map+0xbec>) + 732e: 401a ands r2, r3 + 7330: 432a orrs r2, r5 + 7332: 8032 strh r2, [r6, #0] + 7334: 9b05 ldr r3, [sp, #20] + 7336: 00db lsls r3, r3, #3 + 7338: 0a12 lsrs r2, r2, #8 + 733a: 4658 mov r0, fp + 733c: 4002 ands r2, r0 + 733e: 4313 orrs r3, r2 + 7340: 7073 strb r3, [r6, #1] for(x = 0; x < draw_area_w; x++) { - 72da: 3701 adds r7, #1 - 72dc: 3102 adds r1, #2 - 72de: 3602 adds r6, #2 - 72e0: 9b06 ldr r3, [sp, #24] - 72e2: 42bb cmp r3, r7 - 72e4: dd09 ble.n 72fa <_lv_blend_map+0xa12> + 7342: 3701 adds r7, #1 + 7344: 3102 adds r1, #2 + 7346: 3602 adds r6, #2 + 7348: 9b06 ldr r3, [sp, #24] + 734a: 42bb cmp r3, r7 + 734c: dd09 ble.n 7362 <_lv_blend_map+0xa12> if(mask[x]) { - 72e6: 5de5 ldrb r5, [r4, r7] - 72e8: 2d00 cmp r5, #0 - 72ea: d0f6 beq.n 72da <_lv_blend_map+0x9f2> + 734e: 5de5 ldrb r5, [r4, r7] + 7350: 2d00 cmp r5, #0 + 7352: d0f6 beq.n 7342 <_lv_blend_map+0x9f2> lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8); - 72ec: 9807 ldr r0, [sp, #28] - 72ee: 2df9 cmp r5, #249 ; 0xf9 - 72f0: d8a9 bhi.n 7246 <_lv_blend_map+0x95e> - 72f2: 9b0a ldr r3, [sp, #40] ; 0x28 - 72f4: 435d muls r5, r3 - 72f6: 0a28 lsrs r0, r5, #8 - 72f8: e7a5 b.n 7246 <_lv_blend_map+0x95e> - 72fa: 46a1 mov r9, r4 + 7354: 9807 ldr r0, [sp, #28] + 7356: 2df9 cmp r5, #249 ; 0xf9 + 7358: d8a9 bhi.n 72ae <_lv_blend_map+0x95e> + 735a: 9b0a ldr r3, [sp, #40] ; 0x28 + 735c: 435d muls r5, r3 + 735e: 0a28 lsrs r0, r5, #8 + 7360: e7a5 b.n 72ae <_lv_blend_map+0x95e> + 7362: 46a1 mov r9, r4 disp_buf_first += disp_w; - 72fc: 9b08 ldr r3, [sp, #32] - 72fe: 9a0e ldr r2, [sp, #56] ; 0x38 - 7300: 4694 mov ip, r2 - 7302: 4463 add r3, ip - 7304: 9308 str r3, [sp, #32] - 7306: 9b0c ldr r3, [sp, #48] ; 0x30 - 7308: 469c mov ip, r3 - 730a: 44e1 add r9, ip + 7364: 9b08 ldr r3, [sp, #32] + 7366: 9a0e ldr r2, [sp, #56] ; 0x38 + 7368: 4694 mov ip, r2 + 736a: 4463 add r3, ip + 736c: 9308 str r3, [sp, #32] + 736e: 9b0c ldr r3, [sp, #48] ; 0x30 + 7370: 469c mov ip, r3 + 7372: 44e1 add r9, ip map_buf_first += map_w; - 730c: 9b09 ldr r3, [sp, #36] ; 0x24 - 730e: 9a0f ldr r2, [sp, #60] ; 0x3c - 7310: 4694 mov ip, r2 - 7312: 4463 add r3, ip - 7314: 9309 str r3, [sp, #36] ; 0x24 + 7374: 9b09 ldr r3, [sp, #36] ; 0x24 + 7376: 9a0f ldr r2, [sp, #60] ; 0x3c + 7378: 4694 mov ip, r2 + 737a: 4463 add r3, ip + 737c: 9309 str r3, [sp, #36] ; 0x24 for(y = 0; y < draw_area_h; y++) { - 7316: 9b0d ldr r3, [sp, #52] ; 0x34 - 7318: 3301 adds r3, #1 - 731a: 930d str r3, [sp, #52] ; 0x34 - 731c: 9a0b ldr r2, [sp, #44] ; 0x2c - 731e: 429a cmp r2, r3 - 7320: dc01 bgt.n 7326 <_lv_blend_map+0xa3e> - 7322: f7ff faf7 bl 6914 <_lv_blend_map+0x2c> + 737e: 9b0d ldr r3, [sp, #52] ; 0x34 + 7380: 3301 adds r3, #1 + 7382: 930d str r3, [sp, #52] ; 0x34 + 7384: 9a0b ldr r2, [sp, #44] ; 0x2c + 7386: 429a cmp r2, r3 + 7388: dc01 bgt.n 738e <_lv_blend_map+0xa3e> + 738a: f7ff faf7 bl 697c <_lv_blend_map+0x2c> for(x = 0; x < draw_area_w; x++) { - 7326: 9b06 ldr r3, [sp, #24] - 7328: 2b00 cmp r3, #0 - 732a: dde7 ble.n 72fc <_lv_blend_map+0xa14> - 732c: 9b09 ldr r3, [sp, #36] ; 0x24 - 732e: 469c mov ip, r3 - 7330: 9e08 ldr r6, [sp, #32] - 7332: 2700 movs r7, #0 + 738e: 9b06 ldr r3, [sp, #24] + 7390: 2b00 cmp r3, #0 + 7392: dde7 ble.n 7364 <_lv_blend_map+0xa14> + 7394: 9b09 ldr r3, [sp, #36] ; 0x24 + 7396: 469c mov ip, r3 + 7398: 9e08 ldr r6, [sp, #32] + 739a: 2700 movs r7, #0 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa_tmp); - 7334: 2307 movs r3, #7 - 7336: 469b mov fp, r3 - 7338: 4661 mov r1, ip - 733a: 464c mov r4, r9 - 733c: e7d3 b.n 72e6 <_lv_blend_map+0x9fe> + 739c: 2307 movs r3, #7 + 739e: 469b mov fp, r3 + 73a0: 4661 mov r1, ip + 73a2: 464c mov r4, r9 + 73a4: e7d3 b.n 734e <_lv_blend_map+0x9fe> switch(mode) { - 733e: 2e01 cmp r6, #1 - 7340: d04d beq.n 73de <_lv_blend_map+0xaf6> - 7342: 2e02 cmp r6, #2 - 7344: d001 beq.n 734a <_lv_blend_map+0xa62> - 7346: f7ff fae5 bl 6914 <_lv_blend_map+0x2c> + 73a6: 2e01 cmp r6, #1 + 73a8: d04d beq.n 7446 <_lv_blend_map+0xaf6> + 73aa: 2e02 cmp r6, #2 + 73ac: d001 beq.n 73b2 <_lv_blend_map+0xa62> + 73ae: f7ff fae5 bl 697c <_lv_blend_map+0x2c> blend_fp = color_blend_true_color_subtractive; - 734a: 4b63 ldr r3, [pc, #396] ; (74d8 <_lv_blend_map+0xbf0>) - 734c: 930a str r3, [sp, #40] ; 0x28 - 734e: 464b mov r3, r9 - 7350: 2210 movs r2, #16 - 7352: 5e9b ldrsh r3, [r3, r2] - 7354: 001a movs r2, r3 - 7356: 930b str r3, [sp, #44] ; 0x2c - 7358: 464b mov r3, r9 - 735a: 8a9b ldrh r3, [r3, #20] - 735c: 3301 adds r3, #1 - 735e: 1a9b subs r3, r3, r2 - 7360: b21b sxth r3, r3 - 7362: 469c mov ip, r3 - 7364: 2300 movs r3, #0 - 7366: 5ee2 ldrsh r2, [r4, r3] - 7368: 920d str r2, [sp, #52] ; 0x34 - 736a: 88a3 ldrh r3, [r4, #4] - 736c: 3301 adds r3, #1 - 736e: 1a9b subs r3, r3, r2 - 7370: b219 sxth r1, r3 + 73b2: 4b63 ldr r3, [pc, #396] ; (7540 <_lv_blend_map+0xbf0>) + 73b4: 930a str r3, [sp, #40] ; 0x28 + 73b6: 464b mov r3, r9 + 73b8: 2210 movs r2, #16 + 73ba: 5e9b ldrsh r3, [r3, r2] + 73bc: 001a movs r2, r3 + 73be: 930b str r3, [sp, #44] ; 0x2c + 73c0: 464b mov r3, r9 + 73c2: 8a9b ldrh r3, [r3, #20] + 73c4: 3301 adds r3, #1 + 73c6: 1a9b subs r3, r3, r2 + 73c8: b21b sxth r3, r3 + 73ca: 469c mov ip, r3 + 73cc: 2300 movs r3, #0 + 73ce: 5ee2 ldrsh r2, [r4, r3] + 73d0: 920d str r2, [sp, #52] ; 0x34 + 73d2: 88a3 ldrh r3, [r4, #4] + 73d4: 3301 adds r3, #1 + 73d6: 1a9b subs r3, r3, r2 + 73d8: b219 sxth r1, r3 lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1; - 7372: 9e08 ldr r6, [sp, #32] - 7374: 4662 mov r2, ip - 7376: 4372 muls r2, r6 - 7378: 0053 lsls r3, r2, #1 - 737a: 9a05 ldr r2, [sp, #20] - 737c: 4690 mov r8, r2 - 737e: 4498 add r8, r3 - 7380: 4643 mov r3, r8 - 7382: 9306 str r3, [sp, #24] + 73da: 9e08 ldr r6, [sp, #32] + 73dc: 4662 mov r2, ip + 73de: 4372 muls r2, r6 + 73e0: 0053 lsls r3, r2, #1 + 73e2: 9a05 ldr r2, [sp, #20] + 73e4: 4690 mov r8, r2 + 73e6: 4498 add r8, r3 + 73e8: 4643 mov r3, r8 + 73ea: 9306 str r3, [sp, #24] const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 7384: 2202 movs r2, #2 - 7386: 5ea3 ldrsh r3, [r4, r2] - 7388: 464a mov r2, r9 - 738a: 2412 movs r4, #18 - 738c: 5f14 ldrsh r4, [r2, r4] - 738e: 1b1b subs r3, r3, r4 - 7390: 1af3 subs r3, r6, r3 - 7392: 434b muls r3, r1 - 7394: 005b lsls r3, r3, #1 - 7396: 9a07 ldr r2, [sp, #28] - 7398: 18d4 adds r4, r2, r3 + 73ec: 2202 movs r2, #2 + 73ee: 5ea3 ldrsh r3, [r4, r2] + 73f0: 464a mov r2, r9 + 73f2: 2412 movs r4, #18 + 73f4: 5f14 ldrsh r4, [r2, r4] + 73f6: 1b1b subs r3, r3, r4 + 73f8: 1af3 subs r3, r6, r3 + 73fa: 434b muls r3, r1 + 73fc: 005b lsls r3, r3, #1 + 73fe: 9a07 ldr r2, [sp, #28] + 7400: 18d4 adds r4, r2, r3 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 739a: 2f01 cmp r7, #1 - 739c: d022 beq.n 73e4 <_lv_blend_map+0xafc> + 7402: 2f01 cmp r7, #1 + 7404: d022 beq.n 744c <_lv_blend_map+0xafc> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 739e: 4653 mov r3, sl - 73a0: 1aeb subs r3, r5, r3 - 73a2: 001a movs r2, r3 + 7406: 4653 mov r3, sl + 7408: 1aeb subs r3, r5, r3 + 740a: 001a movs r2, r3 map_buf_tmp -= draw_area->x1; - 73a4: 4653 mov r3, sl - 73a6: 005b lsls r3, r3, #1 - 73a8: 1ae3 subs r3, r4, r3 - 73aa: 4699 mov r9, r3 + 740c: 4653 mov r3, sl + 740e: 005b lsls r3, r3, #1 + 7410: 1ae3 subs r3, r4, r3 + 7412: 4699 mov r9, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 73ac: 9b08 ldr r3, [sp, #32] - 73ae: 9c0c ldr r4, [sp, #48] ; 0x30 - 73b0: 42a3 cmp r3, r4 - 73b2: dd01 ble.n 73b8 <_lv_blend_map+0xad0> - 73b4: f7ff faae bl 6914 <_lv_blend_map+0x2c> + 7414: 9b08 ldr r3, [sp, #32] + 7416: 9c0c ldr r4, [sp, #48] ; 0x30 + 7418: 42a3 cmp r3, r4 + 741a: dd01 ble.n 7420 <_lv_blend_map+0xad0> + 741c: f7ff faae bl 697c <_lv_blend_map+0x2c> disp_buf_tmp += disp_w; - 73b8: 4663 mov r3, ip - 73ba: 005b lsls r3, r3, #1 - 73bc: 4698 mov r8, r3 + 7420: 4663 mov r3, ip + 7422: 005b lsls r3, r3, #1 + 7424: 4698 mov r8, r3 map_buf_tmp += map_w; - 73be: 004b lsls r3, r1, #1 - 73c0: 9307 str r3, [sp, #28] + 7426: 004b lsls r3, r1, #1 + 7428: 9307 str r3, [sp, #28] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 73c2: af10 add r7, sp, #64 ; 0x40 + 742a: af10 add r7, sp, #64 ; 0x40 lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8); - 73c4: 465b mov r3, fp - 73c6: 9305 str r3, [sp, #20] - 73c8: 3001 adds r0, #1 - 73ca: 9b09 ldr r3, [sp, #36] ; 0x24 - 73cc: 1ac0 subs r0, r0, r3 + 742c: 465b mov r3, fp + 742e: 9305 str r3, [sp, #20] + 7430: 3001 adds r0, #1 + 7432: 9b09 ldr r3, [sp, #36] ; 0x24 + 7434: 1ac0 subs r0, r0, r3 mask_tmp += draw_area_w; - 73ce: b203 sxth r3, r0 - 73d0: 9309 str r3, [sp, #36] ; 0x24 - 73d2: 9b0a ldr r3, [sp, #40] ; 0x28 - 73d4: 469a mov sl, r3 - 73d6: 4643 mov r3, r8 - 73d8: 930a str r3, [sp, #40] ; 0x28 - 73da: 4690 mov r8, r2 - 73dc: e068 b.n 74b0 <_lv_blend_map+0xbc8> + 7436: b203 sxth r3, r0 + 7438: 9309 str r3, [sp, #36] ; 0x24 + 743a: 9b0a ldr r3, [sp, #40] ; 0x28 + 743c: 469a mov sl, r3 + 743e: 4643 mov r3, r8 + 7440: 930a str r3, [sp, #40] ; 0x28 + 7442: 4690 mov r8, r2 + 7444: e068 b.n 7518 <_lv_blend_map+0xbc8> blend_fp = color_blend_true_color_additive; - 73de: 4b3f ldr r3, [pc, #252] ; (74dc <_lv_blend_map+0xbf4>) - 73e0: 930a str r3, [sp, #40] ; 0x28 - 73e2: e7b4 b.n 734e <_lv_blend_map+0xa66> + 7446: 4b3f ldr r3, [pc, #252] ; (7544 <_lv_blend_map+0xbf4>) + 7448: 930a str r3, [sp, #40] ; 0x28 + 744a: e7b4 b.n 73b6 <_lv_blend_map+0xa66> map_buf_tmp -= draw_area->x1; - 73e4: 9b0b ldr r3, [sp, #44] ; 0x2c - 73e6: 9a0d ldr r2, [sp, #52] ; 0x34 - 73e8: 1a9b subs r3, r3, r2 - 73ea: 005b lsls r3, r3, #1 - 73ec: 46a1 mov r9, r4 - 73ee: 4499 add r9, r3 + 744c: 9b0b ldr r3, [sp, #44] ; 0x2c + 744e: 9a0d ldr r2, [sp, #52] ; 0x34 + 7450: 1a9b subs r3, r3, r2 + 7452: 005b lsls r3, r3, #1 + 7454: 46a1 mov r9, r4 + 7456: 4499 add r9, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 73f0: 9a0c ldr r2, [sp, #48] ; 0x30 - 73f2: 4296 cmp r6, r2 - 73f4: dd01 ble.n 73fa <_lv_blend_map+0xb12> - 73f6: f7ff fa8d bl 6914 <_lv_blend_map+0x2c> + 7458: 9a0c ldr r2, [sp, #48] ; 0x30 + 745a: 4296 cmp r6, r2 + 745c: dd01 ble.n 7462 <_lv_blend_map+0xb12> + 745e: f7ff fa8d bl 697c <_lv_blend_map+0x2c> disp_buf_tmp += disp_w; - 73fa: 4663 mov r3, ip - 73fc: 005b lsls r3, r3, #1 - 73fe: 469a mov sl, r3 + 7462: 4663 mov r3, ip + 7464: 005b lsls r3, r3, #1 + 7466: 469a mov sl, r3 map_buf_tmp += map_w; - 7400: 004b lsls r3, r1, #1 - 7402: 4698 mov r8, r3 + 7468: 004b lsls r3, r1, #1 + 746a: 4698 mov r8, r3 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 7404: af10 add r7, sp, #64 ; 0x40 - 7406: 465b mov r3, fp - 7408: 9305 str r3, [sp, #20] - 740a: 46d3 mov fp, sl - 740c: 9b0a ldr r3, [sp, #40] ; 0x28 - 740e: 469a mov sl, r3 - 7410: 2300 movs r3, #0 - 7412: 5efd ldrsh r5, [r7, r3] - 7414: 002e movs r6, r5 - 7416: 2204 movs r2, #4 - 7418: 5ebb ldrsh r3, [r7, r2] - 741a: 429d cmp r5, r3 - 741c: dc0f bgt.n 743e <_lv_blend_map+0xb56> - 741e: 006d lsls r5, r5, #1 - 7420: 9b06 ldr r3, [sp, #24] - 7422: 195c adds r4, r3, r5 - 7424: 444d add r5, r9 + 746c: af10 add r7, sp, #64 ; 0x40 + 746e: 465b mov r3, fp + 7470: 9305 str r3, [sp, #20] + 7472: 46d3 mov fp, sl + 7474: 9b0a ldr r3, [sp, #40] ; 0x28 + 7476: 469a mov sl, r3 + 7478: 2300 movs r3, #0 + 747a: 5efd ldrsh r5, [r7, r3] + 747c: 002e movs r6, r5 + 747e: 2204 movs r2, #4 + 7480: 5ebb ldrsh r3, [r7, r2] + 7482: 429d cmp r5, r3 + 7484: dc0f bgt.n 74a6 <_lv_blend_map+0xb56> + 7486: 006d lsls r5, r5, #1 + 7488: 9b06 ldr r3, [sp, #24] + 748a: 195c adds r4, r3, r5 + 748c: 444d add r5, r9 disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa); - 7426: 8821 ldrh r1, [r4, #0] - 7428: 8828 ldrh r0, [r5, #0] - 742a: 9a05 ldr r2, [sp, #20] - 742c: 47d0 blx sl - 742e: 8020 strh r0, [r4, #0] + 748e: 8821 ldrh r1, [r4, #0] + 7490: 8828 ldrh r0, [r5, #0] + 7492: 9a05 ldr r2, [sp, #20] + 7494: 47d0 blx sl + 7496: 8020 strh r0, [r4, #0] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 7430: 3601 adds r6, #1 - 7432: 3402 adds r4, #2 - 7434: 3502 adds r5, #2 - 7436: 2204 movs r2, #4 - 7438: 5ebb ldrsh r3, [r7, r2] - 743a: 429e cmp r6, r3 - 743c: ddf3 ble.n 7426 <_lv_blend_map+0xb3e> + 7498: 3601 adds r6, #1 + 749a: 3402 adds r4, #2 + 749c: 3502 adds r5, #2 + 749e: 2204 movs r2, #4 + 74a0: 5ebb ldrsh r3, [r7, r2] + 74a2: 429e cmp r6, r3 + 74a4: ddf3 ble.n 748e <_lv_blend_map+0xb3e> disp_buf_tmp += disp_w; - 743e: 9b06 ldr r3, [sp, #24] - 7440: 445b add r3, fp - 7442: 9306 str r3, [sp, #24] + 74a6: 9b06 ldr r3, [sp, #24] + 74a8: 445b add r3, fp + 74aa: 9306 str r3, [sp, #24] map_buf_tmp += map_w; - 7444: 44c1 add r9, r8 + 74ac: 44c1 add r9, r8 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7446: 9b08 ldr r3, [sp, #32] - 7448: 3301 adds r3, #1 - 744a: 001a movs r2, r3 - 744c: 9308 str r3, [sp, #32] - 744e: 2106 movs r1, #6 - 7450: 5e7b ldrsh r3, [r7, r1] - 7452: 429a cmp r2, r3 - 7454: dddc ble.n 7410 <_lv_blend_map+0xb28> - 7456: f7ff fa5d bl 6914 <_lv_blend_map+0x2c> + 74ae: 9b08 ldr r3, [sp, #32] + 74b0: 3301 adds r3, #1 + 74b2: 001a movs r2, r3 + 74b4: 9308 str r3, [sp, #32] + 74b6: 2106 movs r1, #6 + 74b8: 5e7b ldrsh r3, [r7, r1] + 74ba: 429a cmp r2, r3 + 74bc: dddc ble.n 7478 <_lv_blend_map+0xb28> + 74be: f7ff fa5d bl 697c <_lv_blend_map+0x2c> disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa_tmp); - 745a: 8831 ldrh r1, [r6, #0] - 745c: 8828 ldrh r0, [r5, #0] - 745e: 47d0 blx sl - 7460: 8030 strh r0, [r6, #0] + 74c2: 8831 ldrh r1, [r6, #0] + 74c4: 8828 ldrh r0, [r5, #0] + 74c6: 47d0 blx sl + 74c8: 8030 strh r0, [r6, #0] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 7462: 3401 adds r4, #1 - 7464: 3602 adds r6, #2 - 7466: 3502 adds r5, #2 - 7468: 2204 movs r2, #4 - 746a: 5ebb ldrsh r3, [r7, r2] - 746c: 429c cmp r4, r3 - 746e: dc0a bgt.n 7486 <_lv_blend_map+0xb9e> + 74ca: 3401 adds r4, #1 + 74cc: 3602 adds r6, #2 + 74ce: 3502 adds r5, #2 + 74d0: 2204 movs r2, #4 + 74d2: 5ebb ldrsh r3, [r7, r2] + 74d4: 429c cmp r4, r3 + 74d6: dc0a bgt.n 74ee <_lv_blend_map+0xb9e> if(mask_tmp[x] == 0) continue; - 7470: 4643 mov r3, r8 - 7472: 5d1b ldrb r3, [r3, r4] - 7474: 2b00 cmp r3, #0 - 7476: d0f4 beq.n 7462 <_lv_blend_map+0xb7a> + 74d8: 4643 mov r3, r8 + 74da: 5d1b ldrb r3, [r3, r4] + 74dc: 2b00 cmp r3, #0 + 74de: d0f4 beq.n 74ca <_lv_blend_map+0xb7a> lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8); - 7478: 9a05 ldr r2, [sp, #20] - 747a: 2bf9 cmp r3, #249 ; 0xf9 - 747c: d8ed bhi.n 745a <_lv_blend_map+0xb72> - 747e: 465a mov r2, fp - 7480: 4353 muls r3, r2 - 7482: 0a1a lsrs r2, r3, #8 - 7484: e7e9 b.n 745a <_lv_blend_map+0xb72> + 74e0: 9a05 ldr r2, [sp, #20] + 74e2: 2bf9 cmp r3, #249 ; 0xf9 + 74e4: d8ed bhi.n 74c2 <_lv_blend_map+0xb72> + 74e6: 465a mov r2, fp + 74e8: 4353 muls r3, r2 + 74ea: 0a1a lsrs r2, r3, #8 + 74ec: e7e9 b.n 74c2 <_lv_blend_map+0xb72> disp_buf_tmp += disp_w; - 7486: 9b06 ldr r3, [sp, #24] - 7488: 9a0a ldr r2, [sp, #40] ; 0x28 - 748a: 4694 mov ip, r2 - 748c: 4463 add r3, ip - 748e: 9306 str r3, [sp, #24] - 7490: 9b09 ldr r3, [sp, #36] ; 0x24 - 7492: 469c mov ip, r3 - 7494: 44e0 add r8, ip + 74ee: 9b06 ldr r3, [sp, #24] + 74f0: 9a0a ldr r2, [sp, #40] ; 0x28 + 74f2: 4694 mov ip, r2 + 74f4: 4463 add r3, ip + 74f6: 9306 str r3, [sp, #24] + 74f8: 9b09 ldr r3, [sp, #36] ; 0x24 + 74fa: 469c mov ip, r3 + 74fc: 44e0 add r8, ip map_buf_tmp += map_w; - 7496: 9b07 ldr r3, [sp, #28] - 7498: 469c mov ip, r3 - 749a: 44e1 add r9, ip + 74fe: 9b07 ldr r3, [sp, #28] + 7500: 469c mov ip, r3 + 7502: 44e1 add r9, ip for(y = draw_area->y1; y <= draw_area->y2; y++) { - 749c: 9b08 ldr r3, [sp, #32] - 749e: 3301 adds r3, #1 - 74a0: 001a movs r2, r3 - 74a2: 9308 str r3, [sp, #32] - 74a4: 2106 movs r1, #6 - 74a6: 5e7b ldrsh r3, [r7, r1] - 74a8: 429a cmp r2, r3 - 74aa: dd01 ble.n 74b0 <_lv_blend_map+0xbc8> - 74ac: f7ff fa32 bl 6914 <_lv_blend_map+0x2c> + 7504: 9b08 ldr r3, [sp, #32] + 7506: 3301 adds r3, #1 + 7508: 001a movs r2, r3 + 750a: 9308 str r3, [sp, #32] + 750c: 2106 movs r1, #6 + 750e: 5e7b ldrsh r3, [r7, r1] + 7510: 429a cmp r2, r3 + 7512: dd01 ble.n 7518 <_lv_blend_map+0xbc8> + 7514: f7ff fa32 bl 697c <_lv_blend_map+0x2c> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 74b0: 2300 movs r3, #0 - 74b2: 5efd ldrsh r5, [r7, r3] - 74b4: 002c movs r4, r5 - 74b6: 2204 movs r2, #4 - 74b8: 5ebb ldrsh r3, [r7, r2] - 74ba: 429d cmp r5, r3 - 74bc: dce3 bgt.n 7486 <_lv_blend_map+0xb9e> - 74be: 006d lsls r5, r5, #1 - 74c0: 9b06 ldr r3, [sp, #24] - 74c2: 195e adds r6, r3, r5 - 74c4: 444d add r5, r9 - 74c6: e7d3 b.n 7470 <_lv_blend_map+0xb88> + 7518: 2300 movs r3, #0 + 751a: 5efd ldrsh r5, [r7, r3] + 751c: 002c movs r4, r5 + 751e: 2204 movs r2, #4 + 7520: 5ebb ldrsh r3, [r7, r2] + 7522: 429d cmp r5, r3 + 7524: dce3 bgt.n 74ee <_lv_blend_map+0xb9e> + 7526: 006d lsls r5, r5, #1 + 7528: 9b06 ldr r3, [sp, #24] + 752a: 195e adds r6, r3, r5 + 752c: 444d add r5, r9 + 752e: e7d3 b.n 74d8 <_lv_blend_map+0xb88> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 74c8: 9f0a ldr r7, [sp, #40] ; 0x28 - 74ca: 2600 movs r6, #0 - 74cc: e4e1 b.n 6e92 <_lv_blend_map+0x5aa> + 7530: 9f0a ldr r7, [sp, #40] ; 0x28 + 7532: 2600 movs r6, #0 + 7534: e4e1 b.n 6efa <_lv_blend_map+0x5aa> for(; x < x_end4; x += 4) { - 74ce: 003b movs r3, r7 - 74d0: e659 b.n 7186 <_lv_blend_map+0x89e> - 74d2: 46c0 nop ; (mov r8, r8) - 74d4: fffff81f .word 0xfffff81f - 74d8: 00005b4f .word 0x00005b4f - 74dc: 00005aa9 .word 0x00005aa9 - 74e0: 9b05 ldr r3, [sp, #20] - 74e2: 4699 mov r9, r3 - 74e4: 9b07 ldr r3, [sp, #28] - 74e6: 429e cmp r6, r3 - 74e8: da00 bge.n 74ec <_lv_blend_map+0xc04> - 74ea: e4d6 b.n 6e9a <_lv_blend_map+0x5b2> + 7536: 003b movs r3, r7 + 7538: e659 b.n 71ee <_lv_blend_map+0x89e> + 753a: 46c0 nop ; (mov r8, r8) + 753c: fffff81f .word 0xfffff81f + 7540: 00005bb7 .word 0x00005bb7 + 7544: 00005b11 .word 0x00005b11 + 7548: 9b05 ldr r3, [sp, #20] + 754a: 4699 mov r9, r3 + 754c: 9b07 ldr r3, [sp, #28] + 754e: 429e cmp r6, r3 + 7550: da00 bge.n 7554 <_lv_blend_map+0xc04> + 7552: e4d6 b.n 6f02 <_lv_blend_map+0x5b2> disp_buf_first += disp_w; - 74ec: 9b08 ldr r3, [sp, #32] - 74ee: 9a0e ldr r2, [sp, #56] ; 0x38 - 74f0: 4694 mov ip, r2 - 74f2: 4463 add r3, ip - 74f4: 9308 str r3, [sp, #32] - 74f6: 9b0a ldr r3, [sp, #40] ; 0x28 - 74f8: 9a0c ldr r2, [sp, #48] ; 0x30 - 74fa: 4694 mov ip, r2 - 74fc: 4463 add r3, ip - 74fe: 930a str r3, [sp, #40] ; 0x28 + 7554: 9b08 ldr r3, [sp, #32] + 7556: 9a0e ldr r2, [sp, #56] ; 0x38 + 7558: 4694 mov ip, r2 + 755a: 4463 add r3, ip + 755c: 9308 str r3, [sp, #32] + 755e: 9b0a ldr r3, [sp, #40] ; 0x28 + 7560: 9a0c ldr r2, [sp, #48] ; 0x30 + 7562: 4694 mov ip, r2 + 7564: 4463 add r3, ip + 7566: 930a str r3, [sp, #40] ; 0x28 map_buf_first += map_w; - 7500: 9b09 ldr r3, [sp, #36] ; 0x24 - 7502: 9a0f ldr r2, [sp, #60] ; 0x3c - 7504: 4694 mov ip, r2 - 7506: 4463 add r3, ip - 7508: 9309 str r3, [sp, #36] ; 0x24 + 7568: 9b09 ldr r3, [sp, #36] ; 0x24 + 756a: 9a0f ldr r2, [sp, #60] ; 0x3c + 756c: 4694 mov ip, r2 + 756e: 4463 add r3, ip + 7570: 9309 str r3, [sp, #36] ; 0x24 for(y = 0; y < draw_area_h; y++) { - 750a: 9b0d ldr r3, [sp, #52] ; 0x34 - 750c: 3301 adds r3, #1 - 750e: 930d str r3, [sp, #52] ; 0x34 - 7510: 9a0b ldr r2, [sp, #44] ; 0x2c - 7512: 429a cmp r2, r3 - 7514: dc01 bgt.n 751a <_lv_blend_map+0xc32> - 7516: f7ff f9fd bl 6914 <_lv_blend_map+0x2c> + 7572: 9b0d ldr r3, [sp, #52] ; 0x34 + 7574: 3301 adds r3, #1 + 7576: 930d str r3, [sp, #52] ; 0x34 + 7578: 9a0b ldr r2, [sp, #44] ; 0x2c + 757a: 429a cmp r2, r3 + 757c: dc01 bgt.n 7582 <_lv_blend_map+0xc32> + 757e: f7ff f9fd bl 697c <_lv_blend_map+0x2c> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 751a: 464b mov r3, r9 - 751c: 2b00 cmp r3, #0 - 751e: dd0f ble.n 7540 <_lv_blend_map+0xc58> - 7520: 9b0a ldr r3, [sp, #40] ; 0x28 - 7522: 2203 movs r2, #3 - 7524: 4213 tst r3, r2 - 7526: d0cf beq.n 74c8 <_lv_blend_map+0xbe0> - 7528: 9a09 ldr r2, [sp, #36] ; 0x24 - 752a: 4690 mov r8, r2 - 752c: 9a08 ldr r2, [sp, #32] - 752e: 001f movs r7, r3 - 7530: 2600 movs r6, #0 + 7582: 464b mov r3, r9 + 7584: 2b00 cmp r3, #0 + 7586: dd0f ble.n 75a8 <_lv_blend_map+0xc58> + 7588: 9b0a ldr r3, [sp, #40] ; 0x28 + 758a: 2203 movs r2, #3 + 758c: 4213 tst r3, r2 + 758e: d0cf beq.n 7530 <_lv_blend_map+0xbe0> + 7590: 9a09 ldr r2, [sp, #36] ; 0x24 + 7592: 4690 mov r8, r2 + 7594: 9a08 ldr r2, [sp, #32] + 7596: 001f movs r7, r3 + 7598: 2600 movs r6, #0 MAP_NORMAL_MASK_PX(x) - 7532: 4b05 ldr r3, [pc, #20] ; (7548 <_lv_blend_map+0xc60>) - 7534: 469a mov sl, r3 - 7536: 464b mov r3, r9 - 7538: 9305 str r3, [sp, #20] - 753a: 4640 mov r0, r8 - 753c: 0011 movs r1, r2 - 753e: e452 b.n 6de6 <_lv_blend_map+0x4fe> + 759a: 4b05 ldr r3, [pc, #20] ; (75b0 <_lv_blend_map+0xc60>) + 759c: 469a mov sl, r3 + 759e: 464b mov r3, r9 + 75a0: 9305 str r3, [sp, #20] + 75a2: 4640 mov r0, r8 + 75a4: 0011 movs r1, r2 + 75a6: e452 b.n 6e4e <_lv_blend_map+0x4fe> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 7540: 9f0a ldr r7, [sp, #40] ; 0x28 - 7542: 2600 movs r6, #0 - 7544: e7ce b.n 74e4 <_lv_blend_map+0xbfc> - 7546: 46c0 nop ; (mov r8, r8) - 7548: fffff81f .word 0xfffff81f + 75a8: 9f0a ldr r7, [sp, #40] ; 0x28 + 75aa: 2600 movs r6, #0 + 75ac: e7ce b.n 754c <_lv_blend_map+0xbfc> + 75ae: 46c0 nop ; (mov r8, r8) + 75b0: fffff81f .word 0xfffff81f -0000754c : +000075b4 : * @param antialias anti-alias transformations (rotate, zoom) or not */ LV_ATTRIBUTE_FAST_MEM static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area, const uint8_t * map_p, lv_draw_img_dsc_t * draw_dsc, bool chroma_key, bool alpha_byte) { - 754c: b5f0 push {r4, r5, r6, r7, lr} - 754e: 46de mov lr, fp - 7550: 4657 mov r7, sl - 7552: 464e mov r6, r9 - 7554: 4645 mov r5, r8 - 7556: b5e0 push {r5, r6, r7, lr} - 7558: b0bf sub sp, #252 ; 0xfc - 755a: 901c str r0, [sp, #112] ; 0x70 - 755c: 0008 movs r0, r1 - 755e: 9124 str r1, [sp, #144] ; 0x90 - 7560: 4690 mov r8, r2 - 7562: 930a str r3, [sp, #40] ; 0x28 - 7564: ab48 add r3, sp, #288 ; 0x120 - 7566: 781b ldrb r3, [r3, #0] - 7568: 930b str r3, [sp, #44] ; 0x2c - 756a: ab49 add r3, sp, #292 ; 0x124 - 756c: 781b ldrb r3, [r3, #0] - 756e: 9307 str r3, [sp, #28] - 7570: 2300 movs r3, #0 + 75b4: b5f0 push {r4, r5, r6, r7, lr} + 75b6: 46de mov lr, fp + 75b8: 4657 mov r7, sl + 75ba: 464e mov r6, r9 + 75bc: 4645 mov r5, r8 + 75be: b5e0 push {r5, r6, r7, lr} + 75c0: b0bf sub sp, #252 ; 0xfc + 75c2: 901c str r0, [sp, #112] ; 0x70 + 75c4: 0008 movs r0, r1 + 75c6: 9124 str r1, [sp, #144] ; 0x90 + 75c8: 4690 mov r8, r2 + 75ca: 930a str r3, [sp, #40] ; 0x28 + 75cc: ab48 add r3, sp, #288 ; 0x120 + 75ce: 781b ldrb r3, [r3, #0] + 75d0: 930b str r3, [sp, #44] ; 0x2c + 75d2: ab49 add r3, sp, #292 ; 0x124 + 75d4: 781b ldrb r3, [r3, #0] + 75d6: 9307 str r3, [sp, #28] + 75d8: 2300 movs r3, #0 { uint8_t * d8 = (uint8_t *)dst; const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 7572: a93c add r1, sp, #240 ; 0xf0 - 7574: 5cc2 ldrb r2, [r0, r3] - 7576: 545a strb r2, [r3, r1] - 7578: 3301 adds r3, #1 + 75da: a93c add r1, sp, #240 ; 0xf0 + 75dc: 5cc2 ldrb r2, [r0, r3] + 75de: 545a strb r2, [r3, r1] + 75e0: 3301 adds r3, #1 while(len) { - 757a: 2b08 cmp r3, #8 - 757c: d1fa bne.n 7574 + 75e2: 2b08 cmp r3, #8 + 75e4: d1fa bne.n 75dc /* Use the clip area as draw area*/ lv_area_t draw_area; lv_area_copy(&draw_area, clip_area); lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 757e: 4bb7 ldr r3, [pc, #732] ; (785c ) - 7580: 4798 blx r3 + 75e6: 4bb7 ldr r3, [pc, #732] ; (78c4 ) + 75e8: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 7582: 4bb7 ldr r3, [pc, #732] ; (7860 ) - 7584: 4798 blx r3 - 7586: 9019 str r0, [sp, #100] ; 0x64 + 75ea: 4bb7 ldr r3, [pc, #732] ; (78c8 ) + 75ec: 4798 blx r3 + 75ee: 9019 str r0, [sp, #100] ; 0x64 const lv_area_t * disp_area = &vdb->area; /* Now `draw_area` has absolute coordinates. * Make it relative to `disp_area` to simplify draw to `disp_buf`*/ draw_area.x1 -= disp_area->x1; - 7588: 8a04 ldrh r4, [r0, #16] - 758a: ab3c add r3, sp, #240 ; 0xf0 - 758c: 881a ldrh r2, [r3, #0] - 758e: 1b12 subs r2, r2, r4 - 7590: 801a strh r2, [r3, #0] + 75f0: 8a04 ldrh r4, [r0, #16] + 75f2: ab3c add r3, sp, #240 ; 0xf0 + 75f4: 881a ldrh r2, [r3, #0] + 75f6: 1b12 subs r2, r2, r4 + 75f8: 801a strh r2, [r3, #0] draw_area.y1 -= disp_area->y1; - 7592: 8a40 ldrh r0, [r0, #18] - 7594: 885a ldrh r2, [r3, #2] - 7596: 1a12 subs r2, r2, r0 - 7598: 805a strh r2, [r3, #2] + 75fa: 8a40 ldrh r0, [r0, #18] + 75fc: 885a ldrh r2, [r3, #2] + 75fe: 1a12 subs r2, r2, r0 + 7600: 805a strh r2, [r3, #2] draw_area.x2 -= disp_area->x1; - 759a: 8899 ldrh r1, [r3, #4] - 759c: 1b09 subs r1, r1, r4 - 759e: 8099 strh r1, [r3, #4] + 7602: 8899 ldrh r1, [r3, #4] + 7604: 1b09 subs r1, r1, r4 + 7606: 8099 strh r1, [r3, #4] draw_area.y2 -= disp_area->y1; - 75a0: 88da ldrh r2, [r3, #6] - 75a2: 1a12 subs r2, r2, r0 - 75a4: 80da strh r2, [r3, #6] + 7608: 88da ldrh r2, [r3, #6] + 760a: 1a12 subs r2, r2, r0 + 760c: 80da strh r2, [r3, #6] uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - 75a6: 4baf ldr r3, [pc, #700] ; (7864 ) - 75a8: 4798 blx r3 - 75aa: 901a str r0, [sp, #104] ; 0x68 + 760e: 4baf ldr r3, [pc, #700] ; (78cc ) + 7610: 4798 blx r3 + 7612: 901a str r0, [sp, #104] ; 0x68 /*The simplest case just copy the pixels into the VDB*/ if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE && - 75ac: 2800 cmp r0, #0 - 75ae: d108 bne.n 75c2 - 75b0: 9a0a ldr r2, [sp, #40] ; 0x28 - 75b2: 8853 ldrh r3, [r2, #2] - 75b4: 2b00 cmp r3, #0 - 75b6: d104 bne.n 75c2 - 75b8: 3301 adds r3, #1 - 75ba: 33ff adds r3, #255 ; 0xff - 75bc: 8912 ldrh r2, [r2, #8] - 75be: 429a cmp r2, r3 - 75c0: d072 beq.n 76a8 + 7614: 2800 cmp r0, #0 + 7616: d108 bne.n 762a + 7618: 9a0a ldr r2, [sp, #40] ; 0x28 + 761a: 8853 ldrh r3, [r2, #2] + 761c: 2b00 cmp r3, #0 + 761e: d104 bne.n 762a + 7620: 3301 adds r3, #1 + 7622: 33ff adds r3, #255 ; 0xff + 7624: 8912 ldrh r2, [r2, #8] + 7626: 429a cmp r2, r3 + 7628: d072 beq.n 7710 draw_dsc->blend_mode); } /*In the other cases every pixel need to be checked one-by-one*/ else { /*The pixel size in byte is different if an alpha byte is added too*/ uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 75c2: 9b07 ldr r3, [sp, #28] - 75c4: 1e5a subs r2, r3, #1 - 75c6: 4193 sbcs r3, r2 - 75c8: 3302 adds r3, #2 - 75ca: 4699 mov r9, r3 - 75cc: 9b1c ldr r3, [sp, #112] ; 0x70 - 75ce: 2200 movs r2, #0 - 75d0: 5e99 ldrsh r1, [r3, r2] - 75d2: 468c mov ip, r1 - 75d4: 889f ldrh r7, [r3, #4] - 75d6: 3701 adds r7, #1 - 75d8: 1a7f subs r7, r7, r1 - 75da: b23f sxth r7, r7 + 762a: 9b07 ldr r3, [sp, #28] + 762c: 1e5a subs r2, r3, #1 + 762e: 4193 sbcs r3, r2 + 7630: 3302 adds r3, #2 + 7632: 4699 mov r9, r3 + 7634: 9b1c ldr r3, [sp, #112] ; 0x70 + 7636: 2200 movs r2, #0 + 7638: 5e99 ldrsh r1, [r3, r2] + 763a: 468c mov ip, r1 + 763c: 889f ldrh r7, [r3, #4] + 763e: 3701 adds r7, #1 + 7640: 1a7f subs r7, r7, r1 + 7642: b23f sxth r7, r7 /*Go to the first displayed pixel of the map*/ int32_t map_w = lv_area_get_width(map_area); const uint8_t * map_buf_tmp = map_p; map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte; - 75dc: a93c add r1, sp, #240 ; 0xf0 - 75de: 2202 movs r2, #2 - 75e0: 5e8d ldrsh r5, [r1, r2] - 75e2: 9a19 ldr r2, [sp, #100] ; 0x64 - 75e4: 2612 movs r6, #18 - 75e6: 5f94 ldrsh r4, [r2, r6] - 75e8: 46ca mov sl, r9 + 7644: a93c add r1, sp, #240 ; 0xf0 + 7646: 2202 movs r2, #2 + 7648: 5e8d ldrsh r5, [r1, r2] + 764a: 9a19 ldr r2, [sp, #100] ; 0x64 + 764c: 2612 movs r6, #18 + 764e: 5f94 ldrsh r4, [r2, r6] + 7650: 46ca mov sl, r9 map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte; - 75ea: 2000 movs r0, #0 - 75ec: 5e0e ldrsh r6, [r1, r0] - 75ee: 2010 movs r0, #16 - 75f0: 5e12 ldrsh r2, [r2, r0] + 7652: 2000 movs r0, #0 + 7654: 5e0e ldrsh r6, [r1, r0] + 7656: 2010 movs r0, #16 + 7658: 5e12 ldrsh r2, [r2, r0] map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte; - 75f2: 2002 movs r0, #2 - 75f4: 5e1b ldrsh r3, [r3, r0] - 75f6: 1b1b subs r3, r3, r4 - 75f8: 1aeb subs r3, r5, r3 - 75fa: 437b muls r3, r7 + 765a: 2002 movs r0, #2 + 765c: 5e1b ldrsh r3, [r3, r0] + 765e: 1b1b subs r3, r3, r4 + 7660: 1aeb subs r3, r5, r3 + 7662: 437b muls r3, r7 map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte; - 75fc: 4660 mov r0, ip - 75fe: 1a80 subs r0, r0, r2 - 7600: 1a30 subs r0, r6, r0 - 7602: 18c0 adds r0, r0, r3 - 7604: 464b mov r3, r9 - 7606: 4358 muls r0, r3 - 7608: 0003 movs r3, r0 - 760a: 4443 add r3, r8 - 760c: 9315 str r3, [sp, #84] ; 0x54 + 7664: 4660 mov r0, ip + 7666: 1a80 subs r0, r0, r2 + 7668: 1a30 subs r0, r6, r0 + 766a: 18c0 adds r0, r0, r3 + 766c: 464b mov r3, r9 + 766e: 4358 muls r0, r3 + 7670: 0003 movs r3, r0 + 7672: 4443 add r3, r8 + 7674: 9315 str r3, [sp, #84] ; 0x54 uint32_t px_i = 0; const uint8_t * map_px; lv_area_t blend_area; blend_area.x1 = draw_area.x1 + disp_area->x1; - 760e: b2b6 uxth r6, r6 - 7610: 18b2 adds r2, r6, r2 - 7612: b292 uxth r2, r2 - 7614: a828 add r0, sp, #160 ; 0xa0 - 7616: 8002 strh r2, [r0, #0] - 7618: 888b ldrh r3, [r1, #4] - 761a: 3301 adds r3, #1 - 761c: 1b9b subs r3, r3, r6 - 761e: b29b uxth r3, r3 - 7620: b21e sxth r6, r3 - 7622: 9617 str r6, [sp, #92] ; 0x5c + 7676: b2b6 uxth r6, r6 + 7678: 18b2 adds r2, r6, r2 + 767a: b292 uxth r2, r2 + 767c: a828 add r0, sp, #160 ; 0xa0 + 767e: 8002 strh r2, [r0, #0] + 7680: 888b ldrh r3, [r1, #4] + 7682: 3301 adds r3, #1 + 7684: 1b9b subs r3, r3, r6 + 7686: b29b uxth r3, r3 + 7688: b21e sxth r6, r3 + 768a: 9617 str r6, [sp, #92] ; 0x5c blend_area.x2 = blend_area.x1 + lv_area_get_width(&draw_area) - 1; - 7624: 3b01 subs r3, #1 - 7626: 18d3 adds r3, r2, r3 - 7628: 8083 strh r3, [r0, #4] + 768c: 3b01 subs r3, #1 + 768e: 18d3 adds r3, r2, r3 + 7690: 8083 strh r3, [r0, #4] blend_area.y1 = disp_area->y1 + draw_area.y1; - 762a: b2ad uxth r5, r5 - 762c: 192c adds r4, r5, r4 - 762e: b224 sxth r4, r4 - 7630: 8044 strh r4, [r0, #2] + 7692: b2ad uxth r5, r5 + 7694: 192c adds r4, r5, r4 + 7696: b224 sxth r4, r4 + 7698: 8044 strh r4, [r0, #2] blend_area.y2 = blend_area.y1; - 7632: 80c4 strh r4, [r0, #6] + 769a: 80c4 strh r4, [r0, #6] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 7634: 88cb ldrh r3, [r1, #6] - 7636: 3301 adds r3, #1 - 7638: 1b5d subs r5, r3, r5 - 763a: b22d sxth r5, r5 + 769c: 88cb ldrh r3, [r1, #6] + 769e: 3301 adds r3, #1 + 76a0: 1b5d subs r5, r3, r5 + 76a2: b22d sxth r5, r5 lv_coord_t draw_area_h = lv_area_get_height(&draw_area); lv_coord_t draw_area_w = lv_area_get_width(&draw_area); #if LV_USE_IMG_TRANSFORM bool transform = draw_dsc->angle != 0 || draw_dsc->zoom != LV_IMG_ZOOM_NONE ? true : false; - 763c: 980a ldr r0, [sp, #40] ; 0x28 - 763e: 8843 ldrh r3, [r0, #2] - 7640: 2b00 cmp r3, #0 - 7642: d000 beq.n 7646 - 7644: e344 b.n 7cd0 - 7646: 8902 ldrh r2, [r0, #8] - 7648: 1e53 subs r3, r2, #1 - 764a: 3bff subs r3, #255 ; 0xff - 764c: 1e59 subs r1, r3, #1 - 764e: 418b sbcs r3, r1 - 7650: b2db uxtb r3, r3 - 7652: 469b mov fp, r3 + 76a4: 980a ldr r0, [sp, #40] ; 0x28 + 76a6: 8843 ldrh r3, [r0, #2] + 76a8: 2b00 cmp r3, #0 + 76aa: d000 beq.n 76ae + 76ac: e344 b.n 7d38 + 76ae: 8902 ldrh r2, [r0, #8] + 76b0: 1e53 subs r3, r2, #1 + 76b2: 3bff subs r3, #255 ; 0xff + 76b4: 1e59 subs r1, r3, #1 + 76b6: 418b sbcs r3, r1 + 76b8: b2db uxtb r3, r3 + 76ba: 469b mov fp, r3 #else bool transform = false; #endif /*Simple ARGB image. Handle it as special case because it's very common*/ if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 7654: 9b1a ldr r3, [sp, #104] ; 0x68 - 7656: 2b00 cmp r3, #0 - 7658: d000 beq.n 765c - 765a: e0d5 b.n 7808 - 765c: 3301 adds r3, #1 - 765e: 33ff adds r3, #255 ; 0xff - 7660: 429a cmp r2, r3 - 7662: d000 beq.n 7666 - 7664: e33a b.n 7cdc - 7666: 9b0b ldr r3, [sp, #44] ; 0x2c - 7668: 2b00 cmp r3, #0 - 766a: d105 bne.n 7678 - 766c: 7a83 ldrb r3, [r0, #10] - 766e: 2b00 cmp r3, #0 - 7670: d102 bne.n 7678 - 7672: 9b07 ldr r3, [sp, #28] - 7674: 2b00 cmp r3, #0 - 7676: d134 bne.n 76e2 + 76bc: 9b1a ldr r3, [sp, #104] ; 0x68 + 76be: 2b00 cmp r3, #0 + 76c0: d000 beq.n 76c4 + 76c2: e0d5 b.n 7870 + 76c4: 3301 adds r3, #1 + 76c6: 33ff adds r3, #255 ; 0xff + 76c8: 429a cmp r2, r3 + 76ca: d000 beq.n 76ce + 76cc: e33a b.n 7d44 + 76ce: 9b0b ldr r3, [sp, #44] ; 0x2c + 76d0: 2b00 cmp r3, #0 + 76d2: d105 bne.n 76e0 + 76d4: 7a83 ldrb r3, [r0, #10] + 76d6: 2b00 cmp r3, #0 + 76d8: d102 bne.n 76e0 + 76da: 9b07 ldr r3, [sp, #28] + 76dc: 2b00 cmp r3, #0 + 76de: d134 bne.n 774a _lv_mem_buf_release(map2); } /*Most complicated case: transform or other mask or chroma keyed*/ else { /*Build the image and a mask line-by-line*/ uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 7678: a83c add r0, sp, #240 ; 0xf0 - 767a: 4b7b ldr r3, [pc, #492] ; (7868 ) - 767c: 4798 blx r3 - 767e: 23f0 movs r3, #240 ; 0xf0 - 7680: 005b lsls r3, r3, #1 - 7682: 4298 cmp r0, r3 - 7684: d800 bhi.n 7688 - 7686: e0ca b.n 781e + 76e0: a83c add r0, sp, #240 ; 0xf0 + 76e2: 4b7b ldr r3, [pc, #492] ; (78d0 ) + 76e4: 4798 blx r3 + 76e6: 23f0 movs r3, #240 ; 0xf0 + 76e8: 005b lsls r3, r3, #1 + 76ea: 4298 cmp r0, r3 + 76ec: d800 bhi.n 76f0 + 76ee: e0ca b.n 7886 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 7688: 20f0 movs r0, #240 ; 0xf0 - 768a: 0080 lsls r0, r0, #2 - 768c: 4c77 ldr r4, [pc, #476] ; (786c ) - 768e: 47a0 blx r4 - 7690: 901b str r0, [sp, #108] ; 0x6c + 76f0: 20f0 movs r0, #240 ; 0xf0 + 76f2: 0080 lsls r0, r0, #2 + 76f4: 4c77 ldr r4, [pc, #476] ; (78d4 ) + 76f6: 47a0 blx r4 + 76f8: 901b str r0, [sp, #108] ; 0x6c lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 7692: 26f0 movs r6, #240 ; 0xf0 - 7694: 0076 lsls r6, r6, #1 - 7696: 0030 movs r0, r6 - 7698: 47a0 blx r4 - 769a: 9018 str r0, [sp, #96] ; 0x60 + 76fa: 26f0 movs r6, #240 ; 0xf0 + 76fc: 0076 lsls r6, r6, #1 + 76fe: 0030 movs r0, r6 + 7700: 47a0 blx r4 + 7702: 9018 str r0, [sp, #96] ; 0x60 #if LV_USE_IMG_TRANSFORM lv_img_transform_dsc_t trans_dsc; _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 769c: 2148 movs r1, #72 ; 0x48 - 769e: a82a add r0, sp, #168 ; 0xa8 - 76a0: 4b73 ldr r3, [pc, #460] ; (7870 ) - 76a2: 4798 blx r3 + 7704: 2148 movs r1, #72 ; 0x48 + 7706: a82a add r0, sp, #168 ; 0xa8 + 7708: 4b73 ldr r3, [pc, #460] ; (78d8 ) + 770a: 4798 blx r3 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 76a4: 961d str r6, [sp, #116] ; 0x74 - 76a6: e355 b.n 7d54 + 770c: 961d str r6, [sp, #116] ; 0x74 + 770e: e355 b.n 7dbc if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE && - 76a8: 9b0b ldr r3, [sp, #44] ; 0x2c - 76aa: 2b00 cmp r3, #0 - 76ac: d189 bne.n 75c2 + 7710: 9b0b ldr r3, [sp, #44] ; 0x2c + 7712: 2b00 cmp r3, #0 + 7714: d189 bne.n 762a chroma_key == false && alpha_byte == false && draw_dsc->recolor_opa == LV_OPA_TRANSP) { - 76ae: 9b07 ldr r3, [sp, #28] - 76b0: 2b00 cmp r3, #0 - 76b2: d113 bne.n 76dc - 76b4: 9b0a ldr r3, [sp, #40] ; 0x28 - 76b6: 7a9b ldrb r3, [r3, #10] + 7716: 9b07 ldr r3, [sp, #28] + 7718: 2b00 cmp r3, #0 + 771a: d113 bne.n 7744 + 771c: 9b0a ldr r3, [sp, #40] ; 0x28 + 771e: 7a9b ldrb r3, [r3, #10] uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 76b8: 2202 movs r2, #2 - 76ba: 4691 mov r9, r2 + 7720: 2202 movs r2, #2 + 7722: 4691 mov r9, r2 chroma_key == false && alpha_byte == false && draw_dsc->recolor_opa == LV_OPA_TRANSP) { - 76bc: 2b00 cmp r3, #0 - 76be: d185 bne.n 75cc + 7724: 2b00 cmp r3, #0 + 7726: d185 bne.n 7634 _lv_blend_map(clip_area, map_area, (lv_color_t *)map_p, NULL, LV_DRAW_MASK_RES_FULL_COVER, draw_dsc->opa, - 76c0: 9a0a ldr r2, [sp, #40] ; 0x28 - 76c2: 7b93 ldrb r3, [r2, #14] - 76c4: 9302 str r3, [sp, #8] - 76c6: 7813 ldrb r3, [r2, #0] - 76c8: 9301 str r3, [sp, #4] - 76ca: 2301 movs r3, #1 - 76cc: 9300 str r3, [sp, #0] - 76ce: 2300 movs r3, #0 - 76d0: 4642 mov r2, r8 - 76d2: 991c ldr r1, [sp, #112] ; 0x70 - 76d4: 9824 ldr r0, [sp, #144] ; 0x90 - 76d6: 4c67 ldr r4, [pc, #412] ; (7874 ) - 76d8: 47a0 blx r4 - 76da: e2dd b.n 7c98 + 7728: 9a0a ldr r2, [sp, #40] ; 0x28 + 772a: 7b93 ldrb r3, [r2, #14] + 772c: 9302 str r3, [sp, #8] + 772e: 7813 ldrb r3, [r2, #0] + 7730: 9301 str r3, [sp, #4] + 7732: 2301 movs r3, #1 + 7734: 9300 str r3, [sp, #0] + 7736: 2300 movs r3, #0 + 7738: 4642 mov r2, r8 + 773a: 991c ldr r1, [sp, #112] ; 0x70 + 773c: 9824 ldr r0, [sp, #144] ; 0x90 + 773e: 4c67 ldr r4, [pc, #412] ; (78dc ) + 7740: 47a0 blx r4 + 7742: e2dd b.n 7d00 uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 76dc: 2303 movs r3, #3 - 76de: 4699 mov r9, r3 - 76e0: e774 b.n 75cc + 7744: 2303 movs r3, #3 + 7746: 4699 mov r9, r3 + 7748: e774 b.n 7634 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 76e2: a83c add r0, sp, #240 ; 0xf0 - 76e4: 4b60 ldr r3, [pc, #384] ; (7868 ) - 76e6: 4798 blx r3 - 76e8: 23f0 movs r3, #240 ; 0xf0 - 76ea: 005b lsls r3, r3, #1 - 76ec: 4298 cmp r0, r3 - 76ee: d819 bhi.n 7724 - 76f0: a83c add r0, sp, #240 ; 0xf0 - 76f2: 4b5d ldr r3, [pc, #372] ; (7868 ) - 76f4: 4798 blx r3 - 76f6: 9007 str r0, [sp, #28] + 774a: a83c add r0, sp, #240 ; 0xf0 + 774c: 4b60 ldr r3, [pc, #384] ; (78d0 ) + 774e: 4798 blx r3 + 7750: 23f0 movs r3, #240 ; 0xf0 + 7752: 005b lsls r3, r3, #1 + 7754: 4298 cmp r0, r3 + 7756: d819 bhi.n 778c + 7758: a83c add r0, sp, #240 ; 0xf0 + 775a: 4b5d ldr r3, [pc, #372] ; (78d0 ) + 775c: 4798 blx r3 + 775e: 9007 str r0, [sp, #28] lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 76f8: 9e07 ldr r6, [sp, #28] - 76fa: 0070 lsls r0, r6, #1 - 76fc: 4c5b ldr r4, [pc, #364] ; (786c ) - 76fe: 47a0 blx r4 - 7700: 9005 str r0, [sp, #20] + 7760: 9e07 ldr r6, [sp, #28] + 7762: 0070 lsls r0, r6, #1 + 7764: 4c5b ldr r4, [pc, #364] ; (78d4 ) + 7766: 47a0 blx r4 + 7768: 9005 str r0, [sp, #20] lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 7702: 0030 movs r0, r6 - 7704: 47a0 blx r4 - 7706: 9006 str r0, [sp, #24] + 776a: 0030 movs r0, r6 + 776c: 47a0 blx r4 + 776e: 9006 str r0, [sp, #24] for(y = 0; y < draw_area_h; y++) { - 7708: 2d00 cmp r5, #0 - 770a: dd61 ble.n 77d0 + 7770: 2d00 cmp r5, #0 + 7772: dd61 ble.n 7838 map_buf_tmp += map_w * px_size_byte; - 770c: 4653 mov r3, sl - 770e: 437b muls r3, r7 - 7710: 469a mov sl, r3 - 7712: 1c6b adds r3, r5, #1 - 7714: 469b mov fp, r3 - 7716: 2301 movs r3, #1 - 7718: 4698 mov r8, r3 - 771a: 2700 movs r7, #0 + 7774: 4653 mov r3, sl + 7776: 437b muls r3, r7 + 7778: 469a mov sl, r3 + 777a: 1c6b adds r3, r5, #1 + 777c: 469b mov fp, r3 + 777e: 2301 movs r3, #1 + 7780: 4698 mov r8, r3 + 7782: 2700 movs r7, #0 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 771c: 9d17 ldr r5, [sp, #92] ; 0x5c - 771e: 003e movs r6, r7 - 7720: 464c mov r4, r9 - 7722: e031 b.n 7788 + 7784: 9d17 ldr r5, [sp, #92] ; 0x5c + 7786: 003e movs r6, r7 + 7788: 464c mov r4, r9 + 778a: e031 b.n 77f0 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 7724: 23f0 movs r3, #240 ; 0xf0 - 7726: 005b lsls r3, r3, #1 - 7728: 9307 str r3, [sp, #28] - 772a: e7e5 b.n 76f8 + 778c: 23f0 movs r3, #240 ; 0xf0 + 778e: 005b lsls r3, r3, #1 + 7790: 9307 str r3, [sp, #28] + 7792: e7e5 b.n 7760 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 772c: 3301 adds r3, #1 - 772e: 1912 adds r2, r2, r4 - 7730: 3702 adds r7, #2 - 7732: 42ab cmp r3, r5 - 7734: da09 bge.n 774a + 7794: 3301 adds r3, #1 + 7796: 1912 adds r2, r2, r4 + 7798: 3702 adds r7, #2 + 779a: 42ab cmp r3, r5 + 779c: da09 bge.n 77b2 lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - 7736: 7891 ldrb r1, [r2, #2] + 779e: 7891 ldrb r1, [r2, #2] mask_buf[px_i] = px_opa; - 7738: 54c1 strb r1, [r0, r3] + 77a0: 54c1 strb r1, [r0, r3] if(px_opa) { - 773a: 2900 cmp r1, #0 - 773c: d0f6 beq.n 772c + 77a2: 2900 cmp r1, #0 + 77a4: d0f6 beq.n 7794 map2[px_i].full = map_px[0] + (map_px[1] << 8); - 773e: 7856 ldrb r6, [r2, #1] - 7740: 0236 lsls r6, r6, #8 - 7742: 7811 ldrb r1, [r2, #0] - 7744: 1989 adds r1, r1, r6 - 7746: 8039 strh r1, [r7, #0] - 7748: e7f0 b.n 772c - 774a: 4666 mov r6, ip - 774c: 9b17 ldr r3, [sp, #92] ; 0x5c - 774e: 469c mov ip, r3 - 7750: 4466 add r6, ip + 77a6: 7856 ldrb r6, [r2, #1] + 77a8: 0236 lsls r6, r6, #8 + 77aa: 7811 ldrb r1, [r2, #0] + 77ac: 1989 adds r1, r1, r6 + 77ae: 8039 strh r1, [r7, #0] + 77b0: e7f0 b.n 7794 + 77b2: 4666 mov r6, ip + 77b4: 9b17 ldr r3, [sp, #92] ; 0x5c + 77b6: 469c mov ip, r3 + 77b8: 4466 add r6, ip map_buf_tmp += map_w * px_size_byte; - 7752: 9b15 ldr r3, [sp, #84] ; 0x54 - 7754: 4453 add r3, sl - 7756: 9315 str r3, [sp, #84] ; 0x54 + 77ba: 9b15 ldr r3, [sp, #84] ; 0x54 + 77bc: 4453 add r3, sl + 77be: 9315 str r3, [sp, #84] ; 0x54 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 7758: ab24 add r3, sp, #144 ; 0x90 - 775a: 2264 movs r2, #100 ; 0x64 - 775c: 189b adds r3, r3, r2 - 775e: 881b ldrh r3, [r3, #0] - 7760: 3301 adds r3, #1 - 7762: aa24 add r2, sp, #144 ; 0x90 - 7764: 2160 movs r1, #96 ; 0x60 - 7766: 1852 adds r2, r2, r1 - 7768: 8812 ldrh r2, [r2, #0] - 776a: 1a9b subs r3, r3, r2 + 77c0: ab24 add r3, sp, #144 ; 0x90 + 77c2: 2264 movs r2, #100 ; 0x64 + 77c4: 189b adds r3, r3, r2 + 77c6: 881b ldrh r3, [r3, #0] + 77c8: 3301 adds r3, #1 + 77ca: aa24 add r2, sp, #144 ; 0x90 + 77cc: 2160 movs r1, #96 ; 0x60 + 77ce: 1852 adds r2, r2, r1 + 77d0: 8812 ldrh r2, [r2, #0] + 77d2: 1a9b subs r3, r3, r2 if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) { - 776c: b21b sxth r3, r3 - 776e: 199b adds r3, r3, r6 - 7770: 9a07 ldr r2, [sp, #28] - 7772: 429a cmp r2, r3 - 7774: d917 bls.n 77a6 + 77d4: b21b sxth r3, r3 + 77d6: 199b adds r3, r3, r6 + 77d8: 9a07 ldr r2, [sp, #28] + 77da: 429a cmp r2, r3 + 77dc: d917 bls.n 780e blend_area.y2 ++; - 7776: aa28 add r2, sp, #160 ; 0xa0 - 7778: 88d3 ldrh r3, [r2, #6] - 777a: 3301 adds r3, #1 - 777c: 80d3 strh r3, [r2, #6] - 777e: 2301 movs r3, #1 - 7780: 469c mov ip, r3 - 7782: 44e0 add r8, ip + 77de: aa28 add r2, sp, #160 ; 0xa0 + 77e0: 88d3 ldrh r3, [r2, #6] + 77e2: 3301 adds r3, #1 + 77e4: 80d3 strh r3, [r2, #6] + 77e6: 2301 movs r3, #1 + 77e8: 469c mov ip, r3 + 77ea: 44e0 add r8, ip for(y = 0; y < draw_area_h; y++) { - 7784: 45d8 cmp r8, fp - 7786: d023 beq.n 77d0 + 77ec: 45d8 cmp r8, fp + 77ee: d023 beq.n 7838 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 7788: 9b17 ldr r3, [sp, #92] ; 0x5c - 778a: 2b00 cmp r3, #0 - 778c: dde1 ble.n 7752 - 778e: 0077 lsls r7, r6, #1 - 7790: 9b05 ldr r3, [sp, #20] - 7792: 469c mov ip, r3 - 7794: 4467 add r7, ip - 7796: 9a15 ldr r2, [sp, #84] ; 0x54 - 7798: 2300 movs r3, #0 + 77f0: 9b17 ldr r3, [sp, #92] ; 0x5c + 77f2: 2b00 cmp r3, #0 + 77f4: dde1 ble.n 77ba + 77f6: 0077 lsls r7, r6, #1 + 77f8: 9b05 ldr r3, [sp, #20] + 77fa: 469c mov ip, r3 + 77fc: 4467 add r7, ip + 77fe: 9a15 ldr r2, [sp, #84] ; 0x54 + 7800: 2300 movs r3, #0 mask_buf[px_i] = px_opa; - 779a: 9906 ldr r1, [sp, #24] - 779c: 468c mov ip, r1 - 779e: 44b4 add ip, r6 - 77a0: 4660 mov r0, ip - 77a2: 46b4 mov ip, r6 - 77a4: e7c7 b.n 7736 + 7802: 9906 ldr r1, [sp, #24] + 7804: 468c mov ip, r1 + 7806: 44b4 add ip, r6 + 7808: 4660 mov r0, ip + 780a: 46b4 mov ip, r6 + 780c: e7c7 b.n 779e _lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode); - 77a6: af28 add r7, sp, #160 ; 0xa0 - 77a8: 9a0a ldr r2, [sp, #40] ; 0x28 - 77aa: 7b93 ldrb r3, [r2, #14] - 77ac: 9302 str r3, [sp, #8] - 77ae: 7813 ldrb r3, [r2, #0] - 77b0: 9301 str r3, [sp, #4] - 77b2: 2302 movs r3, #2 - 77b4: 9300 str r3, [sp, #0] - 77b6: 9b06 ldr r3, [sp, #24] - 77b8: 9a05 ldr r2, [sp, #20] - 77ba: 0039 movs r1, r7 - 77bc: 9824 ldr r0, [sp, #144] ; 0x90 - 77be: 4e2d ldr r6, [pc, #180] ; (7874 ) - 77c0: 47b0 blx r6 + 780e: af28 add r7, sp, #160 ; 0xa0 + 7810: 9a0a ldr r2, [sp, #40] ; 0x28 + 7812: 7b93 ldrb r3, [r2, #14] + 7814: 9302 str r3, [sp, #8] + 7816: 7813 ldrb r3, [r2, #0] + 7818: 9301 str r3, [sp, #4] + 781a: 2302 movs r3, #2 + 781c: 9300 str r3, [sp, #0] + 781e: 9b06 ldr r3, [sp, #24] + 7820: 9a05 ldr r2, [sp, #20] + 7822: 0039 movs r1, r7 + 7824: 9824 ldr r0, [sp, #144] ; 0x90 + 7826: 4e2d ldr r6, [pc, #180] ; (78dc ) + 7828: 47b0 blx r6 blend_area.y1 = blend_area.y2 + 1; - 77c2: 88fb ldrh r3, [r7, #6] - 77c4: 3301 adds r3, #1 - 77c6: b21b sxth r3, r3 - 77c8: 807b strh r3, [r7, #2] + 782a: 88fb ldrh r3, [r7, #6] + 782c: 3301 adds r3, #1 + 782e: b21b sxth r3, r3 + 7830: 807b strh r3, [r7, #2] blend_area.y2 = blend_area.y1; - 77ca: 80fb strh r3, [r7, #6] + 7832: 80fb strh r3, [r7, #6] px_i = 0; - 77cc: 2600 movs r6, #0 - 77ce: e7d6 b.n 777e + 7834: 2600 movs r6, #0 + 7836: e7d6 b.n 77e6 if(blend_area.y1 != blend_area.y2) { - 77d0: aa28 add r2, sp, #160 ; 0xa0 - 77d2: 2106 movs r1, #6 - 77d4: 5e53 ldrsh r3, [r2, r1] - 77d6: 2102 movs r1, #2 - 77d8: 5e52 ldrsh r2, [r2, r1] - 77da: 429a cmp r2, r3 - 77dc: d00e beq.n 77fc + 7838: aa28 add r2, sp, #160 ; 0xa0 + 783a: 2106 movs r1, #6 + 783c: 5e53 ldrsh r3, [r2, r1] + 783e: 2102 movs r1, #2 + 7840: 5e52 ldrsh r2, [r2, r1] + 7842: 429a cmp r2, r3 + 7844: d00e beq.n 7864 blend_area.y2--; - 77de: a928 add r1, sp, #160 ; 0xa0 - 77e0: 3b01 subs r3, #1 - 77e2: 80cb strh r3, [r1, #6] + 7846: a928 add r1, sp, #160 ; 0xa0 + 7848: 3b01 subs r3, #1 + 784a: 80cb strh r3, [r1, #6] _lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode); - 77e4: 9a0a ldr r2, [sp, #40] ; 0x28 - 77e6: 7b93 ldrb r3, [r2, #14] - 77e8: 9302 str r3, [sp, #8] - 77ea: 7813 ldrb r3, [r2, #0] - 77ec: 9301 str r3, [sp, #4] - 77ee: 2302 movs r3, #2 - 77f0: 9300 str r3, [sp, #0] - 77f2: 9b06 ldr r3, [sp, #24] - 77f4: 9a05 ldr r2, [sp, #20] - 77f6: 9824 ldr r0, [sp, #144] ; 0x90 - 77f8: 4c1e ldr r4, [pc, #120] ; (7874 ) - 77fa: 47a0 blx r4 + 784c: 9a0a ldr r2, [sp, #40] ; 0x28 + 784e: 7b93 ldrb r3, [r2, #14] + 7850: 9302 str r3, [sp, #8] + 7852: 7813 ldrb r3, [r2, #0] + 7854: 9301 str r3, [sp, #4] + 7856: 2302 movs r3, #2 + 7858: 9300 str r3, [sp, #0] + 785a: 9b06 ldr r3, [sp, #24] + 785c: 9a05 ldr r2, [sp, #20] + 785e: 9824 ldr r0, [sp, #144] ; 0x90 + 7860: 4c1e ldr r4, [pc, #120] ; (78dc ) + 7862: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - 77fc: 9806 ldr r0, [sp, #24] - 77fe: 4c1e ldr r4, [pc, #120] ; (7878 ) - 7800: 47a0 blx r4 + 7864: 9806 ldr r0, [sp, #24] + 7866: 4c1e ldr r4, [pc, #120] ; (78e0 ) + 7868: 47a0 blx r4 _lv_mem_buf_release(map2); - 7802: 9805 ldr r0, [sp, #20] - 7804: 47a0 blx r4 + 786a: 9805 ldr r0, [sp, #20] + 786c: 47a0 blx r4 if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 7806: e247 b.n 7c98 + 786e: e247 b.n 7d00 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 7808: a83c add r0, sp, #240 ; 0xf0 - 780a: 4b17 ldr r3, [pc, #92] ; (7868 ) - 780c: 4798 blx r3 - 780e: 23f0 movs r3, #240 ; 0xf0 - 7810: 005b lsls r3, r3, #1 - 7812: 4298 cmp r0, r3 - 7814: d903 bls.n 781e - 7816: 23f0 movs r3, #240 ; 0xf0 - 7818: 005b lsls r3, r3, #1 - 781a: 931d str r3, [sp, #116] ; 0x74 - 781c: e003 b.n 7826 - 781e: a83c add r0, sp, #240 ; 0xf0 - 7820: 4b11 ldr r3, [pc, #68] ; (7868 ) - 7822: 4798 blx r3 - 7824: 901d str r0, [sp, #116] ; 0x74 + 7870: a83c add r0, sp, #240 ; 0xf0 + 7872: 4b17 ldr r3, [pc, #92] ; (78d0 ) + 7874: 4798 blx r3 + 7876: 23f0 movs r3, #240 ; 0xf0 + 7878: 005b lsls r3, r3, #1 + 787a: 4298 cmp r0, r3 + 787c: d903 bls.n 7886 + 787e: 23f0 movs r3, #240 ; 0xf0 + 7880: 005b lsls r3, r3, #1 + 7882: 931d str r3, [sp, #116] ; 0x74 + 7884: e003 b.n 788e + 7886: a83c add r0, sp, #240 ; 0xf0 + 7888: 4b11 ldr r3, [pc, #68] ; (78d0 ) + 788a: 4798 blx r3 + 788c: 901d str r0, [sp, #116] ; 0x74 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 7826: 9e1d ldr r6, [sp, #116] ; 0x74 - 7828: 0070 lsls r0, r6, #1 - 782a: 4c10 ldr r4, [pc, #64] ; (786c ) - 782c: 47a0 blx r4 - 782e: 901b str r0, [sp, #108] ; 0x6c + 788e: 9e1d ldr r6, [sp, #116] ; 0x74 + 7890: 0070 lsls r0, r6, #1 + 7892: 4c10 ldr r4, [pc, #64] ; (78d4 ) + 7894: 47a0 blx r4 + 7896: 901b str r0, [sp, #108] ; 0x6c lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 7830: 0030 movs r0, r6 - 7832: 47a0 blx r4 - 7834: 9018 str r0, [sp, #96] ; 0x60 + 7898: 0030 movs r0, r6 + 789a: 47a0 blx r4 + 789c: 9018 str r0, [sp, #96] ; 0x60 _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 7836: 2148 movs r1, #72 ; 0x48 - 7838: a82a add r0, sp, #168 ; 0xa8 - 783a: 4b0d ldr r3, [pc, #52] ; (7870 ) - 783c: 4798 blx r3 + 789e: 2148 movs r1, #72 ; 0x48 + 78a0: a82a add r0, sp, #168 ; 0xa8 + 78a2: 4b0d ldr r3, [pc, #52] ; (78d8 ) + 78a4: 4798 blx r3 if(transform) { - 783e: 465b mov r3, fp - 7840: 2b00 cmp r3, #0 - 7842: d100 bne.n 7846 - 7844: e286 b.n 7d54 - 7846: e260 b.n 7d0a + 78a6: 465b mov r3, fp + 78a8: 2b00 cmp r3, #0 + 78aa: d100 bne.n 78ae + 78ac: e286 b.n 7dbc + 78ae: e260 b.n 7d72 trans_dsc.cfg.antialias = draw_dsc->antialias; _lv_img_buf_transform_init(&trans_dsc); } #endif uint16_t recolor_premult[3] = {0}; - 7848: 2300 movs r3, #0 - 784a: 9314 str r3, [sp, #80] ; 0x50 - 784c: 9312 str r3, [sp, #72] ; 0x48 - 784e: 9311 str r3, [sp, #68] ; 0x44 - 7850: e297 b.n 7d82 + 78b0: 2300 movs r3, #0 + 78b2: 9314 str r3, [sp, #80] ; 0x50 + 78b4: 9312 str r3, [sp, #72] ; 0x48 + 78b6: 9311 str r3, [sp, #68] ; 0x44 + 78b8: e297 b.n 7dea draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; /*Prepare the `mask_buf`if there are other masks*/ if(other_mask_cnt) { _lv_memset_ff(mask_buf, mask_buf_size); - 7852: 991d ldr r1, [sp, #116] ; 0x74 - 7854: 9818 ldr r0, [sp, #96] ; 0x60 - 7856: 4b09 ldr r3, [pc, #36] ; (787c ) - 7858: 4798 blx r3 - 785a: e2a9 b.n 7db0 - 785c: 00004349 .word 0x00004349 - 7860: 0000f6a1 .word 0x0000f6a1 - 7864: 0000a659 .word 0x0000a659 - 7868: 0000fb8b .word 0x0000fb8b - 786c: 00010e59 .word 0x00010e59 - 7870: 00010fe5 .word 0x00010fe5 - 7874: 000068e9 .word 0x000068e9 - 7878: 00010b6d .word 0x00010b6d - 787c: 00011089 .word 0x00011089 + 78ba: 991d ldr r1, [sp, #116] ; 0x74 + 78bc: 9818 ldr r0, [sp, #96] ; 0x60 + 78be: 4b09 ldr r3, [pc, #36] ; (78e4 ) + 78c0: 4798 blx r3 + 78c2: e2a9 b.n 7e18 + 78c4: 000043b1 .word 0x000043b1 + 78c8: 0000f709 .word 0x0000f709 + 78cc: 0000a6c1 .word 0x0000a6c1 + 78d0: 0000fbf3 .word 0x0000fbf3 + 78d4: 00010ec1 .word 0x00010ec1 + 78d8: 0001104d .word 0x0001104d + 78dc: 00006951 .word 0x00006951 + 78e0: 00010bd5 .word 0x00010bd5 + 78e4: 000110f1 .word 0x000110f1 static inline bool _lv_img_buf_transform(lv_img_transform_dsc_t * dsc, lv_coord_t x, lv_coord_t y) { const uint8_t * src_u8 = (const uint8_t *)dsc->cfg.src; /*Get the target point relative coordinates to the pivot*/ int32_t xt = x - dsc->cfg.pivot_x; - 7880: 9b0d ldr r3, [sp, #52] ; 0x34 - 7882: 18f3 adds r3, r6, r3 - 7884: b21b sxth r3, r3 - 7886: a92a add r1, sp, #168 ; 0xa8 - 7888: 2008 movs r0, #8 - 788a: 5e0a ldrsh r2, [r1, r0] - 788c: 1a9b subs r3, r3, r2 + 78e8: 9b0d ldr r3, [sp, #52] ; 0x34 + 78ea: 18f3 adds r3, r6, r3 + 78ec: b21b sxth r3, r3 + 78ee: a92a add r1, sp, #168 ; 0xa8 + 78f0: 2008 movs r0, #8 + 78f2: 5e0a ldrsh r2, [r1, r0] + 78f4: 1a9b subs r3, r3, r2 int32_t yt = y - dsc->cfg.pivot_y; - 788e: 200a movs r0, #10 - 7890: 5e0a ldrsh r2, [r1, r0] - 7892: 980e ldr r0, [sp, #56] ; 0x38 - 7894: 1a82 subs r2, r0, r2 + 78f6: 200a movs r0, #10 + 78f8: 5e0a ldrsh r2, [r1, r0] + 78fa: 980e ldr r0, [sp, #56] ; 0x38 + 78fc: 1a82 subs r2, r0, r2 int32_t xs; int32_t ys; if(dsc->cfg.zoom == LV_IMG_ZOOM_NONE) { - 7896: 2080 movs r0, #128 ; 0x80 - 7898: 0040 lsls r0, r0, #1 - 789a: 89c9 ldrh r1, [r1, #14] - 789c: 4281 cmp r1, r0 - 789e: d059 beq.n 7954 + 78fe: 2080 movs r0, #128 ; 0x80 + 7900: 0040 lsls r0, r0, #1 + 7902: 89c9 ldrh r1, [r1, #14] + 7904: 4281 cmp r1, r0 + 7906: d059 beq.n 79bc /*Get the source pixel from the upscaled image*/ xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_x_256; ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_y_256; } else if(dsc->cfg.angle == 0) { - 78a0: a92a add r1, sp, #168 ; 0xa8 - 78a2: 200c movs r0, #12 - 78a4: 5e09 ldrsh r1, [r1, r0] - 78a6: 2900 cmp r1, #0 - 78a8: d16b bne.n 7982 + 7908: a92a add r1, sp, #168 ; 0xa8 + 790a: 200c movs r0, #12 + 790c: 5e09 ldrsh r1, [r1, r0] + 790e: 2900 cmp r1, #0 + 7910: d16b bne.n 79ea xt *= dsc->tmp.zoom_inv; - 78aa: a92a add r1, sp, #168 ; 0xa8 - 78ac: 8ec8 ldrh r0, [r1, #54] ; 0x36 - 78ae: 4343 muls r3, r0 - 78b0: 001d movs r5, r3 + 7912: a92a add r1, sp, #168 ; 0xa8 + 7914: 8ec8 ldrh r0, [r1, #54] ; 0x36 + 7916: 4343 muls r3, r0 + 7918: 001d movs r5, r3 yt *= dsc->tmp.zoom_inv; xs = xt + dsc->tmp.pivot_x_256; - 78b2: 9b33 ldr r3, [sp, #204] ; 0xcc - 78b4: 469a mov sl, r3 - 78b6: 44aa add sl, r5 + 791a: 9b33 ldr r3, [sp, #204] ; 0xcc + 791c: 469a mov sl, r3 + 791e: 44aa add sl, r5 yt *= dsc->tmp.zoom_inv; - 78b8: 4342 muls r2, r0 + 7920: 4342 muls r2, r0 ys = yt + dsc->tmp.pivot_y_256; - 78ba: 9b34 ldr r3, [sp, #208] ; 0xd0 - 78bc: 18d3 adds r3, r2, r3 - 78be: 930c str r3, [sp, #48] ; 0x30 + 7922: 9b34 ldr r3, [sp, #208] ; 0xd0 + 7924: 18d3 adds r3, r2, r3 + 7926: 930c str r3, [sp, #48] ; 0x30 xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_x_256; ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_y_256; } /*Get the integer part of the source pixel*/ int32_t xs_int = xs >> 8; - 78c0: 4653 mov r3, sl - 78c2: 121b asrs r3, r3, #8 - 78c4: 4698 mov r8, r3 + 7928: 4653 mov r3, sl + 792a: 121b asrs r3, r3, #8 + 792c: 4698 mov r8, r3 int32_t ys_int = ys >> 8; if(xs_int >= dsc->cfg.src_w) return false; - 78c6: ab2a add r3, sp, #168 ; 0xa8 - 78c8: 2204 movs r2, #4 - 78ca: 5e9b ldrsh r3, [r3, r2] - 78cc: 4598 cmp r8, r3 - 78ce: db00 blt.n 78d2 - 78d0: e0b0 b.n 7a34 + 792e: ab2a add r3, sp, #168 ; 0xa8 + 7930: 2204 movs r2, #4 + 7932: 5e9b ldrsh r3, [r3, r2] + 7934: 4598 cmp r8, r3 + 7936: db00 blt.n 793a + 7938: e0b0 b.n 7a9c else if(xs_int < 0) return false; - 78d2: 4642 mov r2, r8 - 78d4: 2a00 cmp r2, #0 - 78d6: da00 bge.n 78da - 78d8: e0ac b.n 7a34 + 793a: 4642 mov r2, r8 + 793c: 2a00 cmp r2, #0 + 793e: da00 bge.n 7942 + 7940: e0ac b.n 7a9c int32_t ys_int = ys >> 8; - 78da: 9a0c ldr r2, [sp, #48] ; 0x30 - 78dc: 1212 asrs r2, r2, #8 - 78de: 0010 movs r0, r2 - 78e0: 9216 str r2, [sp, #88] ; 0x58 + 7942: 9a0c ldr r2, [sp, #48] ; 0x30 + 7944: 1212 asrs r2, r2, #8 + 7946: 0010 movs r0, r2 + 7948: 9216 str r2, [sp, #88] ; 0x58 if(ys_int >= dsc->cfg.src_h) return false; - 78e2: aa2a add r2, sp, #168 ; 0xa8 - 78e4: 2106 movs r1, #6 - 78e6: 5e52 ldrsh r2, [r2, r1] - 78e8: 4290 cmp r0, r2 - 78ea: db00 blt.n 78ee - 78ec: e0a2 b.n 7a34 + 794a: aa2a add r2, sp, #168 ; 0xa8 + 794c: 2106 movs r1, #6 + 794e: 5e52 ldrsh r2, [r2, r1] + 7950: 4290 cmp r0, r2 + 7952: db00 blt.n 7956 + 7954: e0a2 b.n 7a9c else if(ys_int < 0) return false; - 78ee: 2800 cmp r0, #0 - 78f0: da00 bge.n 78f4 - 78f2: e09f b.n 7a34 + 7956: 2800 cmp r0, #0 + 7958: da00 bge.n 795c + 795a: e09f b.n 7a9c uint8_t px_size; uint32_t pxi; if(dsc->tmp.native_color) { - 78f4: 2234 movs r2, #52 ; 0x34 - 78f6: a92a add r1, sp, #168 ; 0xa8 - 78f8: 5c89 ldrb r1, [r1, r2] - 78fa: 074a lsls r2, r1, #29 - 78fc: d56a bpl.n 79d4 + 795c: 2234 movs r2, #52 ; 0x34 + 795e: a92a add r1, sp, #168 ; 0xa8 + 7960: 5c89 ldrb r1, [r1, r2] + 7962: 074a lsls r2, r1, #29 + 7964: d56a bpl.n 7a3c const uint8_t * src_u8 = (const uint8_t *)dsc->cfg.src; - 78fe: 9a2a ldr r2, [sp, #168] ; 0xa8 + 7966: 9a2a ldr r2, [sp, #168] ; 0xa8 if(dsc->tmp.has_alpha == 0) { - 7900: 0789 lsls r1, r1, #30 - 7902: d458 bmi.n 79b6 + 7968: 0789 lsls r1, r1, #30 + 796a: d458 bmi.n 7a1e px_size = LV_COLOR_SIZE >> 3; pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size; - 7904: 4343 muls r3, r0 - 7906: 4443 add r3, r8 - 7908: 005b lsls r3, r3, #1 + 796c: 4343 muls r3, r0 + 796e: 4443 add r3, r8 + 7970: 005b lsls r3, r3, #1 _lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size); - 790a: 18d2 adds r2, r2, r3 + 7972: 18d2 adds r2, r2, r3 *d8 = *s8; - 790c: 7810 ldrb r0, [r2, #0] - 790e: a92a add r1, sp, #168 ; 0xa8 - 7910: 7508 strb r0, [r1, #20] - 7912: 7852 ldrb r2, [r2, #1] - 7914: 754a strb r2, [r1, #21] + 7974: 7810 ldrb r0, [r2, #0] + 7976: a92a add r1, sp, #168 ; 0xa8 + 7978: 7508 strb r0, [r1, #20] + 797a: 7852 ldrb r2, [r2, #1] + 797c: 754a strb r2, [r1, #21] px_size = LV_COLOR_SIZE >> 3; - 7916: 2102 movs r1, #2 + 797e: 2102 movs r1, #2 px_size = 0; /*unused*/ dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color); dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int); } if(dsc->tmp.chroma_keyed) { - 7918: 2234 movs r2, #52 ; 0x34 - 791a: a82a add r0, sp, #168 ; 0xa8 - 791c: 5c82 ldrb r2, [r0, r2] - 791e: 07d2 lsls r2, r2, #31 - 7920: d50f bpl.n 7942 + 7980: 2234 movs r2, #52 ; 0x34 + 7982: a82a add r0, sp, #168 ; 0xa8 + 7984: 5c82 ldrb r2, [r0, r2] + 7986: 07d2 lsls r2, r2, #31 + 7988: d50f bpl.n 79aa lv_color_t ct = LV_COLOR_TRANSP; - 7922: 221f movs r2, #31 - 7924: 9822 ldr r0, [sp, #136] ; 0x88 - 7926: 4390 bics r0, r2 - 7928: 22fc movs r2, #252 ; 0xfc - 792a: 00d2 lsls r2, r2, #3 - 792c: 4302 orrs r2, r0 - 792e: 0552 lsls r2, r2, #21 - 7930: 0d52 lsrs r2, r2, #21 - 7932: 4668 mov r0, sp - 7934: 2588 movs r5, #136 ; 0x88 - 7936: 1940 adds r0, r0, r5 - 7938: 8002 strh r2, [r0, #0] + 798a: 221f movs r2, #31 + 798c: 9822 ldr r0, [sp, #136] ; 0x88 + 798e: 4390 bics r0, r2 + 7990: 22fc movs r2, #252 ; 0xfc + 7992: 00d2 lsls r2, r2, #3 + 7994: 4302 orrs r2, r0 + 7996: 0552 lsls r2, r2, #21 + 7998: 0d52 lsrs r2, r2, #21 + 799a: 4668 mov r0, sp + 799c: 2588 movs r5, #136 ; 0x88 + 799e: 1940 adds r0, r0, r5 + 79a0: 8002 strh r2, [r0, #0] if(dsc->res.color.full == ct.full) return false; - 793a: a82a add r0, sp, #168 ; 0xa8 - 793c: 8a80 ldrh r0, [r0, #20] - 793e: 4290 cmp r0, r2 - 7940: d078 beq.n 7a34 + 79a2: a82a add r0, sp, #168 ; 0xa8 + 79a4: 8a80 ldrh r0, [r0, #20] + 79a6: 4290 cmp r0, r2 + 79a8: d078 beq.n 7a9c } if(dsc->cfg.antialias == false) return true; - 7942: aa2a add r2, sp, #168 ; 0xa8 - 7944: 7cd2 ldrb r2, [r2, #19] - 7946: 2a00 cmp r2, #0 - 7948: d160 bne.n 7a0c + 79aa: aa2a add r2, sp, #168 ; 0xa8 + 79ac: 7cd2 ldrb r2, [r2, #19] + 79ae: 2a00 cmp r2, #0 + 79b0: d160 bne.n 7a74 if(ret == false) { mask_buf[px_i] = LV_OPA_TRANSP; continue; } else { mask_buf[px_i] = trans_dsc.res.opa; - 794a: ab2a add r3, sp, #168 ; 0xa8 - 794c: 7d9a ldrb r2, [r3, #22] - 794e: 7022 strb r2, [r4, #0] + 79b2: ab2a add r3, sp, #168 ; 0xa8 + 79b4: 7d9a ldrb r2, [r3, #22] + 79b6: 7022 strb r2, [r4, #0] c.full = trans_dsc.res.color.full; - 7950: 8a9b ldrh r3, [r3, #20] - 7952: e080 b.n 7a56 + 79b8: 8a9b ldrh r3, [r3, #20] + 79ba: e080 b.n 7abe xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_x_256; - 7954: 9936 ldr r1, [sp, #216] ; 0xd8 - 7956: 9835 ldr r0, [sp, #212] ; 0xd4 - 7958: 0005 movs r5, r0 - 795a: 910c str r1, [sp, #48] ; 0x30 - 795c: 0008 movs r0, r1 - 795e: 4358 muls r0, r3 - 7960: 0029 movs r1, r5 - 7962: 4351 muls r1, r2 - 7964: 1a41 subs r1, r0, r1 - 7966: 11c9 asrs r1, r1, #7 - 7968: 9833 ldr r0, [sp, #204] ; 0xcc - 796a: 9016 str r0, [sp, #88] ; 0x58 - 796c: 4682 mov sl, r0 - 796e: 448a add sl, r1 + 79bc: 9936 ldr r1, [sp, #216] ; 0xd8 + 79be: 9835 ldr r0, [sp, #212] ; 0xd4 + 79c0: 0005 movs r5, r0 + 79c2: 910c str r1, [sp, #48] ; 0x30 + 79c4: 0008 movs r0, r1 + 79c6: 4358 muls r0, r3 + 79c8: 0029 movs r1, r5 + 79ca: 4351 muls r1, r2 + 79cc: 1a41 subs r1, r0, r1 + 79ce: 11c9 asrs r1, r1, #7 + 79d0: 9833 ldr r0, [sp, #204] ; 0xcc + 79d2: 9016 str r0, [sp, #88] ; 0x58 + 79d4: 4682 mov sl, r0 + 79d6: 448a add sl, r1 ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_y_256; - 7970: 436b muls r3, r5 - 7972: 980c ldr r0, [sp, #48] ; 0x30 - 7974: 4342 muls r2, r0 - 7976: 189b adds r3, r3, r2 - 7978: 11db asrs r3, r3, #7 - 797a: 9a34 ldr r2, [sp, #208] ; 0xd0 - 797c: 189b adds r3, r3, r2 - 797e: 930c str r3, [sp, #48] ; 0x30 - 7980: e79e b.n 78c0 + 79d8: 436b muls r3, r5 + 79da: 980c ldr r0, [sp, #48] ; 0x30 + 79dc: 4342 muls r2, r0 + 79de: 189b adds r3, r3, r2 + 79e0: 11db asrs r3, r3, #7 + 79e2: 9a34 ldr r2, [sp, #208] ; 0xd0 + 79e4: 189b adds r3, r3, r2 + 79e6: 930c str r3, [sp, #48] ; 0x30 + 79e8: e79e b.n 7928 xt *= dsc->tmp.zoom_inv; - 7982: a92a add r1, sp, #168 ; 0xa8 - 7984: 8ec8 ldrh r0, [r1, #54] ; 0x36 - 7986: 4343 muls r3, r0 - 7988: 001d movs r5, r3 + 79ea: a92a add r1, sp, #168 ; 0xa8 + 79ec: 8ec8 ldrh r0, [r1, #54] ; 0x36 + 79ee: 4343 muls r3, r0 + 79f0: 001d movs r5, r3 yt *= dsc->tmp.zoom_inv; - 798a: 4342 muls r2, r0 + 79f2: 4342 muls r2, r0 xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_x_256; - 798c: 9836 ldr r0, [sp, #216] ; 0xd8 - 798e: 4358 muls r0, r3 - 7990: 4680 mov r8, r0 - 7992: 9835 ldr r0, [sp, #212] ; 0xd4 - 7994: 4350 muls r0, r2 - 7996: 4643 mov r3, r8 - 7998: 1a18 subs r0, r3, r0 - 799a: 13c0 asrs r0, r0, #15 - 799c: 9b33 ldr r3, [sp, #204] ; 0xcc - 799e: 469a mov sl, r3 - 79a0: 4482 add sl, r0 + 79f4: 9836 ldr r0, [sp, #216] ; 0xd8 + 79f6: 4358 muls r0, r3 + 79f8: 4680 mov r8, r0 + 79fa: 9835 ldr r0, [sp, #212] ; 0xd4 + 79fc: 4350 muls r0, r2 + 79fe: 4643 mov r3, r8 + 7a00: 1a18 subs r0, r3, r0 + 7a02: 13c0 asrs r0, r0, #15 + 7a04: 9b33 ldr r3, [sp, #204] ; 0xcc + 7a06: 469a mov sl, r3 + 7a08: 4482 add sl, r0 ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_y_256; - 79a2: 9b35 ldr r3, [sp, #212] ; 0xd4 - 79a4: 436b muls r3, r5 - 79a6: 9836 ldr r0, [sp, #216] ; 0xd8 - 79a8: 4350 muls r0, r2 - 79aa: 181b adds r3, r3, r0 - 79ac: 13db asrs r3, r3, #15 - 79ae: 9a34 ldr r2, [sp, #208] ; 0xd0 - 79b0: 189b adds r3, r3, r2 - 79b2: 930c str r3, [sp, #48] ; 0x30 - 79b4: e784 b.n 78c0 + 7a0a: 9b35 ldr r3, [sp, #212] ; 0xd4 + 7a0c: 436b muls r3, r5 + 7a0e: 9836 ldr r0, [sp, #216] ; 0xd8 + 7a10: 4350 muls r0, r2 + 7a12: 181b adds r3, r3, r0 + 7a14: 13db asrs r3, r3, #15 + 7a16: 9a34 ldr r2, [sp, #208] ; 0xd0 + 7a18: 189b adds r3, r3, r2 + 7a1a: 930c str r3, [sp, #48] ; 0x30 + 7a1c: e784 b.n 7928 pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size; - 79b6: 9916 ldr r1, [sp, #88] ; 0x58 - 79b8: 434b muls r3, r1 - 79ba: 4443 add r3, r8 - 79bc: 0059 lsls r1, r3, #1 - 79be: 18cb adds r3, r1, r3 + 7a1e: 9916 ldr r1, [sp, #88] ; 0x58 + 7a20: 434b muls r3, r1 + 7a22: 4443 add r3, r8 + 7a24: 0059 lsls r1, r3, #1 + 7a26: 18cb adds r3, r1, r3 _lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size - 1); - 79c0: 18d2 adds r2, r2, r3 - 79c2: 7810 ldrb r0, [r2, #0] - 79c4: a92a add r1, sp, #168 ; 0xa8 - 79c6: 7508 strb r0, [r1, #20] - 79c8: 7850 ldrb r0, [r2, #1] - 79ca: 7548 strb r0, [r1, #21] + 7a28: 18d2 adds r2, r2, r3 + 7a2a: 7810 ldrb r0, [r2, #0] + 7a2c: a92a add r1, sp, #168 ; 0xa8 + 7a2e: 7508 strb r0, [r1, #20] + 7a30: 7850 ldrb r0, [r2, #1] + 7a32: 7548 strb r0, [r1, #21] dsc->res.opa = src_u8[pxi + px_size - 1]; - 79cc: 7892 ldrb r2, [r2, #2] - 79ce: 758a strb r2, [r1, #22] + 7a34: 7892 ldrb r2, [r2, #2] + 7a36: 758a strb r2, [r1, #22] px_size = LV_IMG_PX_SIZE_ALPHA_BYTE; - 79d0: 2103 movs r1, #3 - 79d2: e7a1 b.n 7918 + 7a38: 2103 movs r1, #3 + 7a3a: e7a1 b.n 7980 dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color); - 79d4: 4643 mov r3, r8 - 79d6: b219 sxth r1, r3 - 79d8: 466b mov r3, sp - 79da: 2258 movs r2, #88 ; 0x58 - 79dc: 189b adds r3, r3, r2 - 79de: 2200 movs r2, #0 - 79e0: 5e9a ldrsh r2, [r3, r2] - 79e2: ab24 add r3, sp, #144 ; 0x90 - 79e4: 8d1b ldrh r3, [r3, #40] ; 0x28 - 79e6: 9226 str r2, [sp, #152] ; 0x98 - 79e8: 9125 str r1, [sp, #148] ; 0x94 - 79ea: a830 add r0, sp, #192 ; 0xc0 - 79ec: 4dae ldr r5, [pc, #696] ; (7ca8 ) - 79ee: 47a8 blx r5 - 79f0: ab24 add r3, sp, #144 ; 0x90 - 79f2: 8598 strh r0, [r3, #44] ; 0x2c + 7a3c: 4643 mov r3, r8 + 7a3e: b219 sxth r1, r3 + 7a40: 466b mov r3, sp + 7a42: 2258 movs r2, #88 ; 0x58 + 7a44: 189b adds r3, r3, r2 + 7a46: 2200 movs r2, #0 + 7a48: 5e9a ldrsh r2, [r3, r2] + 7a4a: ab24 add r3, sp, #144 ; 0x90 + 7a4c: 8d1b ldrh r3, [r3, #40] ; 0x28 + 7a4e: 9226 str r2, [sp, #152] ; 0x98 + 7a50: 9125 str r1, [sp, #148] ; 0x94 + 7a52: a830 add r0, sp, #192 ; 0xc0 + 7a54: 4dae ldr r5, [pc, #696] ; (7d10 ) + 7a56: 47a8 blx r5 + 7a58: ab24 add r3, sp, #144 ; 0x90 + 7a5a: 8598 strh r0, [r3, #44] ; 0x2c dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int); - 79f4: 9a26 ldr r2, [sp, #152] ; 0x98 - 79f6: 9925 ldr r1, [sp, #148] ; 0x94 - 79f8: a830 add r0, sp, #192 ; 0xc0 - 79fa: 4bac ldr r3, [pc, #688] ; (7cac ) - 79fc: 4798 blx r3 - 79fe: ab24 add r3, sp, #144 ; 0x90 - 7a00: 222e movs r2, #46 ; 0x2e - 7a02: 189b adds r3, r3, r2 - 7a04: 7018 strb r0, [r3, #0] + 7a5c: 9a26 ldr r2, [sp, #152] ; 0x98 + 7a5e: 9925 ldr r1, [sp, #148] ; 0x94 + 7a60: a830 add r0, sp, #192 ; 0xc0 + 7a62: 4bac ldr r3, [pc, #688] ; (7d14 ) + 7a64: 4798 blx r3 + 7a66: ab24 add r3, sp, #144 ; 0x90 + 7a68: 222e movs r2, #46 ; 0x2e + 7a6a: 189b adds r3, r3, r2 + 7a6c: 7018 strb r0, [r3, #0] pxi = 0; /*unused*/ - 7a06: 2300 movs r3, #0 + 7a6e: 2300 movs r3, #0 px_size = 0; /*unused*/ - 7a08: 2100 movs r1, #0 - 7a0a: e785 b.n 7918 + 7a70: 2100 movs r1, #0 + 7a72: e785 b.n 7980 dsc->tmp.xs = xs; - 7a0c: a82a add r0, sp, #168 ; 0xa8 - 7a0e: 4652 mov r2, sl - 7a10: 8702 strh r2, [r0, #56] ; 0x38 + 7a74: a82a add r0, sp, #168 ; 0xa8 + 7a76: 4652 mov r2, sl + 7a78: 8702 strh r2, [r0, #56] ; 0x38 dsc->tmp.ys = ys; - 7a12: 466a mov r2, sp - 7a14: 8e12 ldrh r2, [r2, #48] ; 0x30 - 7a16: 8742 strh r2, [r0, #58] ; 0x3a + 7a7a: 466a mov r2, sp + 7a7c: 8e12 ldrh r2, [r2, #48] ; 0x30 + 7a7e: 8742 strh r2, [r0, #58] ; 0x3a dsc->tmp.xs_int = xs_int; - 7a18: 4642 mov r2, r8 - 7a1a: 8782 strh r2, [r0, #60] ; 0x3c + 7a80: 4642 mov r2, r8 + 7a82: 8782 strh r2, [r0, #60] ; 0x3c dsc->tmp.ys_int = ys_int; - 7a1c: 466a mov r2, sp - 7a1e: 2558 movs r5, #88 ; 0x58 - 7a20: 1952 adds r2, r2, r5 - 7a22: 8812 ldrh r2, [r2, #0] - 7a24: 87c2 strh r2, [r0, #62] ; 0x3e + 7a84: 466a mov r2, sp + 7a86: 2558 movs r5, #88 ; 0x58 + 7a88: 1952 adds r2, r2, r5 + 7a8a: 8812 ldrh r2, [r2, #0] + 7a8c: 87c2 strh r2, [r0, #62] ; 0x3e dsc->tmp.pxi = pxi; - 7a26: 6403 str r3, [r0, #64] ; 0x40 + 7a8e: 6403 str r3, [r0, #64] ; 0x40 dsc->tmp.px_size = px_size; - 7a28: 2344 movs r3, #68 ; 0x44 - 7a2a: 54c1 strb r1, [r0, r3] + 7a90: 2344 movs r3, #68 ; 0x44 + 7a92: 54c1 strb r1, [r0, r3] bool ret; ret = _lv_img_buf_transform_anti_alias(dsc); - 7a2c: 4ba0 ldr r3, [pc, #640] ; (7cb0 ) - 7a2e: 4798 blx r3 + 7a94: 4ba0 ldr r3, [pc, #640] ; (7d18 ) + 7a96: 4798 blx r3 if(ret == false) { - 7a30: 2800 cmp r0, #0 - 7a32: d18a bne.n 794a + 7a98: 2800 cmp r0, #0 + 7a9a: d18a bne.n 79b2 mask_buf[px_i] = LV_OPA_TRANSP; - 7a34: 2300 movs r3, #0 - 7a36: 7023 strb r3, [r4, #0] + 7a9c: 2300 movs r3, #0 + 7a9e: 7023 strb r3, [r4, #0] continue; - 7a38: e042 b.n 7ac0 + 7aa0: e042 b.n 7b28 #endif continue; } } else { mask_buf[px_i] = 0xFF; - 7a3a: 23ff movs r3, #255 ; 0xff - 7a3c: 7023 strb r3, [r4, #0] + 7aa2: 23ff movs r3, #255 ; 0xff + 7aa4: 7023 strb r3, [r4, #0] } #if LV_COLOR_DEPTH == 8 c.full = map_px[0]; #elif LV_COLOR_DEPTH == 16 c.full = map_px[0] + (map_px[1] << 8); - 7a3e: 787a ldrb r2, [r7, #1] - 7a40: 0212 lsls r2, r2, #8 - 7a42: 783b ldrb r3, [r7, #0] - 7a44: 189b adds r3, r3, r2 - 7a46: b29b uxth r3, r3 + 7aa6: 787a ldrb r2, [r7, #1] + 7aa8: 0212 lsls r2, r2, #8 + 7aaa: 783b ldrb r3, [r7, #0] + 7aac: 189b adds r3, r3, r2 + 7aae: b29b uxth r3, r3 #elif LV_COLOR_DEPTH == 32 c.full = *((uint32_t *)map_px); c.ch.alpha = 0xFF; #endif if(chroma_key) { - 7a48: 9a0b ldr r2, [sp, #44] ; 0x2c - 7a4a: 2a00 cmp r2, #0 - 7a4c: d003 beq.n 7a56 + 7ab0: 9a0b ldr r2, [sp, #44] ; 0x2c + 7ab2: 2a00 cmp r2, #0 + 7ab4: d003 beq.n 7abe if(c.full == chroma_keyed_color.full) { - 7a4e: 4a99 ldr r2, [pc, #612] ; (7cb4 ) - 7a50: 8812 ldrh r2, [r2, #0] - 7a52: 429a cmp r2, r3 - 7a54: d04a beq.n 7aec + 7ab6: 4a99 ldr r2, [pc, #612] ; (7d1c ) + 7ab8: 8812 ldrh r2, [r2, #0] + 7aba: 429a cmp r2, r3 + 7abc: d04a beq.n 7b54 continue; } } } if(draw_dsc->recolor_opa != 0) { - 7a56: 9a0a ldr r2, [sp, #40] ; 0x28 - 7a58: 7a92 ldrb r2, [r2, #10] - 7a5a: 2a00 cmp r2, #0 - 7a5c: d02e beq.n 7abc + 7abe: 9a0a ldr r2, [sp, #40] ; 0x28 + 7ac0: 7a92 ldrb r2, [r2, #10] + 7ac2: 2a00 cmp r2, #0 + 7ac4: d02e beq.n 7b24 LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8); - 7a5e: 466a mov r2, sp - 7a60: 214c movs r1, #76 ; 0x4c - 7a62: 1852 adds r2, r2, r1 - 7a64: 8812 ldrh r2, [r2, #0] - 7a66: 0ad9 lsrs r1, r3, #11 - 7a68: 4694 mov ip, r2 - 7a6a: 4351 muls r1, r2 - 7a6c: 9a11 ldr r2, [sp, #68] ; 0x44 - 7a6e: 4690 mov r8, r2 - 7a70: 4441 add r1, r8 - 7a72: 04c9 lsls r1, r1, #19 - 7a74: 0ec9 lsrs r1, r1, #27 + 7ac6: 466a mov r2, sp + 7ac8: 214c movs r1, #76 ; 0x4c + 7aca: 1852 adds r2, r2, r1 + 7acc: 8812 ldrh r2, [r2, #0] + 7ace: 0ad9 lsrs r1, r3, #11 + 7ad0: 4694 mov ip, r2 + 7ad2: 4351 muls r1, r2 + 7ad4: 9a11 ldr r2, [sp, #68] ; 0x44 + 7ad6: 4690 mov r8, r2 + 7ad8: 4441 add r1, r8 + 7ada: 04c9 lsls r1, r1, #19 + 7adc: 0ec9 lsrs r1, r1, #27 LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8); - 7a76: 0558 lsls r0, r3, #21 - 7a78: 0e80 lsrs r0, r0, #26 - 7a7a: 4662 mov r2, ip - 7a7c: 4350 muls r0, r2 - 7a7e: 9a12 ldr r2, [sp, #72] ; 0x48 - 7a80: 4690 mov r8, r2 - 7a82: 4440 add r0, r8 - 7a84: 0480 lsls r0, r0, #18 + 7ade: 0558 lsls r0, r3, #21 + 7ae0: 0e80 lsrs r0, r0, #26 + 7ae2: 4662 mov r2, ip + 7ae4: 4350 muls r0, r2 + 7ae6: 9a12 ldr r2, [sp, #72] ; 0x48 + 7ae8: 4690 mov r8, r2 + 7aea: 4440 add r0, r8 + 7aec: 0480 lsls r0, r0, #18 LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8); - 7a86: 06da lsls r2, r3, #27 - 7a88: 0ed2 lsrs r2, r2, #27 - 7a8a: 4663 mov r3, ip - 7a8c: 435a muls r2, r3 - 7a8e: 9b14 ldr r3, [sp, #80] ; 0x50 - 7a90: 469c mov ip, r3 - 7a92: 4462 add r2, ip - 7a94: 04d2 lsls r2, r2, #19 - 7a96: 0ed5 lsrs r5, r2, #27 - 7a98: 231f movs r3, #31 - 7a9a: 9a08 ldr r2, [sp, #32] - 7a9c: 439a bics r2, r3 - 7a9e: 0013 movs r3, r2 - 7aa0: 002a movs r2, r5 - 7aa2: 431a orrs r2, r3 - 7aa4: 0e80 lsrs r0, r0, #26 - 7aa6: 0140 lsls r0, r0, #5 - 7aa8: 4b83 ldr r3, [pc, #524] ; (7cb8 ) - 7aaa: 4013 ands r3, r2 - 7aac: 4303 orrs r3, r0 - 7aae: 02c9 lsls r1, r1, #11 - 7ab0: 055b lsls r3, r3, #21 - 7ab2: 0d5b lsrs r3, r3, #21 - 7ab4: 430b orrs r3, r1 - 7ab6: 466a mov r2, sp - 7ab8: 8413 strh r3, [r2, #32] - 7aba: b29b uxth r3, r3 + 7aee: 06da lsls r2, r3, #27 + 7af0: 0ed2 lsrs r2, r2, #27 + 7af2: 4663 mov r3, ip + 7af4: 435a muls r2, r3 + 7af6: 9b14 ldr r3, [sp, #80] ; 0x50 + 7af8: 469c mov ip, r3 + 7afa: 4462 add r2, ip + 7afc: 04d2 lsls r2, r2, #19 + 7afe: 0ed5 lsrs r5, r2, #27 + 7b00: 231f movs r3, #31 + 7b02: 9a08 ldr r2, [sp, #32] + 7b04: 439a bics r2, r3 + 7b06: 0013 movs r3, r2 + 7b08: 002a movs r2, r5 + 7b0a: 431a orrs r2, r3 + 7b0c: 0e80 lsrs r0, r0, #26 + 7b0e: 0140 lsls r0, r0, #5 + 7b10: 4b83 ldr r3, [pc, #524] ; (7d20 ) + 7b12: 4013 ands r3, r2 + 7b14: 4303 orrs r3, r0 + 7b16: 02c9 lsls r1, r1, #11 + 7b18: 055b lsls r3, r3, #21 + 7b1a: 0d5b lsrs r3, r3, #21 + 7b1c: 430b orrs r3, r1 + 7b1e: 466a mov r2, sp + 7b20: 8413 strh r3, [r2, #32] + 7b22: b29b uxth r3, r3 c = lv_color_mix_premult(recolor_premult, c, recolor_opa_inv); } map2[px_i].full = c.full; - 7abc: 9a05 ldr r2, [sp, #20] - 7abe: 8013 strh r3, [r2, #0] + 7b24: 9a05 ldr r2, [sp, #20] + 7b26: 8013 strh r3, [r2, #0] for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 7ac0: 3601 adds r6, #1 - 7ac2: 9b06 ldr r3, [sp, #24] - 7ac4: 469c mov ip, r3 - 7ac6: 4467 add r7, ip - 7ac8: 3401 adds r4, #1 - 7aca: 9b05 ldr r3, [sp, #20] - 7acc: 3302 adds r3, #2 - 7ace: 9305 str r3, [sp, #20] - 7ad0: 454e cmp r6, r9 - 7ad2: da0e bge.n 7af2 + 7b28: 3601 adds r6, #1 + 7b2a: 9b06 ldr r3, [sp, #24] + 7b2c: 469c mov ip, r3 + 7b2e: 4467 add r7, ip + 7b30: 3401 adds r4, #1 + 7b32: 9b05 ldr r3, [sp, #20] + 7b34: 3302 adds r3, #2 + 7b36: 9305 str r3, [sp, #20] + 7b38: 454e cmp r6, r9 + 7b3a: da0e bge.n 7b5a if(transform) { - 7ad4: 465b mov r3, fp - 7ad6: 2b00 cmp r3, #0 - 7ad8: d000 beq.n 7adc - 7ada: e6d1 b.n 7880 + 7b3c: 465b mov r3, fp + 7b3e: 2b00 cmp r3, #0 + 7b40: d000 beq.n 7b44 + 7b42: e6d1 b.n 78e8 if(alpha_byte) { - 7adc: 9b07 ldr r3, [sp, #28] - 7ade: 2b00 cmp r3, #0 - 7ae0: d0ab beq.n 7a3a + 7b44: 9b07 ldr r3, [sp, #28] + 7b46: 2b00 cmp r3, #0 + 7b48: d0ab beq.n 7aa2 lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - 7ae2: 78bb ldrb r3, [r7, #2] + 7b4a: 78bb ldrb r3, [r7, #2] mask_buf[px_i] = px_opa; - 7ae4: 7023 strb r3, [r4, #0] + 7b4c: 7023 strb r3, [r4, #0] if(px_opa == 0) { - 7ae6: 2b00 cmp r3, #0 - 7ae8: d0ea beq.n 7ac0 - 7aea: e7a8 b.n 7a3e + 7b4e: 2b00 cmp r3, #0 + 7b50: d0ea beq.n 7b28 + 7b52: e7a8 b.n 7aa6 mask_buf[px_i] = LV_OPA_TRANSP; - 7aec: 2300 movs r3, #0 - 7aee: 7023 strb r3, [r4, #0] + 7b54: 2300 movs r3, #0 + 7b56: 7023 strb r3, [r4, #0] continue; - 7af0: e7e6 b.n 7ac0 - 7af2: 9b17 ldr r3, [sp, #92] ; 0x5c - 7af4: 9a0f ldr r2, [sp, #60] ; 0x3c - 7af6: 4694 mov ip, r2 - 7af8: 4463 add r3, ip - 7afa: 001c movs r4, r3 + 7b58: e7e6 b.n 7b28 + 7b5a: 9b17 ldr r3, [sp, #92] ; 0x5c + 7b5c: 9a0f ldr r2, [sp, #60] ; 0x3c + 7b5e: 4694 mov ip, r2 + 7b60: 4463 add r3, ip + 7b62: 001c movs r4, r3 } /*Apply the masks if any*/ if(other_mask_cnt) { - 7afc: 9b1a ldr r3, [sp, #104] ; 0x68 - 7afe: 2b00 cmp r3, #0 - 7b00: d148 bne.n 7b94 + 7b64: 9b1a ldr r3, [sp, #104] ; 0x68 + 7b66: 2b00 cmp r3, #0 + 7b68: d148 bne.n 7bfc else if(mask_res_sub == LV_DRAW_MASK_RES_CHANGED) { mask_res = LV_DRAW_MASK_RES_CHANGED; } } map_buf_tmp += map_w * px_size_byte; - 7b02: 9b15 ldr r3, [sp, #84] ; 0x54 - 7b04: 9a1f ldr r2, [sp, #124] ; 0x7c - 7b06: 4694 mov ip, r2 - 7b08: 4463 add r3, ip - 7b0a: 9315 str r3, [sp, #84] ; 0x54 - 7b0c: ab24 add r3, sp, #144 ; 0x90 - 7b0e: 2264 movs r2, #100 ; 0x64 - 7b10: 189b adds r3, r3, r2 - 7b12: 881b ldrh r3, [r3, #0] - 7b14: 3301 adds r3, #1 - 7b16: aa24 add r2, sp, #144 ; 0x90 - 7b18: 2160 movs r1, #96 ; 0x60 - 7b1a: 1852 adds r2, r2, r1 - 7b1c: 8812 ldrh r2, [r2, #0] - 7b1e: 1a9b subs r3, r3, r2 + 7b6a: 9b15 ldr r3, [sp, #84] ; 0x54 + 7b6c: 9a1f ldr r2, [sp, #124] ; 0x7c + 7b6e: 4694 mov ip, r2 + 7b70: 4463 add r3, ip + 7b72: 9315 str r3, [sp, #84] ; 0x54 + 7b74: ab24 add r3, sp, #144 ; 0x90 + 7b76: 2264 movs r2, #100 ; 0x64 + 7b78: 189b adds r3, r3, r2 + 7b7a: 881b ldrh r3, [r3, #0] + 7b7c: 3301 adds r3, #1 + 7b7e: aa24 add r2, sp, #144 ; 0x90 + 7b80: 2160 movs r1, #96 ; 0x60 + 7b82: 1852 adds r2, r2, r1 + 7b84: 8812 ldrh r2, [r2, #0] + 7b86: 1a9b subs r3, r3, r2 if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) { - 7b20: b21b sxth r3, r3 - 7b22: 191b adds r3, r3, r4 - 7b24: 9a1d ldr r2, [sp, #116] ; 0x74 - 7b26: 429a cmp r2, r3 - 7b28: d96c bls.n 7c04 + 7b88: b21b sxth r3, r3 + 7b8a: 191b adds r3, r3, r4 + 7b8c: 9a1d ldr r2, [sp, #116] ; 0x74 + 7b8e: 429a cmp r2, r3 + 7b90: d96c bls.n 7c6c blend_area.y2 ++; - 7b2a: aa28 add r2, sp, #160 ; 0xa0 - 7b2c: 88d3 ldrh r3, [r2, #6] - 7b2e: 3301 adds r3, #1 - 7b30: 80d3 strh r3, [r2, #6] - 7b32: 940f str r4, [sp, #60] ; 0x3c + 7b92: aa28 add r2, sp, #160 ; 0xa0 + 7b94: 88d3 ldrh r3, [r2, #6] + 7b96: 3301 adds r3, #1 + 7b98: 80d3 strh r3, [r2, #6] + 7b9a: 940f str r4, [sp, #60] ; 0x3c for(y = 0; y < draw_area_h; y++) { - 7b34: 9b10 ldr r3, [sp, #64] ; 0x40 - 7b36: 3301 adds r3, #1 - 7b38: 9310 str r3, [sp, #64] ; 0x40 - 7b3a: 9a20 ldr r2, [sp, #128] ; 0x80 - 7b3c: 4293 cmp r3, r2 - 7b3e: db00 blt.n 7b42 - 7b40: e08f b.n 7c62 + 7b9c: 9b10 ldr r3, [sp, #64] ; 0x40 + 7b9e: 3301 adds r3, #1 + 7ba0: 9310 str r3, [sp, #64] ; 0x40 + 7ba2: 9a20 ldr r2, [sp, #128] ; 0x80 + 7ba4: 4293 cmp r3, r2 + 7ba6: db00 blt.n 7baa + 7ba8: e08f b.n 7cca int32_t rot_x = disp_area->x1 + draw_area.x1 - map_area->x1; - 7b42: 9b19 ldr r3, [sp, #100] ; 0x64 - 7b44: 2210 movs r2, #16 - 7b46: 5e9b ldrsh r3, [r3, r2] - 7b48: aa24 add r2, sp, #144 ; 0x90 - 7b4a: 2160 movs r1, #96 ; 0x60 - 7b4c: 1852 adds r2, r2, r1 - 7b4e: 2100 movs r1, #0 - 7b50: 5e52 ldrsh r2, [r2, r1] - 7b52: 189b adds r3, r3, r2 - 7b54: 9a1c ldr r2, [sp, #112] ; 0x70 - 7b56: 2100 movs r1, #0 - 7b58: 5e52 ldrsh r2, [r2, r1] - 7b5a: 1a9b subs r3, r3, r2 - 7b5c: 930d str r3, [sp, #52] ; 0x34 + 7baa: 9b19 ldr r3, [sp, #100] ; 0x64 + 7bac: 2210 movs r2, #16 + 7bae: 5e9b ldrsh r3, [r3, r2] + 7bb0: aa24 add r2, sp, #144 ; 0x90 + 7bb2: 2160 movs r1, #96 ; 0x60 + 7bb4: 1852 adds r2, r2, r1 + 7bb6: 2100 movs r1, #0 + 7bb8: 5e52 ldrsh r2, [r2, r1] + 7bba: 189b adds r3, r3, r2 + 7bbc: 9a1c ldr r2, [sp, #112] ; 0x70 + 7bbe: 2100 movs r1, #0 + 7bc0: 5e52 ldrsh r2, [r2, r1] + 7bc2: 1a9b subs r3, r3, r2 + 7bc4: 930d str r3, [sp, #52] ; 0x34 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 7b5e: 9a17 ldr r2, [sp, #92] ; 0x5c - 7b60: 4691 mov r9, r2 - 7b62: 2a00 cmp r2, #0 - 7b64: dd14 ble.n 7b90 - 7b66: 9b18 ldr r3, [sp, #96] ; 0x60 - 7b68: 4698 mov r8, r3 - 7b6a: 9a0f ldr r2, [sp, #60] ; 0x3c - 7b6c: 4694 mov ip, r2 - 7b6e: 44e0 add r8, ip - 7b70: 0053 lsls r3, r2, #1 - 7b72: 9a1b ldr r2, [sp, #108] ; 0x6c - 7b74: 4692 mov sl, r2 - 7b76: 449a add sl, r3 - 7b78: 9f15 ldr r7, [sp, #84] ; 0x54 - 7b7a: 2600 movs r6, #0 + 7bc6: 9a17 ldr r2, [sp, #92] ; 0x5c + 7bc8: 4691 mov r9, r2 + 7bca: 2a00 cmp r2, #0 + 7bcc: dd14 ble.n 7bf8 + 7bce: 9b18 ldr r3, [sp, #96] ; 0x60 + 7bd0: 4698 mov r8, r3 + 7bd2: 9a0f ldr r2, [sp, #60] ; 0x3c + 7bd4: 4694 mov ip, r2 + 7bd6: 44e0 add r8, ip + 7bd8: 0053 lsls r3, r2, #1 + 7bda: 9a1b ldr r2, [sp, #108] ; 0x6c + 7bdc: 4692 mov sl, r2 + 7bde: 449a add sl, r3 + 7be0: 9f15 ldr r7, [sp, #84] ; 0x54 + 7be2: 2600 movs r6, #0 int32_t yt = y - dsc->cfg.pivot_y; - 7b7c: 9b21 ldr r3, [sp, #132] ; 0x84 - 7b7e: 9a10 ldr r2, [sp, #64] ; 0x40 - 7b80: 4694 mov ip, r2 - 7b82: 4463 add r3, ip - 7b84: b21b sxth r3, r3 - 7b86: 930e str r3, [sp, #56] ; 0x38 - 7b88: 4644 mov r4, r8 - 7b8a: 4653 mov r3, sl - 7b8c: 9305 str r3, [sp, #20] - 7b8e: e7a1 b.n 7ad4 - 7b90: 9c0f ldr r4, [sp, #60] ; 0x3c - 7b92: e7b3 b.n 7afc + 7be4: 9b21 ldr r3, [sp, #132] ; 0x84 + 7be6: 9a10 ldr r2, [sp, #64] ; 0x40 + 7be8: 4694 mov ip, r2 + 7bea: 4463 add r3, ip + 7bec: b21b sxth r3, r3 + 7bee: 930e str r3, [sp, #56] ; 0x38 + 7bf0: 4644 mov r4, r8 + 7bf2: 4653 mov r3, sl + 7bf4: 9305 str r3, [sp, #20] + 7bf6: e7a1 b.n 7b3c + 7bf8: 9c0f ldr r4, [sp, #60] ; 0x3c + 7bfa: e7b3 b.n 7b64 mask_res_sub = lv_draw_mask_apply(mask_buf + px_i_start, draw_area.x1 + vdb->area.x1, y + draw_area.y1 + vdb->area.y1, - 7b94: 9b0f ldr r3, [sp, #60] ; 0x3c - 7b96: 9a18 ldr r2, [sp, #96] ; 0x60 - 7b98: 4694 mov ip, r2 - 7b9a: 4463 add r3, ip - 7b9c: 001d movs r5, r3 - 7b9e: ab24 add r3, sp, #144 ; 0x90 - 7ba0: 2260 movs r2, #96 ; 0x60 - 7ba2: 189b adds r3, r3, r2 - 7ba4: 8819 ldrh r1, [r3, #0] - 7ba6: ab24 add r3, sp, #144 ; 0x90 - 7ba8: 3204 adds r2, #4 - 7baa: 189b adds r3, r3, r2 - 7bac: 881b ldrh r3, [r3, #0] - 7bae: 3301 adds r3, #1 - 7bb0: 1a5b subs r3, r3, r1 - 7bb2: b21b sxth r3, r3 - 7bb4: aa24 add r2, sp, #144 ; 0x90 - 7bb6: 2062 movs r0, #98 ; 0x62 - 7bb8: 1812 adds r2, r2, r0 - 7bba: 8812 ldrh r2, [r2, #0] - 7bbc: 9e19 ldr r6, [sp, #100] ; 0x64 - 7bbe: 8a70 ldrh r0, [r6, #18] - 7bc0: 1812 adds r2, r2, r0 - 7bc2: 9810 ldr r0, [sp, #64] ; 0x40 - 7bc4: 4684 mov ip, r0 - 7bc6: 4462 add r2, ip - 7bc8: b212 sxth r2, r2 - 7bca: 8a30 ldrh r0, [r6, #16] - 7bcc: 1809 adds r1, r1, r0 - 7bce: b209 sxth r1, r1 - 7bd0: 0028 movs r0, r5 - 7bd2: 4e3a ldr r6, [pc, #232] ; (7cbc ) - 7bd4: 47b0 blx r6 + 7bfc: 9b0f ldr r3, [sp, #60] ; 0x3c + 7bfe: 9a18 ldr r2, [sp, #96] ; 0x60 + 7c00: 4694 mov ip, r2 + 7c02: 4463 add r3, ip + 7c04: 001d movs r5, r3 + 7c06: ab24 add r3, sp, #144 ; 0x90 + 7c08: 2260 movs r2, #96 ; 0x60 + 7c0a: 189b adds r3, r3, r2 + 7c0c: 8819 ldrh r1, [r3, #0] + 7c0e: ab24 add r3, sp, #144 ; 0x90 + 7c10: 3204 adds r2, #4 + 7c12: 189b adds r3, r3, r2 + 7c14: 881b ldrh r3, [r3, #0] + 7c16: 3301 adds r3, #1 + 7c18: 1a5b subs r3, r3, r1 + 7c1a: b21b sxth r3, r3 + 7c1c: aa24 add r2, sp, #144 ; 0x90 + 7c1e: 2062 movs r0, #98 ; 0x62 + 7c20: 1812 adds r2, r2, r0 + 7c22: 8812 ldrh r2, [r2, #0] + 7c24: 9e19 ldr r6, [sp, #100] ; 0x64 + 7c26: 8a70 ldrh r0, [r6, #18] + 7c28: 1812 adds r2, r2, r0 + 7c2a: 9810 ldr r0, [sp, #64] ; 0x40 + 7c2c: 4684 mov ip, r0 + 7c2e: 4462 add r2, ip + 7c30: b212 sxth r2, r2 + 7c32: 8a30 ldrh r0, [r6, #16] + 7c34: 1809 adds r1, r1, r0 + 7c36: b209 sxth r1, r1 + 7c38: 0028 movs r0, r5 + 7c3a: 4e3a ldr r6, [pc, #232] ; (7d24 ) + 7c3c: 47b0 blx r6 if(mask_res_sub == LV_DRAW_MASK_RES_TRANSP) { - 7bd6: 2800 cmp r0, #0 - 7bd8: d003 beq.n 7be2 + 7c3e: 2800 cmp r0, #0 + 7c40: d003 beq.n 7c4a else if(mask_res_sub == LV_DRAW_MASK_RES_CHANGED) { - 7bda: 2802 cmp r0, #2 - 7bdc: d191 bne.n 7b02 + 7c42: 2802 cmp r0, #2 + 7c44: d191 bne.n 7b6a mask_res = LV_DRAW_MASK_RES_CHANGED; - 7bde: 901e str r0, [sp, #120] ; 0x78 - 7be0: e78f b.n 7b02 - 7be2: ab24 add r3, sp, #144 ; 0x90 - 7be4: 2264 movs r2, #100 ; 0x64 - 7be6: 189b adds r3, r3, r2 - 7be8: 8819 ldrh r1, [r3, #0] - 7bea: 3101 adds r1, #1 - 7bec: ab24 add r3, sp, #144 ; 0x90 - 7bee: 3a04 subs r2, #4 - 7bf0: 189b adds r3, r3, r2 - 7bf2: 881b ldrh r3, [r3, #0] - 7bf4: 1ac9 subs r1, r1, r3 + 7c46: 901e str r0, [sp, #120] ; 0x78 + 7c48: e78f b.n 7b6a + 7c4a: ab24 add r3, sp, #144 ; 0x90 + 7c4c: 2264 movs r2, #100 ; 0x64 + 7c4e: 189b adds r3, r3, r2 + 7c50: 8819 ldrh r1, [r3, #0] + 7c52: 3101 adds r1, #1 + 7c54: ab24 add r3, sp, #144 ; 0x90 + 7c56: 3a04 subs r2, #4 + 7c58: 189b adds r3, r3, r2 + 7c5a: 881b ldrh r3, [r3, #0] + 7c5c: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + px_i_start, lv_area_get_width(&draw_area)); - 7bf6: b209 sxth r1, r1 - 7bf8: 0028 movs r0, r5 - 7bfa: 4b31 ldr r3, [pc, #196] ; (7cc0 ) - 7bfc: 4798 blx r3 + 7c5e: b209 sxth r1, r1 + 7c60: 0028 movs r0, r5 + 7c62: 4b31 ldr r3, [pc, #196] ; (7d28 ) + 7c64: 4798 blx r3 mask_res = LV_DRAW_MASK_RES_CHANGED; - 7bfe: 2302 movs r3, #2 - 7c00: 931e str r3, [sp, #120] ; 0x78 - 7c02: e77e b.n 7b02 + 7c66: 2302 movs r3, #2 + 7c68: 931e str r3, [sp, #120] ; 0x78 + 7c6a: e77e b.n 7b6a } else { _lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode); - 7c04: ac28 add r4, sp, #160 ; 0xa0 - 7c06: 9e0a ldr r6, [sp, #40] ; 0x28 - 7c08: 7bb3 ldrb r3, [r6, #14] - 7c0a: 9302 str r3, [sp, #8] - 7c0c: 7833 ldrb r3, [r6, #0] - 7c0e: 9301 str r3, [sp, #4] - 7c10: 9b1e ldr r3, [sp, #120] ; 0x78 - 7c12: 9300 str r3, [sp, #0] - 7c14: 9b18 ldr r3, [sp, #96] ; 0x60 - 7c16: 9a1b ldr r2, [sp, #108] ; 0x6c - 7c18: 0021 movs r1, r4 - 7c1a: 9824 ldr r0, [sp, #144] ; 0x90 - 7c1c: 4d29 ldr r5, [pc, #164] ; (7cc4 ) - 7c1e: 47a8 blx r5 + 7c6c: ac28 add r4, sp, #160 ; 0xa0 + 7c6e: 9e0a ldr r6, [sp, #40] ; 0x28 + 7c70: 7bb3 ldrb r3, [r6, #14] + 7c72: 9302 str r3, [sp, #8] + 7c74: 7833 ldrb r3, [r6, #0] + 7c76: 9301 str r3, [sp, #4] + 7c78: 9b1e ldr r3, [sp, #120] ; 0x78 + 7c7a: 9300 str r3, [sp, #0] + 7c7c: 9b18 ldr r3, [sp, #96] ; 0x60 + 7c7e: 9a1b ldr r2, [sp, #108] ; 0x6c + 7c80: 0021 movs r1, r4 + 7c82: 9824 ldr r0, [sp, #144] ; 0x90 + 7c84: 4d29 ldr r5, [pc, #164] ; (7d2c ) + 7c86: 47a8 blx r5 blend_area.y1 = blend_area.y2 + 1; - 7c20: 88e3 ldrh r3, [r4, #6] - 7c22: 3301 adds r3, #1 - 7c24: b21b sxth r3, r3 - 7c26: 8063 strh r3, [r4, #2] + 7c88: 88e3 ldrh r3, [r4, #6] + 7c8a: 3301 adds r3, #1 + 7c8c: b21b sxth r3, r3 + 7c8e: 8063 strh r3, [r4, #2] blend_area.y2 = blend_area.y1; - 7c28: 80e3 strh r3, [r4, #6] + 7c90: 80e3 strh r3, [r4, #6] px_i = 0; mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 7c2a: 2302 movs r3, #2 - 7c2c: 931e str r3, [sp, #120] ; 0x78 - 7c2e: 9b27 ldr r3, [sp, #156] ; 0x9c - 7c30: 2b00 cmp r3, #0 - 7c32: d109 bne.n 7c48 - 7c34: 8873 ldrh r3, [r6, #2] - 7c36: 2b00 cmp r3, #0 - 7c38: d106 bne.n 7c48 - 7c3a: 8933 ldrh r3, [r6, #8] - 7c3c: 3b01 subs r3, #1 - 7c3e: 3bff subs r3, #255 ; 0xff - 7c40: 1e5a subs r2, r3, #1 - 7c42: 4193 sbcs r3, r2 - 7c44: 3301 adds r3, #1 - 7c46: 931e str r3, [sp, #120] ; 0x78 + 7c92: 2302 movs r3, #2 + 7c94: 931e str r3, [sp, #120] ; 0x78 + 7c96: 9b27 ldr r3, [sp, #156] ; 0x9c + 7c98: 2b00 cmp r3, #0 + 7c9a: d109 bne.n 7cb0 + 7c9c: 8873 ldrh r3, [r6, #2] + 7c9e: 2b00 cmp r3, #0 + 7ca0: d106 bne.n 7cb0 + 7ca2: 8933 ldrh r3, [r6, #8] + 7ca4: 3b01 subs r3, #1 + 7ca6: 3bff subs r3, #255 ; 0xff + 7ca8: 1e5a subs r2, r3, #1 + 7caa: 4193 sbcs r3, r2 + 7cac: 3301 adds r3, #1 + 7cae: 931e str r3, [sp, #120] ; 0x78 px_i = 0; - 7c48: 2300 movs r3, #0 - 7c4a: 930f str r3, [sp, #60] ; 0x3c + 7cb0: 2300 movs r3, #0 + 7cb2: 930f str r3, [sp, #60] ; 0x3c draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; /*Prepare the `mask_buf`if there are other masks*/ if(other_mask_cnt) { - 7c4c: 9b1a ldr r3, [sp, #104] ; 0x68 - 7c4e: 2b00 cmp r3, #0 - 7c50: d100 bne.n 7c54 - 7c52: e76f b.n 7b34 + 7cb4: 9b1a ldr r3, [sp, #104] ; 0x68 + 7cb6: 2b00 cmp r3, #0 + 7cb8: d100 bne.n 7cbc + 7cba: e76f b.n 7b9c _lv_memset_ff(mask_buf, mask_buf_size); - 7c54: 991d ldr r1, [sp, #116] ; 0x74 - 7c56: 9818 ldr r0, [sp, #96] ; 0x60 - 7c58: 4b1b ldr r3, [pc, #108] ; (7cc8 ) - 7c5a: 4798 blx r3 + 7cbc: 991d ldr r1, [sp, #116] ; 0x74 + 7cbe: 9818 ldr r0, [sp, #96] ; 0x60 + 7cc0: 4b1b ldr r3, [pc, #108] ; (7d30 ) + 7cc2: 4798 blx r3 px_i = 0; - 7c5c: 2300 movs r3, #0 - 7c5e: 930f str r3, [sp, #60] ; 0x3c - 7c60: e768 b.n 7b34 + 7cc4: 2300 movs r3, #0 + 7cc6: 930f str r3, [sp, #60] ; 0x3c + 7cc8: e768 b.n 7b9c } } } /*Flush the last part*/ if(blend_area.y1 != blend_area.y2) { - 7c62: aa28 add r2, sp, #160 ; 0xa0 - 7c64: 2106 movs r1, #6 - 7c66: 5e53 ldrsh r3, [r2, r1] - 7c68: 2102 movs r1, #2 - 7c6a: 5e52 ldrsh r2, [r2, r1] - 7c6c: 429a cmp r2, r3 - 7c6e: d00e beq.n 7c8e + 7cca: aa28 add r2, sp, #160 ; 0xa0 + 7ccc: 2106 movs r1, #6 + 7cce: 5e53 ldrsh r3, [r2, r1] + 7cd0: 2102 movs r1, #2 + 7cd2: 5e52 ldrsh r2, [r2, r1] + 7cd4: 429a cmp r2, r3 + 7cd6: d00e beq.n 7cf6 blend_area.y2--; - 7c70: a928 add r1, sp, #160 ; 0xa0 - 7c72: 3b01 subs r3, #1 - 7c74: 80cb strh r3, [r1, #6] + 7cd8: a928 add r1, sp, #160 ; 0xa0 + 7cda: 3b01 subs r3, #1 + 7cdc: 80cb strh r3, [r1, #6] _lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode); - 7c76: 9a0a ldr r2, [sp, #40] ; 0x28 - 7c78: 7b93 ldrb r3, [r2, #14] - 7c7a: 9302 str r3, [sp, #8] - 7c7c: 7813 ldrb r3, [r2, #0] - 7c7e: 9301 str r3, [sp, #4] - 7c80: 9b1e ldr r3, [sp, #120] ; 0x78 - 7c82: 9300 str r3, [sp, #0] - 7c84: 9b18 ldr r3, [sp, #96] ; 0x60 - 7c86: 9a1b ldr r2, [sp, #108] ; 0x6c - 7c88: 9824 ldr r0, [sp, #144] ; 0x90 - 7c8a: 4c0e ldr r4, [pc, #56] ; (7cc4 ) - 7c8c: 47a0 blx r4 + 7cde: 9a0a ldr r2, [sp, #40] ; 0x28 + 7ce0: 7b93 ldrb r3, [r2, #14] + 7ce2: 9302 str r3, [sp, #8] + 7ce4: 7813 ldrb r3, [r2, #0] + 7ce6: 9301 str r3, [sp, #4] + 7ce8: 9b1e ldr r3, [sp, #120] ; 0x78 + 7cea: 9300 str r3, [sp, #0] + 7cec: 9b18 ldr r3, [sp, #96] ; 0x60 + 7cee: 9a1b ldr r2, [sp, #108] ; 0x6c + 7cf0: 9824 ldr r0, [sp, #144] ; 0x90 + 7cf2: 4c0e ldr r4, [pc, #56] ; (7d2c ) + 7cf4: 47a0 blx r4 } _lv_mem_buf_release(mask_buf); - 7c8e: 9818 ldr r0, [sp, #96] ; 0x60 - 7c90: 4c0e ldr r4, [pc, #56] ; (7ccc ) - 7c92: 47a0 blx r4 + 7cf6: 9818 ldr r0, [sp, #96] ; 0x60 + 7cf8: 4c0e ldr r4, [pc, #56] ; (7d34 ) + 7cfa: 47a0 blx r4 _lv_mem_buf_release(map2); - 7c94: 981b ldr r0, [sp, #108] ; 0x6c - 7c96: 47a0 blx r4 + 7cfc: 981b ldr r0, [sp, #108] ; 0x6c + 7cfe: 47a0 blx r4 } } } - 7c98: b03f add sp, #252 ; 0xfc - 7c9a: bc3c pop {r2, r3, r4, r5} - 7c9c: 4690 mov r8, r2 - 7c9e: 4699 mov r9, r3 - 7ca0: 46a2 mov sl, r4 - 7ca2: 46ab mov fp, r5 - 7ca4: bdf0 pop {r4, r5, r6, r7, pc} - 7ca6: 46c0 nop ; (mov r8, r8) - 7ca8: 0000d085 .word 0x0000d085 - 7cac: 0000d1a5 .word 0x0000d1a5 - 7cb0: 0000d5ad .word 0x0000d5ad - 7cb4: 00018884 .word 0x00018884 - 7cb8: fffff81f .word 0xfffff81f - 7cbc: 0000a5bd .word 0x0000a5bd - 7cc0: 00010fe5 .word 0x00010fe5 - 7cc4: 000068e9 .word 0x000068e9 - 7cc8: 00011089 .word 0x00011089 - 7ccc: 00010b6d .word 0x00010b6d + 7d00: b03f add sp, #252 ; 0xfc + 7d02: bc3c pop {r2, r3, r4, r5} + 7d04: 4690 mov r8, r2 + 7d06: 4699 mov r9, r3 + 7d08: 46a2 mov sl, r4 + 7d0a: 46ab mov fp, r5 + 7d0c: bdf0 pop {r4, r5, r6, r7, pc} + 7d0e: 46c0 nop ; (mov r8, r8) + 7d10: 0000d0ed .word 0x0000d0ed + 7d14: 0000d20d .word 0x0000d20d + 7d18: 0000d615 .word 0x0000d615 + 7d1c: 00018914 .word 0x00018914 + 7d20: fffff81f .word 0xfffff81f + 7d24: 0000a625 .word 0x0000a625 + 7d28: 0001104d .word 0x0001104d + 7d2c: 00006951 .word 0x00006951 + 7d30: 000110f1 .word 0x000110f1 + 7d34: 00010bd5 .word 0x00010bd5 if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 7cd0: 2301 movs r3, #1 - 7cd2: 469b mov fp, r3 - 7cd4: 9b1a ldr r3, [sp, #104] ; 0x68 - 7cd6: 2b00 cmp r3, #0 - 7cd8: d000 beq.n 7cdc - 7cda: e595 b.n 7808 + 7d38: 2301 movs r3, #1 + 7d3a: 469b mov fp, r3 + 7d3c: 9b1a ldr r3, [sp, #104] ; 0x68 + 7d3e: 2b00 cmp r3, #0 + 7d40: d000 beq.n 7d44 + 7d42: e595 b.n 7870 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 7cdc: a83c add r0, sp, #240 ; 0xf0 - 7cde: 4b41 ldr r3, [pc, #260] ; (7de4 ) - 7ce0: 4798 blx r3 - 7ce2: 23f0 movs r3, #240 ; 0xf0 - 7ce4: 005b lsls r3, r3, #1 - 7ce6: 4298 cmp r0, r3 - 7ce8: d800 bhi.n 7cec - 7cea: e598 b.n 781e + 7d44: a83c add r0, sp, #240 ; 0xf0 + 7d46: 4b41 ldr r3, [pc, #260] ; (7e4c ) + 7d48: 4798 blx r3 + 7d4a: 23f0 movs r3, #240 ; 0xf0 + 7d4c: 005b lsls r3, r3, #1 + 7d4e: 4298 cmp r0, r3 + 7d50: d800 bhi.n 7d54 + 7d52: e598 b.n 7886 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 7cec: 20f0 movs r0, #240 ; 0xf0 - 7cee: 0080 lsls r0, r0, #2 - 7cf0: 4c3d ldr r4, [pc, #244] ; (7de8 ) - 7cf2: 47a0 blx r4 - 7cf4: 901b str r0, [sp, #108] ; 0x6c + 7d54: 20f0 movs r0, #240 ; 0xf0 + 7d56: 0080 lsls r0, r0, #2 + 7d58: 4c3d ldr r4, [pc, #244] ; (7e50 ) + 7d5a: 47a0 blx r4 + 7d5c: 901b str r0, [sp, #108] ; 0x6c lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 7cf6: 26f0 movs r6, #240 ; 0xf0 - 7cf8: 0076 lsls r6, r6, #1 - 7cfa: 0030 movs r0, r6 - 7cfc: 47a0 blx r4 - 7cfe: 9018 str r0, [sp, #96] ; 0x60 + 7d5e: 26f0 movs r6, #240 ; 0xf0 + 7d60: 0076 lsls r6, r6, #1 + 7d62: 0030 movs r0, r6 + 7d64: 47a0 blx r4 + 7d66: 9018 str r0, [sp, #96] ; 0x60 _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 7d00: 2148 movs r1, #72 ; 0x48 - 7d02: a82a add r0, sp, #168 ; 0xa8 - 7d04: 4b39 ldr r3, [pc, #228] ; (7dec ) - 7d06: 4798 blx r3 + 7d68: 2148 movs r1, #72 ; 0x48 + 7d6a: a82a add r0, sp, #168 ; 0xa8 + 7d6c: 4b39 ldr r3, [pc, #228] ; (7e54 ) + 7d6e: 4798 blx r3 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 7d08: 961d str r6, [sp, #116] ; 0x74 + 7d70: 961d str r6, [sp, #116] ; 0x74 if(alpha_byte) cf = LV_IMG_CF_TRUE_COLOR_ALPHA; - 7d0a: 2205 movs r2, #5 - 7d0c: 9b07 ldr r3, [sp, #28] - 7d0e: 2b00 cmp r3, #0 - 7d10: d104 bne.n 7d1c + 7d72: 2205 movs r2, #5 + 7d74: 9b07 ldr r3, [sp, #28] + 7d76: 2b00 cmp r3, #0 + 7d78: d104 bne.n 7d84 lv_img_cf_t cf = LV_IMG_CF_TRUE_COLOR; - 7d12: 3a01 subs r2, #1 + 7d7a: 3a01 subs r2, #1 else if(chroma_key) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED; - 7d14: 9b0b ldr r3, [sp, #44] ; 0x2c - 7d16: 2b00 cmp r3, #0 - 7d18: d000 beq.n 7d1c - 7d1a: 3202 adds r2, #2 + 7d7c: 9b0b ldr r3, [sp, #44] ; 0x2c + 7d7e: 2b00 cmp r3, #0 + 7d80: d000 beq.n 7d84 + 7d82: 3202 adds r2, #2 trans_dsc.cfg.angle = draw_dsc->angle; - 7d1c: a82a add r0, sp, #168 ; 0xa8 - 7d1e: 9c0a ldr r4, [sp, #40] ; 0x28 - 7d20: 8863 ldrh r3, [r4, #2] - 7d22: 8183 strh r3, [r0, #12] + 7d84: a82a add r0, sp, #168 ; 0xa8 + 7d86: 9c0a ldr r4, [sp, #40] ; 0x28 + 7d88: 8863 ldrh r3, [r4, #2] + 7d8a: 8183 strh r3, [r0, #12] trans_dsc.cfg.zoom = draw_dsc->zoom; - 7d24: 8923 ldrh r3, [r4, #8] - 7d26: 81c3 strh r3, [r0, #14] + 7d8c: 8923 ldrh r3, [r4, #8] + 7d8e: 81c3 strh r3, [r0, #14] trans_dsc.cfg.src = map_p; - 7d28: 4643 mov r3, r8 - 7d2a: 932a str r3, [sp, #168] ; 0xa8 + 7d90: 4643 mov r3, r8 + 7d92: 932a str r3, [sp, #168] ; 0xa8 trans_dsc.cfg.src_w = map_w; - 7d2c: 8087 strh r7, [r0, #4] + 7d94: 8087 strh r7, [r0, #4] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 7d2e: 991c ldr r1, [sp, #112] ; 0x70 - 7d30: 88cb ldrh r3, [r1, #6] - 7d32: 3301 adds r3, #1 - 7d34: 8849 ldrh r1, [r1, #2] - 7d36: 1a5b subs r3, r3, r1 + 7d96: 991c ldr r1, [sp, #112] ; 0x70 + 7d98: 88cb ldrh r3, [r1, #6] + 7d9a: 3301 adds r3, #1 + 7d9c: 8849 ldrh r1, [r1, #2] + 7d9e: 1a5b subs r3, r3, r1 trans_dsc.cfg.src_h = lv_area_get_height(map_area);; - 7d38: 80c3 strh r3, [r0, #6] + 7da0: 80c3 strh r3, [r0, #6] trans_dsc.cfg.cf = cf; - 7d3a: 7482 strb r2, [r0, #18] + 7da2: 7482 strb r2, [r0, #18] trans_dsc.cfg.pivot_x = draw_dsc->pivot.x; - 7d3c: 88a3 ldrh r3, [r4, #4] - 7d3e: 8103 strh r3, [r0, #8] + 7da4: 88a3 ldrh r3, [r4, #4] + 7da6: 8103 strh r3, [r0, #8] trans_dsc.cfg.pivot_y = draw_dsc->pivot.y; - 7d40: 88e3 ldrh r3, [r4, #6] - 7d42: 8143 strh r3, [r0, #10] + 7da8: 88e3 ldrh r3, [r4, #6] + 7daa: 8143 strh r3, [r0, #10] trans_dsc.cfg.color = draw_dsc->recolor; - 7d44: 89a3 ldrh r3, [r4, #12] - 7d46: 8203 strh r3, [r0, #16] + 7dac: 89a3 ldrh r3, [r4, #12] + 7dae: 8203 strh r3, [r0, #16] trans_dsc.cfg.antialias = draw_dsc->antialias; - 7d48: 7be3 ldrb r3, [r4, #15] - 7d4a: 07db lsls r3, r3, #31 - 7d4c: 0fdb lsrs r3, r3, #31 - 7d4e: 74c3 strb r3, [r0, #19] + 7db0: 7be3 ldrb r3, [r4, #15] + 7db2: 07db lsls r3, r3, #31 + 7db4: 0fdb lsrs r3, r3, #31 + 7db6: 74c3 strb r3, [r0, #19] _lv_img_buf_transform_init(&trans_dsc); - 7d50: 4b27 ldr r3, [pc, #156] ; (7df0 ) - 7d52: 4798 blx r3 + 7db8: 4b27 ldr r3, [pc, #156] ; (7e58 ) + 7dba: 4798 blx r3 lv_opa_t recolor_opa_inv = 255 - draw_dsc->recolor_opa; - 7d54: 990a ldr r1, [sp, #40] ; 0x28 - 7d56: 7a8b ldrb r3, [r1, #10] - 7d58: 43da mvns r2, r3 - 7d5a: b2d2 uxtb r2, r2 - 7d5c: 9213 str r2, [sp, #76] ; 0x4c + 7dbc: 990a ldr r1, [sp, #40] ; 0x28 + 7dbe: 7a8b ldrb r3, [r1, #10] + 7dc0: 43da mvns r2, r3 + 7dc2: b2d2 uxtb r2, r2 + 7dc4: 9213 str r2, [sp, #76] ; 0x4c if(draw_dsc->recolor_opa != 0) { - 7d5e: 2b00 cmp r3, #0 - 7d60: d100 bne.n 7d64 - 7d62: e571 b.n 7848 + 7dc6: 2b00 cmp r3, #0 + 7dc8: d100 bne.n 7dcc + 7dca: e571 b.n 78b0 out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix; - 7d64: b29b uxth r3, r3 - 7d66: 7b4a ldrb r2, [r1, #13] - 7d68: 08d2 lsrs r2, r2, #3 - 7d6a: 435a muls r2, r3 - 7d6c: 9211 str r2, [sp, #68] ; 0x44 + 7dcc: b29b uxth r3, r3 + 7dce: 7b4a ldrb r2, [r1, #13] + 7dd0: 08d2 lsrs r2, r2, #3 + 7dd2: 435a muls r2, r3 + 7dd4: 9211 str r2, [sp, #68] ; 0x44 out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix; - 7d6e: 898a ldrh r2, [r1, #12] - 7d70: 0552 lsls r2, r2, #21 - 7d72: 0e92 lsrs r2, r2, #26 - 7d74: 435a muls r2, r3 - 7d76: 9212 str r2, [sp, #72] ; 0x48 + 7dd6: 898a ldrh r2, [r1, #12] + 7dd8: 0552 lsls r2, r2, #21 + 7dda: 0e92 lsrs r2, r2, #26 + 7ddc: 435a muls r2, r3 + 7dde: 9212 str r2, [sp, #72] ; 0x48 out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix; - 7d78: 7b0a ldrb r2, [r1, #12] - 7d7a: 06d2 lsls r2, r2, #27 - 7d7c: 0ed2 lsrs r2, r2, #27 - 7d7e: 435a muls r2, r3 - 7d80: 9214 str r2, [sp, #80] ; 0x50 + 7de0: 7b0a ldrb r2, [r1, #12] + 7de2: 06d2 lsls r2, r2, #27 + 7de4: 0ed2 lsrs r2, r2, #27 + 7de6: 435a muls r2, r3 + 7de8: 9214 str r2, [sp, #80] ; 0x50 mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 7d82: 9b0b ldr r3, [sp, #44] ; 0x2c - 7d84: 9a07 ldr r2, [sp, #28] - 7d86: 4313 orrs r3, r2 - 7d88: 9327 str r3, [sp, #156] ; 0x9c - 7d8a: 2202 movs r2, #2 - 7d8c: 921e str r2, [sp, #120] ; 0x78 - 7d8e: 2b00 cmp r3, #0 - 7d90: d10a bne.n 7da8 - 7d92: 9a0a ldr r2, [sp, #40] ; 0x28 - 7d94: 8853 ldrh r3, [r2, #2] - 7d96: 2b00 cmp r3, #0 - 7d98: d106 bne.n 7da8 - 7d9a: 8913 ldrh r3, [r2, #8] - 7d9c: 3b01 subs r3, #1 - 7d9e: 3bff subs r3, #255 ; 0xff - 7da0: 1e5a subs r2, r3, #1 - 7da2: 4193 sbcs r3, r2 - 7da4: 3301 adds r3, #1 - 7da6: 931e str r3, [sp, #120] ; 0x78 + 7dea: 9b0b ldr r3, [sp, #44] ; 0x2c + 7dec: 9a07 ldr r2, [sp, #28] + 7dee: 4313 orrs r3, r2 + 7df0: 9327 str r3, [sp, #156] ; 0x9c + 7df2: 2202 movs r2, #2 + 7df4: 921e str r2, [sp, #120] ; 0x78 + 7df6: 2b00 cmp r3, #0 + 7df8: d10a bne.n 7e10 + 7dfa: 9a0a ldr r2, [sp, #40] ; 0x28 + 7dfc: 8853 ldrh r3, [r2, #2] + 7dfe: 2b00 cmp r3, #0 + 7e00: d106 bne.n 7e10 + 7e02: 8913 ldrh r3, [r2, #8] + 7e04: 3b01 subs r3, #1 + 7e06: 3bff subs r3, #255 ; 0xff + 7e08: 1e5a subs r2, r3, #1 + 7e0a: 4193 sbcs r3, r2 + 7e0c: 3301 adds r3, #1 + 7e0e: 931e str r3, [sp, #120] ; 0x78 if(other_mask_cnt) { - 7da8: 9b1a ldr r3, [sp, #104] ; 0x68 - 7daa: 2b00 cmp r3, #0 - 7dac: d000 beq.n 7db0 - 7dae: e550 b.n 7852 + 7e10: 9b1a ldr r3, [sp, #104] ; 0x68 + 7e12: 2b00 cmp r3, #0 + 7e14: d000 beq.n 7e18 + 7e16: e550 b.n 78ba int32_t rot_y = disp_area->y1 + draw_area.y1 - map_area->y1; - 7db0: 9b19 ldr r3, [sp, #100] ; 0x64 - 7db2: 2212 movs r2, #18 - 7db4: 5e9b ldrsh r3, [r3, r2] - 7db6: aa3c add r2, sp, #240 ; 0xf0 - 7db8: 2102 movs r1, #2 - 7dba: 5e52 ldrsh r2, [r2, r1] - 7dbc: 189b adds r3, r3, r2 - 7dbe: 9a1c ldr r2, [sp, #112] ; 0x70 - 7dc0: 2102 movs r1, #2 - 7dc2: 5e52 ldrsh r2, [r2, r1] - 7dc4: 1a9b subs r3, r3, r2 - 7dc6: 9321 str r3, [sp, #132] ; 0x84 + 7e18: 9b19 ldr r3, [sp, #100] ; 0x64 + 7e1a: 2212 movs r2, #18 + 7e1c: 5e9b ldrsh r3, [r3, r2] + 7e1e: aa3c add r2, sp, #240 ; 0xf0 + 7e20: 2102 movs r1, #2 + 7e22: 5e52 ldrsh r2, [r2, r1] + 7e24: 189b adds r3, r3, r2 + 7e26: 9a1c ldr r2, [sp, #112] ; 0x70 + 7e28: 2102 movs r1, #2 + 7e2a: 5e52 ldrsh r2, [r2, r1] + 7e2c: 1a9b subs r3, r3, r2 + 7e2e: 9321 str r3, [sp, #132] ; 0x84 for(y = 0; y < draw_area_h; y++) { - 7dc8: 9520 str r5, [sp, #128] ; 0x80 - 7dca: 2d00 cmp r5, #0 - 7dcc: dc00 bgt.n 7dd0 - 7dce: e748 b.n 7c62 + 7e30: 9520 str r5, [sp, #128] ; 0x80 + 7e32: 2d00 cmp r5, #0 + 7e34: dc00 bgt.n 7e38 + 7e36: e748 b.n 7cca map_buf_tmp += map_w * px_size_byte; - 7dd0: 4653 mov r3, sl - 7dd2: 437b muls r3, r7 - 7dd4: 931f str r3, [sp, #124] ; 0x7c - 7dd6: 2300 movs r3, #0 - 7dd8: 9310 str r3, [sp, #64] ; 0x40 - 7dda: 930f str r3, [sp, #60] ; 0x3c + 7e38: 4653 mov r3, sl + 7e3a: 437b muls r3, r7 + 7e3c: 931f str r3, [sp, #124] ; 0x7c + 7e3e: 2300 movs r3, #0 + 7e40: 9310 str r3, [sp, #64] ; 0x40 + 7e42: 930f str r3, [sp, #60] ; 0x3c ret = _lv_img_buf_transform_anti_alias(dsc); - 7ddc: 464b mov r3, r9 - 7dde: 9306 str r3, [sp, #24] - 7de0: e6af b.n 7b42 - 7de2: 46c0 nop ; (mov r8, r8) - 7de4: 0000fb8b .word 0x0000fb8b - 7de8: 00010e59 .word 0x00010e59 - 7dec: 00010fe5 .word 0x00010fe5 - 7df0: 0000d2a9 .word 0x0000d2a9 + 7e44: 464b mov r3, r9 + 7e46: 9306 str r3, [sp, #24] + 7e48: e6af b.n 7baa + 7e4a: 46c0 nop ; (mov r8, r8) + 7e4c: 0000fbf3 .word 0x0000fbf3 + 7e50: 00010ec1 .word 0x00010ec1 + 7e54: 0001104d .word 0x0001104d + 7e58: 0000d311 .word 0x0000d311 -00007df4 : +00007e5c : static void show_error(const lv_area_t * coords, const lv_area_t * clip_area, const char * msg) { - 7df4: b5f0 push {r4, r5, r6, r7, lr} - 7df6: b09f sub sp, #124 ; 0x7c - 7df8: 0005 movs r5, r0 - 7dfa: 000e movs r6, r1 - 7dfc: 0017 movs r7, r2 + 7e5c: b5f0 push {r4, r5, r6, r7, lr} + 7e5e: b09f sub sp, #124 ; 0x7c + 7e60: 0005 movs r5, r0 + 7e62: 000e movs r6, r1 + 7e64: 0017 movs r7, r2 lv_draw_rect_dsc_t rect_dsc; lv_draw_rect_dsc_init(&rect_dsc); - 7dfe: ac09 add r4, sp, #36 ; 0x24 - 7e00: 0020 movs r0, r4 - 7e02: 4b0b ldr r3, [pc, #44] ; (7e30 ) - 7e04: 4798 blx r3 + 7e66: ac09 add r4, sp, #36 ; 0x24 + 7e68: 0020 movs r0, r4 + 7e6a: 4b0b ldr r3, [pc, #44] ; (7e98 ) + 7e6c: 4798 blx r3 rect_dsc.bg_color = LV_COLOR_WHITE; - 7e06: 4b0b ldr r3, [pc, #44] ; (7e34 ) - 7e08: 881b ldrh r3, [r3, #0] - 7e0a: 8063 strh r3, [r4, #2] + 7e6e: 4b0b ldr r3, [pc, #44] ; (7e9c ) + 7e70: 881b ldrh r3, [r3, #0] + 7e72: 8063 strh r3, [r4, #2] lv_draw_rect(coords, clip_area, &rect_dsc); - 7e0c: 0022 movs r2, r4 - 7e0e: 0031 movs r1, r6 - 7e10: 0028 movs r0, r5 - 7e12: 4b09 ldr r3, [pc, #36] ; (7e38 ) - 7e14: 4798 blx r3 + 7e74: 0022 movs r2, r4 + 7e76: 0031 movs r1, r6 + 7e78: 0028 movs r0, r5 + 7e7a: 4b09 ldr r3, [pc, #36] ; (7ea0 ) + 7e7c: 4798 blx r3 lv_draw_label_dsc_t label_dsc; lv_draw_label_dsc_init(&label_dsc); - 7e16: a802 add r0, sp, #8 - 7e18: 4b08 ldr r3, [pc, #32] ; (7e3c ) - 7e1a: 4798 blx r3 + 7e7e: a802 add r0, sp, #8 + 7e80: 4b08 ldr r3, [pc, #32] ; (7ea4 ) + 7e82: 4798 blx r3 lv_draw_label(coords, clip_area, &label_dsc, msg, NULL); - 7e1c: 2300 movs r3, #0 - 7e1e: 9300 str r3, [sp, #0] - 7e20: 003b movs r3, r7 - 7e22: aa02 add r2, sp, #8 - 7e24: 0031 movs r1, r6 - 7e26: 0028 movs r0, r5 - 7e28: 4c05 ldr r4, [pc, #20] ; (7e40 ) - 7e2a: 47a0 blx r4 -} - 7e2c: b01f add sp, #124 ; 0x7c - 7e2e: bdf0 pop {r4, r5, r6, r7, pc} - 7e30: 0000aab9 .word 0x0000aab9 - 7e34: 000188b4 .word 0x000188b4 - 7e38: 0000ab5d .word 0x0000ab5d - 7e3c: 0000815d .word 0x0000815d - 7e40: 000081ad .word 0x000081ad - -00007e44 : -{ - 7e44: b510 push {r4, lr} - 7e46: 0004 movs r4, r0 + 7e84: 2300 movs r3, #0 + 7e86: 9300 str r3, [sp, #0] + 7e88: 003b movs r3, r7 + 7e8a: aa02 add r2, sp, #8 + 7e8c: 0031 movs r1, r6 + 7e8e: 0028 movs r0, r5 + 7e90: 4c05 ldr r4, [pc, #20] ; (7ea8 ) + 7e92: 47a0 blx r4 +} + 7e94: b01f add sp, #124 ; 0x7c + 7e96: bdf0 pop {r4, r5, r6, r7, pc} + 7e98: 0000ab21 .word 0x0000ab21 + 7e9c: 00018944 .word 0x00018944 + 7ea0: 0000abc5 .word 0x0000abc5 + 7ea4: 000081c5 .word 0x000081c5 + 7ea8: 00008215 .word 0x00008215 + +00007eac : +{ + 7eac: b510 push {r4, lr} + 7eae: 0004 movs r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_img_dsc_t)); - 7e48: 2110 movs r1, #16 - 7e4a: 4b0a ldr r3, [pc, #40] ; (7e74 ) - 7e4c: 4798 blx r3 + 7eb0: 2110 movs r1, #16 + 7eb2: 4b0a ldr r3, [pc, #40] ; (7edc ) + 7eb4: 4798 blx r3 dsc->recolor = LV_COLOR_BLACK; - 7e4e: 7b23 ldrb r3, [r4, #12] - 7e50: 221f movs r2, #31 - 7e52: 4393 bics r3, r2 - 7e54: 7323 strb r3, [r4, #12] - 7e56: 89a3 ldrh r3, [r4, #12] - 7e58: 4a07 ldr r2, [pc, #28] ; (7e78 ) - 7e5a: 4013 ands r3, r2 - 7e5c: 81a3 strh r3, [r4, #12] - 7e5e: 2300 movs r3, #0 - 7e60: 7363 strb r3, [r4, #13] + 7eb6: 7b23 ldrb r3, [r4, #12] + 7eb8: 221f movs r2, #31 + 7eba: 4393 bics r3, r2 + 7ebc: 7323 strb r3, [r4, #12] + 7ebe: 89a3 ldrh r3, [r4, #12] + 7ec0: 4a07 ldr r2, [pc, #28] ; (7ee0 ) + 7ec2: 4013 ands r3, r2 + 7ec4: 81a3 strh r3, [r4, #12] + 7ec6: 2300 movs r3, #0 + 7ec8: 7363 strb r3, [r4, #13] dsc->opa = LV_OPA_COVER; - 7e62: 33ff adds r3, #255 ; 0xff - 7e64: 7023 strb r3, [r4, #0] + 7eca: 33ff adds r3, #255 ; 0xff + 7ecc: 7023 strb r3, [r4, #0] dsc->zoom = LV_IMG_ZOOM_NONE; - 7e66: 3301 adds r3, #1 - 7e68: 8123 strh r3, [r4, #8] + 7ece: 3301 adds r3, #1 + 7ed0: 8123 strh r3, [r4, #8] dsc->antialias = LV_ANTIALIAS; - 7e6a: 7be3 ldrb r3, [r4, #15] - 7e6c: 2201 movs r2, #1 - 7e6e: 4313 orrs r3, r2 - 7e70: 73e3 strb r3, [r4, #15] + 7ed2: 7be3 ldrb r3, [r4, #15] + 7ed4: 2201 movs r2, #1 + 7ed6: 4313 orrs r3, r2 + 7ed8: 73e3 strb r3, [r4, #15] } - 7e72: bd10 pop {r4, pc} - 7e74: 00010fe5 .word 0x00010fe5 - 7e78: fffff81f .word 0xfffff81f + 7eda: bd10 pop {r4, pc} + 7edc: 0001104d .word 0x0001104d + 7ee0: fffff81f .word 0xfffff81f -00007e7c : +00007ee4 : switch(cf) { - 7e7c: 3804 subs r0, #4 - 7e7e: b2c3 uxtb r3, r0 - 7e80: 2b0a cmp r3, #10 - 7e82: d80f bhi.n 7ea4 - 7e84: 0098 lsls r0, r3, #2 - 7e86: 4b08 ldr r3, [pc, #32] ; (7ea8 ) - 7e88: 581b ldr r3, [r3, r0] - 7e8a: 469f mov pc, r3 + 7ee4: 3804 subs r0, #4 + 7ee6: b2c3 uxtb r3, r0 + 7ee8: 2b0a cmp r3, #10 + 7eea: d80f bhi.n 7f0c + 7eec: 0098 lsls r0, r3, #2 + 7eee: 4b08 ldr r3, [pc, #32] ; (7f10 ) + 7ef0: 581b ldr r3, [r3, r0] + 7ef2: 469f mov pc, r3 px_size = LV_COLOR_SIZE; - 7e8c: 2010 movs r0, #16 - 7e8e: e00a b.n 7ea6 + 7ef4: 2010 movs r0, #16 + 7ef6: e00a b.n 7f0e px_size = LV_IMG_PX_SIZE_ALPHA_BYTE << 3; - 7e90: 2018 movs r0, #24 + 7ef8: 2018 movs r0, #24 break; - 7e92: e008 b.n 7ea6 + 7efa: e008 b.n 7f0e px_size = 1; - 7e94: 2001 movs r0, #1 + 7efc: 2001 movs r0, #1 break; - 7e96: e006 b.n 7ea6 + 7efe: e006 b.n 7f0e px_size = 2; - 7e98: 2002 movs r0, #2 + 7f00: 2002 movs r0, #2 break; - 7e9a: e004 b.n 7ea6 + 7f02: e004 b.n 7f0e px_size = 4; - 7e9c: 2004 movs r0, #4 + 7f04: 2004 movs r0, #4 break; - 7e9e: e002 b.n 7ea6 + 7f06: e002 b.n 7f0e px_size = 8; - 7ea0: 2008 movs r0, #8 + 7f08: 2008 movs r0, #8 break; - 7ea2: e000 b.n 7ea6 + 7f0a: e000 b.n 7f0e px_size = 0; - 7ea4: 2000 movs r0, #0 + 7f0c: 2000 movs r0, #0 } - 7ea6: 4770 bx lr - 7ea8: 00018888 .word 0x00018888 + 7f0e: 4770 bx lr + 7f10: 00018918 .word 0x00018918 -00007eac : +00007f14 : switch(cf) { - 7eac: 2803 cmp r0, #3 - 7eae: d005 beq.n 7ebc - 7eb0: d302 bcc.n 7eb8 - 7eb2: 3806 subs r0, #6 - 7eb4: 2804 cmp r0, #4 - 7eb6: d901 bls.n 7ebc + 7f14: 2803 cmp r0, #3 + 7f16: d005 beq.n 7f24 + 7f18: d302 bcc.n 7f20 + 7f1a: 3806 subs r0, #6 + 7f1c: 2804 cmp r0, #4 + 7f1e: d901 bls.n 7f24 is_chroma_keyed = false; - 7eb8: 2000 movs r0, #0 + 7f20: 2000 movs r0, #0 } - 7eba: 4770 bx lr + 7f22: 4770 bx lr is_chroma_keyed = true; - 7ebc: 2001 movs r0, #1 - 7ebe: e7fc b.n 7eba + 7f24: 2001 movs r0, #1 + 7f26: e7fc b.n 7f22 -00007ec0 : +00007f28 : switch(cf) { - 7ec0: 2805 cmp r0, #5 - 7ec2: d007 beq.n 7ed4 - 7ec4: d803 bhi.n 7ece - 7ec6: 2802 cmp r0, #2 - 7ec8: d004 beq.n 7ed4 + 7f28: 2805 cmp r0, #5 + 7f2a: d007 beq.n 7f3c + 7f2c: d803 bhi.n 7f36 + 7f2e: 2802 cmp r0, #2 + 7f30: d004 beq.n 7f3c has_alpha = false; - 7eca: 2000 movs r0, #0 + 7f32: 2000 movs r0, #0 } - 7ecc: 4770 bx lr + 7f34: 4770 bx lr switch(cf) { - 7ece: 3807 subs r0, #7 - 7ed0: 2807 cmp r0, #7 - 7ed2: d8fa bhi.n 7eca + 7f36: 3807 subs r0, #7 + 7f38: 2807 cmp r0, #7 + 7f3a: d8fa bhi.n 7f32 has_alpha = true; - 7ed4: 2001 movs r0, #1 - 7ed6: e7f9 b.n 7ecc - -00007ed8 : -{ - 7ed8: b5f0 push {r4, r5, r6, r7, lr} - 7eda: 46de mov lr, fp - 7edc: 4657 mov r7, sl - 7ede: 464e mov r6, r9 - 7ee0: 4645 mov r5, r8 - 7ee2: b5e0 push {r5, r6, r7, lr} - 7ee4: b091 sub sp, #68 ; 0x44 - 7ee6: 0004 movs r4, r0 - 7ee8: 9103 str r1, [sp, #12] - 7eea: 001e movs r6, r3 + 7f3c: 2001 movs r0, #1 + 7f3e: e7f9 b.n 7f34 + +00007f40 : +{ + 7f40: b5f0 push {r4, r5, r6, r7, lr} + 7f42: 46de mov lr, fp + 7f44: 4657 mov r7, sl + 7f46: 464e mov r6, r9 + 7f48: 4645 mov r5, r8 + 7f4a: b5e0 push {r5, r6, r7, lr} + 7f4c: b091 sub sp, #68 ; 0x44 + 7f4e: 0004 movs r4, r0 + 7f50: 9103 str r1, [sp, #12] + 7f52: 001e movs r6, r3 if(src == NULL) { - 7eec: 2a00 cmp r2, #0 - 7eee: d009 beq.n 7f04 + 7f54: 2a00 cmp r2, #0 + 7f56: d009 beq.n 7f6c if(dsc->opa <= LV_OPA_MIN) return; - 7ef0: 781b ldrb r3, [r3, #0] - 7ef2: 2b05 cmp r3, #5 - 7ef4: d80a bhi.n 7f0c -} - 7ef6: b011 add sp, #68 ; 0x44 - 7ef8: bc3c pop {r2, r3, r4, r5} - 7efa: 4690 mov r8, r2 - 7efc: 4699 mov r9, r3 - 7efe: 46a2 mov sl, r4 - 7f00: 46ab mov fp, r5 - 7f02: bdf0 pop {r4, r5, r6, r7, pc} + 7f58: 781b ldrb r3, [r3, #0] + 7f5a: 2b05 cmp r3, #5 + 7f5c: d80a bhi.n 7f74 +} + 7f5e: b011 add sp, #68 ; 0x44 + 7f60: bc3c pop {r2, r3, r4, r5} + 7f62: 4690 mov r8, r2 + 7f64: 4699 mov r9, r3 + 7f66: 46a2 mov sl, r4 + 7f68: 46ab mov fp, r5 + 7f6a: bdf0 pop {r4, r5, r6, r7, pc} show_error(coords, mask, "No\ndata"); - 7f04: 4a6f ldr r2, [pc, #444] ; (80c4 ) - 7f06: 4b70 ldr r3, [pc, #448] ; (80c8 ) - 7f08: 4798 blx r3 + 7f6c: 4a6f ldr r2, [pc, #444] ; (812c ) + 7f6e: 4b70 ldr r3, [pc, #448] ; (8130 ) + 7f70: 4798 blx r3 return; - 7f0a: e7f4 b.n 7ef6 + 7f72: e7f4 b.n 7f5e lv_img_cache_entry_t * cdsc = _lv_img_cache_open(src, draw_dsc->recolor); - 7f0c: 89b1 ldrh r1, [r6, #12] - 7f0e: 0010 movs r0, r2 - 7f10: 4b6e ldr r3, [pc, #440] ; (80cc ) - 7f12: 4798 blx r3 - 7f14: 1e07 subs r7, r0, #0 + 7f74: 89b1 ldrh r1, [r6, #12] + 7f76: 0010 movs r0, r2 + 7f78: 4b6e ldr r3, [pc, #440] ; (8134 ) + 7f7a: 4798 blx r3 + 7f7c: 1e07 subs r7, r0, #0 if(cdsc == NULL) return LV_RES_INV; - 7f16: d100 bne.n 7f1a - 7f18: e09e b.n 8058 + 7f7e: d100 bne.n 7f82 + 7f80: e09e b.n 80c0 bool chroma_keyed = lv_img_cf_is_chroma_keyed(cdsc->dec_dsc.header.cf); - 7f1a: 7b05 ldrb r5, [r0, #12] - 7f1c: 06ed lsls r5, r5, #27 - 7f1e: 0eed lsrs r5, r5, #27 - 7f20: 0028 movs r0, r5 - 7f22: 4b6b ldr r3, [pc, #428] ; (80d0 ) - 7f24: 4798 blx r3 - 7f26: 9004 str r0, [sp, #16] - 7f28: 9006 str r0, [sp, #24] + 7f82: 7b05 ldrb r5, [r0, #12] + 7f84: 06ed lsls r5, r5, #27 + 7f86: 0eed lsrs r5, r5, #27 + 7f88: 0028 movs r0, r5 + 7f8a: 4b6b ldr r3, [pc, #428] ; (8138 ) + 7f8c: 4798 blx r3 + 7f8e: 9004 str r0, [sp, #16] + 7f90: 9006 str r0, [sp, #24] bool alpha_byte = lv_img_cf_has_alpha(cdsc->dec_dsc.header.cf); - 7f2a: 0028 movs r0, r5 - 7f2c: 4b69 ldr r3, [pc, #420] ; (80d4 ) - 7f2e: 4798 blx r3 - 7f30: 9005 str r0, [sp, #20] - 7f32: 9007 str r0, [sp, #28] + 7f92: 0028 movs r0, r5 + 7f94: 4b69 ldr r3, [pc, #420] ; (813c ) + 7f96: 4798 blx r3 + 7f98: 9005 str r0, [sp, #20] + 7f9a: 9007 str r0, [sp, #28] if(cdsc->dec_dsc.error_msg != NULL) { - 7f34: 69ba ldr r2, [r7, #24] - 7f36: 2a00 cmp r2, #0 - 7f38: d004 beq.n 7f44 + 7f9c: 69ba ldr r2, [r7, #24] + 7f9e: 2a00 cmp r2, #0 + 7fa0: d004 beq.n 7fac show_error(coords, clip_area, cdsc->dec_dsc.error_msg); - 7f3a: 9903 ldr r1, [sp, #12] - 7f3c: 0020 movs r0, r4 - 7f3e: 4b62 ldr r3, [pc, #392] ; (80c8 ) - 7f40: 4798 blx r3 - 7f42: e7d8 b.n 7ef6 + 7fa2: 9903 ldr r1, [sp, #12] + 7fa4: 0020 movs r0, r4 + 7fa6: 4b62 ldr r3, [pc, #392] ; (8130 ) + 7fa8: 4798 blx r3 + 7faa: e7d8 b.n 7f5e else if(cdsc->dec_dsc.img_data) { - 7f44: 693b ldr r3, [r7, #16] - 7f46: 2b00 cmp r3, #0 - 7f48: d045 beq.n 7fd6 - 7f4a: 2300 movs r3, #0 - 7f4c: a90c add r1, sp, #48 ; 0x30 - 7f4e: 5ce2 ldrb r2, [r4, r3] - 7f50: 545a strb r2, [r3, r1] - 7f52: 3301 adds r3, #1 + 7fac: 693b ldr r3, [r7, #16] + 7fae: 2b00 cmp r3, #0 + 7fb0: d045 beq.n 803e + 7fb2: 2300 movs r3, #0 + 7fb4: a90c add r1, sp, #48 ; 0x30 + 7fb6: 5ce2 ldrb r2, [r4, r3] + 7fb8: 545a strb r2, [r3, r1] + 7fba: 3301 adds r3, #1 while(len) { - 7f54: 2b08 cmp r3, #8 - 7f56: d1fa bne.n 7f4e + 7fbc: 2b08 cmp r3, #8 + 7fbe: d1fa bne.n 7fb6 if(draw_dsc->angle || draw_dsc->zoom != LV_IMG_ZOOM_NONE) { - 7f58: 8873 ldrh r3, [r6, #2] - 7f5a: 2b00 cmp r3, #0 - 7f5c: d104 bne.n 7f68 - 7f5e: 2280 movs r2, #128 ; 0x80 - 7f60: 0052 lsls r2, r2, #1 - 7f62: 8931 ldrh r1, [r6, #8] - 7f64: 4291 cmp r1, r2 - 7f66: d023 beq.n 7fb0 + 7fc0: 8873 ldrh r3, [r6, #2] + 7fc2: 2b00 cmp r3, #0 + 7fc4: d104 bne.n 7fd0 + 7fc6: 2280 movs r2, #128 ; 0x80 + 7fc8: 0052 lsls r2, r2, #1 + 7fca: 8931 ldrh r1, [r6, #8] + 7fcc: 4291 cmp r1, r2 + 7fce: d023 beq.n 8018 _lv_img_buf_get_transformed_area(&map_area_rot, w, h, draw_dsc->angle, draw_dsc->zoom, &draw_dsc->pivot); - 7f68: b21b sxth r3, r3 - 7f6a: 88e2 ldrh r2, [r4, #6] - 7f6c: 3201 adds r2, #1 - 7f6e: 8861 ldrh r1, [r4, #2] - 7f70: 1a52 subs r2, r2, r1 - 7f72: b212 sxth r2, r2 + 7fd0: b21b sxth r3, r3 + 7fd2: 88e2 ldrh r2, [r4, #6] + 7fd4: 3201 adds r2, #1 + 7fd6: 8861 ldrh r1, [r4, #2] + 7fd8: 1a52 subs r2, r2, r1 + 7fda: b212 sxth r2, r2 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 7f74: 88a1 ldrh r1, [r4, #4] - 7f76: 3101 adds r1, #1 - 7f78: 8820 ldrh r0, [r4, #0] - 7f7a: 1a09 subs r1, r1, r0 - 7f7c: b209 sxth r1, r1 - 7f7e: a80c add r0, sp, #48 ; 0x30 - 7f80: 0005 movs r5, r0 - 7f82: 1d30 adds r0, r6, #4 - 7f84: 9001 str r0, [sp, #4] - 7f86: 8930 ldrh r0, [r6, #8] - 7f88: 9000 str r0, [sp, #0] - 7f8a: 9506 str r5, [sp, #24] - 7f8c: 0028 movs r0, r5 - 7f8e: 4d52 ldr r5, [pc, #328] ; (80d8 ) - 7f90: 47a8 blx r5 + 7fdc: 88a1 ldrh r1, [r4, #4] + 7fde: 3101 adds r1, #1 + 7fe0: 8820 ldrh r0, [r4, #0] + 7fe2: 1a09 subs r1, r1, r0 + 7fe4: b209 sxth r1, r1 + 7fe6: a80c add r0, sp, #48 ; 0x30 + 7fe8: 0005 movs r5, r0 + 7fea: 1d30 adds r0, r6, #4 + 7fec: 9001 str r0, [sp, #4] + 7fee: 8930 ldrh r0, [r6, #8] + 7ff0: 9000 str r0, [sp, #0] + 7ff2: 9506 str r5, [sp, #24] + 7ff4: 0028 movs r0, r5 + 7ff6: 4d52 ldr r5, [pc, #328] ; (8140 ) + 7ff8: 47a8 blx r5 map_area_rot.x1 += coords->x1; - 7f92: 8822 ldrh r2, [r4, #0] - 7f94: 9806 ldr r0, [sp, #24] - 7f96: 8803 ldrh r3, [r0, #0] - 7f98: 18d3 adds r3, r2, r3 - 7f9a: 8003 strh r3, [r0, #0] + 7ffa: 8822 ldrh r2, [r4, #0] + 7ffc: 9806 ldr r0, [sp, #24] + 7ffe: 8803 ldrh r3, [r0, #0] + 8000: 18d3 adds r3, r2, r3 + 8002: 8003 strh r3, [r0, #0] map_area_rot.y1 += coords->y1; - 7f9c: 8863 ldrh r3, [r4, #2] - 7f9e: 8841 ldrh r1, [r0, #2] - 7fa0: 1859 adds r1, r3, r1 - 7fa2: 8041 strh r1, [r0, #2] + 8004: 8863 ldrh r3, [r4, #2] + 8006: 8841 ldrh r1, [r0, #2] + 8008: 1859 adds r1, r3, r1 + 800a: 8041 strh r1, [r0, #2] map_area_rot.x2 += coords->x1; - 7fa4: 8881 ldrh r1, [r0, #4] - 7fa6: 1852 adds r2, r2, r1 - 7fa8: 8082 strh r2, [r0, #4] + 800c: 8881 ldrh r1, [r0, #4] + 800e: 1852 adds r2, r2, r1 + 8010: 8082 strh r2, [r0, #4] map_area_rot.y2 += coords->y1; - 7faa: 88c2 ldrh r2, [r0, #6] - 7fac: 189b adds r3, r3, r2 - 7fae: 80c3 strh r3, [r0, #6] + 8012: 88c2 ldrh r2, [r0, #6] + 8014: 189b adds r3, r3, r2 + 8016: 80c3 strh r3, [r0, #6] union_ok = _lv_area_intersect(&mask_com, clip_area, &map_area_rot); - 7fb0: aa0c add r2, sp, #48 ; 0x30 - 7fb2: 9903 ldr r1, [sp, #12] - 7fb4: a80e add r0, sp, #56 ; 0x38 - 7fb6: 4b49 ldr r3, [pc, #292] ; (80dc ) - 7fb8: 4798 blx r3 + 8018: aa0c add r2, sp, #48 ; 0x30 + 801a: 9903 ldr r1, [sp, #12] + 801c: a80e add r0, sp, #56 ; 0x38 + 801e: 4b49 ldr r3, [pc, #292] ; (8144 ) + 8020: 4798 blx r3 if(union_ok == false) { - 7fba: 2800 cmp r0, #0 - 7fbc: d100 bne.n 7fc0 - 7fbe: e79a b.n 7ef6 + 8022: 2800 cmp r0, #0 + 8024: d100 bne.n 8028 + 8026: e79a b.n 7f5e lv_draw_map(coords, &mask_com, cdsc->dec_dsc.img_data, draw_dsc, chroma_keyed, alpha_byte); - 7fc0: 693a ldr r2, [r7, #16] - 7fc2: 9b05 ldr r3, [sp, #20] - 7fc4: 9301 str r3, [sp, #4] - 7fc6: 9b04 ldr r3, [sp, #16] - 7fc8: 9300 str r3, [sp, #0] - 7fca: 0033 movs r3, r6 - 7fcc: a90e add r1, sp, #56 ; 0x38 - 7fce: 0020 movs r0, r4 - 7fd0: 4c43 ldr r4, [pc, #268] ; (80e0 ) - 7fd2: 47a0 blx r4 - 7fd4: e78f b.n 7ef6 + 8028: 693a ldr r2, [r7, #16] + 802a: 9b05 ldr r3, [sp, #20] + 802c: 9301 str r3, [sp, #4] + 802e: 9b04 ldr r3, [sp, #16] + 8030: 9300 str r3, [sp, #0] + 8032: 0033 movs r3, r6 + 8034: a90e add r1, sp, #56 ; 0x38 + 8036: 0020 movs r0, r4 + 8038: 4c43 ldr r4, [pc, #268] ; (8148 ) + 803a: 47a0 blx r4 + 803c: e78f b.n 7f5e union_ok = _lv_area_intersect(&mask_com, clip_area, coords); - 7fd6: 0022 movs r2, r4 - 7fd8: 9903 ldr r1, [sp, #12] - 7fda: a80a add r0, sp, #40 ; 0x28 - 7fdc: 4b3f ldr r3, [pc, #252] ; (80dc ) - 7fde: 4798 blx r3 + 803e: 0022 movs r2, r4 + 8040: 9903 ldr r1, [sp, #12] + 8042: a80a add r0, sp, #40 ; 0x28 + 8044: 4b3f ldr r3, [pc, #252] ; (8144 ) + 8046: 4798 blx r3 if(union_ok == false) { - 7fe0: 2800 cmp r0, #0 - 7fe2: d100 bne.n 7fe6 - 7fe4: e787 b.n 7ef6 - 7fe6: aa0a add r2, sp, #40 ; 0x28 - 7fe8: 8893 ldrh r3, [r2, #4] - 7fea: 3301 adds r3, #1 - 7fec: 8812 ldrh r2, [r2, #0] - 7fee: 1a9b subs r3, r3, r2 - 7ff0: b21b sxth r3, r3 - 7ff2: 9305 str r3, [sp, #20] + 8048: 2800 cmp r0, #0 + 804a: d100 bne.n 804e + 804c: e787 b.n 7f5e + 804e: aa0a add r2, sp, #40 ; 0x28 + 8050: 8893 ldrh r3, [r2, #4] + 8052: 3301 adds r3, #1 + 8054: 8812 ldrh r2, [r2, #0] + 8056: 1a9b subs r3, r3, r2 + 8058: b21b sxth r3, r3 + 805a: 9305 str r3, [sp, #20] uint8_t * buf = _lv_mem_buf_get(lv_area_get_width(&mask_com) * - 7ff4: 0058 lsls r0, r3, #1 - 7ff6: 469c mov ip, r3 - 7ff8: 4460 add r0, ip - 7ffa: 4b3a ldr r3, [pc, #232] ; (80e4 ) - 7ffc: 4798 blx r3 - 7ffe: 9004 str r0, [sp, #16] - 8000: 2300 movs r3, #0 + 805c: 0058 lsls r0, r3, #1 + 805e: 469c mov ip, r3 + 8060: 4460 add r0, ip + 8062: 4b3a ldr r3, [pc, #232] ; (814c ) + 8064: 4798 blx r3 + 8066: 9004 str r0, [sp, #16] + 8068: 2300 movs r3, #0 *d8 = *s8; - 8002: a80c add r0, sp, #48 ; 0x30 - 8004: a90a add r1, sp, #40 ; 0x28 - 8006: 5c5a ldrb r2, [r3, r1] - 8008: 541a strb r2, [r3, r0] - 800a: 3301 adds r3, #1 + 806a: a80c add r0, sp, #48 ; 0x30 + 806c: a90a add r1, sp, #40 ; 0x28 + 806e: 5c5a ldrb r2, [r3, r1] + 8070: 541a strb r2, [r3, r0] + 8072: 3301 adds r3, #1 while(len) { - 800c: 2b08 cmp r3, #8 - 800e: d1fa bne.n 8006 + 8074: 2b08 cmp r3, #8 + 8076: d1fa bne.n 806e lv_area_set_height(&line, 1); - 8010: 2101 movs r1, #1 - 8012: a80c add r0, sp, #48 ; 0x30 - 8014: 4b34 ldr r3, [pc, #208] ; (80e8 ) - 8016: 4798 blx r3 + 8078: 2101 movs r1, #1 + 807a: a80c add r0, sp, #48 ; 0x30 + 807c: 4b34 ldr r3, [pc, #208] ; (8150 ) + 807e: 4798 blx r3 int32_t x = mask_com.x1 - coords->x1; - 8018: aa0a add r2, sp, #40 ; 0x28 - 801a: 2100 movs r1, #0 - 801c: 5e53 ldrsh r3, [r2, r1] - 801e: 469c mov ip, r3 - 8020: 2000 movs r0, #0 - 8022: 5e21 ldrsh r1, [r4, r0] + 8080: aa0a add r2, sp, #40 ; 0x28 + 8082: 2100 movs r1, #0 + 8084: 5e53 ldrsh r3, [r2, r1] + 8086: 469c mov ip, r3 + 8088: 2000 movs r0, #0 + 808a: 5e21 ldrsh r1, [r4, r0] int32_t y = mask_com.y1 - coords->y1; - 8024: 2002 movs r0, #2 - 8026: 5e15 ldrsh r5, [r2, r0] - 8028: 2302 movs r3, #2 - 802a: 5ee0 ldrsh r0, [r4, r3] - 802c: 1a28 subs r0, r5, r0 + 808c: 2002 movs r0, #2 + 808e: 5e15 ldrsh r5, [r2, r0] + 8090: 2302 movs r3, #2 + 8092: 5ee0 ldrsh r0, [r4, r3] + 8094: 1a28 subs r0, r5, r0 for(row = mask_com.y1; row <= mask_com.y2; row++) { - 802e: 2306 movs r3, #6 - 8030: 5ed2 ldrsh r2, [r2, r3] - 8032: 4295 cmp r5, r2 - 8034: dc42 bgt.n 80bc + 8096: 2306 movs r3, #6 + 8098: 5ed2 ldrsh r2, [r2, r3] + 809a: 4295 cmp r5, r2 + 809c: dc42 bgt.n 8124 union_ok = _lv_area_intersect(&mask_line, clip_area, &line); - 8036: 4a29 ldr r2, [pc, #164] ; (80dc ) - 8038: 4693 mov fp, r2 + 809e: 4a29 ldr r2, [pc, #164] ; (8144 ) + 80a0: 4693 mov fp, r2 read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf); - 803a: 4663 mov r3, ip - 803c: 1a5b subs r3, r3, r1 - 803e: b21b sxth r3, r3 - 8040: 9308 str r3, [sp, #32] - 8042: 9409 str r4, [sp, #36] ; 0x24 - 8044: 46b2 mov sl, r6 - 8046: 4680 mov r8, r0 - 8048: e012 b.n 8070 - 804a: 9c09 ldr r4, [sp, #36] ; 0x24 + 80a2: 4663 mov r3, ip + 80a4: 1a5b subs r3, r3, r1 + 80a6: b21b sxth r3, r3 + 80a8: 9308 str r3, [sp, #32] + 80aa: 9409 str r4, [sp, #36] ; 0x24 + 80ac: 46b2 mov sl, r6 + 80ae: 4680 mov r8, r0 + 80b0: e012 b.n 80d8 + 80b2: 9c09 ldr r4, [sp, #36] ; 0x24 lv_img_decoder_close(&cdsc->dec_dsc); - 804c: 0038 movs r0, r7 - 804e: 4b27 ldr r3, [pc, #156] ; (80ec ) - 8050: 4798 blx r3 + 80b4: 0038 movs r0, r7 + 80b6: 4b27 ldr r3, [pc, #156] ; (8154 ) + 80b8: 4798 blx r3 _lv_mem_buf_release(buf); - 8052: 9804 ldr r0, [sp, #16] - 8054: 4b26 ldr r3, [pc, #152] ; (80f0 ) - 8056: 4798 blx r3 + 80ba: 9804 ldr r0, [sp, #16] + 80bc: 4b26 ldr r3, [pc, #152] ; (8158 ) + 80be: 4798 blx r3 show_error(coords, mask, "No\ndata"); - 8058: 4a1a ldr r2, [pc, #104] ; (80c4 ) - 805a: 9903 ldr r1, [sp, #12] - 805c: 0020 movs r0, r4 - 805e: 4b1a ldr r3, [pc, #104] ; (80c8 ) - 8060: 4798 blx r3 + 80c0: 4a1a ldr r2, [pc, #104] ; (812c ) + 80c2: 9903 ldr r1, [sp, #12] + 80c4: 0020 movs r0, r4 + 80c6: 4b1a ldr r3, [pc, #104] ; (8130 ) + 80c8: 4798 blx r3 return; - 8062: e748 b.n 7ef6 + 80ca: e748 b.n 7f5e for(row = mask_com.y1; row <= mask_com.y2; row++) { - 8064: 3501 adds r5, #1 - 8066: ab0a add r3, sp, #40 ; 0x28 - 8068: 2206 movs r2, #6 - 806a: 5e9b ldrsh r3, [r3, r2] - 806c: 429d cmp r5, r3 - 806e: dc25 bgt.n 80bc + 80cc: 3501 adds r5, #1 + 80ce: ab0a add r3, sp, #40 ; 0x28 + 80d0: 2206 movs r2, #6 + 80d2: 5e9b ldrsh r3, [r3, r2] + 80d4: 429d cmp r5, r3 + 80d6: dc25 bgt.n 8124 union_ok = _lv_area_intersect(&mask_line, clip_area, &line); - 8070: aa0c add r2, sp, #48 ; 0x30 - 8072: 9903 ldr r1, [sp, #12] - 8074: a80e add r0, sp, #56 ; 0x38 - 8076: 47d8 blx fp + 80d8: aa0c add r2, sp, #48 ; 0x30 + 80da: 9903 ldr r1, [sp, #12] + 80dc: a80e add r0, sp, #56 ; 0x38 + 80de: 47d8 blx fp if(union_ok == false) continue; - 8078: 2800 cmp r0, #0 - 807a: d0f3 beq.n 8064 + 80e0: 2800 cmp r0, #0 + 80e2: d0f3 beq.n 80cc read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf); - 807c: 4643 mov r3, r8 - 807e: b21a sxth r2, r3 - 8080: 9b04 ldr r3, [sp, #16] - 8082: 9300 str r3, [sp, #0] - 8084: 9b05 ldr r3, [sp, #20] - 8086: 9908 ldr r1, [sp, #32] - 8088: 0038 movs r0, r7 - 808a: 4c1a ldr r4, [pc, #104] ; (80f4 ) - 808c: 47a0 blx r4 + 80e4: 4643 mov r3, r8 + 80e6: b21a sxth r2, r3 + 80e8: 9b04 ldr r3, [sp, #16] + 80ea: 9300 str r3, [sp, #0] + 80ec: 9b05 ldr r3, [sp, #20] + 80ee: 9908 ldr r1, [sp, #32] + 80f0: 0038 movs r0, r7 + 80f2: 4c1a ldr r4, [pc, #104] ; (815c ) + 80f4: 47a0 blx r4 if(read_res != LV_RES_OK) { - 808e: 2801 cmp r0, #1 - 8090: d1db bne.n 804a + 80f6: 2801 cmp r0, #1 + 80f8: d1db bne.n 80b2 lv_draw_map(&line, &mask_line, buf, draw_dsc, chroma_keyed, alpha_byte); - 8092: ac0c add r4, sp, #48 ; 0x30 - 8094: 9b07 ldr r3, [sp, #28] - 8096: 9301 str r3, [sp, #4] - 8098: 9b06 ldr r3, [sp, #24] - 809a: 9300 str r3, [sp, #0] - 809c: 4653 mov r3, sl - 809e: 9a04 ldr r2, [sp, #16] - 80a0: a90e add r1, sp, #56 ; 0x38 - 80a2: 0020 movs r0, r4 - 80a4: 4e0e ldr r6, [pc, #56] ; (80e0 ) - 80a6: 47b0 blx r6 + 80fa: ac0c add r4, sp, #48 ; 0x30 + 80fc: 9b07 ldr r3, [sp, #28] + 80fe: 9301 str r3, [sp, #4] + 8100: 9b06 ldr r3, [sp, #24] + 8102: 9300 str r3, [sp, #0] + 8104: 4653 mov r3, sl + 8106: 9a04 ldr r2, [sp, #16] + 8108: a90e add r1, sp, #56 ; 0x38 + 810a: 0020 movs r0, r4 + 810c: 4e0e ldr r6, [pc, #56] ; (8148 ) + 810e: 47b0 blx r6 line.y1++; - 80a8: 8863 ldrh r3, [r4, #2] - 80aa: 3301 adds r3, #1 - 80ac: 8063 strh r3, [r4, #2] + 8110: 8863 ldrh r3, [r4, #2] + 8112: 3301 adds r3, #1 + 8114: 8063 strh r3, [r4, #2] line.y2++; - 80ae: 88e3 ldrh r3, [r4, #6] - 80b0: 3301 adds r3, #1 - 80b2: 80e3 strh r3, [r4, #6] + 8116: 88e3 ldrh r3, [r4, #6] + 8118: 3301 adds r3, #1 + 811a: 80e3 strh r3, [r4, #6] y++; - 80b4: 2301 movs r3, #1 - 80b6: 469c mov ip, r3 - 80b8: 44e0 add r8, ip - 80ba: e7d3 b.n 8064 + 811c: 2301 movs r3, #1 + 811e: 469c mov ip, r3 + 8120: 44e0 add r8, ip + 8122: e7d3 b.n 80cc _lv_mem_buf_release(buf); - 80bc: 9804 ldr r0, [sp, #16] - 80be: 4b0c ldr r3, [pc, #48] ; (80f0 ) - 80c0: 4798 blx r3 - 80c2: e718 b.n 7ef6 - 80c4: 000188b8 .word 0x000188b8 - 80c8: 00007df5 .word 0x00007df5 - 80cc: 0000da01 .word 0x0000da01 - 80d0: 00007ead .word 0x00007ead - 80d4: 00007ec1 .word 0x00007ec1 - 80d8: 0000d3dd .word 0x0000d3dd - 80dc: 0000fba7 .word 0x0000fba7 - 80e0: 0000754d .word 0x0000754d - 80e4: 00010e59 .word 0x00010e59 - 80e8: 0000fb81 .word 0x0000fb81 - 80ec: 0000e61d .word 0x0000e61d - 80f0: 00010b6d .word 0x00010b6d - 80f4: 0000e5f9 .word 0x0000e5f9 - -000080f8 : + 8124: 9804 ldr r0, [sp, #16] + 8126: 4b0c ldr r3, [pc, #48] ; (8158 ) + 8128: 4798 blx r3 + 812a: e718 b.n 7f5e + 812c: 00018948 .word 0x00018948 + 8130: 00007e5d .word 0x00007e5d + 8134: 0000da69 .word 0x0000da69 + 8138: 00007f15 .word 0x00007f15 + 813c: 00007f29 .word 0x00007f29 + 8140: 0000d445 .word 0x0000d445 + 8144: 0000fc0f .word 0x0000fc0f + 8148: 000075b5 .word 0x000075b5 + 814c: 00010ec1 .word 0x00010ec1 + 8150: 0000fbe9 .word 0x0000fbe9 + 8154: 0000e685 .word 0x0000e685 + 8158: 00010bd5 .word 0x00010bd5 + 815c: 0000e661 .word 0x0000e661 + +00008160 : if(src == NULL) return img_src_type; - 80f8: 2800 cmp r0, #0 - 80fa: d008 beq.n 810e + 8160: 2800 cmp r0, #0 + 8162: d008 beq.n 8176 if(u8_p[0] >= 0x20 && u8_p[0] <= 0x7F) { - 80fc: 7803 ldrb r3, [r0, #0] - 80fe: 001a movs r2, r3 - 8100: 3a20 subs r2, #32 + 8164: 7803 ldrb r3, [r0, #0] + 8166: 001a movs r2, r3 + 8168: 3a20 subs r2, #32 img_src_type = LV_IMG_SRC_FILE; /*If it's an ASCII character then it's file name*/ - 8102: 2001 movs r0, #1 + 816a: 2001 movs r0, #1 if(u8_p[0] >= 0x20 && u8_p[0] <= 0x7F) { - 8104: 2a5f cmp r2, #95 ; 0x5f - 8106: d901 bls.n 810c + 816c: 2a5f cmp r2, #95 ; 0x5f + 816e: d901 bls.n 8174 img_src_type = LV_IMG_SRC_VARIABLE; /*`lv_img_dsc_t` is design to the first byte < 0x20*/ - 8108: 09d8 lsrs r0, r3, #7 - 810a: 0040 lsls r0, r0, #1 + 8170: 09d8 lsrs r0, r3, #7 + 8172: 0040 lsls r0, r0, #1 } - 810c: 4770 bx lr + 8174: 4770 bx lr if(src == NULL) return img_src_type; - 810e: 2003 movs r0, #3 - 8110: e7fc b.n 810c + 8176: 2003 movs r0, #3 + 8178: e7fc b.n 8174 ... -00008114 : +0000817c : */ static uint8_t hex_char_to_num(char hex) { uint8_t result = 0; if(hex >= '0' && hex <= '9') { - 8114: 0003 movs r3, r0 - 8116: 3b30 subs r3, #48 ; 0x30 - 8118: b2db uxtb r3, r3 + 817c: 0003 movs r3, r0 + 817e: 3b30 subs r3, #48 ; 0x30 + 8180: b2db uxtb r3, r3 result = hex - '0'; - 811a: 001a movs r2, r3 + 8182: 001a movs r2, r3 if(hex >= '0' && hex <= '9') { - 811c: 2b09 cmp r3, #9 - 811e: d918 bls.n 8152 + 8184: 2b09 cmp r3, #9 + 8186: d918 bls.n 81ba } else { if(hex >= 'a') hex -= 'a' - 'A'; /*Convert to upper case*/ - 8120: 2860 cmp r0, #96 ; 0x60 - 8122: d901 bls.n 8128 - 8124: 3820 subs r0, #32 - 8126: b2c0 uxtb r0, r0 + 8188: 2860 cmp r0, #96 ; 0x60 + 818a: d901 bls.n 8190 + 818c: 3820 subs r0, #32 + 818e: b2c0 uxtb r0, r0 switch(hex) { - 8128: 3841 subs r0, #65 ; 0x41 - 812a: b2c3 uxtb r3, r0 - 812c: 2b05 cmp r3, #5 - 812e: d80d bhi.n 814c - 8130: 0098 lsls r0, r3, #2 - 8132: 4b09 ldr r3, [pc, #36] ; (8158 ) - 8134: 581b ldr r3, [r3, r0] - 8136: 469f mov pc, r3 + 8190: 3841 subs r0, #65 ; 0x41 + 8192: b2c3 uxtb r3, r0 + 8194: 2b05 cmp r3, #5 + 8196: d80d bhi.n 81b4 + 8198: 0098 lsls r0, r3, #2 + 819a: 4b09 ldr r3, [pc, #36] ; (81c0 ) + 819c: 581b ldr r3, [r3, r0] + 819e: 469f mov pc, r3 case 'A': result = 10; break; case 'B': result = 11; - 8138: 220b movs r2, #11 - 813a: e00a b.n 8152 + 81a0: 220b movs r2, #11 + 81a2: e00a b.n 81ba break; case 'C': result = 12; - 813c: 220c movs r2, #12 + 81a4: 220c movs r2, #12 break; - 813e: e008 b.n 8152 + 81a6: e008 b.n 81ba case 'D': result = 13; - 8140: 220d movs r2, #13 + 81a8: 220d movs r2, #13 break; - 8142: e006 b.n 8152 + 81aa: e006 b.n 81ba case 'E': result = 14; - 8144: 220e movs r2, #14 + 81ac: 220e movs r2, #14 break; - 8146: e004 b.n 8152 + 81ae: e004 b.n 81ba case 'F': result = 15; - 8148: 220f movs r2, #15 + 81b0: 220f movs r2, #15 break; - 814a: e002 b.n 8152 + 81b2: e002 b.n 81ba default: result = 0; - 814c: 2200 movs r2, #0 + 81b4: 2200 movs r2, #0 break; - 814e: e000 b.n 8152 + 81b6: e000 b.n 81ba result = 10; - 8150: 220a movs r2, #10 + 81b8: 220a movs r2, #10 } } return result; } - 8152: 0010 movs r0, r2 - 8154: 4770 bx lr - 8156: 46c0 nop ; (mov r8, r8) - 8158: 000188c0 .word 0x000188c0 + 81ba: 0010 movs r0, r2 + 81bc: 4770 bx lr + 81be: 46c0 nop ; (mov r8, r8) + 81c0: 00018950 .word 0x00018950 -0000815c : +000081c4 : { - 815c: b510 push {r4, lr} - 815e: 0004 movs r4, r0 + 81c4: b510 push {r4, lr} + 81c6: 0004 movs r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_label_dsc_t)); - 8160: 211c movs r1, #28 - 8162: 4b0f ldr r3, [pc, #60] ; (81a0 ) - 8164: 4798 blx r3 + 81c8: 211c movs r1, #28 + 81ca: 4b0f ldr r3, [pc, #60] ; (8208 ) + 81cc: 4798 blx r3 dsc->opa = LV_OPA_COVER; - 8166: 23ff movs r3, #255 ; 0xff - 8168: 7223 strb r3, [r4, #8] + 81ce: 23ff movs r3, #255 ; 0xff + 81d0: 7223 strb r3, [r4, #8] dsc->color = LV_COLOR_BLACK; - 816a: 7823 ldrb r3, [r4, #0] - 816c: 221f movs r2, #31 - 816e: 4393 bics r3, r2 - 8170: 7023 strb r3, [r4, #0] - 8172: 8822 ldrh r2, [r4, #0] - 8174: 490b ldr r1, [pc, #44] ; (81a4 ) - 8176: 400a ands r2, r1 - 8178: 8022 strh r2, [r4, #0] - 817a: 2300 movs r3, #0 - 817c: 7063 strb r3, [r4, #1] + 81d2: 7823 ldrb r3, [r4, #0] + 81d4: 221f movs r2, #31 + 81d6: 4393 bics r3, r2 + 81d8: 7023 strb r3, [r4, #0] + 81da: 8822 ldrh r2, [r4, #0] + 81dc: 490b ldr r1, [pc, #44] ; (820c ) + 81de: 400a ands r2, r1 + 81e0: 8022 strh r2, [r4, #0] + 81e2: 2300 movs r3, #0 + 81e4: 7063 strb r3, [r4, #1] dsc->font = LV_THEME_DEFAULT_FONT_NORMAL; - 817e: 4b0a ldr r3, [pc, #40] ; (81a8 ) - 8180: 6063 str r3, [r4, #4] + 81e6: 4b0a ldr r3, [pc, #40] ; (8210 ) + 81e8: 6063 str r3, [r4, #4] dsc->sel_start = LV_DRAW_LABEL_NO_TXT_SEL; - 8182: 2301 movs r3, #1 - 8184: 425b negs r3, r3 - 8186: 81e3 strh r3, [r4, #14] + 81ea: 2301 movs r3, #1 + 81ec: 425b negs r3, r3 + 81ee: 81e3 strh r3, [r4, #14] dsc->sel_end = LV_DRAW_LABEL_NO_TXT_SEL; - 8188: 8223 strh r3, [r4, #16] + 81f0: 8223 strh r3, [r4, #16] dsc->sel_color = LV_COLOR_BLUE; - 818a: 78a2 ldrb r2, [r4, #2] - 818c: 231f movs r3, #31 - 818e: 431a orrs r2, r3 - 8190: 70a2 strb r2, [r4, #2] - 8192: 8863 ldrh r3, [r4, #2] - 8194: 400b ands r3, r1 - 8196: 8063 strh r3, [r4, #2] - 8198: 2300 movs r3, #0 - 819a: 70e3 strb r3, [r4, #3] + 81f2: 78a2 ldrb r2, [r4, #2] + 81f4: 231f movs r3, #31 + 81f6: 431a orrs r2, r3 + 81f8: 70a2 strb r2, [r4, #2] + 81fa: 8863 ldrh r3, [r4, #2] + 81fc: 400b ands r3, r1 + 81fe: 8063 strh r3, [r4, #2] + 8200: 2300 movs r3, #0 + 8202: 70e3 strb r3, [r4, #3] dsc->bidi_dir = LV_BIDI_DIR_LTR; - 819c: 75a3 strb r3, [r4, #22] -} - 819e: bd10 pop {r4, pc} - 81a0: 00010fe5 .word 0x00010fe5 - 81a4: fffff81f .word 0xfffff81f - 81a8: 20000030 .word 0x20000030 - -000081ac : -{ - 81ac: b5f0 push {r4, r5, r6, r7, lr} - 81ae: 46de mov lr, fp - 81b0: 4657 mov r7, sl - 81b2: 464e mov r6, r9 - 81b4: 4645 mov r5, r8 - 81b6: b5e0 push {r5, r6, r7, lr} - 81b8: b0db sub sp, #364 ; 0x16c - 81ba: 9010 str r0, [sp, #64] ; 0x40 - 81bc: 910e str r1, [sp, #56] ; 0x38 - 81be: 0017 movs r7, r2 - 81c0: 001a movs r2, r3 - 81c2: 930d str r3, [sp, #52] ; 0x34 - 81c4: 9b64 ldr r3, [sp, #400] ; 0x190 - 81c6: 9305 str r3, [sp, #20] + 8204: 75a3 strb r3, [r4, #22] +} + 8206: bd10 pop {r4, pc} + 8208: 0001104d .word 0x0001104d + 820c: fffff81f .word 0xfffff81f + 8210: 20000030 .word 0x20000030 + +00008214 : +{ + 8214: b5f0 push {r4, r5, r6, r7, lr} + 8216: 46de mov lr, fp + 8218: 4657 mov r7, sl + 821a: 464e mov r6, r9 + 821c: 4645 mov r5, r8 + 821e: b5e0 push {r5, r6, r7, lr} + 8220: b0db sub sp, #364 ; 0x16c + 8222: 9010 str r0, [sp, #64] ; 0x40 + 8224: 910e str r1, [sp, #56] ; 0x38 + 8226: 0017 movs r7, r2 + 8228: 001a movs r2, r3 + 822a: 930d str r3, [sp, #52] ; 0x34 + 822c: 9b64 ldr r3, [sp, #400] ; 0x190 + 822e: 9305 str r3, [sp, #20] if(dsc->opa <= LV_OPA_MIN) return; - 81c8: 7a3b ldrb r3, [r7, #8] - 81ca: 2b05 cmp r3, #5 - 81cc: d902 bls.n 81d4 + 8230: 7a3b ldrb r3, [r7, #8] + 8232: 2b05 cmp r3, #5 + 8234: d902 bls.n 823c if(txt[0] == '\0') return; - 81ce: 7813 ldrb r3, [r2, #0] - 81d0: 2b00 cmp r3, #0 - 81d2: d106 bne.n 81e2 -} - 81d4: b05b add sp, #364 ; 0x16c - 81d6: bc3c pop {r2, r3, r4, r5} - 81d8: 4690 mov r8, r2 - 81da: 4699 mov r9, r3 - 81dc: 46a2 mov sl, r4 - 81de: 46ab mov fp, r5 - 81e0: bdf0 pop {r4, r5, r6, r7, pc} + 8236: 7813 ldrb r3, [r2, #0] + 8238: 2b00 cmp r3, #0 + 823a: d106 bne.n 824a +} + 823c: b05b add sp, #364 ; 0x16c + 823e: bc3c pop {r2, r3, r4, r5} + 8240: 4690 mov r8, r2 + 8242: 4699 mov r9, r3 + 8244: 46a2 mov sl, r4 + 8246: 46ab mov fp, r5 + 8248: bdf0 pop {r4, r5, r6, r7, pc} const lv_font_t * font = dsc->font; - 81e2: 687b ldr r3, [r7, #4] - 81e4: 9307 str r3, [sp, #28] + 824a: 687b ldr r3, [r7, #4] + 824c: 9307 str r3, [sp, #28] bool clip_ok = _lv_area_intersect(&clipped_area, coords, mask); - 81e6: 000a movs r2, r1 - 81e8: 0004 movs r4, r0 - 81ea: 0001 movs r1, r0 - 81ec: a858 add r0, sp, #352 ; 0x160 - 81ee: 4bd2 ldr r3, [pc, #840] ; (8538 ) - 81f0: 4798 blx r3 + 824e: 000a movs r2, r1 + 8250: 0004 movs r4, r0 + 8252: 0001 movs r1, r0 + 8254: a858 add r0, sp, #352 ; 0x160 + 8256: 4bd2 ldr r3, [pc, #840] ; (85a0 ) + 8258: 4798 blx r3 if(!clip_ok) return; - 81f2: 2800 cmp r0, #0 - 81f4: d0ee beq.n 81d4 + 825a: 2800 cmp r0, #0 + 825c: d0ee beq.n 823c if((dsc->flag & LV_TXT_FLAG_EXPAND) == 0) { - 81f6: 7dfa ldrb r2, [r7, #23] - 81f8: 0791 lsls r1, r2, #30 - 81fa: d424 bmi.n 8246 - 81fc: 88a3 ldrh r3, [r4, #4] - 81fe: 3301 adds r3, #1 - 8200: 8822 ldrh r2, [r4, #0] - 8202: 1a9b subs r3, r3, r2 + 825e: 7dfa ldrb r2, [r7, #23] + 8260: 0791 lsls r1, r2, #30 + 8262: d424 bmi.n 82ae + 8264: 88a3 ldrh r3, [r4, #4] + 8266: 3301 adds r3, #1 + 8268: 8822 ldrh r2, [r4, #0] + 826a: 1a9b subs r3, r3, r2 w = lv_area_get_width(coords); - 8204: b21b sxth r3, r3 + 826c: b21b sxth r3, r3 int32_t line_height_font = lv_font_get_line_height(font); - 8206: 9a07 ldr r2, [sp, #28] - 8208: 2608 movs r6, #8 - 820a: 5f96 ldrsh r6, [r2, r6] + 826e: 9a07 ldr r2, [sp, #28] + 8270: 2608 movs r6, #8 + 8272: 5f96 ldrsh r6, [r2, r6] int32_t line_height = line_height_font + dsc->line_space; - 820c: 210a movs r1, #10 - 820e: 5e7a ldrsh r2, [r7, r1] - 8210: 4691 mov r9, r2 - 8212: 44b1 add r9, r6 + 8274: 210a movs r1, #10 + 8276: 5e7a ldrsh r2, [r7, r1] + 8278: 4691 mov r9, r2 + 827a: 44b1 add r9, r6 pos.x = coords->x1; - 8214: 9a10 ldr r2, [sp, #64] ; 0x40 - 8216: 2000 movs r0, #0 - 8218: 5e11 ldrsh r1, [r2, r0] - 821a: 911f str r1, [sp, #124] ; 0x7c + 827c: 9a10 ldr r2, [sp, #64] ; 0x40 + 827e: 2000 movs r0, #0 + 8280: 5e11 ldrsh r1, [r2, r0] + 8282: 911f str r1, [sp, #124] ; 0x7c pos.y = coords->y1; - 821c: 2002 movs r0, #2 - 821e: 5e10 ldrsh r0, [r2, r0] + 8284: 2002 movs r0, #2 + 8286: 5e10 ldrsh r0, [r2, r0] x_ofs = dsc->ofs_x; - 8220: 2112 movs r1, #18 - 8222: 5e7a ldrsh r2, [r7, r1] - 8224: 921e str r2, [sp, #120] ; 0x78 + 8288: 2112 movs r1, #18 + 828a: 5e7a ldrsh r2, [r7, r1] + 828c: 921e str r2, [sp, #120] ; 0x78 y_ofs = dsc->ofs_y; - 8226: 2214 movs r2, #20 - 8228: 5eb9 ldrsh r1, [r7, r2] + 828e: 2214 movs r2, #20 + 8290: 5eb9 ldrsh r1, [r7, r2] pos.y += y_ofs; - 822a: 1842 adds r2, r0, r1 - 822c: b292 uxth r2, r2 - 822e: b215 sxth r5, r2 + 8292: 1842 adds r2, r0, r1 + 8294: b292 uxth r2, r2 + 8296: b215 sxth r5, r2 if(hint && y_ofs == 0 && coords->y1 < 0) { - 8230: 9c05 ldr r4, [sp, #20] - 8232: 2c00 cmp r4, #0 - 8234: d052 beq.n 82dc - 8236: 2900 cmp r1, #0 - 8238: d154 bne.n 82e4 - 823a: 2800 cmp r0, #0 - 823c: db14 blt.n 8268 + 8298: 9c05 ldr r4, [sp, #20] + 829a: 2c00 cmp r4, #0 + 829c: d052 beq.n 8344 + 829e: 2900 cmp r1, #0 + 82a0: d154 bne.n 834c + 82a2: 2800 cmp r0, #0 + 82a4: db14 blt.n 82d0 pos.y += y_ofs; - 823e: 9511 str r5, [sp, #68] ; 0x44 + 82a6: 9511 str r5, [sp, #68] ; 0x44 uint32_t line_start = 0; - 8240: 2200 movs r2, #0 - 8242: 9208 str r2, [sp, #32] - 8244: e02e b.n 82a4 + 82a8: 2200 movs r2, #0 + 82aa: 9208 str r2, [sp, #32] + 82ac: e02e b.n 830c _lv_txt_get_size(&p, txt, dsc->font, dsc->letter_space, dsc->line_space, LV_COORD_MAX, - 8246: 210c movs r1, #12 - 8248: 5e7b ldrsh r3, [r7, r1] - 824a: ad3c add r5, sp, #240 ; 0xf0 - 824c: 9202 str r2, [sp, #8] - 824e: 4abb ldr r2, [pc, #748] ; (853c ) - 8250: 9201 str r2, [sp, #4] - 8252: 210a movs r1, #10 - 8254: 5e7a ldrsh r2, [r7, r1] - 8256: 9200 str r2, [sp, #0] - 8258: 687a ldr r2, [r7, #4] - 825a: 990d ldr r1, [sp, #52] ; 0x34 - 825c: 0028 movs r0, r5 - 825e: 4eb8 ldr r6, [pc, #736] ; (8540 ) - 8260: 47b0 blx r6 + 82ae: 210c movs r1, #12 + 82b0: 5e7b ldrsh r3, [r7, r1] + 82b2: ad3c add r5, sp, #240 ; 0xf0 + 82b4: 9202 str r2, [sp, #8] + 82b6: 4abb ldr r2, [pc, #748] ; (85a4 ) + 82b8: 9201 str r2, [sp, #4] + 82ba: 210a movs r1, #10 + 82bc: 5e7a ldrsh r2, [r7, r1] + 82be: 9200 str r2, [sp, #0] + 82c0: 687a ldr r2, [r7, #4] + 82c2: 990d ldr r1, [sp, #52] ; 0x34 + 82c4: 0028 movs r0, r5 + 82c6: 4eb8 ldr r6, [pc, #736] ; (85a8 ) + 82c8: 47b0 blx r6 w = p.x; - 8262: 2200 movs r2, #0 - 8264: 5eab ldrsh r3, [r5, r2] - 8266: e7ce b.n 8206 + 82ca: 2200 movs r2, #0 + 82cc: 5eab ldrsh r3, [r5, r2] + 82ce: e7ce b.n 826e if(LV_MATH_ABS(hint->coord_y - coords->y1) > LV_LABEL_HINT_UPDATE_TH - 2 * line_height) { - 8268: 68a1 ldr r1, [r4, #8] - 826a: 1a08 subs r0, r1, r0 - 826c: 17c1 asrs r1, r0, #31 - 826e: 1840 adds r0, r0, r1 - 8270: 4048 eors r0, r1 - 8272: 2180 movs r1, #128 ; 0x80 - 8274: 0089 lsls r1, r1, #2 - 8276: 464c mov r4, r9 - 8278: 1b09 subs r1, r1, r4 - 827a: 0049 lsls r1, r1, #1 - 827c: 4288 cmp r0, r1 - 827e: dd07 ble.n 8290 + 82d0: 68a1 ldr r1, [r4, #8] + 82d2: 1a08 subs r0, r1, r0 + 82d4: 17c1 asrs r1, r0, #31 + 82d6: 1840 adds r0, r0, r1 + 82d8: 4048 eors r0, r1 + 82da: 2180 movs r1, #128 ; 0x80 + 82dc: 0089 lsls r1, r1, #2 + 82de: 464c mov r4, r9 + 82e0: 1b09 subs r1, r1, r4 + 82e2: 0049 lsls r1, r1, #1 + 82e4: 4288 cmp r0, r1 + 82e6: dd07 ble.n 82f8 hint->line_start = -1; - 8280: 2201 movs r2, #1 - 8282: 4252 negs r2, r2 - 8284: 9905 ldr r1, [sp, #20] - 8286: 600a str r2, [r1, #0] + 82e8: 2201 movs r2, #1 + 82ea: 4252 negs r2, r2 + 82ec: 9905 ldr r1, [sp, #20] + 82ee: 600a str r2, [r1, #0] pos.y += y_ofs; - 8288: 9511 str r5, [sp, #68] ; 0x44 + 82f0: 9511 str r5, [sp, #68] ; 0x44 uint32_t line_start = 0; - 828a: 2200 movs r2, #0 - 828c: 9208 str r2, [sp, #32] - 828e: e009 b.n 82a4 + 82f2: 2200 movs r2, #0 + 82f4: 9208 str r2, [sp, #32] + 82f6: e009 b.n 830c last_line_start = hint->line_start; - 8290: 9805 ldr r0, [sp, #20] - 8292: 6801 ldr r1, [r0, #0] + 82f8: 9805 ldr r0, [sp, #20] + 82fa: 6801 ldr r1, [r0, #0] if(hint && last_line_start >= 0) { - 8294: 2900 cmp r1, #0 - 8296: db29 blt.n 82ec + 82fc: 2900 cmp r1, #0 + 82fe: db29 blt.n 8354 line_start = last_line_start; - 8298: 9108 str r1, [sp, #32] + 8300: 9108 str r1, [sp, #32] pos.y += hint->y; - 829a: 6841 ldr r1, [r0, #4] - 829c: 468c mov ip, r1 - 829e: 4462 add r2, ip - 82a0: b212 sxth r2, r2 - 82a2: 9211 str r2, [sp, #68] ; 0x44 + 8302: 6841 ldr r1, [r0, #4] + 8304: 468c mov ip, r1 + 8306: 4462 add r2, ip + 8308: b212 sxth r2, r2 + 830a: 9211 str r2, [sp, #68] ; 0x44 uint32_t line_end = line_start + _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 82a4: b21b sxth r3, r3 - 82a6: 0019 movs r1, r3 - 82a8: 9312 str r3, [sp, #72] ; 0x48 - 82aa: 230c movs r3, #12 - 82ac: 5efa ldrsh r2, [r7, r3] - 82ae: 9b0d ldr r3, [sp, #52] ; 0x34 - 82b0: 0018 movs r0, r3 - 82b2: 9c08 ldr r4, [sp, #32] - 82b4: 46a4 mov ip, r4 - 82b6: 4460 add r0, ip - 82b8: 7dfb ldrb r3, [r7, #23] - 82ba: 9300 str r3, [sp, #0] - 82bc: 000b movs r3, r1 - 82be: 9907 ldr r1, [sp, #28] - 82c0: 4da0 ldr r5, [pc, #640] ; (8544 ) - 82c2: 47a8 blx r5 - 82c4: 46a4 mov ip, r4 - 82c6: 4460 add r0, ip + 830c: b21b sxth r3, r3 + 830e: 0019 movs r1, r3 + 8310: 9312 str r3, [sp, #72] ; 0x48 + 8312: 230c movs r3, #12 + 8314: 5efa ldrsh r2, [r7, r3] + 8316: 9b0d ldr r3, [sp, #52] ; 0x34 + 8318: 0018 movs r0, r3 + 831a: 9c08 ldr r4, [sp, #32] + 831c: 46a4 mov ip, r4 + 831e: 4460 add r0, ip + 8320: 7dfb ldrb r3, [r7, #23] + 8322: 9300 str r3, [sp, #0] + 8324: 000b movs r3, r1 + 8326: 9907 ldr r1, [sp, #28] + 8328: 4da0 ldr r5, [pc, #640] ; (85ac ) + 832a: 47a8 blx r5 + 832c: 46a4 mov ip, r4 + 832e: 4460 add r0, ip line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 82c8: 4a9e ldr r2, [pc, #632] ; (8544 ) - 82ca: 4692 mov sl, r2 + 8330: 4a9e ldr r2, [pc, #632] ; (85ac ) + 8332: 4692 mov sl, r2 if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) { - 82cc: 4a9e ldr r2, [pc, #632] ; (8548 ) - 82ce: 4690 mov r8, r2 - 82d0: 9606 str r6, [sp, #24] - 82d2: 0006 movs r6, r0 - 82d4: 9d11 ldr r5, [sp, #68] ; 0x44 - 82d6: 46bb mov fp, r7 - 82d8: 9f05 ldr r7, [sp, #20] + 8334: 4a9e ldr r2, [pc, #632] ; (85b0 ) + 8336: 4690 mov r8, r2 + 8338: 9606 str r6, [sp, #24] + 833a: 0006 movs r6, r0 + 833c: 9d11 ldr r5, [sp, #68] ; 0x44 + 833e: 46bb mov fp, r7 + 8340: 9f05 ldr r7, [sp, #20] while(pos.y + line_height_font < mask->y1) { - 82da: e011 b.n 8300 + 8342: e011 b.n 8368 pos.y += y_ofs; - 82dc: 9511 str r5, [sp, #68] ; 0x44 + 8344: 9511 str r5, [sp, #68] ; 0x44 uint32_t line_start = 0; - 82de: 2200 movs r2, #0 - 82e0: 9208 str r2, [sp, #32] - 82e2: e7df b.n 82a4 + 8346: 2200 movs r2, #0 + 8348: 9208 str r2, [sp, #32] + 834a: e7df b.n 830c pos.y += y_ofs; - 82e4: 9511 str r5, [sp, #68] ; 0x44 + 834c: 9511 str r5, [sp, #68] ; 0x44 uint32_t line_start = 0; - 82e6: 2200 movs r2, #0 - 82e8: 9208 str r2, [sp, #32] - 82ea: e7db b.n 82a4 + 834e: 2200 movs r2, #0 + 8350: 9208 str r2, [sp, #32] + 8352: e7db b.n 830c pos.y += y_ofs; - 82ec: 9511 str r5, [sp, #68] ; 0x44 + 8354: 9511 str r5, [sp, #68] ; 0x44 uint32_t line_start = 0; - 82ee: 2200 movs r2, #0 - 82f0: 9208 str r2, [sp, #32] - 82f2: e7d7 b.n 82a4 - 82f4: 9608 str r6, [sp, #32] + 8356: 2200 movs r2, #0 + 8358: 9208 str r2, [sp, #32] + 835a: e7d7 b.n 830c + 835c: 9608 str r6, [sp, #32] if(txt[line_start] == '\0') return; - 82f6: 7823 ldrb r3, [r4, #0] - 82f8: 2b00 cmp r3, #0 - 82fa: d100 bne.n 82fe - 82fc: e76a b.n 81d4 + 835e: 7823 ldrb r3, [r4, #0] + 8360: 2b00 cmp r3, #0 + 8362: d100 bne.n 8366 + 8364: e76a b.n 823c line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 82fe: 0006 movs r6, r0 + 8366: 0006 movs r6, r0 while(pos.y + line_height_font < mask->y1) { - 8300: 9b06 ldr r3, [sp, #24] - 8302: 18eb adds r3, r5, r3 - 8304: 9a0e ldr r2, [sp, #56] ; 0x38 - 8306: 2102 movs r1, #2 - 8308: 5e52 ldrsh r2, [r2, r1] - 830a: 4293 cmp r3, r2 - 830c: da20 bge.n 8350 + 8368: 9b06 ldr r3, [sp, #24] + 836a: 18eb adds r3, r5, r3 + 836c: 9a0e ldr r2, [sp, #56] ; 0x38 + 836e: 2102 movs r1, #2 + 8370: 5e52 ldrsh r2, [r2, r1] + 8372: 4293 cmp r3, r2 + 8374: da20 bge.n 83b8 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 830e: 9b0d ldr r3, [sp, #52] ; 0x34 - 8310: 199c adds r4, r3, r6 - 8312: 465b mov r3, fp - 8314: 220c movs r2, #12 - 8316: 5e9a ldrsh r2, [r3, r2] - 8318: 465b mov r3, fp - 831a: 7ddb ldrb r3, [r3, #23] - 831c: 9300 str r3, [sp, #0] - 831e: 9b12 ldr r3, [sp, #72] ; 0x48 - 8320: 9907 ldr r1, [sp, #28] - 8322: 0020 movs r0, r4 - 8324: 47d0 blx sl - 8326: 1980 adds r0, r0, r6 - 8328: 444d add r5, r9 - 832a: b22d sxth r5, r5 + 8376: 9b0d ldr r3, [sp, #52] ; 0x34 + 8378: 199c adds r4, r3, r6 + 837a: 465b mov r3, fp + 837c: 220c movs r2, #12 + 837e: 5e9a ldrsh r2, [r3, r2] + 8380: 465b mov r3, fp + 8382: 7ddb ldrb r3, [r3, #23] + 8384: 9300 str r3, [sp, #0] + 8386: 9b12 ldr r3, [sp, #72] ; 0x48 + 8388: 9907 ldr r1, [sp, #28] + 838a: 0020 movs r0, r4 + 838c: 47d0 blx sl + 838e: 1980 adds r0, r0, r6 + 8390: 444d add r5, r9 + 8392: b22d sxth r5, r5 if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) { - 832c: 2f00 cmp r7, #0 - 832e: d0e1 beq.n 82f4 - 8330: 4545 cmp r5, r8 - 8332: dbdf blt.n 82f4 - 8334: 683b ldr r3, [r7, #0] - 8336: 2b00 cmp r3, #0 - 8338: dadc bge.n 82f4 + 8394: 2f00 cmp r7, #0 + 8396: d0e1 beq.n 835c + 8398: 4545 cmp r5, r8 + 839a: dbdf blt.n 835c + 839c: 683b ldr r3, [r7, #0] + 839e: 2b00 cmp r3, #0 + 83a0: dadc bge.n 835c hint->line_start = line_start; - 833a: 603e str r6, [r7, #0] + 83a2: 603e str r6, [r7, #0] hint->y = pos.y - coords->y1; - 833c: 9a10 ldr r2, [sp, #64] ; 0x40 - 833e: 2102 movs r1, #2 - 8340: 5e53 ldrsh r3, [r2, r1] - 8342: 1aeb subs r3, r5, r3 - 8344: 607b str r3, [r7, #4] + 83a4: 9a10 ldr r2, [sp, #64] ; 0x40 + 83a6: 2102 movs r1, #2 + 83a8: 5e53 ldrsh r3, [r2, r1] + 83aa: 1aeb subs r3, r5, r3 + 83ac: 607b str r3, [r7, #4] hint->coord_y = coords->y1; - 8346: 0013 movs r3, r2 - 8348: 2202 movs r2, #2 - 834a: 5e9b ldrsh r3, [r3, r2] - 834c: 60bb str r3, [r7, #8] - 834e: e7d1 b.n 82f4 - 8350: 960b str r6, [sp, #44] ; 0x2c - 8352: 9511 str r5, [sp, #68] ; 0x44 - 8354: 465f mov r7, fp + 83ae: 0013 movs r3, r2 + 83b0: 2202 movs r2, #2 + 83b2: 5e9b ldrsh r3, [r3, r2] + 83b4: 60bb str r3, [r7, #8] + 83b6: e7d1 b.n 835c + 83b8: 960b str r6, [sp, #44] ; 0x2c + 83ba: 9511 str r5, [sp, #68] ; 0x44 + 83bc: 465f mov r7, fp if(dsc->flag & LV_TXT_FLAG_CENTER) { - 8356: 7dfa ldrb r2, [r7, #23] - 8358: 0753 lsls r3, r2, #29 - 835a: d42f bmi.n 83bc + 83be: 7dfa ldrb r2, [r7, #23] + 83c0: 0753 lsls r3, r2, #29 + 83c2: d42f bmi.n 8424 else if(dsc->flag & LV_TXT_FLAG_RIGHT) { - 835c: 0713 lsls r3, r2, #28 - 835e: d449 bmi.n 83f4 + 83c4: 0713 lsls r3, r2, #28 + 83c6: d449 bmi.n 845c lv_opa_t opa = dsc->opa; - 8360: 7a3b ldrb r3, [r7, #8] - 8362: 930f str r3, [sp, #60] ; 0x3c + 83c8: 7a3b ldrb r3, [r7, #8] + 83ca: 930f str r3, [sp, #60] ; 0x3c uint16_t sel_start = dsc->sel_start; - 8364: 89fb ldrh r3, [r7, #14] - 8366: 9306 str r3, [sp, #24] + 83cc: 89fb ldrh r3, [r7, #14] + 83ce: 9306 str r3, [sp, #24] uint16_t sel_end = dsc->sel_end; - 8368: 8a3a ldrh r2, [r7, #16] - 836a: 4692 mov sl, r2 + 83d0: 8a3a ldrh r2, [r7, #16] + 83d2: 4692 mov sl, r2 if(sel_start > sel_end) { - 836c: 4553 cmp r3, sl - 836e: d902 bls.n 8376 + 83d4: 4553 cmp r3, sl + 83d6: d902 bls.n 83de sel_start = sel_end; - 8370: 4652 mov r2, sl - 8372: 9206 str r2, [sp, #24] + 83d8: 4652 mov r2, sl + 83da: 9206 str r2, [sp, #24] sel_end = tmp; - 8374: 469a mov sl, r3 + 83dc: 469a mov sl, r3 if((dsc->decor & LV_TEXT_DECOR_UNDERLINE) || (dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH)) { - 8376: 7e3b ldrb r3, [r7, #24] - 8378: 079b lsls r3, r3, #30 - 837a: d155 bne.n 8428 + 83de: 7e3b ldrb r3, [r7, #24] + 83e0: 079b lsls r3, r3, #30 + 83e2: d155 bne.n 8490 lv_draw_rect_dsc_init(&draw_dsc_sel); - 837c: ac3f add r4, sp, #252 ; 0xfc - 837e: 0020 movs r0, r4 - 8380: 4b72 ldr r3, [pc, #456] ; (854c ) - 8382: 4798 blx r3 + 83e4: ac3f add r4, sp, #252 ; 0xfc + 83e6: 0020 movs r0, r4 + 83e8: 4b72 ldr r3, [pc, #456] ; (85b4 ) + 83ea: 4798 blx r3 draw_dsc_sel.bg_color = dsc->sel_color; - 8384: 887b ldrh r3, [r7, #2] - 8386: 8063 strh r3, [r4, #2] - 8388: 9b0f ldr r3, [sp, #60] ; 0x3c - 838a: 2bfa cmp r3, #250 ; 0xfa - 838c: d901 bls.n 8392 - 838e: 4b70 ldr r3, [pc, #448] ; (8550 ) - 8390: 781b ldrb r3, [r3, #0] - 8392: b2db uxtb r3, r3 - 8394: 931c str r3, [sp, #112] ; 0x70 - 8396: 464b mov r3, r9 - 8398: 466a mov r2, sp - 839a: 8293 strh r3, [r2, #20] - 839c: 8a93 ldrh r3, [r2, #20] - 839e: 9318 str r3, [sp, #96] ; 0x60 - 83a0: 466b mov r3, sp - 83a2: 2244 movs r2, #68 ; 0x44 - 83a4: 189b adds r3, r3, r2 - 83a6: 881b ldrh r3, [r3, #0] - 83a8: 9314 str r3, [sp, #80] ; 0x50 + 83ec: 887b ldrh r3, [r7, #2] + 83ee: 8063 strh r3, [r4, #2] + 83f0: 9b0f ldr r3, [sp, #60] ; 0x3c + 83f2: 2bfa cmp r3, #250 ; 0xfa + 83f4: d901 bls.n 83fa + 83f6: 4b70 ldr r3, [pc, #448] ; (85b8 ) + 83f8: 781b ldrb r3, [r3, #0] + 83fa: b2db uxtb r3, r3 + 83fc: 931c str r3, [sp, #112] ; 0x70 + 83fe: 464b mov r3, r9 + 8400: 466a mov r2, sp + 8402: 8293 strh r3, [r2, #20] + 8404: 8a93 ldrh r3, [r2, #20] + 8406: 9318 str r3, [sp, #96] ; 0x60 + 8408: 466b mov r3, sp + 840a: 2244 movs r2, #68 ; 0x44 + 840c: 189b adds r3, r3, r2 + 840e: 881b ldrh r3, [r3, #0] + 8410: 9314 str r3, [sp, #80] ; 0x50 while(txt[line_start] != '\0') { - 83aa: 9d1f ldr r5, [sp, #124] ; 0x7c + 8412: 9d1f ldr r5, [sp, #124] ; 0x7c uint16_t par_start = 0; - 83ac: 2300 movs r3, #0 - 83ae: 931d str r3, [sp, #116] ; 0x74 - 83b0: 9b08 ldr r3, [sp, #32] - 83b2: 469b mov fp, r3 - 83b4: 46d0 mov r8, sl - 83b6: 003e movs r6, r7 + 8414: 2300 movs r3, #0 + 8416: 931d str r3, [sp, #116] ; 0x74 + 8418: 9b08 ldr r3, [sp, #32] + 841a: 469b mov fp, r3 + 841c: 46d0 mov r8, sl + 841e: 003e movs r6, r7 while(txt[line_start] != '\0') { - 83b8: f000 fdd2 bl 8f60 + 8420: f000 fdd2 bl 8fc8 line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - 83bc: 210c movs r1, #12 - 83be: 5e7b ldrsh r3, [r7, r1] - 83c0: 9c08 ldr r4, [sp, #32] - 83c2: 1b31 subs r1, r6, r4 - 83c4: b289 uxth r1, r1 - 83c6: 980d ldr r0, [sp, #52] ; 0x34 - 83c8: 46a4 mov ip, r4 - 83ca: 4460 add r0, ip - 83cc: 9200 str r2, [sp, #0] - 83ce: 9a07 ldr r2, [sp, #28] - 83d0: 4c60 ldr r4, [pc, #384] ; (8554 ) - 83d2: 47a0 blx r4 - 83d4: 9a10 ldr r2, [sp, #64] ; 0x40 - 83d6: 8893 ldrh r3, [r2, #4] - 83d8: 3301 adds r3, #1 - 83da: 8812 ldrh r2, [r2, #0] - 83dc: 1a9b subs r3, r3, r2 + 8424: 210c movs r1, #12 + 8426: 5e7b ldrsh r3, [r7, r1] + 8428: 9c08 ldr r4, [sp, #32] + 842a: 1b31 subs r1, r6, r4 + 842c: b289 uxth r1, r1 + 842e: 980d ldr r0, [sp, #52] ; 0x34 + 8430: 46a4 mov ip, r4 + 8432: 4460 add r0, ip + 8434: 9200 str r2, [sp, #0] + 8436: 9a07 ldr r2, [sp, #28] + 8438: 4c60 ldr r4, [pc, #384] ; (85bc ) + 843a: 47a0 blx r4 + 843c: 9a10 ldr r2, [sp, #64] ; 0x40 + 843e: 8893 ldrh r3, [r2, #4] + 8440: 3301 adds r3, #1 + 8442: 8812 ldrh r2, [r2, #0] + 8444: 1a9b subs r3, r3, r2 pos.x += (lv_area_get_width(coords) - line_width) / 2; - 83de: b21b sxth r3, r3 - 83e0: 1a18 subs r0, r3, r0 - 83e2: 0fc3 lsrs r3, r0, #31 - 83e4: 181b adds r3, r3, r0 - 83e6: 105b asrs r3, r3, #1 - 83e8: 9a1f ldr r2, [sp, #124] ; 0x7c - 83ea: 4694 mov ip, r2 - 83ec: 4463 add r3, ip - 83ee: b21b sxth r3, r3 - 83f0: 931f str r3, [sp, #124] ; 0x7c - 83f2: e7b5 b.n 8360 + 8446: b21b sxth r3, r3 + 8448: 1a18 subs r0, r3, r0 + 844a: 0fc3 lsrs r3, r0, #31 + 844c: 181b adds r3, r3, r0 + 844e: 105b asrs r3, r3, #1 + 8450: 9a1f ldr r2, [sp, #124] ; 0x7c + 8452: 4694 mov ip, r2 + 8454: 4463 add r3, ip + 8456: b21b sxth r3, r3 + 8458: 931f str r3, [sp, #124] ; 0x7c + 845a: e7b5 b.n 83c8 line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - 83f4: 210c movs r1, #12 - 83f6: 5e7b ldrsh r3, [r7, r1] - 83f8: 980b ldr r0, [sp, #44] ; 0x2c - 83fa: 9c08 ldr r4, [sp, #32] - 83fc: 1b01 subs r1, r0, r4 - 83fe: b289 uxth r1, r1 - 8400: 980d ldr r0, [sp, #52] ; 0x34 - 8402: 46a4 mov ip, r4 - 8404: 4460 add r0, ip - 8406: 9200 str r2, [sp, #0] - 8408: 9a07 ldr r2, [sp, #28] - 840a: 4c52 ldr r4, [pc, #328] ; (8554 ) - 840c: 47a0 blx r4 - 840e: 9a10 ldr r2, [sp, #64] ; 0x40 - 8410: 8893 ldrh r3, [r2, #4] - 8412: 3301 adds r3, #1 - 8414: 8812 ldrh r2, [r2, #0] - 8416: 1a9b subs r3, r3, r2 + 845c: 210c movs r1, #12 + 845e: 5e7b ldrsh r3, [r7, r1] + 8460: 980b ldr r0, [sp, #44] ; 0x2c + 8462: 9c08 ldr r4, [sp, #32] + 8464: 1b01 subs r1, r0, r4 + 8466: b289 uxth r1, r1 + 8468: 980d ldr r0, [sp, #52] ; 0x34 + 846a: 46a4 mov ip, r4 + 846c: 4460 add r0, ip + 846e: 9200 str r2, [sp, #0] + 8470: 9a07 ldr r2, [sp, #28] + 8472: 4c52 ldr r4, [pc, #328] ; (85bc ) + 8474: 47a0 blx r4 + 8476: 9a10 ldr r2, [sp, #64] ; 0x40 + 8478: 8893 ldrh r3, [r2, #4] + 847a: 3301 adds r3, #1 + 847c: 8812 ldrh r2, [r2, #0] + 847e: 1a9b subs r3, r3, r2 pos.x += lv_area_get_width(coords) - line_width; - 8418: b21b sxth r3, r3 - 841a: 1a1b subs r3, r3, r0 - 841c: 9a1f ldr r2, [sp, #124] ; 0x7c - 841e: 4694 mov ip, r2 - 8420: 4463 add r3, ip - 8422: b21b sxth r3, r3 - 8424: 931f str r3, [sp, #124] ; 0x7c - 8426: e79b b.n 8360 + 8480: b21b sxth r3, r3 + 8482: 1a1b subs r3, r3, r0 + 8484: 9a1f ldr r2, [sp, #124] ; 0x7c + 8486: 4694 mov ip, r2 + 8488: 4463 add r3, ip + 848a: b21b sxth r3, r3 + 848c: 931f str r3, [sp, #124] ; 0x7c + 848e: e79b b.n 83c8 lv_draw_line_dsc_init(&line_dsc); - 8428: ac55 add r4, sp, #340 ; 0x154 - 842a: 0020 movs r0, r4 - 842c: 4b4a ldr r3, [pc, #296] ; (8558 ) - 842e: 4798 blx r3 + 8490: ac55 add r4, sp, #340 ; 0x154 + 8492: 0020 movs r0, r4 + 8494: 4b4a ldr r3, [pc, #296] ; (85c0 ) + 8496: 4798 blx r3 line_dsc.color = dsc->color; - 8430: 883b ldrh r3, [r7, #0] - 8432: 8023 strh r3, [r4, #0] + 8498: 883b ldrh r3, [r7, #0] + 849a: 8023 strh r3, [r4, #0] line_dsc.width = (dsc->font->line_height + 5) / 10; /*+5 for rounding*/ - 8434: 687b ldr r3, [r7, #4] - 8436: 2008 movs r0, #8 - 8438: 5e18 ldrsh r0, [r3, r0] - 843a: 3005 adds r0, #5 - 843c: 210a movs r1, #10 - 843e: 4b47 ldr r3, [pc, #284] ; (855c ) - 8440: 4798 blx r3 - 8442: 8060 strh r0, [r4, #2] + 849c: 687b ldr r3, [r7, #4] + 849e: 2008 movs r0, #8 + 84a0: 5e18 ldrsh r0, [r3, r0] + 84a2: 3005 adds r0, #5 + 84a4: 210a movs r1, #10 + 84a6: 4b47 ldr r3, [pc, #284] ; (85c4 ) + 84a8: 4798 blx r3 + 84aa: 8060 strh r0, [r4, #2] line_dsc.opa = dsc->opa; - 8444: 7a3b ldrb r3, [r7, #8] - 8446: 7223 strb r3, [r4, #8] + 84ac: 7a3b ldrb r3, [r7, #8] + 84ae: 7223 strb r3, [r4, #8] line_dsc.blend_mode = dsc->blend_mode; - 8448: 7e7a ldrb r2, [r7, #25] - 844a: 2303 movs r3, #3 - 844c: 401a ands r2, r3 - 844e: 7a63 ldrb r3, [r4, #9] - 8450: 2103 movs r1, #3 - 8452: 438b bics r3, r1 - 8454: 4313 orrs r3, r2 - 8456: 7263 strb r3, [r4, #9] - 8458: e790 b.n 837c + 84b0: 7e7a ldrb r2, [r7, #25] + 84b2: 2303 movs r3, #3 + 84b4: 401a ands r2, r3 + 84b6: 7a63 ldrb r3, [r4, #9] + 84b8: 2103 movs r1, #3 + 84ba: 438b bics r3, r1 + 84bc: 4313 orrs r3, r2 + 84be: 7263 strb r3, [r4, #9] + 84c0: e790 b.n 83e4 uint16_t logical_char_pos = 0; - 845a: 2500 movs r5, #0 - 845c: e2e2 b.n 8a24 + 84c2: 2500 movs r5, #0 + 84c4: e2e2 b.n 8a8c if(cmd_state == CMD_STATE_WAIT) { /*Start char*/ - 845e: 9b09 ldr r3, [sp, #36] ; 0x24 - 8460: 2b00 cmp r3, #0 - 8462: d107 bne.n 8474 + 84c6: 9b09 ldr r3, [sp, #36] ; 0x24 + 84c8: 2b00 cmp r3, #0 + 84ca: d107 bne.n 84dc par_start = i; - 8464: ab34 add r3, sp, #208 ; 0xd0 - 8466: 2280 movs r2, #128 ; 0x80 - 8468: 189b adds r3, r3, r2 - 846a: 881b ldrh r3, [r3, #0] - 846c: 931d str r3, [sp, #116] ; 0x74 + 84cc: ab34 add r3, sp, #208 ; 0xd0 + 84ce: 2280 movs r2, #128 ; 0x80 + 84d0: 189b adds r3, r3, r2 + 84d2: 881b ldrh r3, [r3, #0] + 84d4: 931d str r3, [sp, #116] ; 0x74 cmd_state = CMD_STATE_PAR; - 846e: 2301 movs r3, #1 - 8470: 9309 str r3, [sp, #36] ; 0x24 + 84d6: 2301 movs r3, #1 + 84d8: 9309 str r3, [sp, #36] ; 0x24 continue; - 8472: e2c2 b.n 89fa + 84da: e2c2 b.n 8a62 else if(cmd_state == CMD_STATE_PAR) { /*Other start char in parameter escaped cmd. char */ - 8474: 9b09 ldr r3, [sp, #36] ; 0x24 - 8476: 2b01 cmp r3, #1 - 8478: d101 bne.n 847e - 847a: f000 fe05 bl 9088 + 84dc: 9b09 ldr r3, [sp, #36] ; 0x24 + 84de: 2b01 cmp r3, #1 + 84e0: d101 bne.n 84e6 + 84e2: f000 fe05 bl 90f0 else if(cmd_state == CMD_STATE_IN) { /*Command end */ - 847e: 2b02 cmp r3, #2 - 8480: d101 bne.n 8486 - 8482: f000 fd32 bl 8eea + 84e6: 2b02 cmp r3, #2 + 84e8: d101 bne.n 84ee + 84ea: f000 fd32 bl 8f52 lv_color_t color = dsc->color; - 8486: 883e ldrh r6, [r7, #0] - 8488: e2ec b.n 8a64 + 84ee: 883e ldrh r6, [r7, #0] + 84f0: e2ec b.n 8acc if(letter == ' ') { - 848a: 9b05 ldr r3, [sp, #20] - 848c: 2b20 cmp r3, #32 - 848e: d000 beq.n 8492 - 8490: e2b3 b.n 89fa + 84f2: 9b05 ldr r3, [sp, #20] + 84f4: 2b20 cmp r3, #32 + 84f6: d000 beq.n 84fa + 84f8: e2b3 b.n 8a62 if(i - par_start == LABEL_RECOLOR_PAR_LENGTH + 1) { - 8492: 9b54 ldr r3, [sp, #336] ; 0x150 - 8494: 9a1d ldr r2, [sp, #116] ; 0x74 - 8496: 1a9b subs r3, r3, r2 - 8498: 2b07 cmp r3, #7 - 849a: d004 beq.n 84a6 + 84fa: 9b54 ldr r3, [sp, #336] ; 0x150 + 84fc: 9a1d ldr r2, [sp, #116] ; 0x74 + 84fe: 1a9b subs r3, r3, r2 + 8500: 2b07 cmp r3, #7 + 8502: d004 beq.n 850e recolor.full = dsc->color.full; - 849c: 883b ldrh r3, [r7, #0] - 849e: 9316 str r3, [sp, #88] ; 0x58 + 8504: 883b ldrh r3, [r7, #0] + 8506: 9316 str r3, [sp, #88] ; 0x58 cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/ - 84a0: 2302 movs r3, #2 - 84a2: 9309 str r3, [sp, #36] ; 0x24 - 84a4: e2a9 b.n 89fa + 8508: 2302 movs r3, #2 + 850a: 9309 str r3, [sp, #36] ; 0x24 + 850c: e2a9 b.n 8a62 _lv_memcpy_small(buf, &bidi_txt[par_start], LABEL_RECOLOR_PAR_LENGTH); - 84a6: 9b0c ldr r3, [sp, #48] ; 0x30 - 84a8: 4694 mov ip, r2 - 84aa: 4463 add r3, ip - 84ac: 0018 movs r0, r3 - 84ae: 2300 movs r3, #0 + 850e: 9b0c ldr r3, [sp, #48] ; 0x30 + 8510: 4694 mov ip, r2 + 8512: 4463 add r3, ip + 8514: 0018 movs r0, r3 + 8516: 2300 movs r3, #0 *d8 = *s8; - 84b0: a93c add r1, sp, #240 ; 0xf0 - 84b2: 5cc2 ldrb r2, [r0, r3] - 84b4: 545a strb r2, [r3, r1] - 84b6: 3301 adds r3, #1 + 8518: a93c add r1, sp, #240 ; 0xf0 + 851a: 5cc2 ldrb r2, [r0, r3] + 851c: 545a strb r2, [r3, r1] + 851e: 3301 adds r3, #1 while(len) { - 84b8: 2b06 cmp r3, #6 - 84ba: d1fa bne.n 84b2 + 8520: 2b06 cmp r3, #6 + 8522: d1fa bne.n 851a r = (hex_char_to_num(buf[0]) << 4) + hex_char_to_num(buf[1]); - 84bc: ad3c add r5, sp, #240 ; 0xf0 - 84be: 7828 ldrb r0, [r5, #0] - 84c0: 4e27 ldr r6, [pc, #156] ; (8560 ) - 84c2: 47b0 blx r6 - 84c4: 4680 mov r8, r0 - 84c6: 7868 ldrb r0, [r5, #1] - 84c8: 47b0 blx r6 - 84ca: 4643 mov r3, r8 - 84cc: 011b lsls r3, r3, #4 - 84ce: 4698 mov r8, r3 - 84d0: 4480 add r8, r0 + 8524: ad3c add r5, sp, #240 ; 0xf0 + 8526: 7828 ldrb r0, [r5, #0] + 8528: 4e27 ldr r6, [pc, #156] ; (85c8 ) + 852a: 47b0 blx r6 + 852c: 4680 mov r8, r0 + 852e: 7868 ldrb r0, [r5, #1] + 8530: 47b0 blx r6 + 8532: 4643 mov r3, r8 + 8534: 011b lsls r3, r3, #4 + 8536: 4698 mov r8, r3 + 8538: 4480 add r8, r0 g = (hex_char_to_num(buf[2]) << 4) + hex_char_to_num(buf[3]); - 84d2: 78a8 ldrb r0, [r5, #2] - 84d4: 47b0 blx r6 - 84d6: 9005 str r0, [sp, #20] - 84d8: 78e8 ldrb r0, [r5, #3] - 84da: 47b0 blx r6 - 84dc: 9b05 ldr r3, [sp, #20] - 84de: 011b lsls r3, r3, #4 - 84e0: 181b adds r3, r3, r0 - 84e2: 9305 str r3, [sp, #20] + 853a: 78a8 ldrb r0, [r5, #2] + 853c: 47b0 blx r6 + 853e: 9005 str r0, [sp, #20] + 8540: 78e8 ldrb r0, [r5, #3] + 8542: 47b0 blx r6 + 8544: 9b05 ldr r3, [sp, #20] + 8546: 011b lsls r3, r3, #4 + 8548: 181b adds r3, r3, r0 + 854a: 9305 str r3, [sp, #20] b = (hex_char_to_num(buf[4]) << 4) + hex_char_to_num(buf[5]); - 84e4: 7928 ldrb r0, [r5, #4] - 84e6: 47b0 blx r6 - 84e8: 9008 str r0, [sp, #32] - 84ea: 7968 ldrb r0, [r5, #5] - 84ec: 47b0 blx r6 - 84ee: 9a08 ldr r2, [sp, #32] - 84f0: 0115 lsls r5, r2, #4 - 84f2: 1828 adds r0, r5, r0 + 854c: 7928 ldrb r0, [r5, #4] + 854e: 47b0 blx r6 + 8550: 9008 str r0, [sp, #32] + 8552: 7968 ldrb r0, [r5, #5] + 8554: 47b0 blx r6 + 8556: 9a08 ldr r2, [sp, #32] + 8558: 0115 lsls r5, r2, #4 + 855a: 1828 adds r0, r5, r0 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/ #endif static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) { return LV_COLOR_MAKE(r, g, b); - 84f4: b2c2 uxtb r2, r0 - 84f6: 08d2 lsrs r2, r2, #3 - 84f8: 231f movs r3, #31 - 84fa: 992c ldr r1, [sp, #176] ; 0xb0 - 84fc: 4399 bics r1, r3 - 84fe: 000b movs r3, r1 - 8500: 4313 orrs r3, r2 - 8502: 466a mov r2, sp - 8504: 7d12 ldrb r2, [r2, #20] - 8506: 0892 lsrs r2, r2, #2 - 8508: 0151 lsls r1, r2, #5 - 850a: 4a16 ldr r2, [pc, #88] ; (8564 ) - 850c: 4013 ands r3, r2 - 850e: 430b orrs r3, r1 - 8510: 4642 mov r2, r8 - 8512: 4669 mov r1, sp - 8514: 750a strb r2, [r1, #20] - 8516: 7d0a ldrb r2, [r1, #20] - 8518: 08d2 lsrs r2, r2, #3 - 851a: 02d2 lsls r2, r2, #11 - 851c: 055b lsls r3, r3, #21 - 851e: 0d5b lsrs r3, r3, #21 - 8520: 4313 orrs r3, r2 - 8522: 466a mov r2, sp - 8524: 21b0 movs r1, #176 ; 0xb0 - 8526: 1852 adds r2, r2, r1 - 8528: 8013 strh r3, [r2, #0] - 852a: b29b uxth r3, r3 - 852c: 9316 str r3, [sp, #88] ; 0x58 + 855c: b2c2 uxtb r2, r0 + 855e: 08d2 lsrs r2, r2, #3 + 8560: 231f movs r3, #31 + 8562: 992c ldr r1, [sp, #176] ; 0xb0 + 8564: 4399 bics r1, r3 + 8566: 000b movs r3, r1 + 8568: 4313 orrs r3, r2 + 856a: 466a mov r2, sp + 856c: 7d12 ldrb r2, [r2, #20] + 856e: 0892 lsrs r2, r2, #2 + 8570: 0151 lsls r1, r2, #5 + 8572: 4a16 ldr r2, [pc, #88] ; (85cc ) + 8574: 4013 ands r3, r2 + 8576: 430b orrs r3, r1 + 8578: 4642 mov r2, r8 + 857a: 4669 mov r1, sp + 857c: 750a strb r2, [r1, #20] + 857e: 7d0a ldrb r2, [r1, #20] + 8580: 08d2 lsrs r2, r2, #3 + 8582: 02d2 lsls r2, r2, #11 + 8584: 055b lsls r3, r3, #21 + 8586: 0d5b lsrs r3, r3, #21 + 8588: 4313 orrs r3, r2 + 858a: 466a mov r2, sp + 858c: 21b0 movs r1, #176 ; 0xb0 + 858e: 1852 adds r2, r2, r1 + 8590: 8013 strh r3, [r2, #0] + 8592: b29b uxth r3, r3 + 8594: 9316 str r3, [sp, #88] ; 0x58 cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/ - 852e: 2302 movs r3, #2 - 8530: 9309 str r3, [sp, #36] ; 0x24 - 8532: e262 b.n 89fa + 8596: 2302 movs r3, #2 + 8598: 9309 str r3, [sp, #36] ; 0x24 + 859a: e262 b.n 8a62 if(cmd_state == CMD_STATE_IN) color = recolor; - 8534: 9e16 ldr r6, [sp, #88] ; 0x58 - 8536: e295 b.n 8a64 - 8538: 0000fba7 .word 0x0000fba7 - 853c: 00007c18 .word 0x00007c18 - 8540: 00011a7d .word 0x00011a7d - 8544: 00011761 .word 0x00011761 - 8548: fffffc00 .word 0xfffffc00 - 854c: 0000aab9 .word 0x0000aab9 - 8550: 000188d8 .word 0x000188d8 - 8554: 000119d9 .word 0x000119d9 - 8558: 00009099 .word 0x00009099 - 855c: 00017a75 .word 0x00017a75 - 8560: 00008115 .word 0x00008115 - 8564: fffff81f .word 0xfffff81f + 859c: 9e16 ldr r6, [sp, #88] ; 0x58 + 859e: e295 b.n 8acc + 85a0: 0000fc0f .word 0x0000fc0f + 85a4: 00007c18 .word 0x00007c18 + 85a8: 00011ae5 .word 0x00011ae5 + 85ac: 000117c9 .word 0x000117c9 + 85b0: fffffc00 .word 0xfffffc00 + 85b4: 0000ab21 .word 0x0000ab21 + 85b8: 00018968 .word 0x00018968 + 85bc: 00011a41 .word 0x00011a41 + 85c0: 00009101 .word 0x00009101 + 85c4: 00017b05 .word 0x00017b05 + 85c8: 0000817d .word 0x0000817d + 85cc: fffff81f .word 0xfffff81f sel_coords.x1 = pos.x; - 8568: a83c add r0, sp, #240 ; 0xf0 - 856a: 8004 strh r4, [r0, #0] + 85d0: a83c add r0, sp, #240 ; 0xf0 + 85d2: 8004 strh r4, [r0, #0] sel_coords.y1 = pos.y; - 856c: 9911 ldr r1, [sp, #68] ; 0x44 - 856e: 8041 strh r1, [r0, #2] + 85d4: 9911 ldr r1, [sp, #68] ; 0x44 + 85d6: 8041 strh r1, [r0, #2] sel_coords.x2 = pos.x + letter_w + dsc->letter_space - 1; - 8570: 89bb ldrh r3, [r7, #12] - 8572: 3b01 subs r3, #1 - 8574: 18e3 adds r3, r4, r3 - 8576: 9a0a ldr r2, [sp, #40] ; 0x28 - 8578: 4694 mov ip, r2 - 857a: 4463 add r3, ip - 857c: 8083 strh r3, [r0, #4] + 85d8: 89bb ldrh r3, [r7, #12] + 85da: 3b01 subs r3, #1 + 85dc: 18e3 adds r3, r4, r3 + 85de: 9a0a ldr r2, [sp, #40] ; 0x28 + 85e0: 4694 mov ip, r2 + 85e2: 4463 add r3, ip + 85e4: 8083 strh r3, [r0, #4] sel_coords.y2 = pos.y + line_height - 1; - 857e: 9b18 ldr r3, [sp, #96] ; 0x60 - 8580: 3b01 subs r3, #1 - 8582: 468c mov ip, r1 - 8584: 4463 add r3, ip - 8586: 80c3 strh r3, [r0, #6] + 85e6: 9b18 ldr r3, [sp, #96] ; 0x60 + 85e8: 3b01 subs r3, #1 + 85ea: 468c mov ip, r1 + 85ec: 4463 add r3, ip + 85ee: 80c3 strh r3, [r0, #6] lv_draw_rect(&sel_coords, mask, &draw_dsc_sel); - 8588: aa3f add r2, sp, #252 ; 0xfc - 858a: 990e ldr r1, [sp, #56] ; 0x38 - 858c: 4bc6 ldr r3, [pc, #792] ; (88a8 ) - 858e: 4798 blx r3 - 8590: e27a b.n 8a88 + 85f0: aa3f add r2, sp, #252 ; 0xfc + 85f2: 990e ldr r1, [sp, #56] ; 0x38 + 85f4: 4bc6 ldr r3, [pc, #792] ; (8910 ) + 85f6: 4798 blx r3 + 85f8: e27a b.n 8af0 switch(bpp) { - 8592: 2b04 cmp r3, #4 - 8594: d100 bne.n 8598 - 8596: e0e9 b.n 876c - 8598: 2b08 cmp r3, #8 - 859a: d000 beq.n 859e - 859c: e224 b.n 89e8 + 85fa: 2b04 cmp r3, #4 + 85fc: d100 bne.n 8600 + 85fe: e0e9 b.n 87d4 + 8600: 2b08 cmp r3, #8 + 8602: d000 beq.n 8606 + 8604: e224 b.n 8a50 uint32_t bpp = g->bpp; - 859e: 2608 movs r6, #8 + 8606: 2608 movs r6, #8 bitmask_init = 0xFF; - 85a0: 23ff movs r3, #255 ; 0xff - 85a2: 9320 str r3, [sp, #128] ; 0x80 + 8608: 23ff movs r3, #255 ; 0xff + 860a: 9320 str r3, [sp, #128] ; 0x80 bpp_opa_table = _lv_bpp8_opa_table; - 85a4: 4bc1 ldr r3, [pc, #772] ; (88ac ) - 85a6: 9323 str r3, [sp, #140] ; 0x8c - 85a8: e003 b.n 85b2 + 860c: 4bc1 ldr r3, [pc, #772] ; (8914 ) + 860e: 9323 str r3, [sp, #140] ; 0x8c + 8610: e003 b.n 861a bitmask_init = 0xC0; - 85aa: 23c0 movs r3, #192 ; 0xc0 - 85ac: 9320 str r3, [sp, #128] ; 0x80 + 8612: 23c0 movs r3, #192 ; 0xc0 + 8614: 9320 str r3, [sp, #128] ; 0x80 bpp_opa_table = _lv_bpp2_opa_table; - 85ae: 4bc0 ldr r3, [pc, #768] ; (88b0 ) - 85b0: 9323 str r3, [sp, #140] ; 0x8c + 8616: 4bc0 ldr r3, [pc, #768] ; (8918 ) + 8618: 9323 str r3, [sp, #140] ; 0x8c int32_t box_w = g->box_w; - 85b2: ab3c add r3, sp, #240 ; 0xf0 - 85b4: 885a ldrh r2, [r3, #2] - 85b6: 921a str r2, [sp, #104] ; 0x68 + 861a: ab3c add r3, sp, #240 ; 0xf0 + 861c: 885a ldrh r2, [r3, #2] + 861e: 921a str r2, [sp, #104] ; 0x68 int32_t box_h = g->box_h; - 85b8: 889b ldrh r3, [r3, #4] - 85ba: 931b str r3, [sp, #108] ; 0x6c + 8620: 889b ldrh r3, [r3, #4] + 8622: 931b str r3, [sp, #108] ; 0x6c int32_t width_bit = box_w * bpp; /*Letter width in bits*/ - 85bc: 4372 muls r2, r6 - 85be: 9221 str r2, [sp, #132] ; 0x84 + 8624: 4372 muls r2, r6 + 8626: 9221 str r2, [sp, #132] ; 0x84 int32_t col_start = pos_x >= clip_area->x1 ? 0 : (clip_area->x1 - pos_x) * 3; - 85c0: 9b0e ldr r3, [sp, #56] ; 0x38 - 85c2: 2200 movs r2, #0 - 85c4: 5e9b ldrsh r3, [r3, r2] - 85c6: 2200 movs r2, #0 - 85c8: 922b str r2, [sp, #172] ; 0xac - 85ca: 9905 ldr r1, [sp, #20] - 85cc: 4299 cmp r1, r3 - 85ce: da03 bge.n 85d8 - 85d0: 1a5b subs r3, r3, r1 - 85d2: 005a lsls r2, r3, #1 - 85d4: 18d3 adds r3, r2, r3 - 85d6: 932b str r3, [sp, #172] ; 0xac + 8628: 9b0e ldr r3, [sp, #56] ; 0x38 + 862a: 2200 movs r2, #0 + 862c: 5e9b ldrsh r3, [r3, r2] + 862e: 2200 movs r2, #0 + 8630: 922b str r2, [sp, #172] ; 0xac + 8632: 9905 ldr r1, [sp, #20] + 8634: 4299 cmp r1, r3 + 8636: da03 bge.n 8640 + 8638: 1a5b subs r3, r3, r1 + 863a: 005a lsls r2, r3, #1 + 863c: 18d3 adds r3, r2, r3 + 863e: 932b str r3, [sp, #172] ; 0xac int32_t col_end = pos_x + box_w / 3 <= clip_area->x2 ? box_w : (clip_area->x2 - pos_x + 1) * 3; - 85d8: 9b0e ldr r3, [sp, #56] ; 0x38 - 85da: 2204 movs r2, #4 - 85dc: 5e9b ldrsh r3, [r3, r2] - 85de: 9322 str r3, [sp, #136] ; 0x88 - 85e0: 2103 movs r1, #3 - 85e2: 981a ldr r0, [sp, #104] ; 0x68 - 85e4: 4bb3 ldr r3, [pc, #716] ; (88b4 ) - 85e6: 4798 blx r3 - 85e8: 9905 ldr r1, [sp, #20] - 85ea: 468c mov ip, r1 - 85ec: 4460 add r0, ip - 85ee: 9a1a ldr r2, [sp, #104] ; 0x68 - 85f0: 9219 str r2, [sp, #100] ; 0x64 - 85f2: 9a22 ldr r2, [sp, #136] ; 0x88 - 85f4: 4290 cmp r0, r2 - 85f6: dd04 ble.n 8602 - 85f8: 1a53 subs r3, r2, r1 - 85fa: 1c5a adds r2, r3, #1 - 85fc: 0053 lsls r3, r2, #1 - 85fe: 189b adds r3, r3, r2 - 8600: 9319 str r3, [sp, #100] ; 0x64 + 8640: 9b0e ldr r3, [sp, #56] ; 0x38 + 8642: 2204 movs r2, #4 + 8644: 5e9b ldrsh r3, [r3, r2] + 8646: 9322 str r3, [sp, #136] ; 0x88 + 8648: 2103 movs r1, #3 + 864a: 981a ldr r0, [sp, #104] ; 0x68 + 864c: 4bb3 ldr r3, [pc, #716] ; (891c ) + 864e: 4798 blx r3 + 8650: 9905 ldr r1, [sp, #20] + 8652: 468c mov ip, r1 + 8654: 4460 add r0, ip + 8656: 9a1a ldr r2, [sp, #104] ; 0x68 + 8658: 9219 str r2, [sp, #100] ; 0x64 + 865a: 9a22 ldr r2, [sp, #136] ; 0x88 + 865c: 4290 cmp r0, r2 + 865e: dd04 ble.n 866a + 8660: 1a53 subs r3, r2, r1 + 8662: 1c5a adds r2, r3, #1 + 8664: 0053 lsls r3, r2, #1 + 8666: 189b adds r3, r3, r2 + 8668: 9319 str r3, [sp, #100] ; 0x64 int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y; - 8602: 9b0e ldr r3, [sp, #56] ; 0x38 - 8604: 2202 movs r2, #2 - 8606: 5e9b ldrsh r3, [r3, r2] - 8608: 2200 movs r2, #0 - 860a: 9229 str r2, [sp, #164] ; 0xa4 - 860c: 9915 ldr r1, [sp, #84] ; 0x54 - 860e: 4299 cmp r1, r3 - 8610: da01 bge.n 8616 - 8612: 1a5b subs r3, r3, r1 - 8614: 9329 str r3, [sp, #164] ; 0xa4 + 866a: 9b0e ldr r3, [sp, #56] ; 0x38 + 866c: 2202 movs r2, #2 + 866e: 5e9b ldrsh r3, [r3, r2] + 8670: 2200 movs r2, #0 + 8672: 9229 str r2, [sp, #164] ; 0xa4 + 8674: 9915 ldr r1, [sp, #84] ; 0x54 + 8676: 4299 cmp r1, r3 + 8678: da01 bge.n 867e + 867a: 1a5b subs r3, r3, r1 + 867c: 9329 str r3, [sp, #164] ; 0xa4 int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - 8616: 9b0e ldr r3, [sp, #56] ; 0x38 - 8618: 2206 movs r2, #6 - 861a: 5e9b ldrsh r3, [r3, r2] - 861c: 991b ldr r1, [sp, #108] ; 0x6c - 861e: 000a movs r2, r1 - 8620: 9815 ldr r0, [sp, #84] ; 0x54 - 8622: 4684 mov ip, r0 - 8624: 4462 add r2, ip - 8626: 912f str r1, [sp, #188] ; 0xbc - 8628: 429a cmp r2, r3 - 862a: dd02 ble.n 8632 - 862c: 1a1b subs r3, r3, r0 - 862e: 3301 adds r3, #1 - 8630: 932f str r3, [sp, #188] ; 0xbc - 8632: 466b mov r3, sp - 8634: 2290 movs r2, #144 ; 0x90 - 8636: 189b adds r3, r3, r2 - 8638: 881a ldrh r2, [r3, #0] - 863a: 06d3 lsls r3, r2, #27 - 863c: 0edb lsrs r3, r3, #27 - 863e: 9326 str r3, [sp, #152] ; 0x98 - 8640: 0553 lsls r3, r2, #21 - 8642: 0e9b lsrs r3, r3, #26 - 8644: 9328 str r3, [sp, #160] ; 0xa0 - 8646: 0413 lsls r3, r2, #16 - 8648: 0edb lsrs r3, r3, #27 - 864a: 9327 str r3, [sp, #156] ; 0x9c + 867e: 9b0e ldr r3, [sp, #56] ; 0x38 + 8680: 2206 movs r2, #6 + 8682: 5e9b ldrsh r3, [r3, r2] + 8684: 991b ldr r1, [sp, #108] ; 0x6c + 8686: 000a movs r2, r1 + 8688: 9815 ldr r0, [sp, #84] ; 0x54 + 868a: 4684 mov ip, r0 + 868c: 4462 add r2, ip + 868e: 912f str r1, [sp, #188] ; 0xbc + 8690: 429a cmp r2, r3 + 8692: dd02 ble.n 869a + 8694: 1a1b subs r3, r3, r0 + 8696: 3301 adds r3, #1 + 8698: 932f str r3, [sp, #188] ; 0xbc + 869a: 466b mov r3, sp + 869c: 2290 movs r2, #144 ; 0x90 + 869e: 189b adds r3, r3, r2 + 86a0: 881a ldrh r2, [r3, #0] + 86a2: 06d3 lsls r3, r2, #27 + 86a4: 0edb lsrs r3, r3, #27 + 86a6: 9326 str r3, [sp, #152] ; 0x98 + 86a8: 0553 lsls r3, r2, #21 + 86aa: 0e9b lsrs r3, r3, #26 + 86ac: 9328 str r3, [sp, #160] ; 0xa0 + 86ae: 0413 lsls r3, r2, #16 + 86b0: 0edb lsrs r3, r3, #27 + 86b2: 9327 str r3, [sp, #156] ; 0x9c int32_t bit_ofs = (row_start * width_bit) + (col_start * bpp); - 864c: 9b21 ldr r3, [sp, #132] ; 0x84 - 864e: 9a29 ldr r2, [sp, #164] ; 0xa4 - 8650: 4353 muls r3, r2 - 8652: 9a2b ldr r2, [sp, #172] ; 0xac - 8654: 4372 muls r2, r6 - 8656: 189b adds r3, r3, r2 + 86b4: 9b21 ldr r3, [sp, #132] ; 0x84 + 86b6: 9a29 ldr r2, [sp, #164] ; 0xa4 + 86b8: 4353 muls r3, r2 + 86ba: 9a2b ldr r2, [sp, #172] ; 0xac + 86bc: 4372 muls r2, r6 + 86be: 189b adds r3, r3, r2 map_p += bit_ofs >> 3; - 8658: 10da asrs r2, r3, #3 - 865a: 18ad adds r5, r5, r2 + 86c0: 10da asrs r2, r3, #3 + 86c2: 18ad adds r5, r5, r2 col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */ - 865c: 2207 movs r2, #7 - 865e: 401a ands r2, r3 - 8660: 9234 str r2, [sp, #208] ; 0xd0 + 86c4: 2207 movs r2, #7 + 86c6: 401a ands r2, r3 + 86c8: 9234 str r2, [sp, #208] ; 0xd0 int32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : g->box_w * g->box_h; - 8662: 9b1b ldr r3, [sp, #108] ; 0x6c - 8664: 9a1a ldr r2, [sp, #104] ; 0x68 - 8666: 4353 muls r3, r2 - 8668: 001a movs r2, r3 - 866a: 932e str r3, [sp, #184] ; 0xb8 + 86ca: 9b1b ldr r3, [sp, #108] ; 0x6c + 86cc: 9a1a ldr r2, [sp, #104] ; 0x68 + 86ce: 4353 muls r3, r2 + 86d0: 001a movs r2, r3 + 86d2: 932e str r3, [sp, #184] ; 0xb8 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 866c: 23f0 movs r3, #240 ; 0xf0 - 866e: 005b lsls r3, r3, #1 - 8670: 429a cmp r2, r3 - 8672: dd00 ble.n 8676 - 8674: 932e str r3, [sp, #184] ; 0xb8 - 8676: 982e ldr r0, [sp, #184] ; 0xb8 - 8678: 4b8f ldr r3, [pc, #572] ; (88b8 ) - 867a: 4798 blx r3 - 867c: 9024 str r0, [sp, #144] ; 0x90 + 86d4: 23f0 movs r3, #240 ; 0xf0 + 86d6: 005b lsls r3, r3, #1 + 86d8: 429a cmp r2, r3 + 86da: dd00 ble.n 86de + 86dc: 932e str r3, [sp, #184] ; 0xb8 + 86de: 982e ldr r0, [sp, #184] ; 0xb8 + 86e0: 4b8f ldr r3, [pc, #572] ; (8920 ) + 86e2: 4798 blx r3 + 86e4: 9024 str r0, [sp, #144] ; 0x90 lv_color_t * color_buf = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 867e: 9b2e ldr r3, [sp, #184] ; 0xb8 - 8680: 0058 lsls r0, r3, #1 - 8682: 4b8d ldr r3, [pc, #564] ; (88b8 ) - 8684: 4798 blx r3 - 8686: 9025 str r0, [sp, #148] ; 0x94 + 86e6: 9b2e ldr r3, [sp, #184] ; 0xb8 + 86e8: 0058 lsls r0, r3, #1 + 86ea: 4b8d ldr r3, [pc, #564] ; (8920 ) + 86ec: 4798 blx r3 + 86ee: 9025 str r0, [sp, #148] ; 0x94 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 8688: 4b8c ldr r3, [pc, #560] ; (88bc ) - 868a: 4798 blx r3 + 86f0: 4b8c ldr r3, [pc, #560] ; (8924 ) + 86f2: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 868c: 4b8c ldr r3, [pc, #560] ; (88c0 ) - 868e: 4798 blx r3 - 8690: 2110 movs r1, #16 - 8692: 5e42 ldrsh r2, [r0, r1] - 8694: 0011 movs r1, r2 - 8696: 8a83 ldrh r3, [r0, #20] - 8698: 3301 adds r3, #1 - 869a: 9122 str r1, [sp, #136] ; 0x88 - 869c: 1a5b subs r3, r3, r1 + 86f4: 4b8c ldr r3, [pc, #560] ; (8928 ) + 86f6: 4798 blx r3 + 86f8: 2110 movs r1, #16 + 86fa: 5e42 ldrsh r2, [r0, r1] + 86fc: 0011 movs r1, r2 + 86fe: 8a83 ldrh r3, [r0, #20] + 8700: 3301 adds r3, #1 + 8702: 9122 str r1, [sp, #136] ; 0x88 + 8704: 1a5b subs r3, r3, r1 int32_t vdb_width = lv_area_get_width(&vdb->area); - 869e: b21b sxth r3, r3 - 86a0: 931b str r3, [sp, #108] ; 0x6c + 8706: b21b sxth r3, r3 + 8708: 931b str r3, [sp, #108] ; 0x6c lv_color_t * vdb_buf_tmp = vdb->buf_act; - 86a2: 9021 str r0, [sp, #132] ; 0x84 - 86a4: 6880 ldr r0, [r0, #8] - 86a6: 902a str r0, [sp, #168] ; 0xa8 + 870a: 9021 str r0, [sp, #132] ; 0x84 + 870c: 6880 ldr r0, [r0, #8] + 870e: 902a str r0, [sp, #168] ; 0xa8 vdb_buf_tmp += (row_start * vdb_width) + col_start / 3; - 86a8: 2103 movs r1, #3 - 86aa: 982b ldr r0, [sp, #172] ; 0xac - 86ac: 4a81 ldr r2, [pc, #516] ; (88b4 ) - 86ae: 4694 mov ip, r2 - 86b0: 47e0 blx ip + 8710: 2103 movs r1, #3 + 8712: 982b ldr r0, [sp, #172] ; 0xac + 8714: 4a81 ldr r2, [pc, #516] ; (891c ) + 8716: 4694 mov ip, r2 + 8718: 47e0 blx ip vdb_buf_tmp += ((pos_y - vdb->area.y1) * vdb_width) + pos_x - vdb->area.x1; - 86b2: 9b21 ldr r3, [sp, #132] ; 0x84 - 86b4: 2112 movs r1, #18 - 86b6: 5e5b ldrsh r3, [r3, r1] - 86b8: 9915 ldr r1, [sp, #84] ; 0x54 - 86ba: 1acb subs r3, r1, r3 - 86bc: 991b ldr r1, [sp, #108] ; 0x6c - 86be: 434b muls r3, r1 - 86c0: 9a05 ldr r2, [sp, #20] - 86c2: 4694 mov ip, r2 - 86c4: 4463 add r3, ip - 86c6: 9a22 ldr r2, [sp, #136] ; 0x88 - 86c8: 1a9b subs r3, r3, r2 + 871a: 9b21 ldr r3, [sp, #132] ; 0x84 + 871c: 2112 movs r1, #18 + 871e: 5e5b ldrsh r3, [r3, r1] + 8720: 9915 ldr r1, [sp, #84] ; 0x54 + 8722: 1acb subs r3, r1, r3 + 8724: 991b ldr r1, [sp, #108] ; 0x6c + 8726: 434b muls r3, r1 + 8728: 9a05 ldr r2, [sp, #20] + 872a: 4694 mov ip, r2 + 872c: 4463 add r3, ip + 872e: 9a22 ldr r2, [sp, #136] ; 0x88 + 8730: 1a9b subs r3, r3, r2 vdb_buf_tmp += (row_start * vdb_width) + col_start / 3; - 86ca: 9a29 ldr r2, [sp, #164] ; 0xa4 - 86cc: 434a muls r2, r1 - 86ce: 1812 adds r2, r2, r0 - 86d0: 189b adds r3, r3, r2 - 86d2: 005b lsls r3, r3, #1 - 86d4: 992a ldr r1, [sp, #168] ; 0xa8 - 86d6: 468c mov ip, r1 - 86d8: 449c add ip, r3 - 86da: 4661 mov r1, ip - 86dc: 9105 str r1, [sp, #20] + 8732: 9a29 ldr r2, [sp, #164] ; 0xa4 + 8734: 434a muls r2, r1 + 8736: 1812 adds r2, r2, r0 + 8738: 189b adds r3, r3, r2 + 873a: 005b lsls r3, r3, #1 + 873c: 992a ldr r1, [sp, #168] ; 0xa8 + 873e: 468c mov ip, r1 + 8740: 449c add ip, r3 + 8742: 4661 mov r1, ip + 8744: 9105 str r1, [sp, #20] map_area.x1 = col_start / 3 + pos_x; - 86de: 4641 mov r1, r8 - 86e0: 466b mov r3, sp - 86e2: 2254 movs r2, #84 ; 0x54 - 86e4: 189b adds r3, r3, r2 - 86e6: 8019 strh r1, [r3, #0] - 86e8: b289 uxth r1, r1 - 86ea: 4688 mov r8, r1 - 86ec: 4440 add r0, r8 - 86ee: a934 add r1, sp, #208 ; 0xd0 - 86f0: 8308 strh r0, [r1, #24] + 8746: 4641 mov r1, r8 + 8748: 466b mov r3, sp + 874a: 2254 movs r2, #84 ; 0x54 + 874c: 189b adds r3, r3, r2 + 874e: 8019 strh r1, [r3, #0] + 8750: b289 uxth r1, r1 + 8752: 4688 mov r8, r1 + 8754: 4440 add r0, r8 + 8756: a934 add r1, sp, #208 ; 0xd0 + 8758: 8308 strh r0, [r1, #24] map_area.x2 = col_end / 3 + pos_x - 1; - 86f2: 2103 movs r1, #3 - 86f4: 9819 ldr r0, [sp, #100] ; 0x64 - 86f6: 4b6f ldr r3, [pc, #444] ; (88b4 ) - 86f8: 4798 blx r3 - 86fa: 4643 mov r3, r8 - 86fc: 3b01 subs r3, #1 - 86fe: 18c3 adds r3, r0, r3 - 8700: a834 add r0, sp, #208 ; 0xd0 - 8702: 8383 strh r3, [r0, #28] + 875a: 2103 movs r1, #3 + 875c: 9819 ldr r0, [sp, #100] ; 0x64 + 875e: 4b6f ldr r3, [pc, #444] ; (891c ) + 8760: 4798 blx r3 + 8762: 4643 mov r3, r8 + 8764: 3b01 subs r3, #1 + 8766: 18c3 adds r3, r0, r3 + 8768: a834 add r0, sp, #208 ; 0xd0 + 876a: 8383 strh r3, [r0, #28] map_area.y1 = row_start + pos_y; - 8704: 9817 ldr r0, [sp, #92] ; 0x5c - 8706: 9a29 ldr r2, [sp, #164] ; 0xa4 - 8708: 4694 mov ip, r2 - 870a: 4460 add r0, ip - 870c: b203 sxth r3, r0 - 870e: a834 add r0, sp, #208 ; 0xd0 - 8710: 8343 strh r3, [r0, #26] + 876c: 9817 ldr r0, [sp, #92] ; 0x5c + 876e: 9a29 ldr r2, [sp, #164] ; 0xa4 + 8770: 4694 mov ip, r2 + 8772: 4460 add r0, ip + 8774: b203 sxth r3, r0 + 8776: a834 add r0, sp, #208 ; 0xd0 + 8778: 8343 strh r3, [r0, #26] map_area.y2 = map_area.y1; - 8712: 83c3 strh r3, [r0, #30] + 877a: 83c3 strh r3, [r0, #30] uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - 8714: 4b6b ldr r3, [pc, #428] ; (88c4 ) - 8716: 4798 blx r3 - 8718: 9030 str r0, [sp, #192] ; 0xc0 + 877c: 4b6b ldr r3, [pc, #428] ; (892c ) + 877e: 4798 blx r3 + 8780: 9030 str r0, [sp, #192] ; 0xc0 for(row = row_start ; row < row_end; row++) { - 871a: 9a29 ldr r2, [sp, #164] ; 0xa4 - 871c: 982f ldr r0, [sp, #188] ; 0xbc - 871e: 4282 cmp r2, r0 - 8720: db00 blt.n 8724 - 8722: e147 b.n 89b4 + 8782: 9a29 ldr r2, [sp, #164] ; 0xa4 + 8784: 982f ldr r0, [sp, #188] ; 0xbc + 8786: 4282 cmp r2, r0 + 8788: db00 blt.n 878c + 878a: e147 b.n 8a1c if((uint32_t) mask_p + (col_end - col_start) < mask_buf_size) { - 8724: 9a19 ldr r2, [sp, #100] ; 0x64 - 8726: 982b ldr r0, [sp, #172] ; 0xac - 8728: 1a11 subs r1, r2, r0 - 872a: 0008 movs r0, r1 - 872c: 9131 str r1, [sp, #196] ; 0xc4 + 878c: 9a19 ldr r2, [sp, #100] ; 0x64 + 878e: 982b ldr r0, [sp, #172] ; 0xac + 8790: 1a11 subs r1, r2, r0 + 8792: 0008 movs r0, r1 + 8794: 9131 str r1, [sp, #196] ; 0xc4 col_bit += ((box_w - col_end) + col_start) * bpp; - 872e: 9b1a ldr r3, [sp, #104] ; 0x68 - 8730: 1a9b subs r3, r3, r2 - 8732: 992b ldr r1, [sp, #172] ; 0xac - 8734: 468c mov ip, r1 - 8736: 4463 add r3, ip - 8738: 0019 movs r1, r3 - 873a: 4371 muls r1, r6 - 873c: 9132 str r1, [sp, #200] ; 0xc8 + 8796: 9b1a ldr r3, [sp, #104] ; 0x68 + 8798: 1a9b subs r3, r3, r2 + 879a: 992b ldr r1, [sp, #172] ; 0xac + 879c: 468c mov ip, r1 + 879e: 4463 add r3, ip + 87a0: 0019 movs r1, r3 + 87a2: 4371 muls r1, r6 + 87a4: 9132 str r1, [sp, #200] ; 0xc8 vdb_buf_tmp += vdb_width - (col_end - col_start) / 3; - 873e: 2103 movs r1, #3 - 8740: 4249 negs r1, r1 - 8742: 4b5c ldr r3, [pc, #368] ; (88b4 ) - 8744: 4798 blx r3 - 8746: 9b1b ldr r3, [sp, #108] ; 0x6c - 8748: 18c3 adds r3, r0, r3 - 874a: 005b lsls r3, r3, #1 - 874c: 9333 str r3, [sp, #204] ; 0xcc - 874e: 2300 movs r3, #0 - 8750: 932a str r3, [sp, #168] ; 0xa8 + 87a6: 2103 movs r1, #3 + 87a8: 4249 negs r1, r1 + 87aa: 4b5c ldr r3, [pc, #368] ; (891c ) + 87ac: 4798 blx r3 + 87ae: 9b1b ldr r3, [sp, #108] ; 0x6c + 87b0: 18c3 adds r3, r0, r3 + 87b2: 005b lsls r3, r3, #1 + 87b4: 9333 str r3, [sp, #204] ; 0xcc + 87b6: 2300 movs r3, #0 + 87b8: 932a str r3, [sp, #168] ; 0xa8 color_buf[mask_p] = res_color; - 8752: 465b mov r3, fp - 8754: 9335 str r3, [sp, #212] ; 0xd4 - 8756: 4653 mov r3, sl - 8758: 9336 str r3, [sp, #216] ; 0xd8 - 875a: 9b05 ldr r3, [sp, #20] - 875c: 469a mov sl, r3 - 875e: 46ab mov fp, r5 - 8760: 9b34 ldr r3, [sp, #208] ; 0xd0 - 8762: 4698 mov r8, r3 - 8764: 9434 str r4, [sp, #208] ; 0xd0 - 8766: 9737 str r7, [sp, #220] ; 0xdc - 8768: e0d4 b.n 8914 + 87ba: 465b mov r3, fp + 87bc: 9335 str r3, [sp, #212] ; 0xd4 + 87be: 4653 mov r3, sl + 87c0: 9336 str r3, [sp, #216] ; 0xd8 + 87c2: 9b05 ldr r3, [sp, #20] + 87c4: 469a mov sl, r3 + 87c6: 46ab mov fp, r5 + 87c8: 9b34 ldr r3, [sp, #208] ; 0xd0 + 87ca: 4698 mov r8, r3 + 87cc: 9434 str r4, [sp, #208] ; 0xd0 + 87ce: 9737 str r7, [sp, #220] ; 0xdc + 87d0: e0d4 b.n 897c if(bpp == 3) bpp = 4; - 876a: 2604 movs r6, #4 + 87d2: 2604 movs r6, #4 bitmask_init = 0xF0; - 876c: 23f0 movs r3, #240 ; 0xf0 - 876e: 9320 str r3, [sp, #128] ; 0x80 + 87d4: 23f0 movs r3, #240 ; 0xf0 + 87d6: 9320 str r3, [sp, #128] ; 0x80 bpp_opa_table = _lv_bpp4_opa_table; - 8770: 4b55 ldr r3, [pc, #340] ; (88c8 ) - 8772: 9323 str r3, [sp, #140] ; 0x8c - 8774: e71d b.n 85b2 + 87d8: 4b55 ldr r3, [pc, #340] ; (8930 ) + 87da: 9323 str r3, [sp, #140] ; 0x8c + 87dc: e71d b.n 861a px_opa = bpp == 8 ? letter_px : bpp_opa_table[letter_px]; - 8776: 2e08 cmp r6, #8 - 8778: d00b beq.n 8792 - 877a: 4663 mov r3, ip - 877c: 4018 ands r0, r3 - 877e: 9b23 ldr r3, [sp, #140] ; 0x8c - 8780: 5c1b ldrb r3, [r3, r0] - 8782: e006 b.n 8792 + 87de: 2e08 cmp r6, #8 + 87e0: d00b beq.n 87fa + 87e2: 4663 mov r3, ip + 87e4: 4018 ands r0, r3 + 87e6: 9b23 ldr r3, [sp, #140] ; 0x8c + 87e8: 5c1b ldrb r3, [r3, r0] + 87ea: e006 b.n 87fa px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8 - 8784: 4663 mov r3, ip - 8786: 4003 ands r3, r0 - 8788: 991c ldr r1, [sp, #112] ; 0x70 - 878a: 434b muls r3, r1 - 878c: 0a1b lsrs r3, r3, #8 - 878e: e000 b.n 8792 + 87ec: 4663 mov r3, ip + 87ee: 4003 ands r3, r0 + 87f0: 991c ldr r1, [sp, #112] ; 0x70 + 87f2: 434b muls r3, r1 + 87f4: 0a1b lsrs r3, r3, #8 + 87f6: e000 b.n 87fa px_opa = 0; - 8790: 2300 movs r3, #0 + 87f8: 2300 movs r3, #0 font_rgb[subpx_cnt] = px_opa; - 8792: 9917 ldr r1, [sp, #92] ; 0x5c - 8794: 548b strb r3, [r1, r2] + 87fa: 9917 ldr r1, [sp, #92] ; 0x5c + 87fc: 548b strb r3, [r1, r2] subpx_cnt ++; - 8796: 3201 adds r2, #1 + 87fe: 3201 adds r2, #1 if(subpx_cnt == 3) { - 8798: 2a03 cmp r2, #3 - 879a: d022 beq.n 87e2 + 8800: 2a03 cmp r2, #3 + 8802: d022 beq.n 884a if(col_bit < 8 - bpp) { - 879c: 9815 ldr r0, [sp, #84] ; 0x54 - 879e: 991a ldr r1, [sp, #104] ; 0x68 - 87a0: 4288 cmp r0, r1 - 87a2: d27b bcs.n 889c + 8804: 9815 ldr r0, [sp, #84] ; 0x54 + 8806: 991a ldr r1, [sp, #104] ; 0x68 + 8808: 4288 cmp r0, r1 + 880a: d27b bcs.n 8904 col_bit += bpp; - 87a4: 1833 adds r3, r6, r0 + 880c: 1833 adds r3, r6, r0 bitmask = bitmask >> bpp; - 87a6: 40f5 lsrs r5, r6 + 880e: 40f5 lsrs r5, r6 for(col = col_start; col < col_end; col++) { - 87a8: 3401 adds r4, #1 - 87aa: 9919 ldr r1, [sp, #100] ; 0x64 - 87ac: 42a1 cmp r1, r4 - 87ae: d100 bne.n 87b2 - 87b0: e08e b.n 88d0 + 8810: 3401 adds r4, #1 + 8812: 9919 ldr r1, [sp, #100] ; 0x64 + 8814: 42a1 cmp r1, r4 + 8816: d100 bne.n 881a + 8818: e08e b.n 8938 letter_px = (*map_p & bitmask) >> (8 - col_bit - bpp); - 87b2: 9315 str r3, [sp, #84] ; 0x54 - 87b4: 9905 ldr r1, [sp, #20] - 87b6: 7808 ldrb r0, [r1, #0] - 87b8: 4028 ands r0, r5 - 87ba: 2108 movs r1, #8 - 87bc: 1acb subs r3, r1, r3 - 87be: 1b9b subs r3, r3, r6 - 87c0: 40d8 lsrs r0, r3 - 87c2: b2c3 uxtb r3, r0 + 881a: 9315 str r3, [sp, #84] ; 0x54 + 881c: 9905 ldr r1, [sp, #20] + 881e: 7808 ldrb r0, [r1, #0] + 8820: 4028 ands r0, r5 + 8822: 2108 movs r1, #8 + 8824: 1acb subs r3, r1, r3 + 8826: 1b9b subs r3, r3, r6 + 8828: 40d8 lsrs r0, r3 + 882a: b2c3 uxtb r3, r0 if(letter_px != 0) { - 87c4: 2b00 cmp r3, #0 - 87c6: d0e3 beq.n 8790 + 882c: 2b00 cmp r3, #0 + 882e: d0e3 beq.n 87f8 if(opa == LV_OPA_COVER) { - 87c8: 991c ldr r1, [sp, #112] ; 0x70 - 87ca: 29ff cmp r1, #255 ; 0xff - 87cc: d0d3 beq.n 8776 + 8830: 991c ldr r1, [sp, #112] ; 0x70 + 8832: 29ff cmp r1, #255 ; 0xff + 8834: d0d3 beq.n 87de px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8 - 87ce: 2e08 cmp r6, #8 - 87d0: d0d8 beq.n 8784 + 8836: 2e08 cmp r6, #8 + 8838: d0d8 beq.n 87ec : (uint32_t)((uint32_t)bpp_opa_table[letter_px] * opa) >> 8; - 87d2: 4663 mov r3, ip - 87d4: 4018 ands r0, r3 - 87d6: 9b23 ldr r3, [sp, #140] ; 0x8c - 87d8: 5c1b ldrb r3, [r3, r0] - 87da: 991c ldr r1, [sp, #112] ; 0x70 - 87dc: 434b muls r3, r1 + 883a: 4663 mov r3, ip + 883c: 4018 ands r0, r3 + 883e: 9b23 ldr r3, [sp, #140] ; 0x8c + 8840: 5c1b ldrb r3, [r3, r0] + 8842: 991c ldr r1, [sp, #112] ; 0x70 + 8844: 434b muls r3, r1 px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8 - 87de: 0a1b lsrs r3, r3, #8 - 87e0: e7d7 b.n 8792 + 8846: 0a1b lsrs r3, r3, #8 + 8848: e7d7 b.n 87fa res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8; - 87e2: 7808 ldrb r0, [r1, #0] + 884a: 7808 ldrb r0, [r1, #0] uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - 87e4: 4653 mov r3, sl - 87e6: 785b ldrb r3, [r3, #1] + 884c: 4653 mov r3, sl + 884e: 785b ldrb r3, [r3, #1] res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8; - 87e8: 08db lsrs r3, r3, #3 - 87ea: 4662 mov r2, ip - 87ec: 1a12 subs r2, r2, r0 - 87ee: 4353 muls r3, r2 - 87f0: 9a27 ldr r2, [sp, #156] ; 0x9c - 87f2: 4342 muls r2, r0 - 87f4: 189b adds r3, r3, r2 - 87f6: 0a1b lsrs r3, r3, #8 - 87f8: 221f movs r2, #31 - 87fa: 401a ands r2, r3 - 87fc: 9221 str r2, [sp, #132] ; 0x84 + 8850: 08db lsrs r3, r3, #3 + 8852: 4662 mov r2, ip + 8854: 1a12 subs r2, r2, r0 + 8856: 4353 muls r3, r2 + 8858: 9a27 ldr r2, [sp, #156] ; 0x9c + 885a: 4342 muls r2, r0 + 885c: 189b adds r3, r3, r2 + 885e: 0a1b lsrs r3, r3, #8 + 8860: 221f movs r2, #31 + 8862: 401a ands r2, r3 + 8864: 9221 str r2, [sp, #132] ; 0x84 res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8; - 87fe: 788b ldrb r3, [r1, #2] - 8800: 0019 movs r1, r3 + 8866: 788b ldrb r3, [r1, #2] + 8868: 0019 movs r1, r3 uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - 8802: 4653 mov r3, sl - 8804: 781a ldrb r2, [r3, #0] - 8806: 06d2 lsls r2, r2, #27 + 886a: 4653 mov r3, sl + 886c: 781a ldrb r2, [r3, #0] + 886e: 06d2 lsls r2, r2, #27 res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8; - 8808: 0ed2 lsrs r2, r2, #27 - 880a: 4667 mov r7, ip - 880c: 1a7b subs r3, r7, r1 - 880e: 435a muls r2, r3 - 8810: 9b26 ldr r3, [sp, #152] ; 0x98 - 8812: 434b muls r3, r1 - 8814: 18d2 adds r2, r2, r3 - 8816: 0a12 lsrs r2, r2, #8 - 8818: 231f movs r3, #31 - 881a: 401a ands r2, r3 - 881c: 9222 str r2, [sp, #136] ; 0x88 + 8870: 0ed2 lsrs r2, r2, #27 + 8872: 4667 mov r7, ip + 8874: 1a7b subs r3, r7, r1 + 8876: 435a muls r2, r3 + 8878: 9b26 ldr r3, [sp, #152] ; 0x98 + 887a: 434b muls r3, r1 + 887c: 18d2 adds r2, r2, r3 + 887e: 0a12 lsrs r2, r2, #8 + 8880: 231f movs r3, #31 + 8882: 401a ands r2, r3 + 8884: 9222 str r2, [sp, #136] ; 0x88 res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8; - 881e: 9b17 ldr r3, [sp, #92] ; 0x5c - 8820: 785b ldrb r3, [r3, #1] - 8822: 4698 mov r8, r3 + 8886: 9b17 ldr r3, [sp, #92] ; 0x5c + 8888: 785b ldrb r3, [r3, #1] + 888a: 4698 mov r8, r3 uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - 8824: 4653 mov r3, sl - 8826: 881b ldrh r3, [r3, #0] - 8828: 055b lsls r3, r3, #21 + 888c: 4653 mov r3, sl + 888e: 881b ldrh r3, [r3, #0] + 8890: 055b lsls r3, r3, #21 res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8; - 882a: 0e9b lsrs r3, r3, #26 - 882c: 4662 mov r2, ip - 882e: 4647 mov r7, r8 - 8830: 1bd2 subs r2, r2, r7 - 8832: 4353 muls r3, r2 - 8834: 9a28 ldr r2, [sp, #160] ; 0xa0 - 8836: 437a muls r2, r7 - 8838: 4693 mov fp, r2 - 883a: 445b add r3, fp - 883c: 0a1b lsrs r3, r3, #8 - 883e: 223f movs r2, #63 ; 0x3f - 8840: 4013 ands r3, r2 + 8892: 0e9b lsrs r3, r3, #26 + 8894: 4662 mov r2, ip + 8896: 4647 mov r7, r8 + 8898: 1bd2 subs r2, r2, r7 + 889a: 4353 muls r3, r2 + 889c: 9a28 ldr r2, [sp, #160] ; 0xa0 + 889e: 437a muls r2, r7 + 88a0: 4693 mov fp, r2 + 88a2: 445b add r3, fp + 88a4: 0a1b lsrs r3, r3, #8 + 88a6: 223f movs r2, #63 ; 0x3f + 88a8: 4013 ands r3, r2 if(font_rgb[0] == 0 && font_rgb[1] == 0 && font_rgb[2] == 0) mask_buf[mask_p] = LV_OPA_TRANSP; - 8842: 2800 cmp r0, #0 - 8844: d107 bne.n 8856 - 8846: 2f00 cmp r7, #0 - 8848: d105 bne.n 8856 - 884a: 2900 cmp r1, #0 - 884c: d103 bne.n 8856 - 884e: 9a24 ldr r2, [sp, #144] ; 0x90 - 8850: 991b ldr r1, [sp, #108] ; 0x6c - 8852: 5450 strb r0, [r2, r1] - 8854: e003 b.n 885e + 88aa: 2800 cmp r0, #0 + 88ac: d107 bne.n 88be + 88ae: 2f00 cmp r7, #0 + 88b0: d105 bne.n 88be + 88b2: 2900 cmp r1, #0 + 88b4: d103 bne.n 88be + 88b6: 9a24 ldr r2, [sp, #144] ; 0x90 + 88b8: 991b ldr r1, [sp, #108] ; 0x6c + 88ba: 5450 strb r0, [r2, r1] + 88bc: e003 b.n 88c6 else mask_buf[mask_p] = LV_OPA_COVER; - 8856: 9a24 ldr r2, [sp, #144] ; 0x90 - 8858: 991b ldr r1, [sp, #108] ; 0x6c - 885a: 4660 mov r0, ip - 885c: 5450 strb r0, [r2, r1] + 88be: 9a24 ldr r2, [sp, #144] ; 0x90 + 88c0: 991b ldr r1, [sp, #108] ; 0x6c + 88c2: 4660 mov r0, ip + 88c4: 5450 strb r0, [r2, r1] color_buf[mask_p] = res_color; - 885e: 991b ldr r1, [sp, #108] ; 0x6c - 8860: 0048 lsls r0, r1, #1 - 8862: 9a25 ldr r2, [sp, #148] ; 0x94 - 8864: 4690 mov r8, r2 - 8866: 4440 add r0, r8 - 8868: 7802 ldrb r2, [r0, #0] - 886a: 271f movs r7, #31 - 886c: 43ba bics r2, r7 - 886e: 9f22 ldr r7, [sp, #136] ; 0x88 - 8870: 4317 orrs r7, r2 - 8872: 7007 strb r7, [r0, #0] - 8874: 015b lsls r3, r3, #5 - 8876: 8802 ldrh r2, [r0, #0] - 8878: 4f14 ldr r7, [pc, #80] ; (88cc ) - 887a: 403a ands r2, r7 - 887c: 4313 orrs r3, r2 - 887e: 8003 strh r3, [r0, #0] - 8880: 9a21 ldr r2, [sp, #132] ; 0x84 - 8882: 00d2 lsls r2, r2, #3 - 8884: 0a1b lsrs r3, r3, #8 - 8886: 2707 movs r7, #7 - 8888: 403b ands r3, r7 - 888a: 4313 orrs r3, r2 - 888c: 7043 strb r3, [r0, #1] + 88c6: 991b ldr r1, [sp, #108] ; 0x6c + 88c8: 0048 lsls r0, r1, #1 + 88ca: 9a25 ldr r2, [sp, #148] ; 0x94 + 88cc: 4690 mov r8, r2 + 88ce: 4440 add r0, r8 + 88d0: 7802 ldrb r2, [r0, #0] + 88d2: 271f movs r7, #31 + 88d4: 43ba bics r2, r7 + 88d6: 9f22 ldr r7, [sp, #136] ; 0x88 + 88d8: 4317 orrs r7, r2 + 88da: 7007 strb r7, [r0, #0] + 88dc: 015b lsls r3, r3, #5 + 88de: 8802 ldrh r2, [r0, #0] + 88e0: 4f14 ldr r7, [pc, #80] ; (8934 ) + 88e2: 403a ands r2, r7 + 88e4: 4313 orrs r3, r2 + 88e6: 8003 strh r3, [r0, #0] + 88e8: 9a21 ldr r2, [sp, #132] ; 0x84 + 88ea: 00d2 lsls r2, r2, #3 + 88ec: 0a1b lsrs r3, r3, #8 + 88ee: 2707 movs r7, #7 + 88f0: 403b ands r3, r7 + 88f2: 4313 orrs r3, r2 + 88f4: 7043 strb r3, [r0, #1] mask_p++; - 888e: 1c4b adds r3, r1, #1 - 8890: 931b str r3, [sp, #108] ; 0x6c + 88f6: 1c4b adds r3, r1, #1 + 88f8: 931b str r3, [sp, #108] ; 0x6c vdb_buf_tmp++; - 8892: 2302 movs r3, #2 - 8894: 4698 mov r8, r3 - 8896: 44c2 add sl, r8 + 88fa: 2302 movs r3, #2 + 88fc: 4698 mov r8, r3 + 88fe: 44c2 add sl, r8 subpx_cnt = 0; - 8898: 2200 movs r2, #0 - 889a: e77f b.n 879c + 8900: 2200 movs r2, #0 + 8902: e77f b.n 8804 map_p++; - 889c: 9b05 ldr r3, [sp, #20] - 889e: 3301 adds r3, #1 - 88a0: 9305 str r3, [sp, #20] + 8904: 9b05 ldr r3, [sp, #20] + 8906: 3301 adds r3, #1 + 8908: 9305 str r3, [sp, #20] bitmask = bitmask_init; - 88a2: 9d20 ldr r5, [sp, #128] ; 0x80 + 890a: 9d20 ldr r5, [sp, #128] ; 0x80 col_bit = 0; - 88a4: 2300 movs r3, #0 - 88a6: e77f b.n 87a8 - 88a8: 0000ab5d .word 0x0000ab5d - 88ac: 000188f4 .word 0x000188f4 - 88b0: 000188e0 .word 0x000188e0 - 88b4: 00017a75 .word 0x00017a75 - 88b8: 00010e59 .word 0x00010e59 - 88bc: 00004349 .word 0x00004349 - 88c0: 0000f6a1 .word 0x0000f6a1 - 88c4: 0000a659 .word 0x0000a659 - 88c8: 000188e4 .word 0x000188e4 - 88cc: fffff81f .word 0xfffff81f - 88d0: 9a05 ldr r2, [sp, #20] - 88d2: 4693 mov fp, r2 - 88d4: 4698 mov r8, r3 + 890c: 2300 movs r3, #0 + 890e: e77f b.n 8810 + 8910: 0000abc5 .word 0x0000abc5 + 8914: 00018984 .word 0x00018984 + 8918: 00018970 .word 0x00018970 + 891c: 00017b05 .word 0x00017b05 + 8920: 00010ec1 .word 0x00010ec1 + 8924: 000043b1 .word 0x000043b1 + 8928: 0000f709 .word 0x0000f709 + 892c: 0000a6c1 .word 0x0000a6c1 + 8930: 00018974 .word 0x00018974 + 8934: fffff81f .word 0xfffff81f + 8938: 9a05 ldr r2, [sp, #20] + 893a: 4693 mov fp, r2 + 893c: 4698 mov r8, r3 if(other_mask_cnt) { - 88d6: 9b30 ldr r3, [sp, #192] ; 0xc0 - 88d8: 2b00 cmp r3, #0 - 88da: d133 bne.n 8944 + 893e: 9b30 ldr r3, [sp, #192] ; 0xc0 + 8940: 2b00 cmp r3, #0 + 8942: d133 bne.n 89ac if((uint32_t) mask_p + (col_end - col_start) < mask_buf_size) { - 88dc: 9b31 ldr r3, [sp, #196] ; 0xc4 - 88de: 991b ldr r1, [sp, #108] ; 0x6c - 88e0: 468c mov ip, r1 - 88e2: 4463 add r3, ip - 88e4: 9a2e ldr r2, [sp, #184] ; 0xb8 - 88e6: 429a cmp r2, r3 - 88e8: d949 bls.n 897e + 8944: 9b31 ldr r3, [sp, #196] ; 0xc4 + 8946: 991b ldr r1, [sp, #108] ; 0x6c + 8948: 468c mov ip, r1 + 894a: 4463 add r3, ip + 894c: 9a2e ldr r2, [sp, #184] ; 0xb8 + 894e: 429a cmp r2, r3 + 8950: d949 bls.n 89e6 map_area.y2 ++; - 88ea: aa3a add r2, sp, #232 ; 0xe8 - 88ec: 88d3 ldrh r3, [r2, #6] - 88ee: 3301 adds r3, #1 - 88f0: 80d3 strh r3, [r2, #6] - 88f2: 912a str r1, [sp, #168] ; 0xa8 + 8952: aa3a add r2, sp, #232 ; 0xe8 + 8954: 88d3 ldrh r3, [r2, #6] + 8956: 3301 adds r3, #1 + 8958: 80d3 strh r3, [r2, #6] + 895a: 912a str r1, [sp, #168] ; 0xa8 col_bit += ((box_w - col_end) + col_start) * bpp; - 88f4: 9b32 ldr r3, [sp, #200] ; 0xc8 - 88f6: 4443 add r3, r8 + 895c: 9b32 ldr r3, [sp, #200] ; 0xc8 + 895e: 4443 add r3, r8 map_p += (col_bit >> 3); - 88f8: 10da asrs r2, r3, #3 - 88fa: 4493 add fp, r2 + 8960: 10da asrs r2, r3, #3 + 8962: 4493 add fp, r2 col_bit = col_bit & 0x7; - 88fc: 2207 movs r2, #7 - 88fe: 401a ands r2, r3 - 8900: 4690 mov r8, r2 + 8964: 2207 movs r2, #7 + 8966: 401a ands r2, r3 + 8968: 4690 mov r8, r2 vdb_buf_tmp += vdb_width - (col_end - col_start) / 3; - 8902: 9b33 ldr r3, [sp, #204] ; 0xcc - 8904: 469c mov ip, r3 - 8906: 44e2 add sl, ip + 896a: 9b33 ldr r3, [sp, #204] ; 0xcc + 896c: 469c mov ip, r3 + 896e: 44e2 add sl, ip for(row = row_start ; row < row_end; row++) { - 8908: 9b29 ldr r3, [sp, #164] ; 0xa4 - 890a: 3301 adds r3, #1 - 890c: 9329 str r3, [sp, #164] ; 0xa4 - 890e: 9a2f ldr r2, [sp, #188] ; 0xbc - 8910: 4293 cmp r3, r2 - 8912: da49 bge.n 89a8 + 8970: 9b29 ldr r3, [sp, #164] ; 0xa4 + 8972: 3301 adds r3, #1 + 8974: 9329 str r3, [sp, #164] ; 0xa4 + 8976: 9a2f ldr r2, [sp, #188] ; 0xbc + 8978: 4293 cmp r3, r2 + 897a: da49 bge.n 8a10 bitmask = bitmask_init >> col_bit; - 8914: 9d20 ldr r5, [sp, #128] ; 0x80 - 8916: 4643 mov r3, r8 - 8918: 40dd lsrs r5, r3 + 897c: 9d20 ldr r5, [sp, #128] ; 0x80 + 897e: 4643 mov r3, r8 + 8980: 40dd lsrs r5, r3 for(col = col_start; col < col_end; col++) { - 891a: 9c2b ldr r4, [sp, #172] ; 0xac - 891c: 9a19 ldr r2, [sp, #100] ; 0x64 - 891e: 4294 cmp r4, r2 - 8920: da0d bge.n 893e - 8922: 9b2a ldr r3, [sp, #168] ; 0xa8 - 8924: 931b str r3, [sp, #108] ; 0x6c - 8926: 2200 movs r2, #0 + 8982: 9c2b ldr r4, [sp, #172] ; 0xac + 8984: 9a19 ldr r2, [sp, #100] ; 0x64 + 8986: 4294 cmp r4, r2 + 8988: da0d bge.n 89a6 + 898a: 9b2a ldr r3, [sp, #168] ; 0xa8 + 898c: 931b str r3, [sp, #108] ; 0x6c + 898e: 2200 movs r2, #0 : (uint32_t)((uint32_t)bpp_opa_table[letter_px] * opa) >> 8; - 8928: 23ff movs r3, #255 ; 0xff - 892a: 469c mov ip, r3 + 8990: 23ff movs r3, #255 ; 0xff + 8992: 469c mov ip, r3 font_rgb[subpx_cnt] = px_opa; - 892c: ab39 add r3, sp, #228 ; 0xe4 - 892e: 9317 str r3, [sp, #92] ; 0x5c + 8994: ab39 add r3, sp, #228 ; 0xe4 + 8996: 9317 str r3, [sp, #92] ; 0x5c if(col_bit < 8 - bpp) { - 8930: 2308 movs r3, #8 - 8932: 1b9b subs r3, r3, r6 - 8934: 931a str r3, [sp, #104] ; 0x68 - 8936: 465b mov r3, fp - 8938: 9305 str r3, [sp, #20] - 893a: 4643 mov r3, r8 - 893c: e739 b.n 87b2 + 8998: 2308 movs r3, #8 + 899a: 1b9b subs r3, r3, r6 + 899c: 931a str r3, [sp, #104] ; 0x68 + 899e: 465b mov r3, fp + 89a0: 9305 str r3, [sp, #20] + 89a2: 4643 mov r3, r8 + 89a4: e739 b.n 881a for(col = col_start; col < col_end; col++) { - 893e: 9b2a ldr r3, [sp, #168] ; 0xa8 - 8940: 931b str r3, [sp, #108] ; 0x6c - 8942: e7c8 b.n 88d6 + 89a6: 9b2a ldr r3, [sp, #168] ; 0xa8 + 89a8: 931b str r3, [sp, #108] ; 0x6c + 89aa: e7c8 b.n 893e lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, map_area.x1, map_area.y2, - 8944: 9b2a ldr r3, [sp, #168] ; 0xa8 - 8946: 9a24 ldr r2, [sp, #144] ; 0x90 - 8948: 4694 mov ip, r2 - 894a: 4463 add r3, ip - 894c: 001c movs r4, r3 - 894e: aa3a add r2, sp, #232 ; 0xe8 - 8950: 2300 movs r3, #0 - 8952: 5ed1 ldrsh r1, [r2, r3] - 8954: 8893 ldrh r3, [r2, #4] - 8956: 3301 adds r3, #1 - 8958: 1a5b subs r3, r3, r1 - 895a: b21b sxth r3, r3 - 895c: 2006 movs r0, #6 - 895e: 5e12 ldrsh r2, [r2, r0] - 8960: 0020 movs r0, r4 - 8962: 4db1 ldr r5, [pc, #708] ; (8c28 ) - 8964: 47a8 blx r5 + 89ac: 9b2a ldr r3, [sp, #168] ; 0xa8 + 89ae: 9a24 ldr r2, [sp, #144] ; 0x90 + 89b0: 4694 mov ip, r2 + 89b2: 4463 add r3, ip + 89b4: 001c movs r4, r3 + 89b6: aa3a add r2, sp, #232 ; 0xe8 + 89b8: 2300 movs r3, #0 + 89ba: 5ed1 ldrsh r1, [r2, r3] + 89bc: 8893 ldrh r3, [r2, #4] + 89be: 3301 adds r3, #1 + 89c0: 1a5b subs r3, r3, r1 + 89c2: b21b sxth r3, r3 + 89c4: 2006 movs r0, #6 + 89c6: 5e12 ldrsh r2, [r2, r0] + 89c8: 0020 movs r0, r4 + 89ca: 4db1 ldr r5, [pc, #708] ; (8c90 ) + 89cc: 47a8 blx r5 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - 8966: 2800 cmp r0, #0 - 8968: d1b8 bne.n 88dc - 896a: ab3a add r3, sp, #232 ; 0xe8 - 896c: 8899 ldrh r1, [r3, #4] - 896e: 3101 adds r1, #1 - 8970: 881b ldrh r3, [r3, #0] - 8972: 1ac9 subs r1, r1, r3 + 89ce: 2800 cmp r0, #0 + 89d0: d1b8 bne.n 8944 + 89d2: ab3a add r3, sp, #232 ; 0xe8 + 89d4: 8899 ldrh r1, [r3, #4] + 89d6: 3101 adds r1, #1 + 89d8: 881b ldrh r3, [r3, #0] + 89da: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&map_area)); - 8974: b209 sxth r1, r1 - 8976: 0020 movs r0, r4 - 8978: 4bac ldr r3, [pc, #688] ; (8c2c ) - 897a: 4798 blx r3 - 897c: e7ae b.n 88dc + 89dc: b209 sxth r1, r1 + 89de: 0020 movs r0, r4 + 89e0: 4bac ldr r3, [pc, #688] ; (8c94 ) + 89e2: 4798 blx r3 + 89e4: e7ae b.n 8944 _lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode); - 897e: ac3a add r4, sp, #232 ; 0xe8 - 8980: 9b13 ldr r3, [sp, #76] ; 0x4c - 8982: 9302 str r3, [sp, #8] - 8984: 9b1c ldr r3, [sp, #112] ; 0x70 - 8986: 9301 str r3, [sp, #4] - 8988: 2302 movs r3, #2 - 898a: 9300 str r3, [sp, #0] - 898c: 9b24 ldr r3, [sp, #144] ; 0x90 - 898e: 9a25 ldr r2, [sp, #148] ; 0x94 - 8990: 0021 movs r1, r4 - 8992: 980e ldr r0, [sp, #56] ; 0x38 - 8994: 4da6 ldr r5, [pc, #664] ; (8c30 ) - 8996: 47a8 blx r5 + 89e6: ac3a add r4, sp, #232 ; 0xe8 + 89e8: 9b13 ldr r3, [sp, #76] ; 0x4c + 89ea: 9302 str r3, [sp, #8] + 89ec: 9b1c ldr r3, [sp, #112] ; 0x70 + 89ee: 9301 str r3, [sp, #4] + 89f0: 2302 movs r3, #2 + 89f2: 9300 str r3, [sp, #0] + 89f4: 9b24 ldr r3, [sp, #144] ; 0x90 + 89f6: 9a25 ldr r2, [sp, #148] ; 0x94 + 89f8: 0021 movs r1, r4 + 89fa: 980e ldr r0, [sp, #56] ; 0x38 + 89fc: 4da6 ldr r5, [pc, #664] ; (8c98 ) + 89fe: 47a8 blx r5 map_area.y1 = map_area.y2 + 1; - 8998: 88e3 ldrh r3, [r4, #6] - 899a: 3301 adds r3, #1 - 899c: b21b sxth r3, r3 - 899e: 8063 strh r3, [r4, #2] + 8a00: 88e3 ldrh r3, [r4, #6] + 8a02: 3301 adds r3, #1 + 8a04: b21b sxth r3, r3 + 8a06: 8063 strh r3, [r4, #2] map_area.y2 = map_area.y1; - 89a0: 80e3 strh r3, [r4, #6] + 8a08: 80e3 strh r3, [r4, #6] mask_p = 0; - 89a2: 2300 movs r3, #0 - 89a4: 932a str r3, [sp, #168] ; 0xa8 - 89a6: e7a5 b.n 88f4 - 89a8: 9b35 ldr r3, [sp, #212] ; 0xd4 - 89aa: 469b mov fp, r3 - 89ac: 9b36 ldr r3, [sp, #216] ; 0xd8 - 89ae: 469a mov sl, r3 - 89b0: 9c34 ldr r4, [sp, #208] ; 0xd0 - 89b2: 9f37 ldr r7, [sp, #220] ; 0xdc + 8a0a: 2300 movs r3, #0 + 8a0c: 932a str r3, [sp, #168] ; 0xa8 + 8a0e: e7a5 b.n 895c + 8a10: 9b35 ldr r3, [sp, #212] ; 0xd4 + 8a12: 469b mov fp, r3 + 8a14: 9b36 ldr r3, [sp, #216] ; 0xd8 + 8a16: 469a mov sl, r3 + 8a18: 9c34 ldr r4, [sp, #208] ; 0xd0 + 8a1a: 9f37 ldr r7, [sp, #220] ; 0xdc if(map_area.y1 != map_area.y2) { - 89b4: aa3a add r2, sp, #232 ; 0xe8 - 89b6: 2106 movs r1, #6 - 89b8: 5e53 ldrsh r3, [r2, r1] - 89ba: 2102 movs r1, #2 - 89bc: 5e52 ldrsh r2, [r2, r1] - 89be: 429a cmp r2, r3 - 89c0: d00d beq.n 89de + 8a1c: aa3a add r2, sp, #232 ; 0xe8 + 8a1e: 2106 movs r1, #6 + 8a20: 5e53 ldrsh r3, [r2, r1] + 8a22: 2102 movs r1, #2 + 8a24: 5e52 ldrsh r2, [r2, r1] + 8a26: 429a cmp r2, r3 + 8a28: d00d beq.n 8a46 map_area.y2--; - 89c2: a93a add r1, sp, #232 ; 0xe8 - 89c4: 3b01 subs r3, #1 - 89c6: 80cb strh r3, [r1, #6] + 8a2a: a93a add r1, sp, #232 ; 0xe8 + 8a2c: 3b01 subs r3, #1 + 8a2e: 80cb strh r3, [r1, #6] _lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode); - 89c8: 9b13 ldr r3, [sp, #76] ; 0x4c - 89ca: 9302 str r3, [sp, #8] - 89cc: 9b1c ldr r3, [sp, #112] ; 0x70 - 89ce: 9301 str r3, [sp, #4] - 89d0: 2302 movs r3, #2 - 89d2: 9300 str r3, [sp, #0] - 89d4: 9b24 ldr r3, [sp, #144] ; 0x90 - 89d6: 9a25 ldr r2, [sp, #148] ; 0x94 - 89d8: 980e ldr r0, [sp, #56] ; 0x38 - 89da: 4d95 ldr r5, [pc, #596] ; (8c30 ) - 89dc: 47a8 blx r5 + 8a30: 9b13 ldr r3, [sp, #76] ; 0x4c + 8a32: 9302 str r3, [sp, #8] + 8a34: 9b1c ldr r3, [sp, #112] ; 0x70 + 8a36: 9301 str r3, [sp, #4] + 8a38: 2302 movs r3, #2 + 8a3a: 9300 str r3, [sp, #0] + 8a3c: 9b24 ldr r3, [sp, #144] ; 0x90 + 8a3e: 9a25 ldr r2, [sp, #148] ; 0x94 + 8a40: 980e ldr r0, [sp, #56] ; 0x38 + 8a42: 4d95 ldr r5, [pc, #596] ; (8c98 ) + 8a44: 47a8 blx r5 _lv_mem_buf_release(mask_buf); - 89de: 9824 ldr r0, [sp, #144] ; 0x90 - 89e0: 4d94 ldr r5, [pc, #592] ; (8c34 ) - 89e2: 47a8 blx r5 + 8a46: 9824 ldr r0, [sp, #144] ; 0x90 + 8a48: 4d94 ldr r5, [pc, #592] ; (8c9c ) + 8a4a: 47a8 blx r5 _lv_mem_buf_release(color_buf); - 89e4: 9825 ldr r0, [sp, #148] ; 0x94 - 89e6: 47a8 blx r5 + 8a4c: 9825 ldr r0, [sp, #148] ; 0x94 + 8a4e: 47a8 blx r5 if(letter_w > 0) { - 89e8: 9b08 ldr r3, [sp, #32] - 89ea: 2b00 cmp r3, #0 - 89ec: dd05 ble.n 89fa + 8a50: 9b08 ldr r3, [sp, #32] + 8a52: 2b00 cmp r3, #0 + 8a54: dd05 ble.n 8a62 pos.x += letter_w + dsc->letter_space; - 89ee: 89bb ldrh r3, [r7, #12] - 89f0: 191b adds r3, r3, r4 - 89f2: 9a0a ldr r2, [sp, #40] ; 0x28 - 89f4: 4694 mov ip, r2 - 89f6: 4463 add r3, ip - 89f8: b21c sxth r4, r3 + 8a56: 89bb ldrh r3, [r7, #12] + 8a58: 191b adds r3, r3, r4 + 8a5a: 9a0a ldr r2, [sp, #40] ; 0x28 + 8a5c: 4694 mov ip, r2 + 8a5e: 4463 add r3, ip + 8a60: b21c sxth r4, r3 while(i < line_end - line_start) { - 89fa: 9954 ldr r1, [sp, #336] ; 0x150 - 89fc: 9b0b ldr r3, [sp, #44] ; 0x2c - 89fe: 465a mov r2, fp - 8a00: 1a9b subs r3, r3, r2 - 8a02: 428b cmp r3, r1 - 8a04: d800 bhi.n 8a08 - 8a06: e273 b.n 8ef0 + 8a62: 9954 ldr r1, [sp, #336] ; 0x150 + 8a64: 9b0b ldr r3, [sp, #44] ; 0x2c + 8a66: 465a mov r2, fp + 8a68: 1a9b subs r3, r3, r2 + 8a6a: 428b cmp r3, r1 + 8a6c: d800 bhi.n 8a70 + 8a6e: e273 b.n 8f58 if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - 8a08: 4b8b ldr r3, [pc, #556] ; (8c38 ) - 8a0a: 9a06 ldr r2, [sp, #24] - 8a0c: 429a cmp r2, r3 - 8a0e: d100 bne.n 8a12 - 8a10: e523 b.n 845a + 8a70: 4b8b ldr r3, [pc, #556] ; (8ca0 ) + 8a72: 9a06 ldr r2, [sp, #24] + 8a74: 429a cmp r2, r3 + 8a76: d100 bne.n 8a7a + 8a78: e523 b.n 84c2 uint16_t logical_char_pos = 0; - 8a12: 2500 movs r5, #0 + 8a7a: 2500 movs r5, #0 if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - 8a14: 459a cmp sl, r3 - 8a16: d005 beq.n 8a24 + 8a7c: 459a cmp sl, r3 + 8a7e: d005 beq.n 8a8c logical_char_pos = _lv_txt_encoded_get_char_id(txt, line_start + i); - 8a18: 4459 add r1, fp - 8a1a: 980d ldr r0, [sp, #52] ; 0x34 - 8a1c: 464b mov r3, r9 - 8a1e: 681b ldr r3, [r3, #0] - 8a20: 4798 blx r3 - 8a22: b285 uxth r5, r0 + 8a80: 4459 add r1, fp + 8a82: 980d ldr r0, [sp, #52] ; 0x34 + 8a84: 464b mov r3, r9 + 8a86: 681b ldr r3, [r3, #0] + 8a88: 4798 blx r3 + 8a8a: b285 uxth r5, r0 uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i); - 8a24: 4e85 ldr r6, [pc, #532] ; (8c3c ) - 8a26: a954 add r1, sp, #336 ; 0x150 - 8a28: 9b0c ldr r3, [sp, #48] ; 0x30 - 8a2a: 4698 mov r8, r3 - 8a2c: 0018 movs r0, r3 - 8a2e: 6833 ldr r3, [r6, #0] - 8a30: 4798 blx r3 - 8a32: 9005 str r0, [sp, #20] + 8a8c: 4e85 ldr r6, [pc, #532] ; (8ca4 ) + 8a8e: a954 add r1, sp, #336 ; 0x150 + 8a90: 9b0c ldr r3, [sp, #48] ; 0x30 + 8a92: 4698 mov r8, r3 + 8a94: 0018 movs r0, r3 + 8a96: 6833 ldr r3, [r6, #0] + 8a98: 4798 blx r3 + 8a9a: 9005 str r0, [sp, #20] uint32_t letter_next = _lv_txt_encoded_next(&bidi_txt[i], NULL); - 8a34: 4642 mov r2, r8 - 8a36: 9954 ldr r1, [sp, #336] ; 0x150 - 8a38: 468c mov ip, r1 - 8a3a: 4462 add r2, ip - 8a3c: 0010 movs r0, r2 - 8a3e: 6833 ldr r3, [r6, #0] - 8a40: 2100 movs r1, #0 - 8a42: 4798 blx r3 + 8a9c: 4642 mov r2, r8 + 8a9e: 9954 ldr r1, [sp, #336] ; 0x150 + 8aa0: 468c mov ip, r1 + 8aa2: 4462 add r2, ip + 8aa4: 0010 movs r0, r2 + 8aa6: 6833 ldr r3, [r6, #0] + 8aa8: 2100 movs r1, #0 + 8aaa: 4798 blx r3 if((dsc->flag & LV_TXT_FLAG_RECOLOR) != 0) { - 8a44: 7dfb ldrb r3, [r7, #23] - 8a46: 07da lsls r2, r3, #31 - 8a48: d507 bpl.n 8a5a + 8aac: 7dfb ldrb r3, [r7, #23] + 8aae: 07da lsls r2, r3, #31 + 8ab0: d507 bpl.n 8ac2 if(letter == (uint32_t)LV_TXT_COLOR_CMD[0]) { - 8a4a: 9b05 ldr r3, [sp, #20] - 8a4c: 2b23 cmp r3, #35 ; 0x23 - 8a4e: d100 bne.n 8a52 - 8a50: e505 b.n 845e + 8ab2: 9b05 ldr r3, [sp, #20] + 8ab4: 2b23 cmp r3, #35 ; 0x23 + 8ab6: d100 bne.n 8aba + 8ab8: e505 b.n 84c6 if(cmd_state == CMD_STATE_PAR) { - 8a52: 9b09 ldr r3, [sp, #36] ; 0x24 - 8a54: 2b01 cmp r3, #1 - 8a56: d100 bne.n 8a5a - 8a58: e517 b.n 848a + 8aba: 9b09 ldr r3, [sp, #36] ; 0x24 + 8abc: 2b01 cmp r3, #1 + 8abe: d100 bne.n 8ac2 + 8ac0: e517 b.n 84f2 lv_color_t color = dsc->color; - 8a5a: 883e ldrh r6, [r7, #0] + 8ac2: 883e ldrh r6, [r7, #0] if(cmd_state == CMD_STATE_IN) color = recolor; - 8a5c: 9b09 ldr r3, [sp, #36] ; 0x24 - 8a5e: 2b02 cmp r3, #2 - 8a60: d100 bne.n 8a64 - 8a62: e567 b.n 8534 + 8ac4: 9b09 ldr r3, [sp, #36] ; 0x24 + 8ac6: 2b02 cmp r3, #2 + 8ac8: d100 bne.n 8acc + 8aca: e567 b.n 859c letter_w = lv_font_get_glyph_width(font, letter, letter_next); - 8a64: 0002 movs r2, r0 - 8a66: 9905 ldr r1, [sp, #20] - 8a68: 9807 ldr r0, [sp, #28] - 8a6a: 4b75 ldr r3, [pc, #468] ; (8c40 ) - 8a6c: 4798 blx r3 - 8a6e: 900a str r0, [sp, #40] ; 0x28 - 8a70: 9008 str r0, [sp, #32] + 8acc: 0002 movs r2, r0 + 8ace: 9905 ldr r1, [sp, #20] + 8ad0: 9807 ldr r0, [sp, #28] + 8ad2: 4b75 ldr r3, [pc, #468] ; (8ca8 ) + 8ad4: 4798 blx r3 + 8ad6: 900a str r0, [sp, #40] ; 0x28 + 8ad8: 9008 str r0, [sp, #32] if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - 8a72: 4b71 ldr r3, [pc, #452] ; (8c38 ) - 8a74: 9906 ldr r1, [sp, #24] - 8a76: 4299 cmp r1, r3 - 8a78: d006 beq.n 8a88 - 8a7a: 459a cmp sl, r3 - 8a7c: d004 beq.n 8a88 + 8ada: 4b71 ldr r3, [pc, #452] ; (8ca0 ) + 8adc: 9906 ldr r1, [sp, #24] + 8ade: 4299 cmp r1, r3 + 8ae0: d006 beq.n 8af0 + 8ae2: 459a cmp sl, r3 + 8ae4: d004 beq.n 8af0 if(logical_char_pos >= sel_start && logical_char_pos < sel_end) { - 8a7e: 42a9 cmp r1, r5 - 8a80: d802 bhi.n 8a88 - 8a82: 45aa cmp sl, r5 - 8a84: d900 bls.n 8a88 - 8a86: e56f b.n 8568 + 8ae6: 42a9 cmp r1, r5 + 8ae8: d802 bhi.n 8af0 + 8aea: 45aa cmp sl, r5 + 8aec: d900 bls.n 8af0 + 8aee: e56f b.n 85d0 if(opa < LV_OPA_MIN) return; - 8a88: 9b0f ldr r3, [sp, #60] ; 0x3c - 8a8a: 2b04 cmp r3, #4 - 8a8c: d9ac bls.n 89e8 + 8af0: 9b0f ldr r3, [sp, #60] ; 0x3c + 8af2: 2b04 cmp r3, #4 + 8af4: d9ac bls.n 8a50 if(font_p == NULL) { - 8a8e: 9807 ldr r0, [sp, #28] - 8a90: 2800 cmp r0, #0 - 8a92: d0a9 beq.n 89e8 + 8af6: 9807 ldr r0, [sp, #28] + 8af8: 2800 cmp r0, #0 + 8afa: d0a9 beq.n 8a50 lv_draw_letter(&pos, mask, font, letter, color, opa, dsc->blend_mode); - 8a94: 7e7b ldrb r3, [r7, #25] - 8a96: 9313 str r3, [sp, #76] ; 0x4c + 8afc: 7e7b ldrb r3, [r7, #25] + 8afe: 9313 str r3, [sp, #76] ; 0x4c bool g_ret = lv_font_get_glyph_dsc(font_p, &g, letter, '\0'); - 8a98: 2300 movs r3, #0 - 8a9a: 9a05 ldr r2, [sp, #20] - 8a9c: a93c add r1, sp, #240 ; 0xf0 - 8a9e: 4d69 ldr r5, [pc, #420] ; (8c44 ) - 8aa0: 47a8 blx r5 + 8b00: 2300 movs r3, #0 + 8b02: 9a05 ldr r2, [sp, #20] + 8b04: a93c add r1, sp, #240 ; 0xf0 + 8b06: 4d69 ldr r5, [pc, #420] ; (8cac ) + 8b08: 47a8 blx r5 if(g_ret == false) { - 8aa2: 2800 cmp r0, #0 - 8aa4: d0a0 beq.n 89e8 + 8b0a: 2800 cmp r0, #0 + 8b0c: d0a0 beq.n 8a50 if((g.box_h == 0) && (g.box_w == 0)) return; - 8aa6: ab3c add r3, sp, #240 ; 0xf0 - 8aa8: 889a ldrh r2, [r3, #4] - 8aaa: 2a00 cmp r2, #0 - 8aac: d102 bne.n 8ab4 - 8aae: 885b ldrh r3, [r3, #2] - 8ab0: 2b00 cmp r3, #0 - 8ab2: d099 beq.n 89e8 + 8b0e: ab3c add r3, sp, #240 ; 0xf0 + 8b10: 889a ldrh r2, [r3, #4] + 8b12: 2a00 cmp r2, #0 + 8b14: d102 bne.n 8b1c + 8b16: 885b ldrh r3, [r3, #2] + 8b18: 2b00 cmp r3, #0 + 8b1a: d099 beq.n 8a50 int32_t pos_x = pos_p->x + g.ofs_x; - 8ab4: ab3c add r3, sp, #240 ; 0xf0 - 8ab6: 2006 movs r0, #6 - 8ab8: 5e19 ldrsh r1, [r3, r0] - 8aba: 4688 mov r8, r1 - 8abc: 44a0 add r8, r4 + 8b1c: ab3c add r3, sp, #240 ; 0xf0 + 8b1e: 2006 movs r0, #6 + 8b20: 5e19 ldrsh r1, [r3, r0] + 8b22: 4688 mov r8, r1 + 8b24: 44a0 add r8, r4 if(pos_x + g.box_w < clip_area->x1 || - 8abe: 885b ldrh r3, [r3, #2] - 8ac0: 4443 add r3, r8 - 8ac2: 980e ldr r0, [sp, #56] ; 0x38 - 8ac4: 2500 movs r5, #0 - 8ac6: 5f41 ldrsh r1, [r0, r5] - 8ac8: 428b cmp r3, r1 - 8aca: db8d blt.n 89e8 + 8b26: 885b ldrh r3, [r3, #2] + 8b28: 4443 add r3, r8 + 8b2a: 980e ldr r0, [sp, #56] ; 0x38 + 8b2c: 2500 movs r5, #0 + 8b2e: 5f41 ldrsh r1, [r0, r5] + 8b30: 428b cmp r3, r1 + 8b32: db8d blt.n 8a50 pos_x > clip_area->x2 || - 8acc: 0001 movs r1, r0 - 8ace: 2304 movs r3, #4 - 8ad0: 5ecb ldrsh r3, [r1, r3] + 8b34: 0001 movs r1, r0 + 8b36: 2304 movs r3, #4 + 8b38: 5ecb ldrsh r3, [r1, r3] if(pos_x + g.box_w < clip_area->x1 || - 8ad2: 4598 cmp r8, r3 - 8ad4: dc88 bgt.n 89e8 + 8b3a: 4598 cmp r8, r3 + 8b3c: dc88 bgt.n 8a50 int32_t pos_y = pos_p->y + (font_p->line_height - font_p->base_line) - g.box_h - g.ofs_y; - 8ad6: 9907 ldr r1, [sp, #28] - 8ad8: 2508 movs r5, #8 - 8ada: 5f4b ldrsh r3, [r1, r5] - 8adc: 250a movs r5, #10 - 8ade: 5f49 ldrsh r1, [r1, r5] - 8ae0: 1a5b subs r3, r3, r1 - 8ae2: 9911 ldr r1, [sp, #68] ; 0x44 - 8ae4: 468c mov ip, r1 - 8ae6: 4463 add r3, ip - 8ae8: 1a9b subs r3, r3, r2 - 8aea: a93c add r1, sp, #240 ; 0xf0 - 8aec: 2508 movs r5, #8 - 8aee: 5f49 ldrsh r1, [r1, r5] - 8af0: 1a5b subs r3, r3, r1 - 8af2: 001d movs r5, r3 - 8af4: 9317 str r3, [sp, #92] ; 0x5c + 8b3e: 9907 ldr r1, [sp, #28] + 8b40: 2508 movs r5, #8 + 8b42: 5f4b ldrsh r3, [r1, r5] + 8b44: 250a movs r5, #10 + 8b46: 5f49 ldrsh r1, [r1, r5] + 8b48: 1a5b subs r3, r3, r1 + 8b4a: 9911 ldr r1, [sp, #68] ; 0x44 + 8b4c: 468c mov ip, r1 + 8b4e: 4463 add r3, ip + 8b50: 1a9b subs r3, r3, r2 + 8b52: a93c add r1, sp, #240 ; 0xf0 + 8b54: 2508 movs r5, #8 + 8b56: 5f49 ldrsh r1, [r1, r5] + 8b58: 1a5b subs r3, r3, r1 + 8b5a: 001d movs r5, r3 + 8b5c: 9317 str r3, [sp, #92] ; 0x5c pos_y + g.box_h < clip_area->y1 || - 8af6: 469c mov ip, r3 - 8af8: 4462 add r2, ip - 8afa: 0001 movs r1, r0 - 8afc: 2002 movs r0, #2 - 8afe: 5e0b ldrsh r3, [r1, r0] + 8b5e: 469c mov ip, r3 + 8b60: 4462 add r2, ip + 8b62: 0001 movs r1, r0 + 8b64: 2002 movs r0, #2 + 8b66: 5e0b ldrsh r3, [r1, r0] pos_x > clip_area->x2 || - 8b00: 429a cmp r2, r3 - 8b02: da00 bge.n 8b06 - 8b04: e770 b.n 89e8 + 8b68: 429a cmp r2, r3 + 8b6a: da00 bge.n 8b6e + 8b6c: e770 b.n 8a50 pos_y > clip_area->y2) { - 8b06: 2206 movs r2, #6 - 8b08: 5e8b ldrsh r3, [r1, r2] + 8b6e: 2206 movs r2, #6 + 8b70: 5e8b ldrsh r3, [r1, r2] pos_y + g.box_h < clip_area->y1 || - 8b0a: 429d cmp r5, r3 - 8b0c: dd00 ble.n 8b10 - 8b0e: e76b b.n 89e8 + 8b72: 429d cmp r5, r3 + 8b74: dd00 ble.n 8b78 + 8b76: e76b b.n 8a50 const uint8_t * map_p = lv_font_get_glyph_bitmap(font_p, letter); - 8b10: 9905 ldr r1, [sp, #20] - 8b12: 9807 ldr r0, [sp, #28] - 8b14: 4b4c ldr r3, [pc, #304] ; (8c48 ) - 8b16: 4798 blx r3 - 8b18: 1e05 subs r5, r0, #0 + 8b78: 9905 ldr r1, [sp, #20] + 8b7a: 9807 ldr r0, [sp, #28] + 8b7c: 4b4c ldr r3, [pc, #304] ; (8cb0 ) + 8b7e: 4798 blx r3 + 8b80: 1e05 subs r5, r0, #0 if(map_p == NULL) { - 8b1a: d100 bne.n 8b1e - 8b1c: e764 b.n 89e8 + 8b82: d100 bne.n 8b86 + 8b84: e764 b.n 8a50 if(font_p->subpx) { - 8b1e: 9b07 ldr r3, [sp, #28] - 8b20: 7b1b ldrb r3, [r3, #12] - 8b22: 079b lsls r3, r3, #30 - 8b24: d020 beq.n 8b68 + 8b86: 9b07 ldr r3, [sp, #28] + 8b88: 7b1b ldrb r3, [r3, #12] + 8b8a: 079b lsls r3, r3, #30 + 8b8c: d020 beq.n 8bd0 draw_letter_subpx(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode); - 8b26: 4643 mov r3, r8 - 8b28: b21b sxth r3, r3 - 8b2a: 9305 str r3, [sp, #20] - 8b2c: 466b mov r3, sp - 8b2e: 225c movs r2, #92 ; 0x5c - 8b30: 189b adds r3, r3, r2 - 8b32: 2200 movs r2, #0 - 8b34: 5e9b ldrsh r3, [r3, r2] - 8b36: 9315 str r3, [sp, #84] ; 0x54 - 8b38: 466b mov r3, sp - 8b3a: 2290 movs r2, #144 ; 0x90 - 8b3c: 189b adds r3, r3, r2 - 8b3e: 801e strh r6, [r3, #0] + 8b8e: 4643 mov r3, r8 + 8b90: b21b sxth r3, r3 + 8b92: 9305 str r3, [sp, #20] + 8b94: 466b mov r3, sp + 8b96: 225c movs r2, #92 ; 0x5c + 8b98: 189b adds r3, r3, r2 + 8b9a: 2200 movs r2, #0 + 8b9c: 5e9b ldrsh r3, [r3, r2] + 8b9e: 9315 str r3, [sp, #84] ; 0x54 + 8ba0: 466b mov r3, sp + 8ba2: 2290 movs r2, #144 ; 0x90 + 8ba4: 189b adds r3, r3, r2 + 8ba6: 801e strh r6, [r3, #0] uint32_t bpp = g->bpp; - 8b40: ab3c add r3, sp, #240 ; 0xf0 - 8b42: 7a9b ldrb r3, [r3, #10] - 8b44: 001e movs r6, r3 + 8ba8: ab3c add r3, sp, #240 ; 0xf0 + 8baa: 7a9b ldrb r3, [r3, #10] + 8bac: 001e movs r6, r3 if(bpp == 3) bpp = 4; - 8b46: 2b03 cmp r3, #3 - 8b48: d100 bne.n 8b4c - 8b4a: e60e b.n 876a + 8bae: 2b03 cmp r3, #3 + 8bb0: d100 bne.n 8bb4 + 8bb2: e60e b.n 87d2 switch(bpp) { - 8b4c: 2b02 cmp r3, #2 - 8b4e: d100 bne.n 8b52 - 8b50: e52b b.n 85aa - 8b52: d900 bls.n 8b56 - 8b54: e51d b.n 8592 - 8b56: 2b01 cmp r3, #1 - 8b58: d000 beq.n 8b5c - 8b5a: e745 b.n 89e8 + 8bb4: 2b02 cmp r3, #2 + 8bb6: d100 bne.n 8bba + 8bb8: e52b b.n 8612 + 8bba: d900 bls.n 8bbe + 8bbc: e51d b.n 85fa + 8bbe: 2b01 cmp r3, #1 + 8bc0: d000 beq.n 8bc4 + 8bc2: e745 b.n 8a50 uint32_t bpp = g->bpp; - 8b5c: 2601 movs r6, #1 + 8bc4: 2601 movs r6, #1 bitmask_init = 0x80; - 8b5e: 2380 movs r3, #128 ; 0x80 - 8b60: 9320 str r3, [sp, #128] ; 0x80 + 8bc6: 2380 movs r3, #128 ; 0x80 + 8bc8: 9320 str r3, [sp, #128] ; 0x80 bpp_opa_table = _lv_bpp1_opa_table; - 8b62: 4b3a ldr r3, [pc, #232] ; (8c4c ) - 8b64: 9323 str r3, [sp, #140] ; 0x8c - 8b66: e524 b.n 85b2 + 8bca: 4b3a ldr r3, [pc, #232] ; (8cb4 ) + 8bcc: 9323 str r3, [sp, #140] ; 0x8c + 8bce: e524 b.n 861a draw_letter_normal(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode); - 8b68: 4643 mov r3, r8 - 8b6a: b21b sxth r3, r3 - 8b6c: 469c mov ip, r3 - 8b6e: 466b mov r3, sp - 8b70: 225c movs r2, #92 ; 0x5c - 8b72: 189b adds r3, r3, r2 - 8b74: 2200 movs r2, #0 - 8b76: 5e9b ldrsh r3, [r3, r2] - 8b78: 9321 str r3, [sp, #132] ; 0x84 - 8b7a: 466b mov r3, sp - 8b7c: 22a0 movs r2, #160 ; 0xa0 - 8b7e: 189b adds r3, r3, r2 - 8b80: 801e strh r6, [r3, #0] + 8bd0: 4643 mov r3, r8 + 8bd2: b21b sxth r3, r3 + 8bd4: 469c mov ip, r3 + 8bd6: 466b mov r3, sp + 8bd8: 225c movs r2, #92 ; 0x5c + 8bda: 189b adds r3, r3, r2 + 8bdc: 2200 movs r2, #0 + 8bde: 5e9b ldrsh r3, [r3, r2] + 8be0: 9321 str r3, [sp, #132] ; 0x84 + 8be2: 466b mov r3, sp + 8be4: 22a0 movs r2, #160 ; 0xa0 + 8be6: 189b adds r3, r3, r2 + 8be8: 801e strh r6, [r3, #0] uint32_t bpp = g->bpp; - 8b82: ab3c add r3, sp, #240 ; 0xf0 - 8b84: 7a9b ldrb r3, [r3, #10] - 8b86: 9320 str r3, [sp, #128] ; 0x80 + 8bea: ab3c add r3, sp, #240 ; 0xf0 + 8bec: 7a9b ldrb r3, [r3, #10] + 8bee: 9320 str r3, [sp, #128] ; 0x80 if(bpp == 3) bpp = 4; - 8b88: 2b03 cmp r3, #3 - 8b8a: d033 beq.n 8bf4 + 8bf0: 2b03 cmp r3, #3 + 8bf2: d033 beq.n 8c5c switch(bpp) { - 8b8c: 2b02 cmp r3, #2 - 8b8e: d019 beq.n 8bc4 - 8b90: d80a bhi.n 8ba8 - 8b92: 2b01 cmp r3, #1 - 8b94: d000 beq.n 8b98 - 8b96: e727 b.n 89e8 + 8bf4: 2b02 cmp r3, #2 + 8bf6: d019 beq.n 8c2c + 8bf8: d80a bhi.n 8c10 + 8bfa: 2b01 cmp r3, #1 + 8bfc: d000 beq.n 8c00 + 8bfe: e727 b.n 8a50 uint32_t bpp = g->bpp; - 8b98: 2301 movs r3, #1 - 8b9a: 9320 str r3, [sp, #128] ; 0x80 + 8c00: 2301 movs r3, #1 + 8c02: 9320 str r3, [sp, #128] ; 0x80 shades = 2; - 8b9c: 2102 movs r1, #2 + 8c04: 2102 movs r1, #2 bitmask_init = 0x80; - 8b9e: 337f adds r3, #127 ; 0x7f - 8ba0: 9315 str r3, [sp, #84] ; 0x54 + 8c06: 337f adds r3, #127 ; 0x7f + 8c08: 9315 str r3, [sp, #84] ; 0x54 bpp_opa_table_p = _lv_bpp1_opa_table; - 8ba2: 4b2a ldr r3, [pc, #168] ; (8c4c ) - 8ba4: 9327 str r3, [sp, #156] ; 0x9c - 8ba6: e012 b.n 8bce + 8c0a: 4b2a ldr r3, [pc, #168] ; (8cb4 ) + 8c0c: 9327 str r3, [sp, #156] ; 0x9c + 8c0e: e012 b.n 8c36 switch(bpp) { - 8ba8: 2b04 cmp r3, #4 - 8baa: d025 beq.n 8bf8 - 8bac: 2b08 cmp r3, #8 - 8bae: d000 beq.n 8bb2 - 8bb0: e71a b.n 89e8 + 8c10: 2b04 cmp r3, #4 + 8c12: d025 beq.n 8c60 + 8c14: 2b08 cmp r3, #8 + 8c16: d000 beq.n 8c1a + 8c18: e71a b.n 8a50 uint32_t bpp = g->bpp; - 8bb2: 2308 movs r3, #8 - 8bb4: 9320 str r3, [sp, #128] ; 0x80 + 8c1a: 2308 movs r3, #8 + 8c1c: 9320 str r3, [sp, #128] ; 0x80 shades = 256; - 8bb6: 2180 movs r1, #128 ; 0x80 - 8bb8: 0049 lsls r1, r1, #1 + 8c1e: 2180 movs r1, #128 ; 0x80 + 8c20: 0049 lsls r1, r1, #1 bitmask_init = 0xFF; - 8bba: 33f7 adds r3, #247 ; 0xf7 - 8bbc: 9315 str r3, [sp, #84] ; 0x54 + 8c22: 33f7 adds r3, #247 ; 0xf7 + 8c24: 9315 str r3, [sp, #84] ; 0x54 bpp_opa_table_p = _lv_bpp8_opa_table; - 8bbe: 4b24 ldr r3, [pc, #144] ; (8c50 ) - 8bc0: 9327 str r3, [sp, #156] ; 0x9c - 8bc2: e004 b.n 8bce + 8c26: 4b24 ldr r3, [pc, #144] ; (8cb8 ) + 8c28: 9327 str r3, [sp, #156] ; 0x9c + 8c2a: e004 b.n 8c36 shades = 4; - 8bc4: 2104 movs r1, #4 + 8c2c: 2104 movs r1, #4 bitmask_init = 0xC0; - 8bc6: 23c0 movs r3, #192 ; 0xc0 - 8bc8: 9315 str r3, [sp, #84] ; 0x54 + 8c2e: 23c0 movs r3, #192 ; 0xc0 + 8c30: 9315 str r3, [sp, #84] ; 0x54 bpp_opa_table_p = _lv_bpp2_opa_table; - 8bca: 4b22 ldr r3, [pc, #136] ; (8c54 ) - 8bcc: 9327 str r3, [sp, #156] ; 0x9c + 8c32: 4b22 ldr r3, [pc, #136] ; (8cbc ) + 8c34: 9327 str r3, [sp, #156] ; 0x9c if(opa < LV_OPA_MAX) { - 8bce: 9a1c ldr r2, [sp, #112] ; 0x70 - 8bd0: 2af9 cmp r2, #249 ; 0xf9 - 8bd2: d857 bhi.n 8c84 + 8c36: 9a1c ldr r2, [sp, #112] ; 0x70 + 8c38: 2af9 cmp r2, #249 ; 0xf9 + 8c3a: d857 bhi.n 8cec if(prev_opa != opa || prev_bpp != bpp) { - 8bd4: 4b20 ldr r3, [pc, #128] ; (8c58 ) - 8bd6: 781b ldrb r3, [r3, #0] - 8bd8: 4293 cmp r3, r2 - 8bda: d013 beq.n 8c04 + 8c3c: 4b20 ldr r3, [pc, #128] ; (8cc0 ) + 8c3e: 781b ldrb r3, [r3, #0] + 8c40: 4293 cmp r3, r2 + 8c42: d013 beq.n 8c6c for(i = 0; i < shades; i++) { - 8bdc: 2200 movs r2, #0 - 8bde: 2900 cmp r1, #0 - 8be0: d045 beq.n 8c6e + 8c44: 2200 movs r2, #0 + 8c46: 2900 cmp r1, #0 + 8c48: d045 beq.n 8cd6 opa_table[i] = bpp_opa_table_p[i] == LV_OPA_COVER ? opa : ((bpp_opa_table_p[i] * opa) >> 8); - 8be2: 9e1c ldr r6, [sp, #112] ; 0x70 - 8be4: 481d ldr r0, [pc, #116] ; (8c5c ) - 8be6: 465b mov r3, fp - 8be8: 9319 str r3, [sp, #100] ; 0x64 - 8bea: 46a3 mov fp, r4 - 8bec: 0034 movs r4, r6 - 8bee: 9605 str r6, [sp, #20] - 8bf0: 9e27 ldr r6, [sp, #156] ; 0x9c - 8bf2: e012 b.n 8c1a + 8c4a: 9e1c ldr r6, [sp, #112] ; 0x70 + 8c4c: 481d ldr r0, [pc, #116] ; (8cc4 ) + 8c4e: 465b mov r3, fp + 8c50: 9319 str r3, [sp, #100] ; 0x64 + 8c52: 46a3 mov fp, r4 + 8c54: 0034 movs r4, r6 + 8c56: 9605 str r6, [sp, #20] + 8c58: 9e27 ldr r6, [sp, #156] ; 0x9c + 8c5a: e012 b.n 8c82 if(bpp == 3) bpp = 4; - 8bf4: 2304 movs r3, #4 - 8bf6: 9320 str r3, [sp, #128] ; 0x80 + 8c5c: 2304 movs r3, #4 + 8c5e: 9320 str r3, [sp, #128] ; 0x80 shades = 16; - 8bf8: 2110 movs r1, #16 + 8c60: 2110 movs r1, #16 bitmask_init = 0xF0; - 8bfa: 23f0 movs r3, #240 ; 0xf0 - 8bfc: 9315 str r3, [sp, #84] ; 0x54 + 8c62: 23f0 movs r3, #240 ; 0xf0 + 8c64: 9315 str r3, [sp, #84] ; 0x54 bpp_opa_table_p = _lv_bpp4_opa_table; - 8bfe: 4b18 ldr r3, [pc, #96] ; (8c60 ) - 8c00: 9327 str r3, [sp, #156] ; 0x9c - 8c02: e7e4 b.n 8bce + 8c66: 4b18 ldr r3, [pc, #96] ; (8cc8 ) + 8c68: 9327 str r3, [sp, #156] ; 0x9c + 8c6a: e7e4 b.n 8c36 if(prev_opa != opa || prev_bpp != bpp) { - 8c04: 4b17 ldr r3, [pc, #92] ; (8c64 ) - 8c06: 681b ldr r3, [r3, #0] - 8c08: 9a20 ldr r2, [sp, #128] ; 0x80 - 8c0a: 429a cmp r2, r3 - 8c0c: d1e6 bne.n 8bdc - 8c0e: e02e b.n 8c6e + 8c6c: 4b17 ldr r3, [pc, #92] ; (8ccc ) + 8c6e: 681b ldr r3, [r3, #0] + 8c70: 9a20 ldr r2, [sp, #128] ; 0x80 + 8c72: 429a cmp r2, r3 + 8c74: d1e6 bne.n 8c44 + 8c76: e02e b.n 8cd6 opa_table[i] = bpp_opa_table_p[i] == LV_OPA_COVER ? opa : ((bpp_opa_table_p[i] * opa) >> 8); - 8c10: 9b05 ldr r3, [sp, #20] - 8c12: 5413 strb r3, [r2, r0] + 8c78: 9b05 ldr r3, [sp, #20] + 8c7a: 5413 strb r3, [r2, r0] for(i = 0; i < shades; i++) { - 8c14: 3201 adds r2, #1 - 8c16: 428a cmp r2, r1 - 8c18: d026 beq.n 8c68 + 8c7c: 3201 adds r2, #1 + 8c7e: 428a cmp r2, r1 + 8c80: d026 beq.n 8cd0 opa_table[i] = bpp_opa_table_p[i] == LV_OPA_COVER ? opa : ((bpp_opa_table_p[i] * opa) >> 8); - 8c1a: 5cb3 ldrb r3, [r6, r2] - 8c1c: 2bff cmp r3, #255 ; 0xff - 8c1e: d0f7 beq.n 8c10 - 8c20: 4363 muls r3, r4 - 8c22: 0a1b lsrs r3, r3, #8 - 8c24: e7f5 b.n 8c12 - 8c26: 46c0 nop ; (mov r8, r8) - 8c28: 0000a5bd .word 0x0000a5bd - 8c2c: 00010fe5 .word 0x00010fe5 - 8c30: 000068e9 .word 0x000068e9 - 8c34: 00010b6d .word 0x00010b6d - 8c38: 0000ffff .word 0x0000ffff - 8c3c: 20000058 .word 0x20000058 - 8c40: 0000e701 .word 0x0000e701 - 8c44: 0000e6f9 .word 0x0000e6f9 - 8c48: 0000e6f1 .word 0x0000e6f1 - 8c4c: 000188dc .word 0x000188dc - 8c50: 000188f4 .word 0x000188f4 - 8c54: 000188e0 .word 0x000188e0 - 8c58: 20002bb4 .word 0x20002bb4 - 8c5c: 20002ab0 .word 0x20002ab0 - 8c60: 000188e4 .word 0x000188e4 - 8c64: 20002bb0 .word 0x20002bb0 - 8c68: 465c mov r4, fp - 8c6a: 9b19 ldr r3, [sp, #100] ; 0x64 - 8c6c: 469b mov fp, r3 + 8c82: 5cb3 ldrb r3, [r6, r2] + 8c84: 2bff cmp r3, #255 ; 0xff + 8c86: d0f7 beq.n 8c78 + 8c88: 4363 muls r3, r4 + 8c8a: 0a1b lsrs r3, r3, #8 + 8c8c: e7f5 b.n 8c7a + 8c8e: 46c0 nop ; (mov r8, r8) + 8c90: 0000a625 .word 0x0000a625 + 8c94: 0001104d .word 0x0001104d + 8c98: 00006951 .word 0x00006951 + 8c9c: 00010bd5 .word 0x00010bd5 + 8ca0: 0000ffff .word 0x0000ffff + 8ca4: 20000058 .word 0x20000058 + 8ca8: 0000e769 .word 0x0000e769 + 8cac: 0000e761 .word 0x0000e761 + 8cb0: 0000e759 .word 0x0000e759 + 8cb4: 0001896c .word 0x0001896c + 8cb8: 00018984 .word 0x00018984 + 8cbc: 00018970 .word 0x00018970 + 8cc0: 20002bb4 .word 0x20002bb4 + 8cc4: 20002ab0 .word 0x20002ab0 + 8cc8: 00018974 .word 0x00018974 + 8ccc: 20002bb0 .word 0x20002bb0 + 8cd0: 465c mov r4, fp + 8cd2: 9b19 ldr r3, [sp, #100] ; 0x64 + 8cd4: 469b mov fp, r3 prev_opa = opa; - 8c6e: 4bd7 ldr r3, [pc, #860] ; (8fcc ) - 8c70: 466a mov r2, sp - 8c72: 2170 movs r1, #112 ; 0x70 - 8c74: 1852 adds r2, r2, r1 - 8c76: 7812 ldrb r2, [r2, #0] - 8c78: 701a strb r2, [r3, #0] + 8cd6: 4bd7 ldr r3, [pc, #860] ; (9034 ) + 8cd8: 466a mov r2, sp + 8cda: 2170 movs r1, #112 ; 0x70 + 8cdc: 1852 adds r2, r2, r1 + 8cde: 7812 ldrb r2, [r2, #0] + 8ce0: 701a strb r2, [r3, #0] prev_bpp = bpp; - 8c7a: 4bd5 ldr r3, [pc, #852] ; (8fd0 ) - 8c7c: 9a20 ldr r2, [sp, #128] ; 0x80 - 8c7e: 601a str r2, [r3, #0] + 8ce2: 4bd5 ldr r3, [pc, #852] ; (9038 ) + 8ce4: 9a20 ldr r2, [sp, #128] ; 0x80 + 8ce6: 601a str r2, [r3, #0] bpp_opa_table_p = opa_table; - 8c80: 4bd4 ldr r3, [pc, #848] ; (8fd4 ) - 8c82: 9327 str r3, [sp, #156] ; 0x9c + 8ce8: 4bd4 ldr r3, [pc, #848] ; (903c ) + 8cea: 9327 str r3, [sp, #156] ; 0x9c int32_t box_w = g->box_w; - 8c84: ab3c add r3, sp, #240 ; 0xf0 - 8c86: 885a ldrh r2, [r3, #2] - 8c88: 9205 str r2, [sp, #20] + 8cec: ab3c add r3, sp, #240 ; 0xf0 + 8cee: 885a ldrh r2, [r3, #2] + 8cf0: 9205 str r2, [sp, #20] int32_t box_h = g->box_h; - 8c8a: 8899 ldrh r1, [r3, #4] + 8cf2: 8899 ldrh r1, [r3, #4] int32_t width_bit = box_w * bpp; /*Letter width in bits*/ - 8c8c: 9820 ldr r0, [sp, #128] ; 0x80 - 8c8e: 4350 muls r0, r2 + 8cf4: 9820 ldr r0, [sp, #128] ; 0x80 + 8cf6: 4350 muls r0, r2 int32_t col_start = pos_x >= clip_area->x1 ? 0 : clip_area->x1 - pos_x; - 8c90: 9b0e ldr r3, [sp, #56] ; 0x38 - 8c92: 2200 movs r2, #0 - 8c94: 5e9b ldrsh r3, [r3, r2] - 8c96: 2200 movs r2, #0 - 8c98: 9219 str r2, [sp, #100] ; 0x64 - 8c9a: 459c cmp ip, r3 - 8c9c: da02 bge.n 8ca4 - 8c9e: 4662 mov r2, ip - 8ca0: 1a9b subs r3, r3, r2 - 8ca2: 9319 str r3, [sp, #100] ; 0x64 + 8cf8: 9b0e ldr r3, [sp, #56] ; 0x38 + 8cfa: 2200 movs r2, #0 + 8cfc: 5e9b ldrsh r3, [r3, r2] + 8cfe: 2200 movs r2, #0 + 8d00: 9219 str r2, [sp, #100] ; 0x64 + 8d02: 459c cmp ip, r3 + 8d04: da02 bge.n 8d0c + 8d06: 4662 mov r2, ip + 8d08: 1a9b subs r3, r3, r2 + 8d0a: 9319 str r3, [sp, #100] ; 0x64 int32_t col_end = pos_x + box_w <= clip_area->x2 ? box_w : clip_area->x2 - pos_x + 1; - 8ca4: 9b0e ldr r3, [sp, #56] ; 0x38 - 8ca6: 2204 movs r2, #4 - 8ca8: 5e9b ldrsh r3, [r3, r2] - 8caa: 9e05 ldr r6, [sp, #20] - 8cac: 0032 movs r2, r6 - 8cae: 4462 add r2, ip - 8cb0: 961b str r6, [sp, #108] ; 0x6c - 8cb2: 429a cmp r2, r3 - 8cb4: dd03 ble.n 8cbe - 8cb6: 4662 mov r2, ip - 8cb8: 1a9b subs r3, r3, r2 - 8cba: 3301 adds r3, #1 - 8cbc: 931b str r3, [sp, #108] ; 0x6c + 8d0c: 9b0e ldr r3, [sp, #56] ; 0x38 + 8d0e: 2204 movs r2, #4 + 8d10: 5e9b ldrsh r3, [r3, r2] + 8d12: 9e05 ldr r6, [sp, #20] + 8d14: 0032 movs r2, r6 + 8d16: 4462 add r2, ip + 8d18: 961b str r6, [sp, #108] ; 0x6c + 8d1a: 429a cmp r2, r3 + 8d1c: dd03 ble.n 8d26 + 8d1e: 4662 mov r2, ip + 8d20: 1a9b subs r3, r3, r2 + 8d22: 3301 adds r3, #1 + 8d24: 931b str r3, [sp, #108] ; 0x6c int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y; - 8cbe: 9b0e ldr r3, [sp, #56] ; 0x38 - 8cc0: 2202 movs r2, #2 - 8cc2: 5e9b ldrsh r3, [r3, r2] - 8cc4: 2200 movs r2, #0 - 8cc6: 921a str r2, [sp, #104] ; 0x68 - 8cc8: 9e21 ldr r6, [sp, #132] ; 0x84 - 8cca: 429e cmp r6, r3 - 8ccc: da01 bge.n 8cd2 - 8cce: 1b9b subs r3, r3, r6 - 8cd0: 931a str r3, [sp, #104] ; 0x68 + 8d26: 9b0e ldr r3, [sp, #56] ; 0x38 + 8d28: 2202 movs r2, #2 + 8d2a: 5e9b ldrsh r3, [r3, r2] + 8d2c: 2200 movs r2, #0 + 8d2e: 921a str r2, [sp, #104] ; 0x68 + 8d30: 9e21 ldr r6, [sp, #132] ; 0x84 + 8d32: 429e cmp r6, r3 + 8d34: da01 bge.n 8d3a + 8d36: 1b9b subs r3, r3, r6 + 8d38: 931a str r3, [sp, #104] ; 0x68 int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - 8cd2: 9b0e ldr r3, [sp, #56] ; 0x38 - 8cd4: 2206 movs r2, #6 - 8cd6: 5e9a ldrsh r2, [r3, r2] - 8cd8: 9e21 ldr r6, [sp, #132] ; 0x84 - 8cda: 198b adds r3, r1, r6 - 8cdc: 9122 str r1, [sp, #136] ; 0x88 - 8cde: 4293 cmp r3, r2 - 8ce0: dd02 ble.n 8ce8 - 8ce2: 1b92 subs r2, r2, r6 - 8ce4: 1c53 adds r3, r2, #1 - 8ce6: 9322 str r3, [sp, #136] ; 0x88 + 8d3a: 9b0e ldr r3, [sp, #56] ; 0x38 + 8d3c: 2206 movs r2, #6 + 8d3e: 5e9a ldrsh r2, [r3, r2] + 8d40: 9e21 ldr r6, [sp, #132] ; 0x84 + 8d42: 198b adds r3, r1, r6 + 8d44: 9122 str r1, [sp, #136] ; 0x88 + 8d46: 4293 cmp r3, r2 + 8d48: dd02 ble.n 8d50 + 8d4a: 1b92 subs r2, r2, r6 + 8d4c: 1c53 adds r3, r2, #1 + 8d4e: 9322 str r3, [sp, #136] ; 0x88 uint32_t bit_ofs = (row_start * width_bit) + (col_start * bpp); - 8ce8: 9b19 ldr r3, [sp, #100] ; 0x64 - 8cea: 9326 str r3, [sp, #152] ; 0x98 - 8cec: 9a1a ldr r2, [sp, #104] ; 0x68 - 8cee: 4350 muls r0, r2 - 8cf0: 9a20 ldr r2, [sp, #128] ; 0x80 - 8cf2: 435a muls r2, r3 - 8cf4: 1880 adds r0, r0, r2 + 8d50: 9b19 ldr r3, [sp, #100] ; 0x64 + 8d52: 9326 str r3, [sp, #152] ; 0x98 + 8d54: 9a1a ldr r2, [sp, #104] ; 0x68 + 8d56: 4350 muls r0, r2 + 8d58: 9a20 ldr r2, [sp, #128] ; 0x80 + 8d5a: 435a muls r2, r3 + 8d5c: 1880 adds r0, r0, r2 map_p += bit_ofs >> 3; - 8cf6: 08c6 lsrs r6, r0, #3 - 8cf8: 19ae adds r6, r5, r6 + 8d5e: 08c6 lsrs r6, r0, #3 + 8d60: 19ae adds r6, r5, r6 col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */ - 8cfa: 2507 movs r5, #7 - 8cfc: 4005 ands r5, r0 + 8d62: 2507 movs r5, #7 + 8d64: 4005 ands r5, r0 uint32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : box_w * box_h; - 8cfe: 9b05 ldr r3, [sp, #20] - 8d00: 434b muls r3, r1 - 8d02: 001a movs r2, r3 - 8d04: 9323 str r3, [sp, #140] ; 0x8c - 8d06: 23f0 movs r3, #240 ; 0xf0 - 8d08: 005b lsls r3, r3, #1 - 8d0a: 429a cmp r2, r3 - 8d0c: dd00 ble.n 8d10 - 8d0e: 9323 str r3, [sp, #140] ; 0x8c + 8d66: 9b05 ldr r3, [sp, #20] + 8d68: 434b muls r3, r1 + 8d6a: 001a movs r2, r3 + 8d6c: 9323 str r3, [sp, #140] ; 0x8c + 8d6e: 23f0 movs r3, #240 ; 0xf0 + 8d70: 005b lsls r3, r3, #1 + 8d72: 429a cmp r2, r3 + 8d74: dd00 ble.n 8d78 + 8d76: 9323 str r3, [sp, #140] ; 0x8c lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 8d10: 9823 ldr r0, [sp, #140] ; 0x8c - 8d12: 4bb1 ldr r3, [pc, #708] ; (8fd8 ) - 8d14: 4798 blx r3 - 8d16: 9021 str r0, [sp, #132] ; 0x84 + 8d78: 9823 ldr r0, [sp, #140] ; 0x8c + 8d7a: 4bb1 ldr r3, [pc, #708] ; (9040 ) + 8d7c: 4798 blx r3 + 8d7e: 9021 str r0, [sp, #132] ; 0x84 fill_area.x1 = col_start + pos_x; - 8d18: 4643 mov r3, r8 - 8d1a: 466a mov r2, sp - 8d1c: 2190 movs r1, #144 ; 0x90 - 8d1e: 1852 adds r2, r2, r1 - 8d20: 8013 strh r3, [r2, #0] - 8d22: 466b mov r3, sp - 8d24: 2290 movs r2, #144 ; 0x90 - 8d26: 189b adds r3, r3, r2 - 8d28: 8819 ldrh r1, [r3, #0] - 8d2a: ab3a add r3, sp, #232 ; 0xe8 - 8d2c: 9a19 ldr r2, [sp, #100] ; 0x64 - 8d2e: 188a adds r2, r1, r2 - 8d30: 801a strh r2, [r3, #0] + 8d80: 4643 mov r3, r8 + 8d82: 466a mov r2, sp + 8d84: 2190 movs r1, #144 ; 0x90 + 8d86: 1852 adds r2, r2, r1 + 8d88: 8013 strh r3, [r2, #0] + 8d8a: 466b mov r3, sp + 8d8c: 2290 movs r2, #144 ; 0x90 + 8d8e: 189b adds r3, r3, r2 + 8d90: 8819 ldrh r1, [r3, #0] + 8d92: ab3a add r3, sp, #232 ; 0xe8 + 8d94: 9a19 ldr r2, [sp, #100] ; 0x64 + 8d96: 188a adds r2, r1, r2 + 8d98: 801a strh r2, [r3, #0] fill_area.x2 = col_end + pos_x - 1; - 8d32: 1e4a subs r2, r1, #1 - 8d34: 991b ldr r1, [sp, #108] ; 0x6c - 8d36: 468c mov ip, r1 - 8d38: 4462 add r2, ip - 8d3a: 809a strh r2, [r3, #4] + 8d9a: 1e4a subs r2, r1, #1 + 8d9c: 991b ldr r1, [sp, #108] ; 0x6c + 8d9e: 468c mov ip, r1 + 8da0: 4462 add r2, ip + 8da2: 809a strh r2, [r3, #4] fill_area.y1 = row_start + pos_y; - 8d3c: 9817 ldr r0, [sp, #92] ; 0x5c - 8d3e: 0002 movs r2, r0 - 8d40: 981a ldr r0, [sp, #104] ; 0x68 - 8d42: 4684 mov ip, r0 - 8d44: 4462 add r2, ip - 8d46: b212 sxth r2, r2 - 8d48: 805a strh r2, [r3, #2] + 8da4: 9817 ldr r0, [sp, #92] ; 0x5c + 8da6: 0002 movs r2, r0 + 8da8: 981a ldr r0, [sp, #104] ; 0x68 + 8daa: 4684 mov ip, r0 + 8dac: 4462 add r2, ip + 8dae: b212 sxth r2, r2 + 8db0: 805a strh r2, [r3, #2] fill_area.y2 = fill_area.y1; - 8d4a: 80da strh r2, [r3, #6] + 8db2: 80da strh r2, [r3, #6] uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - 8d4c: 4ba3 ldr r3, [pc, #652] ; (8fdc ) - 8d4e: 4798 blx r3 - 8d50: 9024 str r0, [sp, #144] ; 0x90 + 8db4: 4ba3 ldr r3, [pc, #652] ; (9044 ) + 8db6: 4798 blx r3 + 8db8: 9024 str r0, [sp, #144] ; 0x90 uint32_t col_bit_max = 8 - bpp; - 8d52: 2308 movs r3, #8 - 8d54: 9a20 ldr r2, [sp, #128] ; 0x80 - 8d56: 1a9b subs r3, r3, r2 - 8d58: 4698 mov r8, r3 + 8dba: 2308 movs r3, #8 + 8dbc: 9a20 ldr r2, [sp, #128] ; 0x80 + 8dbe: 1a9b subs r3, r3, r2 + 8dc0: 4698 mov r8, r3 uint32_t col_bit_row_ofs = (box_w + col_start - col_end) * bpp; - 8d5a: 9b05 ldr r3, [sp, #20] - 8d5c: 9919 ldr r1, [sp, #100] ; 0x64 - 8d5e: 468c mov ip, r1 - 8d60: 4463 add r3, ip - 8d62: 991b ldr r1, [sp, #108] ; 0x6c - 8d64: 1a5b subs r3, r3, r1 - 8d66: 0011 movs r1, r2 - 8d68: 435a muls r2, r3 - 8d6a: 9225 str r2, [sp, #148] ; 0x94 + 8dc2: 9b05 ldr r3, [sp, #20] + 8dc4: 9919 ldr r1, [sp, #100] ; 0x64 + 8dc6: 468c mov ip, r1 + 8dc8: 4463 add r3, ip + 8dca: 991b ldr r1, [sp, #108] ; 0x6c + 8dcc: 1a5b subs r3, r3, r1 + 8dce: 0011 movs r1, r2 + 8dd0: 435a muls r2, r3 + 8dd2: 9225 str r2, [sp, #148] ; 0x94 for(row = row_start ; row < row_end; row++) { - 8d6c: 981a ldr r0, [sp, #104] ; 0x68 - 8d6e: 9b22 ldr r3, [sp, #136] ; 0x88 - 8d70: 4298 cmp r0, r3 - 8d72: db00 blt.n 8d76 - 8d74: e09d b.n 8eb2 - 8d76: 2300 movs r3, #0 - 8d78: 9317 str r3, [sp, #92] ; 0x5c + 8dd4: 981a ldr r0, [sp, #104] ; 0x68 + 8dd6: 9b22 ldr r3, [sp, #136] ; 0x88 + 8dd8: 4298 cmp r0, r3 + 8dda: db00 blt.n 8dde + 8ddc: e09d b.n 8f1a + 8dde: 2300 movs r3, #0 + 8de0: 9317 str r3, [sp, #92] ; 0x5c mask_buf[mask_p] = 0; - 8d7a: 465b mov r3, fp - 8d7c: 9329 str r3, [sp, #164] ; 0xa4 - 8d7e: 4653 mov r3, sl - 8d80: 932a str r3, [sp, #168] ; 0xa8 - 8d82: 9b27 ldr r3, [sp, #156] ; 0x9c - 8d84: 469a mov sl, r3 - 8d86: 9427 str r4, [sp, #156] ; 0x9c - 8d88: 4643 mov r3, r8 - 8d8a: 9320 str r3, [sp, #128] ; 0x80 - 8d8c: 4688 mov r8, r1 - 8d8e: 972b str r7, [sp, #172] ; 0xac - 8d90: e039 b.n 8e06 - 8d92: 2300 movs r3, #0 - 8d94: 7013 strb r3, [r2, #0] - 8d96: e012 b.n 8dbe + 8de2: 465b mov r3, fp + 8de4: 9329 str r3, [sp, #164] ; 0xa4 + 8de6: 4653 mov r3, sl + 8de8: 932a str r3, [sp, #168] ; 0xa8 + 8dea: 9b27 ldr r3, [sp, #156] ; 0x9c + 8dec: 469a mov sl, r3 + 8dee: 9427 str r4, [sp, #156] ; 0x9c + 8df0: 4643 mov r3, r8 + 8df2: 9320 str r3, [sp, #128] ; 0x80 + 8df4: 4688 mov r8, r1 + 8df6: 972b str r7, [sp, #172] ; 0xac + 8df8: e039 b.n 8e6e + 8dfa: 2300 movs r3, #0 + 8dfc: 7013 strb r3, [r2, #0] + 8dfe: e012 b.n 8e26 map_p++; - 8d98: 3601 adds r6, #1 + 8e00: 3601 adds r6, #1 bitmask = bitmask_init; - 8d9a: 9915 ldr r1, [sp, #84] ; 0x54 + 8e02: 9915 ldr r1, [sp, #84] ; 0x54 col_bit = 0; - 8d9c: 2500 movs r5, #0 - 8d9e: 3201 adds r2, #1 + 8e04: 2500 movs r5, #0 + 8e06: 3201 adds r2, #1 for(col = col_start; col < col_end; col++) { - 8da0: 9b05 ldr r3, [sp, #20] - 8da2: 4293 cmp r3, r2 - 8da4: d010 beq.n 8dc8 + 8e08: 9b05 ldr r3, [sp, #20] + 8e0a: 4293 cmp r3, r2 + 8e0c: d010 beq.n 8e30 letter_px = (*map_p & bitmask) >> (col_bit_max - col_bit); - 8da6: 7833 ldrb r3, [r6, #0] - 8da8: 400b ands r3, r1 - 8daa: 1b60 subs r0, r4, r5 - 8dac: 40c3 lsrs r3, r0 + 8e0e: 7833 ldrb r3, [r6, #0] + 8e10: 400b ands r3, r1 + 8e12: 1b60 subs r0, r4, r5 + 8e14: 40c3 lsrs r3, r0 if(letter_px) { - 8dae: b2d8 uxtb r0, r3 - 8db0: 2800 cmp r0, #0 - 8db2: d0ee beq.n 8d92 + 8e16: b2d8 uxtb r0, r3 + 8e18: 2800 cmp r0, #0 + 8e1a: d0ee beq.n 8dfa mask_buf[mask_p] = bpp_opa_table_p[letter_px]; - 8db4: 4658 mov r0, fp - 8db6: 4003 ands r3, r0 - 8db8: 4650 mov r0, sl - 8dba: 5cc3 ldrb r3, [r0, r3] - 8dbc: 7013 strb r3, [r2, #0] + 8e1c: 4658 mov r0, fp + 8e1e: 4003 ands r3, r0 + 8e20: 4650 mov r0, sl + 8e22: 5cc3 ldrb r3, [r0, r3] + 8e24: 7013 strb r3, [r2, #0] if(col_bit < col_bit_max) { - 8dbe: 42ac cmp r4, r5 - 8dc0: d9ea bls.n 8d98 + 8e26: 42ac cmp r4, r5 + 8e28: d9ea bls.n 8e00 col_bit += bpp; - 8dc2: 19ed adds r5, r5, r7 + 8e2a: 19ed adds r5, r5, r7 bitmask = bitmask >> bpp; - 8dc4: 40f9 lsrs r1, r7 - 8dc6: e7ea b.n 8d9e - 8dc8: 46b8 mov r8, r7 - 8dca: 9420 str r4, [sp, #128] ; 0x80 - 8dcc: 4667 mov r7, ip + 8e2c: 40f9 lsrs r1, r7 + 8e2e: e7ea b.n 8e06 + 8e30: 46b8 mov r8, r7 + 8e32: 9420 str r4, [sp, #128] ; 0x80 + 8e34: 4667 mov r7, ip if(other_mask_cnt) { - 8dce: 9b24 ldr r3, [sp, #144] ; 0x90 - 8dd0: 2b00 cmp r3, #0 - 8dd2: d133 bne.n 8e3c + 8e36: 9b24 ldr r3, [sp, #144] ; 0x90 + 8e38: 2b00 cmp r3, #0 + 8e3a: d133 bne.n 8ea4 if((uint32_t) mask_p + (col_end - col_start) < mask_buf_size) { - 8dd4: 9b1b ldr r3, [sp, #108] ; 0x6c - 8dd6: 9a19 ldr r2, [sp, #100] ; 0x64 - 8dd8: 1a9b subs r3, r3, r2 - 8dda: 19db adds r3, r3, r7 - 8ddc: 9a23 ldr r2, [sp, #140] ; 0x8c - 8dde: 429a cmp r2, r3 - 8de0: d949 bls.n 8e76 + 8e3c: 9b1b ldr r3, [sp, #108] ; 0x6c + 8e3e: 9a19 ldr r2, [sp, #100] ; 0x64 + 8e40: 1a9b subs r3, r3, r2 + 8e42: 19db adds r3, r3, r7 + 8e44: 9a23 ldr r2, [sp, #140] ; 0x8c + 8e46: 429a cmp r2, r3 + 8e48: d949 bls.n 8ede fill_area.y2 ++; - 8de2: aa3a add r2, sp, #232 ; 0xe8 - 8de4: 88d3 ldrh r3, [r2, #6] - 8de6: 3301 adds r3, #1 - 8de8: 80d3 strh r3, [r2, #6] - 8dea: 9717 str r7, [sp, #92] ; 0x5c + 8e4a: aa3a add r2, sp, #232 ; 0xe8 + 8e4c: 88d3 ldrh r3, [r2, #6] + 8e4e: 3301 adds r3, #1 + 8e50: 80d3 strh r3, [r2, #6] + 8e52: 9717 str r7, [sp, #92] ; 0x5c col_bit += col_bit_row_ofs; - 8dec: 9b25 ldr r3, [sp, #148] ; 0x94 - 8dee: 469c mov ip, r3 - 8df0: 4465 add r5, ip + 8e54: 9b25 ldr r3, [sp, #148] ; 0x94 + 8e56: 469c mov ip, r3 + 8e58: 4465 add r5, ip map_p += (col_bit >> 3); - 8df2: 08eb lsrs r3, r5, #3 - 8df4: 18f6 adds r6, r6, r3 + 8e5a: 08eb lsrs r3, r5, #3 + 8e5c: 18f6 adds r6, r6, r3 col_bit = col_bit & 0x7; - 8df6: 2307 movs r3, #7 - 8df8: 401d ands r5, r3 + 8e5e: 2307 movs r3, #7 + 8e60: 401d ands r5, r3 for(row = row_start ; row < row_end; row++) { - 8dfa: 9b1a ldr r3, [sp, #104] ; 0x68 - 8dfc: 3301 adds r3, #1 - 8dfe: 931a str r3, [sp, #104] ; 0x68 - 8e00: 9a22 ldr r2, [sp, #136] ; 0x88 - 8e02: 4293 cmp r3, r2 - 8e04: da4f bge.n 8ea6 + 8e62: 9b1a ldr r3, [sp, #104] ; 0x68 + 8e64: 3301 adds r3, #1 + 8e66: 931a str r3, [sp, #104] ; 0x68 + 8e68: 9a22 ldr r2, [sp, #136] ; 0x88 + 8e6a: 4293 cmp r3, r2 + 8e6c: da4f bge.n 8f0e bitmask = bitmask_init >> col_bit; - 8e06: 9915 ldr r1, [sp, #84] ; 0x54 - 8e08: 40e9 lsrs r1, r5 + 8e6e: 9915 ldr r1, [sp, #84] ; 0x54 + 8e70: 40e9 lsrs r1, r5 for(col = col_start; col < col_end; col++) { - 8e0a: 9b19 ldr r3, [sp, #100] ; 0x64 - 8e0c: 001a movs r2, r3 - 8e0e: 981b ldr r0, [sp, #108] ; 0x6c - 8e10: 4282 cmp r2, r0 - 8e12: da11 bge.n 8e38 - 8e14: 9f21 ldr r7, [sp, #132] ; 0x84 - 8e16: 003a movs r2, r7 - 8e18: 9c17 ldr r4, [sp, #92] ; 0x5c - 8e1a: 46a4 mov ip, r4 - 8e1c: 4462 add r2, ip - 8e1e: 0003 movs r3, r0 - 8e20: 9826 ldr r0, [sp, #152] ; 0x98 - 8e22: 1a1b subs r3, r3, r0 - 8e24: 449c add ip, r3 - 8e26: 003b movs r3, r7 - 8e28: 4463 add r3, ip - 8e2a: 0018 movs r0, r3 + 8e72: 9b19 ldr r3, [sp, #100] ; 0x64 + 8e74: 001a movs r2, r3 + 8e76: 981b ldr r0, [sp, #108] ; 0x6c + 8e78: 4282 cmp r2, r0 + 8e7a: da11 bge.n 8ea0 + 8e7c: 9f21 ldr r7, [sp, #132] ; 0x84 + 8e7e: 003a movs r2, r7 + 8e80: 9c17 ldr r4, [sp, #92] ; 0x5c + 8e82: 46a4 mov ip, r4 + 8e84: 4462 add r2, ip + 8e86: 0003 movs r3, r0 + 8e88: 9826 ldr r0, [sp, #152] ; 0x98 + 8e8a: 1a1b subs r3, r3, r0 + 8e8c: 449c add ip, r3 + 8e8e: 003b movs r3, r7 + 8e90: 4463 add r3, ip + 8e92: 0018 movs r0, r3 mask_buf[mask_p] = bpp_opa_table_p[letter_px]; - 8e2c: 23ff movs r3, #255 ; 0xff - 8e2e: 469b mov fp, r3 - 8e30: 9005 str r0, [sp, #20] - 8e32: 4647 mov r7, r8 - 8e34: 9c20 ldr r4, [sp, #128] ; 0x80 - 8e36: e7b6 b.n 8da6 + 8e94: 23ff movs r3, #255 ; 0xff + 8e96: 469b mov fp, r3 + 8e98: 9005 str r0, [sp, #20] + 8e9a: 4647 mov r7, r8 + 8e9c: 9c20 ldr r4, [sp, #128] ; 0x80 + 8e9e: e7b6 b.n 8e0e for(col = col_start; col < col_end; col++) { - 8e38: 9f17 ldr r7, [sp, #92] ; 0x5c - 8e3a: e7c8 b.n 8dce + 8ea0: 9f17 ldr r7, [sp, #92] ; 0x5c + 8ea2: e7c8 b.n 8e36 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, fill_area.x1, fill_area.y2, - 8e3c: 9b17 ldr r3, [sp, #92] ; 0x5c - 8e3e: 9a21 ldr r2, [sp, #132] ; 0x84 - 8e40: 4694 mov ip, r2 - 8e42: 4463 add r3, ip - 8e44: 469b mov fp, r3 - 8e46: aa3a add r2, sp, #232 ; 0xe8 - 8e48: 2300 movs r3, #0 - 8e4a: 5ed1 ldrsh r1, [r2, r3] - 8e4c: 8893 ldrh r3, [r2, #4] - 8e4e: 3301 adds r3, #1 - 8e50: 1a5b subs r3, r3, r1 - 8e52: b21b sxth r3, r3 - 8e54: 2006 movs r0, #6 - 8e56: 5e12 ldrsh r2, [r2, r0] - 8e58: 4658 mov r0, fp - 8e5a: 4c61 ldr r4, [pc, #388] ; (8fe0 ) - 8e5c: 47a0 blx r4 + 8ea4: 9b17 ldr r3, [sp, #92] ; 0x5c + 8ea6: 9a21 ldr r2, [sp, #132] ; 0x84 + 8ea8: 4694 mov ip, r2 + 8eaa: 4463 add r3, ip + 8eac: 469b mov fp, r3 + 8eae: aa3a add r2, sp, #232 ; 0xe8 + 8eb0: 2300 movs r3, #0 + 8eb2: 5ed1 ldrsh r1, [r2, r3] + 8eb4: 8893 ldrh r3, [r2, #4] + 8eb6: 3301 adds r3, #1 + 8eb8: 1a5b subs r3, r3, r1 + 8eba: b21b sxth r3, r3 + 8ebc: 2006 movs r0, #6 + 8ebe: 5e12 ldrsh r2, [r2, r0] + 8ec0: 4658 mov r0, fp + 8ec2: 4c61 ldr r4, [pc, #388] ; (9048 ) + 8ec4: 47a0 blx r4 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - 8e5e: 2800 cmp r0, #0 - 8e60: d1b8 bne.n 8dd4 - 8e62: ab3a add r3, sp, #232 ; 0xe8 - 8e64: 8899 ldrh r1, [r3, #4] - 8e66: 3101 adds r1, #1 - 8e68: 881b ldrh r3, [r3, #0] - 8e6a: 1ac9 subs r1, r1, r3 + 8ec6: 2800 cmp r0, #0 + 8ec8: d1b8 bne.n 8e3c + 8eca: ab3a add r3, sp, #232 ; 0xe8 + 8ecc: 8899 ldrh r1, [r3, #4] + 8ece: 3101 adds r1, #1 + 8ed0: 881b ldrh r3, [r3, #0] + 8ed2: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&fill_area)); - 8e6c: b209 sxth r1, r1 - 8e6e: 4658 mov r0, fp - 8e70: 4b5c ldr r3, [pc, #368] ; (8fe4 ) - 8e72: 4798 blx r3 - 8e74: e7ae b.n 8dd4 + 8ed4: b209 sxth r1, r1 + 8ed6: 4658 mov r0, fp + 8ed8: 4b5c ldr r3, [pc, #368] ; (904c ) + 8eda: 4798 blx r3 + 8edc: e7ae b.n 8e3c _lv_blend_fill(clip_area, &fill_area, - 8e76: af3a add r7, sp, #232 ; 0xe8 - 8e78: 9b13 ldr r3, [sp, #76] ; 0x4c - 8e7a: 9302 str r3, [sp, #8] - 8e7c: 23ff movs r3, #255 ; 0xff - 8e7e: 9301 str r3, [sp, #4] - 8e80: 3bfd subs r3, #253 ; 0xfd - 8e82: 9300 str r3, [sp, #0] - 8e84: 9b21 ldr r3, [sp, #132] ; 0x84 - 8e86: 466a mov r2, sp - 8e88: 21a0 movs r1, #160 ; 0xa0 - 8e8a: 1852 adds r2, r2, r1 - 8e8c: 8812 ldrh r2, [r2, #0] - 8e8e: 0039 movs r1, r7 - 8e90: 980e ldr r0, [sp, #56] ; 0x38 - 8e92: 4c55 ldr r4, [pc, #340] ; (8fe8 ) - 8e94: 47a0 blx r4 + 8ede: af3a add r7, sp, #232 ; 0xe8 + 8ee0: 9b13 ldr r3, [sp, #76] ; 0x4c + 8ee2: 9302 str r3, [sp, #8] + 8ee4: 23ff movs r3, #255 ; 0xff + 8ee6: 9301 str r3, [sp, #4] + 8ee8: 3bfd subs r3, #253 ; 0xfd + 8eea: 9300 str r3, [sp, #0] + 8eec: 9b21 ldr r3, [sp, #132] ; 0x84 + 8eee: 466a mov r2, sp + 8ef0: 21a0 movs r1, #160 ; 0xa0 + 8ef2: 1852 adds r2, r2, r1 + 8ef4: 8812 ldrh r2, [r2, #0] + 8ef6: 0039 movs r1, r7 + 8ef8: 980e ldr r0, [sp, #56] ; 0x38 + 8efa: 4c55 ldr r4, [pc, #340] ; (9050 ) + 8efc: 47a0 blx r4 fill_area.y1 = fill_area.y2 + 1; - 8e96: 88fb ldrh r3, [r7, #6] - 8e98: 3301 adds r3, #1 - 8e9a: b21b sxth r3, r3 - 8e9c: 807b strh r3, [r7, #2] + 8efe: 88fb ldrh r3, [r7, #6] + 8f00: 3301 adds r3, #1 + 8f02: b21b sxth r3, r3 + 8f04: 807b strh r3, [r7, #2] fill_area.y2 = fill_area.y1; - 8e9e: 80fb strh r3, [r7, #6] + 8f06: 80fb strh r3, [r7, #6] mask_p = 0; - 8ea0: 2300 movs r3, #0 - 8ea2: 9317 str r3, [sp, #92] ; 0x5c - 8ea4: e7a2 b.n 8dec - 8ea6: 9b29 ldr r3, [sp, #164] ; 0xa4 - 8ea8: 469b mov fp, r3 - 8eaa: 9b2a ldr r3, [sp, #168] ; 0xa8 - 8eac: 469a mov sl, r3 - 8eae: 9c27 ldr r4, [sp, #156] ; 0x9c - 8eb0: 9f2b ldr r7, [sp, #172] ; 0xac + 8f08: 2300 movs r3, #0 + 8f0a: 9317 str r3, [sp, #92] ; 0x5c + 8f0c: e7a2 b.n 8e54 + 8f0e: 9b29 ldr r3, [sp, #164] ; 0xa4 + 8f10: 469b mov fp, r3 + 8f12: 9b2a ldr r3, [sp, #168] ; 0xa8 + 8f14: 469a mov sl, r3 + 8f16: 9c27 ldr r4, [sp, #156] ; 0x9c + 8f18: 9f2b ldr r7, [sp, #172] ; 0xac if(fill_area.y1 != fill_area.y2) { - 8eb2: aa3a add r2, sp, #232 ; 0xe8 - 8eb4: 2106 movs r1, #6 - 8eb6: 5e53 ldrsh r3, [r2, r1] - 8eb8: 2102 movs r1, #2 - 8eba: 5e52 ldrsh r2, [r2, r1] - 8ebc: 429a cmp r2, r3 - 8ebe: d010 beq.n 8ee2 + 8f1a: aa3a add r2, sp, #232 ; 0xe8 + 8f1c: 2106 movs r1, #6 + 8f1e: 5e53 ldrsh r3, [r2, r1] + 8f20: 2102 movs r1, #2 + 8f22: 5e52 ldrsh r2, [r2, r1] + 8f24: 429a cmp r2, r3 + 8f26: d010 beq.n 8f4a fill_area.y2--; - 8ec0: a93a add r1, sp, #232 ; 0xe8 - 8ec2: 3b01 subs r3, #1 - 8ec4: 80cb strh r3, [r1, #6] + 8f28: a93a add r1, sp, #232 ; 0xe8 + 8f2a: 3b01 subs r3, #1 + 8f2c: 80cb strh r3, [r1, #6] _lv_blend_fill(clip_area, &fill_area, - 8ec6: 9b13 ldr r3, [sp, #76] ; 0x4c - 8ec8: 9302 str r3, [sp, #8] - 8eca: 23ff movs r3, #255 ; 0xff - 8ecc: 9301 str r3, [sp, #4] - 8ece: 3bfd subs r3, #253 ; 0xfd - 8ed0: 9300 str r3, [sp, #0] - 8ed2: 9b21 ldr r3, [sp, #132] ; 0x84 - 8ed4: 466a mov r2, sp - 8ed6: 20a0 movs r0, #160 ; 0xa0 - 8ed8: 1812 adds r2, r2, r0 - 8eda: 8812 ldrh r2, [r2, #0] - 8edc: 980e ldr r0, [sp, #56] ; 0x38 - 8ede: 4d42 ldr r5, [pc, #264] ; (8fe8 ) - 8ee0: 47a8 blx r5 + 8f2e: 9b13 ldr r3, [sp, #76] ; 0x4c + 8f30: 9302 str r3, [sp, #8] + 8f32: 23ff movs r3, #255 ; 0xff + 8f34: 9301 str r3, [sp, #4] + 8f36: 3bfd subs r3, #253 ; 0xfd + 8f38: 9300 str r3, [sp, #0] + 8f3a: 9b21 ldr r3, [sp, #132] ; 0x84 + 8f3c: 466a mov r2, sp + 8f3e: 20a0 movs r0, #160 ; 0xa0 + 8f40: 1812 adds r2, r2, r0 + 8f42: 8812 ldrh r2, [r2, #0] + 8f44: 980e ldr r0, [sp, #56] ; 0x38 + 8f46: 4d42 ldr r5, [pc, #264] ; (9050 ) + 8f48: 47a8 blx r5 _lv_mem_buf_release(mask_buf); - 8ee2: 9821 ldr r0, [sp, #132] ; 0x84 - 8ee4: 4b41 ldr r3, [pc, #260] ; (8fec ) - 8ee6: 4798 blx r3 - 8ee8: e57e b.n 89e8 + 8f4a: 9821 ldr r0, [sp, #132] ; 0x84 + 8f4c: 4b41 ldr r3, [pc, #260] ; (9054 ) + 8f4e: 4798 blx r3 + 8f50: e57e b.n 8a50 cmd_state = CMD_STATE_WAIT; - 8eea: 2300 movs r3, #0 - 8eec: 9309 str r3, [sp, #36] ; 0x24 - 8eee: e584 b.n 89fa - 8ef0: 46d0 mov r8, sl - 8ef2: 46a2 mov sl, r4 - 8ef4: 003e movs r6, r7 + 8f52: 2300 movs r3, #0 + 8f54: 9309 str r3, [sp, #36] ; 0x24 + 8f56: e584 b.n 8a62 + 8f58: 46d0 mov r8, sl + 8f5a: 46a2 mov sl, r4 + 8f5c: 003e movs r6, r7 if(dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH) { - 8ef6: 7e3b ldrb r3, [r7, #24] - 8ef8: 079b lsls r3, r3, #30 - 8efa: d447 bmi.n 8f8c + 8f5e: 7e3b ldrb r3, [r7, #24] + 8f60: 079b lsls r3, r3, #30 + 8f62: d447 bmi.n 8ff4 if(dsc->decor & LV_TEXT_DECOR_UNDERLINE) { - 8efc: 7e33 ldrb r3, [r6, #24] - 8efe: 07db lsls r3, r3, #31 - 8f00: d500 bpl.n 8f04 - 8f02: e07b b.n 8ffc + 8f64: 7e33 ldrb r3, [r6, #24] + 8f66: 07db lsls r3, r3, #31 + 8f68: d500 bpl.n 8f6c + 8f6a: e07b b.n 9064 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 8f04: 9b0d ldr r3, [sp, #52] ; 0x34 - 8f06: 001f movs r7, r3 - 8f08: 9d0b ldr r5, [sp, #44] ; 0x2c - 8f0a: 46ac mov ip, r5 - 8f0c: 4467 add r7, ip - 8f0e: 230c movs r3, #12 - 8f10: 5ef2 ldrsh r2, [r6, r3] - 8f12: 7df3 ldrb r3, [r6, #23] - 8f14: 9300 str r3, [sp, #0] - 8f16: 9b12 ldr r3, [sp, #72] ; 0x48 - 8f18: 9907 ldr r1, [sp, #28] - 8f1a: 0038 movs r0, r7 - 8f1c: 4c34 ldr r4, [pc, #208] ; (8ff0 ) - 8f1e: 47a0 blx r4 - 8f20: 1944 adds r4, r0, r5 + 8f6c: 9b0d ldr r3, [sp, #52] ; 0x34 + 8f6e: 001f movs r7, r3 + 8f70: 9d0b ldr r5, [sp, #44] ; 0x2c + 8f72: 46ac mov ip, r5 + 8f74: 4467 add r7, ip + 8f76: 230c movs r3, #12 + 8f78: 5ef2 ldrsh r2, [r6, r3] + 8f7a: 7df3 ldrb r3, [r6, #23] + 8f7c: 9300 str r3, [sp, #0] + 8f7e: 9b12 ldr r3, [sp, #72] ; 0x48 + 8f80: 9907 ldr r1, [sp, #28] + 8f82: 0038 movs r0, r7 + 8f84: 4c34 ldr r4, [pc, #208] ; (9058 ) + 8f86: 47a0 blx r4 + 8f88: 1944 adds r4, r0, r5 pos.x = coords->x1; - 8f22: 9b10 ldr r3, [sp, #64] ; 0x40 - 8f24: 2500 movs r5, #0 - 8f26: 5f5d ldrsh r5, [r3, r5] + 8f8a: 9b10 ldr r3, [sp, #64] ; 0x40 + 8f8c: 2500 movs r5, #0 + 8f8e: 5f5d ldrsh r5, [r3, r5] if(dsc->flag & LV_TXT_FLAG_CENTER) { - 8f28: 7df2 ldrb r2, [r6, #23] - 8f2a: 0753 lsls r3, r2, #29 - 8f2c: d500 bpl.n 8f30 - 8f2e: e084 b.n 903a + 8f90: 7df2 ldrb r2, [r6, #23] + 8f92: 0753 lsls r3, r2, #29 + 8f94: d500 bpl.n 8f98 + 8f96: e084 b.n 90a2 else if(dsc->flag & LV_TXT_FLAG_RIGHT) { - 8f30: 0713 lsls r3, r2, #28 - 8f32: d500 bpl.n 8f36 - 8f34: e096 b.n 9064 - 8f36: 9b11 ldr r3, [sp, #68] ; 0x44 - 8f38: 9918 ldr r1, [sp, #96] ; 0x60 - 8f3a: 468c mov ip, r1 - 8f3c: 4463 add r3, ip - 8f3e: 9a14 ldr r2, [sp, #80] ; 0x50 - 8f40: 4462 add r2, ip - 8f42: b292 uxth r2, r2 - 8f44: 9214 str r2, [sp, #80] ; 0x50 + 8f98: 0713 lsls r3, r2, #28 + 8f9a: d500 bpl.n 8f9e + 8f9c: e096 b.n 90cc + 8f9e: 9b11 ldr r3, [sp, #68] ; 0x44 + 8fa0: 9918 ldr r1, [sp, #96] ; 0x60 + 8fa2: 468c mov ip, r1 + 8fa4: 4463 add r3, ip + 8fa6: 9a14 ldr r2, [sp, #80] ; 0x50 + 8fa8: 4462 add r2, ip + 8faa: b292 uxth r2, r2 + 8fac: 9214 str r2, [sp, #80] ; 0x50 line_start = line_end; - 8f46: 9a0b ldr r2, [sp, #44] ; 0x2c - 8f48: 4693 mov fp, r2 + 8fae: 9a0b ldr r2, [sp, #44] ; 0x2c + 8fb0: 4693 mov fp, r2 pos.y += line_height; - 8f4a: b21b sxth r3, r3 - 8f4c: 001a movs r2, r3 - 8f4e: 9311 str r3, [sp, #68] ; 0x44 + 8fb2: b21b sxth r3, r3 + 8fb4: 001a movs r2, r3 + 8fb6: 9311 str r3, [sp, #68] ; 0x44 if(pos.y > mask->y2) return; - 8f50: 9b0e ldr r3, [sp, #56] ; 0x38 - 8f52: 2106 movs r1, #6 - 8f54: 5e5b ldrsh r3, [r3, r1] - 8f56: 4293 cmp r3, r2 - 8f58: da01 bge.n 8f5e - 8f5a: f7ff f93b bl 81d4 + 8fb8: 9b0e ldr r3, [sp, #56] ; 0x38 + 8fba: 2106 movs r1, #6 + 8fbc: 5e5b ldrsh r3, [r3, r1] + 8fbe: 4293 cmp r3, r2 + 8fc0: da01 bge.n 8fc6 + 8fc2: f7ff f93b bl 823c line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 8f5e: 940b str r4, [sp, #44] ; 0x2c + 8fc6: 940b str r4, [sp, #44] ; 0x2c while(txt[line_start] != '\0') { - 8f60: 9b0d ldr r3, [sp, #52] ; 0x34 - 8f62: 445b add r3, fp - 8f64: 930c str r3, [sp, #48] ; 0x30 - 8f66: 781b ldrb r3, [r3, #0] - 8f68: 2b00 cmp r3, #0 - 8f6a: d101 bne.n 8f70 - 8f6c: f7ff f932 bl 81d4 + 8fc8: 9b0d ldr r3, [sp, #52] ; 0x34 + 8fca: 445b add r3, fp + 8fcc: 930c str r3, [sp, #48] ; 0x30 + 8fce: 781b ldrb r3, [r3, #0] + 8fd0: 2b00 cmp r3, #0 + 8fd2: d101 bne.n 8fd8 + 8fd4: f7ff f932 bl 823c pos.x += x_ofs; - 8f70: 9b1e ldr r3, [sp, #120] ; 0x78 - 8f72: 469c mov ip, r3 - 8f74: 4465 add r5, ip - 8f76: b22b sxth r3, r5 - 8f78: 469a mov sl, r3 + 8fd8: 9b1e ldr r3, [sp, #120] ; 0x78 + 8fda: 469c mov ip, r3 + 8fdc: 4465 add r5, ip + 8fde: b22b sxth r3, r5 + 8fe0: 469a mov sl, r3 i = 0; - 8f7a: 2300 movs r3, #0 - 8f7c: 9354 str r3, [sp, #336] ; 0x150 + 8fe2: 2300 movs r3, #0 + 8fe4: 9354 str r3, [sp, #336] ; 0x150 cmd_state = CMD_STATE_WAIT; - 8f7e: 9309 str r3, [sp, #36] ; 0x24 + 8fe6: 9309 str r3, [sp, #36] ; 0x24 logical_char_pos = _lv_txt_encoded_get_char_id(txt, line_start + i); - 8f80: 4b1c ldr r3, [pc, #112] ; (8ff4 ) - 8f82: 4699 mov r9, r3 - 8f84: 4654 mov r4, sl - 8f86: 46c2 mov sl, r8 - 8f88: 0037 movs r7, r6 + 8fe8: 4b1c ldr r3, [pc, #112] ; (905c ) + 8fea: 4699 mov r9, r3 + 8fec: 4654 mov r4, sl + 8fee: 46c2 mov sl, r8 + 8ff0: 0037 movs r7, r6 while(i < line_end - line_start) { - 8f8a: e536 b.n 89fa + 8ff2: e536 b.n 8a62 p1.x = pos_x_start; - 8f8c: a83a add r0, sp, #232 ; 0xe8 - 8f8e: 466b mov r3, sp - 8f90: 227c movs r2, #124 ; 0x7c - 8f92: 189b adds r3, r3, r2 - 8f94: 881b ldrh r3, [r3, #0] - 8f96: 8003 strh r3, [r0, #0] + 8ff4: a83a add r0, sp, #232 ; 0xe8 + 8ff6: 466b mov r3, sp + 8ff8: 227c movs r2, #124 ; 0x7c + 8ffa: 189b adds r3, r3, r2 + 8ffc: 881b ldrh r3, [r3, #0] + 8ffe: 8003 strh r3, [r0, #0] p1.y = pos.y + (dsc->font->line_height / 2) + line_dsc.width / 2; - 8f98: 687b ldr r3, [r7, #4] - 8f9a: 2208 movs r2, #8 - 8f9c: 5e9b ldrsh r3, [r3, r2] - 8f9e: 0fda lsrs r2, r3, #31 - 8fa0: 18d2 adds r2, r2, r3 - 8fa2: 1052 asrs r2, r2, #1 - 8fa4: ab55 add r3, sp, #340 ; 0x154 - 8fa6: 2102 movs r1, #2 - 8fa8: 5e5c ldrsh r4, [r3, r1] - 8faa: 0fe1 lsrs r1, r4, #31 - 8fac: 1909 adds r1, r1, r4 - 8fae: 1049 asrs r1, r1, #1 - 8fb0: 1852 adds r2, r2, r1 - 8fb2: 9914 ldr r1, [sp, #80] ; 0x50 - 8fb4: 468c mov ip, r1 - 8fb6: 4462 add r2, ip - 8fb8: b212 sxth r2, r2 - 8fba: 8042 strh r2, [r0, #2] + 9000: 687b ldr r3, [r7, #4] + 9002: 2208 movs r2, #8 + 9004: 5e9b ldrsh r3, [r3, r2] + 9006: 0fda lsrs r2, r3, #31 + 9008: 18d2 adds r2, r2, r3 + 900a: 1052 asrs r2, r2, #1 + 900c: ab55 add r3, sp, #340 ; 0x154 + 900e: 2102 movs r1, #2 + 9010: 5e5c ldrsh r4, [r3, r1] + 9012: 0fe1 lsrs r1, r4, #31 + 9014: 1909 adds r1, r1, r4 + 9016: 1049 asrs r1, r1, #1 + 9018: 1852 adds r2, r2, r1 + 901a: 9914 ldr r1, [sp, #80] ; 0x50 + 901c: 468c mov ip, r1 + 901e: 4462 add r2, ip + 9020: b212 sxth r2, r2 + 9022: 8042 strh r2, [r0, #2] p2.x = pos.x; - 8fbc: a93c add r1, sp, #240 ; 0xf0 - 8fbe: 4654 mov r4, sl - 8fc0: 800c strh r4, [r1, #0] + 9024: a93c add r1, sp, #240 ; 0xf0 + 9026: 4654 mov r4, sl + 9028: 800c strh r4, [r1, #0] p2.y = p1.y; - 8fc2: 804a strh r2, [r1, #2] + 902a: 804a strh r2, [r1, #2] lv_draw_line(&p1, &p2, mask, &line_dsc); - 8fc4: 9a0e ldr r2, [sp, #56] ; 0x38 - 8fc6: 4c0c ldr r4, [pc, #48] ; (8ff8 ) - 8fc8: 47a0 blx r4 - 8fca: e797 b.n 8efc - 8fcc: 20002bb4 .word 0x20002bb4 - 8fd0: 20002bb0 .word 0x20002bb0 - 8fd4: 20002ab0 .word 0x20002ab0 - 8fd8: 00010e59 .word 0x00010e59 - 8fdc: 0000a659 .word 0x0000a659 - 8fe0: 0000a5bd .word 0x0000a5bd - 8fe4: 00010fe5 .word 0x00010fe5 - 8fe8: 00005c05 .word 0x00005c05 - 8fec: 00010b6d .word 0x00010b6d - 8ff0: 00011761 .word 0x00011761 - 8ff4: 20000054 .word 0x20000054 - 8ff8: 000090c9 .word 0x000090c9 + 902c: 9a0e ldr r2, [sp, #56] ; 0x38 + 902e: 4c0c ldr r4, [pc, #48] ; (9060 ) + 9030: 47a0 blx r4 + 9032: e797 b.n 8f64 + 9034: 20002bb4 .word 0x20002bb4 + 9038: 20002bb0 .word 0x20002bb0 + 903c: 20002ab0 .word 0x20002ab0 + 9040: 00010ec1 .word 0x00010ec1 + 9044: 0000a6c1 .word 0x0000a6c1 + 9048: 0000a625 .word 0x0000a625 + 904c: 0001104d .word 0x0001104d + 9050: 00005c6d .word 0x00005c6d + 9054: 00010bd5 .word 0x00010bd5 + 9058: 000117c9 .word 0x000117c9 + 905c: 20000054 .word 0x20000054 + 9060: 00009131 .word 0x00009131 p1.x = pos_x_start; - 8ffc: a83a add r0, sp, #232 ; 0xe8 - 8ffe: 466b mov r3, sp - 9000: 227c movs r2, #124 ; 0x7c - 9002: 189b adds r3, r3, r2 - 9004: 881b ldrh r3, [r3, #0] - 9006: 8003 strh r3, [r0, #0] + 9064: a83a add r0, sp, #232 ; 0xe8 + 9066: 466b mov r3, sp + 9068: 227c movs r2, #124 ; 0x7c + 906a: 189b adds r3, r3, r2 + 906c: 881b ldrh r3, [r3, #0] + 906e: 8003 strh r3, [r0, #0] p1.y = pos.y + dsc->font->line_height - dsc->font->base_line + line_dsc.width / 2 + 1; - 9008: 6871 ldr r1, [r6, #4] - 900a: ab55 add r3, sp, #340 ; 0x154 - 900c: 2202 movs r2, #2 - 900e: 5e9c ldrsh r4, [r3, r2] - 9010: 0fe2 lsrs r2, r4, #31 - 9012: 1912 adds r2, r2, r4 - 9014: 1052 asrs r2, r2, #1 - 9016: 3201 adds r2, #1 - 9018: 890c ldrh r4, [r1, #8] - 901a: 1912 adds r2, r2, r4 - 901c: 8949 ldrh r1, [r1, #10] - 901e: 1a52 subs r2, r2, r1 - 9020: 9914 ldr r1, [sp, #80] ; 0x50 - 9022: 468c mov ip, r1 - 9024: 4462 add r2, ip - 9026: b212 sxth r2, r2 - 9028: 8042 strh r2, [r0, #2] + 9070: 6871 ldr r1, [r6, #4] + 9072: ab55 add r3, sp, #340 ; 0x154 + 9074: 2202 movs r2, #2 + 9076: 5e9c ldrsh r4, [r3, r2] + 9078: 0fe2 lsrs r2, r4, #31 + 907a: 1912 adds r2, r2, r4 + 907c: 1052 asrs r2, r2, #1 + 907e: 3201 adds r2, #1 + 9080: 890c ldrh r4, [r1, #8] + 9082: 1912 adds r2, r2, r4 + 9084: 8949 ldrh r1, [r1, #10] + 9086: 1a52 subs r2, r2, r1 + 9088: 9914 ldr r1, [sp, #80] ; 0x50 + 908a: 468c mov ip, r1 + 908c: 4462 add r2, ip + 908e: b212 sxth r2, r2 + 9090: 8042 strh r2, [r0, #2] p2.x = pos.x; - 902a: a93c add r1, sp, #240 ; 0xf0 - 902c: 4654 mov r4, sl - 902e: 800c strh r4, [r1, #0] + 9092: a93c add r1, sp, #240 ; 0xf0 + 9094: 4654 mov r4, sl + 9096: 800c strh r4, [r1, #0] p2.y = p1.y; - 9030: 804a strh r2, [r1, #2] + 9098: 804a strh r2, [r1, #2] lv_draw_line(&p1, &p2, mask, &line_dsc); - 9032: 9a0e ldr r2, [sp, #56] ; 0x38 - 9034: 4c16 ldr r4, [pc, #88] ; (9090 ) - 9036: 47a0 blx r4 - 9038: e764 b.n 8f04 + 909a: 9a0e ldr r2, [sp, #56] ; 0x38 + 909c: 4c16 ldr r4, [pc, #88] ; (90f8 ) + 909e: 47a0 blx r4 + 90a0: e764 b.n 8f6c _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - 903a: 210c movs r1, #12 - 903c: 5e73 ldrsh r3, [r6, r1] - 903e: 9200 str r2, [sp, #0] - 9040: 9a07 ldr r2, [sp, #28] - 9042: 0001 movs r1, r0 - 9044: 0038 movs r0, r7 - 9046: 4f13 ldr r7, [pc, #76] ; (9094 ) - 9048: 47b8 blx r7 - 904a: 9a10 ldr r2, [sp, #64] ; 0x40 - 904c: 8893 ldrh r3, [r2, #4] - 904e: 3301 adds r3, #1 - 9050: 8812 ldrh r2, [r2, #0] - 9052: 1a9b subs r3, r3, r2 + 90a2: 210c movs r1, #12 + 90a4: 5e73 ldrsh r3, [r6, r1] + 90a6: 9200 str r2, [sp, #0] + 90a8: 9a07 ldr r2, [sp, #28] + 90aa: 0001 movs r1, r0 + 90ac: 0038 movs r0, r7 + 90ae: 4f13 ldr r7, [pc, #76] ; (90fc ) + 90b0: 47b8 blx r7 + 90b2: 9a10 ldr r2, [sp, #64] ; 0x40 + 90b4: 8893 ldrh r3, [r2, #4] + 90b6: 3301 adds r3, #1 + 90b8: 8812 ldrh r2, [r2, #0] + 90ba: 1a9b subs r3, r3, r2 pos.x += (lv_area_get_width(coords) - line_width) / 2; - 9054: b21b sxth r3, r3 - 9056: 1a18 subs r0, r3, r0 - 9058: 0fc3 lsrs r3, r0, #31 - 905a: 1818 adds r0, r3, r0 - 905c: 1040 asrs r0, r0, #1 - 905e: 1945 adds r5, r0, r5 - 9060: b22d sxth r5, r5 - 9062: e768 b.n 8f36 + 90bc: b21b sxth r3, r3 + 90be: 1a18 subs r0, r3, r0 + 90c0: 0fc3 lsrs r3, r0, #31 + 90c2: 1818 adds r0, r3, r0 + 90c4: 1040 asrs r0, r0, #1 + 90c6: 1945 adds r5, r0, r5 + 90c8: b22d sxth r5, r5 + 90ca: e768 b.n 8f9e _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - 9064: 210c movs r1, #12 - 9066: 5e73 ldrsh r3, [r6, r1] - 9068: 9200 str r2, [sp, #0] - 906a: 9a07 ldr r2, [sp, #28] - 906c: 0001 movs r1, r0 - 906e: 0038 movs r0, r7 - 9070: 4f08 ldr r7, [pc, #32] ; (9094 ) - 9072: 47b8 blx r7 - 9074: 9a10 ldr r2, [sp, #64] ; 0x40 - 9076: 8893 ldrh r3, [r2, #4] - 9078: 3301 adds r3, #1 - 907a: 8812 ldrh r2, [r2, #0] - 907c: 1a9b subs r3, r3, r2 + 90cc: 210c movs r1, #12 + 90ce: 5e73 ldrsh r3, [r6, r1] + 90d0: 9200 str r2, [sp, #0] + 90d2: 9a07 ldr r2, [sp, #28] + 90d4: 0001 movs r1, r0 + 90d6: 0038 movs r0, r7 + 90d8: 4f08 ldr r7, [pc, #32] ; (90fc ) + 90da: 47b8 blx r7 + 90dc: 9a10 ldr r2, [sp, #64] ; 0x40 + 90de: 8893 ldrh r3, [r2, #4] + 90e0: 3301 adds r3, #1 + 90e2: 8812 ldrh r2, [r2, #0] + 90e4: 1a9b subs r3, r3, r2 pos.x += lv_area_get_width(coords) - line_width; - 907e: b21b sxth r3, r3 - 9080: 1a18 subs r0, r3, r0 - 9082: 1945 adds r5, r0, r5 - 9084: b22d sxth r5, r5 - 9086: e756 b.n 8f36 + 90e6: b21b sxth r3, r3 + 90e8: 1a18 subs r0, r3, r0 + 90ea: 1945 adds r5, r0, r5 + 90ec: b22d sxth r5, r5 + 90ee: e756 b.n 8f9e cmd_state = CMD_STATE_WAIT; - 9088: 2300 movs r3, #0 - 908a: 9309 str r3, [sp, #36] ; 0x24 - 908c: f7ff f9fb bl 8486 - 9090: 000090c9 .word 0x000090c9 - 9094: 000119d9 .word 0x000119d9 + 90f0: 2300 movs r3, #0 + 90f2: 9309 str r3, [sp, #36] ; 0x24 + 90f4: f7ff f9fb bl 84ee + 90f8: 00009131 .word 0x00009131 + 90fc: 00011a41 .word 0x00011a41 -00009098 : +00009100 : /********************** * GLOBAL FUNCTIONS **********************/ LV_ATTRIBUTE_FAST_MEM void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc) { - 9098: b510 push {r4, lr} - 909a: 0004 movs r4, r0 + 9100: b510 push {r4, lr} + 9102: 0004 movs r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_line_dsc_t)); - 909c: 210a movs r1, #10 - 909e: 4b08 ldr r3, [pc, #32] ; (90c0 ) - 90a0: 4798 blx r3 + 9104: 210a movs r1, #10 + 9106: 4b08 ldr r3, [pc, #32] ; (9128 ) + 9108: 4798 blx r3 dsc->width = 1; - 90a2: 2301 movs r3, #1 - 90a4: 8063 strh r3, [r4, #2] + 910a: 2301 movs r3, #1 + 910c: 8063 strh r3, [r4, #2] dsc->opa = LV_OPA_COVER; - 90a6: 33fe adds r3, #254 ; 0xfe - 90a8: 7223 strb r3, [r4, #8] + 910e: 33fe adds r3, #254 ; 0xfe + 9110: 7223 strb r3, [r4, #8] dsc->color = LV_COLOR_BLACK; - 90aa: 7823 ldrb r3, [r4, #0] - 90ac: 221f movs r2, #31 - 90ae: 4393 bics r3, r2 - 90b0: 7023 strb r3, [r4, #0] - 90b2: 8823 ldrh r3, [r4, #0] - 90b4: 4a03 ldr r2, [pc, #12] ; (90c4 ) - 90b6: 4013 ands r3, r2 - 90b8: 8023 strh r3, [r4, #0] - 90ba: 2300 movs r3, #0 - 90bc: 7063 strb r3, [r4, #1] -} - 90be: bd10 pop {r4, pc} - 90c0: 00010fe5 .word 0x00010fe5 - 90c4: fffff81f .word 0xfffff81f - -000090c8 : + 9112: 7823 ldrb r3, [r4, #0] + 9114: 221f movs r2, #31 + 9116: 4393 bics r3, r2 + 9118: 7023 strb r3, [r4, #0] + 911a: 8823 ldrh r3, [r4, #0] + 911c: 4a03 ldr r2, [pc, #12] ; (912c ) + 911e: 4013 ands r3, r2 + 9120: 8023 strh r3, [r4, #0] + 9122: 2300 movs r3, #0 + 9124: 7063 strb r3, [r4, #1] +} + 9126: bd10 pop {r4, pc} + 9128: 0001104d .word 0x0001104d + 912c: fffff81f .word 0xfffff81f + +00009130 : * @param style pointer to a line's style * @param opa_scale scale down all opacities by the factor */ LV_ATTRIBUTE_FAST_MEM void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, lv_draw_line_dsc_t * dsc) { - 90c8: b5f0 push {r4, r5, r6, r7, lr} - 90ca: 46de mov lr, fp - 90cc: 4657 mov r7, sl - 90ce: 464e mov r6, r9 - 90d0: 4645 mov r5, r8 - 90d2: b5e0 push {r5, r6, r7, lr} - 90d4: b0cb sub sp, #300 ; 0x12c - 90d6: 9005 str r0, [sp, #20] - 90d8: 000e movs r6, r1 - 90da: 9106 str r1, [sp, #24] - 90dc: 9207 str r2, [sp, #28] - 90de: 001c movs r4, r3 + 9130: b5f0 push {r4, r5, r6, r7, lr} + 9132: 46de mov lr, fp + 9134: 4657 mov r7, sl + 9136: 464e mov r6, r9 + 9138: 4645 mov r5, r8 + 913a: b5e0 push {r5, r6, r7, lr} + 913c: b0cb sub sp, #300 ; 0x12c + 913e: 9005 str r0, [sp, #20] + 9140: 000e movs r6, r1 + 9142: 9106 str r1, [sp, #24] + 9144: 9207 str r2, [sp, #28] + 9146: 001c movs r4, r3 if(dsc->width == 0) return; - 90e0: 2202 movs r2, #2 - 90e2: 5e9b ldrsh r3, [r3, r2] - 90e4: 2b00 cmp r3, #0 - 90e6: d101 bne.n 90ec - 90e8: f000 fc46 bl 9978 + 9148: 2202 movs r2, #2 + 914a: 5e9b ldrsh r3, [r3, r2] + 914c: 2b00 cmp r3, #0 + 914e: d101 bne.n 9154 + 9150: f000 fc46 bl 99e0 if(dsc->opa <= LV_OPA_MIN) return; - 90ec: 7a22 ldrb r2, [r4, #8] - 90ee: 2a05 cmp r2, #5 - 90f0: d801 bhi.n 90f6 - 90f2: f000 fc41 bl 9978 + 9154: 7a22 ldrb r2, [r4, #8] + 9156: 2a05 cmp r2, #5 + 9158: d801 bhi.n 915e + 915a: f000 fc41 bl 99e0 if(point1->x == point2->x && point1->y == point2->y) return; - 90f6: 0002 movs r2, r0 - 90f8: 2000 movs r0, #0 - 90fa: 5e11 ldrsh r1, [r2, r0] - 90fc: 2500 movs r5, #0 - 90fe: 5f70 ldrsh r0, [r6, r5] - 9100: 4281 cmp r1, r0 - 9102: d100 bne.n 9106 - 9104: e12b b.n 935e + 915e: 0002 movs r2, r0 + 9160: 2000 movs r0, #0 + 9162: 5e11 ldrsh r1, [r2, r0] + 9164: 2500 movs r5, #0 + 9166: 5f70 ldrsh r0, [r6, r5] + 9168: 4281 cmp r1, r0 + 916a: d100 bne.n 916e + 916c: e12b b.n 93c6 lv_area_t clip_line; clip_line.x1 = LV_MATH_MIN(point1->x, point2->x) - dsc->width / 2; - 9106: 0fda lsrs r2, r3, #31 - 9108: 18d3 adds r3, r2, r3 - 910a: 105b asrs r3, r3, #1 - 910c: b29b uxth r3, r3 - 910e: 1c0a adds r2, r1, #0 - 9110: 4281 cmp r1, r0 - 9112: dd00 ble.n 9116 - 9114: 1c02 adds r2, r0, #0 - 9116: 1ad2 subs r2, r2, r3 - 9118: ad48 add r5, sp, #288 ; 0x120 - 911a: 802a strh r2, [r5, #0] + 916e: 0fda lsrs r2, r3, #31 + 9170: 18d3 adds r3, r2, r3 + 9172: 105b asrs r3, r3, #1 + 9174: b29b uxth r3, r3 + 9176: 1c0a adds r2, r1, #0 + 9178: 4281 cmp r1, r0 + 917a: dd00 ble.n 917e + 917c: 1c02 adds r2, r0, #0 + 917e: 1ad2 subs r2, r2, r3 + 9180: ad48 add r5, sp, #288 ; 0x120 + 9182: 802a strh r2, [r5, #0] clip_line.x2 = LV_MATH_MAX(point1->x, point2->x) + dsc->width / 2; - 911c: 1c0a adds r2, r1, #0 - 911e: 4281 cmp r1, r0 - 9120: da00 bge.n 9124 - 9122: 1c02 adds r2, r0, #0 - 9124: 189a adds r2, r3, r2 - 9126: a948 add r1, sp, #288 ; 0x120 - 9128: 808a strh r2, [r1, #4] + 9184: 1c0a adds r2, r1, #0 + 9186: 4281 cmp r1, r0 + 9188: da00 bge.n 918c + 918a: 1c02 adds r2, r0, #0 + 918c: 189a adds r2, r3, r2 + 918e: a948 add r1, sp, #288 ; 0x120 + 9190: 808a strh r2, [r1, #4] clip_line.y1 = LV_MATH_MIN(point1->y, point2->y) - dsc->width / 2; - 912a: 9a06 ldr r2, [sp, #24] - 912c: 2102 movs r1, #2 - 912e: 5e52 ldrsh r2, [r2, r1] - 9130: 9905 ldr r1, [sp, #20] - 9132: 2002 movs r0, #2 - 9134: 5e08 ldrsh r0, [r1, r0] - 9136: 1c11 adds r1, r2, #0 - 9138: 4282 cmp r2, r0 - 913a: dd00 ble.n 913e - 913c: 1c01 adds r1, r0, #0 - 913e: 1ac9 subs r1, r1, r3 - 9140: ad48 add r5, sp, #288 ; 0x120 - 9142: 8069 strh r1, [r5, #2] + 9192: 9a06 ldr r2, [sp, #24] + 9194: 2102 movs r1, #2 + 9196: 5e52 ldrsh r2, [r2, r1] + 9198: 9905 ldr r1, [sp, #20] + 919a: 2002 movs r0, #2 + 919c: 5e08 ldrsh r0, [r1, r0] + 919e: 1c11 adds r1, r2, #0 + 91a0: 4282 cmp r2, r0 + 91a2: dd00 ble.n 91a6 + 91a4: 1c01 adds r1, r0, #0 + 91a6: 1ac9 subs r1, r1, r3 + 91a8: ad48 add r5, sp, #288 ; 0x120 + 91aa: 8069 strh r1, [r5, #2] clip_line.y2 = LV_MATH_MAX(point1->y, point2->y) + dsc->width / 2; - 9144: 1c11 adds r1, r2, #0 - 9146: 4282 cmp r2, r0 - 9148: da00 bge.n 914c - 914a: 1c01 adds r1, r0, #0 - 914c: 185b adds r3, r3, r1 - 914e: aa48 add r2, sp, #288 ; 0x120 - 9150: 80d3 strh r3, [r2, #6] + 91ac: 1c11 adds r1, r2, #0 + 91ae: 4282 cmp r2, r0 + 91b0: da00 bge.n 91b4 + 91b2: 1c01 adds r1, r0, #0 + 91b4: 185b adds r3, r3, r1 + 91b6: aa48 add r2, sp, #288 ; 0x120 + 91b8: 80d3 strh r3, [r2, #6] bool is_common; is_common = _lv_area_intersect(&clip_line, &clip_line, clip); - 9152: 9a07 ldr r2, [sp, #28] - 9154: a948 add r1, sp, #288 ; 0x120 - 9156: 0008 movs r0, r1 - 9158: 4bd5 ldr r3, [pc, #852] ; (94b0 ) - 915a: 4798 blx r3 + 91ba: 9a07 ldr r2, [sp, #28] + 91bc: a948 add r1, sp, #288 ; 0x120 + 91be: 0008 movs r0, r1 + 91c0: 4bd5 ldr r3, [pc, #852] ; (9518 ) + 91c2: 4798 blx r3 if(!is_common) return; - 915c: 2800 cmp r0, #0 - 915e: d101 bne.n 9164 - 9160: f000 fc0a bl 9978 + 91c4: 2800 cmp r0, #0 + 91c6: d101 bne.n 91cc + 91c8: f000 fc0a bl 99e0 if(point1->y == point2->y) draw_line_hor(point1, point2, &clip_line, dsc); - 9164: 9b05 ldr r3, [sp, #20] - 9166: 2602 movs r6, #2 - 9168: 5f9e ldrsh r6, [r3, r6] - 916a: 9b06 ldr r3, [sp, #24] - 916c: 2502 movs r5, #2 - 916e: 5f5d ldrsh r5, [r3, r5] - 9170: 42ae cmp r6, r5 - 9172: d100 bne.n 9176 - 9174: e0fc b.n 9370 + 91cc: 9b05 ldr r3, [sp, #20] + 91ce: 2602 movs r6, #2 + 91d0: 5f9e ldrsh r6, [r3, r6] + 91d2: 9b06 ldr r3, [sp, #24] + 91d4: 2502 movs r5, #2 + 91d6: 5f5d ldrsh r5, [r3, r5] + 91d8: 42ae cmp r6, r5 + 91da: d100 bne.n 91de + 91dc: e0fc b.n 93d8 else if(point1->x == point2->x) draw_line_ver(point1, point2, &clip_line, dsc); - 9176: 9b05 ldr r3, [sp, #20] - 9178: 2200 movs r2, #0 - 917a: 5e9a ldrsh r2, [r3, r2] - 917c: 0011 movs r1, r2 - 917e: 9208 str r2, [sp, #32] - 9180: 9b06 ldr r3, [sp, #24] - 9182: 2200 movs r2, #0 - 9184: 5e9b ldrsh r3, [r3, r2] - 9186: 469a mov sl, r3 - 9188: 4551 cmp r1, sl - 918a: d100 bne.n 918e - 918c: e206 b.n 959c + 91de: 9b05 ldr r3, [sp, #20] + 91e0: 2200 movs r2, #0 + 91e2: 5e9a ldrsh r2, [r3, r2] + 91e4: 0011 movs r1, r2 + 91e6: 9208 str r2, [sp, #32] + 91e8: 9b06 ldr r3, [sp, #24] + 91ea: 2200 movs r2, #0 + 91ec: 5e9b ldrsh r3, [r3, r2] + 91ee: 469a mov sl, r3 + 91f0: 4551 cmp r1, sl + 91f2: d100 bne.n 91f6 + 91f4: e206 b.n 9604 lv_draw_line_dsc_t * dsc) { /*Keep the great y in p1*/ lv_point_t p1; lv_point_t p2; if(point1->y < point2->y) { - 918e: 42ae cmp r6, r5 - 9190: db06 blt.n 91a0 - 9192: 0033 movs r3, r6 + 91f6: 42ae cmp r6, r5 + 91f8: db06 blt.n 9208 + 91fa: 0033 movs r3, r6 p2.y = point2->y; p1.x = point1->x; p2.x = point2->x; } else { p1.y = point2->y; - 9194: 002e movs r6, r5 + 91fc: 002e movs r6, r5 p2.y = point1->y; - 9196: 001d movs r5, r3 + 91fe: 001d movs r5, r3 if(point1->y < point2->y) { - 9198: 9b08 ldr r3, [sp, #32] + 9200: 9b08 ldr r3, [sp, #32] p1.x = point2->x; - 919a: 4652 mov r2, sl - 919c: 9208 str r2, [sp, #32] + 9202: 4652 mov r2, sl + 9204: 9208 str r2, [sp, #32] p2.x = point1->x; - 919e: 469a mov sl, r3 + 9206: 469a mov sl, r3 } int32_t xdiff = p2.x - p1.x; - 91a0: 4653 mov r3, sl - 91a2: 9a08 ldr r2, [sp, #32] - 91a4: 1a9b subs r3, r3, r2 - 91a6: 9309 str r3, [sp, #36] ; 0x24 + 9208: 4653 mov r3, sl + 920a: 9a08 ldr r2, [sp, #32] + 920c: 1a9b subs r3, r3, r2 + 920e: 9309 str r3, [sp, #36] ; 0x24 int32_t ydiff = p2.y - p1.y; - 91a8: 1baa subs r2, r5, r6 - 91aa: 920a str r2, [sp, #40] ; 0x28 + 9210: 1baa subs r2, r5, r6 + 9212: 920a str r2, [sp, #40] ; 0x28 bool flat = LV_MATH_ABS(xdiff) > LV_MATH_ABS(ydiff) ? true : false; - 91ac: 17d9 asrs r1, r3, #31 - 91ae: 185b adds r3, r3, r1 - 91b0: 404b eors r3, r1 - 91b2: 4699 mov r9, r3 - 91b4: 17d1 asrs r1, r2, #31 - 91b6: 1853 adds r3, r2, r1 - 91b8: 404b eors r3, r1 - 91ba: 469b mov fp, r3 + 9214: 17d9 asrs r1, r3, #31 + 9216: 185b adds r3, r3, r1 + 9218: 404b eors r3, r1 + 921a: 4699 mov r9, r3 + 921c: 17d1 asrs r1, r2, #31 + 921e: 1853 adds r3, r2, r1 + 9220: 404b eors r3, r1 + 9222: 469b mov fp, r3 143, 145, 147, 149, 151, 153, 155, 158, 160, 162, 165, 167, 170, 173, 175, 178, 181, }; int32_t w = dsc->width; - 91bc: 2202 movs r2, #2 - 91be: 5ea3 ldrsh r3, [r4, r2] - 91c0: 4698 mov r8, r3 + 9224: 2202 movs r2, #2 + 9226: 5ea3 ldrsh r3, [r4, r2] + 9228: 4698 mov r8, r3 int32_t wcorr_i = 0; if(flat) wcorr_i = (LV_MATH_ABS(ydiff) << 5) / LV_MATH_ABS(xdiff); - 91c2: 45d9 cmp r9, fp - 91c4: dc00 bgt.n 91c8 - 91c6: e2d0 b.n 976a - 91c8: 465b mov r3, fp - 91ca: 0158 lsls r0, r3, #5 - 91cc: 4649 mov r1, r9 - 91ce: 4bb9 ldr r3, [pc, #740] ; (94b4 ) - 91d0: 4798 blx r3 + 922a: 45d9 cmp r9, fp + 922c: dc00 bgt.n 9230 + 922e: e2d0 b.n 97d2 + 9230: 465b mov r3, fp + 9232: 0158 lsls r0, r3, #5 + 9234: 4649 mov r1, r9 + 9236: 4bb9 ldr r3, [pc, #740] ; (951c ) + 9238: 4798 blx r3 else wcorr_i = (LV_MATH_ABS(xdiff) << 5) / LV_MATH_ABS(ydiff); w = (w * wcorr[wcorr_i] + 63) >> 7; /*+ 63 for rounding*/ - 91d2: 4bb9 ldr r3, [pc, #740] ; (94b8 ) - 91d4: 5c1b ldrb r3, [r3, r0] - 91d6: 4642 mov r2, r8 - 91d8: 435a muls r2, r3 - 91da: 0013 movs r3, r2 - 91dc: 223f movs r2, #63 ; 0x3f - 91de: 4690 mov r8, r2 - 91e0: 4498 add r8, r3 - 91e2: 4643 mov r3, r8 - 91e4: 11db asrs r3, r3, #7 - 91e6: 001f movs r7, r3 + 923a: 4bb9 ldr r3, [pc, #740] ; (9520 ) + 923c: 5c1b ldrb r3, [r3, r0] + 923e: 4642 mov r2, r8 + 9240: 435a muls r2, r3 + 9242: 0013 movs r3, r2 + 9244: 223f movs r2, #63 ; 0x3f + 9246: 4690 mov r8, r2 + 9248: 4498 add r8, r3 + 924a: 4643 mov r3, r8 + 924c: 11db asrs r3, r3, #7 + 924e: 001f movs r7, r3 int32_t w_half0 = w >> 1; int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ lv_area_t draw_area; draw_area.x1 = LV_MATH_MIN(p1.x, p2.x) - w; - 91e8: b29b uxth r3, r3 - 91ea: 4652 mov r2, sl - 91ec: 9808 ldr r0, [sp, #32] - 91ee: 4582 cmp sl, r0 - 91f0: dd00 ble.n 91f4 - 91f2: 1c02 adds r2, r0, #0 - 91f4: 1ad2 subs r2, r2, r3 - 91f6: a90e add r1, sp, #56 ; 0x38 - 91f8: 800a strh r2, [r1, #0] + 9250: b29b uxth r3, r3 + 9252: 4652 mov r2, sl + 9254: 9808 ldr r0, [sp, #32] + 9256: 4582 cmp sl, r0 + 9258: dd00 ble.n 925c + 925a: 1c02 adds r2, r0, #0 + 925c: 1ad2 subs r2, r2, r3 + 925e: a90e add r1, sp, #56 ; 0x38 + 9260: 800a strh r2, [r1, #0] draw_area.x2 = LV_MATH_MAX(p1.x, p2.x) + w; - 91fa: 4652 mov r2, sl - 91fc: 9808 ldr r0, [sp, #32] - 91fe: 4582 cmp sl, r0 - 9200: da00 bge.n 9204 - 9202: 1c02 adds r2, r0, #0 - 9204: 189a adds r2, r3, r2 - 9206: a90e add r1, sp, #56 ; 0x38 - 9208: 808a strh r2, [r1, #4] + 9262: 4652 mov r2, sl + 9264: 9808 ldr r0, [sp, #32] + 9266: 4582 cmp sl, r0 + 9268: da00 bge.n 926c + 926a: 1c02 adds r2, r0, #0 + 926c: 189a adds r2, r3, r2 + 926e: a90e add r1, sp, #56 ; 0x38 + 9270: 808a strh r2, [r1, #4] draw_area.y1 = LV_MATH_MIN(p1.y, p2.y) - w; - 920a: 1c2a adds r2, r5, #0 - 920c: 42b5 cmp r5, r6 - 920e: dd00 ble.n 9212 - 9210: 1c32 adds r2, r6, #0 - 9212: 1ad2 subs r2, r2, r3 - 9214: a90e add r1, sp, #56 ; 0x38 - 9216: 804a strh r2, [r1, #2] + 9272: 1c2a adds r2, r5, #0 + 9274: 42b5 cmp r5, r6 + 9276: dd00 ble.n 927a + 9278: 1c32 adds r2, r6, #0 + 927a: 1ad2 subs r2, r2, r3 + 927c: a90e add r1, sp, #56 ; 0x38 + 927e: 804a strh r2, [r1, #2] draw_area.y2 = LV_MATH_MAX(p1.y, p2.y) + w; - 9218: 1c2a adds r2, r5, #0 - 921a: 42b5 cmp r5, r6 - 921c: da00 bge.n 9220 - 921e: 1c32 adds r2, r6, #0 - 9220: 189b adds r3, r3, r2 - 9222: aa0e add r2, sp, #56 ; 0x38 - 9224: 80d3 strh r3, [r2, #6] + 9280: 1c2a adds r2, r5, #0 + 9282: 42b5 cmp r5, r6 + 9284: da00 bge.n 9288 + 9286: 1c32 adds r2, r6, #0 + 9288: 189b adds r3, r3, r2 + 928a: aa0e add r2, sp, #56 ; 0x38 + 928c: 80d3 strh r3, [r2, #6] /* Get the union of `coords` and `clip`*/ /* `clip` is already truncated to the `vdb` size * in 'lv_refr_area' function */ bool is_common = _lv_area_intersect(&draw_area, &draw_area, clip); - 9226: aa48 add r2, sp, #288 ; 0x120 - 9228: a90e add r1, sp, #56 ; 0x38 - 922a: 0008 movs r0, r1 - 922c: 4ba0 ldr r3, [pc, #640] ; (94b0 ) - 922e: 4798 blx r3 + 928e: aa48 add r2, sp, #288 ; 0x120 + 9290: a90e add r1, sp, #56 ; 0x38 + 9292: 0008 movs r0, r1 + 9294: 4ba0 ldr r3, [pc, #640] ; (9518 ) + 9296: 4798 blx r3 if(is_common == false) return; - 9230: 2800 cmp r0, #0 - 9232: d100 bne.n 9236 - 9234: e39c b.n 9970 + 9298: 2800 cmp r0, #0 + 929a: d100 bne.n 929e + 929c: e39c b.n 99d8 int32_t w_half0 = w >> 1; - 9236: 4643 mov r3, r8 - 9238: 121b asrs r3, r3, #8 - 923a: 4698 mov r8, r3 + 929e: 4643 mov r3, r8 + 92a0: 121b asrs r3, r3, #8 + 92a2: 4698 mov r8, r3 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - 923c: 2301 movs r3, #1 - 923e: 403b ands r3, r7 - 9240: 4443 add r3, r8 - 9242: 930b str r3, [sp, #44] ; 0x2c + 92a4: 2301 movs r3, #1 + 92a6: 403b ands r3, r7 + 92a8: 4443 add r3, r8 + 92aa: 930b str r3, [sp, #44] ; 0x2c lv_draw_mask_line_param_t mask_left_param; lv_draw_mask_line_param_t mask_right_param; lv_draw_mask_line_param_t mask_top_param; lv_draw_mask_line_param_t mask_bottom_param; if(flat) { - 9244: 45d9 cmp r9, fp - 9246: dc00 bgt.n 924a - 9248: e2ba b.n 97c0 + 92ac: 45d9 cmp r9, fp + 92ae: dc00 bgt.n 92b2 + 92b0: e2ba b.n 9828 if(xdiff > 0) { - 924a: 9a09 ldr r2, [sp, #36] ; 0x24 - 924c: 2a00 cmp r2, #0 - 924e: dc00 bgt.n 9252 - 9250: e291 b.n 9776 + 92b2: 9a09 ldr r2, [sp, #36] ; 0x24 + 92b4: 2a00 cmp r2, #0 + 92b6: dc00 bgt.n 92ba + 92b8: e291 b.n 97de lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0, - 9252: b2b2 uxth r2, r6 - 9254: 4641 mov r1, r8 - 9256: 466b mov r3, sp - 9258: 8619 strh r1, [r3, #48] ; 0x30 - 925a: b28b uxth r3, r1 - 925c: b2a9 uxth r1, r5 - 925e: 4693 mov fp, r2 - 9260: 1ad2 subs r2, r2, r3 - 9262: b212 sxth r2, r2 - 9264: 2000 movs r0, #0 - 9266: 9001 str r0, [sp, #4] - 9268: 4689 mov r9, r1 - 926a: 1acb subs r3, r1, r3 - 926c: b21b sxth r3, r3 - 926e: 9300 str r3, [sp, #0] - 9270: 4653 mov r3, sl - 9272: 9908 ldr r1, [sp, #32] - 9274: a812 add r0, sp, #72 ; 0x48 - 9276: 4f91 ldr r7, [pc, #580] ; (94bc ) - 9278: 47b8 blx r7 + 92ba: b2b2 uxth r2, r6 + 92bc: 4641 mov r1, r8 + 92be: 466b mov r3, sp + 92c0: 8619 strh r1, [r3, #48] ; 0x30 + 92c2: b28b uxth r3, r1 + 92c4: b2a9 uxth r1, r5 + 92c6: 4693 mov fp, r2 + 92c8: 1ad2 subs r2, r2, r3 + 92ca: b212 sxth r2, r2 + 92cc: 2000 movs r0, #0 + 92ce: 9001 str r0, [sp, #4] + 92d0: 4689 mov r9, r1 + 92d2: 1acb subs r3, r1, r3 + 92d4: b21b sxth r3, r3 + 92d6: 9300 str r3, [sp, #0] + 92d8: 4653 mov r3, sl + 92da: 9908 ldr r1, [sp, #32] + 92dc: a812 add r0, sp, #72 ; 0x48 + 92de: 4f91 ldr r7, [pc, #580] ; (9524 ) + 92e0: 47b8 blx r7 LV_DRAW_MASK_LINE_SIDE_LEFT); lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1, - 927a: 466b mov r3, sp - 927c: 8d9b ldrh r3, [r3, #44] ; 0x2c - 927e: 465a mov r2, fp - 9280: 18d2 adds r2, r2, r3 - 9282: b212 sxth r2, r2 - 9284: 2101 movs r1, #1 - 9286: 9101 str r1, [sp, #4] - 9288: 444b add r3, r9 - 928a: b21b sxth r3, r3 - 928c: 9300 str r3, [sp, #0] - 928e: 4653 mov r3, sl - 9290: 9908 ldr r1, [sp, #32] - 9292: a81d add r0, sp, #116 ; 0x74 - 9294: 47b8 blx r7 + 92e2: 466b mov r3, sp + 92e4: 8d9b ldrh r3, [r3, #44] ; 0x2c + 92e6: 465a mov r2, fp + 92e8: 18d2 adds r2, r2, r3 + 92ea: b212 sxth r2, r2 + 92ec: 2101 movs r1, #1 + 92ee: 9101 str r1, [sp, #4] + 92f0: 444b add r3, r9 + 92f2: b21b sxth r3, r3 + 92f4: 9300 str r3, [sp, #0] + 92f6: 4653 mov r3, sl + 92f8: 9908 ldr r1, [sp, #32] + 92fa: a81d add r0, sp, #116 ; 0x74 + 92fc: 47b8 blx r7 LV_DRAW_MASK_LINE_SIDE_RIGHT); } /*Use the normal vector for the endings*/ int16_t mask_left_id = lv_draw_mask_add(&mask_left_param, NULL); - 9296: 2100 movs r1, #0 - 9298: a812 add r0, sp, #72 ; 0x48 - 929a: 4b89 ldr r3, [pc, #548] ; (94c0 ) - 929c: 4698 mov r8, r3 - 929e: 4798 blx r3 - 92a0: 900b str r0, [sp, #44] ; 0x2c + 92fe: 2100 movs r1, #0 + 9300: a812 add r0, sp, #72 ; 0x48 + 9302: 4b89 ldr r3, [pc, #548] ; (9528 ) + 9304: 4698 mov r8, r3 + 9306: 4798 blx r3 + 9308: 900b str r0, [sp, #44] ; 0x2c int16_t mask_right_id = lv_draw_mask_add(&mask_right_param, NULL); - 92a2: 2100 movs r1, #0 - 92a4: a81d add r0, sp, #116 ; 0x74 - 92a6: 47c0 blx r8 - 92a8: 900c str r0, [sp, #48] ; 0x30 + 930a: 2100 movs r1, #0 + 930c: a81d add r0, sp, #116 ; 0x74 + 930e: 47c0 blx r8 + 9310: 900c str r0, [sp, #48] ; 0x30 int16_t mask_top_id = LV_MASK_ID_INV; int16_t mask_bottom_id = LV_MASK_ID_INV; if(!dsc->raw_end) { - 92aa: 7a63 ldrb r3, [r4, #9] - 92ac: 06db lsls r3, r3, #27 - 92ae: d400 bmi.n 92b2 - 92b0: e2ac b.n 980c + 9312: 7a63 ldrb r3, [r4, #9] + 9314: 06db lsls r3, r3, #27 + 9316: d400 bmi.n 931a + 9318: e2ac b.n 9874 int16_t mask_bottom_id = LV_MASK_ID_INV; - 92b2: 2301 movs r3, #1 - 92b4: 425b negs r3, r3 - 92b6: 930d str r3, [sp, #52] ; 0x34 + 931a: 2301 movs r3, #1 + 931c: 425b negs r3, r3 + 931e: 930d str r3, [sp, #52] ; 0x34 int16_t mask_top_id = LV_MASK_ID_INV; - 92b8: 930a str r3, [sp, #40] ; 0x28 + 9320: 930a str r3, [sp, #40] ; 0x28 lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP); mask_top_id = lv_draw_mask_add(&mask_top_param, NULL); mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL); } lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 92ba: 4b82 ldr r3, [pc, #520] ; (94c4 ) - 92bc: 4798 blx r3 + 9322: 4b82 ldr r3, [pc, #520] ; (952c ) + 9324: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 92be: 4b82 ldr r3, [pc, #520] ; (94c8 ) - 92c0: 4798 blx r3 - 92c2: 4681 mov r9, r0 + 9326: 4b82 ldr r3, [pc, #520] ; (9530 ) + 9328: 4798 blx r3 + 932a: 4681 mov r9, r0 const lv_area_t * disp_area = &vdb->area; /*Store the coordinates of the `draw_a` relative to the VDB */ draw_area.x1 -= disp_area->x1; - 92c4: 8a02 ldrh r2, [r0, #16] - 92c6: a80e add r0, sp, #56 ; 0x38 - 92c8: 8805 ldrh r5, [r0, #0] - 92ca: 1aad subs r5, r5, r2 - 92cc: b2ab uxth r3, r5 - 92ce: 8003 strh r3, [r0, #0] + 932c: 8a02 ldrh r2, [r0, #16] + 932e: a80e add r0, sp, #56 ; 0x38 + 9330: 8805 ldrh r5, [r0, #0] + 9332: 1aad subs r5, r5, r2 + 9334: b2ab uxth r3, r5 + 9336: 8003 strh r3, [r0, #0] draw_area.y1 -= disp_area->y1; - 92d0: 4649 mov r1, r9 - 92d2: 8a49 ldrh r1, [r1, #18] - 92d4: 8845 ldrh r5, [r0, #2] - 92d6: 1a6d subs r5, r5, r1 - 92d8: 8045 strh r5, [r0, #2] + 9338: 4649 mov r1, r9 + 933a: 8a49 ldrh r1, [r1, #18] + 933c: 8845 ldrh r5, [r0, #2] + 933e: 1a6d subs r5, r5, r1 + 9340: 8045 strh r5, [r0, #2] draw_area.x2 -= disp_area->x1; - 92da: 8885 ldrh r5, [r0, #4] - 92dc: 1aad subs r5, r5, r2 - 92de: b2ad uxth r5, r5 - 92e0: 8085 strh r5, [r0, #4] + 9342: 8885 ldrh r5, [r0, #4] + 9344: 1aad subs r5, r5, r2 + 9346: b2ad uxth r5, r5 + 9348: 8085 strh r5, [r0, #4] draw_area.y2 -= disp_area->y1; - 92e2: 88c2 ldrh r2, [r0, #6] - 92e4: 1a52 subs r2, r2, r1 - 92e6: 80c2 strh r2, [r0, #6] - 92e8: 3501 adds r5, #1 - 92ea: 1aed subs r5, r5, r3 - 92ec: b22d sxth r5, r5 + 934a: 88c2 ldrh r2, [r0, #6] + 934c: 1a52 subs r2, r2, r1 + 934e: 80c2 strh r2, [r0, #6] + 9350: 3501 adds r5, #1 + 9352: 1aed subs r5, r5, r3 + 9354: b22d sxth r5, r5 * So deal with it only with steep lines. */ int32_t draw_area_w = lv_area_get_width(&draw_area); /*Draw the background line by line*/ int32_t h; size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX); - 92ee: 4b77 ldr r3, [pc, #476] ; (94cc ) - 92f0: 4798 blx r3 - 92f2: 23e0 movs r3, #224 ; 0xe0 - 92f4: 33ff adds r3, #255 ; 0xff - 92f6: 4298 cmp r0, r3 - 92f8: d800 bhi.n 92fc - 92fa: e2b3 b.n 9864 - 92fc: 23f0 movs r3, #240 ; 0xf0 - 92fe: 005b lsls r3, r3, #1 - 9300: 469b mov fp, r3 + 9356: 4b77 ldr r3, [pc, #476] ; (9534 ) + 9358: 4798 blx r3 + 935a: 23e0 movs r3, #224 ; 0xe0 + 935c: 33ff adds r3, #255 ; 0xff + 935e: 4298 cmp r0, r3 + 9360: d800 bhi.n 9364 + 9362: e2b3 b.n 98cc + 9364: 23f0 movs r3, #240 ; 0xf0 + 9366: 005b lsls r3, r3, #1 + 9368: 469b mov fp, r3 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 9302: 4658 mov r0, fp - 9304: 4b72 ldr r3, [pc, #456] ; (94d0 ) - 9306: 4798 blx r3 - 9308: 4680 mov r8, r0 + 936a: 4658 mov r0, fp + 936c: 4b72 ldr r3, [pc, #456] ; (9538 ) + 936e: 4798 blx r3 + 9370: 4680 mov r8, r0 lv_area_t fill_area; fill_area.x1 = draw_area.x1 + disp_area->x1; - 930a: 464b mov r3, r9 - 930c: 8a1b ldrh r3, [r3, #16] - 930e: af0e add r7, sp, #56 ; 0x38 - 9310: 883a ldrh r2, [r7, #0] - 9312: 189a adds r2, r3, r2 - 9314: b212 sxth r2, r2 - 9316: 0011 movs r1, r2 - 9318: 9209 str r2, [sp, #36] ; 0x24 - 931a: aa10 add r2, sp, #64 ; 0x40 - 931c: 8011 strh r1, [r2, #0] + 9372: 464b mov r3, r9 + 9374: 8a1b ldrh r3, [r3, #16] + 9376: af0e add r7, sp, #56 ; 0x38 + 9378: 883a ldrh r2, [r7, #0] + 937a: 189a adds r2, r3, r2 + 937c: b212 sxth r2, r2 + 937e: 0011 movs r1, r2 + 9380: 9209 str r2, [sp, #36] ; 0x24 + 9382: aa10 add r2, sp, #64 ; 0x40 + 9384: 8011 strh r1, [r2, #0] fill_area.x2 = draw_area.x2 + disp_area->x1; - 931e: 88b9 ldrh r1, [r7, #4] - 9320: 185b adds r3, r3, r1 - 9322: 8093 strh r3, [r2, #4] + 9386: 88b9 ldrh r1, [r7, #4] + 9388: 185b adds r3, r3, r1 + 938a: 8093 strh r3, [r2, #4] fill_area.y1 = draw_area.y1 + disp_area->y1; - 9324: 887b ldrh r3, [r7, #2] - 9326: 4649 mov r1, r9 - 9328: 8a49 ldrh r1, [r1, #18] - 932a: 185b adds r3, r3, r1 - 932c: b21b sxth r3, r3 - 932e: 8053 strh r3, [r2, #2] + 938c: 887b ldrh r3, [r7, #2] + 938e: 4649 mov r1, r9 + 9390: 8a49 ldrh r1, [r1, #18] + 9392: 185b adds r3, r3, r1 + 9394: b21b sxth r3, r3 + 9396: 8053 strh r3, [r2, #2] fill_area.y2 = fill_area.y1; - 9330: 80d3 strh r3, [r2, #6] + 9398: 80d3 strh r3, [r2, #6] int32_t x = vdb->area.x1 + draw_area.x1; uint32_t mask_p = 0; _lv_memset_ff(mask_buf, mask_buf_size); - 9332: 4659 mov r1, fp - 9334: 4b67 ldr r3, [pc, #412] ; (94d4 ) - 9336: 4798 blx r3 + 939a: 4659 mov r1, fp + 939c: 4b67 ldr r3, [pc, #412] ; (953c ) + 939e: 4798 blx r3 /*Fill the first row with 'color'*/ for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) { - 9338: 464b mov r3, r9 - 933a: 2212 movs r2, #18 - 933c: 5e9a ldrsh r2, [r3, r2] - 933e: 2302 movs r3, #2 - 9340: 5efe ldrsh r6, [r7, r3] - 9342: 18b6 adds r6, r6, r2 - 9344: 2106 movs r1, #6 - 9346: 5e7b ldrsh r3, [r7, r1] - 9348: 189b adds r3, r3, r2 - 934a: 429e cmp r6, r3 - 934c: dd00 ble.n 9350 - 934e: e2ec b.n 992a - 9350: 2700 movs r7, #0 + 93a0: 464b mov r3, r9 + 93a2: 2212 movs r2, #18 + 93a4: 5e9a ldrsh r2, [r3, r2] + 93a6: 2302 movs r3, #2 + 93a8: 5efe ldrsh r6, [r7, r3] + 93aa: 18b6 adds r6, r6, r2 + 93ac: 2106 movs r1, #6 + 93ae: 5e7b ldrsh r3, [r7, r1] + 93b0: 189b adds r3, r3, r2 + 93b2: 429e cmp r6, r3 + 93b4: dd00 ble.n 93b8 + 93b6: e2ec b.n 9992 + 93b8: 2700 movs r7, #0 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(&mask_buf[mask_p], x, h, draw_area_w); - 9352: 4b61 ldr r3, [pc, #388] ; (94d8 ) - 9354: 469a mov sl, r3 + 93ba: 4b61 ldr r3, [pc, #388] ; (9540 ) + 93bc: 469a mov sl, r3 mask_p += draw_area_w; if((uint32_t) mask_p + draw_area_w < mask_buf_size) { fill_area.y2 ++; } else { _lv_blend_fill(&fill_area, clip, - 9356: 0023 movs r3, r4 - 9358: 4644 mov r4, r8 - 935a: 4698 mov r8, r3 - 935c: e2d0 b.n 9900 + 93be: 0023 movs r3, r4 + 93c0: 4644 mov r4, r8 + 93c2: 4698 mov r8, r3 + 93c4: e2d0 b.n 9968 if(point1->x == point2->x && point1->y == point2->y) return; - 935e: 2502 movs r5, #2 - 9360: 5f55 ldrsh r5, [r2, r5] - 9362: 0032 movs r2, r6 - 9364: 2602 movs r6, #2 - 9366: 5f92 ldrsh r2, [r2, r6] - 9368: 4295 cmp r5, r2 - 936a: d000 beq.n 936e - 936c: e6cb b.n 9106 - 936e: e303 b.n 9978 + 93c6: 2502 movs r5, #2 + 93c8: 5f55 ldrsh r5, [r2, r5] + 93ca: 0032 movs r2, r6 + 93cc: 2602 movs r6, #2 + 93ce: 5f92 ldrsh r2, [r2, r6] + 93d0: 4295 cmp r5, r2 + 93d2: d000 beq.n 93d6 + 93d4: e6cb b.n 916e + 93d6: e303 b.n 99e0 lv_opa_t opa = dsc->opa; - 9370: 7a23 ldrb r3, [r4, #8] - 9372: 4698 mov r8, r3 + 93d8: 7a23 ldrb r3, [r4, #8] + 93da: 4698 mov r8, r3 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 9374: 4b53 ldr r3, [pc, #332] ; (94c4 ) - 9376: 4798 blx r3 + 93dc: 4b53 ldr r3, [pc, #332] ; (952c ) + 93de: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 9378: 4b53 ldr r3, [pc, #332] ; (94c8 ) - 937a: 4798 blx r3 - 937c: 4681 mov r9, r0 + 93e0: 4b53 ldr r3, [pc, #332] ; (9530 ) + 93e2: 4798 blx r3 + 93e4: 4681 mov r9, r0 int32_t w = dsc->width - 1; - 937e: 2202 movs r2, #2 - 9380: 5ea3 ldrsh r3, [r4, r2] - 9382: 3b01 subs r3, #1 + 93e6: 2202 movs r2, #2 + 93e8: 5ea3 ldrsh r3, [r4, r2] + 93ea: 3b01 subs r3, #1 int32_t w_half0 = w >> 1; - 9384: 105e asrs r6, r3, #1 + 93ec: 105e asrs r6, r3, #1 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - 9386: 2501 movs r5, #1 - 9388: 401d ands r5, r3 - 938a: 19ad adds r5, r5, r6 + 93ee: 2501 movs r5, #1 + 93f0: 401d ands r5, r3 + 93f2: 19ad adds r5, r5, r6 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - 938c: 2306 movs r3, #6 - 938e: 5ee2 ldrsh r2, [r4, r3] - 9390: 2300 movs r3, #0 - 9392: 2a00 cmp r2, #0 - 9394: d004 beq.n 93a0 - 9396: 2204 movs r2, #4 - 9398: 5ea3 ldrsh r3, [r4, r2] - 939a: 1e5a subs r2, r3, #1 - 939c: 4193 sbcs r3, r2 - 939e: b2db uxtb r3, r3 - 93a0: 001f movs r7, r3 - 93a2: 9309 str r3, [sp, #36] ; 0x24 + 93f4: 2306 movs r3, #6 + 93f6: 5ee2 ldrsh r2, [r4, r3] + 93f8: 2300 movs r3, #0 + 93fa: 2a00 cmp r2, #0 + 93fc: d004 beq.n 9408 + 93fe: 2204 movs r2, #4 + 9400: 5ea3 ldrsh r3, [r4, r2] + 9402: 1e5a subs r2, r3, #1 + 9404: 4193 sbcs r3, r2 + 9406: b2db uxtb r3, r3 + 9408: 001f movs r7, r3 + 940a: 9309 str r3, [sp, #36] ; 0x24 if(lv_draw_mask_get_cnt()) simple_mode = false; - 93a4: 4b4d ldr r3, [pc, #308] ; (94dc ) - 93a6: 4798 blx r3 - 93a8: 2100 movs r1, #0 - 93aa: 2800 cmp r0, #0 - 93ac: d101 bne.n 93b2 + 940c: 4b4d ldr r3, [pc, #308] ; (9544 ) + 940e: 4798 blx r3 + 9410: 2100 movs r1, #0 + 9412: 2800 cmp r0, #0 + 9414: d101 bne.n 941a else if(dashed) simple_mode = false; - 93ae: 3101 adds r1, #1 - 93b0: 4079 eors r1, r7 + 9416: 3101 adds r1, #1 + 9418: 4079 eors r1, r7 draw_area.x1 = LV_MATH_MIN(point1->x, point2->x); - 93b2: 9b06 ldr r3, [sp, #24] - 93b4: 2200 movs r2, #0 - 93b6: 5e9b ldrsh r3, [r3, r2] - 93b8: 9a05 ldr r2, [sp, #20] - 93ba: 2000 movs r0, #0 - 93bc: 5e10 ldrsh r0, [r2, r0] - 93be: 1c1a adds r2, r3, #0 - 93c0: 4283 cmp r3, r0 - 93c2: dd00 ble.n 93c6 - 93c4: 1c02 adds r2, r0, #0 - 93c6: af28 add r7, sp, #160 ; 0xa0 - 93c8: 803a strh r2, [r7, #0] + 941a: 9b06 ldr r3, [sp, #24] + 941c: 2200 movs r2, #0 + 941e: 5e9b ldrsh r3, [r3, r2] + 9420: 9a05 ldr r2, [sp, #20] + 9422: 2000 movs r0, #0 + 9424: 5e10 ldrsh r0, [r2, r0] + 9426: 1c1a adds r2, r3, #0 + 9428: 4283 cmp r3, r0 + 942a: dd00 ble.n 942e + 942c: 1c02 adds r2, r0, #0 + 942e: af28 add r7, sp, #160 ; 0xa0 + 9430: 803a strh r2, [r7, #0] draw_area.x2 = LV_MATH_MAX(point1->x, point2->x) - 1; - 93ca: 1c1a adds r2, r3, #0 - 93cc: 4283 cmp r3, r0 - 93ce: da00 bge.n 93d2 - 93d0: 1c02 adds r2, r0, #0 - 93d2: 3a01 subs r2, #1 - 93d4: ab28 add r3, sp, #160 ; 0xa0 - 93d6: 809a strh r2, [r3, #4] + 9432: 1c1a adds r2, r3, #0 + 9434: 4283 cmp r3, r0 + 9436: da00 bge.n 943a + 9438: 1c02 adds r2, r0, #0 + 943a: 3a01 subs r2, #1 + 943c: ab28 add r3, sp, #160 ; 0xa0 + 943e: 809a strh r2, [r3, #4] draw_area.y1 = point1->y - w_half1; - 93d8: 9b05 ldr r3, [sp, #20] - 93da: 885b ldrh r3, [r3, #2] - 93dc: aa28 add r2, sp, #160 ; 0xa0 - 93de: 1b5d subs r5, r3, r5 - 93e0: 8055 strh r5, [r2, #2] + 9440: 9b05 ldr r3, [sp, #20] + 9442: 885b ldrh r3, [r3, #2] + 9444: aa28 add r2, sp, #160 ; 0xa0 + 9446: 1b5d subs r5, r3, r5 + 9448: 8055 strh r5, [r2, #2] draw_area.y2 = point1->y + w_half0; - 93e2: 199e adds r6, r3, r6 - 93e4: 80d6 strh r6, [r2, #6] + 944a: 199e adds r6, r3, r6 + 944c: 80d6 strh r6, [r2, #6] if(simple_mode) { - 93e6: 2900 cmp r1, #0 - 93e8: d00e beq.n 9408 + 944e: 2900 cmp r1, #0 + 9450: d00e beq.n 9470 _lv_blend_fill(clip, &draw_area, - 93ea: 8822 ldrh r2, [r4, #0] + 9452: 8822 ldrh r2, [r4, #0] dsc->blend_mode); - 93ec: 7a63 ldrb r3, [r4, #9] - 93ee: 079b lsls r3, r3, #30 + 9454: 7a63 ldrb r3, [r4, #9] + 9456: 079b lsls r3, r3, #30 _lv_blend_fill(clip, &draw_area, - 93f0: 0f9b lsrs r3, r3, #30 - 93f2: 9302 str r3, [sp, #8] - 93f4: 4643 mov r3, r8 - 93f6: 9301 str r3, [sp, #4] - 93f8: 2301 movs r3, #1 - 93fa: 9300 str r3, [sp, #0] - 93fc: 2300 movs r3, #0 - 93fe: a928 add r1, sp, #160 ; 0xa0 - 9400: a848 add r0, sp, #288 ; 0x120 - 9402: 4d37 ldr r5, [pc, #220] ; (94e0 ) - 9404: 47a8 blx r5 - 9406: e2b3 b.n 9970 + 9458: 0f9b lsrs r3, r3, #30 + 945a: 9302 str r3, [sp, #8] + 945c: 4643 mov r3, r8 + 945e: 9301 str r3, [sp, #4] + 9460: 2301 movs r3, #1 + 9462: 9300 str r3, [sp, #0] + 9464: 2300 movs r3, #0 + 9466: a928 add r1, sp, #160 ; 0xa0 + 9468: a848 add r0, sp, #288 ; 0x120 + 946a: 4d37 ldr r5, [pc, #220] ; (9548 ) + 946c: 47a8 blx r5 + 946e: e2b3 b.n 99d8 is_common = _lv_area_intersect(&draw_area, clip, &draw_area); - 9408: aa28 add r2, sp, #160 ; 0xa0 - 940a: a948 add r1, sp, #288 ; 0x120 - 940c: 0010 movs r0, r2 - 940e: 4b28 ldr r3, [pc, #160] ; (94b0 ) - 9410: 4798 blx r3 + 9470: aa28 add r2, sp, #160 ; 0xa0 + 9472: a948 add r1, sp, #288 ; 0x120 + 9474: 0010 movs r0, r2 + 9476: 4b28 ldr r3, [pc, #160] ; (9518 ) + 9478: 4798 blx r3 if(!is_common) return; - 9412: 2800 cmp r0, #0 - 9414: d100 bne.n 9418 - 9416: e2ab b.n 9970 + 947a: 2800 cmp r0, #0 + 947c: d100 bne.n 9480 + 947e: e2ab b.n 99d8 draw_area.x1 -= disp_area->x1; - 9418: aa28 add r2, sp, #160 ; 0xa0 - 941a: 2300 movs r3, #0 - 941c: 5ed7 ldrsh r7, [r2, r3] - 941e: 464b mov r3, r9 - 9420: 2110 movs r1, #16 - 9422: 5e5b ldrsh r3, [r3, r1] - 9424: 469b mov fp, r3 - 9426: 4669 mov r1, sp - 9428: 840b strh r3, [r1, #32] - 942a: 8c0b ldrh r3, [r1, #32] - 942c: 1af9 subs r1, r7, r3 - 942e: b289 uxth r1, r1 - 9430: 4688 mov r8, r1 - 9432: b209 sxth r1, r1 - 9434: 468a mov sl, r1 - 9436: 8011 strh r1, [r2, #0] + 9480: aa28 add r2, sp, #160 ; 0xa0 + 9482: 2300 movs r3, #0 + 9484: 5ed7 ldrsh r7, [r2, r3] + 9486: 464b mov r3, r9 + 9488: 2110 movs r1, #16 + 948a: 5e5b ldrsh r3, [r3, r1] + 948c: 469b mov fp, r3 + 948e: 4669 mov r1, sp + 9490: 840b strh r3, [r1, #32] + 9492: 8c0b ldrh r3, [r1, #32] + 9494: 1af9 subs r1, r7, r3 + 9496: b289 uxth r1, r1 + 9498: 4688 mov r8, r1 + 949a: b209 sxth r1, r1 + 949c: 468a mov sl, r1 + 949e: 8011 strh r1, [r2, #0] draw_area.y1 -= disp_area->y1; - 9438: 2002 movs r0, #2 - 943a: 5e11 ldrsh r1, [r2, r0] - 943c: 464d mov r5, r9 - 943e: 8a6d ldrh r5, [r5, #18] - 9440: 46ac mov ip, r5 - 9442: 1b4d subs r5, r1, r5 - 9444: 8055 strh r5, [r2, #2] + 94a0: 2002 movs r0, #2 + 94a2: 5e11 ldrsh r1, [r2, r0] + 94a4: 464d mov r5, r9 + 94a6: 8a6d ldrh r5, [r5, #18] + 94a8: 46ac mov ip, r5 + 94aa: 1b4d subs r5, r1, r5 + 94ac: 8055 strh r5, [r2, #2] draw_area.x2 -= disp_area->x1; - 9446: 2004 movs r0, #4 - 9448: 5e16 ldrsh r6, [r2, r0] - 944a: 1af3 subs r3, r6, r3 - 944c: b29b uxth r3, r3 - 944e: 8093 strh r3, [r2, #4] + 94ae: 2004 movs r0, #4 + 94b0: 5e16 ldrsh r6, [r2, r0] + 94b2: 1af3 subs r3, r6, r3 + 94b4: b29b uxth r3, r3 + 94b6: 8093 strh r3, [r2, #4] draw_area.y2 -= disp_area->y1; - 9450: 88d5 ldrh r5, [r2, #6] - 9452: 4660 mov r0, ip - 9454: 1a2d subs r5, r5, r0 - 9456: 80d5 strh r5, [r2, #6] - 9458: 3301 adds r3, #1 - 945a: 4642 mov r2, r8 - 945c: 1a9b subs r3, r3, r2 - 945e: b21b sxth r3, r3 - 9460: 930b str r3, [sp, #44] ; 0x2c + 94b8: 88d5 ldrh r5, [r2, #6] + 94ba: 4660 mov r0, ip + 94bc: 1a2d subs r5, r5, r0 + 94be: 80d5 strh r5, [r2, #6] + 94c0: 3301 adds r3, #1 + 94c2: 4642 mov r2, r8 + 94c4: 1a9b subs r3, r3, r2 + 94c6: b21b sxth r3, r3 + 94c8: 930b str r3, [sp, #44] ; 0x2c fill_area.x1 = draw_area.x1 + disp_area->x1; - 9462: ab33 add r3, sp, #204 ; 0xcc - 9464: 801f strh r7, [r3, #0] + 94ca: ab33 add r3, sp, #204 ; 0xcc + 94cc: 801f strh r7, [r3, #0] fill_area.x2 = draw_area.x2 + disp_area->x1; - 9466: 809e strh r6, [r3, #4] + 94ce: 809e strh r6, [r3, #4] fill_area.y1 = draw_area.y1 + disp_area->y1; - 9468: 8059 strh r1, [r3, #2] + 94d0: 8059 strh r1, [r3, #2] fill_area.y2 = fill_area.y1; - 946a: 80d9 strh r1, [r3, #6] + 94d2: 80d9 strh r1, [r3, #6] if(dashed) { - 946c: 2100 movs r1, #0 - 946e: 9b09 ldr r3, [sp, #36] ; 0x24 - 9470: 2b00 cmp r3, #0 - 9472: d008 beq.n 9486 + 94d4: 2100 movs r1, #0 + 94d6: 9b09 ldr r3, [sp, #36] ; 0x24 + 94d8: 2b00 cmp r3, #0 + 94da: d008 beq.n 94ee dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width); - 9474: 4650 mov r0, sl - 9476: 4458 add r0, fp - 9478: 2306 movs r3, #6 - 947a: 5ee1 ldrsh r1, [r4, r3] - 947c: 2204 movs r2, #4 - 947e: 5ea3 ldrsh r3, [r4, r2] - 9480: 18c9 adds r1, r1, r3 - 9482: 4b18 ldr r3, [pc, #96] ; (94e4 ) - 9484: 4798 blx r3 - 9486: b20b sxth r3, r1 - 9488: 930c str r3, [sp, #48] ; 0x30 + 94dc: 4650 mov r0, sl + 94de: 4458 add r0, fp + 94e0: 2306 movs r3, #6 + 94e2: 5ee1 ldrsh r1, [r4, r3] + 94e4: 2204 movs r2, #4 + 94e6: 5ea3 ldrsh r3, [r4, r2] + 94e8: 18c9 adds r1, r1, r3 + 94ea: 4b18 ldr r3, [pc, #96] ; (954c ) + 94ec: 4798 blx r3 + 94ee: b20b sxth r3, r1 + 94f0: 930c str r3, [sp, #48] ; 0x30 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - 948a: 980b ldr r0, [sp, #44] ; 0x2c - 948c: 0007 movs r7, r0 - 948e: 4b10 ldr r3, [pc, #64] ; (94d0 ) - 9490: 4798 blx r3 - 9492: 9008 str r0, [sp, #32] + 94f2: 980b ldr r0, [sp, #44] ; 0x2c + 94f4: 0007 movs r7, r0 + 94f6: 4b10 ldr r3, [pc, #64] ; (9538 ) + 94f8: 4798 blx r3 + 94fa: 9008 str r0, [sp, #32] for(h = draw_area.y1; h <= draw_area.y2; h++) { - 9494: ab28 add r3, sp, #160 ; 0xa0 - 9496: 2202 movs r2, #2 - 9498: 5e9e ldrsh r6, [r3, r2] - 949a: 2206 movs r2, #6 - 949c: 5e9b ldrsh r3, [r3, r2] - 949e: 42b3 cmp r3, r6 - 94a0: da00 bge.n 94a4 - 94a2: e077 b.n 9594 + 94fc: ab28 add r3, sp, #160 ; 0xa0 + 94fe: 2202 movs r2, #2 + 9500: 5e9e ldrsh r6, [r3, r2] + 9502: 2206 movs r2, #6 + 9504: 5e9b ldrsh r3, [r3, r2] + 9506: 42b3 cmp r3, r6 + 9508: da00 bge.n 950c + 950a: e077 b.n 95fc _lv_memset_ff(mask_buf, draw_area_w); - 94a4: 4b0b ldr r3, [pc, #44] ; (94d4 ) - 94a6: 469b mov fp, r3 + 950c: 4b0b ldr r3, [pc, #44] ; (953c ) + 950e: 469b mov fp, r3 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - 94a8: 4b0b ldr r3, [pc, #44] ; (94d8 ) - 94aa: 469a mov sl, r3 - 94ac: 970a str r7, [sp, #40] ; 0x28 - 94ae: e050 b.n 9552 - 94b0: 0000fba7 .word 0x0000fba7 - 94b4: 00017a75 .word 0x00017a75 - 94b8: 000189f4 .word 0x000189f4 - 94bc: 0000a67d .word 0x0000a67d - 94c0: 0000a585 .word 0x0000a585 - 94c4: 00004349 .word 0x00004349 - 94c8: 0000f6a1 .word 0x0000f6a1 - 94cc: 0000fb8b .word 0x0000fb8b - 94d0: 00010e59 .word 0x00010e59 - 94d4: 00011089 .word 0x00011089 - 94d8: 0000a5bd .word 0x0000a5bd - 94dc: 0000a659 .word 0x0000a659 - 94e0: 00005c05 .word 0x00005c05 - 94e4: 00017c41 .word 0x00017c41 + 9510: 4b0b ldr r3, [pc, #44] ; (9540 ) + 9512: 469a mov sl, r3 + 9514: 970a str r7, [sp, #40] ; 0x28 + 9516: e050 b.n 95ba + 9518: 0000fc0f .word 0x0000fc0f + 951c: 00017b05 .word 0x00017b05 + 9520: 00018a84 .word 0x00018a84 + 9524: 0000a6e5 .word 0x0000a6e5 + 9528: 0000a5ed .word 0x0000a5ed + 952c: 000043b1 .word 0x000043b1 + 9530: 0000f709 .word 0x0000f709 + 9534: 0000fbf3 .word 0x0000fbf3 + 9538: 00010ec1 .word 0x00010ec1 + 953c: 000110f1 .word 0x000110f1 + 9540: 0000a625 .word 0x0000a625 + 9544: 0000a6c1 .word 0x0000a6c1 + 9548: 00005c6d .word 0x00005c6d + 954c: 00017cd1 .word 0x00017cd1 else if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { - 94e8: 2606 movs r6, #6 - 94ea: 5fa5 ldrsh r5, [r4, r6] - 94ec: 18ed adds r5, r5, r3 + 9550: 2606 movs r6, #6 + 9552: 5fa5 ldrsh r5, [r4, r6] + 9554: 18ed adds r5, r5, r3 dash_cnt = 0; - 94ee: 000b movs r3, r1 + 9556: 000b movs r3, r1 else if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { - 94f0: 42aa cmp r2, r5 - 94f2: da02 bge.n 94fa + 9558: 42aa cmp r2, r5 + 955a: da02 bge.n 9562 mask_buf[i] = 0x00; - 94f4: 9b08 ldr r3, [sp, #32] - 94f6: 5419 strb r1, [r3, r0] - 94f8: 0013 movs r3, r2 + 955c: 9b08 ldr r3, [sp, #32] + 955e: 5419 strb r1, [r3, r0] + 9560: 0013 movs r3, r2 for(i = 0; i < draw_area_w; i++, dash_cnt++) { - 94fa: 3001 adds r0, #1 - 94fc: 3301 adds r3, #1 - 94fe: b21a sxth r2, r3 - 9500: 4287 cmp r7, r0 - 9502: d907 bls.n 9514 + 9562: 3001 adds r0, #1 + 9564: 3301 adds r3, #1 + 9566: b21a sxth r2, r3 + 9568: 4287 cmp r7, r0 + 956a: d907 bls.n 957c if(dash_cnt <= dsc->dash_width) { - 9504: 2504 movs r5, #4 - 9506: 5f63 ldrsh r3, [r4, r5] - 9508: 4293 cmp r3, r2 - 950a: dbed blt.n 94e8 + 956c: 2504 movs r5, #4 + 956e: 5f63 ldrsh r3, [r4, r5] + 9570: 4293 cmp r3, r2 + 9572: dbed blt.n 9550 int16_t diff = dsc->dash_width - dash_cnt; - 950c: 1a9a subs r2, r3, r2 + 9574: 1a9a subs r2, r3, r2 i += diff; - 950e: b212 sxth r2, r2 - 9510: 1880 adds r0, r0, r2 - 9512: e7f2 b.n 94fa - 9514: 970a str r7, [sp, #40] ; 0x28 - 9516: 4666 mov r6, ip + 9576: b212 sxth r2, r2 + 9578: 1880 adds r0, r0, r2 + 957a: e7f2 b.n 9562 + 957c: 970a str r7, [sp, #40] ; 0x28 + 957e: 4666 mov r6, ip mask_res = LV_DRAW_MASK_RES_CHANGED; - 9518: 2002 movs r0, #2 + 9580: 2002 movs r0, #2 _lv_blend_fill(clip, &fill_area, - 951a: 8822 ldrh r2, [r4, #0] - 951c: ad33 add r5, sp, #204 ; 0xcc + 9582: 8822 ldrh r2, [r4, #0] + 9584: ad33 add r5, sp, #204 ; 0xcc dsc->blend_mode); - 951e: 7a63 ldrb r3, [r4, #9] - 9520: 079b lsls r3, r3, #30 + 9586: 7a63 ldrb r3, [r4, #9] + 9588: 079b lsls r3, r3, #30 _lv_blend_fill(clip, &fill_area, - 9522: 0f9b lsrs r3, r3, #30 - 9524: 9302 str r3, [sp, #8] - 9526: 7a23 ldrb r3, [r4, #8] - 9528: 9301 str r3, [sp, #4] - 952a: 9000 str r0, [sp, #0] - 952c: 9b08 ldr r3, [sp, #32] - 952e: 0029 movs r1, r5 - 9530: a848 add r0, sp, #288 ; 0x120 - 9532: 4fd1 ldr r7, [pc, #836] ; (9878 ) - 9534: 47b8 blx r7 + 958a: 0f9b lsrs r3, r3, #30 + 958c: 9302 str r3, [sp, #8] + 958e: 7a23 ldrb r3, [r4, #8] + 9590: 9301 str r3, [sp, #4] + 9592: 9000 str r0, [sp, #0] + 9594: 9b08 ldr r3, [sp, #32] + 9596: 0029 movs r1, r5 + 9598: a848 add r0, sp, #288 ; 0x120 + 959a: 4fd1 ldr r7, [pc, #836] ; (98e0 ) + 959c: 47b8 blx r7 fill_area.y1++; - 9536: 886b ldrh r3, [r5, #2] - 9538: 3301 adds r3, #1 - 953a: 806b strh r3, [r5, #2] + 959e: 886b ldrh r3, [r5, #2] + 95a0: 3301 adds r3, #1 + 95a2: 806b strh r3, [r5, #2] fill_area.y2++; - 953c: 88eb ldrh r3, [r5, #6] - 953e: 3301 adds r3, #1 - 9540: 80eb strh r3, [r5, #6] + 95a4: 88eb ldrh r3, [r5, #6] + 95a6: 3301 adds r3, #1 + 95a8: 80eb strh r3, [r5, #6] for(h = draw_area.y1; h <= draw_area.y2; h++) { - 9542: 3601 adds r6, #1 - 9544: ab0a add r3, sp, #40 ; 0x28 - 9546: 227e movs r2, #126 ; 0x7e - 9548: 189b adds r3, r3, r2 - 954a: 2200 movs r2, #0 - 954c: 5e9b ldrsh r3, [r3, r2] - 954e: 429e cmp r6, r3 - 9550: dc20 bgt.n 9594 + 95aa: 3601 adds r6, #1 + 95ac: ab0a add r3, sp, #40 ; 0x28 + 95ae: 227e movs r2, #126 ; 0x7e + 95b0: 189b adds r3, r3, r2 + 95b2: 2200 movs r2, #0 + 95b4: 5e9b ldrsh r3, [r3, r2] + 95b6: 429e cmp r6, r3 + 95b8: dc20 bgt.n 95fc _lv_memset_ff(mask_buf, draw_area_w); - 9552: 9f0a ldr r7, [sp, #40] ; 0x28 - 9554: 0039 movs r1, r7 - 9556: 9d08 ldr r5, [sp, #32] - 9558: 0028 movs r0, r5 - 955a: 47d8 blx fp + 95ba: 9f0a ldr r7, [sp, #40] ; 0x28 + 95bc: 0039 movs r1, r7 + 95be: 9d08 ldr r5, [sp, #32] + 95c0: 0028 movs r0, r5 + 95c2: 47d8 blx fp lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - 955c: 464b mov r3, r9 - 955e: 8a5a ldrh r2, [r3, #18] - 9560: 1992 adds r2, r2, r6 - 9562: b212 sxth r2, r2 - 9564: 8a19 ldrh r1, [r3, #16] - 9566: ab0a add r3, sp, #40 ; 0x28 - 9568: 2078 movs r0, #120 ; 0x78 - 956a: 181b adds r3, r3, r0 - 956c: 881b ldrh r3, [r3, #0] - 956e: 18c9 adds r1, r1, r3 - 9570: b209 sxth r1, r1 - 9572: 9b0b ldr r3, [sp, #44] ; 0x2c - 9574: 0028 movs r0, r5 - 9576: 47d0 blx sl + 95c4: 464b mov r3, r9 + 95c6: 8a5a ldrh r2, [r3, #18] + 95c8: 1992 adds r2, r2, r6 + 95ca: b212 sxth r2, r2 + 95cc: 8a19 ldrh r1, [r3, #16] + 95ce: ab0a add r3, sp, #40 ; 0x28 + 95d0: 2078 movs r0, #120 ; 0x78 + 95d2: 181b adds r3, r3, r0 + 95d4: 881b ldrh r3, [r3, #0] + 95d6: 18c9 adds r1, r1, r3 + 95d8: b209 sxth r1, r1 + 95da: 9b0b ldr r3, [sp, #44] ; 0x2c + 95dc: 0028 movs r0, r5 + 95de: 47d0 blx sl if(dashed) { - 9578: 9b09 ldr r3, [sp, #36] ; 0x24 - 957a: 2b00 cmp r3, #0 - 957c: d0cd beq.n 951a + 95e0: 9b09 ldr r3, [sp, #36] ; 0x24 + 95e2: 2b00 cmp r3, #0 + 95e4: d0cd beq.n 9582 if(mask_res != LV_DRAW_MASK_RES_TRANSP) { - 957e: 2800 cmp r0, #0 - 9580: d0cb beq.n 951a + 95e6: 2800 cmp r0, #0 + 95e8: d0cb beq.n 9582 for(i = 0; i < draw_area_w; i++, dash_cnt++) { - 9582: 2f00 cmp r7, #0 - 9584: d004 beq.n 9590 - 9586: 9a0c ldr r2, [sp, #48] ; 0x30 - 9588: 2000 movs r0, #0 + 95ea: 2f00 cmp r7, #0 + 95ec: d004 beq.n 95f8 + 95ee: 9a0c ldr r2, [sp, #48] ; 0x30 + 95f0: 2000 movs r0, #0 dash_cnt = 0; - 958a: 2100 movs r1, #0 - 958c: 46b4 mov ip, r6 - 958e: e7b9 b.n 9504 + 95f2: 2100 movs r1, #0 + 95f4: 46b4 mov ip, r6 + 95f6: e7b9 b.n 956c mask_res = LV_DRAW_MASK_RES_CHANGED; - 9590: 2002 movs r0, #2 - 9592: e7c2 b.n 951a + 95f8: 2002 movs r0, #2 + 95fa: e7c2 b.n 9582 _lv_mem_buf_release(mask_buf); - 9594: 9808 ldr r0, [sp, #32] - 9596: 4bb9 ldr r3, [pc, #740] ; (987c ) - 9598: 4798 blx r3 - 959a: e1e9 b.n 9970 + 95fc: 9808 ldr r0, [sp, #32] + 95fe: 4bb9 ldr r3, [pc, #740] ; (98e4 ) + 9600: 4798 blx r3 + 9602: e1e9 b.n 99d8 lv_opa_t opa = dsc->opa; - 959c: 7a23 ldrb r3, [r4, #8] - 959e: 4698 mov r8, r3 + 9604: 7a23 ldrb r3, [r4, #8] + 9606: 4698 mov r8, r3 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 95a0: 4bb7 ldr r3, [pc, #732] ; (9880 ) - 95a2: 4798 blx r3 + 9608: 4bb7 ldr r3, [pc, #732] ; (98e8 ) + 960a: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 95a4: 4bb7 ldr r3, [pc, #732] ; (9884 ) - 95a6: 4798 blx r3 - 95a8: 0007 movs r7, r0 + 960c: 4bb7 ldr r3, [pc, #732] ; (98ec ) + 960e: 4798 blx r3 + 9610: 0007 movs r7, r0 int32_t w = dsc->width - 1; - 95aa: 2202 movs r2, #2 - 95ac: 5ea3 ldrsh r3, [r4, r2] - 95ae: 3b01 subs r3, #1 + 9612: 2202 movs r2, #2 + 9614: 5ea3 ldrsh r3, [r4, r2] + 9616: 3b01 subs r3, #1 int32_t w_half0 = w >> 1; - 95b0: 105e asrs r6, r3, #1 + 9618: 105e asrs r6, r3, #1 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - 95b2: 2501 movs r5, #1 - 95b4: 401d ands r5, r3 - 95b6: 19ad adds r5, r5, r6 + 961a: 2501 movs r5, #1 + 961c: 401d ands r5, r3 + 961e: 19ad adds r5, r5, r6 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - 95b8: 2306 movs r3, #6 - 95ba: 5ee2 ldrsh r2, [r4, r3] - 95bc: 2300 movs r3, #0 - 95be: 2a00 cmp r2, #0 - 95c0: d004 beq.n 95cc - 95c2: 2204 movs r2, #4 - 95c4: 5ea3 ldrsh r3, [r4, r2] - 95c6: 1e5a subs r2, r3, #1 - 95c8: 4193 sbcs r3, r2 - 95ca: b2db uxtb r3, r3 - 95cc: 4699 mov r9, r3 - 95ce: 930a str r3, [sp, #40] ; 0x28 + 9620: 2306 movs r3, #6 + 9622: 5ee2 ldrsh r2, [r4, r3] + 9624: 2300 movs r3, #0 + 9626: 2a00 cmp r2, #0 + 9628: d004 beq.n 9634 + 962a: 2204 movs r2, #4 + 962c: 5ea3 ldrsh r3, [r4, r2] + 962e: 1e5a subs r2, r3, #1 + 9630: 4193 sbcs r3, r2 + 9632: b2db uxtb r3, r3 + 9634: 4699 mov r9, r3 + 9636: 930a str r3, [sp, #40] ; 0x28 if(lv_draw_mask_get_cnt()) simple_mode = false; - 95d0: 4bad ldr r3, [pc, #692] ; (9888 ) - 95d2: 4798 blx r3 - 95d4: 2100 movs r1, #0 - 95d6: 2800 cmp r0, #0 - 95d8: d102 bne.n 95e0 + 9638: 4bad ldr r3, [pc, #692] ; (98f0 ) + 963a: 4798 blx r3 + 963c: 2100 movs r1, #0 + 963e: 2800 cmp r0, #0 + 9640: d102 bne.n 9648 else if(dashed) simple_mode = false; - 95da: 3101 adds r1, #1 - 95dc: 464b mov r3, r9 - 95de: 4059 eors r1, r3 + 9642: 3101 adds r1, #1 + 9644: 464b mov r3, r9 + 9646: 4059 eors r1, r3 draw_area.x1 = point1->x - w_half1; - 95e0: 9805 ldr r0, [sp, #20] - 95e2: 8802 ldrh r2, [r0, #0] - 95e4: ab28 add r3, sp, #160 ; 0xa0 - 95e6: 1b55 subs r5, r2, r5 - 95e8: 801d strh r5, [r3, #0] + 9648: 9805 ldr r0, [sp, #20] + 964a: 8802 ldrh r2, [r0, #0] + 964c: ab28 add r3, sp, #160 ; 0xa0 + 964e: 1b55 subs r5, r2, r5 + 9650: 801d strh r5, [r3, #0] draw_area.x2 = point1->x + w_half0; - 95ea: 1996 adds r6, r2, r6 - 95ec: 809e strh r6, [r3, #4] + 9652: 1996 adds r6, r2, r6 + 9654: 809e strh r6, [r3, #4] draw_area.y1 = LV_MATH_MIN(point1->y, point2->y); - 95ee: 9a06 ldr r2, [sp, #24] - 95f0: 2502 movs r5, #2 - 95f2: 5f52 ldrsh r2, [r2, r5] - 95f4: 2502 movs r5, #2 - 95f6: 5f45 ldrsh r5, [r0, r5] - 95f8: 1c10 adds r0, r2, #0 - 95fa: 42aa cmp r2, r5 - 95fc: dd00 ble.n 9600 - 95fe: 1c28 adds r0, r5, #0 - 9600: 8058 strh r0, [r3, #2] + 9656: 9a06 ldr r2, [sp, #24] + 9658: 2502 movs r5, #2 + 965a: 5f52 ldrsh r2, [r2, r5] + 965c: 2502 movs r5, #2 + 965e: 5f45 ldrsh r5, [r0, r5] + 9660: 1c10 adds r0, r2, #0 + 9662: 42aa cmp r2, r5 + 9664: dd00 ble.n 9668 + 9666: 1c28 adds r0, r5, #0 + 9668: 8058 strh r0, [r3, #2] draw_area.y2 = LV_MATH_MAX(point1->y, point2->y) - 1; - 9602: 1c13 adds r3, r2, #0 - 9604: 42aa cmp r2, r5 - 9606: da00 bge.n 960a - 9608: 1c2b adds r3, r5, #0 - 960a: 3b01 subs r3, #1 - 960c: aa28 add r2, sp, #160 ; 0xa0 - 960e: 80d3 strh r3, [r2, #6] + 966a: 1c13 adds r3, r2, #0 + 966c: 42aa cmp r2, r5 + 966e: da00 bge.n 9672 + 9670: 1c2b adds r3, r5, #0 + 9672: 3b01 subs r3, #1 + 9674: aa28 add r2, sp, #160 ; 0xa0 + 9676: 80d3 strh r3, [r2, #6] if(simple_mode) { - 9610: 2900 cmp r1, #0 - 9612: d00e beq.n 9632 + 9678: 2900 cmp r1, #0 + 967a: d00e beq.n 969a _lv_blend_fill(clip, &draw_area, - 9614: 8822 ldrh r2, [r4, #0] + 967c: 8822 ldrh r2, [r4, #0] dsc->blend_mode); - 9616: 7a63 ldrb r3, [r4, #9] - 9618: 079b lsls r3, r3, #30 + 967e: 7a63 ldrb r3, [r4, #9] + 9680: 079b lsls r3, r3, #30 _lv_blend_fill(clip, &draw_area, - 961a: 0f9b lsrs r3, r3, #30 - 961c: 9302 str r3, [sp, #8] - 961e: 4643 mov r3, r8 - 9620: 9301 str r3, [sp, #4] - 9622: 2301 movs r3, #1 - 9624: 9300 str r3, [sp, #0] - 9626: 2300 movs r3, #0 - 9628: a928 add r1, sp, #160 ; 0xa0 - 962a: a848 add r0, sp, #288 ; 0x120 - 962c: 4d92 ldr r5, [pc, #584] ; (9878 ) - 962e: 47a8 blx r5 - 9630: e19e b.n 9970 + 9682: 0f9b lsrs r3, r3, #30 + 9684: 9302 str r3, [sp, #8] + 9686: 4643 mov r3, r8 + 9688: 9301 str r3, [sp, #4] + 968a: 2301 movs r3, #1 + 968c: 9300 str r3, [sp, #0] + 968e: 2300 movs r3, #0 + 9690: a928 add r1, sp, #160 ; 0xa0 + 9692: a848 add r0, sp, #288 ; 0x120 + 9694: 4d92 ldr r5, [pc, #584] ; (98e0 ) + 9696: 47a8 blx r5 + 9698: e19e b.n 99d8 is_common = _lv_area_intersect(&draw_area, clip, &draw_area); - 9632: aa28 add r2, sp, #160 ; 0xa0 - 9634: a948 add r1, sp, #288 ; 0x120 - 9636: 0010 movs r0, r2 - 9638: 4b94 ldr r3, [pc, #592] ; (988c ) - 963a: 4798 blx r3 + 969a: aa28 add r2, sp, #160 ; 0xa0 + 969c: a948 add r1, sp, #288 ; 0x120 + 969e: 0010 movs r0, r2 + 96a0: 4b94 ldr r3, [pc, #592] ; (98f4 ) + 96a2: 4798 blx r3 if(!is_common) return; - 963c: 2800 cmp r0, #0 - 963e: d100 bne.n 9642 - 9640: e196 b.n 9970 + 96a4: 2800 cmp r0, #0 + 96a6: d100 bne.n 96aa + 96a8: e196 b.n 99d8 draw_area.x1 -= vdb->area.x1; - 9642: aa28 add r2, sp, #160 ; 0xa0 - 9644: 2100 movs r1, #0 - 9646: 5e53 ldrsh r3, [r2, r1] - 9648: 469c mov ip, r3 - 964a: 8a3b ldrh r3, [r7, #16] - 964c: 4661 mov r1, ip - 964e: 1ac9 subs r1, r1, r3 - 9650: b289 uxth r1, r1 - 9652: 8011 strh r1, [r2, #0] + 96aa: aa28 add r2, sp, #160 ; 0xa0 + 96ac: 2100 movs r1, #0 + 96ae: 5e53 ldrsh r3, [r2, r1] + 96b0: 469c mov ip, r3 + 96b2: 8a3b ldrh r3, [r7, #16] + 96b4: 4661 mov r1, ip + 96b6: 1ac9 subs r1, r1, r3 + 96b8: b289 uxth r1, r1 + 96ba: 8011 strh r1, [r2, #0] draw_area.y1 -= vdb->area.y1; - 9654: 2502 movs r5, #2 - 9656: 5f50 ldrsh r0, [r2, r5] - 9658: 8a7d ldrh r5, [r7, #18] - 965a: 46a8 mov r8, r5 - 965c: 1b45 subs r5, r0, r5 - 965e: 8055 strh r5, [r2, #2] + 96bc: 2502 movs r5, #2 + 96be: 5f50 ldrsh r0, [r2, r5] + 96c0: 8a7d ldrh r5, [r7, #18] + 96c2: 46a8 mov r8, r5 + 96c4: 1b45 subs r5, r0, r5 + 96c6: 8055 strh r5, [r2, #2] draw_area.x2 -= vdb->area.x1; - 9660: 2504 movs r5, #4 - 9662: 5f56 ldrsh r6, [r2, r5] - 9664: 1af3 subs r3, r6, r3 - 9666: b29b uxth r3, r3 - 9668: 4699 mov r9, r3 - 966a: 8093 strh r3, [r2, #4] + 96c8: 2504 movs r5, #4 + 96ca: 5f56 ldrsh r6, [r2, r5] + 96cc: 1af3 subs r3, r6, r3 + 96ce: b29b uxth r3, r3 + 96d0: 4699 mov r9, r3 + 96d2: 8093 strh r3, [r2, #4] draw_area.y2 -= vdb->area.y1; - 966c: 88d5 ldrh r5, [r2, #6] - 966e: 4643 mov r3, r8 - 9670: 1aed subs r5, r5, r3 - 9672: 80d5 strh r5, [r2, #6] - 9674: 464b mov r3, r9 - 9676: 3301 adds r3, #1 - 9678: 1a59 subs r1, r3, r1 - 967a: b20b sxth r3, r1 - 967c: 001a movs r2, r3 - 967e: 930b str r3, [sp, #44] ; 0x2c + 96d4: 88d5 ldrh r5, [r2, #6] + 96d6: 4643 mov r3, r8 + 96d8: 1aed subs r5, r5, r3 + 96da: 80d5 strh r5, [r2, #6] + 96dc: 464b mov r3, r9 + 96de: 3301 adds r3, #1 + 96e0: 1a59 subs r1, r3, r1 + 96e2: b20b sxth r3, r1 + 96e4: 001a movs r2, r3 + 96e6: 930b str r3, [sp, #44] ; 0x2c fill_area.x1 = draw_area.x1 + disp_area->x1; - 9680: ab33 add r3, sp, #204 ; 0xcc - 9682: 4661 mov r1, ip - 9684: 8019 strh r1, [r3, #0] + 96e8: ab33 add r3, sp, #204 ; 0xcc + 96ea: 4661 mov r1, ip + 96ec: 8019 strh r1, [r3, #0] fill_area.x2 = draw_area.x2 + disp_area->x1; - 9686: 809e strh r6, [r3, #4] + 96ee: 809e strh r6, [r3, #4] fill_area.y1 = draw_area.y1 + disp_area->y1; - 9688: 8058 strh r0, [r3, #2] + 96f0: 8058 strh r0, [r3, #2] fill_area.y2 = fill_area.y1; - 968a: 80d8 strh r0, [r3, #6] + 96f2: 80d8 strh r0, [r3, #6] lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - 968c: 920c str r2, [sp, #48] ; 0x30 - 968e: 0010 movs r0, r2 - 9690: 4b7f ldr r3, [pc, #508] ; (9890 ) - 9692: 4798 blx r3 - 9694: 9008 str r0, [sp, #32] + 96f4: 920c str r2, [sp, #48] ; 0x30 + 96f6: 0010 movs r0, r2 + 96f8: 4b7f ldr r3, [pc, #508] ; (98f8 ) + 96fa: 4798 blx r3 + 96fc: 9008 str r0, [sp, #32] if(dashed) { - 9696: 2100 movs r1, #0 - 9698: 9b0a ldr r3, [sp, #40] ; 0x28 - 969a: 2b00 cmp r3, #0 - 969c: d00c beq.n 96b8 + 96fe: 2100 movs r1, #0 + 9700: 9b0a ldr r3, [sp, #40] ; 0x28 + 9702: 2b00 cmp r3, #0 + 9704: d00c beq.n 9720 dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width); - 969e: 2310 movs r3, #16 - 96a0: 5ef8 ldrsh r0, [r7, r3] - 96a2: ab28 add r3, sp, #160 ; 0xa0 - 96a4: 2200 movs r2, #0 - 96a6: 5e9b ldrsh r3, [r3, r2] - 96a8: 18c0 adds r0, r0, r3 - 96aa: 2306 movs r3, #6 - 96ac: 5ee1 ldrsh r1, [r4, r3] - 96ae: 2204 movs r2, #4 - 96b0: 5ea3 ldrsh r3, [r4, r2] - 96b2: 18c9 adds r1, r1, r3 - 96b4: 4b77 ldr r3, [pc, #476] ; (9894 ) - 96b6: 4798 blx r3 - 96b8: b20b sxth r3, r1 - 96ba: 4699 mov r9, r3 + 9706: 2310 movs r3, #16 + 9708: 5ef8 ldrsh r0, [r7, r3] + 970a: ab28 add r3, sp, #160 ; 0xa0 + 970c: 2200 movs r2, #0 + 970e: 5e9b ldrsh r3, [r3, r2] + 9710: 18c0 adds r0, r0, r3 + 9712: 2306 movs r3, #6 + 9714: 5ee1 ldrsh r1, [r4, r3] + 9716: 2204 movs r2, #4 + 9718: 5ea3 ldrsh r3, [r4, r2] + 971a: 18c9 adds r1, r1, r3 + 971c: 4b77 ldr r3, [pc, #476] ; (98fc ) + 971e: 4798 blx r3 + 9720: b20b sxth r3, r1 + 9722: 4699 mov r9, r3 for(h = draw_area.y1; h <= draw_area.y2; h++) { - 96bc: ab28 add r3, sp, #160 ; 0xa0 - 96be: 2202 movs r2, #2 - 96c0: 5e9e ldrsh r6, [r3, r2] - 96c2: 2206 movs r2, #6 - 96c4: 5e9b ldrsh r3, [r3, r2] - 96c6: 429e cmp r6, r3 - 96c8: dc4b bgt.n 9762 + 9724: ab28 add r3, sp, #160 ; 0xa0 + 9726: 2202 movs r2, #2 + 9728: 5e9e ldrsh r6, [r3, r2] + 972a: 2206 movs r2, #6 + 972c: 5e9b ldrsh r3, [r3, r2] + 972e: 429e cmp r6, r3 + 9730: dc4b bgt.n 97ca _lv_memset_ff(mask_buf, draw_area_w); - 96ca: 4b73 ldr r3, [pc, #460] ; (9898 ) - 96cc: 469b mov fp, r3 + 9732: 4b73 ldr r3, [pc, #460] ; (9900 ) + 9734: 469b mov fp, r3 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - 96ce: 4b73 ldr r3, [pc, #460] ; (989c ) - 96d0: 469a mov sl, r3 - 96d2: 46b8 mov r8, r7 - 96d4: 464b mov r3, r9 - 96d6: 9309 str r3, [sp, #36] ; 0x24 - 96d8: e01d b.n 9716 + 9736: 4b73 ldr r3, [pc, #460] ; (9904 ) + 9738: 469a mov sl, r3 + 973a: 46b8 mov r8, r7 + 973c: 464b mov r3, r9 + 973e: 9309 str r3, [sp, #36] ; 0x24 + 9740: e01d b.n 977e dash_cnt ++; - 96da: 9f09 ldr r7, [sp, #36] ; 0x24 - 96dc: 3701 adds r7, #1 - 96de: b23b sxth r3, r7 - 96e0: 9309 str r3, [sp, #36] ; 0x24 + 9742: 9f09 ldr r7, [sp, #36] ; 0x24 + 9744: 3701 adds r7, #1 + 9746: b23b sxth r3, r7 + 9748: 9309 str r3, [sp, #36] ; 0x24 _lv_blend_fill(clip, &fill_area, - 96e2: 8822 ldrh r2, [r4, #0] - 96e4: ad33 add r5, sp, #204 ; 0xcc - 96e6: 2300 movs r3, #0 - 96e8: 9302 str r3, [sp, #8] - 96ea: 7a23 ldrb r3, [r4, #8] - 96ec: 9301 str r3, [sp, #4] - 96ee: 9000 str r0, [sp, #0] - 96f0: 9b08 ldr r3, [sp, #32] - 96f2: 0029 movs r1, r5 - 96f4: a848 add r0, sp, #288 ; 0x120 - 96f6: 4f60 ldr r7, [pc, #384] ; (9878 ) - 96f8: 47b8 blx r7 + 974a: 8822 ldrh r2, [r4, #0] + 974c: ad33 add r5, sp, #204 ; 0xcc + 974e: 2300 movs r3, #0 + 9750: 9302 str r3, [sp, #8] + 9752: 7a23 ldrb r3, [r4, #8] + 9754: 9301 str r3, [sp, #4] + 9756: 9000 str r0, [sp, #0] + 9758: 9b08 ldr r3, [sp, #32] + 975a: 0029 movs r1, r5 + 975c: a848 add r0, sp, #288 ; 0x120 + 975e: 4f60 ldr r7, [pc, #384] ; (98e0 ) + 9760: 47b8 blx r7 fill_area.y1++; - 96fa: 886b ldrh r3, [r5, #2] - 96fc: 3301 adds r3, #1 - 96fe: 806b strh r3, [r5, #2] + 9762: 886b ldrh r3, [r5, #2] + 9764: 3301 adds r3, #1 + 9766: 806b strh r3, [r5, #2] fill_area.y2++; - 9700: 88eb ldrh r3, [r5, #6] - 9702: 3301 adds r3, #1 - 9704: 80eb strh r3, [r5, #6] + 9768: 88eb ldrh r3, [r5, #6] + 976a: 3301 adds r3, #1 + 976c: 80eb strh r3, [r5, #6] for(h = draw_area.y1; h <= draw_area.y2; h++) { - 9706: 3601 adds r6, #1 - 9708: ab0a add r3, sp, #40 ; 0x28 - 970a: 227e movs r2, #126 ; 0x7e - 970c: 189b adds r3, r3, r2 - 970e: 2200 movs r2, #0 - 9710: 5e9b ldrsh r3, [r3, r2] - 9712: 429e cmp r6, r3 - 9714: dc25 bgt.n 9762 + 976e: 3601 adds r6, #1 + 9770: ab0a add r3, sp, #40 ; 0x28 + 9772: 227e movs r2, #126 ; 0x7e + 9774: 189b adds r3, r3, r2 + 9776: 2200 movs r2, #0 + 9778: 5e9b ldrsh r3, [r3, r2] + 977a: 429e cmp r6, r3 + 977c: dc25 bgt.n 97ca _lv_memset_ff(mask_buf, draw_area_w); - 9716: 990c ldr r1, [sp, #48] ; 0x30 - 9718: 9d08 ldr r5, [sp, #32] - 971a: 0028 movs r0, r5 - 971c: 47d8 blx fp + 977e: 990c ldr r1, [sp, #48] ; 0x30 + 9780: 9d08 ldr r5, [sp, #32] + 9782: 0028 movs r0, r5 + 9784: 47d8 blx fp lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - 971e: 4643 mov r3, r8 - 9720: 8a5a ldrh r2, [r3, #18] - 9722: 1992 adds r2, r2, r6 - 9724: b212 sxth r2, r2 - 9726: 8a19 ldrh r1, [r3, #16] - 9728: ab0a add r3, sp, #40 ; 0x28 - 972a: 2078 movs r0, #120 ; 0x78 - 972c: 181b adds r3, r3, r0 - 972e: 881b ldrh r3, [r3, #0] - 9730: 18c9 adds r1, r1, r3 - 9732: b209 sxth r1, r1 - 9734: 9b0b ldr r3, [sp, #44] ; 0x2c - 9736: 0028 movs r0, r5 - 9738: 47d0 blx sl + 9786: 4643 mov r3, r8 + 9788: 8a5a ldrh r2, [r3, #18] + 978a: 1992 adds r2, r2, r6 + 978c: b212 sxth r2, r2 + 978e: 8a19 ldrh r1, [r3, #16] + 9790: ab0a add r3, sp, #40 ; 0x28 + 9792: 2078 movs r0, #120 ; 0x78 + 9794: 181b adds r3, r3, r0 + 9796: 881b ldrh r3, [r3, #0] + 9798: 18c9 adds r1, r1, r3 + 979a: b209 sxth r1, r1 + 979c: 9b0b ldr r3, [sp, #44] ; 0x2c + 979e: 0028 movs r0, r5 + 97a0: 47d0 blx sl if(dashed) { - 973a: 9b0a ldr r3, [sp, #40] ; 0x28 - 973c: 2b00 cmp r3, #0 - 973e: d0d0 beq.n 96e2 + 97a2: 9b0a ldr r3, [sp, #40] ; 0x28 + 97a4: 2b00 cmp r3, #0 + 97a6: d0d0 beq.n 974a if(mask_res != LV_DRAW_MASK_RES_TRANSP) { - 9740: 2800 cmp r0, #0 - 9742: d0ca beq.n 96da + 97a8: 2800 cmp r0, #0 + 97aa: d0ca beq.n 9742 if(dash_cnt > dsc->dash_width) { - 9744: 2304 movs r3, #4 - 9746: 5ee2 ldrsh r2, [r4, r3] - 9748: 9b09 ldr r3, [sp, #36] ; 0x24 - 974a: 429a cmp r2, r3 - 974c: da00 bge.n 9750 + 97ac: 2304 movs r3, #4 + 97ae: 5ee2 ldrsh r2, [r4, r3] + 97b0: 9b09 ldr r3, [sp, #36] ; 0x24 + 97b2: 429a cmp r2, r3 + 97b4: da00 bge.n 97b8 mask_res = LV_DRAW_MASK_RES_TRANSP; - 974e: 2000 movs r0, #0 + 97b6: 2000 movs r0, #0 if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { - 9750: 2106 movs r1, #6 - 9752: 5e63 ldrsh r3, [r4, r1] - 9754: 189b adds r3, r3, r2 - 9756: 9a09 ldr r2, [sp, #36] ; 0x24 - 9758: 429a cmp r2, r3 - 975a: dbbe blt.n 96da + 97b8: 2106 movs r1, #6 + 97ba: 5e63 ldrsh r3, [r4, r1] + 97bc: 189b adds r3, r3, r2 + 97be: 9a09 ldr r2, [sp, #36] ; 0x24 + 97c0: 429a cmp r2, r3 + 97c2: dbbe blt.n 9742 dash_cnt = 0; - 975c: 2300 movs r3, #0 - 975e: 9309 str r3, [sp, #36] ; 0x24 - 9760: e7bb b.n 96da + 97c4: 2300 movs r3, #0 + 97c6: 9309 str r3, [sp, #36] ; 0x24 + 97c8: e7bb b.n 9742 _lv_mem_buf_release(mask_buf); - 9762: 9808 ldr r0, [sp, #32] - 9764: 4b45 ldr r3, [pc, #276] ; (987c ) - 9766: 4798 blx r3 - 9768: e102 b.n 9970 + 97ca: 9808 ldr r0, [sp, #32] + 97cc: 4b45 ldr r3, [pc, #276] ; (98e4 ) + 97ce: 4798 blx r3 + 97d0: e102 b.n 99d8 else wcorr_i = (LV_MATH_ABS(xdiff) << 5) / LV_MATH_ABS(ydiff); - 976a: 464b mov r3, r9 - 976c: 0158 lsls r0, r3, #5 - 976e: 4659 mov r1, fp - 9770: 4b4b ldr r3, [pc, #300] ; (98a0 ) - 9772: 4798 blx r3 - 9774: e52d b.n 91d2 + 97d2: 464b mov r3, r9 + 97d4: 0158 lsls r0, r3, #5 + 97d6: 4659 mov r1, fp + 97d8: 4b4b ldr r3, [pc, #300] ; (9908 ) + 97da: 4798 blx r3 + 97dc: e52d b.n 923a lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1, - 9776: b2b2 uxth r2, r6 - 9778: 466b mov r3, sp - 977a: 8d9b ldrh r3, [r3, #44] ; 0x2c - 977c: b2a9 uxth r1, r5 - 977e: 4693 mov fp, r2 - 9780: 18d2 adds r2, r2, r3 - 9782: b212 sxth r2, r2 - 9784: 2000 movs r0, #0 - 9786: 9001 str r0, [sp, #4] - 9788: 910b str r1, [sp, #44] ; 0x2c - 978a: 468c mov ip, r1 - 978c: 4463 add r3, ip - 978e: b21b sxth r3, r3 - 9790: 9300 str r3, [sp, #0] - 9792: 4653 mov r3, sl - 9794: 9908 ldr r1, [sp, #32] - 9796: a812 add r0, sp, #72 ; 0x48 - 9798: 4f42 ldr r7, [pc, #264] ; (98a4 ) - 979a: 47b8 blx r7 + 97de: b2b2 uxth r2, r6 + 97e0: 466b mov r3, sp + 97e2: 8d9b ldrh r3, [r3, #44] ; 0x2c + 97e4: b2a9 uxth r1, r5 + 97e6: 4693 mov fp, r2 + 97e8: 18d2 adds r2, r2, r3 + 97ea: b212 sxth r2, r2 + 97ec: 2000 movs r0, #0 + 97ee: 9001 str r0, [sp, #4] + 97f0: 910b str r1, [sp, #44] ; 0x2c + 97f2: 468c mov ip, r1 + 97f4: 4463 add r3, ip + 97f6: b21b sxth r3, r3 + 97f8: 9300 str r3, [sp, #0] + 97fa: 4653 mov r3, sl + 97fc: 9908 ldr r1, [sp, #32] + 97fe: a812 add r0, sp, #72 ; 0x48 + 9800: 4f42 ldr r7, [pc, #264] ; (990c ) + 9802: 47b8 blx r7 lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0, - 979c: 4643 mov r3, r8 - 979e: 466a mov r2, sp - 97a0: 8613 strh r3, [r2, #48] ; 0x30 - 97a2: 8e13 ldrh r3, [r2, #48] ; 0x30 - 97a4: 465a mov r2, fp - 97a6: 1ad2 subs r2, r2, r3 - 97a8: b212 sxth r2, r2 - 97aa: 2101 movs r1, #1 - 97ac: 9101 str r1, [sp, #4] - 97ae: 990b ldr r1, [sp, #44] ; 0x2c - 97b0: 1acb subs r3, r1, r3 - 97b2: b21b sxth r3, r3 - 97b4: 9300 str r3, [sp, #0] - 97b6: 4653 mov r3, sl - 97b8: 9908 ldr r1, [sp, #32] - 97ba: a81d add r0, sp, #116 ; 0x74 - 97bc: 47b8 blx r7 - 97be: e56a b.n 9296 + 9804: 4643 mov r3, r8 + 9806: 466a mov r2, sp + 9808: 8613 strh r3, [r2, #48] ; 0x30 + 980a: 8e13 ldrh r3, [r2, #48] ; 0x30 + 980c: 465a mov r2, fp + 980e: 1ad2 subs r2, r2, r3 + 9810: b212 sxth r2, r2 + 9812: 2101 movs r1, #1 + 9814: 9101 str r1, [sp, #4] + 9816: 990b ldr r1, [sp, #44] ; 0x2c + 9818: 1acb subs r3, r1, r3 + 981a: b21b sxth r3, r3 + 981c: 9300 str r3, [sp, #0] + 981e: 4653 mov r3, sl + 9820: 9908 ldr r1, [sp, #32] + 9822: a81d add r0, sp, #116 ; 0x74 + 9824: 47b8 blx r7 + 9826: e56a b.n 92fe lv_draw_mask_line_points_init(&mask_left_param, p1.x + w_half1, p1.y, p2.x + w_half1, p2.y, - 97c0: 466b mov r3, sp - 97c2: 8c1a ldrh r2, [r3, #32] - 97c4: 8d99 ldrh r1, [r3, #44] ; 0x2c - 97c6: 4653 mov r3, sl - 97c8: 4668 mov r0, sp - 97ca: 8583 strh r3, [r0, #44] ; 0x2c - 97cc: 8d83 ldrh r3, [r0, #44] ; 0x2c - 97ce: 469b mov fp, r3 - 97d0: 18cb adds r3, r1, r3 - 97d2: b21b sxth r3, r3 - 97d4: 920b str r2, [sp, #44] ; 0x2c - 97d6: 4694 mov ip, r2 - 97d8: 4461 add r1, ip - 97da: b209 sxth r1, r1 - 97dc: 2200 movs r2, #0 - 97de: 9201 str r2, [sp, #4] - 97e0: 9500 str r5, [sp, #0] - 97e2: 0032 movs r2, r6 - 97e4: a812 add r0, sp, #72 ; 0x48 - 97e6: 4f2f ldr r7, [pc, #188] ; (98a4 ) - 97e8: 47b8 blx r7 + 9828: 466b mov r3, sp + 982a: 8c1a ldrh r2, [r3, #32] + 982c: 8d99 ldrh r1, [r3, #44] ; 0x2c + 982e: 4653 mov r3, sl + 9830: 4668 mov r0, sp + 9832: 8583 strh r3, [r0, #44] ; 0x2c + 9834: 8d83 ldrh r3, [r0, #44] ; 0x2c + 9836: 469b mov fp, r3 + 9838: 18cb adds r3, r1, r3 + 983a: b21b sxth r3, r3 + 983c: 920b str r2, [sp, #44] ; 0x2c + 983e: 4694 mov ip, r2 + 9840: 4461 add r1, ip + 9842: b209 sxth r1, r1 + 9844: 2200 movs r2, #0 + 9846: 9201 str r2, [sp, #4] + 9848: 9500 str r5, [sp, #0] + 984a: 0032 movs r2, r6 + 984c: a812 add r0, sp, #72 ; 0x48 + 984e: 4f2f ldr r7, [pc, #188] ; (990c ) + 9850: 47b8 blx r7 lv_draw_mask_line_points_init(&mask_right_param, p1.x - w_half0, p1.y, p2.x - w_half0, p2.y, - 97ea: 4643 mov r3, r8 - 97ec: 466a mov r2, sp - 97ee: 8613 strh r3, [r2, #48] ; 0x30 - 97f0: 8e12 ldrh r2, [r2, #48] ; 0x30 - 97f2: 465b mov r3, fp - 97f4: 1a9b subs r3, r3, r2 - 97f6: b21b sxth r3, r3 - 97f8: 990b ldr r1, [sp, #44] ; 0x2c - 97fa: 1a8a subs r2, r1, r2 - 97fc: b211 sxth r1, r2 - 97fe: 2201 movs r2, #1 - 9800: 9201 str r2, [sp, #4] - 9802: 9500 str r5, [sp, #0] - 9804: 0032 movs r2, r6 - 9806: a81d add r0, sp, #116 ; 0x74 - 9808: 47b8 blx r7 - 980a: e544 b.n 9296 + 9852: 4643 mov r3, r8 + 9854: 466a mov r2, sp + 9856: 8613 strh r3, [r2, #48] ; 0x30 + 9858: 8e12 ldrh r2, [r2, #48] ; 0x30 + 985a: 465b mov r3, fp + 985c: 1a9b subs r3, r3, r2 + 985e: b21b sxth r3, r3 + 9860: 990b ldr r1, [sp, #44] ; 0x2c + 9862: 1a8a subs r2, r1, r2 + 9864: b211 sxth r1, r2 + 9866: 2201 movs r2, #1 + 9868: 9201 str r2, [sp, #4] + 986a: 9500 str r5, [sp, #0] + 986c: 0032 movs r2, r6 + 986e: a81d add r0, sp, #116 ; 0x74 + 9870: 47b8 blx r7 + 9872: e544 b.n 92fe lv_draw_mask_line_points_init(&mask_top_param, p1.x, p1.y, p1.x - ydiff, p1.y + xdiff, LV_DRAW_MASK_LINE_SIDE_BOTTOM); - 980c: 466b mov r3, sp - 980e: 8d1b ldrh r3, [r3, #40] ; 0x28 - 9810: 4699 mov r9, r3 - 9812: 466b mov r3, sp - 9814: 8c9b ldrh r3, [r3, #36] ; 0x24 - 9816: 4698 mov r8, r3 - 9818: 464b mov r3, r9 - 981a: 9908 ldr r1, [sp, #32] - 981c: 1acb subs r3, r1, r3 - 981e: b21b sxth r3, r3 - 9820: 2203 movs r2, #3 - 9822: 9201 str r2, [sp, #4] - 9824: 4642 mov r2, r8 - 9826: 1992 adds r2, r2, r6 - 9828: b212 sxth r2, r2 - 982a: 9200 str r2, [sp, #0] - 982c: 0032 movs r2, r6 - 982e: a828 add r0, sp, #160 ; 0xa0 - 9830: 4e1c ldr r6, [pc, #112] ; (98a4 ) - 9832: 47b0 blx r6 + 9874: 466b mov r3, sp + 9876: 8d1b ldrh r3, [r3, #40] ; 0x28 + 9878: 4699 mov r9, r3 + 987a: 466b mov r3, sp + 987c: 8c9b ldrh r3, [r3, #36] ; 0x24 + 987e: 4698 mov r8, r3 + 9880: 464b mov r3, r9 + 9882: 9908 ldr r1, [sp, #32] + 9884: 1acb subs r3, r1, r3 + 9886: b21b sxth r3, r3 + 9888: 2203 movs r2, #3 + 988a: 9201 str r2, [sp, #4] + 988c: 4642 mov r2, r8 + 988e: 1992 adds r2, r2, r6 + 9890: b212 sxth r2, r2 + 9892: 9200 str r2, [sp, #0] + 9894: 0032 movs r2, r6 + 9896: a828 add r0, sp, #160 ; 0xa0 + 9898: 4e1c ldr r6, [pc, #112] ; (990c ) + 989a: 47b0 blx r6 lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP); - 9834: 4653 mov r3, sl - 9836: 464a mov r2, r9 - 9838: 1a9b subs r3, r3, r2 - 983a: b21b sxth r3, r3 - 983c: 2202 movs r2, #2 - 983e: 9201 str r2, [sp, #4] - 9840: 4642 mov r2, r8 - 9842: 1952 adds r2, r2, r5 - 9844: b212 sxth r2, r2 - 9846: 9200 str r2, [sp, #0] - 9848: 002a movs r2, r5 - 984a: 4651 mov r1, sl - 984c: a833 add r0, sp, #204 ; 0xcc - 984e: 47b0 blx r6 + 989c: 4653 mov r3, sl + 989e: 464a mov r2, r9 + 98a0: 1a9b subs r3, r3, r2 + 98a2: b21b sxth r3, r3 + 98a4: 2202 movs r2, #2 + 98a6: 9201 str r2, [sp, #4] + 98a8: 4642 mov r2, r8 + 98aa: 1952 adds r2, r2, r5 + 98ac: b212 sxth r2, r2 + 98ae: 9200 str r2, [sp, #0] + 98b0: 002a movs r2, r5 + 98b2: 4651 mov r1, sl + 98b4: a833 add r0, sp, #204 ; 0xcc + 98b6: 47b0 blx r6 mask_top_id = lv_draw_mask_add(&mask_top_param, NULL); - 9850: 2100 movs r1, #0 - 9852: a828 add r0, sp, #160 ; 0xa0 - 9854: 4d14 ldr r5, [pc, #80] ; (98a8 ) - 9856: 47a8 blx r5 - 9858: 900a str r0, [sp, #40] ; 0x28 + 98b8: 2100 movs r1, #0 + 98ba: a828 add r0, sp, #160 ; 0xa0 + 98bc: 4d14 ldr r5, [pc, #80] ; (9910 ) + 98be: 47a8 blx r5 + 98c0: 900a str r0, [sp, #40] ; 0x28 mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL); - 985a: 2100 movs r1, #0 - 985c: a833 add r0, sp, #204 ; 0xcc - 985e: 47a8 blx r5 - 9860: 900d str r0, [sp, #52] ; 0x34 - 9862: e52a b.n 92ba + 98c2: 2100 movs r1, #0 + 98c4: a833 add r0, sp, #204 ; 0xcc + 98c6: 47a8 blx r5 + 98c8: 900d str r0, [sp, #52] ; 0x34 + 98ca: e52a b.n 9322 size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX); - 9864: a80e add r0, sp, #56 ; 0x38 - 9866: 4b11 ldr r3, [pc, #68] ; (98ac ) - 9868: 4798 blx r3 - 986a: 4683 mov fp, r0 - 986c: e549 b.n 9302 + 98cc: a80e add r0, sp, #56 ; 0x38 + 98ce: 4b11 ldr r3, [pc, #68] ; (9914 ) + 98d0: 4798 blx r3 + 98d2: 4683 mov fp, r0 + 98d4: e549 b.n 936a _lv_memset_00(&mask_buf[mask_p], draw_area_w); - 986e: 0029 movs r1, r5 - 9870: 9808 ldr r0, [sp, #32] - 9872: 4b0f ldr r3, [pc, #60] ; (98b0 ) - 9874: 4798 blx r3 - 9876: e04c b.n 9912 - 9878: 00005c05 .word 0x00005c05 - 987c: 00010b6d .word 0x00010b6d - 9880: 00004349 .word 0x00004349 - 9884: 0000f6a1 .word 0x0000f6a1 - 9888: 0000a659 .word 0x0000a659 - 988c: 0000fba7 .word 0x0000fba7 - 9890: 00010e59 .word 0x00010e59 - 9894: 00017c41 .word 0x00017c41 - 9898: 00011089 .word 0x00011089 - 989c: 0000a5bd .word 0x0000a5bd - 98a0: 00017a75 .word 0x00017a75 - 98a4: 0000a67d .word 0x0000a67d - 98a8: 0000a585 .word 0x0000a585 - 98ac: 0000fb8b .word 0x0000fb8b - 98b0: 00010fe5 .word 0x00010fe5 + 98d6: 0029 movs r1, r5 + 98d8: 9808 ldr r0, [sp, #32] + 98da: 4b0f ldr r3, [pc, #60] ; (9918 ) + 98dc: 4798 blx r3 + 98de: e04c b.n 997a + 98e0: 00005c6d .word 0x00005c6d + 98e4: 00010bd5 .word 0x00010bd5 + 98e8: 000043b1 .word 0x000043b1 + 98ec: 0000f709 .word 0x0000f709 + 98f0: 0000a6c1 .word 0x0000a6c1 + 98f4: 0000fc0f .word 0x0000fc0f + 98f8: 00010ec1 .word 0x00010ec1 + 98fc: 00017cd1 .word 0x00017cd1 + 9900: 000110f1 .word 0x000110f1 + 9904: 0000a625 .word 0x0000a625 + 9908: 00017b05 .word 0x00017b05 + 990c: 0000a6e5 .word 0x0000a6e5 + 9910: 0000a5ed .word 0x0000a5ed + 9914: 0000fbf3 .word 0x0000fbf3 + 9918: 0001104d .word 0x0001104d _lv_blend_fill(&fill_area, clip, - 98b4: 4643 mov r3, r8 - 98b6: 881a ldrh r2, [r3, #0] + 991c: 4643 mov r3, r8 + 991e: 881a ldrh r2, [r3, #0] dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa, dsc->blend_mode); - 98b8: 7a5b ldrb r3, [r3, #9] - 98ba: 079b lsls r3, r3, #30 + 9920: 7a5b ldrb r3, [r3, #9] + 9922: 079b lsls r3, r3, #30 _lv_blend_fill(&fill_area, clip, - 98bc: 0f9b lsrs r3, r3, #30 - 98be: 9302 str r3, [sp, #8] - 98c0: 4643 mov r3, r8 - 98c2: 7a1b ldrb r3, [r3, #8] - 98c4: 9301 str r3, [sp, #4] - 98c6: 2302 movs r3, #2 - 98c8: 9300 str r3, [sp, #0] - 98ca: 0023 movs r3, r4 - 98cc: a948 add r1, sp, #288 ; 0x120 - 98ce: a810 add r0, sp, #64 ; 0x40 - 98d0: 4f4d ldr r7, [pc, #308] ; (9a08 ) - 98d2: 47b8 blx r7 + 9924: 0f9b lsrs r3, r3, #30 + 9926: 9302 str r3, [sp, #8] + 9928: 4643 mov r3, r8 + 992a: 7a1b ldrb r3, [r3, #8] + 992c: 9301 str r3, [sp, #4] + 992e: 2302 movs r3, #2 + 9930: 9300 str r3, [sp, #0] + 9932: 0023 movs r3, r4 + 9934: a948 add r1, sp, #288 ; 0x120 + 9936: a810 add r0, sp, #64 ; 0x40 + 9938: 4f4d ldr r7, [pc, #308] ; (9a70 ) + 993a: 47b8 blx r7 fill_area.y1 = fill_area.y2 + 1; - 98d4: ab0a add r3, sp, #40 ; 0x28 - 98d6: 8bdb ldrh r3, [r3, #30] - 98d8: 3301 adds r3, #1 - 98da: b21b sxth r3, r3 - 98dc: aa0a add r2, sp, #40 ; 0x28 - 98de: 8353 strh r3, [r2, #26] + 993c: ab0a add r3, sp, #40 ; 0x28 + 993e: 8bdb ldrh r3, [r3, #30] + 9940: 3301 adds r3, #1 + 9942: b21b sxth r3, r3 + 9944: aa0a add r2, sp, #40 ; 0x28 + 9946: 8353 strh r3, [r2, #26] fill_area.y2 = fill_area.y1; - 98e0: 83d3 strh r3, [r2, #30] + 9948: 83d3 strh r3, [r2, #30] mask_p = 0; _lv_memset_ff(mask_buf, mask_buf_size); - 98e2: 4659 mov r1, fp - 98e4: 0020 movs r0, r4 - 98e6: 4b49 ldr r3, [pc, #292] ; (9a0c ) - 98e8: 4798 blx r3 + 994a: 4659 mov r1, fp + 994c: 0020 movs r0, r4 + 994e: 4b49 ldr r3, [pc, #292] ; (9a74 ) + 9950: 4798 blx r3 mask_p = 0; - 98ea: 2700 movs r7, #0 + 9952: 2700 movs r7, #0 for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) { - 98ec: 3601 adds r6, #1 - 98ee: ab0e add r3, sp, #56 ; 0x38 - 98f0: 2206 movs r2, #6 - 98f2: 5e9b ldrsh r3, [r3, r2] - 98f4: 464a mov r2, r9 - 98f6: 2112 movs r1, #18 - 98f8: 5e52 ldrsh r2, [r2, r1] - 98fa: 189b adds r3, r3, r2 - 98fc: 429e cmp r6, r3 - 98fe: dc11 bgt.n 9924 + 9954: 3601 adds r6, #1 + 9956: ab0e add r3, sp, #56 ; 0x38 + 9958: 2206 movs r2, #6 + 995a: 5e9b ldrsh r3, [r3, r2] + 995c: 464a mov r2, r9 + 995e: 2112 movs r1, #18 + 9960: 5e52 ldrsh r2, [r2, r1] + 9962: 189b adds r3, r3, r2 + 9964: 429e cmp r6, r3 + 9966: dc11 bgt.n 998c lv_draw_mask_res_t mask_res = lv_draw_mask_apply(&mask_buf[mask_p], x, h, draw_area_w); - 9900: 19e3 adds r3, r4, r7 - 9902: 0018 movs r0, r3 - 9904: 9308 str r3, [sp, #32] - 9906: b232 sxth r2, r6 - 9908: 002b movs r3, r5 - 990a: 9909 ldr r1, [sp, #36] ; 0x24 - 990c: 47d0 blx sl + 9968: 19e3 adds r3, r4, r7 + 996a: 0018 movs r0, r3 + 996c: 9308 str r3, [sp, #32] + 996e: b232 sxth r2, r6 + 9970: 002b movs r3, r5 + 9972: 9909 ldr r1, [sp, #36] ; 0x24 + 9974: 47d0 blx sl if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - 990e: 2800 cmp r0, #0 - 9910: d0ad beq.n 986e + 9976: 2800 cmp r0, #0 + 9978: d0ad beq.n 98d6 mask_p += draw_area_w; - 9912: 197f adds r7, r7, r5 + 997a: 197f adds r7, r7, r5 if((uint32_t) mask_p + draw_area_w < mask_buf_size) { - 9914: 19eb adds r3, r5, r7 - 9916: 459b cmp fp, r3 - 9918: d9cc bls.n 98b4 + 997c: 19eb adds r3, r5, r7 + 997e: 459b cmp fp, r3 + 9980: d9cc bls.n 991c fill_area.y2 ++; - 991a: aa10 add r2, sp, #64 ; 0x40 - 991c: 88d3 ldrh r3, [r2, #6] - 991e: 3301 adds r3, #1 - 9920: 80d3 strh r3, [r2, #6] - 9922: e7e3 b.n 98ec - 9924: 4643 mov r3, r8 - 9926: 46a0 mov r8, r4 - 9928: 001c movs r4, r3 + 9982: aa10 add r2, sp, #64 ; 0x40 + 9984: 88d3 ldrh r3, [r2, #6] + 9986: 3301 adds r3, #1 + 9988: 80d3 strh r3, [r2, #6] + 998a: e7e3 b.n 9954 + 998c: 4643 mov r3, r8 + 998e: 46a0 mov r8, r4 + 9990: 001c movs r4, r3 } } /*Flush the last part*/ if(fill_area.y1 != fill_area.y2) { - 992a: aa10 add r2, sp, #64 ; 0x40 - 992c: 2106 movs r1, #6 - 992e: 5e53 ldrsh r3, [r2, r1] - 9930: 2102 movs r1, #2 - 9932: 5e52 ldrsh r2, [r2, r1] - 9934: 429a cmp r2, r3 - 9936: d00f beq.n 9958 + 9992: aa10 add r2, sp, #64 ; 0x40 + 9994: 2106 movs r1, #6 + 9996: 5e53 ldrsh r3, [r2, r1] + 9998: 2102 movs r1, #2 + 999a: 5e52 ldrsh r2, [r2, r1] + 999c: 429a cmp r2, r3 + 999e: d00f beq.n 99c0 fill_area.y2--; - 9938: a810 add r0, sp, #64 ; 0x40 - 993a: 3b01 subs r3, #1 - 993c: 80c3 strh r3, [r0, #6] + 99a0: a810 add r0, sp, #64 ; 0x40 + 99a2: 3b01 subs r3, #1 + 99a4: 80c3 strh r3, [r0, #6] _lv_blend_fill(&fill_area, clip, - 993e: 8822 ldrh r2, [r4, #0] + 99a6: 8822 ldrh r2, [r4, #0] dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa, dsc->blend_mode); - 9940: 7a63 ldrb r3, [r4, #9] - 9942: 079b lsls r3, r3, #30 + 99a8: 7a63 ldrb r3, [r4, #9] + 99aa: 079b lsls r3, r3, #30 _lv_blend_fill(&fill_area, clip, - 9944: 0f9b lsrs r3, r3, #30 - 9946: 9302 str r3, [sp, #8] - 9948: 7a23 ldrb r3, [r4, #8] - 994a: 9301 str r3, [sp, #4] - 994c: 2302 movs r3, #2 - 994e: 9300 str r3, [sp, #0] - 9950: 4643 mov r3, r8 - 9952: a948 add r1, sp, #288 ; 0x120 - 9954: 4d2c ldr r5, [pc, #176] ; (9a08 ) - 9956: 47a8 blx r5 + 99ac: 0f9b lsrs r3, r3, #30 + 99ae: 9302 str r3, [sp, #8] + 99b0: 7a23 ldrb r3, [r4, #8] + 99b2: 9301 str r3, [sp, #4] + 99b4: 2302 movs r3, #2 + 99b6: 9300 str r3, [sp, #0] + 99b8: 4643 mov r3, r8 + 99ba: a948 add r1, sp, #288 ; 0x120 + 99bc: 4d2c ldr r5, [pc, #176] ; (9a70 ) + 99be: 47a8 blx r5 } _lv_mem_buf_release(mask_buf); - 9958: 4640 mov r0, r8 - 995a: 4b2d ldr r3, [pc, #180] ; (9a10 ) - 995c: 4798 blx r3 + 99c0: 4640 mov r0, r8 + 99c2: 4b2d ldr r3, [pc, #180] ; (9a78 ) + 99c4: 4798 blx r3 lv_draw_mask_remove_id(mask_left_id); - 995e: 980b ldr r0, [sp, #44] ; 0x2c - 9960: 4d2c ldr r5, [pc, #176] ; (9a14 ) - 9962: 47a8 blx r5 + 99c6: 980b ldr r0, [sp, #44] ; 0x2c + 99c8: 4d2c ldr r5, [pc, #176] ; (9a7c ) + 99ca: 47a8 blx r5 lv_draw_mask_remove_id(mask_right_id); - 9964: 980c ldr r0, [sp, #48] ; 0x30 - 9966: 47a8 blx r5 + 99cc: 980c ldr r0, [sp, #48] ; 0x30 + 99ce: 47a8 blx r5 lv_draw_mask_remove_id(mask_top_id); - 9968: 980a ldr r0, [sp, #40] ; 0x28 - 996a: 47a8 blx r5 + 99d0: 980a ldr r0, [sp, #40] ; 0x28 + 99d2: 47a8 blx r5 lv_draw_mask_remove_id(mask_bottom_id); - 996c: 980d ldr r0, [sp, #52] ; 0x34 - 996e: 47a8 blx r5 + 99d4: 980d ldr r0, [sp, #52] ; 0x34 + 99d6: 47a8 blx r5 if(dsc->round_end || dsc->round_start) { - 9970: 7a63 ldrb r3, [r4, #9] - 9972: 220c movs r2, #12 - 9974: 421a tst r2, r3 - 9976: d106 bne.n 9986 -} - 9978: b04b add sp, #300 ; 0x12c - 997a: bc3c pop {r2, r3, r4, r5} - 997c: 4690 mov r8, r2 - 997e: 4699 mov r9, r3 - 9980: 46a2 mov sl, r4 - 9982: 46ab mov fp, r5 - 9984: bdf0 pop {r4, r5, r6, r7, pc} + 99d8: 7a63 ldrb r3, [r4, #9] + 99da: 220c movs r2, #12 + 99dc: 421a tst r2, r3 + 99de: d106 bne.n 99ee +} + 99e0: b04b add sp, #300 ; 0x12c + 99e2: bc3c pop {r2, r3, r4, r5} + 99e4: 4690 mov r8, r2 + 99e6: 4699 mov r9, r3 + 99e8: 46a2 mov sl, r4 + 99ea: 46ab mov fp, r5 + 99ec: bdf0 pop {r4, r5, r6, r7, pc} lv_draw_rect_dsc_init(&cir_dsc); - 9986: ad33 add r5, sp, #204 ; 0xcc - 9988: 0028 movs r0, r5 - 998a: 4b23 ldr r3, [pc, #140] ; (9a18 ) - 998c: 4798 blx r3 + 99ee: ad33 add r5, sp, #204 ; 0xcc + 99f0: 0028 movs r0, r5 + 99f2: 4b23 ldr r3, [pc, #140] ; (9a80 ) + 99f4: 4798 blx r3 cir_dsc.bg_color = dsc->color; - 998e: 8823 ldrh r3, [r4, #0] - 9990: 806b strh r3, [r5, #2] + 99f6: 8823 ldrh r3, [r4, #0] + 99f8: 806b strh r3, [r5, #2] cir_dsc.radius = LV_RADIUS_CIRCLE; - 9992: 4b22 ldr r3, [pc, #136] ; (9a1c ) - 9994: 802b strh r3, [r5, #0] + 99fa: 4b22 ldr r3, [pc, #136] ; (9a84 ) + 99fc: 802b strh r3, [r5, #0] cir_dsc.bg_opa = dsc->opa; - 9996: 7a23 ldrb r3, [r4, #8] - 9998: 732b strb r3, [r5, #12] + 99fe: 7a23 ldrb r3, [r4, #8] + 9a00: 732b strb r3, [r5, #12] int32_t r = (dsc->width >> 1); - 999a: 2202 movs r2, #2 - 999c: 5ea3 ldrsh r3, [r4, r2] - 999e: 105e asrs r6, r3, #1 + 9a02: 2202 movs r2, #2 + 9a04: 5ea3 ldrsh r3, [r4, r2] + 9a06: 105e asrs r6, r3, #1 int32_t r_corr = (dsc->width & 1) ? 0 : 1; - 99a0: 2201 movs r2, #1 - 99a2: 4053 eors r3, r2 - 99a4: 2501 movs r5, #1 - 99a6: 401d ands r5, r3 + 9a08: 2201 movs r2, #1 + 9a0a: 4053 eors r3, r2 + 9a0c: 2501 movs r5, #1 + 9a0e: 401d ands r5, r3 if(dsc->round_start) { - 99a8: 7a63 ldrb r3, [r4, #9] - 99aa: 075b lsls r3, r3, #29 - 99ac: d417 bmi.n 99de + 9a10: 7a63 ldrb r3, [r4, #9] + 9a12: 075b lsls r3, r3, #29 + 9a14: d417 bmi.n 9a46 if(dsc->round_end) { - 99ae: 7a63 ldrb r3, [r4, #9] - 99b0: 071b lsls r3, r3, #28 - 99b2: d5e1 bpl.n 9978 + 9a16: 7a63 ldrb r3, [r4, #9] + 9a18: 071b lsls r3, r3, #28 + 9a1a: d5e1 bpl.n 99e0 cir_area.x1 = point2->x - r; - 99b4: 9906 ldr r1, [sp, #24] - 99b6: 880a ldrh r2, [r1, #0] - 99b8: b2b6 uxth r6, r6 - 99ba: a828 add r0, sp, #160 ; 0xa0 - 99bc: 1b93 subs r3, r2, r6 - 99be: 8003 strh r3, [r0, #0] + 9a1c: 9906 ldr r1, [sp, #24] + 9a1e: 880a ldrh r2, [r1, #0] + 9a20: b2b6 uxth r6, r6 + 9a22: a828 add r0, sp, #160 ; 0xa0 + 9a24: 1b93 subs r3, r2, r6 + 9a26: 8003 strh r3, [r0, #0] cir_area.y1 = point2->y - r; - 99c0: 8849 ldrh r1, [r1, #2] - 99c2: 1b8b subs r3, r1, r6 - 99c4: 8043 strh r3, [r0, #2] + 9a28: 8849 ldrh r1, [r1, #2] + 9a2a: 1b8b subs r3, r1, r6 + 9a2c: 8043 strh r3, [r0, #2] cir_area.x2 = point2->x + r - r_corr; - 99c6: b2ad uxth r5, r5 - 99c8: 1992 adds r2, r2, r6 - 99ca: 1b52 subs r2, r2, r5 - 99cc: 8082 strh r2, [r0, #4] + 9a2e: b2ad uxth r5, r5 + 9a30: 1992 adds r2, r2, r6 + 9a32: 1b52 subs r2, r2, r5 + 9a34: 8082 strh r2, [r0, #4] cir_area.y2 = point2->y + r - r_corr ; - 99ce: 1876 adds r6, r6, r1 - 99d0: 1b76 subs r6, r6, r5 - 99d2: 80c6 strh r6, [r0, #6] + 9a36: 1876 adds r6, r6, r1 + 9a38: 1b76 subs r6, r6, r5 + 9a3a: 80c6 strh r6, [r0, #6] lv_draw_rect(&cir_area, clip, &cir_dsc); - 99d4: aa33 add r2, sp, #204 ; 0xcc - 99d6: 9907 ldr r1, [sp, #28] - 99d8: 4b11 ldr r3, [pc, #68] ; (9a20 ) - 99da: 4798 blx r3 - 99dc: e7cc b.n 9978 + 9a3c: aa33 add r2, sp, #204 ; 0xcc + 9a3e: 9907 ldr r1, [sp, #28] + 9a40: 4b11 ldr r3, [pc, #68] ; (9a88 ) + 9a42: 4798 blx r3 + 9a44: e7cc b.n 99e0 cir_area.x1 = point1->x - r; - 99de: 9f05 ldr r7, [sp, #20] - 99e0: 883a ldrh r2, [r7, #0] - 99e2: b2b3 uxth r3, r6 - 99e4: a828 add r0, sp, #160 ; 0xa0 - 99e6: 1ad1 subs r1, r2, r3 - 99e8: 8001 strh r1, [r0, #0] + 9a46: 9f05 ldr r7, [sp, #20] + 9a48: 883a ldrh r2, [r7, #0] + 9a4a: b2b3 uxth r3, r6 + 9a4c: a828 add r0, sp, #160 ; 0xa0 + 9a4e: 1ad1 subs r1, r2, r3 + 9a50: 8001 strh r1, [r0, #0] cir_area.y1 = point1->y - r; - 99ea: 887f ldrh r7, [r7, #2] - 99ec: 1af9 subs r1, r7, r3 - 99ee: 8041 strh r1, [r0, #2] + 9a52: 887f ldrh r7, [r7, #2] + 9a54: 1af9 subs r1, r7, r3 + 9a56: 8041 strh r1, [r0, #2] cir_area.x2 = point1->x + r - r_corr; - 99f0: b2a9 uxth r1, r5 - 99f2: 18d2 adds r2, r2, r3 - 99f4: 1a52 subs r2, r2, r1 - 99f6: 8082 strh r2, [r0, #4] + 9a58: b2a9 uxth r1, r5 + 9a5a: 18d2 adds r2, r2, r3 + 9a5c: 1a52 subs r2, r2, r1 + 9a5e: 8082 strh r2, [r0, #4] cir_area.y2 = point1->y + r - r_corr ; - 99f8: 19db adds r3, r3, r7 - 99fa: 1a5b subs r3, r3, r1 - 99fc: 80c3 strh r3, [r0, #6] + 9a60: 19db adds r3, r3, r7 + 9a62: 1a5b subs r3, r3, r1 + 9a64: 80c3 strh r3, [r0, #6] lv_draw_rect(&cir_area, clip, &cir_dsc); - 99fe: aa33 add r2, sp, #204 ; 0xcc - 9a00: 9907 ldr r1, [sp, #28] - 9a02: 4b07 ldr r3, [pc, #28] ; (9a20 ) - 9a04: 4798 blx r3 - 9a06: e7d2 b.n 99ae - 9a08: 00005c05 .word 0x00005c05 - 9a0c: 00011089 .word 0x00011089 - 9a10: 00010b6d .word 0x00010b6d - 9a14: 0000a611 .word 0x0000a611 - 9a18: 0000aab9 .word 0x0000aab9 - 9a1c: 00007fff .word 0x00007fff - 9a20: 0000ab5d .word 0x0000ab5d - -00009a24 : + 9a66: aa33 add r2, sp, #204 ; 0xcc + 9a68: 9907 ldr r1, [sp, #28] + 9a6a: 4b07 ldr r3, [pc, #28] ; (9a88 ) + 9a6c: 4798 blx r3 + 9a6e: e7d2 b.n 9a16 + 9a70: 00005c6d .word 0x00005c6d + 9a74: 000110f1 .word 0x000110f1 + 9a78: 00010bd5 .word 0x00010bd5 + 9a7c: 0000a679 .word 0x0000a679 + 9a80: 0000ab21 .word 0x0000ab21 + 9a84: 00007fff .word 0x00007fff + 9a88: 0000abc5 .word 0x0000abc5 + +00009a8c : **********************/ LV_ATTRIBUTE_FAST_MEM static lv_draw_mask_res_t lv_draw_mask_line(lv_opa_t * mask_buf, lv_coord_t abs_x, lv_coord_t abs_y, lv_coord_t len, lv_draw_mask_line_param_t * p) { - 9a24: b5f8 push {r3, r4, r5, r6, r7, lr} - 9a26: 46de mov lr, fp - 9a28: 4657 mov r7, sl - 9a2a: 464e mov r6, r9 - 9a2c: 4645 mov r5, r8 - 9a2e: b5e0 push {r5, r6, r7, lr} - 9a30: 9c0a ldr r4, [sp, #40] ; 0x28 + 9a8c: b5f8 push {r3, r4, r5, r6, r7, lr} + 9a8e: 46de mov lr, fp + 9a90: 4657 mov r7, sl + 9a92: 464e mov r6, r9 + 9a94: 4645 mov r5, r8 + 9a96: b5e0 push {r5, r6, r7, lr} + 9a98: 9c0a ldr r4, [sp, #40] ; 0x28 /*Make to points relative to the vertex*/ abs_y -= p->origo.y; - 9a32: 8aa5 ldrh r5, [r4, #20] - 9a34: 1b52 subs r2, r2, r5 - 9a36: b212 sxth r2, r2 + 9a9a: 8aa5 ldrh r5, [r4, #20] + 9a9c: 1b52 subs r2, r2, r5 + 9a9e: b212 sxth r2, r2 abs_x -= p->origo.x; - 9a38: 8a65 ldrh r5, [r4, #18] - 9a3a: 1b4d subs r5, r1, r5 - 9a3c: b22d sxth r5, r5 + 9aa0: 8a65 ldrh r5, [r4, #18] + 9aa2: 1b4d subs r5, r1, r5 + 9aa4: b22d sxth r5, r5 /*Handle special cases*/ if(p->steep == 0) { - 9a3e: 6a21 ldr r1, [r4, #32] - 9a40: 2900 cmp r1, #0 - 9a42: d140 bne.n 9ac6 + 9aa6: 6a21 ldr r1, [r4, #32] + 9aa8: 2900 cmp r1, #0 + 9aaa: d140 bne.n 9b2e /*Horizontal*/ if(p->flat) { - 9a44: 3128 adds r1, #40 ; 0x28 - 9a46: 5c61 ldrb r1, [r4, r1] - 9a48: 07c9 lsls r1, r1, #31 - 9a4a: d511 bpl.n 9a70 + 9aac: 3128 adds r1, #40 ; 0x28 + 9aae: 5c61 ldrb r1, [r4, r1] + 9ab0: 07c9 lsls r1, r1, #31 + 9ab2: d511 bpl.n 9ad8 /*Non sense: Can't be on the right/left of a horizontal line*/ if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT || - 9a4c: 7c21 ldrb r1, [r4, #16] - 9a4e: 2303 movs r3, #3 - 9a50: 400b ands r3, r1 - 9a52: 2b01 cmp r3, #1 - 9a54: d800 bhi.n 9a58 - 9a56: e1c5 b.n 9de4 + 9ab4: 7c21 ldrb r1, [r4, #16] + 9ab6: 2303 movs r3, #3 + 9ab8: 400b ands r3, r1 + 9aba: 2b01 cmp r3, #1 + 9abc: d800 bhi.n 9ac0 + 9abe: e1c5 b.n 9e4c p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER; - 9a58: 2b02 cmp r3, #2 - 9a5a: d006 beq.n 9a6a + 9ac0: 2b02 cmp r3, #2 + 9ac2: d006 beq.n 9ad2 else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM && abs_y > 0) return LV_DRAW_MASK_RES_FULL_COVER; else { return LV_DRAW_MASK_RES_TRANSP; - 9a5c: 2400 movs r4, #0 + 9ac4: 2400 movs r4, #0 else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM && abs_y > 0) return LV_DRAW_MASK_RES_FULL_COVER; - 9a5e: 2b03 cmp r3, #3 - 9a60: d145 bne.n 9aee - 9a62: 17d4 asrs r4, r2, #31 - 9a64: 1aa4 subs r4, r4, r2 + 9ac6: 2b03 cmp r3, #3 + 9ac8: d145 bne.n 9b56 + 9aca: 17d4 asrs r4, r2, #31 + 9acc: 1aa4 subs r4, r4, r2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9a66: 0fe4 lsrs r4, r4, #31 - 9a68: e041 b.n 9aee + 9ace: 0fe4 lsrs r4, r4, #31 + 9ad0: e041 b.n 9b56 else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER; - 9a6a: 3201 adds r2, #1 + 9ad2: 3201 adds r2, #1 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9a6c: 0fd4 lsrs r4, r2, #31 - 9a6e: e03e b.n 9aee + 9ad4: 0fd4 lsrs r4, r2, #31 + 9ad6: e03e b.n 9b56 } } /*Vertical*/ else { /*Non sense: Can't be on the top/bottom of a vertical line*/ if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP || - 9a70: 7c21 ldrb r1, [r4, #16] - 9a72: 2203 movs r2, #3 - 9a74: 400a ands r2, r1 - 9a76: 1e91 subs r1, r2, #2 - 9a78: 2901 cmp r1, #1 - 9a7a: d800 bhi.n 9a7e - 9a7c: e1b4 b.n 9de8 + 9ad8: 7c21 ldrb r1, [r4, #16] + 9ada: 2203 movs r2, #3 + 9adc: 400a ands r2, r1 + 9ade: 1e91 subs r1, r2, #2 + 9ae0: 2901 cmp r1, #1 + 9ae2: d800 bhi.n 9ae6 + 9ae4: e1b4 b.n 9e50 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER; else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER; - 9a7e: 2a01 cmp r2, #1 - 9a80: d00f beq.n 9aa2 + 9ae6: 2a01 cmp r2, #1 + 9ae8: d00f beq.n 9b0a else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) { - 9a82: 2a00 cmp r2, #0 - 9a84: d110 bne.n 9aa8 + 9aea: 2a00 cmp r2, #0 + 9aec: d110 bne.n 9b10 if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER; - 9a86: 18e9 adds r1, r5, r3 - 9a88: d500 bpl.n 9a8c - 9a8a: e1af b.n 9dec + 9aee: 18e9 adds r1, r5, r3 + 9af0: d500 bpl.n 9af4 + 9af2: e1af b.n 9e54 else { int32_t k = - abs_x; - 9a8c: 426d negs r5, r5 + 9af4: 426d negs r5, r5 if(k < 0) return LV_DRAW_MASK_RES_TRANSP; - 9a8e: 2d00 cmp r5, #0 - 9a90: da00 bge.n 9a94 - 9a92: e1ad b.n 9df0 + 9af6: 2d00 cmp r5, #0 + 9af8: da00 bge.n 9afc + 9afa: e1ad b.n 9e58 if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k); return LV_DRAW_MASK_RES_CHANGED; - 9a94: 2402 movs r4, #2 + 9afc: 2402 movs r4, #2 if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k); - 9a96: 42ab cmp r3, r5 - 9a98: dd29 ble.n 9aee - 9a9a: 1940 adds r0, r0, r5 - 9a9c: 4bbd ldr r3, [pc, #756] ; (9d94 ) - 9a9e: 4798 blx r3 - 9aa0: e025 b.n 9aee + 9afe: 42ab cmp r3, r5 + 9b00: dd29 ble.n 9b56 + 9b02: 1940 adds r0, r0, r5 + 9b04: 4bbd ldr r3, [pc, #756] ; (9dfc ) + 9b06: 4798 blx r3 + 9b08: e025 b.n 9b56 else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER; - 9aa2: 2401 movs r4, #1 - 9aa4: 2d00 cmp r5, #0 - 9aa6: dc22 bgt.n 9aee + 9b0a: 2401 movs r4, #1 + 9b0c: 2d00 cmp r5, #0 + 9b0e: dc22 bgt.n 9b56 } } else { if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP; - 9aa8: 001a movs r2, r3 - 9aaa: 42dd cmn r5, r3 - 9aac: d500 bpl.n 9ab0 - 9aae: e1a1 b.n 9df4 + 9b10: 001a movs r2, r3 + 9b12: 42dd cmn r5, r3 + 9b14: d500 bpl.n 9b18 + 9b16: e1a1 b.n 9e5c else { int32_t k = - abs_x; - 9ab0: 4269 negs r1, r5 - 9ab2: 43cb mvns r3, r1 - 9ab4: 17db asrs r3, r3, #31 - 9ab6: 4019 ands r1, r3 + 9b18: 4269 negs r1, r5 + 9b1a: 43cb mvns r3, r1 + 9b1c: 17db asrs r3, r3, #31 + 9b1e: 4019 ands r1, r3 if(k < 0) k = 0; if(k >= len) return LV_DRAW_MASK_RES_TRANSP; - 9ab8: 2400 movs r4, #0 - 9aba: 428a cmp r2, r1 - 9abc: dd17 ble.n 9aee + 9b20: 2400 movs r4, #0 + 9b22: 428a cmp r2, r1 + 9b24: dd17 ble.n 9b56 else if(k >= 0 && k < len) _lv_memset_00(&mask_buf[0], k); - 9abe: 4bb5 ldr r3, [pc, #724] ; (9d94 ) - 9ac0: 4798 blx r3 + 9b26: 4bb5 ldr r3, [pc, #724] ; (9dfc ) + 9b28: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - 9ac2: 3402 adds r4, #2 - 9ac4: e013 b.n 9aee + 9b2a: 3402 adds r4, #2 + 9b2c: e013 b.n 9b56 } } } lv_draw_mask_res_t res; if(p->flat) { - 9ac6: 2128 movs r1, #40 ; 0x28 - 9ac8: 5c61 ldrb r1, [r4, r1] - 9aca: 468b mov fp, r1 - 9acc: 07c9 lsls r1, r1, #31 - 9ace: d415 bmi.n 9afc + 9b2e: 2128 movs r1, #40 ; 0x28 + 9b30: 5c61 ldrb r1, [r4, r1] + 9b32: 468b mov fp, r1 + 9b34: 07c9 lsls r1, r1, #31 + 9b36: d415 bmi.n 9b64 { int32_t k; int32_t x_at_y; /* At the beginning of the mask if the limit line is greater then the mask's y. * Then the mask is in the "wrong" area*/ x_at_y = (int32_t)((int32_t)p->xy_steep * abs_y) >> 10; - 9ad0: 69a7 ldr r7, [r4, #24] - 9ad2: 0011 movs r1, r2 - 9ad4: 4379 muls r1, r7 - 9ad6: 1289 asrs r1, r1, #10 - 9ad8: 468c mov ip, r1 + 9b38: 69a7 ldr r7, [r4, #24] + 9b3a: 0011 movs r1, r2 + 9b3c: 4379 muls r1, r7 + 9b3e: 1289 asrs r1, r1, #10 + 9b40: 468c mov ip, r1 if(p->xy_steep > 0) x_at_y++; - 9ada: 17f9 asrs r1, r7, #31 - 9adc: 1bc9 subs r1, r1, r7 - 9ade: 0fc9 lsrs r1, r1, #31 - 9ae0: 4461 add r1, ip + 9b42: 17f9 asrs r1, r7, #31 + 9b44: 1bc9 subs r1, r1, r7 + 9b46: 0fc9 lsrs r1, r1, #31 + 9b48: 4461 add r1, ip if(x_at_y < abs_x) { - 9ae2: 428d cmp r5, r1 - 9ae4: dc00 bgt.n 9ae8 - 9ae6: e096 b.n 9c16 + 9b4a: 428d cmp r5, r1 + 9b4c: dc00 bgt.n 9b50 + 9b4e: e096 b.n 9c7e if(p->inv) { - 9ae8: 465b mov r3, fp - 9aea: 079c lsls r4, r3, #30 + 9b50: 465b mov r3, fp + 9b52: 079c lsls r4, r3, #30 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9aec: 0fe4 lsrs r4, r4, #31 -} - 9aee: 0020 movs r0, r4 - 9af0: bc3c pop {r2, r3, r4, r5} - 9af2: 4690 mov r8, r2 - 9af4: 4699 mov r9, r3 - 9af6: 46a2 mov sl, r4 - 9af8: 46ab mov fp, r5 - 9afa: bdf8 pop {r3, r4, r5, r6, r7, pc} + 9b54: 0fe4 lsrs r4, r4, #31 +} + 9b56: 0020 movs r0, r4 + 9b58: bc3c pop {r2, r3, r4, r5} + 9b5a: 4690 mov r8, r2 + 9b5c: 4699 mov r9, r3 + 9b5e: 46a2 mov sl, r4 + 9b60: 46ab mov fp, r5 + 9b62: bdf8 pop {r3, r4, r5, r6, r7, pc} y_at_x = (int32_t)((int32_t)p->yx_steep * abs_x) >> 10; - 9afc: 69e1 ldr r1, [r4, #28] - 9afe: 002f movs r7, r5 - 9b00: 434f muls r7, r1 - 9b02: 12bf asrs r7, r7, #10 + 9b64: 69e1 ldr r1, [r4, #28] + 9b66: 002f movs r7, r5 + 9b68: 434f muls r7, r1 + 9b6a: 12bf asrs r7, r7, #10 if(p->yx_steep > 0) { - 9b04: 2900 cmp r1, #0 - 9b06: dd06 ble.n 9b16 + 9b6c: 2900 cmp r1, #0 + 9b6e: dd06 ble.n 9b7e if(y_at_x > abs_y) { - 9b08: 4297 cmp r7, r2 - 9b0a: dc00 bgt.n 9b0e - 9b0c: e176 b.n 9dfc + 9b70: 4297 cmp r7, r2 + 9b72: dc00 bgt.n 9b76 + 9b74: e176 b.n 9e64 if(p->inv) { - 9b0e: 465b mov r3, fp - 9b10: 079c lsls r4, r3, #30 + 9b76: 465b mov r3, fp + 9b78: 079c lsls r4, r3, #30 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9b12: 0fe4 lsrs r4, r4, #31 - 9b14: e7eb b.n 9aee + 9b7a: 0fe4 lsrs r4, r4, #31 + 9b7c: e7eb b.n 9b56 if(y_at_x < abs_y) { - 9b16: 4297 cmp r7, r2 - 9b18: db00 blt.n 9b1c - 9b1a: e1ab b.n 9e74 + 9b7e: 4297 cmp r7, r2 + 9b80: db00 blt.n 9b84 + 9b82: e1ab b.n 9edc if(p->inv) { - 9b1c: 465b mov r3, fp - 9b1e: 079c lsls r4, r3, #30 + 9b84: 465b mov r3, fp + 9b86: 079c lsls r4, r3, #30 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9b20: 0fe4 lsrs r4, r4, #31 - 9b22: e7e4 b.n 9aee + 9b88: 0fe4 lsrs r4, r4, #31 + 9b8a: e7e4 b.n 9b56 if(p->inv) { - 9b24: 465b mov r3, fp - 9b26: 085e lsrs r6, r3, #1 - 9b28: 2401 movs r4, #1 - 9b2a: 4066 eors r6, r4 + 9b8c: 465b mov r3, fp + 9b8e: 085e lsrs r6, r3, #1 + 9b90: 2401 movs r4, #1 + 9b92: 4066 eors r6, r4 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9b2c: 2401 movs r4, #1 - 9b2e: 4034 ands r4, r6 - 9b30: e7dd b.n 9aee + 9b94: 2401 movs r4, #1 + 9b96: 4034 ands r4, r6 + 9b98: e7dd b.n 9b56 if(p->inv) { - 9b32: 465b mov r3, fp - 9b34: 085e lsrs r6, r3, #1 - 9b36: 2401 movs r4, #1 - 9b38: 4066 eors r6, r4 + 9b9a: 465b mov r3, fp + 9b9c: 085e lsrs r6, r3, #1 + 9b9e: 2401 movs r4, #1 + 9ba0: 4066 eors r6, r4 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9b3a: 2401 movs r4, #1 - 9b3c: 4034 ands r4, r6 - 9b3e: e7d6 b.n 9aee + 9ba2: 2401 movs r4, #1 + 9ba4: 4034 ands r4, r6 + 9ba6: e7d6 b.n 9b56 LV_ATTRIBUTE_FAST_MEM static inline lv_opa_t mask_mix(lv_opa_t mask_act, lv_opa_t mask_new) { if(mask_new >= LV_OPA_MAX) return mask_act; if(mask_new <= LV_OPA_MIN) return 0; - 9b40: 2100 movs r1, #0 - 9b42: e190 b.n 9e66 - 9b44: 2100 movs r1, #0 + 9ba8: 2100 movs r1, #0 + 9baa: e190 b.n 9ece + 9bac: 2100 movs r1, #0 mask_buf[k] = mask_mix(mask_buf[k], m); - 9b46: 464b mov r3, r9 - 9b48: 54c1 strb r1, [r0, r3] + 9bae: 464b mov r3, r9 + 9bb0: 54c1 strb r1, [r0, r3] px_h -= p->spx; - 9b4a: 6a63 ldr r3, [r4, #36] ; 0x24 - 9b4c: 1ad2 subs r2, r2, r3 + 9bb2: 6a63 ldr r3, [r4, #36] ; 0x24 + 9bb4: 1ad2 subs r2, r2, r3 k++; - 9b4e: 3501 adds r5, #1 + 9bb6: 3501 adds r5, #1 if(k >= len) break; - 9b50: 42bd cmp r5, r7 - 9b52: da43 bge.n 9bdc + 9bb8: 42bd cmp r5, r7 + 9bba: da43 bge.n 9c44 while(px_h > p->spx) { - 9b54: 6a63 ldr r3, [r4, #36] ; 0x24 - 9b56: 429a cmp r2, r3 - 9b58: dd1a ble.n 9b90 + 9bbc: 6a63 ldr r3, [r4, #36] ; 0x24 + 9bbe: 429a cmp r2, r3 + 9bc0: dd1a ble.n 9bf8 if(k >= 0 && k < len) { - 9b5a: 2d00 cmp r5, #0 - 9b5c: dbf5 blt.n 9b4a - 9b5e: 42bd cmp r5, r7 - 9b60: daf3 bge.n 9b4a + 9bc2: 2d00 cmp r5, #0 + 9bc4: dbf5 blt.n 9bb2 + 9bc6: 42bd cmp r5, r7 + 9bc8: daf3 bge.n 9bb2 m = px_h - (p->spx >> 1); - 9b62: 105b asrs r3, r3, #1 - 9b64: 1ad3 subs r3, r2, r3 - 9b66: b2db uxtb r3, r3 + 9bca: 105b asrs r3, r3, #1 + 9bcc: 1ad3 subs r3, r2, r3 + 9bce: b2db uxtb r3, r3 if(p->inv) m = 255 - m; - 9b68: 4641 mov r1, r8 - 9b6a: 5c61 ldrb r1, [r4, r1] - 9b6c: 420e tst r6, r1 - 9b6e: d001 beq.n 9b74 - 9b70: 43db mvns r3, r3 - 9b72: b2db uxtb r3, r3 - 9b74: 46a9 mov r9, r5 + 9bd0: 4641 mov r1, r8 + 9bd2: 5c61 ldrb r1, [r4, r1] + 9bd4: 420e tst r6, r1 + 9bd6: d001 beq.n 9bdc + 9bd8: 43db mvns r3, r3 + 9bda: b2db uxtb r3, r3 + 9bdc: 46a9 mov r9, r5 mask_buf[k] = mask_mix(mask_buf[k], m); - 9b76: 5d41 ldrb r1, [r0, r5] + 9bde: 5d41 ldrb r1, [r0, r5] if(mask_new >= LV_OPA_MAX) return mask_act; - 9b78: 2bf9 cmp r3, #249 ; 0xf9 - 9b7a: d8e4 bhi.n 9b46 + 9be0: 2bf9 cmp r3, #249 ; 0xf9 + 9be2: d8e4 bhi.n 9bae if(mask_new <= LV_OPA_MIN) return 0; - 9b7c: 2b05 cmp r3, #5 - 9b7e: d9e1 bls.n 9b44 + 9be4: 2b05 cmp r3, #5 + 9be6: d9e1 bls.n 9bac return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9b80: 434b muls r3, r1 - 9b82: 0219 lsls r1, r3, #8 - 9b84: 18c9 adds r1, r1, r3 - 9b86: 01c9 lsls r1, r1, #7 - 9b88: 18cb adds r3, r1, r3 - 9b8a: 0ddb lsrs r3, r3, #23 - 9b8c: b2d9 uxtb r1, r3 - 9b8e: e7da b.n 9b46 + 9be8: 434b muls r3, r1 + 9bea: 0219 lsls r1, r3, #8 + 9bec: 18c9 adds r1, r1, r3 + 9bee: 01c9 lsls r1, r1, #7 + 9bf0: 18cb adds r3, r1, r3 + 9bf2: 0ddb lsrs r3, r3, #23 + 9bf4: b2d9 uxtb r1, r3 + 9bf6: e7da b.n 9bae if(k < len && k >= 0) { - 9b90: 42bd cmp r5, r7 - 9b92: da23 bge.n 9bdc - 9b94: 2d00 cmp r5, #0 - 9b96: db21 blt.n 9bdc + 9bf8: 42bd cmp r5, r7 + 9bfa: da23 bge.n 9c44 + 9bfc: 2d00 cmp r5, #0 + 9bfe: db21 blt.n 9c44 int32_t x_inters = (px_h * p->xy_steep) >> 10; - 9b98: 69a3 ldr r3, [r4, #24] - 9b9a: 4353 muls r3, r2 - 9b9c: 129b asrs r3, r3, #10 + 9c00: 69a3 ldr r3, [r4, #24] + 9c02: 4353 muls r3, r2 + 9c04: 129b asrs r3, r3, #10 m = (x_inters * px_h) >> 9; - 9b9e: 4353 muls r3, r2 - 9ba0: 125b asrs r3, r3, #9 - 9ba2: b2db uxtb r3, r3 + 9c06: 4353 muls r3, r2 + 9c08: 125b asrs r3, r3, #9 + 9c0a: b2db uxtb r3, r3 if(p->yx_steep < 0) m = 255 - m; - 9ba4: 69e2 ldr r2, [r4, #28] - 9ba6: 2a00 cmp r2, #0 - 9ba8: db13 blt.n 9bd2 + 9c0c: 69e2 ldr r2, [r4, #28] + 9c0e: 2a00 cmp r2, #0 + 9c10: db13 blt.n 9c3a if(p->inv) m = 255 - m; - 9baa: 2228 movs r2, #40 ; 0x28 - 9bac: 5ca2 ldrb r2, [r4, r2] - 9bae: 0792 lsls r2, r2, #30 - 9bb0: d501 bpl.n 9bb6 - 9bb2: 43db mvns r3, r3 - 9bb4: b2db uxtb r3, r3 + 9c12: 2228 movs r2, #40 ; 0x28 + 9c14: 5ca2 ldrb r2, [r4, r2] + 9c16: 0792 lsls r2, r2, #30 + 9c18: d501 bpl.n 9c1e + 9c1a: 43db mvns r3, r3 + 9c1c: b2db uxtb r3, r3 mask_buf[k] = mask_mix(mask_buf[k], m); - 9bb6: 1946 adds r6, r0, r5 - 9bb8: 7832 ldrb r2, [r6, #0] + 9c1e: 1946 adds r6, r0, r5 + 9c20: 7832 ldrb r2, [r6, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - 9bba: 2bf9 cmp r3, #249 ; 0xf9 - 9bbc: d80d bhi.n 9bda + 9c22: 2bf9 cmp r3, #249 ; 0xf9 + 9c24: d80d bhi.n 9c42 if(mask_new <= LV_OPA_MIN) return 0; - 9bbe: 2b05 cmp r3, #5 - 9bc0: d90a bls.n 9bd8 + 9c26: 2b05 cmp r3, #5 + 9c28: d90a bls.n 9c40 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9bc2: 4353 muls r3, r2 - 9bc4: 021a lsls r2, r3, #8 - 9bc6: 18d2 adds r2, r2, r3 - 9bc8: 01d2 lsls r2, r2, #7 - 9bca: 18d3 adds r3, r2, r3 - 9bcc: 0ddb lsrs r3, r3, #23 - 9bce: b2da uxtb r2, r3 - 9bd0: e003 b.n 9bda + 9c2a: 4353 muls r3, r2 + 9c2c: 021a lsls r2, r3, #8 + 9c2e: 18d2 adds r2, r2, r3 + 9c30: 01d2 lsls r2, r2, #7 + 9c32: 18d3 adds r3, r2, r3 + 9c34: 0ddb lsrs r3, r3, #23 + 9c36: b2da uxtb r2, r3 + 9c38: e003 b.n 9c42 if(p->yx_steep < 0) m = 255 - m; - 9bd2: 43db mvns r3, r3 - 9bd4: b2db uxtb r3, r3 - 9bd6: e7e8 b.n 9baa + 9c3a: 43db mvns r3, r3 + 9c3c: b2db uxtb r3, r3 + 9c3e: e7e8 b.n 9c12 if(mask_new <= LV_OPA_MIN) return 0; - 9bd8: 2200 movs r2, #0 + 9c40: 2200 movs r2, #0 mask_buf[k] = mask_mix(mask_buf[k], m); - 9bda: 7032 strb r2, [r6, #0] + 9c42: 7032 strb r2, [r6, #0] if(p->inv) { - 9bdc: 2328 movs r3, #40 ; 0x28 - 9bde: 5ce3 ldrb r3, [r4, r3] - 9be0: 079b lsls r3, r3, #30 - 9be2: d50c bpl.n 9bfe + 9c44: 2328 movs r3, #40 ; 0x28 + 9c46: 5ce3 ldrb r3, [r4, r3] + 9c48: 079b lsls r3, r3, #30 + 9c4a: d50c bpl.n 9c66 return LV_DRAW_MASK_RES_TRANSP; - 9be4: 2400 movs r4, #0 + 9c4c: 2400 movs r4, #0 if(k > len) { - 9be6: 4567 cmp r7, ip - 9be8: da00 bge.n 9bec - 9bea: e780 b.n 9aee + 9c4e: 4567 cmp r7, ip + 9c50: da00 bge.n 9c54 + 9c52: e780 b.n 9b56 return LV_DRAW_MASK_RES_CHANGED; - 9bec: 3402 adds r4, #2 + 9c54: 3402 adds r4, #2 if(k >= 0) { - 9bee: 4663 mov r3, ip - 9bf0: 2b00 cmp r3, #0 - 9bf2: da00 bge.n 9bf6 - 9bf4: e77b b.n 9aee + 9c56: 4663 mov r3, ip + 9c58: 2b00 cmp r3, #0 + 9c5a: da00 bge.n 9c5e + 9c5c: e77b b.n 9b56 _lv_memset_00(&mask_buf[0], k); - 9bf6: 4661 mov r1, ip - 9bf8: 4b66 ldr r3, [pc, #408] ; (9d94 ) - 9bfa: 4798 blx r3 - 9bfc: e777 b.n 9aee + 9c5e: 4661 mov r1, ip + 9c60: 4b66 ldr r3, [pc, #408] ; (9dfc ) + 9c62: 4798 blx r3 + 9c64: e777 b.n 9b56 if(k < 0) { - 9bfe: 3501 adds r5, #1 - 9c00: d500 bpl.n 9c04 - 9c02: e0f9 b.n 9df8 + 9c66: 3501 adds r5, #1 + 9c68: d500 bpl.n 9c6c + 9c6a: e0f9 b.n 9e60 return LV_DRAW_MASK_RES_CHANGED; - 9c04: 2402 movs r4, #2 + 9c6c: 2402 movs r4, #2 if(k <= len) { - 9c06: 42bd cmp r5, r7 - 9c08: dd00 ble.n 9c0c - 9c0a: e770 b.n 9aee + 9c6e: 42bd cmp r5, r7 + 9c70: dd00 ble.n 9c74 + 9c72: e770 b.n 9b56 _lv_memset_00(&mask_buf[k], len - k); - 9c0c: 1b79 subs r1, r7, r5 - 9c0e: 1940 adds r0, r0, r5 - 9c10: 4b60 ldr r3, [pc, #384] ; (9d94 ) - 9c12: 4798 blx r3 - 9c14: e76b b.n 9aee + 9c74: 1b79 subs r1, r7, r5 + 9c76: 1940 adds r0, r0, r5 + 9c78: 4b60 ldr r3, [pc, #384] ; (9dfc ) + 9c7a: 4798 blx r3 + 9c7c: e76b b.n 9b56 if(x_at_y > abs_x + len) { - 9c16: 4698 mov r8, r3 - 9c18: 18e9 adds r1, r5, r3 - 9c1a: 458c cmp ip, r1 - 9c1c: dd06 ble.n 9c2c + 9c7e: 4698 mov r8, r3 + 9c80: 18e9 adds r1, r5, r3 + 9c82: 458c cmp ip, r1 + 9c84: dd06 ble.n 9c94 if(p->inv) { - 9c1e: 465b mov r3, fp - 9c20: 085c lsrs r4, r3, #1 - 9c22: 2601 movs r6, #1 - 9c24: 4066 eors r6, r4 + 9c86: 465b mov r3, fp + 9c88: 085c lsrs r4, r3, #1 + 9c8a: 2601 movs r6, #1 + 9c8c: 4066 eors r6, r4 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9c26: 2401 movs r4, #1 - 9c28: 4034 ands r4, r6 - 9c2a: e760 b.n 9aee + 9c8e: 2401 movs r4, #1 + 9c90: 4034 ands r4, r6 + 9c92: e760 b.n 9b56 int32_t xs = ((abs_y << 8) * p->xy_steep) >> 10; - 9c2c: 0211 lsls r1, r2, #8 - 9c2e: 4379 muls r1, r7 + 9c94: 0211 lsls r1, r2, #8 + 9c96: 4379 muls r1, r7 int32_t xsi = xs >> 8; - 9c30: 148e asrs r6, r1, #18 - 9c32: 46b4 mov ip, r6 + 9c98: 148e asrs r6, r1, #18 + 9c9a: 46b4 mov ip, r6 int32_t xsf = xs & 0xFF; - 9c34: 0389 lsls r1, r1, #14 - 9c36: 0e09 lsrs r1, r1, #24 + 9c9c: 0389 lsls r1, r1, #14 + 9c9e: 0e09 lsrs r1, r1, #24 int32_t xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10; - 9c38: 3201 adds r2, #1 - 9c3a: 0212 lsls r2, r2, #8 - 9c3c: 437a muls r2, r7 + 9ca0: 3201 adds r2, #1 + 9ca2: 0212 lsls r2, r2, #8 + 9ca4: 437a muls r2, r7 int32_t xei = xe >> 8; - 9c3e: 1496 asrs r6, r2, #18 - 9c40: 46b2 mov sl, r6 + 9ca6: 1496 asrs r6, r2, #18 + 9ca8: 46b2 mov sl, r6 k = xsi - abs_x; - 9c42: 4666 mov r6, ip - 9c44: 1b76 subs r6, r6, r5 - 9c46: 46b1 mov r9, r6 + 9caa: 4666 mov r6, ip + 9cac: 1b76 subs r6, r6, r5 + 9cae: 46b1 mov r9, r6 if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) { - 9c48: 45d4 cmp ip, sl - 9c4a: d05c beq.n 9d06 - 9c4c: 2f00 cmp r7, #0 - 9c4e: db52 blt.n 9cf6 + 9cb0: 45d4 cmp ip, sl + 9cb2: d05c beq.n 9d6e + 9cb4: 2f00 cmp r7, #0 + 9cb6: db52 blt.n 9d5e y_inters = ((255 - xsf) * p->yx_steep) >> 10; - 9c50: 22ff movs r2, #255 ; 0xff - 9c52: 1a51 subs r1, r2, r1 - 9c54: 69e5 ldr r5, [r4, #28] - 9c56: 434d muls r5, r1 - 9c58: 12ad asrs r5, r5, #10 + 9cb8: 22ff movs r2, #255 ; 0xff + 9cba: 1a51 subs r1, r2, r1 + 9cbc: 69e5 ldr r5, [r4, #28] + 9cbe: 434d muls r5, r1 + 9cc0: 12ad asrs r5, r5, #10 if(k >= 0 && k < len) { - 9c5a: 2e00 cmp r6, #0 - 9c5c: db19 blt.n 9c92 - 9c5e: 45c8 cmp r8, r9 - 9c60: dd17 ble.n 9c92 + 9cc2: 2e00 cmp r6, #0 + 9cc4: db19 blt.n 9cfa + 9cc6: 45c8 cmp r8, r9 + 9cc8: dd17 ble.n 9cfa m = 255 - ((y_inters * (255 - xsf)) >> 9); - 9c62: 4369 muls r1, r5 - 9c64: 1249 asrs r1, r1, #9 - 9c66: b2ca uxtb r2, r1 + 9cca: 4369 muls r1, r5 + 9ccc: 1249 asrs r1, r1, #9 + 9cce: b2ca uxtb r2, r1 if(p->inv) m = 255 - m; - 9c68: 4659 mov r1, fp - 9c6a: 0789 lsls r1, r1, #30 - 9c6c: d401 bmi.n 9c72 + 9cd0: 4659 mov r1, fp + 9cd2: 0789 lsls r1, r1, #30 + 9cd4: d401 bmi.n 9cda m = 255 - ((y_inters * (255 - xsf)) >> 9); - 9c6e: 43d2 mvns r2, r2 - 9c70: b2d2 uxtb r2, r2 + 9cd6: 43d2 mvns r2, r2 + 9cd8: b2d2 uxtb r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - 9c72: 4649 mov r1, r9 - 9c74: 1846 adds r6, r0, r1 - 9c76: 7831 ldrb r1, [r6, #0] + 9cda: 4649 mov r1, r9 + 9cdc: 1846 adds r6, r0, r1 + 9cde: 7831 ldrb r1, [r6, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - 9c78: 2af9 cmp r2, #249 ; 0xf9 - 9c7a: d809 bhi.n 9c90 + 9ce0: 2af9 cmp r2, #249 ; 0xf9 + 9ce2: d809 bhi.n 9cf8 if(mask_new <= LV_OPA_MIN) return 0; - 9c7c: 2a05 cmp r2, #5 - 9c7e: d800 bhi.n 9c82 - 9c80: e099 b.n 9db6 + 9ce4: 2a05 cmp r2, #5 + 9ce6: d800 bhi.n 9cea + 9ce8: e099 b.n 9e1e return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9c82: 434a muls r2, r1 - 9c84: 0211 lsls r1, r2, #8 - 9c86: 1889 adds r1, r1, r2 - 9c88: 01c9 lsls r1, r1, #7 - 9c8a: 188a adds r2, r1, r2 - 9c8c: 0dd2 lsrs r2, r2, #23 - 9c8e: b2d1 uxtb r1, r2 + 9cea: 434a muls r2, r1 + 9cec: 0211 lsls r1, r2, #8 + 9cee: 1889 adds r1, r1, r2 + 9cf0: 01c9 lsls r1, r1, #7 + 9cf2: 188a adds r2, r1, r2 + 9cf4: 0dd2 lsrs r2, r2, #23 + 9cf6: b2d1 uxtb r1, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - 9c90: 7031 strb r1, [r6, #0] + 9cf8: 7031 strb r1, [r6, #0] if(k >= 0 && k < len) { - 9c92: 464a mov r2, r9 - 9c94: 1c51 adds r1, r2, #1 - 9c96: d41d bmi.n 9cd4 - 9c98: 4588 cmp r8, r1 - 9c9a: dd1b ble.n 9cd4 + 9cfa: 464a mov r2, r9 + 9cfc: 1c51 adds r1, r2, #1 + 9cfe: d41d bmi.n 9d3c + 9d00: 4588 cmp r8, r1 + 9d02: dd1b ble.n 9d3c int32_t x_inters = ((255 - y_inters) * p->xy_steep) >> 10; - 9c9c: 22ff movs r2, #255 ; 0xff - 9c9e: 1b55 subs r5, r2, r5 - 9ca0: 69a2 ldr r2, [r4, #24] - 9ca2: 436a muls r2, r5 - 9ca4: 1292 asrs r2, r2, #10 + 9d04: 22ff movs r2, #255 ; 0xff + 9d06: 1b55 subs r5, r2, r5 + 9d08: 69a2 ldr r2, [r4, #24] + 9d0a: 436a muls r2, r5 + 9d0c: 1292 asrs r2, r2, #10 m = ((255 - y_inters) * x_inters) >> 9; - 9ca6: 4355 muls r5, r2 - 9ca8: 126d asrs r5, r5, #9 - 9caa: b2ea uxtb r2, r5 + 9d0e: 4355 muls r5, r2 + 9d10: 126d asrs r5, r5, #9 + 9d12: b2ea uxtb r2, r5 if(p->inv) m = 255 - m; - 9cac: 2528 movs r5, #40 ; 0x28 - 9cae: 5d65 ldrb r5, [r4, r5] - 9cb0: 07ad lsls r5, r5, #30 - 9cb2: d501 bpl.n 9cb8 - 9cb4: 43d2 mvns r2, r2 - 9cb6: b2d2 uxtb r2, r2 + 9d14: 2528 movs r5, #40 ; 0x28 + 9d16: 5d65 ldrb r5, [r4, r5] + 9d18: 07ad lsls r5, r5, #30 + 9d1a: d501 bpl.n 9d20 + 9d1c: 43d2 mvns r2, r2 + 9d1e: b2d2 uxtb r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - 9cb8: 1841 adds r1, r0, r1 - 9cba: 780d ldrb r5, [r1, #0] + 9d20: 1841 adds r1, r0, r1 + 9d22: 780d ldrb r5, [r1, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - 9cbc: 2af9 cmp r2, #249 ; 0xf9 - 9cbe: d808 bhi.n 9cd2 + 9d24: 2af9 cmp r2, #249 ; 0xf9 + 9d26: d808 bhi.n 9d3a if(mask_new <= LV_OPA_MIN) return 0; - 9cc0: 2a05 cmp r2, #5 - 9cc2: d97a bls.n 9dba + 9d28: 2a05 cmp r2, #5 + 9d2a: d97a bls.n 9e22 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9cc4: 436a muls r2, r5 - 9cc6: 0215 lsls r5, r2, #8 - 9cc8: 18ad adds r5, r5, r2 - 9cca: 01ed lsls r5, r5, #7 - 9ccc: 18aa adds r2, r5, r2 - 9cce: 0dd2 lsrs r2, r2, #23 - 9cd0: b2d5 uxtb r5, r2 + 9d2c: 436a muls r2, r5 + 9d2e: 0215 lsls r5, r2, #8 + 9d30: 18ad adds r5, r5, r2 + 9d32: 01ed lsls r5, r5, #7 + 9d34: 18aa adds r2, r5, r2 + 9d36: 0dd2 lsrs r2, r2, #23 + 9d38: b2d5 uxtb r5, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - 9cd2: 700d strb r5, [r1, #0] + 9d3a: 700d strb r5, [r1, #0] if(p->inv) { - 9cd4: 2228 movs r2, #40 ; 0x28 - 9cd6: 5ca2 ldrb r2, [r4, r2] - 9cd8: 0792 lsls r2, r2, #30 - 9cda: d570 bpl.n 9dbe + 9d3c: 2228 movs r2, #40 ; 0x28 + 9d3e: 5ca2 ldrb r2, [r4, r2] + 9d40: 0792 lsls r2, r2, #30 + 9d42: d570 bpl.n 9e26 if(k > len) return LV_DRAW_MASK_RES_TRANSP; - 9cdc: 2400 movs r4, #0 - 9cde: 45c8 cmp r8, r9 - 9ce0: da00 bge.n 9ce4 - 9ce2: e704 b.n 9aee + 9d44: 2400 movs r4, #0 + 9d46: 45c8 cmp r8, r9 + 9d48: da00 bge.n 9d4c + 9d4a: e704 b.n 9b56 return LV_DRAW_MASK_RES_CHANGED; - 9ce4: 3402 adds r4, #2 + 9d4c: 3402 adds r4, #2 if(k >= 0) _lv_memset_00(&mask_buf[0], k); - 9ce6: 464b mov r3, r9 - 9ce8: 2b00 cmp r3, #0 - 9cea: da00 bge.n 9cee - 9cec: e6ff b.n 9aee - 9cee: 4649 mov r1, r9 - 9cf0: 4b28 ldr r3, [pc, #160] ; (9d94 ) - 9cf2: 4798 blx r3 - 9cf4: e6fb b.n 9aee + 9d4e: 464b mov r3, r9 + 9d50: 2b00 cmp r3, #0 + 9d52: da00 bge.n 9d56 + 9d54: e6ff b.n 9b56 + 9d56: 4649 mov r1, r9 + 9d58: 4b28 ldr r3, [pc, #160] ; (9dfc ) + 9d5a: 4798 blx r3 + 9d5c: e6fb b.n 9b56 if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) { - 9cf6: 2900 cmp r1, #0 - 9cf8: d000 beq.n 9cfc - 9cfa: e0cc b.n 9e96 + 9d5e: 2900 cmp r1, #0 + 9d60: d000 beq.n 9d64 + 9d62: e0cc b.n 9efe k--; - 9cfc: 3901 subs r1, #1 - 9cfe: 468c mov ip, r1 - 9d00: 44e1 add r9, ip + 9d64: 3901 subs r1, #1 + 9d66: 468c mov ip, r1 + 9d68: 44e1 add r9, ip xsf = 0xFF; - 9d02: 3101 adds r1, #1 - 9d04: 31ff adds r1, #255 ; 0xff + 9d6a: 3101 adds r1, #1 + 9d6c: 31ff adds r1, #255 ; 0xff if(k >= 0 && k < len) { - 9d06: 464e mov r6, r9 - 9d08: 2e00 cmp r6, #0 - 9d0a: db1b blt.n 9d44 - 9d0c: 45c8 cmp r8, r9 - 9d0e: dd19 ble.n 9d44 + 9d6e: 464e mov r6, r9 + 9d70: 2e00 cmp r6, #0 + 9d72: db1b blt.n 9dac + 9d74: 45c8 cmp r8, r9 + 9d76: dd19 ble.n 9dac int32_t xef = xe & 0xFF; - 9d10: 0392 lsls r2, r2, #14 - 9d12: 0e12 lsrs r2, r2, #24 + 9d78: 0392 lsls r2, r2, #14 + 9d7a: 0e12 lsrs r2, r2, #24 m = (xsf + xef) >> 1; - 9d14: 1852 adds r2, r2, r1 - 9d16: 0852 lsrs r2, r2, #1 + 9d7c: 1852 adds r2, r2, r1 + 9d7e: 0852 lsrs r2, r2, #1 if(p->inv) m = 255 - m; - 9d18: 4659 mov r1, fp - 9d1a: 0789 lsls r1, r1, #30 - 9d1c: d501 bpl.n 9d22 - 9d1e: 43d2 mvns r2, r2 - 9d20: b2d2 uxtb r2, r2 + 9d80: 4659 mov r1, fp + 9d82: 0789 lsls r1, r1, #30 + 9d84: d501 bpl.n 9d8a + 9d86: 43d2 mvns r2, r2 + 9d88: b2d2 uxtb r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - 9d22: 4649 mov r1, r9 - 9d24: 1846 adds r6, r0, r1 - 9d26: 7831 ldrb r1, [r6, #0] + 9d8a: 4649 mov r1, r9 + 9d8c: 1846 adds r6, r0, r1 + 9d8e: 7831 ldrb r1, [r6, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - 9d28: 2af9 cmp r2, #249 ; 0xf9 - 9d2a: d80a bhi.n 9d42 + 9d90: 2af9 cmp r2, #249 ; 0xf9 + 9d92: d80a bhi.n 9daa if(mask_new <= LV_OPA_MIN) return 0; - 9d2c: 2a05 cmp r2, #5 - 9d2e: d907 bls.n 9d40 + 9d94: 2a05 cmp r2, #5 + 9d96: d907 bls.n 9da8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9d30: 434a muls r2, r1 - 9d32: 0211 lsls r1, r2, #8 - 9d34: 1889 adds r1, r1, r2 - 9d36: 01c9 lsls r1, r1, #7 - 9d38: 188a adds r2, r1, r2 - 9d3a: 0dd2 lsrs r2, r2, #23 - 9d3c: b2d1 uxtb r1, r2 - 9d3e: e000 b.n 9d42 + 9d98: 434a muls r2, r1 + 9d9a: 0211 lsls r1, r2, #8 + 9d9c: 1889 adds r1, r1, r2 + 9d9e: 01c9 lsls r1, r1, #7 + 9da0: 188a adds r2, r1, r2 + 9da2: 0dd2 lsrs r2, r2, #23 + 9da4: b2d1 uxtb r1, r2 + 9da6: e000 b.n 9daa if(mask_new <= LV_OPA_MIN) return 0; - 9d40: 2100 movs r1, #0 + 9da8: 2100 movs r1, #0 mask_buf[k] = mask_mix(mask_buf[k], m); - 9d42: 7031 strb r1, [r6, #0] + 9daa: 7031 strb r1, [r6, #0] if(p->inv) { - 9d44: 2228 movs r2, #40 ; 0x28 - 9d46: 5ca2 ldrb r2, [r4, r2] - 9d48: 0792 lsls r2, r2, #30 - 9d4a: d50c bpl.n 9d66 + 9dac: 2228 movs r2, #40 ; 0x28 + 9dae: 5ca2 ldrb r2, [r4, r2] + 9db0: 0792 lsls r2, r2, #30 + 9db2: d50c bpl.n 9dce k = xsi - abs_x; - 9d4c: 4653 mov r3, sl - 9d4e: 1b59 subs r1, r3, r5 + 9db4: 4653 mov r3, sl + 9db6: 1b59 subs r1, r3, r5 return LV_DRAW_MASK_RES_TRANSP; - 9d50: 2400 movs r4, #0 + 9db8: 2400 movs r4, #0 if(k >= len) { - 9d52: 4588 cmp r8, r1 - 9d54: dc00 bgt.n 9d58 - 9d56: e6ca b.n 9aee + 9dba: 4588 cmp r8, r1 + 9dbc: dc00 bgt.n 9dc0 + 9dbe: e6ca b.n 9b56 return LV_DRAW_MASK_RES_CHANGED; - 9d58: 3402 adds r4, #2 + 9dc0: 3402 adds r4, #2 if(k >= 0) _lv_memset_00(&mask_buf[0], k); - 9d5a: 2900 cmp r1, #0 - 9d5c: da00 bge.n 9d60 - 9d5e: e6c6 b.n 9aee - 9d60: 4b0c ldr r3, [pc, #48] ; (9d94 ) - 9d62: 4798 blx r3 - 9d64: e6c3 b.n 9aee + 9dc2: 2900 cmp r1, #0 + 9dc4: da00 bge.n 9dc8 + 9dc6: e6c6 b.n 9b56 + 9dc8: 4b0c ldr r3, [pc, #48] ; (9dfc ) + 9dca: 4798 blx r3 + 9dcc: e6c3 b.n 9b56 k++; - 9d66: 4649 mov r1, r9 - 9d68: 3101 adds r1, #1 - 9d6a: 001a movs r2, r3 - 9d6c: 4588 cmp r8, r1 - 9d6e: dd00 ble.n 9d72 - 9d70: 000a movs r2, r1 + 9dce: 4649 mov r1, r9 + 9dd0: 3101 adds r1, #1 + 9dd2: 001a movs r2, r3 + 9dd4: 4588 cmp r8, r1 + 9dd6: dd00 ble.n 9dda + 9dd8: 000a movs r2, r1 if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - 9d72: 2400 movs r4, #0 - 9d74: 2a00 cmp r2, #0 - 9d76: d100 bne.n 9d7a - 9d78: e6b9 b.n 9aee + 9dda: 2400 movs r4, #0 + 9ddc: 2a00 cmp r2, #0 + 9dde: d100 bne.n 9de2 + 9de0: e6b9 b.n 9b56 return LV_DRAW_MASK_RES_CHANGED; - 9d7a: 3402 adds r4, #2 + 9de2: 3402 adds r4, #2 else if(k > 0) _lv_memset_00(&mask_buf[k], len - k); - 9d7c: 2a00 cmp r2, #0 - 9d7e: dc00 bgt.n 9d82 - 9d80: e6b5 b.n 9aee - 9d82: 1a99 subs r1, r3, r2 - 9d84: 1880 adds r0, r0, r2 - 9d86: 4b03 ldr r3, [pc, #12] ; (9d94 ) - 9d88: 4798 blx r3 - 9d8a: e6b0 b.n 9aee + 9de4: 2a00 cmp r2, #0 + 9de6: dc00 bgt.n 9dea + 9de8: e6b5 b.n 9b56 + 9dea: 1a99 subs r1, r3, r2 + 9dec: 1880 adds r0, r0, r2 + 9dee: 4b03 ldr r3, [pc, #12] ; (9dfc ) + 9df0: 4798 blx r3 + 9df2: e6b0 b.n 9b56 if(mask_new <= LV_OPA_MIN) return 0; - 9d8c: 2500 movs r5, #0 - 9d8e: e0a1 b.n 9ed4 - 9d90: 2500 movs r5, #0 - 9d92: e0c2 b.n 9f1a - 9d94: 00010fe5 .word 0x00010fe5 + 9df4: 2500 movs r5, #0 + 9df6: e0a1 b.n 9f3c + 9df8: 2500 movs r5, #0 + 9dfa: e0c2 b.n 9f82 + 9dfc: 0001104d .word 0x0001104d k += 2; - 9d98: 464a mov r2, r9 - 9d9a: 3201 adds r2, #1 + 9e00: 464a mov r2, r9 + 9e02: 3201 adds r2, #1 if(k > len) return LV_DRAW_MASK_RES_FULL_COVER; - 9d9c: 2401 movs r4, #1 - 9d9e: 4590 cmp r8, r2 - 9da0: da00 bge.n 9da4 - 9da2: e6a4 b.n 9aee + 9e04: 2401 movs r4, #1 + 9e06: 4590 cmp r8, r2 + 9e08: da00 bge.n 9e0c + 9e0a: e6a4 b.n 9b56 return LV_DRAW_MASK_RES_CHANGED; - 9da4: 3401 adds r4, #1 + 9e0c: 3401 adds r4, #1 if(k >= 0) _lv_memset_00(&mask_buf[k], len - k); - 9da6: 2a00 cmp r2, #0 - 9da8: da00 bge.n 9dac - 9daa: e6a0 b.n 9aee - 9dac: 1a99 subs r1, r3, r2 - 9dae: 1880 adds r0, r0, r2 - 9db0: 4b62 ldr r3, [pc, #392] ; (9f3c ) - 9db2: 4798 blx r3 - 9db4: e69b b.n 9aee + 9e0e: 2a00 cmp r2, #0 + 9e10: da00 bge.n 9e14 + 9e12: e6a0 b.n 9b56 + 9e14: 1a99 subs r1, r3, r2 + 9e16: 1880 adds r0, r0, r2 + 9e18: 4b62 ldr r3, [pc, #392] ; (9fa4 ) + 9e1a: 4798 blx r3 + 9e1c: e69b b.n 9b56 if(mask_new <= LV_OPA_MIN) return 0; - 9db6: 2100 movs r1, #0 - 9db8: e76a b.n 9c90 - 9dba: 2500 movs r5, #0 - 9dbc: e789 b.n 9cd2 + 9e1e: 2100 movs r1, #0 + 9e20: e76a b.n 9cf8 + 9e22: 2500 movs r5, #0 + 9e24: e789 b.n 9d3a k++; - 9dbe: 4649 mov r1, r9 - 9dc0: 3102 adds r1, #2 - 9dc2: 001a movs r2, r3 - 9dc4: 4588 cmp r8, r1 - 9dc6: dd00 ble.n 9dca - 9dc8: 000a movs r2, r1 + 9e26: 4649 mov r1, r9 + 9e28: 3102 adds r1, #2 + 9e2a: 001a movs r2, r3 + 9e2c: 4588 cmp r8, r1 + 9e2e: dd00 ble.n 9e32 + 9e30: 000a movs r2, r1 if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - 9dca: 2400 movs r4, #0 - 9dcc: 2a00 cmp r2, #0 - 9dce: d100 bne.n 9dd2 - 9dd0: e68d b.n 9aee + 9e32: 2400 movs r4, #0 + 9e34: 2a00 cmp r2, #0 + 9e36: d100 bne.n 9e3a + 9e38: e68d b.n 9b56 return LV_DRAW_MASK_RES_CHANGED; - 9dd2: 3402 adds r4, #2 + 9e3a: 3402 adds r4, #2 else if(k > 0) _lv_memset_00(&mask_buf[k], len - k); - 9dd4: 2a00 cmp r2, #0 - 9dd6: dc00 bgt.n 9dda - 9dd8: e689 b.n 9aee - 9dda: 1a99 subs r1, r3, r2 - 9ddc: 1880 adds r0, r0, r2 - 9dde: 4b57 ldr r3, [pc, #348] ; (9f3c ) - 9de0: 4798 blx r3 - 9de2: e684 b.n 9aee + 9e3c: 2a00 cmp r2, #0 + 9e3e: dc00 bgt.n 9e42 + 9e40: e689 b.n 9b56 + 9e42: 1a99 subs r1, r3, r2 + 9e44: 1880 adds r0, r0, r2 + 9e46: 4b57 ldr r3, [pc, #348] ; (9fa4 ) + 9e48: 4798 blx r3 + 9e4a: e684 b.n 9b56 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - 9de4: 2401 movs r4, #1 - 9de6: e682 b.n 9aee + 9e4c: 2401 movs r4, #1 + 9e4e: e682 b.n 9b56 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER; - 9de8: 2401 movs r4, #1 - 9dea: e680 b.n 9aee + 9e50: 2401 movs r4, #1 + 9e52: e680 b.n 9b56 if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER; - 9dec: 2401 movs r4, #1 - 9dee: e67e b.n 9aee + 9e54: 2401 movs r4, #1 + 9e56: e67e b.n 9b56 if(k < 0) return LV_DRAW_MASK_RES_TRANSP; - 9df0: 2400 movs r4, #0 - 9df2: e67c b.n 9aee + 9e58: 2400 movs r4, #0 + 9e5a: e67c b.n 9b56 if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP; - 9df4: 2400 movs r4, #0 - 9df6: e67a b.n 9aee + 9e5c: 2400 movs r4, #0 + 9e5e: e67a b.n 9b56 return LV_DRAW_MASK_RES_TRANSP; - 9df8: 2400 movs r4, #0 - 9dfa: e678 b.n 9aee + 9e60: 2400 movs r4, #0 + 9e62: e678 b.n 9b56 y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10; - 9dfc: 001f movs r7, r3 - 9dfe: 18eb adds r3, r5, r3 - 9e00: 4359 muls r1, r3 - 9e02: 1289 asrs r1, r1, #10 + 9e64: 001f movs r7, r3 + 9e66: 18eb adds r3, r5, r3 + 9e68: 4359 muls r1, r3 + 9e6a: 1289 asrs r1, r1, #10 if(y_at_x < abs_y) { - 9e04: 428a cmp r2, r1 - 9e06: dd00 ble.n 9e0a - 9e08: e68c b.n 9b24 + 9e6c: 428a cmp r2, r1 + 9e6e: dd00 ble.n 9e72 + 9e70: e68c b.n 9b8c if(p->yx_steep > 0) xe = ((abs_y << 8) * p->xy_steep) >> 10; - 9e0a: 0212 lsls r2, r2, #8 - 9e0c: 69a3 ldr r3, [r4, #24] - 9e0e: 435a muls r2, r3 - 9e10: 1292 asrs r2, r2, #10 + 9e72: 0212 lsls r2, r2, #8 + 9e74: 69a3 ldr r3, [r4, #24] + 9e76: 435a muls r2, r3 + 9e78: 1292 asrs r2, r2, #10 int32_t xei = xe >> 8; - 9e12: 1211 asrs r1, r2, #8 + 9e7a: 1211 asrs r1, r2, #8 int32_t xef = xe & 0xFF; - 9e14: 23ff movs r3, #255 ; 0xff - 9e16: 401a ands r2, r3 + 9e7c: 23ff movs r3, #255 ; 0xff + 9e7e: 401a ands r2, r3 if(xef == 0) px_h = 255; - 9e18: d039 beq.n 9e8e + 9e80: d039 beq.n 9ef6 else px_h = 255 - (((255 - xef) * p->spx) >> 8); - 9e1a: 469c mov ip, r3 - 9e1c: 1a9b subs r3, r3, r2 - 9e1e: 4698 mov r8, r3 - 9e20: 6a63 ldr r3, [r4, #36] ; 0x24 - 9e22: 4642 mov r2, r8 - 9e24: 4353 muls r3, r2 - 9e26: 121b asrs r3, r3, #8 - 9e28: 4662 mov r2, ip - 9e2a: 1ad2 subs r2, r2, r3 + 9e82: 469c mov ip, r3 + 9e84: 1a9b subs r3, r3, r2 + 9e86: 4698 mov r8, r3 + 9e88: 6a63 ldr r3, [r4, #36] ; 0x24 + 9e8a: 4642 mov r2, r8 + 9e8c: 4353 muls r3, r2 + 9e8e: 121b asrs r3, r3, #8 + 9e90: 4662 mov r2, ip + 9e92: 1ad2 subs r2, r2, r3 int32_t k = xei - abs_x; - 9e2c: 1b49 subs r1, r1, r5 - 9e2e: 468c mov ip, r1 + 9e94: 1b49 subs r1, r1, r5 + 9e96: 468c mov ip, r1 if(k >= 0 && k < len) { - 9e30: d41a bmi.n 9e68 - 9e32: 42b9 cmp r1, r7 - 9e34: da18 bge.n 9e68 + 9e98: d41a bmi.n 9ed0 + 9e9a: 42b9 cmp r1, r7 + 9e9c: da18 bge.n 9ed0 m = 255 - (((255 - xef) * (255 - px_h)) >> 9); - 9e36: 4641 mov r1, r8 - 9e38: 434b muls r3, r1 - 9e3a: 125b asrs r3, r3, #9 - 9e3c: b2db uxtb r3, r3 + 9e9e: 4641 mov r1, r8 + 9ea0: 434b muls r3, r1 + 9ea2: 125b asrs r3, r3, #9 + 9ea4: b2db uxtb r3, r3 if(p->inv) m = 255 - m; - 9e3e: 4659 mov r1, fp - 9e40: 0789 lsls r1, r1, #30 - 9e42: d401 bmi.n 9e48 + 9ea6: 4659 mov r1, fp + 9ea8: 0789 lsls r1, r1, #30 + 9eaa: d401 bmi.n 9eb0 m = 255 - (((255 - xef) * (255 - px_h)) >> 9); - 9e44: 43db mvns r3, r3 - 9e46: b2db uxtb r3, r3 + 9eac: 43db mvns r3, r3 + 9eae: b2db uxtb r3, r3 mask_buf[k] = mask_mix(mask_buf[k], m); - 9e48: 4661 mov r1, ip - 9e4a: 1845 adds r5, r0, r1 - 9e4c: 7829 ldrb r1, [r5, #0] + 9eb0: 4661 mov r1, ip + 9eb2: 1845 adds r5, r0, r1 + 9eb4: 7829 ldrb r1, [r5, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - 9e4e: 2bf9 cmp r3, #249 ; 0xf9 - 9e50: d809 bhi.n 9e66 + 9eb6: 2bf9 cmp r3, #249 ; 0xf9 + 9eb8: d809 bhi.n 9ece if(mask_new <= LV_OPA_MIN) return 0; - 9e52: 2b05 cmp r3, #5 - 9e54: d800 bhi.n 9e58 - 9e56: e673 b.n 9b40 + 9eba: 2b05 cmp r3, #5 + 9ebc: d800 bhi.n 9ec0 + 9ebe: e673 b.n 9ba8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9e58: 434b muls r3, r1 - 9e5a: 0219 lsls r1, r3, #8 - 9e5c: 18c9 adds r1, r1, r3 - 9e5e: 01c9 lsls r1, r1, #7 - 9e60: 18cb adds r3, r1, r3 - 9e62: 0ddb lsrs r3, r3, #23 - 9e64: b2d9 uxtb r1, r3 + 9ec0: 434b muls r3, r1 + 9ec2: 0219 lsls r1, r3, #8 + 9ec4: 18c9 adds r1, r1, r3 + 9ec6: 01c9 lsls r1, r1, #7 + 9ec8: 18cb adds r3, r1, r3 + 9eca: 0ddb lsrs r3, r3, #23 + 9ecc: b2d9 uxtb r1, r3 mask_buf[k] = mask_mix(mask_buf[k], m); - 9e66: 7029 strb r1, [r5, #0] + 9ece: 7029 strb r1, [r5, #0] k++; - 9e68: 4663 mov r3, ip - 9e6a: 1c5d adds r5, r3, #1 + 9ed0: 4663 mov r3, ip + 9ed2: 1c5d adds r5, r3, #1 if(p->inv) m = 255 - m; - 9e6c: 2328 movs r3, #40 ; 0x28 - 9e6e: 4698 mov r8, r3 - 9e70: 2602 movs r6, #2 - 9e72: e66f b.n 9b54 + 9ed4: 2328 movs r3, #40 ; 0x28 + 9ed6: 4698 mov r8, r3 + 9ed8: 2602 movs r6, #2 + 9eda: e66f b.n 9bbc y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10; - 9e74: 001f movs r7, r3 - 9e76: 195b adds r3, r3, r5 - 9e78: 4359 muls r1, r3 - 9e7a: 1289 asrs r1, r1, #10 + 9edc: 001f movs r7, r3 + 9ede: 195b adds r3, r3, r5 + 9ee0: 4359 muls r1, r3 + 9ee2: 1289 asrs r1, r1, #10 if(y_at_x > abs_y) { - 9e7c: 4291 cmp r1, r2 - 9e7e: dd00 ble.n 9e82 - 9e80: e657 b.n 9b32 + 9ee4: 4291 cmp r1, r2 + 9ee6: dd00 ble.n 9eea + 9ee8: e657 b.n 9b9a else xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10; - 9e82: 3201 adds r2, #1 - 9e84: 0212 lsls r2, r2, #8 - 9e86: 69a3 ldr r3, [r4, #24] - 9e88: 435a muls r2, r3 - 9e8a: 1292 asrs r2, r2, #10 - 9e8c: e7c1 b.n 9e12 + 9eea: 3201 adds r2, #1 + 9eec: 0212 lsls r2, r2, #8 + 9eee: 69a3 ldr r3, [r4, #24] + 9ef0: 435a muls r2, r3 + 9ef2: 1292 asrs r2, r2, #10 + 9ef4: e7c1 b.n 9e7a int32_t k = xei - abs_x; - 9e8e: 1b4d subs r5, r1, r5 - 9e90: 46ac mov ip, r5 + 9ef6: 1b4d subs r5, r1, r5 + 9ef8: 46ac mov ip, r5 if(xef == 0) px_h = 255; - 9e92: 22ff movs r2, #255 ; 0xff - 9e94: e7ea b.n 9e6c + 9efa: 22ff movs r2, #255 ; 0xff + 9efc: e7ea b.n 9ed4 y_inters = (xsf * (-p->yx_steep)) >> 10; - 9e96: 69e2 ldr r2, [r4, #28] - 9e98: 4252 negs r2, r2 - 9e9a: 434a muls r2, r1 - 9e9c: 1292 asrs r2, r2, #10 + 9efe: 69e2 ldr r2, [r4, #28] + 9f00: 4252 negs r2, r2 + 9f02: 434a muls r2, r1 + 9f04: 1292 asrs r2, r2, #10 if(k >= 0 && k < len) { - 9e9e: 2e00 cmp r6, #0 - 9ea0: db19 blt.n 9ed6 - 9ea2: 45c8 cmp r8, r9 - 9ea4: dd17 ble.n 9ed6 + 9f06: 2e00 cmp r6, #0 + 9f08: db19 blt.n 9f3e + 9f0a: 45c8 cmp r8, r9 + 9f0c: dd17 ble.n 9f3e m = (y_inters * xsf) >> 9; - 9ea6: 4351 muls r1, r2 - 9ea8: 1249 asrs r1, r1, #9 - 9eaa: b2c9 uxtb r1, r1 + 9f0e: 4351 muls r1, r2 + 9f10: 1249 asrs r1, r1, #9 + 9f12: b2c9 uxtb r1, r1 if(p->inv) m = 255 - m; - 9eac: 465d mov r5, fp - 9eae: 07ad lsls r5, r5, #30 - 9eb0: d501 bpl.n 9eb6 - 9eb2: 43c9 mvns r1, r1 - 9eb4: b2c9 uxtb r1, r1 + 9f14: 465d mov r5, fp + 9f16: 07ad lsls r5, r5, #30 + 9f18: d501 bpl.n 9f1e + 9f1a: 43c9 mvns r1, r1 + 9f1c: b2c9 uxtb r1, r1 mask_buf[k] = mask_mix(mask_buf[k], m); - 9eb6: 464d mov r5, r9 - 9eb8: 1946 adds r6, r0, r5 - 9eba: 7835 ldrb r5, [r6, #0] + 9f1e: 464d mov r5, r9 + 9f20: 1946 adds r6, r0, r5 + 9f22: 7835 ldrb r5, [r6, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - 9ebc: 29f9 cmp r1, #249 ; 0xf9 - 9ebe: d809 bhi.n 9ed4 + 9f24: 29f9 cmp r1, #249 ; 0xf9 + 9f26: d809 bhi.n 9f3c if(mask_new <= LV_OPA_MIN) return 0; - 9ec0: 2905 cmp r1, #5 - 9ec2: d800 bhi.n 9ec6 - 9ec4: e762 b.n 9d8c + 9f28: 2905 cmp r1, #5 + 9f2a: d800 bhi.n 9f2e + 9f2c: e762 b.n 9df4 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9ec6: 4369 muls r1, r5 - 9ec8: 020d lsls r5, r1, #8 - 9eca: 186d adds r5, r5, r1 - 9ecc: 01ed lsls r5, r5, #7 - 9ece: 1869 adds r1, r5, r1 - 9ed0: 0dc9 lsrs r1, r1, #23 - 9ed2: b2cd uxtb r5, r1 + 9f2e: 4369 muls r1, r5 + 9f30: 020d lsls r5, r1, #8 + 9f32: 186d adds r5, r5, r1 + 9f34: 01ed lsls r5, r5, #7 + 9f36: 1869 adds r1, r5, r1 + 9f38: 0dc9 lsrs r1, r1, #23 + 9f3a: b2cd uxtb r5, r1 mask_buf[k] = mask_mix(mask_buf[k], m); - 9ed4: 7035 strb r5, [r6, #0] + 9f3c: 7035 strb r5, [r6, #0] if(k >= 0 && k < len) { - 9ed6: 4649 mov r1, r9 - 9ed8: 3901 subs r1, #1 - 9eda: d41f bmi.n 9f1c - 9edc: 4588 cmp r8, r1 - 9ede: dd1d ble.n 9f1c + 9f3e: 4649 mov r1, r9 + 9f40: 3901 subs r1, #1 + 9f42: d41f bmi.n 9f84 + 9f44: 4588 cmp r8, r1 + 9f46: dd1d ble.n 9f84 int32_t x_inters = ((255 - y_inters) * (-p->xy_steep)) >> 10; - 9ee0: 25ff movs r5, #255 ; 0xff - 9ee2: 1aaa subs r2, r5, r2 - 9ee4: 69a5 ldr r5, [r4, #24] - 9ee6: 426d negs r5, r5 - 9ee8: 4355 muls r5, r2 - 9eea: 12ad asrs r5, r5, #10 + 9f48: 25ff movs r5, #255 ; 0xff + 9f4a: 1aaa subs r2, r5, r2 + 9f4c: 69a5 ldr r5, [r4, #24] + 9f4e: 426d negs r5, r5 + 9f50: 4355 muls r5, r2 + 9f52: 12ad asrs r5, r5, #10 m = 255 - (((255 - y_inters) * x_inters) >> 9); - 9eec: 436a muls r2, r5 - 9eee: 1252 asrs r2, r2, #9 - 9ef0: b2d2 uxtb r2, r2 + 9f54: 436a muls r2, r5 + 9f56: 1252 asrs r2, r2, #9 + 9f58: b2d2 uxtb r2, r2 if(p->inv) m = 255 - m; - 9ef2: 2528 movs r5, #40 ; 0x28 - 9ef4: 5d65 ldrb r5, [r4, r5] - 9ef6: 07ad lsls r5, r5, #30 - 9ef8: d401 bmi.n 9efe + 9f5a: 2528 movs r5, #40 ; 0x28 + 9f5c: 5d65 ldrb r5, [r4, r5] + 9f5e: 07ad lsls r5, r5, #30 + 9f60: d401 bmi.n 9f66 m = 255 - (((255 - y_inters) * x_inters) >> 9); - 9efa: 43d2 mvns r2, r2 - 9efc: b2d2 uxtb r2, r2 + 9f62: 43d2 mvns r2, r2 + 9f64: b2d2 uxtb r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - 9efe: 1846 adds r6, r0, r1 - 9f00: 7835 ldrb r5, [r6, #0] + 9f66: 1846 adds r6, r0, r1 + 9f68: 7835 ldrb r5, [r6, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - 9f02: 2af9 cmp r2, #249 ; 0xf9 - 9f04: d809 bhi.n 9f1a + 9f6a: 2af9 cmp r2, #249 ; 0xf9 + 9f6c: d809 bhi.n 9f82 if(mask_new <= LV_OPA_MIN) return 0; - 9f06: 2a05 cmp r2, #5 - 9f08: d800 bhi.n 9f0c - 9f0a: e741 b.n 9d90 + 9f6e: 2a05 cmp r2, #5 + 9f70: d800 bhi.n 9f74 + 9f72: e741 b.n 9df8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - 9f0c: 436a muls r2, r5 - 9f0e: 0215 lsls r5, r2, #8 - 9f10: 18ad adds r5, r5, r2 - 9f12: 01ed lsls r5, r5, #7 - 9f14: 18aa adds r2, r5, r2 - 9f16: 0dd2 lsrs r2, r2, #23 - 9f18: b2d5 uxtb r5, r2 + 9f74: 436a muls r2, r5 + 9f76: 0215 lsls r5, r2, #8 + 9f78: 18ad adds r5, r5, r2 + 9f7a: 01ed lsls r5, r5, #7 + 9f7c: 18aa adds r2, r5, r2 + 9f7e: 0dd2 lsrs r2, r2, #23 + 9f80: b2d5 uxtb r5, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - 9f1a: 7035 strb r5, [r6, #0] + 9f82: 7035 strb r5, [r6, #0] if(p->inv) { - 9f1c: 2228 movs r2, #40 ; 0x28 - 9f1e: 5ca2 ldrb r2, [r4, r2] - 9f20: 0792 lsls r2, r2, #30 - 9f22: d400 bmi.n 9f26 - 9f24: e738 b.n 9d98 + 9f84: 2228 movs r2, #40 ; 0x28 + 9f86: 5ca2 ldrb r2, [r4, r2] + 9f88: 0792 lsls r2, r2, #30 + 9f8a: d400 bmi.n 9f8e + 9f8c: e738 b.n 9e00 return LV_DRAW_MASK_RES_CHANGED; - 9f26: 2402 movs r4, #2 + 9f8e: 2402 movs r4, #2 if(k > len) k = len; - 9f28: 4588 cmp r8, r1 - 9f2a: da00 bge.n 9f2e - 9f2c: e5df b.n 9aee + 9f90: 4588 cmp r8, r1 + 9f92: da00 bge.n 9f96 + 9f94: e5df b.n 9b56 else if(k > 0) _lv_memset_00(&mask_buf[0], k); - 9f2e: 2900 cmp r1, #0 - 9f30: dc00 bgt.n 9f34 - 9f32: e5dc b.n 9aee - 9f34: 4b01 ldr r3, [pc, #4] ; (9f3c ) - 9f36: 4798 blx r3 - 9f38: e5d9 b.n 9aee - 9f3a: 46c0 nop ; (mov r8, r8) - 9f3c: 00010fe5 .word 0x00010fe5 - -00009f40 : -{ - 9f40: b5f0 push {r4, r5, r6, r7, lr} - 9f42: 46de mov lr, fp - 9f44: 4657 mov r7, sl - 9f46: 464e mov r6, r9 - 9f48: 4645 mov r5, r8 - 9f4a: b5e0 push {r5, r6, r7, lr} - 9f4c: b08d sub sp, #52 ; 0x34 - 9f4e: 9001 str r0, [sp, #4] - 9f50: 4689 mov r9, r1 - 9f52: 9300 str r3, [sp, #0] - 9f54: 9d16 ldr r5, [sp, #88] ; 0x58 + 9f96: 2900 cmp r1, #0 + 9f98: dc00 bgt.n 9f9c + 9f9a: e5dc b.n 9b56 + 9f9c: 4b01 ldr r3, [pc, #4] ; (9fa4 ) + 9f9e: 4798 blx r3 + 9fa0: e5d9 b.n 9b56 + 9fa2: 46c0 nop ; (mov r8, r8) + 9fa4: 0001104d .word 0x0001104d + +00009fa8 : +{ + 9fa8: b5f0 push {r4, r5, r6, r7, lr} + 9faa: 46de mov lr, fp + 9fac: 4657 mov r7, sl + 9fae: 464e mov r6, r9 + 9fb0: 4645 mov r5, r8 + 9fb2: b5e0 push {r5, r6, r7, lr} + 9fb4: b08d sub sp, #52 ; 0x34 + 9fb6: 9001 str r0, [sp, #4] + 9fb8: 4689 mov r9, r1 + 9fba: 9300 str r3, [sp, #0] + 9fbc: 9d16 ldr r5, [sp, #88] ; 0x58 bool outer = p->cfg.outer; - 9f56: 7cac ldrb r4, [r5, #18] - 9f58: 07e4 lsls r4, r4, #31 - 9f5a: 0fe4 lsrs r4, r4, #31 + 9fbe: 7cac ldrb r4, [r5, #18] + 9fc0: 07e4 lsls r4, r4, #31 + 9fc2: 0fe4 lsrs r4, r4, #31 int32_t radius = p->cfg.radius; - 9f5c: 2310 movs r3, #16 - 9f5e: 5eee ldrsh r6, [r5, r3] + 9fc4: 2310 movs r3, #16 + 9fc6: 5eee ldrsh r6, [r5, r3] lv_area_copy(&rect, &p->cfg.rect); - 9f60: 002f movs r7, r5 - 9f62: 3708 adds r7, #8 - 9f64: 2300 movs r3, #0 + 9fc8: 002f movs r7, r5 + 9fca: 3708 adds r7, #8 + 9fcc: 2300 movs r3, #0 *d8 = *s8; - 9f66: a80a add r0, sp, #40 ; 0x28 - 9f68: 5cf9 ldrb r1, [r7, r3] - 9f6a: 5419 strb r1, [r3, r0] - 9f6c: 3301 adds r3, #1 + 9fce: a80a add r0, sp, #40 ; 0x28 + 9fd0: 5cf9 ldrb r1, [r7, r3] + 9fd2: 5419 strb r1, [r3, r0] + 9fd4: 3301 adds r3, #1 while(len) { - 9f6e: 2b08 cmp r3, #8 - 9f70: d1fa bne.n 9f68 + 9fd6: 2b08 cmp r3, #8 + 9fd8: d1fa bne.n 9fd0 if(outer == false) { - 9f72: 2c00 cmp r4, #0 - 9f74: d145 bne.n a002 + 9fda: 2c00 cmp r4, #0 + 9fdc: d145 bne.n a06a if(abs_y < rect.y1 || abs_y > rect.y2) { - 9f76: ab0a add r3, sp, #40 ; 0x28 - 9f78: 2102 movs r1, #2 - 9f7a: 5e5b ldrsh r3, [r3, r1] + 9fde: ab0a add r3, sp, #40 ; 0x28 + 9fe0: 2102 movs r1, #2 + 9fe2: 5e5b ldrsh r3, [r3, r1] return LV_DRAW_MASK_RES_TRANSP; - 9f7c: 2000 movs r0, #0 + 9fe4: 2000 movs r0, #0 if(abs_y < rect.y1 || abs_y > rect.y2) { - 9f7e: 4293 cmp r3, r2 - 9f80: dc4a bgt.n a018 - 9f82: ab0a add r3, sp, #40 ; 0x28 - 9f84: 2106 movs r1, #6 - 9f86: 5e5b ldrsh r3, [r3, r1] - 9f88: 4293 cmp r3, r2 - 9f8a: db45 blt.n a018 + 9fe6: 4293 cmp r3, r2 + 9fe8: dc4a bgt.n a080 + 9fea: ab0a add r3, sp, #40 ; 0x28 + 9fec: 2106 movs r1, #6 + 9fee: 5e5b ldrsh r3, [r3, r1] + 9ff0: 4293 cmp r3, r2 + 9ff2: db45 blt.n a080 int32_t radius = p->cfg.radius; - 9f8c: 46b4 mov ip, r6 + 9ff4: 46b4 mov ip, r6 if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) || - 9f8e: ab0a add r3, sp, #40 ; 0x28 - 9f90: 2000 movs r0, #0 - 9f92: 5e1b ldrsh r3, [r3, r0] - 9f94: 469a mov sl, r3 - 9f96: 18f3 adds r3, r6, r3 - 9f98: 4599 cmp r9, r3 - 9f9a: db08 blt.n 9fae - 9f9c: 9b00 ldr r3, [sp, #0] - 9f9e: 444b add r3, r9 - 9fa0: 0018 movs r0, r3 - 9fa2: ab0a add r3, sp, #40 ; 0x28 - 9fa4: 2104 movs r1, #4 - 9fa6: 5e5b ldrsh r3, [r3, r1] - 9fa8: 1b9b subs r3, r3, r6 - 9faa: 4298 cmp r0, r3 - 9fac: dd0b ble.n 9fc6 + 9ff6: ab0a add r3, sp, #40 ; 0x28 + 9ff8: 2000 movs r0, #0 + 9ffa: 5e1b ldrsh r3, [r3, r0] + 9ffc: 469a mov sl, r3 + 9ffe: 18f3 adds r3, r6, r3 + a000: 4599 cmp r9, r3 + a002: db08 blt.n a016 + a004: 9b00 ldr r3, [sp, #0] + a006: 444b add r3, r9 + a008: 0018 movs r0, r3 + a00a: ab0a add r3, sp, #40 ; 0x28 + a00c: 2104 movs r1, #4 + a00e: 5e5b ldrsh r3, [r3, r1] + a010: 1b9b subs r3, r3, r6 + a012: 4298 cmp r0, r3 + a014: dd0b ble.n a02e (abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) { - 9fae: a80a add r0, sp, #40 ; 0x28 - 9fb0: 2702 movs r7, #2 - 9fb2: 5fc0 ldrsh r0, [r0, r7] - 9fb4: 1987 adds r7, r0, r6 + a016: a80a add r0, sp, #40 ; 0x28 + a018: 2702 movs r7, #2 + a01a: 5fc0 ldrsh r0, [r0, r7] + a01c: 1987 adds r7, r0, r6 if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) || - 9fb6: 42ba cmp r2, r7 - 9fb8: db62 blt.n a080 + a01e: 42ba cmp r2, r7 + a020: db62 blt.n a0e8 (abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) { - 9fba: af0a add r7, sp, #40 ; 0x28 - 9fbc: 2106 movs r1, #6 - 9fbe: 5e7f ldrsh r7, [r7, r1] - 9fc0: 1bbf subs r7, r7, r6 - 9fc2: 42ba cmp r2, r7 - 9fc4: dc5c bgt.n a080 + a022: af0a add r7, sp, #40 ; 0x28 + a024: 2106 movs r1, #6 + a026: 5e7f ldrsh r7, [r7, r1] + a028: 1bbf subs r7, r7, r6 + a02a: 42ba cmp r2, r7 + a02c: dc5c bgt.n a0e8 if(outer == false) { - 9fc6: 2c00 cmp r4, #0 - 9fc8: d13c bne.n a044 + a02e: 2c00 cmp r4, #0 + a030: d13c bne.n a0ac int32_t last = rect.x1 - abs_x; - 9fca: 4653 mov r3, sl - 9fcc: 464a mov r2, r9 - 9fce: 1a9c subs r4, r3, r2 + a032: 4653 mov r3, sl + a034: 464a mov r2, r9 + a036: 1a9c subs r4, r3, r2 if(last > len) return LV_DRAW_MASK_RES_TRANSP; - 9fd0: 9d00 ldr r5, [sp, #0] - 9fd2: 2000 movs r0, #0 - 9fd4: 42ac cmp r4, r5 - 9fd6: dc1f bgt.n a018 + a038: 9d00 ldr r5, [sp, #0] + a03a: 2000 movs r0, #0 + a03c: 42ac cmp r4, r5 + a03e: dc1f bgt.n a080 if(last >= 0) { - 9fd8: 2c00 cmp r4, #0 - 9fda: db03 blt.n 9fe4 + a040: 2c00 cmp r4, #0 + a042: db03 blt.n a04c _lv_memset_00(&mask_buf[0], last); - 9fdc: 0021 movs r1, r4 - 9fde: 9801 ldr r0, [sp, #4] - 9fe0: 4ba2 ldr r3, [pc, #648] ; (a26c ) - 9fe2: 4798 blx r3 + a044: 0021 movs r1, r4 + a046: 9801 ldr r0, [sp, #4] + a048: 4ba2 ldr r3, [pc, #648] ; (a2d4 ) + a04a: 4798 blx r3 int32_t first = rect.x2 - abs_x + 1; - 9fe4: ab0a add r3, sp, #40 ; 0x28 - 9fe6: 2004 movs r0, #4 - 9fe8: 5e18 ldrsh r0, [r3, r0] - 9fea: 464b mov r3, r9 - 9fec: 1ac0 subs r0, r0, r3 - 9fee: 3001 adds r0, #1 + a04c: ab0a add r3, sp, #40 ; 0x28 + a04e: 2004 movs r0, #4 + a050: 5e18 ldrsh r0, [r3, r0] + a052: 464b mov r3, r9 + a054: 1ac0 subs r0, r0, r3 + a056: 3001 adds r0, #1 if(first <= 0) return LV_DRAW_MASK_RES_TRANSP; - 9ff0: 2800 cmp r0, #0 - 9ff2: dc00 bgt.n 9ff6 - 9ff4: e20b b.n a40e + a058: 2800 cmp r0, #0 + a05a: dc00 bgt.n a05e + a05c: e20b b.n a476 else if(first < len) { - 9ff6: 4285 cmp r5, r0 - 9ff8: dc15 bgt.n a026 + a05e: 4285 cmp r5, r0 + a060: dc15 bgt.n a08e if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - 9ffa: 2c00 cmp r4, #0 - 9ffc: d01e beq.n a03c + a062: 2c00 cmp r4, #0 + a064: d01e beq.n a0a4 else return LV_DRAW_MASK_RES_CHANGED; - 9ffe: 2002 movs r0, #2 - a000: e00a b.n a018 + a066: 2002 movs r0, #2 + a068: e00a b.n a080 if(abs_y < rect.y1 || abs_y > rect.y2) { - a002: ab0a add r3, sp, #40 ; 0x28 - a004: 2102 movs r1, #2 - a006: 5e5b ldrsh r3, [r3, r1] + a06a: ab0a add r3, sp, #40 ; 0x28 + a06c: 2102 movs r1, #2 + a06e: 5e5b ldrsh r3, [r3, r1] return LV_DRAW_MASK_RES_FULL_COVER; - a008: 2001 movs r0, #1 + a070: 2001 movs r0, #1 if(abs_y < rect.y1 || abs_y > rect.y2) { - a00a: 4293 cmp r3, r2 - a00c: dc04 bgt.n a018 - a00e: ab0a add r3, sp, #40 ; 0x28 - a010: 2106 movs r1, #6 - a012: 5e5b ldrsh r3, [r3, r1] - a014: 4293 cmp r3, r2 - a016: dab9 bge.n 9f8c -} - a018: b00d add sp, #52 ; 0x34 - a01a: bc3c pop {r2, r3, r4, r5} - a01c: 4690 mov r8, r2 - a01e: 4699 mov r9, r3 - a020: 46a2 mov sl, r4 - a022: 46ab mov fp, r5 - a024: bdf0 pop {r4, r5, r6, r7, pc} + a072: 4293 cmp r3, r2 + a074: dc04 bgt.n a080 + a076: ab0a add r3, sp, #40 ; 0x28 + a078: 2106 movs r1, #6 + a07a: 5e5b ldrsh r3, [r3, r1] + a07c: 4293 cmp r3, r2 + a07e: dab9 bge.n 9ff4 +} + a080: b00d add sp, #52 ; 0x34 + a082: bc3c pop {r2, r3, r4, r5} + a084: 4690 mov r8, r2 + a086: 4699 mov r9, r3 + a088: 46a2 mov sl, r4 + a08a: 46ab mov fp, r5 + a08c: bdf0 pop {r4, r5, r6, r7, pc} _lv_memset_00(&mask_buf[first], len - first); - a026: 9b00 ldr r3, [sp, #0] - a028: 1a19 subs r1, r3, r0 - a02a: 9b01 ldr r3, [sp, #4] - a02c: 469c mov ip, r3 - a02e: 4460 add r0, ip - a030: 4b8e ldr r3, [pc, #568] ; (a26c ) - a032: 4798 blx r3 + a08e: 9b00 ldr r3, [sp, #0] + a090: 1a19 subs r1, r3, r0 + a092: 9b01 ldr r3, [sp, #4] + a094: 469c mov ip, r3 + a096: 4460 add r0, ip + a098: 4b8e ldr r3, [pc, #568] ; (a2d4 ) + a09a: 4798 blx r3 if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - a034: 2c00 cmp r4, #0 - a036: d1e2 bne.n 9ffe + a09c: 2c00 cmp r4, #0 + a09e: d1e2 bne.n a066 else return LV_DRAW_MASK_RES_CHANGED; - a038: 2002 movs r0, #2 - a03a: e7ed b.n a018 + a0a0: 2002 movs r0, #2 + a0a2: e7ed b.n a080 if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - a03c: 4285 cmp r5, r0 - a03e: d1de bne.n 9ffe - a040: 2001 movs r0, #1 - a042: e7e9 b.n a018 + a0a4: 4285 cmp r5, r0 + a0a6: d1de bne.n a066 + a0a8: 2001 movs r0, #1 + a0aa: e7e9 b.n a080 int32_t first = rect.x1 - abs_x; - a044: 4653 mov r3, sl - a046: 464a mov r2, r9 - a048: 1a9b subs r3, r3, r2 - a04a: 43da mvns r2, r3 - a04c: 17d2 asrs r2, r2, #31 - a04e: 4013 ands r3, r2 + a0ac: 4653 mov r3, sl + a0ae: 464a mov r2, r9 + a0b0: 1a9b subs r3, r3, r2 + a0b2: 43da mvns r2, r3 + a0b4: 17d2 asrs r2, r2, #31 + a0b6: 4013 ands r3, r2 if(first <= len) { - a050: 9a00 ldr r2, [sp, #0] + a0b8: 9a00 ldr r2, [sp, #0] return LV_DRAW_MASK_RES_CHANGED; - a052: 2002 movs r0, #2 + a0ba: 2002 movs r0, #2 if(first <= len) { - a054: 4293 cmp r3, r2 - a056: dcdf bgt.n a018 + a0bc: 4293 cmp r3, r2 + a0be: dcdf bgt.n a080 int32_t last = rect.x2 - abs_x - first + 1; - a058: a90a add r1, sp, #40 ; 0x28 - a05a: 2004 movs r0, #4 - a05c: 5e09 ldrsh r1, [r1, r0] - a05e: 4648 mov r0, r9 - a060: 1a09 subs r1, r1, r0 - a062: 1ac9 subs r1, r1, r3 - a064: 3101 adds r1, #1 + a0c0: a90a add r1, sp, #40 ; 0x28 + a0c2: 2004 movs r0, #4 + a0c4: 5e09 ldrsh r1, [r1, r0] + a0c6: 4648 mov r0, r9 + a0c8: 1a09 subs r1, r1, r0 + a0ca: 1ac9 subs r1, r1, r3 + a0cc: 3101 adds r1, #1 if(first + last > len) last = len - first; - a066: 1858 adds r0, r3, r1 - a068: 4282 cmp r2, r0 - a06a: da00 bge.n a06e - a06c: 1ad1 subs r1, r2, r3 + a0ce: 1858 adds r0, r3, r1 + a0d0: 4282 cmp r2, r0 + a0d2: da00 bge.n a0d6 + a0d4: 1ad1 subs r1, r2, r3 return LV_DRAW_MASK_RES_CHANGED; - a06e: 2002 movs r0, #2 + a0d6: 2002 movs r0, #2 if(last >= 0) { - a070: 2900 cmp r1, #0 - a072: dbd1 blt.n a018 + a0d8: 2900 cmp r1, #0 + a0da: dbd1 blt.n a080 _lv_memset_00(&mask_buf[first], last); - a074: 9a01 ldr r2, [sp, #4] - a076: 18d0 adds r0, r2, r3 - a078: 4b7c ldr r3, [pc, #496] ; (a26c ) - a07a: 4798 blx r3 + a0dc: 9a01 ldr r2, [sp, #4] + a0de: 18d0 adds r0, r2, r3 + a0e0: 4b7c ldr r3, [pc, #496] ; (a2d4 ) + a0e2: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - a07c: 2002 movs r0, #2 - a07e: e7cb b.n a018 - a080: ab0a add r3, sp, #40 ; 0x28 - a082: 2104 movs r1, #4 - a084: 5e5f ldrsh r7, [r3, r1] + a0e4: 2002 movs r0, #2 + a0e6: e7cb b.n a080 + a0e8: ab0a add r3, sp, #40 ; 0x28 + a0ea: 2104 movs r1, #4 + a0ec: 5e5f ldrsh r7, [r3, r1] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - a086: b280 uxth r0, r0 - a088: 88db ldrh r3, [r3, #6] - a08a: 3301 adds r3, #1 - a08c: 1a1b subs r3, r3, r0 + a0ee: b280 uxth r0, r0 + a0f0: 88db ldrh r3, [r3, #6] + a0f2: 3301 adds r3, #1 + a0f4: 1a1b subs r3, r3, r0 int32_t h = lv_area_get_height(&rect); - a08e: b21b sxth r3, r3 + a0f6: b21b sxth r3, r3 abs_y -= rect.y1; - a090: 1a12 subs r2, r2, r0 + a0f8: 1a12 subs r2, r2, r0 uint32_t r2 = p->cfg.radius * p->cfg.radius; - a092: 0030 movs r0, r6 - a094: 4370 muls r0, r6 - a096: 4680 mov r8, r0 + a0fa: 0030 movs r0, r6 + a0fc: 4370 muls r0, r6 + a0fe: 4680 mov r8, r0 if(abs_y < radius || abs_y > h - radius - 1) { - a098: b212 sxth r2, r2 - a09a: 4594 cmp ip, r2 - a09c: dd00 ble.n a0a0 - a09e: e1e0 b.n a462 - a0a0: 1b98 subs r0, r3, r6 - a0a2: 3801 subs r0, #1 - a0a4: 4282 cmp r2, r0 - a0a6: dd00 ble.n a0aa - a0a8: e1b3 b.n a412 + a100: b212 sxth r2, r2 + a102: 4594 cmp ip, r2 + a104: dd00 ble.n a108 + a106: e1e0 b.n a4ca + a108: 1b98 subs r0, r3, r6 + a10a: 3801 subs r0, #1 + a10c: 4282 cmp r2, r0 + a10e: dd00 ble.n a112 + a110: e1b3 b.n a47a return LV_DRAW_MASK_RES_CHANGED; - a0aa: 2002 movs r0, #2 - a0ac: e7b4 b.n a018 + a112: 2002 movs r0, #2 + a114: e7b4 b.n a080 x0.f = p->y_prev_x.f; - a0ae: 8b6b ldrh r3, [r5, #26] - a0b0: aa06 add r2, sp, #24 - a0b2: 8053 strh r3, [r2, #2] + a116: 8b6b ldrh r3, [r5, #26] + a118: aa06 add r2, sp, #24 + a11a: 8053 strh r3, [r2, #2] x0.i = p->y_prev_x.i; - a0b4: 8b2b ldrh r3, [r5, #24] - a0b6: 8013 strh r3, [r2, #0] - a0b8: e1e9 b.n a48e + a11c: 8b2b ldrh r3, [r5, #24] + a11e: 8013 strh r3, [r2, #0] + a120: e1e9 b.n a4f6 if(radius <= 256) sqrt_mask = 0x800; - a0ba: 2180 movs r1, #128 ; 0x80 - a0bc: 0109 lsls r1, r1, #4 - a0be: 9102 str r1, [sp, #8] - a0c0: e1af b.n a422 + a122: 2180 movs r1, #128 ; 0x80 + a124: 0109 lsls r1, r1, #4 + a126: 9102 str r1, [sp, #8] + a128: e1af b.n a48a x1.f = p->y_prev_x.f; - a0c2: ab07 add r3, sp, #28 - a0c4: 8b6a ldrh r2, [r5, #26] - a0c6: 805a strh r2, [r3, #2] + a12a: ab07 add r3, sp, #28 + a12c: 8b6a ldrh r2, [r5, #26] + a12e: 805a strh r2, [r3, #2] x1.i = p->y_prev_x.i; - a0c8: 8b2a ldrh r2, [r5, #24] - a0ca: 801a strh r2, [r3, #0] - a0cc: e1b8 b.n a440 + a130: 8b2a ldrh r2, [r5, #24] + a132: 801a strh r2, [r3, #0] + a134: e1b8 b.n a4a8 if(x0.i == x1.i - 1 && x1.f == 0) { - a0ce: a907 add r1, sp, #28 - a0d0: 8849 ldrh r1, [r1, #2] - a0d2: 2900 cmp r1, #0 - a0d4: d000 beq.n a0d8 - a0d6: e1f5 b.n a4c4 + a136: a907 add r1, sp, #28 + a138: 8849 ldrh r1, [r1, #2] + a13a: 2900 cmp r1, #0 + a13c: d000 beq.n a140 + a13e: e1f5 b.n a52c x1.i--; - a0d8: a907 add r1, sp, #28 - a0da: 3a01 subs r2, #1 - a0dc: 800a strh r2, [r1, #0] + a140: a907 add r1, sp, #28 + a142: 3a01 subs r2, #1 + a144: 800a strh r2, [r1, #0] x1.f = 0xFF; - a0de: 22ff movs r2, #255 ; 0xff - a0e0: 804a strh r2, [r1, #2] - a0e2: e1ef b.n a4c4 + a146: 22ff movs r2, #255 ; 0xff + a148: 804a strh r2, [r1, #2] + a14a: e1ef b.n a52c lv_opa_t m = (x0.f + x1.f) >> 1; - a0e4: a906 add r1, sp, #24 - a0e6: 8849 ldrh r1, [r1, #2] - a0e8: ad07 add r5, sp, #28 - a0ea: 886d ldrh r5, [r5, #2] - a0ec: 1949 adds r1, r1, r5 - a0ee: 1049 asrs r1, r1, #1 - a0f0: b2cf uxtb r7, r1 + a14c: a906 add r1, sp, #24 + a14e: 8849 ldrh r1, [r1, #2] + a150: ad07 add r5, sp, #28 + a152: 886d ldrh r5, [r5, #2] + a154: 1949 adds r1, r1, r5 + a156: 1049 asrs r1, r1, #1 + a158: b2cf uxtb r7, r1 if(outer) m = 255 - m; - a0f2: 2c00 cmp r4, #0 - a0f4: d001 beq.n a0fa - a0f6: 43ff mvns r7, r7 - a0f8: b2ff uxtb r7, r7 + a15a: 2c00 cmp r4, #0 + a15c: d001 beq.n a162 + a15e: 43ff mvns r7, r7 + a160: b2ff uxtb r7, r7 int32_t ofs = radius - x0.i - 1; - a0fa: 1af3 subs r3, r6, r3 - a0fc: 3b01 subs r3, #1 + a162: 1af3 subs r3, r6, r3 + a164: 3b01 subs r3, #1 if(kl >= 0 && kl < len) { - a0fe: 18c1 adds r1, r0, r3 - a100: d412 bmi.n a128 - a102: 9d00 ldr r5, [sp, #0] - a104: 42a9 cmp r1, r5 - a106: da0f bge.n a128 + a166: 18c1 adds r1, r0, r3 + a168: d412 bmi.n a190 + a16a: 9d00 ldr r5, [sp, #0] + a16c: 42a9 cmp r1, r5 + a16e: da0f bge.n a190 mask_buf[kl] = mask_mix(mask_buf[kl], m); - a108: 9d01 ldr r5, [sp, #4] - a10a: 186e adds r6, r5, r1 - a10c: 7835 ldrb r5, [r6, #0] + a170: 9d01 ldr r5, [sp, #4] + a172: 186e adds r6, r5, r1 + a174: 7835 ldrb r5, [r6, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - a10e: 2ff9 cmp r7, #249 ; 0xf9 - a110: d809 bhi.n a126 + a176: 2ff9 cmp r7, #249 ; 0xf9 + a178: d809 bhi.n a18e if(mask_new <= LV_OPA_MIN) return 0; - a112: 2f05 cmp r7, #5 - a114: d936 bls.n a184 + a17a: 2f05 cmp r7, #5 + a17c: d936 bls.n a1ec return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a116: 437d muls r5, r7 - a118: 46ac mov ip, r5 - a11a: 022d lsls r5, r5, #8 - a11c: 4465 add r5, ip - a11e: 01ed lsls r5, r5, #7 - a120: 4465 add r5, ip - a122: 0ded lsrs r5, r5, #23 - a124: b2ed uxtb r5, r5 + a17e: 437d muls r5, r7 + a180: 46ac mov ip, r5 + a182: 022d lsls r5, r5, #8 + a184: 4465 add r5, ip + a186: 01ed lsls r5, r5, #7 + a188: 4465 add r5, ip + a18a: 0ded lsrs r5, r5, #23 + a18c: b2ed uxtb r5, r5 mask_buf[kl] = mask_mix(mask_buf[kl], m); - a126: 7035 strb r5, [r6, #0] + a18e: 7035 strb r5, [r6, #0] int32_t kr = k + (w - ofs - 1); - a128: 1ad2 subs r2, r2, r3 - a12a: 3a01 subs r2, #1 + a190: 1ad2 subs r2, r2, r3 + a192: 3a01 subs r2, #1 if(kr >= 0 && kr < len) { - a12c: 1815 adds r5, r2, r0 - a12e: d411 bmi.n a154 - a130: 9b00 ldr r3, [sp, #0] - a132: 429d cmp r5, r3 - a134: da0e bge.n a154 + a194: 1815 adds r5, r2, r0 + a196: d411 bmi.n a1bc + a198: 9b00 ldr r3, [sp, #0] + a19a: 429d cmp r5, r3 + a19c: da0e bge.n a1bc mask_buf[kr] = mask_mix(mask_buf[kr], m); - a136: 9b01 ldr r3, [sp, #4] - a138: 195a adds r2, r3, r5 - a13a: 7813 ldrb r3, [r2, #0] + a19e: 9b01 ldr r3, [sp, #4] + a1a0: 195a adds r2, r3, r5 + a1a2: 7813 ldrb r3, [r2, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - a13c: 2ff9 cmp r7, #249 ; 0xf9 - a13e: d808 bhi.n a152 + a1a4: 2ff9 cmp r7, #249 ; 0xf9 + a1a6: d808 bhi.n a1ba if(mask_new <= LV_OPA_MIN) return 0; - a140: 2f05 cmp r7, #5 - a142: d921 bls.n a188 + a1a8: 2f05 cmp r7, #5 + a1aa: d921 bls.n a1f0 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a144: 435f muls r7, r3 - a146: 023b lsls r3, r7, #8 - a148: 19db adds r3, r3, r7 - a14a: 01db lsls r3, r3, #7 - a14c: 19df adds r7, r3, r7 - a14e: 0dff lsrs r7, r7, #23 - a150: b2fb uxtb r3, r7 + a1ac: 435f muls r7, r3 + a1ae: 023b lsls r3, r7, #8 + a1b0: 19db adds r3, r3, r7 + a1b2: 01db lsls r3, r3, #7 + a1b4: 19df adds r7, r3, r7 + a1b6: 0dff lsrs r7, r7, #23 + a1b8: b2fb uxtb r3, r7 mask_buf[kr] = mask_mix(mask_buf[kr], m); - a152: 7013 strb r3, [r2, #0] + a1ba: 7013 strb r3, [r2, #0] if(outer == false) { - a154: 2c00 cmp r4, #0 - a156: d019 beq.n a18c + a1bc: 2c00 cmp r4, #0 + a1be: d019 beq.n a1f4 kl++; - a158: 1c48 adds r0, r1, #1 - a15a: 43c3 mvns r3, r0 - a15c: 17db asrs r3, r3, #31 - a15e: 4018 ands r0, r3 + a1c0: 1c48 adds r0, r1, #1 + a1c2: 43c3 mvns r3, r0 + a1c4: 17db asrs r3, r3, #31 + a1c6: 4018 ands r0, r3 if(len_tmp + first > len) len_tmp = len - first; - a160: 9a00 ldr r2, [sp, #0] - a162: 0013 movs r3, r2 - a164: 1a11 subs r1, r2, r0 - a166: 4295 cmp r5, r2 - a168: dc00 bgt.n a16c + a1c8: 9a00 ldr r2, [sp, #0] + a1ca: 0013 movs r3, r2 + a1cc: 1a11 subs r1, r2, r0 + a1ce: 4295 cmp r5, r2 + a1d0: dc00 bgt.n a1d4 int32_t len_tmp = kr - first; - a16a: 1a29 subs r1, r5, r0 + a1d2: 1a29 subs r1, r5, r0 if(first < len && len_tmp >= 0) { - a16c: 4298 cmp r0, r3 - a16e: db00 blt.n a172 - a170: e12d b.n a3ce - a172: 2900 cmp r1, #0 - a174: da00 bge.n a178 - a176: e12a b.n a3ce + a1d4: 4298 cmp r0, r3 + a1d6: db00 blt.n a1da + a1d8: e12d b.n a436 + a1da: 2900 cmp r1, #0 + a1dc: da00 bge.n a1e0 + a1de: e12a b.n a436 _lv_memset_00(&mask_buf[first], len_tmp); - a178: 9b01 ldr r3, [sp, #4] - a17a: 469c mov ip, r3 - a17c: 4460 add r0, ip - a17e: 4b3b ldr r3, [pc, #236] ; (a26c ) - a180: 4798 blx r3 - a182: e124 b.n a3ce + a1e0: 9b01 ldr r3, [sp, #4] + a1e2: 469c mov ip, r3 + a1e4: 4460 add r0, ip + a1e6: 4b3b ldr r3, [pc, #236] ; (a2d4 ) + a1e8: 4798 blx r3 + a1ea: e124 b.n a436 if(mask_new <= LV_OPA_MIN) return 0; - a184: 2500 movs r5, #0 - a186: e7ce b.n a126 - a188: 2300 movs r3, #0 - a18a: e7e2 b.n a152 + a1ec: 2500 movs r5, #0 + a1ee: e7ce b.n a18e + a1f0: 2300 movs r3, #0 + a1f2: e7e2 b.n a1ba if(kl > len) { - a18c: 9c00 ldr r4, [sp, #0] - a18e: 42a1 cmp r1, r4 - a190: dd00 ble.n a194 - a192: e13a b.n a40a + a1f4: 9c00 ldr r4, [sp, #0] + a1f6: 42a1 cmp r1, r4 + a1f8: dd00 ble.n a1fc + a1fa: e13a b.n a472 if(kl >= 0) { - a194: 2900 cmp r1, #0 - a196: db02 blt.n a19e + a1fc: 2900 cmp r1, #0 + a1fe: db02 blt.n a206 _lv_memset_00(&mask_buf[0], kl); - a198: 9801 ldr r0, [sp, #4] - a19a: 4b34 ldr r3, [pc, #208] ; (a26c ) - a19c: 4798 blx r3 + a200: 9801 ldr r0, [sp, #4] + a202: 4b34 ldr r3, [pc, #208] ; (a2d4 ) + a204: 4798 blx r3 if(kr < 0) { - a19e: 1c68 adds r0, r5, #1 - a1a0: d500 bpl.n a1a4 - a1a2: e132 b.n a40a + a206: 1c68 adds r0, r5, #1 + a208: d500 bpl.n a20c + a20a: e132 b.n a472 if(kr <= len) { - a1a4: 42a0 cmp r0, r4 - a1a6: dd00 ble.n a1aa - a1a8: e111 b.n a3ce + a20c: 42a0 cmp r0, r4 + a20e: dd00 ble.n a212 + a210: e111 b.n a436 _lv_memset_00(&mask_buf[kr], len - kr); - a1aa: 9b00 ldr r3, [sp, #0] - a1ac: 1a19 subs r1, r3, r0 - a1ae: 9b01 ldr r3, [sp, #4] - a1b0: 469c mov ip, r3 - a1b2: 4460 add r0, ip - a1b4: 4b2d ldr r3, [pc, #180] ; (a26c ) - a1b6: 4798 blx r3 - a1b8: e109 b.n a3ce + a212: 9b00 ldr r3, [sp, #0] + a214: 1a19 subs r1, r3, r0 + a216: 9b01 ldr r3, [sp, #4] + a218: 469c mov ip, r3 + a21a: 4460 add r0, ip + a21c: 4b2d ldr r3, [pc, #180] ; (a2d4 ) + a21e: 4798 blx r3 + a220: e109 b.n a436 _lv_sqrt(r2 - (i * i), &y_next, sqrt_mask); - a1ba: ad09 add r5, sp, #36 ; 0x24 - a1bc: 9b05 ldr r3, [sp, #20] - a1be: 0018 movs r0, r3 - a1c0: 4358 muls r0, r3 - a1c2: 4643 mov r3, r8 - a1c4: 1a18 subs r0, r3, r0 - a1c6: 9a02 ldr r2, [sp, #8] - a1c8: 0029 movs r1, r5 - a1ca: 4b29 ldr r3, [pc, #164] ; (a270 ) - a1cc: 4798 blx r3 + a222: ad09 add r5, sp, #36 ; 0x24 + a224: 9b05 ldr r3, [sp, #20] + a226: 0018 movs r0, r3 + a228: 4358 muls r0, r3 + a22a: 4643 mov r3, r8 + a22c: 1a18 subs r0, r3, r0 + a22e: 9a02 ldr r2, [sp, #8] + a230: 0029 movs r1, r5 + a232: 4b29 ldr r3, [pc, #164] ; (a2d8 ) + a234: 4798 blx r3 m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9); - a1ce: 886a ldrh r2, [r5, #2] - a1d0: ab06 add r3, sp, #24 - a1d2: 8859 ldrh r1, [r3, #2] - a1d4: 23ff movs r3, #255 ; 0xff - a1d6: 1a59 subs r1, r3, r1 - a1d8: 1a9b subs r3, r3, r2 - a1da: 434b muls r3, r1 - a1dc: 125b asrs r3, r3, #9 - a1de: b2db uxtb r3, r3 + a236: 886a ldrh r2, [r5, #2] + a238: ab06 add r3, sp, #24 + a23a: 8859 ldrh r1, [r3, #2] + a23c: 23ff movs r3, #255 ; 0xff + a23e: 1a59 subs r1, r3, r1 + a240: 1a9b subs r3, r3, r2 + a242: 434b muls r3, r1 + a244: 125b asrs r3, r3, #9 + a246: b2db uxtb r3, r3 if(outer) m = 255 - m; - a1e0: 2c00 cmp r4, #0 - a1e2: d101 bne.n a1e8 + a248: 2c00 cmp r4, #0 + a24a: d101 bne.n a250 m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9); - a1e4: 43db mvns r3, r3 - a1e6: b2db uxtb r3, r3 + a24c: 43db mvns r3, r3 + a24e: b2db uxtb r3, r3 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - a1e8: 9d03 ldr r5, [sp, #12] - a1ea: 2d00 cmp r5, #0 - a1ec: db14 blt.n a218 - a1ee: 9800 ldr r0, [sp, #0] - a1f0: 4285 cmp r5, r0 - a1f2: da11 bge.n a218 - a1f4: 9901 ldr r1, [sp, #4] - a1f6: 0008 movs r0, r1 - a1f8: 46ac mov ip, r5 - a1fa: 4460 add r0, ip - a1fc: 7801 ldrb r1, [r0, #0] + a250: 9d03 ldr r5, [sp, #12] + a252: 2d00 cmp r5, #0 + a254: db14 blt.n a280 + a256: 9800 ldr r0, [sp, #0] + a258: 4285 cmp r5, r0 + a25a: da11 bge.n a280 + a25c: 9901 ldr r1, [sp, #4] + a25e: 0008 movs r0, r1 + a260: 46ac mov ip, r5 + a262: 4460 add r0, ip + a264: 7801 ldrb r1, [r0, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - a1fe: 2bf9 cmp r3, #249 ; 0xf9 - a200: d809 bhi.n a216 + a266: 2bf9 cmp r3, #249 ; 0xf9 + a268: d809 bhi.n a27e if(mask_new <= LV_OPA_MIN) return 0; - a202: 2b05 cmp r3, #5 - a204: d92b bls.n a25e + a26a: 2b05 cmp r3, #5 + a26c: d92b bls.n a2c6 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a206: 4359 muls r1, r3 - a208: 000d movs r5, r1 - a20a: 0209 lsls r1, r1, #8 - a20c: 1949 adds r1, r1, r5 - a20e: 01c9 lsls r1, r1, #7 - a210: 1949 adds r1, r1, r5 - a212: 0dc9 lsrs r1, r1, #23 - a214: b2c9 uxtb r1, r1 + a26e: 4359 muls r1, r3 + a270: 000d movs r5, r1 + a272: 0209 lsls r1, r1, #8 + a274: 1949 adds r1, r1, r5 + a276: 01c9 lsls r1, r1, #7 + a278: 1949 adds r1, r1, r5 + a27a: 0dc9 lsrs r1, r1, #23 + a27c: b2c9 uxtb r1, r1 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - a216: 7001 strb r1, [r0, #0] + a27e: 7001 strb r1, [r0, #0] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - a218: 9d04 ldr r5, [sp, #16] - a21a: 2d00 cmp r5, #0 - a21c: db13 blt.n a246 - a21e: 9800 ldr r0, [sp, #0] - a220: 4285 cmp r5, r0 - a222: da10 bge.n a246 - a224: 9901 ldr r1, [sp, #4] - a226: 0008 movs r0, r1 - a228: 46ac mov ip, r5 - a22a: 4460 add r0, ip - a22c: 7801 ldrb r1, [r0, #0] + a280: 9d04 ldr r5, [sp, #16] + a282: 2d00 cmp r5, #0 + a284: db13 blt.n a2ae + a286: 9800 ldr r0, [sp, #0] + a288: 4285 cmp r5, r0 + a28a: da10 bge.n a2ae + a28c: 9901 ldr r1, [sp, #4] + a28e: 0008 movs r0, r1 + a290: 46ac mov ip, r5 + a292: 4460 add r0, ip + a294: 7801 ldrb r1, [r0, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - a22e: 2bf9 cmp r3, #249 ; 0xf9 - a230: d808 bhi.n a244 + a296: 2bf9 cmp r3, #249 ; 0xf9 + a298: d808 bhi.n a2ac if(mask_new <= LV_OPA_MIN) return 0; - a232: 2b05 cmp r3, #5 - a234: d915 bls.n a262 + a29a: 2b05 cmp r3, #5 + a29c: d915 bls.n a2ca return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a236: 434b muls r3, r1 - a238: 0219 lsls r1, r3, #8 - a23a: 18c9 adds r1, r1, r3 - a23c: 01c9 lsls r1, r1, #7 - a23e: 18c9 adds r1, r1, r3 - a240: 0dc9 lsrs r1, r1, #23 - a242: b2c9 uxtb r1, r1 + a29e: 434b muls r3, r1 + a2a0: 0219 lsls r1, r3, #8 + a2a2: 18c9 adds r1, r1, r3 + a2a4: 01c9 lsls r1, r1, #7 + a2a6: 18c9 adds r1, r1, r3 + a2a8: 0dc9 lsrs r1, r1, #23 + a2aa: b2c9 uxtb r1, r1 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - a244: 7001 strb r1, [r0, #0] + a2ac: 7001 strb r1, [r0, #0] kl--; - a246: 9b03 ldr r3, [sp, #12] - a248: 3b01 subs r3, #1 - a24a: 9303 str r3, [sp, #12] + a2ae: 9b03 ldr r3, [sp, #12] + a2b0: 3b01 subs r3, #1 + a2b2: 9303 str r3, [sp, #12] kr++; - a24c: 9b04 ldr r3, [sp, #16] - a24e: 3301 adds r3, #1 - a250: 9304 str r3, [sp, #16] + a2b4: 9b04 ldr r3, [sp, #16] + a2b6: 3301 adds r3, #1 + a2b8: 9304 str r3, [sp, #16] y_prev.f = y_next.f; - a252: ab08 add r3, sp, #32 - a254: 805a strh r2, [r3, #2] + a2ba: ab08 add r3, sp, #32 + a2bc: 805a strh r2, [r3, #2] i++; - a256: 9b05 ldr r3, [sp, #20] - a258: 3301 adds r3, #1 - a25a: 9305 str r3, [sp, #20] - a25c: e176 b.n a54c + a2be: 9b05 ldr r3, [sp, #20] + a2c0: 3301 adds r3, #1 + a2c2: 9305 str r3, [sp, #20] + a2c4: e176 b.n a5b4 if(mask_new <= LV_OPA_MIN) return 0; - a25e: 2100 movs r1, #0 - a260: e7d9 b.n a216 - a262: 2100 movs r1, #0 - a264: e7ee b.n a244 - a266: 2200 movs r2, #0 - a268: e03f b.n a2ea - a26a: 46c0 nop ; (mov r8, r8) - a26c: 00010fe5 .word 0x00010fe5 - a270: 00010941 .word 0x00010941 - a274: 2200 movs r2, #0 + a2c6: 2100 movs r1, #0 + a2c8: e7d9 b.n a27e + a2ca: 2100 movs r1, #0 + a2cc: e7ee b.n a2ac + a2ce: 2200 movs r2, #0 + a2d0: e03f b.n a352 + a2d2: 46c0 nop ; (mov r8, r8) + a2d4: 0001104d .word 0x0001104d + a2d8: 000109a9 .word 0x000109a9 + a2dc: 2200 movs r2, #0 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - a276: 9801 ldr r0, [sp, #4] - a278: 5442 strb r2, [r0, r1] + a2de: 9801 ldr r0, [sp, #4] + a2e0: 5442 strb r2, [r0, r1] kl--; - a27a: 3c01 subs r4, #1 + a2e2: 3c01 subs r4, #1 kr++; - a27c: 2201 movs r2, #1 - a27e: 4694 mov ip, r2 - a280: 44e2 add sl, ip + a2e4: 2201 movs r2, #1 + a2e6: 4694 mov ip, r2 + a2e8: 44e2 add sl, ip for(; i <= x1.i; i++) { - a282: 3701 adds r7, #1 + a2ea: 3701 adds r7, #1 y_prev.f = y_next.f; - a284: 002e movs r6, r5 + a2ec: 002e movs r6, r5 for(; i <= x1.i; i++) { - a286: 455f cmp r7, fp - a288: d846 bhi.n a318 + a2ee: 455f cmp r7, fp + a2f0: d846 bhi.n a380 */ LV_ATTRIBUTE_FAST_MEM static inline void sqrt_approx(lv_sqrt_res_t * q, lv_sqrt_res_t * ref, uint32_t x) { x = x << 8; /*Upscale for extra precision*/ uint32_t raw = (ref->i << 4) + (ref->f >> 4); - a28a: 0935 lsrs r5, r6, #4 - a28c: 9b02 ldr r3, [sp, #8] - a28e: 469c mov ip, r3 - a290: 4465 add r5, ip + a2f2: 0935 lsrs r5, r6, #4 + a2f4: 9b02 ldr r3, [sp, #8] + a2f6: 469c mov ip, r3 + a2f8: 4465 add r5, ip sqrt_approx(&y_next, &y_prev, r2 - (i * i)); - a292: 0038 movs r0, r7 - a294: 4378 muls r0, r7 - a296: 4643 mov r3, r8 - a298: 1a18 subs r0, r3, r0 + a2fa: 0038 movs r0, r7 + a2fc: 4378 muls r0, r7 + a2fe: 4643 mov r3, r8 + a300: 1a18 subs r0, r3, r0 x = x << 8; /*Upscale for extra precision*/ - a29a: 0200 lsls r0, r0, #8 + a302: 0200 lsls r0, r0, #8 uint32_t raw2 = raw * raw; - a29c: 002b movs r3, r5 - a29e: 436b muls r3, r5 + a304: 002b movs r3, r5 + a306: 436b muls r3, r5 int32_t d = x - raw2; - a2a0: 1ac0 subs r0, r0, r3 + a308: 1ac0 subs r0, r0, r3 d = (int32_t)d / (int32_t)(2 * raw) + raw; - a2a2: 0069 lsls r1, r5, #1 - a2a4: 4bb4 ldr r3, [pc, #720] ; (a578 ) - a2a6: 4798 blx r3 - a2a8: 1945 adds r5, r0, r5 + a30a: 0069 lsls r1, r5, #1 + a30c: 4bb4 ldr r3, [pc, #720] ; (a5e0 ) + a30e: 4798 blx r3 + a310: 1945 adds r5, r0, r5 q->i = d >> 4; - a2aa: 112b asrs r3, r5, #4 - a2ac: b29b uxth r3, r3 + a312: 112b asrs r3, r5, #4 + a314: b29b uxth r3, r3 q->f = (d & 0xF) << 4; - a2ae: 012d lsls r5, r5, #4 - a2b0: 22ff movs r2, #255 ; 0xff - a2b2: 4015 ands r5, r2 + a316: 012d lsls r5, r5, #4 + a318: 22ff movs r2, #255 ; 0xff + a31a: 4015 ands r5, r2 m = (y_prev.f + y_next.f) >> 1; - a2b4: 1976 adds r6, r6, r5 - a2b6: 1076 asrs r6, r6, #1 - a2b8: b2f6 uxtb r6, r6 + a31c: 1976 adds r6, r6, r5 + a31e: 1076 asrs r6, r6, #1 + a320: b2f6 uxtb r6, r6 if(outer) m = 255 - m; - a2ba: 464a mov r2, r9 - a2bc: 2a00 cmp r2, #0 - a2be: d001 beq.n a2c4 - a2c0: 43f6 mvns r6, r6 - a2c2: b2f6 uxtb r6, r6 + a322: 464a mov r2, r9 + a324: 2a00 cmp r2, #0 + a326: d001 beq.n a32c + a328: 43f6 mvns r6, r6 + a32a: b2f6 uxtb r6, r6 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - a2c4: 2c00 cmp r4, #0 - a2c6: db12 blt.n a2ee - a2c8: 9a00 ldr r2, [sp, #0] - a2ca: 42a2 cmp r2, r4 - a2cc: dd0f ble.n a2ee - a2ce: 0020 movs r0, r4 - a2d0: 9a01 ldr r2, [sp, #4] - a2d2: 5d12 ldrb r2, [r2, r4] + a32c: 2c00 cmp r4, #0 + a32e: db12 blt.n a356 + a330: 9a00 ldr r2, [sp, #0] + a332: 42a2 cmp r2, r4 + a334: dd0f ble.n a356 + a336: 0020 movs r0, r4 + a338: 9a01 ldr r2, [sp, #4] + a33a: 5d12 ldrb r2, [r2, r4] if(mask_new >= LV_OPA_MAX) return mask_act; - a2d4: 2ef9 cmp r6, #249 ; 0xf9 - a2d6: d808 bhi.n a2ea + a33c: 2ef9 cmp r6, #249 ; 0xf9 + a33e: d808 bhi.n a352 if(mask_new <= LV_OPA_MIN) return 0; - a2d8: 2e05 cmp r6, #5 - a2da: d9c4 bls.n a266 + a340: 2e05 cmp r6, #5 + a342: d9c4 bls.n a2ce return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a2dc: 4372 muls r2, r6 - a2de: 0211 lsls r1, r2, #8 - a2e0: 1889 adds r1, r1, r2 - a2e2: 01c9 lsls r1, r1, #7 - a2e4: 188a adds r2, r1, r2 - a2e6: 0dd2 lsrs r2, r2, #23 - a2e8: b2d2 uxtb r2, r2 + a344: 4372 muls r2, r6 + a346: 0211 lsls r1, r2, #8 + a348: 1889 adds r1, r1, r2 + a34a: 01c9 lsls r1, r1, #7 + a34c: 188a adds r2, r1, r2 + a34e: 0dd2 lsrs r2, r2, #23 + a350: b2d2 uxtb r2, r2 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - a2ea: 9901 ldr r1, [sp, #4] - a2ec: 540a strb r2, [r1, r0] + a352: 9901 ldr r1, [sp, #4] + a354: 540a strb r2, [r1, r0] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - a2ee: 4652 mov r2, sl - a2f0: 2a00 cmp r2, #0 - a2f2: dbc2 blt.n a27a - a2f4: 9a00 ldr r2, [sp, #0] - a2f6: 4552 cmp r2, sl - a2f8: ddbf ble.n a27a - a2fa: 4651 mov r1, sl - a2fc: 9a01 ldr r2, [sp, #4] - a2fe: 5c52 ldrb r2, [r2, r1] + a356: 4652 mov r2, sl + a358: 2a00 cmp r2, #0 + a35a: dbc2 blt.n a2e2 + a35c: 9a00 ldr r2, [sp, #0] + a35e: 4552 cmp r2, sl + a360: ddbf ble.n a2e2 + a362: 4651 mov r1, sl + a364: 9a01 ldr r2, [sp, #4] + a366: 5c52 ldrb r2, [r2, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - a300: 2ef9 cmp r6, #249 ; 0xf9 - a302: d8b8 bhi.n a276 + a368: 2ef9 cmp r6, #249 ; 0xf9 + a36a: d8b8 bhi.n a2de if(mask_new <= LV_OPA_MIN) return 0; - a304: 2e05 cmp r6, #5 - a306: d9b5 bls.n a274 + a36c: 2e05 cmp r6, #5 + a36e: d9b5 bls.n a2dc return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a308: 4356 muls r6, r2 - a30a: 0232 lsls r2, r6, #8 - a30c: 1992 adds r2, r2, r6 - a30e: 01d2 lsls r2, r2, #7 - a310: 1996 adds r6, r2, r6 - a312: 0df6 lsrs r6, r6, #23 - a314: b2f2 uxtb r2, r6 - a316: e7ae b.n a276 - a318: 464c mov r4, r9 - a31a: 465a mov r2, fp - a31c: 43d2 mvns r2, r2 - a31e: 9e05 ldr r6, [sp, #20] - a320: 46b4 mov ip, r6 - a322: 4462 add r2, ip - a324: 9903 ldr r1, [sp, #12] - a326: 468c mov ip, r1 - a328: 4494 add ip, r2 - a32a: 4662 mov r2, ip - a32c: 9203 str r2, [sp, #12] - a32e: 465a mov r2, fp - a330: 1c50 adds r0, r2, #1 - a332: 9a04 ldr r2, [sp, #16] - a334: 4694 mov ip, r2 - a336: 4460 add r0, ip - a338: 1b82 subs r2, r0, r6 - a33a: 9204 str r2, [sp, #16] - a33c: aa08 add r2, sp, #32 - a33e: 8055 strh r5, [r2, #2] - a340: aa09 add r2, sp, #36 ; 0x24 - a342: 8013 strh r3, [r2, #0] - a344: 8055 strh r5, [r2, #2] + a370: 4356 muls r6, r2 + a372: 0232 lsls r2, r6, #8 + a374: 1992 adds r2, r2, r6 + a376: 01d2 lsls r2, r2, #7 + a378: 1996 adds r6, r2, r6 + a37a: 0df6 lsrs r6, r6, #23 + a37c: b2f2 uxtb r2, r6 + a37e: e7ae b.n a2de + a380: 464c mov r4, r9 + a382: 465a mov r2, fp + a384: 43d2 mvns r2, r2 + a386: 9e05 ldr r6, [sp, #20] + a388: 46b4 mov ip, r6 + a38a: 4462 add r2, ip + a38c: 9903 ldr r1, [sp, #12] + a38e: 468c mov ip, r1 + a390: 4494 add ip, r2 + a392: 4662 mov r2, ip + a394: 9203 str r2, [sp, #12] + a396: 465a mov r2, fp + a398: 1c50 adds r0, r2, #1 + a39a: 9a04 ldr r2, [sp, #16] + a39c: 4694 mov ip, r2 + a39e: 4460 add r0, ip + a3a0: 1b82 subs r2, r0, r6 + a3a2: 9204 str r2, [sp, #16] + a3a4: aa08 add r2, sp, #32 + a3a6: 8055 strh r5, [r2, #2] + a3a8: aa09 add r2, sp, #36 ; 0x24 + a3aa: 8013 strh r3, [r2, #0] + a3ac: 8055 strh r5, [r2, #2] if(y_prev.f) { - a346: ab08 add r3, sp, #32 - a348: 885b ldrh r3, [r3, #2] - a34a: 2b00 cmp r3, #0 - a34c: d03d beq.n a3ca + a3ae: ab08 add r3, sp, #32 + a3b0: 885b ldrh r3, [r3, #2] + a3b2: 2b00 cmp r3, #0 + a3b4: d03d beq.n a432 m = (y_prev.f * x1.f) >> 9; - a34e: aa07 add r2, sp, #28 - a350: 8852 ldrh r2, [r2, #2] - a352: 4353 muls r3, r2 - a354: 125b asrs r3, r3, #9 - a356: b2db uxtb r3, r3 + a3b6: aa07 add r2, sp, #28 + a3b8: 8852 ldrh r2, [r2, #2] + a3ba: 4353 muls r3, r2 + a3bc: 125b asrs r3, r3, #9 + a3be: b2db uxtb r3, r3 if(outer) m = 255 - m; - a358: 2c00 cmp r4, #0 - a35a: d001 beq.n a360 - a35c: 43db mvns r3, r3 - a35e: b2db uxtb r3, r3 + a3c0: 2c00 cmp r4, #0 + a3c2: d001 beq.n a3c8 + a3c4: 43db mvns r3, r3 + a3c6: b2db uxtb r3, r3 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - a360: 9a03 ldr r2, [sp, #12] - a362: 2a00 cmp r2, #0 - a364: db14 blt.n a390 - a366: 9900 ldr r1, [sp, #0] - a368: 0008 movs r0, r1 - a36a: 4290 cmp r0, r2 - a36c: dd10 ble.n a390 - a36e: 9901 ldr r1, [sp, #4] - a370: 4694 mov ip, r2 - a372: 4461 add r1, ip - a374: 0008 movs r0, r1 - a376: 780a ldrb r2, [r1, #0] + a3c8: 9a03 ldr r2, [sp, #12] + a3ca: 2a00 cmp r2, #0 + a3cc: db14 blt.n a3f8 + a3ce: 9900 ldr r1, [sp, #0] + a3d0: 0008 movs r0, r1 + a3d2: 4290 cmp r0, r2 + a3d4: dd10 ble.n a3f8 + a3d6: 9901 ldr r1, [sp, #4] + a3d8: 4694 mov ip, r2 + a3da: 4461 add r1, ip + a3dc: 0008 movs r0, r1 + a3de: 780a ldrb r2, [r1, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - a378: 2bf9 cmp r3, #249 ; 0xf9 - a37a: d808 bhi.n a38e + a3e0: 2bf9 cmp r3, #249 ; 0xf9 + a3e2: d808 bhi.n a3f6 if(mask_new <= LV_OPA_MIN) return 0; - a37c: 2b05 cmp r3, #5 - a37e: d928 bls.n a3d2 + a3e4: 2b05 cmp r3, #5 + a3e6: d928 bls.n a43a return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a380: 435a muls r2, r3 - a382: 0211 lsls r1, r2, #8 - a384: 1889 adds r1, r1, r2 - a386: 01c9 lsls r1, r1, #7 - a388: 188a adds r2, r1, r2 - a38a: 0dd2 lsrs r2, r2, #23 - a38c: b2d2 uxtb r2, r2 + a3e8: 435a muls r2, r3 + a3ea: 0211 lsls r1, r2, #8 + a3ec: 1889 adds r1, r1, r2 + a3ee: 01c9 lsls r1, r1, #7 + a3f0: 188a adds r2, r1, r2 + a3f2: 0dd2 lsrs r2, r2, #23 + a3f4: b2d2 uxtb r2, r2 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - a38e: 7002 strb r2, [r0, #0] + a3f6: 7002 strb r2, [r0, #0] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - a390: 9a04 ldr r2, [sp, #16] - a392: 2a00 cmp r2, #0 - a394: db13 blt.n a3be - a396: 9900 ldr r1, [sp, #0] - a398: 0008 movs r0, r1 - a39a: 4290 cmp r0, r2 - a39c: dd0f ble.n a3be - a39e: 9901 ldr r1, [sp, #4] - a3a0: 4694 mov ip, r2 - a3a2: 4461 add r1, ip - a3a4: 780a ldrb r2, [r1, #0] + a3f8: 9a04 ldr r2, [sp, #16] + a3fa: 2a00 cmp r2, #0 + a3fc: db13 blt.n a426 + a3fe: 9900 ldr r1, [sp, #0] + a400: 0008 movs r0, r1 + a402: 4290 cmp r0, r2 + a404: dd0f ble.n a426 + a406: 9901 ldr r1, [sp, #4] + a408: 4694 mov ip, r2 + a40a: 4461 add r1, ip + a40c: 780a ldrb r2, [r1, #0] if(mask_new >= LV_OPA_MAX) return mask_act; - a3a6: 2bf9 cmp r3, #249 ; 0xf9 - a3a8: d808 bhi.n a3bc + a40e: 2bf9 cmp r3, #249 ; 0xf9 + a410: d808 bhi.n a424 if(mask_new <= LV_OPA_MIN) return 0; - a3aa: 2b05 cmp r3, #5 - a3ac: d913 bls.n a3d6 + a412: 2b05 cmp r3, #5 + a414: d913 bls.n a43e return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - a3ae: 4353 muls r3, r2 - a3b0: 021a lsls r2, r3, #8 - a3b2: 18d2 adds r2, r2, r3 - a3b4: 01d2 lsls r2, r2, #7 - a3b6: 18d3 adds r3, r2, r3 - a3b8: 0ddb lsrs r3, r3, #23 - a3ba: b2da uxtb r2, r3 + a416: 4353 muls r3, r2 + a418: 021a lsls r2, r3, #8 + a41a: 18d2 adds r2, r2, r3 + a41c: 01d2 lsls r2, r2, #7 + a41e: 18d3 adds r3, r2, r3 + a420: 0ddb lsrs r3, r3, #23 + a422: b2da uxtb r2, r3 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - a3bc: 700a strb r2, [r1, #0] + a424: 700a strb r2, [r1, #0] kl--; - a3be: 9b03 ldr r3, [sp, #12] - a3c0: 3b01 subs r3, #1 - a3c2: 9303 str r3, [sp, #12] + a426: 9b03 ldr r3, [sp, #12] + a428: 3b01 subs r3, #1 + a42a: 9303 str r3, [sp, #12] kr++; - a3c4: 9b04 ldr r3, [sp, #16] - a3c6: 3301 adds r3, #1 - a3c8: 9304 str r3, [sp, #16] + a42c: 9b04 ldr r3, [sp, #16] + a42e: 3301 adds r3, #1 + a430: 9304 str r3, [sp, #16] if(outer == 0) { - a3ca: 2c00 cmp r4, #0 - a3cc: d005 beq.n a3da + a432: 2c00 cmp r4, #0 + a434: d005 beq.n a442 return LV_DRAW_MASK_RES_CHANGED; - a3ce: 2002 movs r0, #2 - a3d0: e622 b.n a018 + a436: 2002 movs r0, #2 + a438: e622 b.n a080 if(mask_new <= LV_OPA_MIN) return 0; - a3d2: 2200 movs r2, #0 - a3d4: e7db b.n a38e - a3d6: 2200 movs r2, #0 - a3d8: e7f0 b.n a3bc + a43a: 2200 movs r2, #0 + a43c: e7db b.n a3f6 + a43e: 2200 movs r2, #0 + a440: e7f0 b.n a424 kl++; - a3da: 9903 ldr r1, [sp, #12] - a3dc: 3101 adds r1, #1 + a442: 9903 ldr r1, [sp, #12] + a444: 3101 adds r1, #1 if(kl > len) { - a3de: 9c00 ldr r4, [sp, #0] - a3e0: 42a1 cmp r1, r4 - a3e2: dc12 bgt.n a40a + a446: 9c00 ldr r4, [sp, #0] + a448: 42a1 cmp r1, r4 + a44a: dc12 bgt.n a472 if(kl >= 0) _lv_memset_00(&mask_buf[0], kl); - a3e4: 2900 cmp r1, #0 - a3e6: db02 blt.n a3ee - a3e8: 9801 ldr r0, [sp, #4] - a3ea: 4b64 ldr r3, [pc, #400] ; (a57c ) - a3ec: 4798 blx r3 + a44c: 2900 cmp r1, #0 + a44e: db02 blt.n a456 + a450: 9801 ldr r0, [sp, #4] + a452: 4b64 ldr r3, [pc, #400] ; (a5e4 ) + a454: 4798 blx r3 if(kr < 0) { - a3ee: 9b04 ldr r3, [sp, #16] - a3f0: 2b00 cmp r3, #0 - a3f2: db0a blt.n a40a + a456: 9b04 ldr r3, [sp, #16] + a458: 2b00 cmp r3, #0 + a45a: db0a blt.n a472 if(kr < len) _lv_memset_00(&mask_buf[kr], len - kr); - a3f4: 42a3 cmp r3, r4 - a3f6: daea bge.n a3ce - a3f8: 9a00 ldr r2, [sp, #0] - a3fa: 1ad1 subs r1, r2, r3 - a3fc: 9a01 ldr r2, [sp, #4] - a3fe: 469c mov ip, r3 - a400: 4462 add r2, ip - a402: 0010 movs r0, r2 - a404: 4b5d ldr r3, [pc, #372] ; (a57c ) - a406: 4798 blx r3 - a408: e7e1 b.n a3ce + a45c: 42a3 cmp r3, r4 + a45e: daea bge.n a436 + a460: 9a00 ldr r2, [sp, #0] + a462: 1ad1 subs r1, r2, r3 + a464: 9a01 ldr r2, [sp, #4] + a466: 469c mov ip, r3 + a468: 4462 add r2, ip + a46a: 0010 movs r0, r2 + a46c: 4b5d ldr r3, [pc, #372] ; (a5e4 ) + a46e: 4798 blx r3 + a470: e7e1 b.n a436 return LV_DRAW_MASK_RES_TRANSP; - a40a: 2000 movs r0, #0 - a40c: e604 b.n a018 + a472: 2000 movs r0, #0 + a474: e604 b.n a080 if(first <= 0) return LV_DRAW_MASK_RES_TRANSP; - a40e: 2000 movs r0, #0 - a410: e602 b.n a018 + a476: 2000 movs r0, #0 + a478: e602 b.n a080 if(radius <= 256) sqrt_mask = 0x800; - a412: 2080 movs r0, #128 ; 0x80 - a414: 0040 lsls r0, r0, #1 - a416: 4584 cmp ip, r0 - a418: dc00 bgt.n a41c - a41a: e64e b.n a0ba - a41c: 2180 movs r1, #128 ; 0x80 - a41e: 0209 lsls r1, r1, #8 - a420: 9102 str r1, [sp, #8] + a47a: 2080 movs r0, #128 ; 0x80 + a47c: 0040 lsls r0, r0, #1 + a47e: 4584 cmp ip, r0 + a480: dc00 bgt.n a484 + a482: e64e b.n a122 + a484: 2180 movs r1, #128 ; 0x80 + a486: 0209 lsls r1, r1, #8 + a488: 9102 str r1, [sp, #8] y = radius - (h - abs_y) + 1; - a422: 1a9a subs r2, r3, r2 - a424: 1ab0 subs r0, r6, r2 - a426: 1c43 adds r3, r0, #1 - a428: 469b mov fp, r3 + a48a: 1a9a subs r2, r3, r2 + a48c: 1ab0 subs r0, r6, r2 + a48e: 1c43 adds r3, r0, #1 + a490: 469b mov fp, r3 if((y - 1) == p->y_prev) { - a42a: 696b ldr r3, [r5, #20] - a42c: 4298 cmp r0, r3 - a42e: d100 bne.n a432 - a430: e647 b.n a0c2 + a492: 696b ldr r3, [r5, #20] + a494: 4298 cmp r0, r3 + a496: d100 bne.n a49a + a498: e647 b.n a12a _lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask); - a432: 4340 muls r0, r0 - a434: 4643 mov r3, r8 - a436: 1a18 subs r0, r3, r0 - a438: 9a02 ldr r2, [sp, #8] - a43a: a907 add r1, sp, #28 - a43c: 4b50 ldr r3, [pc, #320] ; (a580 ) - a43e: 4798 blx r3 + a49a: 4340 muls r0, r0 + a49c: 4643 mov r3, r8 + a49e: 1a18 subs r0, r3, r0 + a4a0: 9a02 ldr r2, [sp, #8] + a4a2: a907 add r1, sp, #28 + a4a4: 4b50 ldr r3, [pc, #320] ; (a5e8 ) + a4a6: 4798 blx r3 _lv_sqrt(r2 - (y * y), &x0, sqrt_mask); - a440: 4658 mov r0, fp - a442: 4340 muls r0, r0 - a444: 4643 mov r3, r8 - a446: 1a18 subs r0, r3, r0 - a448: 9a02 ldr r2, [sp, #8] - a44a: a906 add r1, sp, #24 - a44c: 4b4c ldr r3, [pc, #304] ; (a580 ) - a44e: 4798 blx r3 + a4a8: 4658 mov r0, fp + a4aa: 4340 muls r0, r0 + a4ac: 4643 mov r3, r8 + a4ae: 1a18 subs r0, r3, r0 + a4b0: 9a02 ldr r2, [sp, #8] + a4b2: a906 add r1, sp, #24 + a4b4: 4b4c ldr r3, [pc, #304] ; (a5e8 ) + a4b6: 4798 blx r3 p->y_prev = y; - a450: 465b mov r3, fp - a452: 616b str r3, [r5, #20] + a4b8: 465b mov r3, fp + a4ba: 616b str r3, [r5, #20] p->y_prev_x.f = x0.f; - a454: ab06 add r3, sp, #24 - a456: 885b ldrh r3, [r3, #2] - a458: 836b strh r3, [r5, #26] + a4bc: ab06 add r3, sp, #24 + a4be: 885b ldrh r3, [r3, #2] + a4c0: 836b strh r3, [r5, #26] p->y_prev_x.i = x0.i; - a45a: ab06 add r3, sp, #24 - a45c: 881b ldrh r3, [r3, #0] - a45e: 832b strh r3, [r5, #24] - a460: e028 b.n a4b4 + a4c2: ab06 add r3, sp, #24 + a4c4: 881b ldrh r3, [r3, #0] + a4c6: 832b strh r3, [r5, #24] + a4c8: e028 b.n a51c if(radius <= 256) sqrt_mask = 0x800; - a462: 2380 movs r3, #128 ; 0x80 - a464: 005b lsls r3, r3, #1 - a466: 459c cmp ip, r3 - a468: dd00 ble.n a46c - a46a: e081 b.n a570 - a46c: 2380 movs r3, #128 ; 0x80 - a46e: 011b lsls r3, r3, #4 - a470: 9302 str r3, [sp, #8] + a4ca: 2380 movs r3, #128 ; 0x80 + a4cc: 005b lsls r3, r3, #1 + a4ce: 459c cmp ip, r3 + a4d0: dd00 ble.n a4d4 + a4d2: e081 b.n a5d8 + a4d4: 2380 movs r3, #128 ; 0x80 + a4d6: 011b lsls r3, r3, #4 + a4d8: 9302 str r3, [sp, #8] y = radius - abs_y; - a472: 1ab3 subs r3, r6, r2 - a474: 469b mov fp, r3 + a4da: 1ab3 subs r3, r6, r2 + a4dc: 469b mov fp, r3 if(y == p->y_prev) { - a476: 696b ldr r3, [r5, #20] - a478: 459b cmp fp, r3 - a47a: d100 bne.n a47e - a47c: e617 b.n a0ae + a4de: 696b ldr r3, [r5, #20] + a4e0: 459b cmp fp, r3 + a4e2: d100 bne.n a4e6 + a4e4: e617 b.n a116 _lv_sqrt(r2 - (y * y), &x0, sqrt_mask); - a47e: 4658 mov r0, fp - a480: 4340 muls r0, r0 - a482: 4643 mov r3, r8 - a484: 1a18 subs r0, r3, r0 - a486: 9a02 ldr r2, [sp, #8] - a488: a906 add r1, sp, #24 - a48a: 4b3d ldr r3, [pc, #244] ; (a580 ) - a48c: 4798 blx r3 + a4e6: 4658 mov r0, fp + a4e8: 4340 muls r0, r0 + a4ea: 4643 mov r3, r8 + a4ec: 1a18 subs r0, r3, r0 + a4ee: 9a02 ldr r2, [sp, #8] + a4f0: a906 add r1, sp, #24 + a4f2: 4b3d ldr r3, [pc, #244] ; (a5e8 ) + a4f4: 4798 blx r3 _lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask); - a48e: 465b mov r3, fp - a490: 3b01 subs r3, #1 - a492: 0018 movs r0, r3 - a494: 9303 str r3, [sp, #12] - a496: 4358 muls r0, r3 - a498: 4642 mov r2, r8 - a49a: 1a10 subs r0, r2, r0 - a49c: 9a02 ldr r2, [sp, #8] - a49e: a907 add r1, sp, #28 - a4a0: 4b37 ldr r3, [pc, #220] ; (a580 ) - a4a2: 4798 blx r3 + a4f6: 465b mov r3, fp + a4f8: 3b01 subs r3, #1 + a4fa: 0018 movs r0, r3 + a4fc: 9303 str r3, [sp, #12] + a4fe: 4358 muls r0, r3 + a500: 4642 mov r2, r8 + a502: 1a10 subs r0, r2, r0 + a504: 9a02 ldr r2, [sp, #8] + a506: a907 add r1, sp, #28 + a508: 4b37 ldr r3, [pc, #220] ; (a5e8 ) + a50a: 4798 blx r3 p->y_prev = y - 1; - a4a4: 9b03 ldr r3, [sp, #12] - a4a6: 616b str r3, [r5, #20] + a50c: 9b03 ldr r3, [sp, #12] + a50e: 616b str r3, [r5, #20] p->y_prev_x.f = x1.f; - a4a8: ab06 add r3, sp, #24 - a4aa: 88db ldrh r3, [r3, #6] - a4ac: 836b strh r3, [r5, #26] + a510: ab06 add r3, sp, #24 + a512: 88db ldrh r3, [r3, #6] + a514: 836b strh r3, [r5, #26] p->y_prev_x.i = x1.i; - a4ae: ab06 add r3, sp, #24 - a4b0: 889b ldrh r3, [r3, #4] - a4b2: 832b strh r3, [r5, #24] + a516: ab06 add r3, sp, #24 + a518: 889b ldrh r3, [r3, #4] + a51a: 832b strh r3, [r5, #24] if(x0.i == x1.i - 1 && x1.f == 0) { - a4b4: ab06 add r3, sp, #24 - a4b6: 881b ldrh r3, [r3, #0] - a4b8: aa07 add r2, sp, #28 - a4ba: 8812 ldrh r2, [r2, #0] - a4bc: 1e51 subs r1, r2, #1 - a4be: 428b cmp r3, r1 - a4c0: d100 bne.n a4c4 - a4c2: e604 b.n a0ce + a51c: ab06 add r3, sp, #24 + a51e: 881b ldrh r3, [r3, #0] + a520: aa07 add r2, sp, #28 + a522: 8812 ldrh r2, [r2, #0] + a524: 1e51 subs r1, r2, #1 + a526: 428b cmp r3, r1 + a528: d100 bne.n a52c + a52a: e604 b.n a136 int32_t k = rect.x1 - abs_x; /*First relevant coordinate on the of the mask*/ - a4c4: 4652 mov r2, sl - a4c6: 4649 mov r1, r9 - a4c8: 1a50 subs r0, r2, r1 + a52c: 4652 mov r2, sl + a52e: 4649 mov r1, r9 + a530: 1a50 subs r0, r2, r1 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - a4ca: 3701 adds r7, #1 - a4cc: 1aba subs r2, r7, r2 + a532: 3701 adds r7, #1 + a534: 1aba subs r2, r7, r2 int32_t w = lv_area_get_width(&rect); - a4ce: b212 sxth r2, r2 + a536: b212 sxth r2, r2 if(x0.i == x1.i) { - a4d0: a907 add r1, sp, #28 - a4d2: 8809 ldrh r1, [r1, #0] - a4d4: 4299 cmp r1, r3 - a4d6: d100 bne.n a4da - a4d8: e604 b.n a0e4 + a538: a907 add r1, sp, #28 + a53a: 8809 ldrh r1, [r1, #0] + a53c: 4299 cmp r1, r3 + a53e: d100 bne.n a542 + a540: e604 b.n a14c int32_t ofs = radius - (x0.i + 1); - a4da: 3301 adds r3, #1 - a4dc: 1af6 subs r6, r6, r3 + a542: 3301 adds r3, #1 + a544: 1af6 subs r6, r6, r3 int32_t kl = k + ofs; - a4de: 1983 adds r3, r0, r6 - a4e0: 0019 movs r1, r3 - a4e2: 9303 str r3, [sp, #12] + a546: 1983 adds r3, r0, r6 + a548: 0019 movs r1, r3 + a54a: 9303 str r3, [sp, #12] int32_t kr = k + (w - ofs - 1); - a4e4: 1b96 subs r6, r2, r6 - a4e6: 3e01 subs r6, #1 - a4e8: 1833 adds r3, r6, r0 - a4ea: 001d movs r5, r3 - a4ec: 9304 str r3, [sp, #16] + a54c: 1b96 subs r6, r2, r6 + a54e: 3e01 subs r6, #1 + a550: 1833 adds r3, r6, r0 + a552: 001d movs r5, r3 + a554: 9304 str r3, [sp, #16] if(outer) { - a4ee: 2c00 cmp r4, #0 - a4f0: d012 beq.n a518 + a556: 2c00 cmp r4, #0 + a558: d012 beq.n a580 int32_t first = kl + 1; - a4f2: 1c48 adds r0, r1, #1 - a4f4: 43c3 mvns r3, r0 - a4f6: 17db asrs r3, r3, #31 - a4f8: 4018 ands r0, r3 + a55a: 1c48 adds r0, r1, #1 + a55c: 43c3 mvns r3, r0 + a55e: 17db asrs r3, r3, #31 + a560: 4018 ands r0, r3 if(len_tmp + first > len) len_tmp = len - first; - a4fa: 9e00 ldr r6, [sp, #0] - a4fc: 0033 movs r3, r6 - a4fe: 1a31 subs r1, r6, r0 - a500: 42b5 cmp r5, r6 - a502: dc00 bgt.n a506 + a562: 9e00 ldr r6, [sp, #0] + a564: 0033 movs r3, r6 + a566: 1a31 subs r1, r6, r0 + a568: 42b5 cmp r5, r6 + a56a: dc00 bgt.n a56e int32_t len_tmp = kr - first; - a504: 1a29 subs r1, r5, r0 + a56c: 1a29 subs r1, r5, r0 if(first < len && len_tmp >= 0) { - a506: 4298 cmp r0, r3 - a508: da06 bge.n a518 - a50a: 2900 cmp r1, #0 - a50c: db04 blt.n a518 + a56e: 4298 cmp r0, r3 + a570: da06 bge.n a580 + a572: 2900 cmp r1, #0 + a574: db04 blt.n a580 _lv_memset_00(&mask_buf[first], len_tmp); - a50e: 9b01 ldr r3, [sp, #4] - a510: 469c mov ip, r3 - a512: 4460 add r0, ip - a514: 4b19 ldr r3, [pc, #100] ; (a57c ) - a516: 4798 blx r3 + a576: 9b01 ldr r3, [sp, #4] + a578: 469c mov ip, r3 + a57a: 4460 add r0, ip + a57c: 4b19 ldr r3, [pc, #100] ; (a5e4 ) + a57e: 4798 blx r3 uint32_t i = x0.i + 1; - a518: ab06 add r3, sp, #24 - a51a: 8818 ldrh r0, [r3, #0] - a51c: 1c43 adds r3, r0, #1 - a51e: 9305 str r3, [sp, #20] + a580: ab06 add r3, sp, #24 + a582: 8818 ldrh r0, [r3, #0] + a584: 1c43 adds r3, r0, #1 + a586: 9305 str r3, [sp, #20] _lv_sqrt(r2 - (x0.i * x0.i), &y_prev, sqrt_mask); - a520: ad08 add r5, sp, #32 - a522: 4340 muls r0, r0 - a524: 4643 mov r3, r8 - a526: 1a18 subs r0, r3, r0 - a528: 9a02 ldr r2, [sp, #8] - a52a: 0029 movs r1, r5 - a52c: 4b14 ldr r3, [pc, #80] ; (a580 ) - a52e: 4798 blx r3 + a588: ad08 add r5, sp, #32 + a58a: 4340 muls r0, r0 + a58c: 4643 mov r3, r8 + a58e: 1a18 subs r0, r3, r0 + a590: 9a02 ldr r2, [sp, #8] + a592: 0029 movs r1, r5 + a594: 4b14 ldr r3, [pc, #80] ; (a5e8 ) + a596: 4798 blx r3 if(y_prev.f == 0) { - a530: 886b ldrh r3, [r5, #2] - a532: 2b00 cmp r3, #0 - a534: d105 bne.n a542 + a598: 886b ldrh r3, [r5, #2] + a59a: 2b00 cmp r3, #0 + a59c: d105 bne.n a5aa y_prev.i--; - a536: ab08 add r3, sp, #32 - a538: 881a ldrh r2, [r3, #0] - a53a: 3a01 subs r2, #1 - a53c: 801a strh r2, [r3, #0] + a59e: ab08 add r3, sp, #32 + a5a0: 881a ldrh r2, [r3, #0] + a5a2: 3a01 subs r2, #1 + a5a4: 801a strh r2, [r3, #0] y_prev.f = 0xFF; - a53e: 22ff movs r2, #255 ; 0xff - a540: 805a strh r2, [r3, #2] + a5a6: 22ff movs r2, #255 ; 0xff + a5a8: 805a strh r2, [r3, #2] if(y_prev.i >= y) { - a542: ab08 add r3, sp, #32 - a544: 881b ldrh r3, [r3, #0] - a546: 459b cmp fp, r3 - a548: dc00 bgt.n a54c - a54a: e636 b.n a1ba + a5aa: ab08 add r3, sp, #32 + a5ac: 881b ldrh r3, [r3, #0] + a5ae: 459b cmp fp, r3 + a5b0: dc00 bgt.n a5b4 + a5b2: e636 b.n a222 for(; i <= x1.i; i++) { - a54c: ab07 add r3, sp, #28 - a54e: 881b ldrh r3, [r3, #0] - a550: 469b mov fp, r3 - a552: 9f05 ldr r7, [sp, #20] - a554: 455f cmp r7, fp - a556: d900 bls.n a55a - a558: e6f5 b.n a346 + a5b4: ab07 add r3, sp, #28 + a5b6: 881b ldrh r3, [r3, #0] + a5b8: 469b mov fp, r3 + a5ba: 9f05 ldr r7, [sp, #20] + a5bc: 455f cmp r7, fp + a5be: d900 bls.n a5c2 + a5c0: e6f5 b.n a3ae uint32_t raw = (ref->i << 4) + (ref->f >> 4); - a55a: ab08 add r3, sp, #32 - a55c: 881a ldrh r2, [r3, #0] - a55e: 0112 lsls r2, r2, #4 - a560: 9202 str r2, [sp, #8] - a562: 885e ldrh r6, [r3, #2] - a564: 9b04 ldr r3, [sp, #16] - a566: 469a mov sl, r3 - a568: 9b03 ldr r3, [sp, #12] + a5c2: ab08 add r3, sp, #32 + a5c4: 881a ldrh r2, [r3, #0] + a5c6: 0112 lsls r2, r2, #4 + a5c8: 9202 str r2, [sp, #8] + a5ca: 885e ldrh r6, [r3, #2] + a5cc: 9b04 ldr r3, [sp, #16] + a5ce: 469a mov sl, r3 + a5d0: 9b03 ldr r3, [sp, #12] if(mask_new <= LV_OPA_MIN) return 0; - a56a: 46a1 mov r9, r4 - a56c: 001c movs r4, r3 - a56e: e68c b.n a28a + a5d2: 46a1 mov r9, r4 + a5d4: 001c movs r4, r3 + a5d6: e68c b.n a2f2 if(radius <= 256) sqrt_mask = 0x800; - a570: 2380 movs r3, #128 ; 0x80 - a572: 021b lsls r3, r3, #8 - a574: 9302 str r3, [sp, #8] - a576: e77c b.n a472 - a578: 00017a75 .word 0x00017a75 - a57c: 00010fe5 .word 0x00010fe5 - a580: 00010941 .word 0x00010941 + a5d8: 2380 movs r3, #128 ; 0x80 + a5da: 021b lsls r3, r3, #8 + a5dc: 9302 str r3, [sp, #8] + a5de: e77c b.n a4da + a5e0: 00017b05 .word 0x00017b05 + a5e4: 0001104d .word 0x0001104d + a5e8: 000109a9 .word 0x000109a9 -0000a584 : +0000a5ec : { - a584: b510 push {r4, lr} + a5ec: b510 push {r4, lr} if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break; - a586: 4b0c ldr r3, [pc, #48] ; (a5b8 ) - a588: 681b ldr r3, [r3, #0] - a58a: 2b00 cmp r3, #0 - a58c: d00c beq.n a5a8 - a58e: 4a0a ldr r2, [pc, #40] ; (a5b8 ) + a5ee: 4b0c ldr r3, [pc, #48] ; (a620 ) + a5f0: 681b ldr r3, [r3, #0] + a5f2: 2b00 cmp r3, #0 + a5f4: d00c beq.n a610 + a5f6: 4a0a ldr r2, [pc, #40] ; (a620 ) for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - a590: 2301 movs r3, #1 + a5f8: 2301 movs r3, #1 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break; - a592: 6894 ldr r4, [r2, #8] - a594: 2c00 cmp r4, #0 - a596: d008 beq.n a5aa + a5fa: 6894 ldr r4, [r2, #8] + a5fc: 2c00 cmp r4, #0 + a5fe: d008 beq.n a612 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - a598: 3301 adds r3, #1 - a59a: b2db uxtb r3, r3 - a59c: 3208 adds r2, #8 - a59e: 2b10 cmp r3, #16 - a5a0: d1f7 bne.n a592 + a600: 3301 adds r3, #1 + a602: b2db uxtb r3, r3 + a604: 3208 adds r2, #8 + a606: 2b10 cmp r3, #16 + a608: d1f7 bne.n a5fa return LV_MASK_ID_INV; - a5a2: 2001 movs r0, #1 - a5a4: 4240 negs r0, r0 - a5a6: e006 b.n a5b6 + a60a: 2001 movs r0, #1 + a60c: 4240 negs r0, r0 + a60e: e006 b.n a61e for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - a5a8: 2300 movs r3, #0 + a610: 2300 movs r3, #0 LV_GC_ROOT(_lv_draw_mask_list[i]).param = param; - a5aa: 4a03 ldr r2, [pc, #12] ; (a5b8 ) - a5ac: 00dc lsls r4, r3, #3 - a5ae: 50a0 str r0, [r4, r2] + a612: 4a03 ldr r2, [pc, #12] ; (a620 ) + a614: 00dc lsls r4, r3, #3 + a616: 50a0 str r0, [r4, r2] LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = custom_id; - a5b0: 1912 adds r2, r2, r4 - a5b2: 6051 str r1, [r2, #4] + a618: 1912 adds r2, r2, r4 + a61a: 6051 str r1, [r2, #4] return i; - a5b4: b218 sxth r0, r3 + a61c: b218 sxth r0, r3 } - a5b6: bd10 pop {r4, pc} - a5b8: 20004d98 .word 0x20004d98 + a61e: bd10 pop {r4, pc} + a620: 20004d98 .word 0x20004d98 -0000a5bc : +0000a624 : { - a5bc: b5f0 push {r4, r5, r6, r7, lr} - a5be: b087 sub sp, #28 - a5c0: 9003 str r0, [sp, #12] - a5c2: 9104 str r1, [sp, #16] - a5c4: 0016 movs r6, r2 - a5c6: 001f movs r7, r3 + a624: b5f0 push {r4, r5, r6, r7, lr} + a626: b087 sub sp, #28 + a628: 9003 str r0, [sp, #12] + a62a: 9104 str r1, [sp, #16] + a62c: 0016 movs r6, r2 + a62e: 001f movs r7, r3 while(m->param) { - a5c8: 4b10 ldr r3, [pc, #64] ; (a60c ) - a5ca: 681b ldr r3, [r3, #0] - a5cc: 2b00 cmp r3, #0 - a5ce: d01b beq.n a608 - a5d0: 4c0e ldr r4, [pc, #56] ; (a60c ) - a5d2: 2200 movs r2, #0 - a5d4: 9205 str r2, [sp, #20] - a5d6: e003 b.n a5e0 + a630: 4b10 ldr r3, [pc, #64] ; (a674 ) + a632: 681b ldr r3, [r3, #0] + a634: 2b00 cmp r3, #0 + a636: d01b beq.n a670 + a638: 4c0e ldr r4, [pc, #56] ; (a674 ) + a63a: 2200 movs r2, #0 + a63c: 9205 str r2, [sp, #20] + a63e: e003 b.n a648 m++; - a5d8: 3408 adds r4, #8 + a640: 3408 adds r4, #8 while(m->param) { - a5da: 6823 ldr r3, [r4, #0] - a5dc: 2b00 cmp r3, #0 - a5de: d00d beq.n a5fc + a642: 6823 ldr r3, [r4, #0] + a644: 2b00 cmp r3, #0 + a646: d00d beq.n a664 res = dsc->cb(mask_buf, abs_x, abs_y, len, (void *)m->param); - a5e0: 9300 str r3, [sp, #0] - a5e2: 681d ldr r5, [r3, #0] - a5e4: 003b movs r3, r7 - a5e6: 0032 movs r2, r6 - a5e8: 9904 ldr r1, [sp, #16] - a5ea: 9803 ldr r0, [sp, #12] - a5ec: 47a8 blx r5 + a648: 9300 str r3, [sp, #0] + a64a: 681d ldr r5, [r3, #0] + a64c: 003b movs r3, r7 + a64e: 0032 movs r2, r6 + a650: 9904 ldr r1, [sp, #16] + a652: 9803 ldr r0, [sp, #12] + a654: 47a8 blx r5 if(res == LV_DRAW_MASK_RES_TRANSP) return LV_DRAW_MASK_RES_TRANSP; - a5ee: 2800 cmp r0, #0 - a5f0: d008 beq.n a604 + a656: 2800 cmp r0, #0 + a658: d008 beq.n a66c else if(res == LV_DRAW_MASK_RES_CHANGED) changed = true; - a5f2: 2802 cmp r0, #2 - a5f4: d1f0 bne.n a5d8 - a5f6: 2301 movs r3, #1 - a5f8: 9305 str r3, [sp, #20] - a5fa: e7ed b.n a5d8 + a65a: 2802 cmp r0, #2 + a65c: d1f0 bne.n a640 + a65e: 2301 movs r3, #1 + a660: 9305 str r3, [sp, #20] + a662: e7ed b.n a640 return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; - a5fc: 9805 ldr r0, [sp, #20] - a5fe: 1e43 subs r3, r0, #1 - a600: 4198 sbcs r0, r3 - a602: 3001 adds r0, #1 + a664: 9805 ldr r0, [sp, #20] + a666: 1e43 subs r3, r0, #1 + a668: 4198 sbcs r0, r3 + a66a: 3001 adds r0, #1 } - a604: b007 add sp, #28 - a606: bdf0 pop {r4, r5, r6, r7, pc} + a66c: b007 add sp, #28 + a66e: bdf0 pop {r4, r5, r6, r7, pc} return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; - a608: 2001 movs r0, #1 - a60a: e7fb b.n a604 - a60c: 20004d98 .word 0x20004d98 + a670: 2001 movs r0, #1 + a672: e7fb b.n a66c + a674: 20004d98 .word 0x20004d98 -0000a610 : +0000a678 : if(id != LV_MASK_ID_INV) { - a610: 1c43 adds r3, r0, #1 - a612: d007 beq.n a624 + a678: 1c43 adds r3, r0, #1 + a67a: d007 beq.n a68c p = LV_GC_ROOT(_lv_draw_mask_list[id]).param; - a614: 4a04 ldr r2, [pc, #16] ; (a628 ) - a616: 00c3 lsls r3, r0, #3 - a618: 5898 ldr r0, [r3, r2] + a67c: 4a04 ldr r2, [pc, #16] ; (a690 ) + a67e: 00c3 lsls r3, r0, #3 + a680: 5898 ldr r0, [r3, r2] LV_GC_ROOT(_lv_draw_mask_list[id]).param = NULL; - a61a: 2100 movs r1, #0 - a61c: 5099 str r1, [r3, r2] + a682: 2100 movs r1, #0 + a684: 5099 str r1, [r3, r2] LV_GC_ROOT(_lv_draw_mask_list[id]).custom_id = NULL; - a61e: 18d3 adds r3, r2, r3 - a620: 6059 str r1, [r3, #4] + a686: 18d3 adds r3, r2, r3 + a688: 6059 str r1, [r3, #4] } - a622: 4770 bx lr + a68a: 4770 bx lr void * p = NULL; - a624: 2000 movs r0, #0 + a68c: 2000 movs r0, #0 return p; - a626: e7fc b.n a622 - a628: 20004d98 .word 0x20004d98 + a68e: e7fc b.n a68a + a690: 20004d98 .word 0x20004d98 -0000a62c : +0000a694 : { - a62c: b530 push {r4, r5, lr} - a62e: 0001 movs r1, r0 - a630: 4b08 ldr r3, [pc, #32] ; (a654 ) - a632: 001a movs r2, r3 - a634: 3280 adds r2, #128 ; 0x80 + a694: b530 push {r4, r5, lr} + a696: 0001 movs r1, r0 + a698: 4b08 ldr r3, [pc, #32] ; (a6bc ) + a69a: 001a movs r2, r3 + a69c: 3280 adds r2, #128 ; 0x80 void * p = NULL; - a636: 2000 movs r0, #0 + a69e: 2000 movs r0, #0 LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL; - a638: 2400 movs r4, #0 - a63a: e002 b.n a642 - a63c: 3308 adds r3, #8 + a6a0: 2400 movs r4, #0 + a6a2: e002 b.n a6aa + a6a4: 3308 adds r3, #8 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - a63e: 4293 cmp r3, r2 - a640: d006 beq.n a650 + a6a6: 4293 cmp r3, r2 + a6a8: d006 beq.n a6b8 if(LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id == custom_id) { - a642: 685d ldr r5, [r3, #4] - a644: 428d cmp r5, r1 - a646: d1f9 bne.n a63c + a6aa: 685d ldr r5, [r3, #4] + a6ac: 428d cmp r5, r1 + a6ae: d1f9 bne.n a6a4 p = LV_GC_ROOT(_lv_draw_mask_list[i]).param; - a648: 6818 ldr r0, [r3, #0] + a6b0: 6818 ldr r0, [r3, #0] LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL; - a64a: 601c str r4, [r3, #0] + a6b2: 601c str r4, [r3, #0] LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = NULL; - a64c: 605c str r4, [r3, #4] - a64e: e7f5 b.n a63c + a6b4: 605c str r4, [r3, #4] + a6b6: e7f5 b.n a6a4 } - a650: bd30 pop {r4, r5, pc} - a652: 46c0 nop ; (mov r8, r8) - a654: 20004d98 .word 0x20004d98 + a6b8: bd30 pop {r4, r5, pc} + a6ba: 46c0 nop ; (mov r8, r8) + a6bc: 20004d98 .word 0x20004d98 -0000a658 : +0000a6c0 : { - a658: 4b07 ldr r3, [pc, #28] ; (a678 ) - a65a: 001a movs r2, r3 - a65c: 3280 adds r2, #128 ; 0x80 + a6c0: 4b07 ldr r3, [pc, #28] ; (a6e0 ) + a6c2: 001a movs r2, r3 + a6c4: 3280 adds r2, #128 ; 0x80 uint8_t cnt = 0; - a65e: 2000 movs r0, #0 - a660: e002 b.n a668 - a662: 3308 adds r3, #8 + a6c6: 2000 movs r0, #0 + a6c8: e002 b.n a6d0 + a6ca: 3308 adds r3, #8 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - a664: 4293 cmp r3, r2 - a666: d005 beq.n a674 + a6cc: 4293 cmp r3, r2 + a6ce: d005 beq.n a6dc if(LV_GC_ROOT(_lv_draw_mask_list[i]).param) cnt++; - a668: 6819 ldr r1, [r3, #0] - a66a: 2900 cmp r1, #0 - a66c: d0f9 beq.n a662 - a66e: 3001 adds r0, #1 - a670: b2c0 uxtb r0, r0 - a672: e7f6 b.n a662 -} - a674: 4770 bx lr - a676: 46c0 nop ; (mov r8, r8) - a678: 20004d98 .word 0x20004d98 - -0000a67c : -{ - a67c: b5f8 push {r3, r4, r5, r6, r7, lr} - a67e: 46ce mov lr, r9 - a680: 4647 mov r7, r8 - a682: b580 push {r7, lr} - a684: 0004 movs r4, r0 - a686: 000f movs r7, r1 - a688: 0015 movs r5, r2 - a68a: 4698 mov r8, r3 - a68c: ab08 add r3, sp, #32 - a68e: 2600 movs r6, #0 - a690: 5f9e ldrsh r6, [r3, r6] - a692: ab09 add r3, sp, #36 ; 0x24 - a694: 781b ldrb r3, [r3, #0] - a696: 4699 mov r9, r3 + a6d0: 6819 ldr r1, [r3, #0] + a6d2: 2900 cmp r1, #0 + a6d4: d0f9 beq.n a6ca + a6d6: 3001 adds r0, #1 + a6d8: b2c0 uxtb r0, r0 + a6da: e7f6 b.n a6ca +} + a6dc: 4770 bx lr + a6de: 46c0 nop ; (mov r8, r8) + a6e0: 20004d98 .word 0x20004d98 + +0000a6e4 : +{ + a6e4: b5f8 push {r3, r4, r5, r6, r7, lr} + a6e6: 46ce mov lr, r9 + a6e8: 4647 mov r7, r8 + a6ea: b580 push {r7, lr} + a6ec: 0004 movs r4, r0 + a6ee: 000f movs r7, r1 + a6f0: 0015 movs r5, r2 + a6f2: 4698 mov r8, r3 + a6f4: ab08 add r3, sp, #32 + a6f6: 2600 movs r6, #0 + a6f8: 5f9e ldrsh r6, [r3, r6] + a6fa: ab09 add r3, sp, #36 ; 0x24 + a6fc: 781b ldrb r3, [r3, #0] + a6fe: 4699 mov r9, r3 _lv_memset_00(param, sizeof(lv_draw_mask_line_param_t)); - a698: 212c movs r1, #44 ; 0x2c - a69a: 4b51 ldr r3, [pc, #324] ; (a7e0 ) - a69c: 4798 blx r3 + a700: 212c movs r1, #44 ; 0x2c + a702: 4b51 ldr r3, [pc, #324] ; (a848 ) + a704: 4798 blx r3 if(p1y > p2y) { - a69e: 42b5 cmp r5, r6 - a6a0: dd05 ble.n a6ae - a6a2: 002b movs r3, r5 + a706: 42b5 cmp r5, r6 + a708: dd05 ble.n a716 + a70a: 002b movs r3, r5 p1y = t; - a6a4: 0035 movs r5, r6 + a70c: 0035 movs r5, r6 p2y = p1y; - a6a6: 001e movs r6, r3 + a70e: 001e movs r6, r3 if(p1y > p2y) { - a6a8: 003b movs r3, r7 + a710: 003b movs r3, r7 p1x = t; - a6aa: 4647 mov r7, r8 + a712: 4647 mov r7, r8 p2x = p1x; - a6ac: 4698 mov r8, r3 + a714: 4698 mov r8, r3 param->cfg.p1.x = p1x; - a6ae: 8127 strh r7, [r4, #8] + a716: 8127 strh r7, [r4, #8] param->cfg.p1.y = p1y; - a6b0: 8165 strh r5, [r4, #10] + a718: 8165 strh r5, [r4, #10] param->cfg.p2.x = p2x; - a6b2: 4643 mov r3, r8 - a6b4: 81a3 strh r3, [r4, #12] + a71a: 4643 mov r3, r8 + a71c: 81a3 strh r3, [r4, #12] param->cfg.p2.y = p2y; - a6b6: 81e6 strh r6, [r4, #14] + a71e: 81e6 strh r6, [r4, #14] param->cfg.side = side; - a6b8: 2303 movs r3, #3 - a6ba: 464a mov r2, r9 - a6bc: 4013 ands r3, r2 - a6be: 7c22 ldrb r2, [r4, #16] - a6c0: 2103 movs r1, #3 - a6c2: 438a bics r2, r1 - a6c4: 431a orrs r2, r3 - a6c6: 7422 strb r2, [r4, #16] + a720: 2303 movs r3, #3 + a722: 464a mov r2, r9 + a724: 4013 ands r3, r2 + a726: 7c22 ldrb r2, [r4, #16] + a728: 2103 movs r1, #3 + a72a: 438a bics r2, r1 + a72c: 431a orrs r2, r3 + a72e: 7422 strb r2, [r4, #16] param->origo.x = p1x; - a6c8: 8267 strh r7, [r4, #18] + a730: 8267 strh r7, [r4, #18] param->origo.y = p1y; - a6ca: 82a5 strh r5, [r4, #20] + a732: 82a5 strh r5, [r4, #20] param->flat = (LV_MATH_ABS(p2x - p1x) > LV_MATH_ABS(p2y - p1y)) ? 1 : 0; - a6cc: 4643 mov r3, r8 - a6ce: 1bdf subs r7, r3, r7 - a6d0: 1b76 subs r6, r6, r5 - a6d2: 17fb asrs r3, r7, #31 - a6d4: 18fa adds r2, r7, r3 - a6d6: 405a eors r2, r3 - a6d8: 17f1 asrs r1, r6, #31 - a6da: 1873 adds r3, r6, r1 - a6dc: 404b eors r3, r1 - a6de: 2501 movs r5, #1 - a6e0: 429a cmp r2, r3 - a6e2: dc00 bgt.n a6e6 - a6e4: 2500 movs r5, #0 - a6e6: 2128 movs r1, #40 ; 0x28 - a6e8: 2201 movs r2, #1 - a6ea: 002b movs r3, r5 - a6ec: 4013 ands r3, r2 - a6ee: 5c65 ldrb r5, [r4, r1] - a6f0: 2001 movs r0, #1 - a6f2: 4385 bics r5, r0 - a6f4: 431d orrs r5, r3 - a6f6: 5465 strb r5, [r4, r1] + a734: 4643 mov r3, r8 + a736: 1bdf subs r7, r3, r7 + a738: 1b76 subs r6, r6, r5 + a73a: 17fb asrs r3, r7, #31 + a73c: 18fa adds r2, r7, r3 + a73e: 405a eors r2, r3 + a740: 17f1 asrs r1, r6, #31 + a742: 1873 adds r3, r6, r1 + a744: 404b eors r3, r1 + a746: 2501 movs r5, #1 + a748: 429a cmp r2, r3 + a74a: dc00 bgt.n a74e + a74c: 2500 movs r5, #0 + a74e: 2128 movs r1, #40 ; 0x28 + a750: 2201 movs r2, #1 + a752: 002b movs r3, r5 + a754: 4013 ands r3, r2 + a756: 5c65 ldrb r5, [r4, r1] + a758: 2001 movs r0, #1 + a75a: 4385 bics r5, r0 + a75c: 431d orrs r5, r3 + a75e: 5465 strb r5, [r4, r1] param->yx_steep = 0; - a6f8: 2300 movs r3, #0 - a6fa: 61e3 str r3, [r4, #28] + a760: 2300 movs r3, #0 + a762: 61e3 str r3, [r4, #28] param->xy_steep = 0; - a6fc: 61a3 str r3, [r4, #24] + a764: 61a3 str r3, [r4, #24] param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_line; - a6fe: 4939 ldr r1, [pc, #228] ; (a7e4 ) - a700: 6021 str r1, [r4, #0] + a766: 4939 ldr r1, [pc, #228] ; (a84c ) + a768: 6021 str r1, [r4, #0] param->dsc.type = LV_DRAW_MASK_TYPE_LINE; - a702: 7123 strb r3, [r4, #4] + a76a: 7123 strb r3, [r4, #4] if(param->flat) { - a704: 422a tst r2, r5 - a706: d027 beq.n a758 + a76c: 422a tst r2, r5 + a76e: d027 beq.n a7c0 if(dx) { - a708: 2f00 cmp r7, #0 - a70a: d007 beq.n a71c + a770: 2f00 cmp r7, #0 + a772: d007 beq.n a784 m = (1 << 20) / dx; /*m is multiplier to normalize y (upscaled by 1024)*/ - a70c: 0039 movs r1, r7 - a70e: 2080 movs r0, #128 ; 0x80 - a710: 0340 lsls r0, r0, #13 - a712: 4b35 ldr r3, [pc, #212] ; (a7e8 ) - a714: 4798 blx r3 + a774: 0039 movs r1, r7 + a776: 2080 movs r0, #128 ; 0x80 + a778: 0340 lsls r0, r0, #13 + a77a: 4b35 ldr r3, [pc, #212] ; (a850 ) + a77c: 4798 blx r3 param->yx_steep = (m * dy) >> 10; - a716: 4370 muls r0, r6 - a718: 1280 asrs r0, r0, #10 - a71a: 61e0 str r0, [r4, #28] + a77e: 4370 muls r0, r6 + a780: 1280 asrs r0, r0, #10 + a782: 61e0 str r0, [r4, #28] if(dy) { - a71c: 2e00 cmp r6, #0 - a71e: d007 beq.n a730 + a784: 2e00 cmp r6, #0 + a786: d007 beq.n a798 m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/ - a720: 0031 movs r1, r6 - a722: 2080 movs r0, #128 ; 0x80 - a724: 0340 lsls r0, r0, #13 - a726: 4b30 ldr r3, [pc, #192] ; (a7e8 ) - a728: 4798 blx r3 + a788: 0031 movs r1, r6 + a78a: 2080 movs r0, #128 ; 0x80 + a78c: 0340 lsls r0, r0, #13 + a78e: 4b30 ldr r3, [pc, #192] ; (a850 ) + a790: 4798 blx r3 param->xy_steep = (m * dx) >> 10; - a72a: 4347 muls r7, r0 - a72c: 12bf asrs r7, r7, #10 - a72e: 61a7 str r7, [r4, #24] + a792: 4347 muls r7, r0 + a794: 12bf asrs r7, r7, #10 + a796: 61a7 str r7, [r4, #24] param->steep = param->yx_steep; - a730: 69e3 ldr r3, [r4, #28] - a732: 6223 str r3, [r4, #32] + a798: 69e3 ldr r3, [r4, #28] + a79a: 6223 str r3, [r4, #32] if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) param->inv = 0; - a734: 7c22 ldrb r2, [r4, #16] - a736: 2303 movs r3, #3 - a738: 4013 ands r3, r2 - a73a: d124 bne.n a786 - a73c: 2228 movs r2, #40 ; 0x28 - a73e: 5ca3 ldrb r3, [r4, r2] - a740: 2102 movs r1, #2 - a742: 438b bics r3, r1 - a744: 54a3 strb r3, [r4, r2] + a79c: 7c22 ldrb r2, [r4, #16] + a79e: 2303 movs r3, #3 + a7a0: 4013 ands r3, r2 + a7a2: d124 bne.n a7ee + a7a4: 2228 movs r2, #40 ; 0x28 + a7a6: 5ca3 ldrb r3, [r4, r2] + a7a8: 2102 movs r1, #2 + a7aa: 438b bics r3, r1 + a7ac: 54a3 strb r3, [r4, r2] param->spx = param->steep >> 2; - a746: 6a23 ldr r3, [r4, #32] - a748: 109a asrs r2, r3, #2 + a7ae: 6a23 ldr r3, [r4, #32] + a7b0: 109a asrs r2, r3, #2 if(param->steep < 0) param->spx = -param->spx; - a74a: 2b00 cmp r3, #0 - a74c: db45 blt.n a7da + a7b2: 2b00 cmp r3, #0 + a7b4: db45 blt.n a842 param->spx = param->steep >> 2; - a74e: 6262 str r2, [r4, #36] ; 0x24 + a7b6: 6262 str r2, [r4, #36] ; 0x24 } - a750: bc0c pop {r2, r3} - a752: 4690 mov r8, r2 - a754: 4699 mov r9, r3 - a756: bdf8 pop {r3, r4, r5, r6, r7, pc} + a7b8: bc0c pop {r2, r3} + a7ba: 4690 mov r8, r2 + a7bc: 4699 mov r9, r3 + a7be: bdf8 pop {r3, r4, r5, r6, r7, pc} if(dy) { - a758: 2e00 cmp r6, #0 - a75a: d007 beq.n a76c + a7c0: 2e00 cmp r6, #0 + a7c2: d007 beq.n a7d4 m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/ - a75c: 0031 movs r1, r6 - a75e: 2080 movs r0, #128 ; 0x80 - a760: 0340 lsls r0, r0, #13 - a762: 4b21 ldr r3, [pc, #132] ; (a7e8 ) - a764: 4798 blx r3 + a7c4: 0031 movs r1, r6 + a7c6: 2080 movs r0, #128 ; 0x80 + a7c8: 0340 lsls r0, r0, #13 + a7ca: 4b21 ldr r3, [pc, #132] ; (a850 ) + a7cc: 4798 blx r3 param->xy_steep = (m * dx) >> 10; - a766: 4378 muls r0, r7 - a768: 1280 asrs r0, r0, #10 - a76a: 61a0 str r0, [r4, #24] + a7ce: 4378 muls r0, r7 + a7d0: 1280 asrs r0, r0, #10 + a7d2: 61a0 str r0, [r4, #24] if(dx) { - a76c: 2f00 cmp r7, #0 - a76e: d007 beq.n a780 + a7d4: 2f00 cmp r7, #0 + a7d6: d007 beq.n a7e8 m = (1 << 20) / dx; /*m is multiplier to normalize x (upscaled by 1024)*/ - a770: 0039 movs r1, r7 - a772: 2080 movs r0, #128 ; 0x80 - a774: 0340 lsls r0, r0, #13 - a776: 4b1c ldr r3, [pc, #112] ; (a7e8 ) - a778: 4798 blx r3 + a7d8: 0039 movs r1, r7 + a7da: 2080 movs r0, #128 ; 0x80 + a7dc: 0340 lsls r0, r0, #13 + a7de: 4b1c ldr r3, [pc, #112] ; (a850 ) + a7e0: 4798 blx r3 param->yx_steep = (m * dy) >> 10; - a77a: 4370 muls r0, r6 - a77c: 1280 asrs r0, r0, #10 - a77e: 61e0 str r0, [r4, #28] + a7e2: 4370 muls r0, r6 + a7e4: 1280 asrs r0, r0, #10 + a7e6: 61e0 str r0, [r4, #28] param->steep = param->xy_steep; - a780: 69a3 ldr r3, [r4, #24] - a782: 6223 str r3, [r4, #32] - a784: e7d6 b.n a734 + a7e8: 69a3 ldr r3, [r4, #24] + a7ea: 6223 str r3, [r4, #32] + a7ec: e7d6 b.n a79c else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1; - a786: 2b01 cmp r3, #1 - a788: d00c beq.n a7a4 + a7ee: 2b01 cmp r3, #1 + a7f0: d00c beq.n a80c else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP) { - a78a: 2b02 cmp r3, #2 - a78c: d010 beq.n a7b0 + a7f2: 2b02 cmp r3, #2 + a7f4: d010 beq.n a818 else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) { - a78e: 2b03 cmp r3, #3 - a790: d1d9 bne.n a746 + a7f6: 2b03 cmp r3, #3 + a7f8: d1d9 bne.n a7ae if(param->steep > 0) param->inv = 0; - a792: 6a23 ldr r3, [r4, #32] - a794: 2b00 cmp r3, #0 - a796: dd1a ble.n a7ce - a798: 2228 movs r2, #40 ; 0x28 - a79a: 5ca3 ldrb r3, [r4, r2] - a79c: 2102 movs r1, #2 - a79e: 438b bics r3, r1 - a7a0: 54a3 strb r3, [r4, r2] - a7a2: e7d0 b.n a746 + a7fa: 6a23 ldr r3, [r4, #32] + a7fc: 2b00 cmp r3, #0 + a7fe: dd1a ble.n a836 + a800: 2228 movs r2, #40 ; 0x28 + a802: 5ca3 ldrb r3, [r4, r2] + a804: 2102 movs r1, #2 + a806: 438b bics r3, r1 + a808: 54a3 strb r3, [r4, r2] + a80a: e7d0 b.n a7ae else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1; - a7a4: 2228 movs r2, #40 ; 0x28 - a7a6: 5ca3 ldrb r3, [r4, r2] - a7a8: 2102 movs r1, #2 - a7aa: 430b orrs r3, r1 - a7ac: 54a3 strb r3, [r4, r2] - a7ae: e7ca b.n a746 + a80c: 2228 movs r2, #40 ; 0x28 + a80e: 5ca3 ldrb r3, [r4, r2] + a810: 2102 movs r1, #2 + a812: 430b orrs r3, r1 + a814: 54a3 strb r3, [r4, r2] + a816: e7ca b.n a7ae if(param->steep > 0) param->inv = 1; - a7b0: 6a23 ldr r3, [r4, #32] - a7b2: 2b00 cmp r3, #0 - a7b4: dd05 ble.n a7c2 - a7b6: 2228 movs r2, #40 ; 0x28 - a7b8: 5ca3 ldrb r3, [r4, r2] - a7ba: 2102 movs r1, #2 - a7bc: 430b orrs r3, r1 - a7be: 54a3 strb r3, [r4, r2] - a7c0: e7c1 b.n a746 + a818: 6a23 ldr r3, [r4, #32] + a81a: 2b00 cmp r3, #0 + a81c: dd05 ble.n a82a + a81e: 2228 movs r2, #40 ; 0x28 + a820: 5ca3 ldrb r3, [r4, r2] + a822: 2102 movs r1, #2 + a824: 430b orrs r3, r1 + a826: 54a3 strb r3, [r4, r2] + a828: e7c1 b.n a7ae else param->inv = 0; - a7c2: 2228 movs r2, #40 ; 0x28 - a7c4: 5ca3 ldrb r3, [r4, r2] - a7c6: 2102 movs r1, #2 - a7c8: 438b bics r3, r1 - a7ca: 54a3 strb r3, [r4, r2] - a7cc: e7bb b.n a746 + a82a: 2228 movs r2, #40 ; 0x28 + a82c: 5ca3 ldrb r3, [r4, r2] + a82e: 2102 movs r1, #2 + a830: 438b bics r3, r1 + a832: 54a3 strb r3, [r4, r2] + a834: e7bb b.n a7ae else param->inv = 1; - a7ce: 2228 movs r2, #40 ; 0x28 - a7d0: 5ca3 ldrb r3, [r4, r2] - a7d2: 2102 movs r1, #2 - a7d4: 430b orrs r3, r1 - a7d6: 54a3 strb r3, [r4, r2] - a7d8: e7b5 b.n a746 + a836: 2228 movs r2, #40 ; 0x28 + a838: 5ca3 ldrb r3, [r4, r2] + a83a: 2102 movs r1, #2 + a83c: 430b orrs r3, r1 + a83e: 54a3 strb r3, [r4, r2] + a840: e7b5 b.n a7ae if(param->steep < 0) param->spx = -param->spx; - a7da: 4252 negs r2, r2 - a7dc: 6262 str r2, [r4, #36] ; 0x24 + a842: 4252 negs r2, r2 + a844: 6262 str r2, [r4, #36] ; 0x24 } - a7de: e7b7 b.n a750 - a7e0: 00010fe5 .word 0x00010fe5 - a7e4: 00009a25 .word 0x00009a25 - a7e8: 00017a75 .word 0x00017a75 + a846: e7b7 b.n a7b8 + a848: 0001104d .word 0x0001104d + a84c: 00009a8d .word 0x00009a8d + a850: 00017b05 .word 0x00017b05 -0000a7ec : +0000a854 : { - a7ec: b5f0 push {r4, r5, r6, r7, lr} + a854: b5f0 push {r4, r5, r6, r7, lr} return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - a7ee: 88cc ldrh r4, [r1, #6] - a7f0: 3401 adds r4, #1 - a7f2: 884d ldrh r5, [r1, #2] - a7f4: 1b64 subs r4, r4, r5 + a856: 88cc ldrh r4, [r1, #6] + a858: 3401 adds r4, #1 + a85a: 884d ldrh r5, [r1, #2] + a85c: 1b64 subs r4, r4, r5 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - a7f6: 888e ldrh r6, [r1, #4] - a7f8: 3601 adds r6, #1 - a7fa: 880d ldrh r5, [r1, #0] - a7fc: 1b76 subs r6, r6, r5 + a85e: 888e ldrh r6, [r1, #4] + a860: 3601 adds r6, #1 + a862: 880d ldrh r5, [r1, #0] + a864: 1b76 subs r6, r6, r5 int32_t short_side = LV_MATH_MIN(w, h); - a7fe: 1c25 adds r5, r4, #0 - a800: b224 sxth r4, r4 - a802: b237 sxth r7, r6 - a804: 42bc cmp r4, r7 - a806: dd00 ble.n a80a - a808: 1c35 adds r5, r6, #0 - a80a: b22d sxth r5, r5 + a866: 1c25 adds r5, r4, #0 + a868: b224 sxth r4, r4 + a86a: b237 sxth r7, r6 + a86c: 42bc cmp r4, r7 + a86e: dd00 ble.n a872 + a870: 1c35 adds r5, r6, #0 + a872: b22d sxth r5, r5 if(radius > short_side >> 1) radius = short_side >> 1; - a80c: 106d asrs r5, r5, #1 - a80e: 42aa cmp r2, r5 - a810: dd00 ble.n a814 - a812: b22a sxth r2, r5 - a814: 000e movs r6, r1 - a816: 3608 adds r6, #8 + a874: 106d asrs r5, r5, #1 + a876: 42aa cmp r2, r5 + a878: dd00 ble.n a87c + a87a: b22a sxth r2, r5 + a87c: 000e movs r6, r1 + a87e: 3608 adds r6, #8 uint8_t * d8 = (uint8_t *)dst; - a818: 0004 movs r4, r0 - a81a: 3408 adds r4, #8 + a880: 0004 movs r4, r0 + a882: 3408 adds r4, #8 *d8 = *s8; - a81c: 780d ldrb r5, [r1, #0] - a81e: 7025 strb r5, [r4, #0] + a884: 780d ldrb r5, [r1, #0] + a886: 7025 strb r5, [r4, #0] d8++; - a820: 3401 adds r4, #1 + a888: 3401 adds r4, #1 s8++; - a822: 3101 adds r1, #1 + a88a: 3101 adds r1, #1 while(len) { - a824: 428e cmp r6, r1 - a826: d1f9 bne.n a81c + a88c: 428e cmp r6, r1 + a88e: d1f9 bne.n a884 param->cfg.radius = radius; - a828: 8202 strh r2, [r0, #16] + a890: 8202 strh r2, [r0, #16] param->cfg.outer = inv ? 1 : 0; - a82a: 2201 movs r2, #1 - a82c: 401a ands r2, r3 - a82e: 7c83 ldrb r3, [r0, #18] - a830: 2101 movs r1, #1 - a832: 438b bics r3, r1 - a834: 4313 orrs r3, r2 - a836: 7483 strb r3, [r0, #18] + a892: 2201 movs r2, #1 + a894: 401a ands r2, r3 + a896: 7c83 ldrb r3, [r0, #18] + a898: 2101 movs r1, #1 + a89a: 438b bics r3, r1 + a89c: 4313 orrs r3, r2 + a89e: 7483 strb r3, [r0, #18] param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_radius; - a838: 4b05 ldr r3, [pc, #20] ; (a850 ) - a83a: 6003 str r3, [r0, #0] + a8a0: 4b05 ldr r3, [pc, #20] ; (a8b8 ) + a8a2: 6003 str r3, [r0, #0] param->dsc.type = LV_DRAW_MASK_TYPE_RADIUS; - a83c: 2302 movs r3, #2 - a83e: 7103 strb r3, [r0, #4] + a8a4: 2302 movs r3, #2 + a8a6: 7103 strb r3, [r0, #4] param->y_prev = INT32_MIN; - a840: 2380 movs r3, #128 ; 0x80 - a842: 061b lsls r3, r3, #24 - a844: 6143 str r3, [r0, #20] + a8a8: 2380 movs r3, #128 ; 0x80 + a8aa: 061b lsls r3, r3, #24 + a8ac: 6143 str r3, [r0, #20] param->y_prev_x.f = 0; - a846: 2300 movs r3, #0 - a848: 8343 strh r3, [r0, #26] + a8ae: 2300 movs r3, #0 + a8b0: 8343 strh r3, [r0, #26] param->y_prev_x.i = 0; - a84a: 8303 strh r3, [r0, #24] + a8b2: 8303 strh r3, [r0, #24] } - a84c: bdf0 pop {r4, r5, r6, r7, pc} - a84e: 46c0 nop ; (mov r8, r8) - a850: 00009f41 .word 0x00009f41 + a8b4: bdf0 pop {r4, r5, r6, r7, pc} + a8b6: 46c0 nop ; (mov r8, r8) + a8b8: 00009fa9 .word 0x00009fa9 -0000a854 : +0000a8bc : #endif } LV_ATTRIBUTE_FAST_MEM static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf) { - a854: b5f0 push {r4, r5, r6, r7, lr} - a856: 46de mov lr, fp - a858: 4657 mov r7, sl - a85a: 464e mov r6, r9 - a85c: 4645 mov r5, r8 - a85e: b5e0 push {r5, r6, r7, lr} - a860: b091 sub sp, #68 ; 0x44 - a862: 900d str r0, [sp, #52] ; 0x34 - a864: 9102 str r1, [sp, #8] - a866: 920c str r2, [sp, #48] ; 0x30 + a8bc: b5f0 push {r4, r5, r6, r7, lr} + a8be: 46de mov lr, fp + a8c0: 4657 mov r7, sl + a8c2: 464e mov r6, r9 + a8c4: 4645 mov r5, r8 + a8c6: b5e0 push {r5, r6, r7, lr} + a8c8: b091 sub sp, #68 ; 0x44 + a8ca: 900d str r0, [sp, #52] ; 0x34 + a8cc: 9102 str r1, [sp, #8] + a8ce: 920c str r2, [sp, #48] ; 0x30 int32_t s_left = sw >> 1; - a868: 104b asrs r3, r1, #1 - a86a: 001e movs r6, r3 - a86c: 930f str r3, [sp, #60] ; 0x3c + a8d0: 104b asrs r3, r1, #1 + a8d2: 001e movs r6, r3 + a8d4: 930f str r3, [sp, #60] ; 0x3c int32_t s_right = (sw >> 1); if((sw & 1) == 0) s_left--; - a86e: 2301 movs r3, #1 - a870: 400b ands r3, r1 - a872: 425a negs r2, r3 - a874: 4153 adcs r3, r2 - a876: 1af3 subs r3, r6, r3 - a878: 001d movs r5, r3 - a87a: 930e str r3, [sp, #56] ; 0x38 + a8d6: 2301 movs r3, #1 + a8d8: 400b ands r3, r1 + a8da: 425a negs r2, r3 + a8dc: 4153 adcs r3, r2 + a8de: 1af3 subs r3, r6, r3 + a8e0: 001d movs r5, r3 + a8e2: 930e str r3, [sp, #56] ; 0x38 /*Horizontal blur*/ uint16_t * sh_ups_blur_buf = _lv_mem_buf_get(size * sizeof(uint16_t)); - a87c: 0004 movs r4, r0 - a87e: 0047 lsls r7, r0, #1 - a880: 0038 movs r0, r7 - a882: 4b88 ldr r3, [pc, #544] ; (aaa4 ) - a884: 4798 blx r3 - a886: 9005 str r0, [sp, #20] + a8e4: 0004 movs r4, r0 + a8e6: 0047 lsls r7, r0, #1 + a8e8: 0038 movs r0, r7 + a8ea: 4b88 ldr r3, [pc, #544] ; (ab0c ) + a8ec: 4798 blx r3 + a8ee: 9005 str r0, [sp, #20] int32_t x; int32_t y; uint16_t * sh_ups_tmp_buf = sh_ups_buf; for(y = 0; y < size; y++) { - a888: 1e23 subs r3, r4, #0 - a88a: dc00 bgt.n a88e - a88c: e0db b.n aa46 + a8f0: 1e23 subs r3, r4, #0 + a8f2: dc00 bgt.n a8f6 + a8f4: e0db b.n aaae int32_t v = sh_ups_tmp_buf[size - 1] * sw; - a88e: 1eb9 subs r1, r7, #2 - a890: 9103 str r1, [sp, #12] - a892: 3b01 subs r3, #1 - a894: 9306 str r3, [sp, #24] - a896: 468c mov ip, r1 - a898: 4460 add r0, ip - a89a: 9007 str r0, [sp, #28] - a89c: 0019 movs r1, r3 - a89e: 1b49 subs r1, r1, r5 - a8a0: 9108 str r1, [sp, #32] - a8a2: 0029 movs r1, r5 - a8a4: 0028 movs r0, r5 - a8a6: 950a str r5, [sp, #40] ; 0x28 - a8a8: 4b7f ldr r3, [pc, #508] ; (aaa8 ) - a8aa: 46a4 mov ip, r4 - a8ac: 4463 add r3, ip - a8ae: 1a5b subs r3, r3, r1 - a8b0: 005d lsls r5, r3, #1 - a8b2: 950b str r5, [sp, #44] ; 0x2c - a8b4: 0049 lsls r1, r1, #1 - a8b6: 000a movs r2, r1 - a8b8: 9609 str r6, [sp, #36] ; 0x24 - a8ba: 0071 lsls r1, r6, #1 - a8bc: 4688 mov r8, r1 - a8be: 9b0c ldr r3, [sp, #48] ; 0x30 - a8c0: 4699 mov r9, r3 - a8c2: 2300 movs r3, #0 - a8c4: 9300 str r3, [sp, #0] - a8c6: 2502 movs r5, #2 - a8c8: 426d negs r5, r5 - a8ca: 1a2b subs r3, r5, r0 + a8f6: 1eb9 subs r1, r7, #2 + a8f8: 9103 str r1, [sp, #12] + a8fa: 3b01 subs r3, #1 + a8fc: 9306 str r3, [sp, #24] + a8fe: 468c mov ip, r1 + a900: 4460 add r0, ip + a902: 9007 str r0, [sp, #28] + a904: 0019 movs r1, r3 + a906: 1b49 subs r1, r1, r5 + a908: 9108 str r1, [sp, #32] + a90a: 0029 movs r1, r5 + a90c: 0028 movs r0, r5 + a90e: 950a str r5, [sp, #40] ; 0x28 + a910: 4b7f ldr r3, [pc, #508] ; (ab10 ) + a912: 46a4 mov ip, r4 + a914: 4463 add r3, ip + a916: 1a5b subs r3, r3, r1 + a918: 005d lsls r5, r3, #1 + a91a: 950b str r5, [sp, #44] ; 0x2c + a91c: 0049 lsls r1, r1, #1 + a91e: 000a movs r2, r1 + a920: 9609 str r6, [sp, #36] ; 0x24 + a922: 0071 lsls r1, r6, #1 + a924: 4688 mov r8, r1 + a926: 9b0c ldr r3, [sp, #48] ; 0x30 + a928: 4699 mov r9, r3 + a92a: 2300 movs r3, #0 + a92c: 9300 str r3, [sp, #0] + a92e: 2502 movs r5, #2 + a930: 426d negs r5, r5 + a932: 1a2b subs r3, r5, r0 uint32_t left_val; if(x - s_left - 1 < 0) left_val = sh_ups_tmp_buf[0]; else left_val = sh_ups_tmp_buf[x - s_left - 1]; v += left_val; } _lv_memcpy(sh_ups_tmp_buf, sh_ups_blur_buf, size * sizeof(uint16_t)); - a8cc: 9701 str r7, [sp, #4] - a8ce: 469b mov fp, r3 - a8d0: 46ca mov sl, r9 - a8d2: 4691 mov r9, r2 - a8d4: e024 b.n a920 + a934: 9701 str r7, [sp, #4] + a936: 469b mov fp, r3 + a938: 46ca mov sl, r9 + a93a: 4691 mov r9, r2 + a93c: e024 b.n a988 v -= right_val; - a8d6: 1a9b subs r3, r3, r2 + a93e: 1a9b subs r3, r3, r2 if(x - s_left - 1 < 0) left_val = sh_ups_tmp_buf[0]; - a8d8: 2e00 cmp r6, #0 - a8da: db10 blt.n a8fe + a940: 2e00 cmp r6, #0 + a942: db10 blt.n a966 else left_val = sh_ups_tmp_buf[x - s_left - 1]; - a8dc: 882a ldrh r2, [r5, #0] + a944: 882a ldrh r2, [r5, #0] v += left_val; - a8de: 18d3 adds r3, r2, r3 - a8e0: 3f02 subs r7, #2 - a8e2: 3d02 subs r5, #2 - a8e4: 3e01 subs r6, #1 + a946: 18d3 adds r3, r2, r3 + a948: 3f02 subs r7, #2 + a94a: 3d02 subs r5, #2 + a94c: 3e01 subs r6, #1 for(x = size - 1; x >= 0; x--) { - a8e6: 455e cmp r6, fp - a8e8: d00c beq.n a904 + a94e: 455e cmp r6, fp + a950: d00c beq.n a96c sh_ups_blur_buf[x] = v; - a8ea: 803b strh r3, [r7, #0] + a952: 803b strh r3, [r7, #0] if(x + s_right < size) right_val = sh_ups_tmp_buf[x + s_right]; - a8ec: 1981 adds r1, r0, r6 - a8ee: 2200 movs r2, #0 - a8f0: 428c cmp r4, r1 - a8f2: ddf0 ble.n a8d6 - a8f4: 464a mov r2, r9 - a8f6: 18aa adds r2, r5, r2 - a8f8: 4442 add r2, r8 - a8fa: 8852 ldrh r2, [r2, #2] - a8fc: e7eb b.n a8d6 + a954: 1981 adds r1, r0, r6 + a956: 2200 movs r2, #0 + a958: 428c cmp r4, r1 + a95a: ddf0 ble.n a93e + a95c: 464a mov r2, r9 + a95e: 18aa adds r2, r5, r2 + a960: 4442 add r2, r8 + a962: 8852 ldrh r2, [r2, #2] + a964: e7eb b.n a93e if(x - s_left - 1 < 0) left_val = sh_ups_tmp_buf[0]; - a8fe: 4652 mov r2, sl - a900: 8812 ldrh r2, [r2, #0] - a902: e7ec b.n a8de + a966: 4652 mov r2, sl + a968: 8812 ldrh r2, [r2, #0] + a96a: e7ec b.n a946 _lv_memcpy(sh_ups_tmp_buf, sh_ups_blur_buf, size * sizeof(uint16_t)); - a904: 9d01 ldr r5, [sp, #4] - a906: 002a movs r2, r5 - a908: 9905 ldr r1, [sp, #20] - a90a: 4650 mov r0, sl - a90c: 4b67 ldr r3, [pc, #412] ; (aaac ) - a90e: 4798 blx r3 + a96c: 9d01 ldr r5, [sp, #4] + a96e: 002a movs r2, r5 + a970: 9905 ldr r1, [sp, #20] + a972: 4650 mov r0, sl + a974: 4b67 ldr r3, [pc, #412] ; (ab14 ) + a976: 4798 blx r3 sh_ups_tmp_buf += size; - a910: 46ac mov ip, r5 - a912: 44e2 add sl, ip + a978: 46ac mov ip, r5 + a97a: 44e2 add sl, ip for(y = 0; y < size; y++) { - a914: 9b00 ldr r3, [sp, #0] - a916: 3301 adds r3, #1 - a918: 9300 str r3, [sp, #0] - a91a: 42a3 cmp r3, r4 - a91c: db00 blt.n a920 - a91e: e0aa b.n aa76 + a97c: 9b00 ldr r3, [sp, #0] + a97e: 3301 adds r3, #1 + a980: 9300 str r3, [sp, #0] + a982: 42a3 cmp r3, r4 + a984: db00 blt.n a988 + a986: e0aa b.n aade int32_t v = sh_ups_tmp_buf[size - 1] * sw; - a920: 9a02 ldr r2, [sp, #8] - a922: 9204 str r2, [sp, #16] - a924: 4653 mov r3, sl - a926: 9903 ldr r1, [sp, #12] - a928: 5a5b ldrh r3, [r3, r1] - a92a: 4353 muls r3, r2 + a988: 9a02 ldr r2, [sp, #8] + a98a: 9204 str r2, [sp, #16] + a98c: 4653 mov r3, sl + a98e: 9903 ldr r1, [sp, #12] + a990: 5a5b ldrh r3, [r3, r1] + a992: 4353 muls r3, r2 for(x = size - 1; x >= 0; x--) { - a92c: 9a06 ldr r2, [sp, #24] - a92e: 2a00 cmp r2, #0 - a930: dbe8 blt.n a904 - a932: 9a0b ldr r2, [sp, #44] ; 0x2c - a934: 4452 add r2, sl - a936: 0015 movs r5, r2 - a938: 9a08 ldr r2, [sp, #32] - a93a: 1e56 subs r6, r2, #1 - a93c: 9f07 ldr r7, [sp, #28] + a994: 9a06 ldr r2, [sp, #24] + a996: 2a00 cmp r2, #0 + a998: dbe8 blt.n a96c + a99a: 9a0b ldr r2, [sp, #44] ; 0x2c + a99c: 4452 add r2, sl + a99e: 0015 movs r5, r2 + a9a0: 9a08 ldr r2, [sp, #32] + a9a2: 1e56 subs r6, r2, #1 + a9a4: 9f07 ldr r7, [sp, #28] if(x + s_right < size) right_val = sh_ups_tmp_buf[x + s_right]; - a93e: 9a09 ldr r2, [sp, #36] ; 0x24 - a940: 1c50 adds r0, r2, #1 - a942: 9a0a ldr r2, [sp, #40] ; 0x28 - a944: 4694 mov ip, r2 - a946: 4460 add r0, ip - a948: e7cf b.n a8ea + a9a6: 9a09 ldr r2, [sp, #36] ; 0x24 + a9a8: 1c50 adds r0, r2, #1 + a9aa: 9a0a ldr r2, [sp, #40] ; 0x28 + a9ac: 4694 mov ip, r2 + a9ae: 4460 add r0, ip + a9b0: e7cf b.n a952 } /*Vertical blur*/ uint32_t i; sh_ups_buf[0] = sh_ups_buf[0] / sw; for(i = 1; i < (uint32_t)size * size; i++) { - a94a: 3601 adds r6, #1 - a94c: 3502 adds r5, #2 - a94e: 42a6 cmp r6, r4 - a950: d207 bcs.n a962 + a9b2: 3601 adds r6, #1 + a9b4: 3502 adds r5, #2 + a9b6: 42a6 cmp r6, r4 + a9b8: d207 bcs.n a9ca if(sh_ups_buf[i] == sh_ups_buf[i - 1]) sh_ups_buf[i] = sh_ups_buf[i - 1]; - a952: 8868 ldrh r0, [r5, #2] - a954: 882b ldrh r3, [r5, #0] - a956: 4283 cmp r3, r0 - a958: d0f7 beq.n a94a + a9ba: 8868 ldrh r0, [r5, #2] + a9bc: 882b ldrh r3, [r5, #0] + a9be: 4283 cmp r3, r0 + a9c0: d0f7 beq.n a9b2 else sh_ups_buf[i] = sh_ups_buf[i] / sw; - a95a: 9904 ldr r1, [sp, #16] - a95c: 47c8 blx r9 - a95e: 8068 strh r0, [r5, #2] - a960: e7f3 b.n a94a - a962: 4644 mov r4, r8 + a9c2: 9904 ldr r1, [sp, #16] + a9c4: 47c8 blx r9 + a9c6: 8068 strh r0, [r5, #2] + a9c8: e7f3 b.n a9b2 + a9ca: 4644 mov r4, r8 } for(x = 0; x < size; x++) { - a964: 2c00 cmp r4, #0 - a966: dc00 bgt.n a96a - a968: e07b b.n aa62 - a96a: 9b0c ldr r3, [sp, #48] ; 0x30 - a96c: 9303 str r3, [sp, #12] - a96e: 980e ldr r0, [sp, #56] ; 0x38 - a970: 1c42 adds r2, r0, #1 - a972: 0013 movs r3, r2 - a974: 437b muls r3, r7 - a976: 9308 str r3, [sp, #32] - a978: 9d0f ldr r5, [sp, #60] ; 0x3c - a97a: 426b negs r3, r5 - a97c: 437b muls r3, r7 - a97e: 469b mov fp, r3 - a980: 990d ldr r1, [sp, #52] ; 0x34 - a982: 004b lsls r3, r1, #1 - a984: 425b negs r3, r3 - a986: 435a muls r2, r3 - a988: 9200 str r2, [sp, #0] + a9cc: 2c00 cmp r4, #0 + a9ce: dc00 bgt.n a9d2 + a9d0: e07b b.n aaca + a9d2: 9b0c ldr r3, [sp, #48] ; 0x30 + a9d4: 9303 str r3, [sp, #12] + a9d6: 980e ldr r0, [sp, #56] ; 0x38 + a9d8: 1c42 adds r2, r0, #1 + a9da: 0013 movs r3, r2 + a9dc: 437b muls r3, r7 + a9de: 9308 str r3, [sp, #32] + a9e0: 9d0f ldr r5, [sp, #60] ; 0x3c + a9e2: 426b negs r3, r5 + a9e4: 437b muls r3, r7 + a9e6: 469b mov fp, r3 + a9e8: 990d ldr r1, [sp, #52] ; 0x34 + a9ea: 004b lsls r3, r1, #1 + a9ec: 425b negs r3, r3 + a9ee: 435a muls r2, r3 + a9f0: 9200 str r2, [sp, #0] v -= top_val; /*Add the bottom pixel*/ uint32_t bottom_val; if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; else bottom_val = sh_ups_buf[(size - 1) * size + x]; - a98a: 000b movs r3, r1 - a98c: 3b01 subs r3, #1 - a98e: 434b muls r3, r1 - a990: 005b lsls r3, r3, #1 - a992: 9302 str r3, [sp, #8] - a994: 2300 movs r3, #0 - a996: 9306 str r3, [sp, #24] + a9f2: 000b movs r3, r1 + a9f4: 3b01 subs r3, #1 + a9f6: 434b muls r3, r1 + a9f8: 005b lsls r3, r3, #1 + a9fa: 9302 str r3, [sp, #8] + a9fc: 2300 movs r3, #0 + a9fe: 9306 str r3, [sp, #24] if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; - a998: 0003 movs r3, r0 - a99a: 2201 movs r2, #1 - a99c: 4694 mov ip, r2 - a99e: 4463 add r3, ip - a9a0: 469a mov sl, r3 - a9a2: 46b8 mov r8, r7 - a9a4: 465b mov r3, fp - a9a6: 9301 str r3, [sp, #4] - a9a8: 46ab mov fp, r5 - a9aa: e037 b.n aa1c - a9ac: 2100 movs r1, #0 - a9ae: e00f b.n a9d0 + aa00: 0003 movs r3, r0 + aa02: 2201 movs r2, #1 + aa04: 4694 mov ip, r2 + aa06: 4463 add r3, ip + aa08: 469a mov sl, r3 + aa0a: 46b8 mov r8, r7 + aa0c: 465b mov r3, fp + aa0e: 9301 str r3, [sp, #4] + aa10: 46ab mov fp, r5 + aa12: e037 b.n aa84 + aa14: 2100 movs r1, #0 + aa16: e00f b.n aa38 if(y - s_right <= 0) top_val = sh_ups_tmp_buf[0]; - a9b0: 4648 mov r0, r9 - a9b2: 8800 ldrh r0, [r0, #0] - a9b4: e016 b.n a9e4 + aa18: 4648 mov r0, r9 + aa1a: 8800 ldrh r0, [r0, #0] + aa1c: e016 b.n aa4c else bottom_val = sh_ups_buf[(size - 1) * size + x]; - a9b6: 4641 mov r1, r8 - a9b8: 9802 ldr r0, [sp, #8] - a9ba: 5a09 ldrh r1, [r1, r0] + aa1e: 4641 mov r1, r8 + aa20: 9802 ldr r0, [sp, #8] + aa22: 5a09 ldrh r1, [r1, r0] v += bottom_val; - a9bc: 18cb adds r3, r1, r3 + aa24: 18cb adds r3, r1, r3 for(y = 0; y < size ; y++, sh_ups_tmp_buf += size) { - a9be: 3201 adds r2, #1 - a9c0: 44b9 add r9, r7 - a9c2: 19f6 adds r6, r6, r7 - a9c4: 3402 adds r4, #2 - a9c6: 4562 cmp r2, ip - a9c8: da12 bge.n a9f0 + aa26: 3201 adds r2, #1 + aa28: 44b9 add r9, r7 + aa2a: 19f6 adds r6, r6, r7 + aa2c: 3402 adds r4, #2 + aa2e: 4562 cmp r2, ip + aa30: da12 bge.n aa58 sh_ups_blur_buf[y] = v < 0 ? 0 : (v >> SHADOW_UPSACALE_SHIFT); - a9ca: 2b00 cmp r3, #0 - a9cc: dbee blt.n a9ac - a9ce: 1199 asrs r1, r3, #6 - a9d0: 8021 strh r1, [r4, #0] - a9d2: 0011 movs r1, r2 + aa32: 2b00 cmp r3, #0 + aa34: dbee blt.n aa14 + aa36: 1199 asrs r1, r3, #6 + aa38: 8021 strh r1, [r4, #0] + aa3a: 0011 movs r1, r2 if(y - s_right <= 0) top_val = sh_ups_tmp_buf[0]; - a9d4: 4658 mov r0, fp - a9d6: 1a10 subs r0, r2, r0 - a9d8: 2800 cmp r0, #0 - a9da: dde9 ble.n a9b0 + aa3c: 4658 mov r0, fp + aa3e: 1a10 subs r0, r2, r0 + aa40: 2800 cmp r0, #0 + aa42: dde9 ble.n aa18 else top_val = sh_ups_buf[(y - s_right) * size + x]; - a9dc: 9801 ldr r0, [sp, #4] - a9de: 1980 adds r0, r0, r6 - a9e0: 9d00 ldr r5, [sp, #0] - a9e2: 5b40 ldrh r0, [r0, r5] + aa44: 9801 ldr r0, [sp, #4] + aa46: 1980 adds r0, r0, r6 + aa48: 9d00 ldr r5, [sp, #0] + aa4a: 5b40 ldrh r0, [r0, r5] v -= top_val; - a9e4: 1a1b subs r3, r3, r0 + aa4c: 1a1b subs r3, r3, r0 if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; - a9e6: 4451 add r1, sl - a9e8: 4561 cmp r1, ip - a9ea: dae4 bge.n a9b6 - a9ec: 8831 ldrh r1, [r6, #0] - a9ee: e7e5 b.n a9bc - a9f0: 4645 mov r5, r8 - a9f2: 46b8 mov r8, r7 - a9f4: 9f07 ldr r7, [sp, #28] - a9f6: 4664 mov r4, ip - a9f8: 2300 movs r3, #0 - a9fa: 4641 mov r1, r8 + aa4e: 4451 add r1, sl + aa50: 4561 cmp r1, ip + aa52: dae4 bge.n aa1e + aa54: 8831 ldrh r1, [r6, #0] + aa56: e7e5 b.n aa24 + aa58: 4645 mov r5, r8 + aa5a: 46b8 mov r8, r7 + aa5c: 9f07 ldr r7, [sp, #28] + aa5e: 4664 mov r4, ip + aa60: 2300 movs r3, #0 + aa62: 4641 mov r1, r8 } /*Write back the result into `sh_ups_buf`*/ sh_ups_tmp_buf = &sh_ups_buf[x]; for(y = 0; y < size; y++, sh_ups_tmp_buf += size) { (*sh_ups_tmp_buf) = sh_ups_blur_buf[y]; - a9fc: 883a ldrh r2, [r7, #0] - a9fe: 802a strh r2, [r5, #0] + aa64: 883a ldrh r2, [r7, #0] + aa66: 802a strh r2, [r5, #0] for(y = 0; y < size; y++, sh_ups_tmp_buf += size) { - aa00: 3301 adds r3, #1 - aa02: 186d adds r5, r5, r1 - aa04: 3702 adds r7, #2 - aa06: 42a3 cmp r3, r4 - aa08: dbf8 blt.n a9fc - aa0a: 4688 mov r8, r1 + aa68: 3301 adds r3, #1 + aa6a: 186d adds r5, r5, r1 + aa6c: 3702 adds r7, #2 + aa6e: 42a3 cmp r3, r4 + aa70: dbf8 blt.n aa64 + aa72: 4688 mov r8, r1 for(x = 0; x < size; x++) { - aa0c: 9b06 ldr r3, [sp, #24] - aa0e: 3301 adds r3, #1 - aa10: 9306 str r3, [sp, #24] - aa12: 9a03 ldr r2, [sp, #12] - aa14: 3202 adds r2, #2 - aa16: 9203 str r2, [sp, #12] - aa18: 42a3 cmp r3, r4 - aa1a: da22 bge.n aa62 + aa74: 9b06 ldr r3, [sp, #24] + aa76: 3301 adds r3, #1 + aa78: 9306 str r3, [sp, #24] + aa7a: 9a03 ldr r2, [sp, #12] + aa7c: 3202 adds r2, #2 + aa7e: 9203 str r2, [sp, #12] + aa80: 42a3 cmp r3, r4 + aa82: da22 bge.n aaca sh_ups_tmp_buf = &sh_ups_buf[x]; - aa1c: 9a03 ldr r2, [sp, #12] - aa1e: 0015 movs r5, r2 + aa84: 9a03 ldr r2, [sp, #12] + aa86: 0015 movs r5, r2 int32_t v = sh_ups_tmp_buf[0] * sw; - aa20: 8813 ldrh r3, [r2, #0] - aa22: 9904 ldr r1, [sp, #16] - aa24: 434b muls r3, r1 - aa26: 9908 ldr r1, [sp, #32] - aa28: 000e movs r6, r1 - aa2a: 4694 mov ip, r2 - aa2c: 4466 add r6, ip - aa2e: 9a05 ldr r2, [sp, #20] - aa30: 0017 movs r7, r2 - aa32: 4694 mov ip, r2 - aa34: 46a9 mov r9, r5 - aa36: 2200 movs r2, #0 - aa38: 9707 str r7, [sp, #28] - aa3a: 4647 mov r7, r8 - aa3c: 0021 movs r1, r4 - aa3e: 4664 mov r4, ip - aa40: 468c mov ip, r1 - aa42: 46a8 mov r8, r5 - aa44: e7c1 b.n a9ca + aa88: 8813 ldrh r3, [r2, #0] + aa8a: 9904 ldr r1, [sp, #16] + aa8c: 434b muls r3, r1 + aa8e: 9908 ldr r1, [sp, #32] + aa90: 000e movs r6, r1 + aa92: 4694 mov ip, r2 + aa94: 4466 add r6, ip + aa96: 9a05 ldr r2, [sp, #20] + aa98: 0017 movs r7, r2 + aa9a: 4694 mov ip, r2 + aa9c: 46a9 mov r9, r5 + aa9e: 2200 movs r2, #0 + aaa0: 9707 str r7, [sp, #28] + aaa2: 4647 mov r7, r8 + aaa4: 0021 movs r1, r4 + aaa6: 4664 mov r4, ip + aaa8: 468c mov ip, r1 + aaaa: 46a8 mov r8, r5 + aaac: e7c1 b.n aa32 sh_ups_buf[0] = sh_ups_buf[0] / sw; - aa46: 9b02 ldr r3, [sp, #8] - aa48: 9304 str r3, [sp, #16] - aa4a: 9d0c ldr r5, [sp, #48] ; 0x30 - aa4c: 8828 ldrh r0, [r5, #0] - aa4e: 0019 movs r1, r3 - aa50: 4b17 ldr r3, [pc, #92] ; (aab0 ) - aa52: 4798 blx r3 - aa54: 8028 strh r0, [r5, #0] + aaae: 9b02 ldr r3, [sp, #8] + aab0: 9304 str r3, [sp, #16] + aab2: 9d0c ldr r5, [sp, #48] ; 0x30 + aab4: 8828 ldrh r0, [r5, #0] + aab6: 0019 movs r1, r3 + aab8: 4b17 ldr r3, [pc, #92] ; (ab18 ) + aaba: 4798 blx r3 + aabc: 8028 strh r0, [r5, #0] for(i = 1; i < (uint32_t)size * size; i++) { - aa56: 9a0d ldr r2, [sp, #52] ; 0x34 - aa58: 0013 movs r3, r2 - aa5a: 4353 muls r3, r2 - aa5c: 4698 mov r8, r3 - aa5e: 2b01 cmp r3, #1 - aa60: d817 bhi.n aa92 + aabe: 9a0d ldr r2, [sp, #52] ; 0x34 + aac0: 0013 movs r3, r2 + aac2: 4353 muls r3, r2 + aac4: 4698 mov r8, r3 + aac6: 2b01 cmp r3, #1 + aac8: d817 bhi.n aafa } } _lv_mem_buf_release(sh_ups_blur_buf); - aa62: 9805 ldr r0, [sp, #20] - aa64: 4b13 ldr r3, [pc, #76] ; (aab4 ) - aa66: 4798 blx r3 -} - aa68: b011 add sp, #68 ; 0x44 - aa6a: bc3c pop {r2, r3, r4, r5} - aa6c: 4690 mov r8, r2 - aa6e: 4699 mov r9, r3 - aa70: 46a2 mov sl, r4 - aa72: 46ab mov fp, r5 - aa74: bdf0 pop {r4, r5, r6, r7, pc} - aa76: 9f01 ldr r7, [sp, #4] + aaca: 9805 ldr r0, [sp, #20] + aacc: 4b13 ldr r3, [pc, #76] ; (ab1c ) + aace: 4798 blx r3 +} + aad0: b011 add sp, #68 ; 0x44 + aad2: bc3c pop {r2, r3, r4, r5} + aad4: 4690 mov r8, r2 + aad6: 4699 mov r9, r3 + aad8: 46a2 mov sl, r4 + aada: 46ab mov fp, r5 + aadc: bdf0 pop {r4, r5, r6, r7, pc} + aade: 9f01 ldr r7, [sp, #4] sh_ups_buf[0] = sh_ups_buf[0] / sw; - aa78: 9d0c ldr r5, [sp, #48] ; 0x30 - aa7a: 8828 ldrh r0, [r5, #0] - aa7c: 9904 ldr r1, [sp, #16] - aa7e: 4b0c ldr r3, [pc, #48] ; (aab0 ) - aa80: 4798 blx r3 - aa82: 8028 strh r0, [r5, #0] + aae0: 9d0c ldr r5, [sp, #48] ; 0x30 + aae2: 8828 ldrh r0, [r5, #0] + aae4: 9904 ldr r1, [sp, #16] + aae6: 4b0c ldr r3, [pc, #48] ; (ab18 ) + aae8: 4798 blx r3 + aaea: 8028 strh r0, [r5, #0] for(i = 1; i < (uint32_t)size * size; i++) { - aa84: 9a0d ldr r2, [sp, #52] ; 0x34 - aa86: 0013 movs r3, r2 - aa88: 4353 muls r3, r2 - aa8a: 4698 mov r8, r3 - aa8c: 2b01 cmp r3, #1 - aa8e: d800 bhi.n aa92 - aa90: e76b b.n a96a - aa92: 9d0c ldr r5, [sp, #48] ; 0x30 - aa94: 2601 movs r6, #1 + aaec: 9a0d ldr r2, [sp, #52] ; 0x34 + aaee: 0013 movs r3, r2 + aaf0: 4353 muls r3, r2 + aaf2: 4698 mov r8, r3 + aaf4: 2b01 cmp r3, #1 + aaf6: d800 bhi.n aafa + aaf8: e76b b.n a9d2 + aafa: 9d0c ldr r5, [sp, #48] ; 0x30 + aafc: 2601 movs r6, #1 else sh_ups_buf[i] = sh_ups_buf[i] / sw; - aa96: 4b06 ldr r3, [pc, #24] ; (aab0 ) - aa98: 4699 mov r9, r3 - aa9a: 4643 mov r3, r8 - aa9c: 46a0 mov r8, r4 - aa9e: 001c movs r4, r3 - aaa0: e757 b.n a952 - aaa2: 46c0 nop ; (mov r8, r8) - aaa4: 00010e59 .word 0x00010e59 - aaa8: 7ffffffe .word 0x7ffffffe - aaac: 00010c25 .word 0x00010c25 - aab0: 00017a75 .word 0x00017a75 - aab4: 00010b6d .word 0x00010b6d - -0000aab8 : -{ - aab8: b510 push {r4, lr} - aaba: 0004 movs r4, r0 + aafe: 4b06 ldr r3, [pc, #24] ; (ab18 ) + ab00: 4699 mov r9, r3 + ab02: 4643 mov r3, r8 + ab04: 46a0 mov r8, r4 + ab06: 001c movs r4, r3 + ab08: e757 b.n a9ba + ab0a: 46c0 nop ; (mov r8, r8) + ab0c: 00010ec1 .word 0x00010ec1 + ab10: 7ffffffe .word 0x7ffffffe + ab14: 00010c8d .word 0x00010c8d + ab18: 00017b05 .word 0x00017b05 + ab1c: 00010bd5 .word 0x00010bd5 + +0000ab20 : +{ + ab20: b510 push {r4, lr} + ab22: 0004 movs r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_rect_dsc_t)); - aabc: 2154 movs r1, #84 ; 0x54 - aabe: 4b23 ldr r3, [pc, #140] ; (ab4c ) - aac0: 4798 blx r3 + ab24: 2154 movs r1, #84 ; 0x54 + ab26: 4b23 ldr r3, [pc, #140] ; (abb4 ) + ab28: 4798 blx r3 dsc->bg_color = LV_COLOR_WHITE; - aac2: 4b23 ldr r3, [pc, #140] ; (ab50 ) - aac4: 881b ldrh r3, [r3, #0] - aac6: 8063 strh r3, [r4, #2] + ab2a: 4b23 ldr r3, [pc, #140] ; (abb8 ) + ab2c: 881b ldrh r3, [r3, #0] + ab2e: 8063 strh r3, [r4, #2] dsc->bg_grad_color = LV_COLOR_BLACK; - aac8: 7923 ldrb r3, [r4, #4] - aaca: 221f movs r2, #31 - aacc: 4393 bics r3, r2 - aace: 7123 strb r3, [r4, #4] - aad0: 88a1 ldrh r1, [r4, #4] - aad2: 4b20 ldr r3, [pc, #128] ; (ab54 ) - aad4: 4019 ands r1, r3 - aad6: 80a1 strh r1, [r4, #4] - aad8: 2100 movs r1, #0 - aada: 7161 strb r1, [r4, #5] + ab30: 7923 ldrb r3, [r4, #4] + ab32: 221f movs r2, #31 + ab34: 4393 bics r3, r2 + ab36: 7123 strb r3, [r4, #4] + ab38: 88a1 ldrh r1, [r4, #4] + ab3a: 4b20 ldr r3, [pc, #128] ; (abbc ) + ab3c: 4019 ands r1, r3 + ab3e: 80a1 strh r1, [r4, #4] + ab40: 2100 movs r1, #0 + ab42: 7161 strb r1, [r4, #5] dsc->border_color = LV_COLOR_BLACK; - aadc: 7ba1 ldrb r1, [r4, #14] - aade: 4391 bics r1, r2 - aae0: 73a1 strb r1, [r4, #14] - aae2: 89e1 ldrh r1, [r4, #14] - aae4: 4019 ands r1, r3 - aae6: 81e1 strh r1, [r4, #14] - aae8: 2100 movs r1, #0 - aaea: 73e1 strb r1, [r4, #15] + ab44: 7ba1 ldrb r1, [r4, #14] + ab46: 4391 bics r1, r2 + ab48: 73a1 strb r1, [r4, #14] + ab4a: 89e1 ldrh r1, [r4, #14] + ab4c: 4019 ands r1, r3 + ab4e: 81e1 strh r1, [r4, #14] + ab50: 2100 movs r1, #0 + ab52: 73e1 strb r1, [r4, #15] dsc->pattern_recolor = LV_COLOR_BLACK; - aaec: 2034 movs r0, #52 ; 0x34 - aaee: 5c21 ldrb r1, [r4, r0] - aaf0: 4391 bics r1, r2 - aaf2: 5421 strb r1, [r4, r0] - aaf4: 8ea1 ldrh r1, [r4, #52] ; 0x34 - aaf6: 4019 ands r1, r3 - aaf8: 86a1 strh r1, [r4, #52] ; 0x34 - aafa: 0021 movs r1, r4 - aafc: 3134 adds r1, #52 ; 0x34 - aafe: 2000 movs r0, #0 - ab00: 7048 strb r0, [r1, #1] + ab54: 2034 movs r0, #52 ; 0x34 + ab56: 5c21 ldrb r1, [r4, r0] + ab58: 4391 bics r1, r2 + ab5a: 5421 strb r1, [r4, r0] + ab5c: 8ea1 ldrh r1, [r4, #52] ; 0x34 + ab5e: 4019 ands r1, r3 + ab60: 86a1 strh r1, [r4, #52] ; 0x34 + ab62: 0021 movs r1, r4 + ab64: 3134 adds r1, #52 ; 0x34 + ab66: 2000 movs r0, #0 + ab68: 7048 strb r0, [r1, #1] dsc->value_color = LV_COLOR_BLACK; - ab02: 2146 movs r1, #70 ; 0x46 - ab04: 5c60 ldrb r0, [r4, r1] - ab06: 4390 bics r0, r2 - ab08: 5460 strb r0, [r4, r1] - ab0a: 5a60 ldrh r0, [r4, r1] - ab0c: 4018 ands r0, r3 - ab0e: 5260 strh r0, [r4, r1] - ab10: 0021 movs r1, r4 - ab12: 3146 adds r1, #70 ; 0x46 - ab14: 2000 movs r0, #0 - ab16: 7048 strb r0, [r1, #1] + ab6a: 2146 movs r1, #70 ; 0x46 + ab6c: 5c60 ldrb r0, [r4, r1] + ab6e: 4390 bics r0, r2 + ab70: 5460 strb r0, [r4, r1] + ab72: 5a60 ldrh r0, [r4, r1] + ab74: 4018 ands r0, r3 + ab76: 5260 strh r0, [r4, r1] + ab78: 0021 movs r1, r4 + ab7a: 3146 adds r1, #70 ; 0x46 + ab7c: 2000 movs r0, #0 + ab7e: 7048 strb r0, [r1, #1] dsc->shadow_color = LV_COLOR_BLACK; - ab18: 7fa1 ldrb r1, [r4, #30] - ab1a: 4391 bics r1, r2 - ab1c: 77a1 strb r1, [r4, #30] - ab1e: 8be2 ldrh r2, [r4, #30] - ab20: 4013 ands r3, r2 - ab22: 83e3 strh r3, [r4, #30] - ab24: 2300 movs r3, #0 - ab26: 77e3 strb r3, [r4, #31] + ab80: 7fa1 ldrb r1, [r4, #30] + ab82: 4391 bics r1, r2 + ab84: 77a1 strb r1, [r4, #30] + ab86: 8be2 ldrh r2, [r4, #30] + ab88: 4013 ands r3, r2 + ab8a: 83e3 strh r3, [r4, #30] + ab8c: 2300 movs r3, #0 + ab8e: 77e3 strb r3, [r4, #31] dsc->bg_grad_color_stop = 0xFF; - ab28: 33ff adds r3, #255 ; 0xff - ab2a: 8163 strh r3, [r4, #10] + ab90: 33ff adds r3, #255 ; 0xff + ab92: 8163 strh r3, [r4, #10] dsc->bg_opa = LV_OPA_COVER; - ab2c: 7323 strb r3, [r4, #12] + ab94: 7323 strb r3, [r4, #12] dsc->outline_opa = LV_OPA_COVER; - ab2e: 7723 strb r3, [r4, #28] + ab96: 7723 strb r3, [r4, #28] dsc->border_opa = LV_OPA_COVER; - ab30: 7523 strb r3, [r4, #20] + ab98: 7523 strb r3, [r4, #20] dsc->pattern_opa = LV_OPA_COVER; - ab32: 2236 movs r2, #54 ; 0x36 - ab34: 54a3 strb r3, [r4, r2] + ab9a: 2236 movs r2, #54 ; 0x36 + ab9c: 54a3 strb r3, [r4, r2] dsc->pattern_font = LV_THEME_DEFAULT_FONT_NORMAL; - ab36: 4a08 ldr r2, [pc, #32] ; (ab58 ) - ab38: 6322 str r2, [r4, #48] ; 0x30 + ab9e: 4a08 ldr r2, [pc, #32] ; (abc0 ) + aba0: 6322 str r2, [r4, #48] ; 0x30 dsc->value_opa = LV_OPA_COVER; - ab3a: 2144 movs r1, #68 ; 0x44 - ab3c: 5463 strb r3, [r4, r1] + aba2: 2144 movs r1, #68 ; 0x44 + aba4: 5463 strb r3, [r4, r1] dsc->value_font = LV_THEME_DEFAULT_FONT_NORMAL; - ab3e: 6422 str r2, [r4, #64] ; 0x40 + aba6: 6422 str r2, [r4, #64] ; 0x40 dsc->shadow_opa = LV_OPA_COVER; - ab40: 2228 movs r2, #40 ; 0x28 - ab42: 54a3 strb r3, [r4, r2] + aba8: 2228 movs r2, #40 ; 0x28 + abaa: 54a3 strb r3, [r4, r2] dsc->border_side = LV_BORDER_SIDE_FULL; - ab44: 3bf0 subs r3, #240 ; 0xf0 - ab46: 8263 strh r3, [r4, #18] -} - ab48: bd10 pop {r4, pc} - ab4a: 46c0 nop ; (mov r8, r8) - ab4c: 00010fe5 .word 0x00010fe5 - ab50: 00018a18 .word 0x00018a18 - ab54: fffff81f .word 0xfffff81f - ab58: 20000030 .word 0x20000030 - -0000ab5c : -{ - ab5c: b5f0 push {r4, r5, r6, r7, lr} - ab5e: 46de mov lr, fp - ab60: 4657 mov r7, sl - ab62: 464e mov r6, r9 - ab64: 4645 mov r5, r8 - ab66: b5e0 push {r5, r6, r7, lr} - ab68: b0b1 sub sp, #196 ; 0xc4 - ab6a: 4681 mov r9, r0 - ab6c: 9104 str r1, [sp, #16] - ab6e: 4693 mov fp, r2 + abac: 3bf0 subs r3, #240 ; 0xf0 + abae: 8263 strh r3, [r4, #18] +} + abb0: bd10 pop {r4, pc} + abb2: 46c0 nop ; (mov r8, r8) + abb4: 0001104d .word 0x0001104d + abb8: 00018aa8 .word 0x00018aa8 + abbc: fffff81f .word 0xfffff81f + abc0: 20000030 .word 0x20000030 + +0000abc4 : +{ + abc4: b5f0 push {r4, r5, r6, r7, lr} + abc6: 46de mov lr, fp + abc8: 4657 mov r7, sl + abca: 464e mov r6, r9 + abcc: 4645 mov r5, r8 + abce: b5e0 push {r5, r6, r7, lr} + abd0: b0b1 sub sp, #196 ; 0xc4 + abd2: 4681 mov r9, r0 + abd4: 9104 str r1, [sp, #16] + abd6: 4693 mov fp, r2 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - ab70: 88c4 ldrh r4, [r0, #6] - ab72: 8845 ldrh r5, [r0, #2] - ab74: 1c63 adds r3, r4, #1 - ab76: 1b5b subs r3, r3, r5 + abd8: 88c4 ldrh r4, [r0, #6] + abda: 8845 ldrh r5, [r0, #2] + abdc: 1c63 adds r3, r4, #1 + abde: 1b5b subs r3, r3, r5 if(lv_area_get_height(coords) < 1 || lv_area_get_width(coords) < 1) return; - ab78: b21b sxth r3, r3 - ab7a: 2b00 cmp r3, #0 - ab7c: dc01 bgt.n ab82 - ab7e: f000 ffce bl bb1e + abe0: b21b sxth r3, r3 + abe2: 2b00 cmp r3, #0 + abe4: dc01 bgt.n abea + abe6: f000 ffce bl bb86 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - ab82: 8886 ldrh r6, [r0, #4] - ab84: 8807 ldrh r7, [r0, #0] - ab86: 1c73 adds r3, r6, #1 - ab88: 1bdb subs r3, r3, r7 - ab8a: b21b sxth r3, r3 - ab8c: 2b00 cmp r3, #0 - ab8e: dc01 bgt.n ab94 - ab90: f000 ffc5 bl bb1e + abea: 8886 ldrh r6, [r0, #4] + abec: 8807 ldrh r7, [r0, #0] + abee: 1c73 adds r3, r6, #1 + abf0: 1bdb subs r3, r3, r7 + abf2: b21b sxth r3, r3 + abf4: 2b00 cmp r3, #0 + abf6: dc01 bgt.n abfc + abf8: f000 ffc5 bl bb86 if(dsc->shadow_width == 0) return; - ab94: 0013 movs r3, r2 - ab96: 2220 movs r2, #32 - ab98: 5e9b ldrsh r3, [r3, r2] - ab9a: 4698 mov r8, r3 - ab9c: 2b00 cmp r3, #0 - ab9e: d101 bne.n aba4 - aba0: f000 fee1 bl b966 + abfc: 0013 movs r3, r2 + abfe: 2220 movs r2, #32 + ac00: 5e9b ldrsh r3, [r3, r2] + ac02: 4698 mov r8, r3 + ac04: 2b00 cmp r3, #0 + ac06: d101 bne.n ac0c + ac08: f000 fee1 bl b9ce if(dsc->shadow_opa <= LV_OPA_MIN) return; - aba4: 2328 movs r3, #40 ; 0x28 - aba6: 465a mov r2, fp - aba8: 5cd3 ldrb r3, [r2, r3] - abaa: 9306 str r3, [sp, #24] - abac: 2b05 cmp r3, #5 - abae: d801 bhi.n abb4 - abb0: f000 fed9 bl b966 + ac0c: 2328 movs r3, #40 ; 0x28 + ac0e: 465a mov r2, fp + ac10: 5cd3 ldrb r3, [r2, r3] + ac12: 9306 str r3, [sp, #24] + ac14: 2b05 cmp r3, #5 + ac16: d801 bhi.n ac1c + ac18: f000 fed9 bl b9ce if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 && - abb4: 6a13 ldr r3, [r2, #32] - abb6: 2b01 cmp r3, #1 - abb8: d100 bne.n abbc - abba: e0e2 b.n ad82 + ac1c: 6a13 ldr r3, [r2, #32] + ac1e: 2b01 cmp r3, #1 + ac20: d100 bne.n ac24 + ac22: e0e2 b.n adea sh_rect_area.x1 = coords->x1 + dsc->shadow_ofs_x - dsc->shadow_spread; - abbc: 465b mov r3, fp - abbe: 8c59 ldrh r1, [r3, #34] ; 0x22 - abc0: 8cda ldrh r2, [r3, #38] ; 0x26 - abc2: 1a8b subs r3, r1, r2 - abc4: 18ff adds r7, r7, r3 - abc6: b2bf uxth r7, r7 - abc8: ab14 add r3, sp, #80 ; 0x50 - abca: 801f strh r7, [r3, #0] + ac24: 465b mov r3, fp + ac26: 8c59 ldrh r1, [r3, #34] ; 0x22 + ac28: 8cda ldrh r2, [r3, #38] ; 0x26 + ac2a: 1a8b subs r3, r1, r2 + ac2c: 18ff adds r7, r7, r3 + ac2e: b2bf uxth r7, r7 + ac30: ab14 add r3, sp, #80 ; 0x50 + ac32: 801f strh r7, [r3, #0] sh_rect_area.x2 = coords->x2 + dsc->shadow_ofs_x + dsc->shadow_spread; - abcc: 1889 adds r1, r1, r2 - abce: 1876 adds r6, r6, r1 - abd0: b2b6 uxth r6, r6 - abd2: 809e strh r6, [r3, #4] + ac34: 1889 adds r1, r1, r2 + ac36: 1876 adds r6, r6, r1 + ac38: b2b6 uxth r6, r6 + ac3a: 809e strh r6, [r3, #4] sh_rect_area.y1 = coords->y1 + dsc->shadow_ofs_y - dsc->shadow_spread; - abd4: 4659 mov r1, fp - abd6: 8c89 ldrh r1, [r1, #36] ; 0x24 - abd8: 1a88 subs r0, r1, r2 - abda: 182d adds r5, r5, r0 - abdc: b2ad uxth r5, r5 - abde: 805d strh r5, [r3, #2] + ac3c: 4659 mov r1, fp + ac3e: 8c89 ldrh r1, [r1, #36] ; 0x24 + ac40: 1a88 subs r0, r1, r2 + ac42: 182d adds r5, r5, r0 + ac44: b2ad uxth r5, r5 + ac46: 805d strh r5, [r3, #2] sh_rect_area.y2 = coords->y2 + dsc->shadow_ofs_y + dsc->shadow_spread; - abe0: 1852 adds r2, r2, r1 - abe2: 18a4 adds r4, r4, r2 - abe4: b2a4 uxth r4, r4 - abe6: 80dc strh r4, [r3, #6] + ac48: 1852 adds r2, r2, r1 + ac4a: 18a4 adds r4, r4, r2 + ac4c: b2a4 uxth r4, r4 + ac4e: 80dc strh r4, [r3, #6] sh_area.x1 = sh_rect_area.x1 - sw / 2 - 1; - abe8: 4643 mov r3, r8 - abea: 0fdb lsrs r3, r3, #31 - abec: 4443 add r3, r8 - abee: 1059 asrs r1, r3, #1 - abf0: 43c9 mvns r1, r1 - abf2: b289 uxth r1, r1 - abf4: aa16 add r2, sp, #88 ; 0x58 - abf6: 1878 adds r0, r7, r1 - abf8: 8010 strh r0, [r2, #0] + ac50: 4643 mov r3, r8 + ac52: 0fdb lsrs r3, r3, #31 + ac54: 4443 add r3, r8 + ac56: 1059 asrs r1, r3, #1 + ac58: 43c9 mvns r1, r1 + ac5a: b289 uxth r1, r1 + ac5c: aa16 add r2, sp, #88 ; 0x58 + ac5e: 1878 adds r0, r7, r1 + ac60: 8010 strh r0, [r2, #0] sh_area.x2 = sh_rect_area.x2 + sw / 2 + 1; - abfa: 105b asrs r3, r3, #1 - abfc: 3301 adds r3, #1 - abfe: b29b uxth r3, r3 - ac00: 18f0 adds r0, r6, r3 - ac02: 8090 strh r0, [r2, #4] + ac62: 105b asrs r3, r3, #1 + ac64: 3301 adds r3, #1 + ac66: b29b uxth r3, r3 + ac68: 18f0 adds r0, r6, r3 + ac6a: 8090 strh r0, [r2, #4] sh_area.y1 = sh_rect_area.y1 - sw / 2 - 1; - ac04: 1869 adds r1, r5, r1 - ac06: 8051 strh r1, [r2, #2] + ac6c: 1869 adds r1, r5, r1 + ac6e: 8051 strh r1, [r2, #2] sh_area.y2 = sh_rect_area.y2 + sw / 2 + 1; - ac08: 18e3 adds r3, r4, r3 - ac0a: 80d3 strh r3, [r2, #6] + ac70: 18e3 adds r3, r4, r3 + ac72: 80d3 strh r3, [r2, #6] if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - ac0c: 9b06 ldr r3, [sp, #24] - ac0e: 2bfa cmp r3, #250 ; 0xfa - ac10: d901 bls.n ac16 - ac12: 23ff movs r3, #255 ; 0xff - ac14: 9306 str r3, [sp, #24] + ac74: 9b06 ldr r3, [sp, #24] + ac76: 2bfa cmp r3, #250 ; 0xfa + ac78: d901 bls.n ac7e + ac7a: 23ff movs r3, #255 ; 0xff + ac7c: 9306 str r3, [sp, #24] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - ac16: 4b9f ldr r3, [pc, #636] ; (ae94 ) - ac18: 4798 blx r3 + ac7e: 4b9f ldr r3, [pc, #636] ; (aefc ) + ac80: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - ac1a: 4b9f ldr r3, [pc, #636] ; (ae98 ) - ac1c: 4798 blx r3 - ac1e: 4682 mov sl, r0 + ac82: 4b9f ldr r3, [pc, #636] ; (af00 ) + ac84: 4798 blx r3 + ac86: 4682 mov sl, r0 is_common = _lv_area_intersect(&draw_area, &sh_area, clip); - ac20: 9a04 ldr r2, [sp, #16] - ac22: a916 add r1, sp, #88 ; 0x58 - ac24: a818 add r0, sp, #96 ; 0x60 - ac26: 4b9d ldr r3, [pc, #628] ; (ae9c ) - ac28: 4798 blx r3 + ac88: 9a04 ldr r2, [sp, #16] + ac8a: a916 add r1, sp, #88 ; 0x58 + ac8c: a818 add r0, sp, #96 ; 0x60 + ac8e: 4b9d ldr r3, [pc, #628] ; (af04 ) + ac90: 4798 blx r3 if(is_common == false) return; - ac2a: 2800 cmp r0, #0 - ac2c: d101 bne.n ac32 - ac2e: f000 fe9a bl b966 + ac92: 2800 cmp r0, #0 + ac94: d101 bne.n ac9a + ac96: f000 fe9a bl b9ce draw_area.x1 -= disp_area->x1; - ac32: 4653 mov r3, sl - ac34: 8a1b ldrh r3, [r3, #16] - ac36: 469c mov ip, r3 - ac38: ab18 add r3, sp, #96 ; 0x60 - ac3a: 881a ldrh r2, [r3, #0] - ac3c: 4661 mov r1, ip - ac3e: 1a52 subs r2, r2, r1 - ac40: 801a strh r2, [r3, #0] + ac9a: 4653 mov r3, sl + ac9c: 8a1b ldrh r3, [r3, #16] + ac9e: 469c mov ip, r3 + aca0: ab18 add r3, sp, #96 ; 0x60 + aca2: 881a ldrh r2, [r3, #0] + aca4: 4661 mov r1, ip + aca6: 1a52 subs r2, r2, r1 + aca8: 801a strh r2, [r3, #0] draw_area.y1 -= disp_area->y1; - ac42: 4652 mov r2, sl - ac44: 8a50 ldrh r0, [r2, #18] - ac46: 885a ldrh r2, [r3, #2] - ac48: 1a12 subs r2, r2, r0 - ac4a: 805a strh r2, [r3, #2] + acaa: 4652 mov r2, sl + acac: 8a50 ldrh r0, [r2, #18] + acae: 885a ldrh r2, [r3, #2] + acb0: 1a12 subs r2, r2, r0 + acb2: 805a strh r2, [r3, #2] draw_area.x2 -= disp_area->x1; - ac4c: 8899 ldrh r1, [r3, #4] - ac4e: 4662 mov r2, ip - ac50: 1a89 subs r1, r1, r2 - ac52: 8099 strh r1, [r3, #4] + acb4: 8899 ldrh r1, [r3, #4] + acb6: 4662 mov r2, ip + acb8: 1a89 subs r1, r1, r2 + acba: 8099 strh r1, [r3, #4] draw_area.y2 -= disp_area->y1; - ac54: 88da ldrh r2, [r3, #6] - ac56: 1a12 subs r2, r2, r0 - ac58: 80da strh r2, [r3, #6] - ac5a: 2300 movs r3, #0 + acbc: 88da ldrh r2, [r3, #6] + acbe: 1a12 subs r2, r2, r0 + acc0: 80da strh r2, [r3, #6] + acc2: 2300 movs r3, #0 { uint8_t * d8 = (uint8_t *)dst; const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - ac5c: a91a add r1, sp, #104 ; 0x68 - ac5e: 4648 mov r0, r9 - ac60: 5cc2 ldrb r2, [r0, r3] - ac62: 545a strb r2, [r3, r1] - ac64: 3301 adds r3, #1 + acc4: a91a add r1, sp, #104 ; 0x68 + acc6: 4648 mov r0, r9 + acc8: 5cc2 ldrb r2, [r0, r3] + acca: 545a strb r2, [r3, r1] + accc: 3301 adds r3, #1 while(len) { - ac66: 2b08 cmp r3, #8 - ac68: d1fa bne.n ac60 - ac6a: 4681 mov r9, r0 + acce: 2b08 cmp r3, #8 + acd0: d1fa bne.n acc8 + acd2: 4681 mov r9, r0 bg_coords.x1 += 1; - ac6c: ab1a add r3, sp, #104 ; 0x68 - ac6e: 8819 ldrh r1, [r3, #0] - ac70: 3101 adds r1, #1 - ac72: b28a uxth r2, r1 - ac74: 4694 mov ip, r2 - ac76: 801a strh r2, [r3, #0] + acd4: ab1a add r3, sp, #104 ; 0x68 + acd6: 8819 ldrh r1, [r3, #0] + acd8: 3101 adds r1, #1 + acda: b28a uxth r2, r1 + acdc: 4694 mov ip, r2 + acde: 801a strh r2, [r3, #0] bg_coords.y1 += 1; - ac78: 8858 ldrh r0, [r3, #2] - ac7a: 3001 adds r0, #1 - ac7c: b282 uxth r2, r0 - ac7e: 9205 str r2, [sp, #20] - ac80: 466a mov r2, sp - ac82: 8a92 ldrh r2, [r2, #20] - ac84: 805a strh r2, [r3, #2] + ace0: 8858 ldrh r0, [r3, #2] + ace2: 3001 adds r0, #1 + ace4: b282 uxth r2, r0 + ace6: 9205 str r2, [sp, #20] + ace8: 466a mov r2, sp + acea: 8a92 ldrh r2, [r2, #20] + acec: 805a strh r2, [r3, #2] bg_coords.x2 -= 1; - ac86: 8898 ldrh r0, [r3, #4] - ac88: 1e42 subs r2, r0, #1 - ac8a: 809a strh r2, [r3, #4] + acee: 8898 ldrh r0, [r3, #4] + acf0: 1e42 subs r2, r0, #1 + acf2: 809a strh r2, [r3, #4] bg_coords.y2 -= 1; - ac8c: 88da ldrh r2, [r3, #6] - ac8e: 1e51 subs r1, r2, #1 - ac90: 80d9 strh r1, [r3, #6] + acf4: 88da ldrh r2, [r3, #6] + acf6: 1e51 subs r1, r2, #1 + acf8: 80d9 strh r1, [r3, #6] int32_t r_bg = dsc->radius; - ac92: 465b mov r3, fp - ac94: 2100 movs r1, #0 - ac96: 5e5b ldrsh r3, [r3, r1] - ac98: 4661 mov r1, ip - ac9a: 1a41 subs r1, r0, r1 - ac9c: b209 sxth r1, r1 + acfa: 465b mov r3, fp + acfc: 2100 movs r1, #0 + acfe: 5e5b ldrsh r3, [r3, r1] + ad00: 4661 mov r1, ip + ad02: 1a41 subs r1, r0, r1 + ad04: b209 sxth r1, r1 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - ac9e: 9805 ldr r0, [sp, #20] - aca0: 1a10 subs r0, r2, r0 - aca2: b200 sxth r0, r0 + ad06: 9805 ldr r0, [sp, #20] + ad08: 1a10 subs r0, r2, r0 + ad0a: b200 sxth r0, r0 int32_t short_side = LV_MATH_MIN(lv_area_get_width(&bg_coords), lv_area_get_height(&bg_coords)); - aca4: 0002 movs r2, r0 - aca6: 4281 cmp r1, r0 - aca8: da00 bge.n acac - acaa: 000a movs r2, r1 + ad0c: 0002 movs r2, r0 + ad0e: 4281 cmp r1, r0 + ad10: da00 bge.n ad14 + ad12: 000a movs r2, r1 if(r_bg > short_side >> 1) r_bg = short_side >> 1; - acac: 1052 asrs r2, r2, #1 - acae: 920f str r2, [sp, #60] ; 0x3c - acb0: 429a cmp r2, r3 - acb2: dd00 ble.n acb6 - acb4: 930f str r3, [sp, #60] ; 0x3c + ad14: 1052 asrs r2, r2, #1 + ad16: 920f str r2, [sp, #60] ; 0x3c + ad18: 429a cmp r2, r3 + ad1a: dd00 ble.n ad1e + ad1c: 930f str r3, [sp, #60] ; 0x3c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - acb6: 3601 adds r6, #1 - acb8: 1bf6 subs r6, r6, r7 - acba: b2b2 uxth r2, r6 - acbc: 4692 mov sl, r2 - acbe: b211 sxth r1, r2 + ad1e: 3601 adds r6, #1 + ad20: 1bf6 subs r6, r6, r7 + ad22: b2b2 uxth r2, r6 + ad24: 4692 mov sl, r2 + ad26: b211 sxth r1, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - acc0: 3401 adds r4, #1 - acc2: 1b65 subs r5, r4, r5 - acc4: b2ad uxth r5, r5 - acc6: b22a sxth r2, r5 + ad28: 3401 adds r4, #1 + ad2a: 1b65 subs r5, r4, r5 + ad2c: b2ad uxth r5, r5 + ad2e: b22a sxth r2, r5 short_side = LV_MATH_MIN(lv_area_get_width(&sh_rect_area), lv_area_get_height(&sh_rect_area)); - acc8: 0014 movs r4, r2 - acca: 4291 cmp r1, r2 - accc: da00 bge.n acd0 - acce: 000c movs r4, r1 + ad30: 0014 movs r4, r2 + ad32: 4291 cmp r1, r2 + ad34: da00 bge.n ad38 + ad36: 000c movs r4, r1 if(r_sh > short_side >> 1) r_sh = short_side >> 1; - acd0: 1064 asrs r4, r4, #1 - acd2: 429c cmp r4, r3 - acd4: dd00 ble.n acd8 - acd6: 001c movs r4, r3 + ad38: 1064 asrs r4, r4, #1 + ad3a: 429c cmp r4, r3 + ad3c: dd00 ble.n ad40 + ad3e: 001c movs r4, r3 int32_t corner_size = sw + r_sh; - acd8: 44a0 add r8, r4 - acda: 4643 mov r3, r8 - acdc: 9309 str r3, [sp, #36] ; 0x24 + ad40: 44a0 add r8, r4 + ad42: 4643 mov r3, r8 + ad44: 9309 str r3, [sp, #36] ; 0x24 sh_buf = _lv_mem_buf_get(corner_size * corner_size * sizeof(uint16_t)); - acde: 4640 mov r0, r8 - ace0: 4358 muls r0, r3 - ace2: 0040 lsls r0, r0, #1 - ace4: 4b6e ldr r3, [pc, #440] ; (aea0 ) - ace6: 4798 blx r3 - ace8: 900e str r0, [sp, #56] ; 0x38 + ad46: 4640 mov r0, r8 + ad48: 4358 muls r0, r3 + ad4a: 0040 lsls r0, r0, #1 + ad4c: 4b6e ldr r3, [pc, #440] ; (af08 ) + ad4e: 4798 blx r3 + ad50: 900e str r0, [sp, #56] ; 0x38 shadow_draw_corner_buf(&sh_rect_area, (uint16_t *)sh_buf, dsc->shadow_width, r_sh); - acea: 465b mov r3, fp - acec: 2720 movs r7, #32 - acee: 5fdf ldrsh r7, [r3, r7] - acf0: b222 sxth r2, r4 + ad52: 465b mov r3, fp + ad54: 2720 movs r7, #32 + ad56: 5fdf ldrsh r7, [r3, r7] + ad58: b222 sxth r2, r4 int32_t sw_ori = sw; - acf2: 46b8 mov r8, r7 + ad5a: 46b8 mov r8, r7 int32_t size = sw_ori + r; - acf4: 19d3 adds r3, r2, r7 - acf6: 9307 str r3, [sp, #28] - acf8: 2300 movs r3, #0 + ad5c: 19d3 adds r3, r2, r7 + ad5e: 9307 str r3, [sp, #28] + ad60: 2300 movs r3, #0 *d8 = *s8; - acfa: a822 add r0, sp, #136 ; 0x88 - acfc: a914 add r1, sp, #80 ; 0x50 - acfe: 5c5e ldrb r6, [r3, r1] - ad00: 541e strb r6, [r3, r0] - ad02: 3301 adds r3, #1 + ad62: a822 add r0, sp, #136 ; 0x88 + ad64: a914 add r1, sp, #80 ; 0x50 + ad66: 5c5e ldrb r6, [r3, r1] + ad68: 541e strb r6, [r3, r0] + ad6a: 3301 adds r3, #1 while(len) { - ad04: 2b08 cmp r3, #8 - ad06: d1fa bne.n acfe + ad6c: 2b08 cmp r3, #8 + ad6e: d1fa bne.n ad66 sh_area.x2 = sw / 2 + r - 1 - ((sw & 1) ? 0 : 1); - ad08: 0ffb lsrs r3, r7, #31 - ad0a: 19db adds r3, r3, r7 - ad0c: 105b asrs r3, r3, #1 - ad0e: b29b uxth r3, r3 - ad10: 2101 movs r1, #1 - ad12: 4039 ands r1, r7 - ad14: 000e movs r6, r1 - ad16: 9110 str r1, [sp, #64] ; 0x40 - ad18: 1e59 subs r1, r3, #1 - ad1a: 4270 negs r0, r6 - ad1c: 4170 adcs r0, r6 - ad1e: 1a09 subs r1, r1, r0 - ad20: 190c adds r4, r1, r4 - ad22: b2a4 uxth r4, r4 - ad24: a922 add r1, sp, #136 ; 0x88 - ad26: 808c strh r4, [r1, #4] + ad70: 0ffb lsrs r3, r7, #31 + ad72: 19db adds r3, r3, r7 + ad74: 105b asrs r3, r3, #1 + ad76: b29b uxth r3, r3 + ad78: 2101 movs r1, #1 + ad7a: 4039 ands r1, r7 + ad7c: 000e movs r6, r1 + ad7e: 9110 str r1, [sp, #64] ; 0x40 + ad80: 1e59 subs r1, r3, #1 + ad82: 4270 negs r0, r6 + ad84: 4170 adcs r0, r6 + ad86: 1a09 subs r1, r1, r0 + ad88: 190c adds r4, r1, r4 + ad8a: b2a4 uxth r4, r4 + ad8c: a922 add r1, sp, #136 ; 0x88 + ad8e: 808c strh r4, [r1, #4] sh_area.y1 = sw / 2 + 1; - ad28: 3301 adds r3, #1 - ad2a: b29b uxth r3, r3 - ad2c: 804b strh r3, [r1, #2] + ad90: 3301 adds r3, #1 + ad92: b29b uxth r3, r3 + ad94: 804b strh r3, [r1, #2] sh_area.x1 = sh_area.x2 - lv_area_get_width(coords); - ad2e: 4650 mov r0, sl - ad30: 1a24 subs r4, r4, r0 - ad32: 800c strh r4, [r1, #0] + ad96: 4650 mov r0, sl + ad98: 1a24 subs r4, r4, r0 + ad9a: 800c strh r4, [r1, #0] sh_area.y2 = sh_area.y1 + lv_area_get_height(coords); - ad34: 18ed adds r5, r5, r3 - ad36: 80cd strh r5, [r1, #6] + ad9c: 18ed adds r5, r5, r3 + ad9e: 80cd strh r5, [r1, #6] lv_draw_mask_radius_init(&mask_param, &sh_area, r, false); - ad38: 2300 movs r3, #0 - ad3a: a829 add r0, sp, #164 ; 0xa4 - ad3c: 4c59 ldr r4, [pc, #356] ; (aea4 ) - ad3e: 47a0 blx r4 + ada0: 2300 movs r3, #0 + ada2: a829 add r0, sp, #164 ; 0xa4 + ada4: 4c59 ldr r4, [pc, #356] ; (af0c ) + ada6: 47a0 blx r4 if(sw_ori == 1) sw = 1; - ad40: 4643 mov r3, r8 - ad42: 2b01 cmp r3, #1 - ad44: d101 bne.n ad4a - ad46: f002 f95b bl d000 - ad4a: 107b asrs r3, r7, #1 - ad4c: 930d str r3, [sp, #52] ; 0x34 + ada8: 4643 mov r3, r8 + adaa: 2b01 cmp r3, #1 + adac: d101 bne.n adb2 + adae: f002 f95b bl d068 + adb2: 107b asrs r3, r7, #1 + adb4: 930d str r3, [sp, #52] ; 0x34 lv_opa_t * mask_line = _lv_mem_buf_get(size); - ad4e: 9c07 ldr r4, [sp, #28] - ad50: 940c str r4, [sp, #48] ; 0x30 - ad52: 0020 movs r0, r4 - ad54: 4b52 ldr r3, [pc, #328] ; (aea0 ) - ad56: 4798 blx r3 - ad58: 900a str r0, [sp, #40] ; 0x28 + adb6: 9c07 ldr r4, [sp, #28] + adb8: 940c str r4, [sp, #48] ; 0x30 + adba: 0020 movs r0, r4 + adbc: 4b52 ldr r3, [pc, #328] ; (af08 ) + adbe: 4798 blx r3 + adc0: 900a str r0, [sp, #40] ; 0x28 for(y = 0; y < size; y++) { - ad5a: 2c00 cmp r4, #0 - ad5c: dd61 ble.n ae22 + adc2: 2c00 cmp r4, #0 + adc4: dd61 ble.n ae8a _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - ad5e: 9b0c ldr r3, [sp, #48] ; 0x30 - ad60: 005b lsls r3, r3, #1 - ad62: 930b str r3, [sp, #44] ; 0x2c - ad64: 9b07 ldr r3, [sp, #28] - ad66: 4a50 ldr r2, [pc, #320] ; (aea8 ) - ad68: 4694 mov ip, r2 - ad6a: 4463 add r3, ip - ad6c: 005b lsls r3, r3, #1 - ad6e: 9a0e ldr r2, [sp, #56] ; 0x38 - ad70: 4692 mov sl, r2 - ad72: 2200 movs r2, #0 - ad74: 4690 mov r8, r2 + adc6: 9b0c ldr r3, [sp, #48] ; 0x30 + adc8: 005b lsls r3, r3, #1 + adca: 930b str r3, [sp, #44] ; 0x2c + adcc: 9b07 ldr r3, [sp, #28] + adce: 4a50 ldr r2, [pc, #320] ; (af10 ) + add0: 4694 mov ip, r2 + add2: 4463 add r3, ip + add4: 005b lsls r3, r3, #1 + add6: 9a0e ldr r2, [sp, #56] ; 0x38 + add8: 4692 mov sl, r2 + adda: 2200 movs r2, #0 + addc: 4690 mov r8, r2 else sh_ups_tmp_buf[i] = (mask_line[i] << SHADOW_UPSACALE_SHIFT) / sw; - ad76: 4f4d ldr r7, [pc, #308] ; (aeac ) - ad78: 4652 mov r2, sl - ad7a: 9208 str r2, [sp, #32] - ad7c: 46ca mov sl, r9 - ad7e: 4699 mov r9, r3 - ad80: e01c b.n adbc + adde: 4f4d ldr r7, [pc, #308] ; (af14 ) + ade0: 4652 mov r2, sl + ade2: 9208 str r2, [sp, #32] + ade4: 46ca mov sl, r9 + ade6: 4699 mov r9, r3 + ade8: e01c b.n ae24 if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 && - ad82: 465b mov r3, fp - ad84: 2224 movs r2, #36 ; 0x24 - ad86: 5e9b ldrsh r3, [r3, r2] - ad88: 2b00 cmp r3, #0 - ad8a: d000 beq.n ad8e - ad8c: e716 b.n abbc + adea: 465b mov r3, fp + adec: 2224 movs r2, #36 ; 0x24 + adee: 5e9b ldrsh r3, [r3, r2] + adf0: 2b00 cmp r3, #0 + adf2: d000 beq.n adf6 + adf4: e716 b.n ac24 dsc->shadow_ofs_y == 0 && dsc->shadow_spread <= 0) { - ad8e: 465b mov r3, fp - ad90: 2226 movs r2, #38 ; 0x26 - ad92: 5e9b ldrsh r3, [r3, r2] - ad94: 2b00 cmp r3, #0 - ad96: dd00 ble.n ad9a - ad98: e710 b.n abbc - ad9a: f000 fde4 bl b966 + adf6: 465b mov r3, fp + adf8: 2226 movs r2, #38 ; 0x26 + adfa: 5e9b ldrsh r3, [r3, r2] + adfc: 2b00 cmp r3, #0 + adfe: dd00 ble.n ae02 + ae00: e710 b.n ac24 + ae02: f000 fde4 bl b9ce _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - ad9e: 990b ldr r1, [sp, #44] ; 0x2c - ada0: 9808 ldr r0, [sp, #32] - ada2: 4b43 ldr r3, [pc, #268] ; (aeb0 ) - ada4: 4798 blx r3 + ae06: 990b ldr r1, [sp, #44] ; 0x2c + ae08: 9808 ldr r0, [sp, #32] + ae0a: 4b43 ldr r3, [pc, #268] ; (af18 ) + ae0c: 4798 blx r3 sh_ups_tmp_buf += size; - ada6: 9b08 ldr r3, [sp, #32] - ada8: 9a0b ldr r2, [sp, #44] ; 0x2c - adaa: 4694 mov ip, r2 - adac: 4463 add r3, ip - adae: 9308 str r3, [sp, #32] + ae0e: 9b08 ldr r3, [sp, #32] + ae10: 9a0b ldr r2, [sp, #44] ; 0x2c + ae12: 4694 mov ip, r2 + ae14: 4463 add r3, ip + ae16: 9308 str r3, [sp, #32] for(y = 0; y < size; y++) { - adb0: 2301 movs r3, #1 - adb2: 469c mov ip, r3 - adb4: 44e0 add r8, ip - adb6: 9b07 ldr r3, [sp, #28] - adb8: 4543 cmp r3, r8 - adba: dd31 ble.n ae20 + ae18: 2301 movs r3, #1 + ae1a: 469c mov ip, r3 + ae1c: 44e0 add r8, ip + ae1e: 9b07 ldr r3, [sp, #28] + ae20: 4543 cmp r3, r8 + ae22: dd31 ble.n ae88 _lv_memset_ff(mask_line, size); - adbc: 990c ldr r1, [sp, #48] ; 0x30 - adbe: 9c0a ldr r4, [sp, #40] ; 0x28 - adc0: 0020 movs r0, r4 - adc2: 4b3c ldr r3, [pc, #240] ; (aeb4 ) - adc4: 4798 blx r3 + ae24: 990c ldr r1, [sp, #48] ; 0x30 + ae26: 9c0a ldr r4, [sp, #40] ; 0x28 + ae28: 0020 movs r0, r4 + ae2a: 4b3c ldr r3, [pc, #240] ; (af1c ) + ae2c: 4798 blx r3 lv_draw_mask_res_t mask_res = mask_param.dsc.cb(mask_line, 0, y, size, &mask_param); - adc6: 466b mov r3, sp - adc8: 221c movs r2, #28 - adca: 5e9b ldrsh r3, [r3, r2] - adcc: 4642 mov r2, r8 - adce: b212 sxth r2, r2 - add0: a929 add r1, sp, #164 ; 0xa4 - add2: 9100 str r1, [sp, #0] - add4: 2100 movs r1, #0 - add6: 0020 movs r0, r4 - add8: 9c29 ldr r4, [sp, #164] ; 0xa4 - adda: 47a0 blx r4 + ae2e: 466b mov r3, sp + ae30: 221c movs r2, #28 + ae32: 5e9b ldrsh r3, [r3, r2] + ae34: 4642 mov r2, r8 + ae36: b212 sxth r2, r2 + ae38: a929 add r1, sp, #164 ; 0xa4 + ae3a: 9100 str r1, [sp, #0] + ae3c: 2100 movs r1, #0 + ae3e: 0020 movs r0, r4 + ae40: 9c29 ldr r4, [sp, #164] ; 0xa4 + ae42: 47a0 blx r4 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - addc: 2800 cmp r0, #0 - adde: d0de beq.n ad9e + ae44: 2800 cmp r0, #0 + ae46: d0de beq.n ae06 sh_ups_tmp_buf[0] = (mask_line[0] << SHADOW_UPSACALE_SHIFT) / sw; - ade0: 9b0d ldr r3, [sp, #52] ; 0x34 - ade2: 9305 str r3, [sp, #20] - ade4: 9d0a ldr r5, [sp, #40] ; 0x28 - ade6: 7828 ldrb r0, [r5, #0] - ade8: 0180 lsls r0, r0, #6 - adea: 0019 movs r1, r3 - adec: 4b2f ldr r3, [pc, #188] ; (aeac ) - adee: 4798 blx r3 - adf0: 9b08 ldr r3, [sp, #32] - adf2: 8018 strh r0, [r3, #0] + ae48: 9b0d ldr r3, [sp, #52] ; 0x34 + ae4a: 9305 str r3, [sp, #20] + ae4c: 9d0a ldr r5, [sp, #40] ; 0x28 + ae4e: 7828 ldrb r0, [r5, #0] + ae50: 0180 lsls r0, r0, #6 + ae52: 0019 movs r1, r3 + ae54: 4b2f ldr r3, [pc, #188] ; (af14 ) + ae56: 4798 blx r3 + ae58: 9b08 ldr r3, [sp, #32] + ae5a: 8018 strh r0, [r3, #0] for(i = 1; i < size; i++) { - adf4: 9a07 ldr r2, [sp, #28] - adf6: 2a01 cmp r2, #1 - adf8: ddd5 ble.n ada6 - adfa: 001c movs r4, r3 - adfc: 444b add r3, r9 - adfe: 001e movs r6, r3 - ae00: e005 b.n ae0e + ae5c: 9a07 ldr r2, [sp, #28] + ae5e: 2a01 cmp r2, #1 + ae60: ddd5 ble.n ae0e + ae62: 001c movs r4, r3 + ae64: 444b add r3, r9 + ae66: 001e movs r6, r3 + ae68: e005 b.n ae76 if(mask_line[i] == mask_line[i - 1]) sh_ups_tmp_buf[i] = sh_ups_tmp_buf[i - 1]; - ae02: 8823 ldrh r3, [r4, #0] - ae04: 8063 strh r3, [r4, #2] - ae06: 3501 adds r5, #1 - ae08: 3402 adds r4, #2 + ae6a: 8823 ldrh r3, [r4, #0] + ae6c: 8063 strh r3, [r4, #2] + ae6e: 3501 adds r5, #1 + ae70: 3402 adds r4, #2 for(i = 1; i < size; i++) { - ae0a: 42a6 cmp r6, r4 - ae0c: d0cb beq.n ada6 + ae72: 42a6 cmp r6, r4 + ae74: d0cb beq.n ae0e if(mask_line[i] == mask_line[i - 1]) sh_ups_tmp_buf[i] = sh_ups_tmp_buf[i - 1]; - ae0e: 7868 ldrb r0, [r5, #1] - ae10: 782b ldrb r3, [r5, #0] - ae12: 4283 cmp r3, r0 - ae14: d0f5 beq.n ae02 + ae76: 7868 ldrb r0, [r5, #1] + ae78: 782b ldrb r3, [r5, #0] + ae7a: 4283 cmp r3, r0 + ae7c: d0f5 beq.n ae6a else sh_ups_tmp_buf[i] = (mask_line[i] << SHADOW_UPSACALE_SHIFT) / sw; - ae16: 0180 lsls r0, r0, #6 - ae18: 9905 ldr r1, [sp, #20] - ae1a: 47b8 blx r7 - ae1c: 8060 strh r0, [r4, #2] - ae1e: e7f2 b.n ae06 - ae20: 46d1 mov r9, sl + ae7e: 0180 lsls r0, r0, #6 + ae80: 9905 ldr r1, [sp, #20] + ae82: 47b8 blx r7 + ae84: 8060 strh r0, [r4, #2] + ae86: e7f2 b.n ae6e + ae88: 46d1 mov r9, sl _lv_mem_buf_release(mask_line); - ae22: 980a ldr r0, [sp, #40] ; 0x28 - ae24: 4b24 ldr r3, [pc, #144] ; (aeb8 ) - ae26: 4798 blx r3 + ae8a: 980a ldr r0, [sp, #40] ; 0x28 + ae8c: 4b24 ldr r3, [pc, #144] ; (af20 ) + ae8e: 4798 blx r3 if(sw == 1) { - ae28: 9b0d ldr r3, [sp, #52] ; 0x34 - ae2a: 2b01 cmp r3, #1 - ae2c: d101 bne.n ae32 - ae2e: f002 f8f6 bl d01e + ae90: 9b0d ldr r3, [sp, #52] ; 0x34 + ae92: 2b01 cmp r3, #1 + ae94: d101 bne.n ae9a + ae96: f002 f8f6 bl d086 shadow_blur_corner(size, sw, sh_buf); - ae32: 466b mov r3, sp - ae34: 221c movs r2, #28 - ae36: 5e9b ldrsh r3, [r3, r2] - ae38: 9308 str r3, [sp, #32] - ae3a: 9c0e ldr r4, [sp, #56] ; 0x38 - ae3c: 0022 movs r2, r4 - ae3e: 9d0d ldr r5, [sp, #52] ; 0x34 - ae40: 0029 movs r1, r5 - ae42: 0018 movs r0, r3 - ae44: 4b1d ldr r3, [pc, #116] ; (aebc ) - ae46: 4798 blx r3 + ae9a: 466b mov r3, sp + ae9c: 221c movs r2, #28 + ae9e: 5e9b ldrsh r3, [r3, r2] + aea0: 9308 str r3, [sp, #32] + aea2: 9c0e ldr r4, [sp, #56] ; 0x38 + aea4: 0022 movs r2, r4 + aea6: 9d0d ldr r5, [sp, #52] ; 0x34 + aea8: 0029 movs r1, r5 + aeaa: 0018 movs r0, r3 + aeac: 4b1d ldr r3, [pc, #116] ; (af24 ) + aeae: 4798 blx r3 sw += sw_ori & 1; - ae48: 9b10 ldr r3, [sp, #64] ; 0x40 - ae4a: 46ac mov ip, r5 - ae4c: 4463 add r3, ip - ae4e: b21f sxth r7, r3 + aeb0: 9b10 ldr r3, [sp, #64] ; 0x40 + aeb2: 46ac mov ip, r5 + aeb4: 4463 add r3, ip + aeb6: b21f sxth r7, r3 if(sw > 1) { - ae50: 2f01 cmp r7, #1 - ae52: dd3a ble.n aeca + aeb8: 2f01 cmp r7, #1 + aeba: dd3a ble.n af32 sh_buf[0] = (sh_buf[0] << SHADOW_UPSACALE_SHIFT) / sw; - ae54: 9705 str r7, [sp, #20] - ae56: 8820 ldrh r0, [r4, #0] - ae58: 0180 lsls r0, r0, #6 - ae5a: 0039 movs r1, r7 - ae5c: 4b13 ldr r3, [pc, #76] ; (aeac ) - ae5e: 4798 blx r3 - ae60: 8020 strh r0, [r4, #0] + aebc: 9705 str r7, [sp, #20] + aebe: 8820 ldrh r0, [r4, #0] + aec0: 0180 lsls r0, r0, #6 + aec2: 0039 movs r1, r7 + aec4: 4b13 ldr r3, [pc, #76] ; (af14 ) + aec6: 4798 blx r3 + aec8: 8020 strh r0, [r4, #0] for(i = 1; i < (uint32_t) size * size; i++) { - ae62: 9d0c ldr r5, [sp, #48] ; 0x30 - ae64: 436d muls r5, r5 - ae66: 2d01 cmp r5, #1 - ae68: d92a bls.n aec0 - ae6a: 4a0f ldr r2, [pc, #60] ; (aea8 ) - ae6c: 4694 mov ip, r2 - ae6e: 4465 add r5, ip - ae70: 006d lsls r5, r5, #1 - ae72: 46a4 mov ip, r4 - ae74: 4465 add r5, ip + aeca: 9d0c ldr r5, [sp, #48] ; 0x30 + aecc: 436d muls r5, r5 + aece: 2d01 cmp r5, #1 + aed0: d92a bls.n af28 + aed2: 4a0f ldr r2, [pc, #60] ; (af10 ) + aed4: 4694 mov ip, r2 + aed6: 4465 add r5, ip + aed8: 006d lsls r5, r5, #1 + aeda: 46a4 mov ip, r4 + aedc: 4465 add r5, ip else sh_buf[i] = (sh_buf[i] << SHADOW_UPSACALE_SHIFT) / sw; - ae76: 4e0d ldr r6, [pc, #52] ; (aeac ) - ae78: e002 b.n ae80 - ae7a: 3402 adds r4, #2 + aede: 4e0d ldr r6, [pc, #52] ; (af14 ) + aee0: e002 b.n aee8 + aee2: 3402 adds r4, #2 for(i = 1; i < (uint32_t) size * size; i++) { - ae7c: 42a5 cmp r5, r4 - ae7e: d01f beq.n aec0 + aee4: 42a5 cmp r5, r4 + aee6: d01f beq.n af28 if(sh_buf[i] == sh_buf[i - 1]) sh_buf[i] = sh_buf[i - 1]; - ae80: 8860 ldrh r0, [r4, #2] - ae82: 8823 ldrh r3, [r4, #0] - ae84: 4283 cmp r3, r0 - ae86: d0f8 beq.n ae7a + aee8: 8860 ldrh r0, [r4, #2] + aeea: 8823 ldrh r3, [r4, #0] + aeec: 4283 cmp r3, r0 + aeee: d0f8 beq.n aee2 else sh_buf[i] = (sh_buf[i] << SHADOW_UPSACALE_SHIFT) / sw; - ae88: 0180 lsls r0, r0, #6 - ae8a: 9905 ldr r1, [sp, #20] - ae8c: 47b0 blx r6 - ae8e: 8060 strh r0, [r4, #2] - ae90: e7f3 b.n ae7a - ae92: 46c0 nop ; (mov r8, r8) - ae94: 00004349 .word 0x00004349 - ae98: 0000f6a1 .word 0x0000f6a1 - ae9c: 0000fba7 .word 0x0000fba7 - aea0: 00010e59 .word 0x00010e59 - aea4: 0000a7ed .word 0x0000a7ed - aea8: 7fffffff .word 0x7fffffff - aeac: 00017a75 .word 0x00017a75 - aeb0: 00010fe5 .word 0x00010fe5 - aeb4: 00011089 .word 0x00011089 - aeb8: 00010b6d .word 0x00010b6d - aebc: 0000a855 .word 0x0000a855 + aef0: 0180 lsls r0, r0, #6 + aef2: 9905 ldr r1, [sp, #20] + aef4: 47b0 blx r6 + aef6: 8060 strh r0, [r4, #2] + aef8: e7f3 b.n aee2 + aefa: 46c0 nop ; (mov r8, r8) + aefc: 000043b1 .word 0x000043b1 + af00: 0000f709 .word 0x0000f709 + af04: 0000fc0f .word 0x0000fc0f + af08: 00010ec1 .word 0x00010ec1 + af0c: 0000a855 .word 0x0000a855 + af10: 7fffffff .word 0x7fffffff + af14: 00017b05 .word 0x00017b05 + af18: 0001104d .word 0x0001104d + af1c: 000110f1 .word 0x000110f1 + af20: 00010bd5 .word 0x00010bd5 + af24: 0000a8bd .word 0x0000a8bd shadow_blur_corner(size, sw, sh_buf); - aec0: 9a0e ldr r2, [sp, #56] ; 0x38 - aec2: 0039 movs r1, r7 - aec4: 9808 ldr r0, [sp, #32] - aec6: 4bb5 ldr r3, [pc, #724] ; (b19c ) - aec8: 4798 blx r3 + af28: 9a0e ldr r2, [sp, #56] ; 0x38 + af2a: 0039 movs r1, r7 + af2c: 9808 ldr r0, [sp, #32] + af2e: 4bb5 ldr r3, [pc, #724] ; (b204 ) + af30: 4798 blx r3 for(x = 0; x < size * size; x++) { - aeca: 9f07 ldr r7, [sp, #28] - aecc: 437f muls r7, r7 - aece: 2f00 cmp r7, #0 - aed0: d00a beq.n aee8 - aed2: 9a0e ldr r2, [sp, #56] ; 0x38 - aed4: 0013 movs r3, r2 - aed6: 0078 lsls r0, r7, #1 - aed8: 4694 mov ip, r2 - aeda: 4460 add r0, ip + af32: 9f07 ldr r7, [sp, #28] + af34: 437f muls r7, r7 + af36: 2f00 cmp r7, #0 + af38: d00a beq.n af50 + af3a: 9a0e ldr r2, [sp, #56] ; 0x38 + af3c: 0013 movs r3, r2 + af3e: 0078 lsls r0, r7, #1 + af40: 4694 mov ip, r2 + af42: 4460 add r0, ip res_buf[x] = sh_buf[x]; - aedc: 8819 ldrh r1, [r3, #0] - aede: 7011 strb r1, [r2, #0] - aee0: 3302 adds r3, #2 - aee2: 3201 adds r2, #1 + af44: 8819 ldrh r1, [r3, #0] + af46: 7011 strb r1, [r2, #0] + af48: 3302 adds r3, #2 + af4a: 3201 adds r2, #1 for(x = 0; x < size * size; x++) { - aee4: 4283 cmp r3, r0 - aee6: d1f9 bne.n aedc + af4c: 4283 cmp r3, r0 + af4e: d1f9 bne.n af44 lv_coord_t h_half = sh_area.y1 + lv_area_get_height(&sh_area) / 2; - aee8: a916 add r1, sp, #88 ; 0x58 - aeea: 884a ldrh r2, [r1, #2] - aeec: 88cb ldrh r3, [r1, #6] - aeee: 3301 adds r3, #1 - aef0: 1a9b subs r3, r3, r2 - aef2: b21b sxth r3, r3 - aef4: 0fd8 lsrs r0, r3, #31 - aef6: 18c3 adds r3, r0, r3 - aef8: 105b asrs r3, r3, #1 - aefa: 18d3 adds r3, r2, r3 - aefc: b29b uxth r3, r3 - aefe: 9310 str r3, [sp, #64] ; 0x40 - af00: b21b sxth r3, r3 - af02: 930c str r3, [sp, #48] ; 0x30 + af50: a916 add r1, sp, #88 ; 0x58 + af52: 884a ldrh r2, [r1, #2] + af54: 88cb ldrh r3, [r1, #6] + af56: 3301 adds r3, #1 + af58: 1a9b subs r3, r3, r2 + af5a: b21b sxth r3, r3 + af5c: 0fd8 lsrs r0, r3, #31 + af5e: 18c3 adds r3, r0, r3 + af60: 105b asrs r3, r3, #1 + af62: 18d3 adds r3, r2, r3 + af64: b29b uxth r3, r3 + af66: 9310 str r3, [sp, #64] ; 0x40 + af68: b21b sxth r3, r3 + af6a: 930c str r3, [sp, #48] ; 0x30 lv_coord_t w_half = sh_area.x1 + lv_area_get_width(&sh_area) / 2; - af04: 880a ldrh r2, [r1, #0] + af6c: 880a ldrh r2, [r1, #0] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - af06: 888b ldrh r3, [r1, #4] - af08: 3301 adds r3, #1 - af0a: 1a9b subs r3, r3, r2 - af0c: b21b sxth r3, r3 - af0e: 0fd9 lsrs r1, r3, #31 - af10: 18cb adds r3, r1, r3 - af12: 105b asrs r3, r3, #1 - af14: 18d3 adds r3, r2, r3 - af16: b29b uxth r3, r3 - af18: 9311 str r3, [sp, #68] ; 0x44 - af1a: b21b sxth r3, r3 - af1c: 930d str r3, [sp, #52] ; 0x34 + af6e: 888b ldrh r3, [r1, #4] + af70: 3301 adds r3, #1 + af72: 1a9b subs r3, r3, r2 + af74: b21b sxth r3, r3 + af76: 0fd9 lsrs r1, r3, #31 + af78: 18cb adds r3, r1, r3 + af7a: 105b asrs r3, r3, #1 + af7c: 18d3 adds r3, r2, r3 + af7e: b29b uxth r3, r3 + af80: 9311 str r3, [sp, #68] ; 0x44 + af82: b21b sxth r3, r3 + af84: 930d str r3, [sp, #52] ; 0x34 if(lv_draw_mask_get_cnt() > 0) simple_mode = false; - af1e: 4ba0 ldr r3, [pc, #640] ; (b1a0 ) - af20: 4798 blx r3 - af22: 2300 movs r3, #0 - af24: 9308 str r3, [sp, #32] - af26: 2800 cmp r0, #0 - af28: d110 bne.n af4c + af86: 4ba0 ldr r3, [pc, #640] ; (b208 ) + af88: 4798 blx r3 + af8a: 2300 movs r3, #0 + af8c: 9308 str r3, [sp, #32] + af8e: 2800 cmp r0, #0 + af90: d110 bne.n afb4 else if(dsc->shadow_ofs_x != 0 || dsc->shadow_ofs_y != 0) simple_mode = false; - af2a: 465b mov r3, fp - af2c: 2222 movs r2, #34 ; 0x22 - af2e: 5e9b ldrsh r3, [r3, r2] - af30: 2b00 cmp r3, #0 - af32: d10b bne.n af4c - af34: 465b mov r3, fp - af36: 2224 movs r2, #36 ; 0x24 - af38: 5e9b ldrsh r3, [r3, r2] - af3a: 2b00 cmp r3, #0 - af3c: d106 bne.n af4c + af92: 465b mov r3, fp + af94: 2222 movs r2, #34 ; 0x22 + af96: 5e9b ldrsh r3, [r3, r2] + af98: 2b00 cmp r3, #0 + af9a: d10b bne.n afb4 + af9c: 465b mov r3, fp + af9e: 2224 movs r2, #36 ; 0x24 + afa0: 5e9b ldrsh r3, [r3, r2] + afa2: 2b00 cmp r3, #0 + afa4: d106 bne.n afb4 else if(dsc->shadow_spread != 0) simple_mode = false; - af3e: 465b mov r3, fp - af40: 2226 movs r2, #38 ; 0x26 - af42: 5e9a ldrsh r2, [r3, r2] - af44: 4253 negs r3, r2 - af46: 4153 adcs r3, r2 - af48: b2db uxtb r3, r3 - af4a: 9308 str r3, [sp, #32] - af4c: ac16 add r4, sp, #88 ; 0x58 - af4e: 88a0 ldrh r0, [r4, #4] - af50: 3001 adds r0, #1 - af52: 8823 ldrh r3, [r4, #0] - af54: 1ac0 subs r0, r0, r3 + afa6: 465b mov r3, fp + afa8: 2226 movs r2, #38 ; 0x26 + afaa: 5e9a ldrsh r2, [r3, r2] + afac: 4253 negs r3, r2 + afae: 4153 adcs r3, r2 + afb0: b2db uxtb r3, r3 + afb2: 9308 str r3, [sp, #32] + afb4: ac16 add r4, sp, #88 ; 0x58 + afb6: 88a0 ldrh r0, [r4, #4] + afb8: 3001 adds r0, #1 + afba: 8823 ldrh r3, [r4, #0] + afbc: 1ac0 subs r0, r0, r3 lv_opa_t * mask_buf = _lv_mem_buf_get(lv_area_get_width(&sh_area)); - af56: b200 sxth r0, r0 - af58: 4b92 ldr r3, [pc, #584] ; (b1a4 ) - af5a: 4798 blx r3 - af5c: 9005 str r0, [sp, #20] + afbe: b200 sxth r0, r0 + afc0: 4b92 ldr r3, [pc, #584] ; (b20c ) + afc2: 4798 blx r3 + afc4: 9005 str r0, [sp, #20] lv_draw_mask_radius_init(&mask_rout_param, &bg_coords, r_bg, true); - af5e: 466b mov r3, sp - af60: 223c movs r2, #60 ; 0x3c - af62: 5e9a ldrsh r2, [r3, r2] - af64: 2301 movs r3, #1 - af66: a91a add r1, sp, #104 ; 0x68 - af68: a829 add r0, sp, #164 ; 0xa4 - af6a: 4d8f ldr r5, [pc, #572] ; (b1a8 ) - af6c: 47a8 blx r5 + afc6: 466b mov r3, sp + afc8: 223c movs r2, #60 ; 0x3c + afca: 5e9a ldrsh r2, [r3, r2] + afcc: 2301 movs r3, #1 + afce: a91a add r1, sp, #104 ; 0x68 + afd0: a829 add r0, sp, #164 ; 0xa4 + afd2: 4d8f ldr r5, [pc, #572] ; (b210 ) + afd4: 47a8 blx r5 int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - af6e: 2100 movs r1, #0 - af70: a829 add r0, sp, #164 ; 0xa4 - af72: 4b8e ldr r3, [pc, #568] ; (b1ac ) - af74: 4798 blx r3 - af76: 900f str r0, [sp, #60] ; 0x3c + afd6: 2100 movs r1, #0 + afd8: a829 add r0, sp, #164 ; 0xa4 + afda: 4b8e ldr r3, [pc, #568] ; (b214 ) + afdc: 4798 blx r3 + afde: 900f str r0, [sp, #60] ; 0x3c a.x2 = sh_area.x2; - af78: 2204 movs r2, #4 - af7a: 5ea3 ldrsh r3, [r4, r2] - af7c: a91c add r1, sp, #112 ; 0x70 - af7e: 808b strh r3, [r1, #4] + afe0: 2204 movs r2, #4 + afe2: 5ea3 ldrsh r3, [r4, r2] + afe4: a91c add r1, sp, #112 ; 0x70 + afe6: 808b strh r3, [r1, #4] a.x1 = a.x2 - corner_size + 1; - af80: 466a mov r2, sp - af82: 8c92 ldrh r2, [r2, #36] ; 0x24 - af84: 920a str r2, [sp, #40] ; 0x28 - af86: 3301 adds r3, #1 - af88: 1a9b subs r3, r3, r2 - af8a: 800b strh r3, [r1, #0] + afe8: 466a mov r2, sp + afea: 8c92 ldrh r2, [r2, #36] ; 0x24 + afec: 920a str r2, [sp, #40] ; 0x28 + afee: 3301 adds r3, #1 + aff0: 1a9b subs r3, r3, r2 + aff2: 800b strh r3, [r1, #0] a.y1 = sh_area.y1; - af8c: 2002 movs r0, #2 - af8e: 5e23 ldrsh r3, [r4, r0] - af90: 804b strh r3, [r1, #2] + aff4: 2002 movs r0, #2 + aff6: 5e23 ldrsh r3, [r4, r0] + aff8: 804b strh r3, [r1, #2] a.y2 = a.y1 + corner_size - 1; - af92: 3b01 subs r3, #1 - af94: 4694 mov ip, r2 - af96: 4463 add r3, ip - af98: 80cb strh r3, [r1, #6] + affa: 3b01 subs r3, #1 + affc: 4694 mov ip, r2 + affe: 4463 add r3, ip + b000: 80cb strh r3, [r1, #6] bool has_com = _lv_area_intersect(&ca, &a, clip); - af9a: 9a04 ldr r2, [sp, #16] - af9c: a81e add r0, sp, #120 ; 0x78 - af9e: 4b84 ldr r3, [pc, #528] ; (b1b0 ) - afa0: 4798 blx r3 + b002: 9a04 ldr r2, [sp, #16] + b004: a81e add r0, sp, #120 ; 0x78 + b006: 4b84 ldr r3, [pc, #528] ; (b218 ) + b008: 4798 blx r3 if(has_com) { - afa2: 2800 cmp r0, #0 - afa4: d071 beq.n b08a + b00a: 2800 cmp r0, #0 + b00c: d071 beq.n b0f2 if(ca.y2 > h_half) ca.y2 = h_half; - afa6: ab1e add r3, sp, #120 ; 0x78 - afa8: 2206 movs r2, #6 - afaa: 5e9b ldrsh r3, [r3, r2] - afac: 990c ldr r1, [sp, #48] ; 0x30 - afae: 428b cmp r3, r1 - afb0: dd01 ble.n afb6 - afb2: ab1e add r3, sp, #120 ; 0x78 - afb4: 80d9 strh r1, [r3, #6] + b00e: ab1e add r3, sp, #120 ; 0x78 + b010: 2206 movs r2, #6 + b012: 5e9b ldrsh r3, [r3, r2] + b014: 990c ldr r1, [sp, #48] ; 0x30 + b016: 428b cmp r3, r1 + b018: dd01 ble.n b01e + b01a: ab1e add r3, sp, #120 ; 0x78 + b01c: 80d9 strh r1, [r3, #6] if(ca.x1 <= w_half) ca.x1 = w_half + 1; - afb6: ab1e add r3, sp, #120 ; 0x78 - afb8: 2200 movs r2, #0 - afba: 5e9b ldrsh r3, [r3, r2] - afbc: 9a0d ldr r2, [sp, #52] ; 0x34 - afbe: 4293 cmp r3, r2 - afc0: dc03 bgt.n afca - afc2: 9b11 ldr r3, [sp, #68] ; 0x44 - afc4: 3301 adds r3, #1 - afc6: aa1e add r2, sp, #120 ; 0x78 - afc8: 8013 strh r3, [r2, #0] - afca: ab1e add r3, sp, #120 ; 0x78 - afcc: 2100 movs r1, #0 - afce: 5e5a ldrsh r2, [r3, r1] - afd0: 889b ldrh r3, [r3, #4] - afd2: 3301 adds r3, #1 - afd4: 1a9b subs r3, r3, r2 - afd6: b21b sxth r3, r3 - afd8: 930b str r3, [sp, #44] ; 0x2c + b01e: ab1e add r3, sp, #120 ; 0x78 + b020: 2200 movs r2, #0 + b022: 5e9b ldrsh r3, [r3, r2] + b024: 9a0d ldr r2, [sp, #52] ; 0x34 + b026: 4293 cmp r3, r2 + b028: dc03 bgt.n b032 + b02a: 9b11 ldr r3, [sp, #68] ; 0x44 + b02c: 3301 adds r3, #1 + b02e: aa1e add r2, sp, #120 ; 0x78 + b030: 8013 strh r3, [r2, #0] + b032: ab1e add r3, sp, #120 ; 0x78 + b034: 2100 movs r1, #0 + b036: 5e5a ldrsh r2, [r3, r1] + b038: 889b ldrh r3, [r3, #4] + b03a: 3301 adds r3, #1 + b03c: 1a9b subs r3, r3, r2 + b03e: b21b sxth r3, r3 + b040: 930b str r3, [sp, #44] ; 0x2c if(w > 0) { - afda: 2b00 cmp r3, #0 - afdc: dd55 ble.n b08a + b042: 2b00 cmp r3, #0 + b044: dd55 ble.n b0f2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - afde: ab1e add r3, sp, #120 ; 0x78 - afe0: 2106 movs r1, #6 - afe2: 5e5c ldrsh r4, [r3, r1] - afe4: 2602 movs r6, #2 - afe6: 5f9e ldrsh r6, [r3, r6] + b046: ab1e add r3, sp, #120 ; 0x78 + b048: 2106 movs r1, #6 + b04a: 5e5c ldrsh r4, [r3, r1] + b04c: 2602 movs r6, #2 + b04e: 5f9e ldrsh r6, [r3, r6] sh_buf_tmp += corner_size * (ca.y1 - a.y1); - afe8: ab1c add r3, sp, #112 ; 0x70 - afea: 2102 movs r1, #2 - afec: 5e5d ldrsh r5, [r3, r1] - afee: 1b75 subs r5, r6, r5 - aff0: 9909 ldr r1, [sp, #36] ; 0x24 - aff2: 434d muls r5, r1 + b050: ab1c add r3, sp, #112 ; 0x70 + b052: 2102 movs r1, #2 + b054: 5e5d ldrsh r5, [r3, r1] + b056: 1b75 subs r5, r6, r5 + b058: 9909 ldr r1, [sp, #36] ; 0x24 + b05a: 434d muls r5, r1 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - aff4: 2100 movs r1, #0 - aff6: 5e5b ldrsh r3, [r3, r1] - aff8: 1ad2 subs r2, r2, r3 + b05c: 2100 movs r1, #0 + b05e: 5e5b ldrsh r3, [r3, r1] + b060: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - affa: 18ad adds r5, r5, r2 - affc: 9b0e ldr r3, [sp, #56] ; 0x38 - affe: 469c mov ip, r3 - b000: 4465 add r5, ip - b002: 2300 movs r3, #0 + b062: 18ad adds r5, r5, r2 + b064: 9b0e ldr r3, [sp, #56] ; 0x38 + b066: 469c mov ip, r3 + b068: 4465 add r5, ip + b06a: 2300 movs r3, #0 *d8 = *s8; - b004: a822 add r0, sp, #136 ; 0x88 - b006: a91e add r1, sp, #120 ; 0x78 - b008: 5c5a ldrb r2, [r3, r1] - b00a: 541a strb r2, [r3, r0] - b00c: 3301 adds r3, #1 + b06c: a822 add r0, sp, #136 ; 0x88 + b06e: a91e add r1, sp, #120 ; 0x78 + b070: 5c5a ldrb r2, [r3, r1] + b072: 541a strb r2, [r3, r0] + b074: 3301 adds r3, #1 while(len) { - b00e: 2b08 cmp r3, #8 - b010: d1fa bne.n b008 + b076: 2b08 cmp r3, #8 + b078: d1fa bne.n b070 fa.y2 = fa.y1; - b012: ab22 add r3, sp, #136 ; 0x88 - b014: 885a ldrh r2, [r3, #2] - b016: 80da strh r2, [r3, #6] - b018: 3401 adds r4, #1 - b01a: 1ba6 subs r6, r4, r6 - b01c: b236 sxth r6, r6 + b07a: ab22 add r3, sp, #136 ; 0x88 + b07c: 885a ldrh r2, [r3, #2] + b07e: 80da strh r2, [r3, #6] + b080: 3401 adds r4, #1 + b082: 1ba6 subs r6, r4, r6 + b084: b236 sxth r6, r6 for(y = 0; y < h; y++) { - b01e: 2e00 cmp r6, #0 - b020: dd33 ble.n b08a - b022: 1c73 adds r3, r6, #1 - b024: 4698 mov r8, r3 - b026: 2601 movs r6, #1 + b086: 2e00 cmp r6, #0 + b088: dd33 ble.n b0f2 + b08a: 1c73 adds r3, r6, #1 + b08c: 4698 mov r8, r3 + b08e: 2601 movs r6, #1 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b028: ac22 add r4, sp, #136 ; 0x88 - b02a: 4b62 ldr r3, [pc, #392] ; (b1b4 ) - b02c: 469a mov sl, r3 - b02e: 9507 str r5, [sp, #28] - b030: 465f mov r7, fp - b032: e019 b.n b068 + b090: ac22 add r4, sp, #136 ; 0x88 + b092: 4b62 ldr r3, [pc, #392] ; (b21c ) + b094: 469a mov sl, r3 + b096: 9507 str r5, [sp, #28] + b098: 465f mov r7, fp + b09a: e019 b.n b0d0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - b034: 8bfa ldrh r2, [r7, #30] - b036: 2329 movs r3, #41 ; 0x29 - b038: 5cfb ldrb r3, [r7, r3] - b03a: 9302 str r3, [sp, #8] - b03c: 9b06 ldr r3, [sp, #24] - b03e: 9301 str r3, [sp, #4] - b040: 9000 str r0, [sp, #0] - b042: 9b05 ldr r3, [sp, #20] - b044: 0021 movs r1, r4 - b046: 9804 ldr r0, [sp, #16] - b048: 4d5b ldr r5, [pc, #364] ; (b1b8 ) - b04a: 47a8 blx r5 + b09c: 8bfa ldrh r2, [r7, #30] + b09e: 2329 movs r3, #41 ; 0x29 + b0a0: 5cfb ldrb r3, [r7, r3] + b0a2: 9302 str r3, [sp, #8] + b0a4: 9b06 ldr r3, [sp, #24] + b0a6: 9301 str r3, [sp, #4] + b0a8: 9000 str r0, [sp, #0] + b0aa: 9b05 ldr r3, [sp, #20] + b0ac: 0021 movs r1, r4 + b0ae: 9804 ldr r0, [sp, #16] + b0b0: 4d5b ldr r5, [pc, #364] ; (b220 ) + b0b2: 47a8 blx r5 fa.y1++; - b04c: 8863 ldrh r3, [r4, #2] - b04e: 3301 adds r3, #1 - b050: 8063 strh r3, [r4, #2] + b0b4: 8863 ldrh r3, [r4, #2] + b0b6: 3301 adds r3, #1 + b0b8: 8063 strh r3, [r4, #2] fa.y2++; - b052: 88e3 ldrh r3, [r4, #6] - b054: 3301 adds r3, #1 - b056: 80e3 strh r3, [r4, #6] - b058: 9b09 ldr r3, [sp, #36] ; 0x24 - b05a: 469c mov ip, r3 - b05c: 9b07 ldr r3, [sp, #28] - b05e: 4463 add r3, ip - b060: 9307 str r3, [sp, #28] - b062: 3601 adds r6, #1 + b0ba: 88e3 ldrh r3, [r4, #6] + b0bc: 3301 adds r3, #1 + b0be: 80e3 strh r3, [r4, #6] + b0c0: 9b09 ldr r3, [sp, #36] ; 0x24 + b0c2: 469c mov ip, r3 + b0c4: 9b07 ldr r3, [sp, #28] + b0c6: 4463 add r3, ip + b0c8: 9307 str r3, [sp, #28] + b0ca: 3601 adds r6, #1 for(y = 0; y < h; y++) { - b064: 45b0 cmp r8, r6 - b066: d00f beq.n b088 + b0cc: 45b0 cmp r8, r6 + b0ce: d00f beq.n b0f0 _lv_memcpy(mask_buf, sh_buf_tmp, w); - b068: 9a0b ldr r2, [sp, #44] ; 0x2c - b06a: 9907 ldr r1, [sp, #28] - b06c: 9805 ldr r0, [sp, #20] - b06e: 4b53 ldr r3, [pc, #332] ; (b1bc ) - b070: 4798 blx r3 + b0d0: 9a0b ldr r2, [sp, #44] ; 0x2c + b0d2: 9907 ldr r1, [sp, #28] + b0d4: 9805 ldr r0, [sp, #20] + b0d6: 4b53 ldr r3, [pc, #332] ; (b224 ) + b0d8: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b072: 2102 movs r1, #2 - b074: 5e62 ldrsh r2, [r4, r1] - b076: 2500 movs r5, #0 - b078: 5f61 ldrsh r1, [r4, r5] - b07a: 9b0b ldr r3, [sp, #44] ; 0x2c - b07c: 9805 ldr r0, [sp, #20] - b07e: 47d0 blx sl + b0da: 2102 movs r1, #2 + b0dc: 5e62 ldrsh r2, [r4, r1] + b0de: 2500 movs r5, #0 + b0e0: 5f61 ldrsh r1, [r4, r5] + b0e2: 9b0b ldr r3, [sp, #44] ; 0x2c + b0e4: 9805 ldr r0, [sp, #20] + b0e6: 47d0 blx sl if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b080: 2801 cmp r0, #1 - b082: d1d7 bne.n b034 - b084: 3001 adds r0, #1 - b086: e7d5 b.n b034 - b088: 46bb mov fp, r7 + b0e8: 2801 cmp r0, #1 + b0ea: d1d7 bne.n b09c + b0ec: 3001 adds r0, #1 + b0ee: e7d5 b.n b09c + b0f0: 46bb mov fp, r7 a.x2 = sh_area.x2; - b08a: aa16 add r2, sp, #88 ; 0x58 - b08c: 2104 movs r1, #4 - b08e: 5e53 ldrsh r3, [r2, r1] - b090: a91c add r1, sp, #112 ; 0x70 - b092: 808b strh r3, [r1, #4] + b0f2: aa16 add r2, sp, #88 ; 0x58 + b0f4: 2104 movs r1, #4 + b0f6: 5e53 ldrsh r3, [r2, r1] + b0f8: a91c add r1, sp, #112 ; 0x70 + b0fa: 808b strh r3, [r1, #4] a.x1 = a.x2 - corner_size + 1; - b094: 3301 adds r3, #1 - b096: 980a ldr r0, [sp, #40] ; 0x28 - b098: 1a1b subs r3, r3, r0 - b09a: 800b strh r3, [r1, #0] + b0fc: 3301 adds r3, #1 + b0fe: 980a ldr r0, [sp, #40] ; 0x28 + b100: 1a1b subs r3, r3, r0 + b102: 800b strh r3, [r1, #0] a.y1 = sh_area.y2 - corner_size + 1; - b09c: 2306 movs r3, #6 - b09e: 5ed2 ldrsh r2, [r2, r3] - b0a0: 1c53 adds r3, r2, #1 - b0a2: 1a1b subs r3, r3, r0 - b0a4: 804b strh r3, [r1, #2] + b104: 2306 movs r3, #6 + b106: 5ed2 ldrsh r2, [r2, r3] + b108: 1c53 adds r3, r2, #1 + b10a: 1a1b subs r3, r3, r0 + b10c: 804b strh r3, [r1, #2] a.y2 = sh_area.y2; - b0a6: 80ca strh r2, [r1, #6] + b10e: 80ca strh r2, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b0a8: 9a04 ldr r2, [sp, #16] - b0aa: a81e add r0, sp, #120 ; 0x78 - b0ac: 4b40 ldr r3, [pc, #256] ; (b1b0 ) - b0ae: 4798 blx r3 + b110: 9a04 ldr r2, [sp, #16] + b112: a81e add r0, sp, #120 ; 0x78 + b114: 4b40 ldr r3, [pc, #256] ; (b218 ) + b116: 4798 blx r3 if(has_com) { - b0b0: 2800 cmp r0, #0 - b0b2: d100 bne.n b0b6 - b0b4: e085 b.n b1c2 + b118: 2800 cmp r0, #0 + b11a: d100 bne.n b11e + b11c: e085 b.n b22a if(ca.y1 <= h_half) ca.y1 = h_half + 1; - b0b6: ab1e add r3, sp, #120 ; 0x78 - b0b8: 2202 movs r2, #2 - b0ba: 5e9b ldrsh r3, [r3, r2] - b0bc: 9a0c ldr r2, [sp, #48] ; 0x30 - b0be: 4293 cmp r3, r2 - b0c0: dc03 bgt.n b0ca - b0c2: 9b10 ldr r3, [sp, #64] ; 0x40 - b0c4: 3301 adds r3, #1 - b0c6: aa1e add r2, sp, #120 ; 0x78 - b0c8: 8053 strh r3, [r2, #2] + b11e: ab1e add r3, sp, #120 ; 0x78 + b120: 2202 movs r2, #2 + b122: 5e9b ldrsh r3, [r3, r2] + b124: 9a0c ldr r2, [sp, #48] ; 0x30 + b126: 4293 cmp r3, r2 + b128: dc03 bgt.n b132 + b12a: 9b10 ldr r3, [sp, #64] ; 0x40 + b12c: 3301 adds r3, #1 + b12e: aa1e add r2, sp, #120 ; 0x78 + b130: 8053 strh r3, [r2, #2] if(ca.x1 <= w_half) ca.x1 = w_half + 1; - b0ca: ab1e add r3, sp, #120 ; 0x78 - b0cc: 2200 movs r2, #0 - b0ce: 5e9b ldrsh r3, [r3, r2] - b0d0: 9a0d ldr r2, [sp, #52] ; 0x34 - b0d2: 4293 cmp r3, r2 - b0d4: dc03 bgt.n b0de - b0d6: 9b11 ldr r3, [sp, #68] ; 0x44 - b0d8: 3301 adds r3, #1 - b0da: aa1e add r2, sp, #120 ; 0x78 - b0dc: 8013 strh r3, [r2, #0] + b132: ab1e add r3, sp, #120 ; 0x78 + b134: 2200 movs r2, #0 + b136: 5e9b ldrsh r3, [r3, r2] + b138: 9a0d ldr r2, [sp, #52] ; 0x34 + b13a: 4293 cmp r3, r2 + b13c: dc03 bgt.n b146 + b13e: 9b11 ldr r3, [sp, #68] ; 0x44 + b140: 3301 adds r3, #1 + b142: aa1e add r2, sp, #120 ; 0x78 + b144: 8013 strh r3, [r2, #0] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b0de: ab1e add r3, sp, #120 ; 0x78 - b0e0: 2100 movs r1, #0 - b0e2: 5e5a ldrsh r2, [r3, r1] - b0e4: 889b ldrh r3, [r3, #4] - b0e6: 3301 adds r3, #1 - b0e8: 1a9b subs r3, r3, r2 - b0ea: b21b sxth r3, r3 - b0ec: 930b str r3, [sp, #44] ; 0x2c + b146: ab1e add r3, sp, #120 ; 0x78 + b148: 2100 movs r1, #0 + b14a: 5e5a ldrsh r2, [r3, r1] + b14c: 889b ldrh r3, [r3, #4] + b14e: 3301 adds r3, #1 + b150: 1a9b subs r3, r3, r2 + b152: b21b sxth r3, r3 + b154: 930b str r3, [sp, #44] ; 0x2c if(w > 0) { - b0ee: 2b00 cmp r3, #0 - b0f0: dd67 ble.n b1c2 + b156: 2b00 cmp r3, #0 + b158: dd67 ble.n b22a return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b0f2: ab1e add r3, sp, #120 ; 0x78 - b0f4: 2106 movs r1, #6 - b0f6: 5e5c ldrsh r4, [r3, r1] - b0f8: 2602 movs r6, #2 - b0fa: 5f9e ldrsh r6, [r3, r6] + b15a: ab1e add r3, sp, #120 ; 0x78 + b15c: 2106 movs r1, #6 + b15e: 5e5c ldrsh r4, [r3, r1] + b160: 2602 movs r6, #2 + b162: 5f9e ldrsh r6, [r3, r6] sh_buf_tmp += corner_size * (a.y2 - ca.y2); - b0fc: ab1c add r3, sp, #112 ; 0x70 - b0fe: 2106 movs r1, #6 - b100: 5e5d ldrsh r5, [r3, r1] - b102: 1b2d subs r5, r5, r4 - b104: 9909 ldr r1, [sp, #36] ; 0x24 - b106: 434d muls r5, r1 + b164: ab1c add r3, sp, #112 ; 0x70 + b166: 2106 movs r1, #6 + b168: 5e5d ldrsh r5, [r3, r1] + b16a: 1b2d subs r5, r5, r4 + b16c: 9909 ldr r1, [sp, #36] ; 0x24 + b16e: 434d muls r5, r1 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - b108: 2100 movs r1, #0 - b10a: 5e5b ldrsh r3, [r3, r1] - b10c: 1ad2 subs r2, r2, r3 + b170: 2100 movs r1, #0 + b172: 5e5b ldrsh r3, [r3, r1] + b174: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - b10e: 18ad adds r5, r5, r2 - b110: 9b0e ldr r3, [sp, #56] ; 0x38 - b112: 469c mov ip, r3 - b114: 4465 add r5, ip - b116: 2300 movs r3, #0 + b176: 18ad adds r5, r5, r2 + b178: 9b0e ldr r3, [sp, #56] ; 0x38 + b17a: 469c mov ip, r3 + b17c: 4465 add r5, ip + b17e: 2300 movs r3, #0 *d8 = *s8; - b118: a822 add r0, sp, #136 ; 0x88 - b11a: a91e add r1, sp, #120 ; 0x78 - b11c: 5c5a ldrb r2, [r3, r1] - b11e: 541a strb r2, [r3, r0] - b120: 3301 adds r3, #1 + b180: a822 add r0, sp, #136 ; 0x88 + b182: a91e add r1, sp, #120 ; 0x78 + b184: 5c5a ldrb r2, [r3, r1] + b186: 541a strb r2, [r3, r0] + b188: 3301 adds r3, #1 while(len) { - b122: 2b08 cmp r3, #8 - b124: d1fa bne.n b11c + b18a: 2b08 cmp r3, #8 + b18c: d1fa bne.n b184 fa.y1 = fa.y2; /*Fill from bottom to top*/ - b126: ab22 add r3, sp, #136 ; 0x88 - b128: 88da ldrh r2, [r3, #6] - b12a: 805a strh r2, [r3, #2] - b12c: 3401 adds r4, #1 - b12e: 1ba6 subs r6, r4, r6 - b130: b236 sxth r6, r6 + b18e: ab22 add r3, sp, #136 ; 0x88 + b190: 88da ldrh r2, [r3, #6] + b192: 805a strh r2, [r3, #2] + b194: 3401 adds r4, #1 + b196: 1ba6 subs r6, r4, r6 + b198: b236 sxth r6, r6 for(y = 0; y < h; y++) { - b132: 2e00 cmp r6, #0 - b134: dd45 ble.n b1c2 - b136: 1c73 adds r3, r6, #1 - b138: 4698 mov r8, r3 - b13a: 2601 movs r6, #1 + b19a: 2e00 cmp r6, #0 + b19c: dd45 ble.n b22a + b19e: 1c73 adds r3, r6, #1 + b1a0: 4698 mov r8, r3 + b1a2: 2601 movs r6, #1 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b13c: ac22 add r4, sp, #136 ; 0x88 - b13e: 4b1d ldr r3, [pc, #116] ; (b1b4 ) - b140: 469a mov sl, r3 - b142: 9507 str r5, [sp, #28] - b144: 465f mov r7, fp - b146: e019 b.n b17c + b1a4: ac22 add r4, sp, #136 ; 0x88 + b1a6: 4b1d ldr r3, [pc, #116] ; (b21c ) + b1a8: 469a mov sl, r3 + b1aa: 9507 str r5, [sp, #28] + b1ac: 465f mov r7, fp + b1ae: e019 b.n b1e4 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - b148: 8bfa ldrh r2, [r7, #30] - b14a: 2329 movs r3, #41 ; 0x29 - b14c: 5cfb ldrb r3, [r7, r3] - b14e: 9302 str r3, [sp, #8] - b150: 9b06 ldr r3, [sp, #24] - b152: 9301 str r3, [sp, #4] - b154: 9000 str r0, [sp, #0] - b156: 9b05 ldr r3, [sp, #20] - b158: 0021 movs r1, r4 - b15a: 9804 ldr r0, [sp, #16] - b15c: 4d16 ldr r5, [pc, #88] ; (b1b8 ) - b15e: 47a8 blx r5 + b1b0: 8bfa ldrh r2, [r7, #30] + b1b2: 2329 movs r3, #41 ; 0x29 + b1b4: 5cfb ldrb r3, [r7, r3] + b1b6: 9302 str r3, [sp, #8] + b1b8: 9b06 ldr r3, [sp, #24] + b1ba: 9301 str r3, [sp, #4] + b1bc: 9000 str r0, [sp, #0] + b1be: 9b05 ldr r3, [sp, #20] + b1c0: 0021 movs r1, r4 + b1c2: 9804 ldr r0, [sp, #16] + b1c4: 4d16 ldr r5, [pc, #88] ; (b220 ) + b1c6: 47a8 blx r5 fa.y1--; - b160: 8863 ldrh r3, [r4, #2] - b162: 3b01 subs r3, #1 - b164: 8063 strh r3, [r4, #2] + b1c8: 8863 ldrh r3, [r4, #2] + b1ca: 3b01 subs r3, #1 + b1cc: 8063 strh r3, [r4, #2] fa.y2--; - b166: 88e3 ldrh r3, [r4, #6] - b168: 3b01 subs r3, #1 - b16a: 80e3 strh r3, [r4, #6] - b16c: 9b09 ldr r3, [sp, #36] ; 0x24 - b16e: 469c mov ip, r3 - b170: 9b07 ldr r3, [sp, #28] - b172: 4463 add r3, ip - b174: 9307 str r3, [sp, #28] - b176: 3601 adds r6, #1 + b1ce: 88e3 ldrh r3, [r4, #6] + b1d0: 3b01 subs r3, #1 + b1d2: 80e3 strh r3, [r4, #6] + b1d4: 9b09 ldr r3, [sp, #36] ; 0x24 + b1d6: 469c mov ip, r3 + b1d8: 9b07 ldr r3, [sp, #28] + b1da: 4463 add r3, ip + b1dc: 9307 str r3, [sp, #28] + b1de: 3601 adds r6, #1 for(y = 0; y < h; y++) { - b178: 4546 cmp r6, r8 - b17a: d021 beq.n b1c0 + b1e0: 4546 cmp r6, r8 + b1e2: d021 beq.n b228 _lv_memcpy(mask_buf, sh_buf_tmp, w); - b17c: 9a0b ldr r2, [sp, #44] ; 0x2c - b17e: 9907 ldr r1, [sp, #28] - b180: 9805 ldr r0, [sp, #20] - b182: 4b0e ldr r3, [pc, #56] ; (b1bc ) - b184: 4798 blx r3 + b1e4: 9a0b ldr r2, [sp, #44] ; 0x2c + b1e6: 9907 ldr r1, [sp, #28] + b1e8: 9805 ldr r0, [sp, #20] + b1ea: 4b0e ldr r3, [pc, #56] ; (b224 ) + b1ec: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b186: 2102 movs r1, #2 - b188: 5e62 ldrsh r2, [r4, r1] - b18a: 2500 movs r5, #0 - b18c: 5f61 ldrsh r1, [r4, r5] - b18e: 9b0b ldr r3, [sp, #44] ; 0x2c - b190: 9805 ldr r0, [sp, #20] - b192: 47d0 blx sl + b1ee: 2102 movs r1, #2 + b1f0: 5e62 ldrsh r2, [r4, r1] + b1f2: 2500 movs r5, #0 + b1f4: 5f61 ldrsh r1, [r4, r5] + b1f6: 9b0b ldr r3, [sp, #44] ; 0x2c + b1f8: 9805 ldr r0, [sp, #20] + b1fa: 47d0 blx sl if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b194: 2801 cmp r0, #1 - b196: d1d7 bne.n b148 - b198: 3001 adds r0, #1 - b19a: e7d5 b.n b148 - b19c: 0000a855 .word 0x0000a855 - b1a0: 0000a659 .word 0x0000a659 - b1a4: 00010e59 .word 0x00010e59 - b1a8: 0000a7ed .word 0x0000a7ed - b1ac: 0000a585 .word 0x0000a585 - b1b0: 0000fba7 .word 0x0000fba7 - b1b4: 0000a5bd .word 0x0000a5bd - b1b8: 00005c05 .word 0x00005c05 - b1bc: 00010c25 .word 0x00010c25 - b1c0: 46bb mov fp, r7 + b1fc: 2801 cmp r0, #1 + b1fe: d1d7 bne.n b1b0 + b200: 3001 adds r0, #1 + b202: e7d5 b.n b1b0 + b204: 0000a8bd .word 0x0000a8bd + b208: 0000a6c1 .word 0x0000a6c1 + b20c: 00010ec1 .word 0x00010ec1 + b210: 0000a855 .word 0x0000a855 + b214: 0000a5ed .word 0x0000a5ed + b218: 0000fc0f .word 0x0000fc0f + b21c: 0000a625 .word 0x0000a625 + b220: 00005c6d .word 0x00005c6d + b224: 00010c8d .word 0x00010c8d + b228: 46bb mov fp, r7 a.x2 = sh_area.x2; - b1c2: aa16 add r2, sp, #88 ; 0x58 - b1c4: 2104 movs r1, #4 - b1c6: 5e53 ldrsh r3, [r2, r1] - b1c8: a91c add r1, sp, #112 ; 0x70 - b1ca: 808b strh r3, [r1, #4] + b22a: aa16 add r2, sp, #88 ; 0x58 + b22c: 2104 movs r1, #4 + b22e: 5e53 ldrsh r3, [r2, r1] + b230: a91c add r1, sp, #112 ; 0x70 + b232: 808b strh r3, [r1, #4] a.x1 = a.x2 - corner_size + 1; - b1cc: 3301 adds r3, #1 - b1ce: 980a ldr r0, [sp, #40] ; 0x28 - b1d0: 1a1b subs r3, r3, r0 - b1d2: 800b strh r3, [r1, #0] + b234: 3301 adds r3, #1 + b236: 980a ldr r0, [sp, #40] ; 0x28 + b238: 1a1b subs r3, r3, r0 + b23a: 800b strh r3, [r1, #0] a.y1 = sh_area.y1 + corner_size; - b1d4: 8853 ldrh r3, [r2, #2] - b1d6: 4684 mov ip, r0 - b1d8: 4463 add r3, ip - b1da: 804b strh r3, [r1, #2] + b23c: 8853 ldrh r3, [r2, #2] + b23e: 4684 mov ip, r0 + b240: 4463 add r3, ip + b242: 804b strh r3, [r1, #2] a.y2 = sh_area.y2 - corner_size; - b1dc: 88d3 ldrh r3, [r2, #6] - b1de: 1a1b subs r3, r3, r0 - b1e0: 80cb strh r3, [r1, #6] + b244: 88d3 ldrh r3, [r2, #6] + b246: 1a1b subs r3, r3, r0 + b248: 80cb strh r3, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b1e2: 9a04 ldr r2, [sp, #16] - b1e4: a81e add r0, sp, #120 ; 0x78 - b1e6: 4bd1 ldr r3, [pc, #836] ; (b52c ) - b1e8: 4798 blx r3 + b24a: 9a04 ldr r2, [sp, #16] + b24c: a81e add r0, sp, #120 ; 0x78 + b24e: 4bd1 ldr r3, [pc, #836] ; (b594 ) + b250: 4798 blx r3 if(has_com) { - b1ea: 2800 cmp r0, #0 - b1ec: d06c beq.n b2c8 + b252: 2800 cmp r0, #0 + b254: d06c beq.n b330 if(simple_mode) ca.x1 = LV_MATH_MAX(ca.x1, coords->x2); - b1ee: 9b08 ldr r3, [sp, #32] - b1f0: 2b00 cmp r3, #0 - b1f2: d00a beq.n b20a - b1f4: aa1e add r2, sp, #120 ; 0x78 - b1f6: 8810 ldrh r0, [r2, #0] - b1f8: 464b mov r3, r9 - b1fa: 889b ldrh r3, [r3, #4] - b1fc: 1c19 adds r1, r3, #0 - b1fe: b21b sxth r3, r3 - b200: b204 sxth r4, r0 - b202: 42a3 cmp r3, r4 - b204: da00 bge.n b208 - b206: 1c01 adds r1, r0, #0 - b208: 8011 strh r1, [r2, #0] + b256: 9b08 ldr r3, [sp, #32] + b258: 2b00 cmp r3, #0 + b25a: d00a beq.n b272 + b25c: aa1e add r2, sp, #120 ; 0x78 + b25e: 8810 ldrh r0, [r2, #0] + b260: 464b mov r3, r9 + b262: 889b ldrh r3, [r3, #4] + b264: 1c19 adds r1, r3, #0 + b266: b21b sxth r3, r3 + b268: b204 sxth r4, r0 + b26a: 42a3 cmp r3, r4 + b26c: da00 bge.n b270 + b26e: 1c01 adds r1, r0, #0 + b270: 8011 strh r1, [r2, #0] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b20a: ab1e add r3, sp, #120 ; 0x78 - b20c: 2100 movs r1, #0 - b20e: 5e5a ldrsh r2, [r3, r1] - b210: 889b ldrh r3, [r3, #4] - b212: 3301 adds r3, #1 - b214: 1a9b subs r3, r3, r2 - b216: b21b sxth r3, r3 - b218: 9307 str r3, [sp, #28] + b272: ab1e add r3, sp, #120 ; 0x78 + b274: 2100 movs r1, #0 + b276: 5e5a ldrsh r2, [r3, r1] + b278: 889b ldrh r3, [r3, #4] + b27a: 3301 adds r3, #1 + b27c: 1a9b subs r3, r3, r2 + b27e: b21b sxth r3, r3 + b280: 9307 str r3, [sp, #28] if(w > 0) { - b21a: 2b00 cmp r3, #0 - b21c: dd54 ble.n b2c8 + b282: 2b00 cmp r3, #0 + b284: dd54 ble.n b330 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b21e: ab1e add r3, sp, #120 ; 0x78 - b220: 88df ldrh r7, [r3, #6] - b222: 3701 adds r7, #1 - b224: 885b ldrh r3, [r3, #2] - b226: 1aff subs r7, r7, r3 - b228: b23f sxth r7, r7 + b286: ab1e add r3, sp, #120 ; 0x78 + b288: 88df ldrh r7, [r3, #6] + b28a: 3701 adds r7, #1 + b28c: 885b ldrh r3, [r3, #2] + b28e: 1aff subs r7, r7, r3 + b290: b23f sxth r7, r7 sh_buf_tmp = sh_buf + corner_size * (corner_size - 1); - b22a: 9909 ldr r1, [sp, #36] ; 0x24 - b22c: 000b movs r3, r1 - b22e: 3b01 subs r3, #1 - b230: 434b muls r3, r1 + b292: 9909 ldr r1, [sp, #36] ; 0x24 + b294: 000b movs r3, r1 + b296: 3b01 subs r3, #1 + b298: 434b muls r3, r1 sh_buf_tmp += ca.x1 - a.x1; - b232: a91c add r1, sp, #112 ; 0x70 - b234: 2000 movs r0, #0 - b236: 5e09 ldrsh r1, [r1, r0] - b238: 1a52 subs r2, r2, r1 - b23a: 189a adds r2, r3, r2 - b23c: 0013 movs r3, r2 - b23e: 990e ldr r1, [sp, #56] ; 0x38 - b240: 468c mov ip, r1 - b242: 4463 add r3, ip - b244: 930b str r3, [sp, #44] ; 0x2c - b246: 2300 movs r3, #0 + b29a: a91c add r1, sp, #112 ; 0x70 + b29c: 2000 movs r0, #0 + b29e: 5e09 ldrsh r1, [r1, r0] + b2a0: 1a52 subs r2, r2, r1 + b2a2: 189a adds r2, r3, r2 + b2a4: 0013 movs r3, r2 + b2a6: 990e ldr r1, [sp, #56] ; 0x38 + b2a8: 468c mov ip, r1 + b2aa: 4463 add r3, ip + b2ac: 930b str r3, [sp, #44] ; 0x2c + b2ae: 2300 movs r3, #0 *d8 = *s8; - b248: a822 add r0, sp, #136 ; 0x88 - b24a: a91e add r1, sp, #120 ; 0x78 - b24c: 5c5a ldrb r2, [r3, r1] - b24e: 541a strb r2, [r3, r0] - b250: 3301 adds r3, #1 + b2b0: a822 add r0, sp, #136 ; 0x88 + b2b2: a91e add r1, sp, #120 ; 0x78 + b2b4: 5c5a ldrb r2, [r3, r1] + b2b6: 541a strb r2, [r3, r0] + b2b8: 3301 adds r3, #1 while(len) { - b252: 2b08 cmp r3, #8 - b254: d1fa bne.n b24c + b2ba: 2b08 cmp r3, #8 + b2bc: d1fa bne.n b2b4 fa.y2 = fa.y1; - b256: ab22 add r3, sp, #136 ; 0x88 - b258: 885a ldrh r2, [r3, #2] - b25a: 80da strh r2, [r3, #6] + b2be: ab22 add r3, sp, #136 ; 0x88 + b2c0: 885a ldrh r2, [r3, #2] + b2c2: 80da strh r2, [r3, #6] for(y = 0; y < h; y++) { - b25c: 2f00 cmp r7, #0 - b25e: dd33 ble.n b2c8 - b260: 2500 movs r5, #0 + b2c4: 2f00 cmp r7, #0 + b2c6: dd33 ble.n b330 + b2c8: 2500 movs r5, #0 _lv_memcpy(mask_buf, sh_buf_tmp, w); - b262: 4bb3 ldr r3, [pc, #716] ; (b530 ) - b264: 4698 mov r8, r3 + b2ca: 4bb3 ldr r3, [pc, #716] ; (b598 ) + b2cc: 4698 mov r8, r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b266: ac22 add r4, sp, #136 ; 0x88 - b268: 9b08 ldr r3, [sp, #32] - b26a: 469a mov sl, r3 - b26c: 465e mov r6, fp - b26e: 46bb mov fp, r7 - b270: e015 b.n b29e + b2ce: ac22 add r4, sp, #136 ; 0x88 + b2d0: 9b08 ldr r3, [sp, #32] + b2d2: 469a mov sl, r3 + b2d4: 465e mov r6, fp + b2d6: 46bb mov fp, r7 + b2d8: e015 b.n b306 _lv_blend_fill(clip, &fa, - b272: 8bf2 ldrh r2, [r6, #30] - b274: 2329 movs r3, #41 ; 0x29 - b276: 5cf3 ldrb r3, [r6, r3] - b278: 9302 str r3, [sp, #8] - b27a: 2328 movs r3, #40 ; 0x28 - b27c: 5cf3 ldrb r3, [r6, r3] - b27e: 9301 str r3, [sp, #4] - b280: 9000 str r0, [sp, #0] - b282: 9b05 ldr r3, [sp, #20] - b284: 0021 movs r1, r4 - b286: 9804 ldr r0, [sp, #16] - b288: 4faa ldr r7, [pc, #680] ; (b534 ) - b28a: 47b8 blx r7 + b2da: 8bf2 ldrh r2, [r6, #30] + b2dc: 2329 movs r3, #41 ; 0x29 + b2de: 5cf3 ldrb r3, [r6, r3] + b2e0: 9302 str r3, [sp, #8] + b2e2: 2328 movs r3, #40 ; 0x28 + b2e4: 5cf3 ldrb r3, [r6, r3] + b2e6: 9301 str r3, [sp, #4] + b2e8: 9000 str r0, [sp, #0] + b2ea: 9b05 ldr r3, [sp, #20] + b2ec: 0021 movs r1, r4 + b2ee: 9804 ldr r0, [sp, #16] + b2f0: 4faa ldr r7, [pc, #680] ; (b59c ) + b2f2: 47b8 blx r7 fa.y1++; - b28c: 8863 ldrh r3, [r4, #2] - b28e: 3301 adds r3, #1 - b290: 8063 strh r3, [r4, #2] + b2f4: 8863 ldrh r3, [r4, #2] + b2f6: 3301 adds r3, #1 + b2f8: 8063 strh r3, [r4, #2] fa.y2++; - b292: 88e3 ldrh r3, [r4, #6] - b294: 3301 adds r3, #1 - b296: 80e3 strh r3, [r4, #6] + b2fa: 88e3 ldrh r3, [r4, #6] + b2fc: 3301 adds r3, #1 + b2fe: 80e3 strh r3, [r4, #6] for(y = 0; y < h; y++) { - b298: 3501 adds r5, #1 - b29a: 455d cmp r5, fp - b29c: da13 bge.n b2c6 + b300: 3501 adds r5, #1 + b302: 455d cmp r5, fp + b304: da13 bge.n b32e _lv_memcpy(mask_buf, sh_buf_tmp, w); - b29e: 9a07 ldr r2, [sp, #28] - b2a0: 990b ldr r1, [sp, #44] ; 0x2c - b2a2: 9805 ldr r0, [sp, #20] - b2a4: 47c0 blx r8 + b306: 9a07 ldr r2, [sp, #28] + b308: 990b ldr r1, [sp, #44] ; 0x2c + b30a: 9805 ldr r0, [sp, #20] + b30c: 47c0 blx r8 mask_res = LV_DRAW_MASK_RES_CHANGED; - b2a6: 2002 movs r0, #2 + b30e: 2002 movs r0, #2 if(simple_mode) { - b2a8: 4653 mov r3, sl - b2aa: 2b00 cmp r3, #0 - b2ac: d1e1 bne.n b272 + b310: 4653 mov r3, sl + b312: 2b00 cmp r3, #0 + b314: d1e1 bne.n b2da mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b2ae: 2302 movs r3, #2 - b2b0: 5ee2 ldrsh r2, [r4, r3] - b2b2: 2300 movs r3, #0 - b2b4: 5ee1 ldrsh r1, [r4, r3] - b2b6: 9b07 ldr r3, [sp, #28] - b2b8: 9805 ldr r0, [sp, #20] - b2ba: 4f9f ldr r7, [pc, #636] ; (b538 ) - b2bc: 47b8 blx r7 + b316: 2302 movs r3, #2 + b318: 5ee2 ldrsh r2, [r4, r3] + b31a: 2300 movs r3, #0 + b31c: 5ee1 ldrsh r1, [r4, r3] + b31e: 9b07 ldr r3, [sp, #28] + b320: 9805 ldr r0, [sp, #20] + b322: 4f9f ldr r7, [pc, #636] ; (b5a0 ) + b324: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b2be: 2801 cmp r0, #1 - b2c0: d1d7 bne.n b272 - b2c2: 3001 adds r0, #1 - b2c4: e7d5 b.n b272 - b2c6: 46b3 mov fp, r6 + b326: 2801 cmp r0, #1 + b328: d1d7 bne.n b2da + b32a: 3001 adds r0, #1 + b32c: e7d5 b.n b2da + b32e: 46b3 mov fp, r6 for(y = 0; y < corner_size; y++) { - b2c8: 9b09 ldr r3, [sp, #36] ; 0x24 - b2ca: 2b00 cmp r3, #0 - b2cc: dd1f ble.n b30e + b330: 9b09 ldr r3, [sp, #36] ; 0x24 + b332: 2b00 cmp r3, #0 + b334: dd1f ble.n b376 for(x = 0; x < corner_size / 2; x++) { - b2ce: 0fdf lsrs r7, r3, #31 - b2d0: 469c mov ip, r3 - b2d2: 4467 add r7, ip - b2d4: 107f asrs r7, r7, #1 - b2d6: 9d0e ldr r5, [sp, #56] ; 0x38 - b2d8: 2600 movs r6, #0 - b2da: 1e5a subs r2, r3, #1 - b2dc: 4694 mov ip, r2 - b2de: 46b8 mov r8, r7 - b2e0: 001f movs r7, r3 - b2e2: e00b b.n b2fc + b336: 0fdf lsrs r7, r3, #31 + b338: 469c mov ip, r3 + b33a: 4467 add r7, ip + b33c: 107f asrs r7, r7, #1 + b33e: 9d0e ldr r5, [sp, #56] ; 0x38 + b340: 2600 movs r6, #0 + b342: 1e5a subs r2, r3, #1 + b344: 4694 mov ip, r2 + b346: 46b8 mov r8, r7 + b348: 001f movs r7, r3 + b34a: e00b b.n b364 lv_opa_t tmp = sh_buf_tmp[x]; - b2e4: 7819 ldrb r1, [r3, #0] + b34c: 7819 ldrb r1, [r3, #0] sh_buf_tmp[x] = sh_buf_tmp[corner_size - x - 1]; - b2e6: 7810 ldrb r0, [r2, #0] - b2e8: 7018 strb r0, [r3, #0] + b34e: 7810 ldrb r0, [r2, #0] + b350: 7018 strb r0, [r3, #0] sh_buf_tmp[corner_size - x - 1] = tmp; - b2ea: 7011 strb r1, [r2, #0] - b2ec: 3301 adds r3, #1 - b2ee: 3a01 subs r2, #1 + b352: 7011 strb r1, [r2, #0] + b354: 3301 adds r3, #1 + b356: 3a01 subs r2, #1 for(x = 0; x < corner_size / 2; x++) { - b2f0: 429c cmp r4, r3 - b2f2: d1f7 bne.n b2e4 - b2f4: 19ed adds r5, r5, r7 + b358: 429c cmp r4, r3 + b35a: d1f7 bne.n b34c + b35c: 19ed adds r5, r5, r7 for(y = 0; y < corner_size; y++) { - b2f6: 3601 adds r6, #1 - b2f8: 42b7 cmp r7, r6 - b2fa: d008 beq.n b30e + b35e: 3601 adds r6, #1 + b360: 42b7 cmp r7, r6 + b362: d008 beq.n b376 for(x = 0; x < corner_size / 2; x++) { - b2fc: 4643 mov r3, r8 - b2fe: 2b00 cmp r3, #0 - b300: d0f8 beq.n b2f4 - b302: 002b movs r3, r5 - b304: 4662 mov r2, ip - b306: 18aa adds r2, r5, r2 - b308: 4641 mov r1, r8 - b30a: 186c adds r4, r5, r1 - b30c: e7ea b.n b2e4 + b364: 4643 mov r3, r8 + b366: 2b00 cmp r3, #0 + b368: d0f8 beq.n b35c + b36a: 002b movs r3, r5 + b36c: 4662 mov r2, ip + b36e: 18aa adds r2, r5, r2 + b370: 4641 mov r1, r8 + b372: 186c adds r4, r5, r1 + b374: e7ea b.n b34c a.x1 = sh_area.x1; - b30e: aa16 add r2, sp, #88 ; 0x58 - b310: 2100 movs r1, #0 - b312: 5e53 ldrsh r3, [r2, r1] - b314: a91c add r1, sp, #112 ; 0x70 - b316: 800b strh r3, [r1, #0] + b376: aa16 add r2, sp, #88 ; 0x58 + b378: 2100 movs r1, #0 + b37a: 5e53 ldrsh r3, [r2, r1] + b37c: a91c add r1, sp, #112 ; 0x70 + b37e: 800b strh r3, [r1, #0] a.x2 = a.x1 + corner_size - 1; - b318: 3b01 subs r3, #1 - b31a: 9c0a ldr r4, [sp, #40] ; 0x28 - b31c: 46a4 mov ip, r4 - b31e: 4463 add r3, ip - b320: 808b strh r3, [r1, #4] + b380: 3b01 subs r3, #1 + b382: 9c0a ldr r4, [sp, #40] ; 0x28 + b384: 46a4 mov ip, r4 + b386: 4463 add r3, ip + b388: 808b strh r3, [r1, #4] a.y1 = sh_area.y1; - b322: 2302 movs r3, #2 - b324: 5ed3 ldrsh r3, [r2, r3] - b326: 804b strh r3, [r1, #2] + b38a: 2302 movs r3, #2 + b38c: 5ed3 ldrsh r3, [r2, r3] + b38e: 804b strh r3, [r1, #2] a.y2 = a.y1 + corner_size - 1; - b328: 3b01 subs r3, #1 - b32a: 4463 add r3, ip - b32c: 80cb strh r3, [r1, #6] + b390: 3b01 subs r3, #1 + b392: 4463 add r3, ip + b394: 80cb strh r3, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b32e: 9a04 ldr r2, [sp, #16] - b330: a81e add r0, sp, #120 ; 0x78 - b332: 4b7e ldr r3, [pc, #504] ; (b52c ) - b334: 4798 blx r3 + b396: 9a04 ldr r2, [sp, #16] + b398: a81e add r0, sp, #120 ; 0x78 + b39a: 4b7e ldr r3, [pc, #504] ; (b594 ) + b39c: 4798 blx r3 if(has_com) { - b336: 2800 cmp r0, #0 - b338: d06f beq.n b41a + b39e: 2800 cmp r0, #0 + b3a0: d06f beq.n b482 if(ca.y2 > h_half) ca.y2 = h_half; - b33a: ab1e add r3, sp, #120 ; 0x78 - b33c: 2206 movs r2, #6 - b33e: 5e9b ldrsh r3, [r3, r2] - b340: 990c ldr r1, [sp, #48] ; 0x30 - b342: 428b cmp r3, r1 - b344: dd01 ble.n b34a - b346: ab1e add r3, sp, #120 ; 0x78 - b348: 80d9 strh r1, [r3, #6] + b3a2: ab1e add r3, sp, #120 ; 0x78 + b3a4: 2206 movs r2, #6 + b3a6: 5e9b ldrsh r3, [r3, r2] + b3a8: 990c ldr r1, [sp, #48] ; 0x30 + b3aa: 428b cmp r3, r1 + b3ac: dd01 ble.n b3b2 + b3ae: ab1e add r3, sp, #120 ; 0x78 + b3b0: 80d9 strh r1, [r3, #6] if(ca.x2 > w_half) ca.x2 = w_half; - b34a: ab1e add r3, sp, #120 ; 0x78 - b34c: 2204 movs r2, #4 - b34e: 5e9b ldrsh r3, [r3, r2] - b350: 990d ldr r1, [sp, #52] ; 0x34 - b352: 428b cmp r3, r1 - b354: dd01 ble.n b35a - b356: ab1e add r3, sp, #120 ; 0x78 - b358: 8099 strh r1, [r3, #4] + b3b2: ab1e add r3, sp, #120 ; 0x78 + b3b4: 2204 movs r2, #4 + b3b6: 5e9b ldrsh r3, [r3, r2] + b3b8: 990d ldr r1, [sp, #52] ; 0x34 + b3ba: 428b cmp r3, r1 + b3bc: dd01 ble.n b3c2 + b3be: ab1e add r3, sp, #120 ; 0x78 + b3c0: 8099 strh r1, [r3, #4] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b35a: ab1e add r3, sp, #120 ; 0x78 - b35c: 2100 movs r1, #0 - b35e: 5e5a ldrsh r2, [r3, r1] - b360: 889b ldrh r3, [r3, #4] - b362: 3301 adds r3, #1 - b364: 1a9b subs r3, r3, r2 - b366: b21b sxth r3, r3 - b368: 930b str r3, [sp, #44] ; 0x2c + b3c2: ab1e add r3, sp, #120 ; 0x78 + b3c4: 2100 movs r1, #0 + b3c6: 5e5a ldrsh r2, [r3, r1] + b3c8: 889b ldrh r3, [r3, #4] + b3ca: 3301 adds r3, #1 + b3cc: 1a9b subs r3, r3, r2 + b3ce: b21b sxth r3, r3 + b3d0: 930b str r3, [sp, #44] ; 0x2c if(w > 0) { - b36a: 2b00 cmp r3, #0 - b36c: dd55 ble.n b41a + b3d2: 2b00 cmp r3, #0 + b3d4: dd55 ble.n b482 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b36e: ab1e add r3, sp, #120 ; 0x78 - b370: 2106 movs r1, #6 - b372: 5e5c ldrsh r4, [r3, r1] - b374: 2602 movs r6, #2 - b376: 5f9e ldrsh r6, [r3, r6] + b3d6: ab1e add r3, sp, #120 ; 0x78 + b3d8: 2106 movs r1, #6 + b3da: 5e5c ldrsh r4, [r3, r1] + b3dc: 2602 movs r6, #2 + b3de: 5f9e ldrsh r6, [r3, r6] sh_buf_tmp += corner_size * (ca.y1 - a.y1); - b378: ab1c add r3, sp, #112 ; 0x70 - b37a: 2102 movs r1, #2 - b37c: 5e5d ldrsh r5, [r3, r1] - b37e: 1b75 subs r5, r6, r5 - b380: 9909 ldr r1, [sp, #36] ; 0x24 - b382: 434d muls r5, r1 + b3e0: ab1c add r3, sp, #112 ; 0x70 + b3e2: 2102 movs r1, #2 + b3e4: 5e5d ldrsh r5, [r3, r1] + b3e6: 1b75 subs r5, r6, r5 + b3e8: 9909 ldr r1, [sp, #36] ; 0x24 + b3ea: 434d muls r5, r1 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - b384: 2100 movs r1, #0 - b386: 5e5b ldrsh r3, [r3, r1] - b388: 1ad2 subs r2, r2, r3 + b3ec: 2100 movs r1, #0 + b3ee: 5e5b ldrsh r3, [r3, r1] + b3f0: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - b38a: 18ad adds r5, r5, r2 - b38c: 9b0e ldr r3, [sp, #56] ; 0x38 - b38e: 469c mov ip, r3 - b390: 4465 add r5, ip - b392: 2300 movs r3, #0 + b3f2: 18ad adds r5, r5, r2 + b3f4: 9b0e ldr r3, [sp, #56] ; 0x38 + b3f6: 469c mov ip, r3 + b3f8: 4465 add r5, ip + b3fa: 2300 movs r3, #0 *d8 = *s8; - b394: a822 add r0, sp, #136 ; 0x88 - b396: a91e add r1, sp, #120 ; 0x78 - b398: 5c5a ldrb r2, [r3, r1] - b39a: 541a strb r2, [r3, r0] - b39c: 3301 adds r3, #1 + b3fc: a822 add r0, sp, #136 ; 0x88 + b3fe: a91e add r1, sp, #120 ; 0x78 + b400: 5c5a ldrb r2, [r3, r1] + b402: 541a strb r2, [r3, r0] + b404: 3301 adds r3, #1 while(len) { - b39e: 2b08 cmp r3, #8 - b3a0: d1fa bne.n b398 + b406: 2b08 cmp r3, #8 + b408: d1fa bne.n b400 fa.y2 = fa.y1; - b3a2: ab22 add r3, sp, #136 ; 0x88 - b3a4: 885a ldrh r2, [r3, #2] - b3a6: 80da strh r2, [r3, #6] - b3a8: 3401 adds r4, #1 - b3aa: 1ba6 subs r6, r4, r6 - b3ac: b236 sxth r6, r6 + b40a: ab22 add r3, sp, #136 ; 0x88 + b40c: 885a ldrh r2, [r3, #2] + b40e: 80da strh r2, [r3, #6] + b410: 3401 adds r4, #1 + b412: 1ba6 subs r6, r4, r6 + b414: b236 sxth r6, r6 for(y = 0; y < h; y++) { - b3ae: 2e00 cmp r6, #0 - b3b0: dd33 ble.n b41a - b3b2: 1c73 adds r3, r6, #1 - b3b4: 4698 mov r8, r3 - b3b6: 2601 movs r6, #1 + b416: 2e00 cmp r6, #0 + b418: dd33 ble.n b482 + b41a: 1c73 adds r3, r6, #1 + b41c: 4698 mov r8, r3 + b41e: 2601 movs r6, #1 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b3b8: ac22 add r4, sp, #136 ; 0x88 - b3ba: 4b5f ldr r3, [pc, #380] ; (b538 ) - b3bc: 469a mov sl, r3 - b3be: 9507 str r5, [sp, #28] - b3c0: 465f mov r7, fp - b3c2: e019 b.n b3f8 + b420: ac22 add r4, sp, #136 ; 0x88 + b422: 4b5f ldr r3, [pc, #380] ; (b5a0 ) + b424: 469a mov sl, r3 + b426: 9507 str r5, [sp, #28] + b428: 465f mov r7, fp + b42a: e019 b.n b460 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - b3c4: 8bfa ldrh r2, [r7, #30] - b3c6: 2329 movs r3, #41 ; 0x29 - b3c8: 5cfb ldrb r3, [r7, r3] - b3ca: 9302 str r3, [sp, #8] - b3cc: 9b06 ldr r3, [sp, #24] - b3ce: 9301 str r3, [sp, #4] - b3d0: 9000 str r0, [sp, #0] - b3d2: 9b05 ldr r3, [sp, #20] - b3d4: 0021 movs r1, r4 - b3d6: 9804 ldr r0, [sp, #16] - b3d8: 4d56 ldr r5, [pc, #344] ; (b534 ) - b3da: 47a8 blx r5 + b42c: 8bfa ldrh r2, [r7, #30] + b42e: 2329 movs r3, #41 ; 0x29 + b430: 5cfb ldrb r3, [r7, r3] + b432: 9302 str r3, [sp, #8] + b434: 9b06 ldr r3, [sp, #24] + b436: 9301 str r3, [sp, #4] + b438: 9000 str r0, [sp, #0] + b43a: 9b05 ldr r3, [sp, #20] + b43c: 0021 movs r1, r4 + b43e: 9804 ldr r0, [sp, #16] + b440: 4d56 ldr r5, [pc, #344] ; (b59c ) + b442: 47a8 blx r5 fa.y1++; - b3dc: 8863 ldrh r3, [r4, #2] - b3de: 3301 adds r3, #1 - b3e0: 8063 strh r3, [r4, #2] + b444: 8863 ldrh r3, [r4, #2] + b446: 3301 adds r3, #1 + b448: 8063 strh r3, [r4, #2] fa.y2++; - b3e2: 88e3 ldrh r3, [r4, #6] - b3e4: 3301 adds r3, #1 - b3e6: 80e3 strh r3, [r4, #6] - b3e8: 9b09 ldr r3, [sp, #36] ; 0x24 - b3ea: 469c mov ip, r3 - b3ec: 9b07 ldr r3, [sp, #28] - b3ee: 4463 add r3, ip - b3f0: 9307 str r3, [sp, #28] - b3f2: 3601 adds r6, #1 + b44a: 88e3 ldrh r3, [r4, #6] + b44c: 3301 adds r3, #1 + b44e: 80e3 strh r3, [r4, #6] + b450: 9b09 ldr r3, [sp, #36] ; 0x24 + b452: 469c mov ip, r3 + b454: 9b07 ldr r3, [sp, #28] + b456: 4463 add r3, ip + b458: 9307 str r3, [sp, #28] + b45a: 3601 adds r6, #1 for(y = 0; y < h; y++) { - b3f4: 4546 cmp r6, r8 - b3f6: d00f beq.n b418 + b45c: 4546 cmp r6, r8 + b45e: d00f beq.n b480 _lv_memcpy(mask_buf, sh_buf_tmp, w); - b3f8: 9a0b ldr r2, [sp, #44] ; 0x2c - b3fa: 9907 ldr r1, [sp, #28] - b3fc: 9805 ldr r0, [sp, #20] - b3fe: 4b4c ldr r3, [pc, #304] ; (b530 ) - b400: 4798 blx r3 + b460: 9a0b ldr r2, [sp, #44] ; 0x2c + b462: 9907 ldr r1, [sp, #28] + b464: 9805 ldr r0, [sp, #20] + b466: 4b4c ldr r3, [pc, #304] ; (b598 ) + b468: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b402: 2102 movs r1, #2 - b404: 5e62 ldrsh r2, [r4, r1] - b406: 2500 movs r5, #0 - b408: 5f61 ldrsh r1, [r4, r5] - b40a: 9b0b ldr r3, [sp, #44] ; 0x2c - b40c: 9805 ldr r0, [sp, #20] - b40e: 47d0 blx sl + b46a: 2102 movs r1, #2 + b46c: 5e62 ldrsh r2, [r4, r1] + b46e: 2500 movs r5, #0 + b470: 5f61 ldrsh r1, [r4, r5] + b472: 9b0b ldr r3, [sp, #44] ; 0x2c + b474: 9805 ldr r0, [sp, #20] + b476: 47d0 blx sl if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b410: 2801 cmp r0, #1 - b412: d1d7 bne.n b3c4 - b414: 3001 adds r0, #1 - b416: e7d5 b.n b3c4 - b418: 46bb mov fp, r7 + b478: 2801 cmp r0, #1 + b47a: d1d7 bne.n b42c + b47c: 3001 adds r0, #1 + b47e: e7d5 b.n b42c + b480: 46bb mov fp, r7 a.x1 = sh_area.x1; - b41a: aa16 add r2, sp, #88 ; 0x58 - b41c: 2100 movs r1, #0 - b41e: 5e53 ldrsh r3, [r2, r1] - b420: a91c add r1, sp, #112 ; 0x70 - b422: 800b strh r3, [r1, #0] + b482: aa16 add r2, sp, #88 ; 0x58 + b484: 2100 movs r1, #0 + b486: 5e53 ldrsh r3, [r2, r1] + b488: a91c add r1, sp, #112 ; 0x70 + b48a: 800b strh r3, [r1, #0] a.x2 = a.x1 + corner_size - 1; - b424: 3b01 subs r3, #1 - b426: 9c0a ldr r4, [sp, #40] ; 0x28 - b428: 46a4 mov ip, r4 - b42a: 4463 add r3, ip - b42c: 808b strh r3, [r1, #4] + b48c: 3b01 subs r3, #1 + b48e: 9c0a ldr r4, [sp, #40] ; 0x28 + b490: 46a4 mov ip, r4 + b492: 4463 add r3, ip + b494: 808b strh r3, [r1, #4] a.y1 = sh_area.y2 - corner_size + 1; - b42e: 2306 movs r3, #6 - b430: 5ed2 ldrsh r2, [r2, r3] - b432: 1c53 adds r3, r2, #1 - b434: 1b1b subs r3, r3, r4 - b436: 804b strh r3, [r1, #2] + b496: 2306 movs r3, #6 + b498: 5ed2 ldrsh r2, [r2, r3] + b49a: 1c53 adds r3, r2, #1 + b49c: 1b1b subs r3, r3, r4 + b49e: 804b strh r3, [r1, #2] a.y2 = sh_area.y2; - b438: 80ca strh r2, [r1, #6] + b4a0: 80ca strh r2, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b43a: 9a04 ldr r2, [sp, #16] - b43c: a81e add r0, sp, #120 ; 0x78 - b43e: 4b3b ldr r3, [pc, #236] ; (b52c ) - b440: 4798 blx r3 + b4a2: 9a04 ldr r2, [sp, #16] + b4a4: a81e add r0, sp, #120 ; 0x78 + b4a6: 4b3b ldr r3, [pc, #236] ; (b594 ) + b4a8: 4798 blx r3 if(has_com) { - b442: 2800 cmp r0, #0 - b444: d100 bne.n b448 - b446: e07a b.n b53e + b4aa: 2800 cmp r0, #0 + b4ac: d100 bne.n b4b0 + b4ae: e07a b.n b5a6 if(ca.y1 <= h_half) ca.y1 = h_half + 1; - b448: ab1e add r3, sp, #120 ; 0x78 - b44a: 2202 movs r2, #2 - b44c: 5e9b ldrsh r3, [r3, r2] - b44e: 9a0c ldr r2, [sp, #48] ; 0x30 - b450: 4293 cmp r3, r2 - b452: dc03 bgt.n b45c - b454: 9b10 ldr r3, [sp, #64] ; 0x40 - b456: 3301 adds r3, #1 - b458: aa1e add r2, sp, #120 ; 0x78 - b45a: 8053 strh r3, [r2, #2] + b4b0: ab1e add r3, sp, #120 ; 0x78 + b4b2: 2202 movs r2, #2 + b4b4: 5e9b ldrsh r3, [r3, r2] + b4b6: 9a0c ldr r2, [sp, #48] ; 0x30 + b4b8: 4293 cmp r3, r2 + b4ba: dc03 bgt.n b4c4 + b4bc: 9b10 ldr r3, [sp, #64] ; 0x40 + b4be: 3301 adds r3, #1 + b4c0: aa1e add r2, sp, #120 ; 0x78 + b4c2: 8053 strh r3, [r2, #2] if(ca.x2 > w_half) ca.x2 = w_half; - b45c: ab1e add r3, sp, #120 ; 0x78 - b45e: 2204 movs r2, #4 - b460: 5e9b ldrsh r3, [r3, r2] - b462: 990d ldr r1, [sp, #52] ; 0x34 - b464: 428b cmp r3, r1 - b466: dd01 ble.n b46c - b468: ab1e add r3, sp, #120 ; 0x78 - b46a: 8099 strh r1, [r3, #4] + b4c4: ab1e add r3, sp, #120 ; 0x78 + b4c6: 2204 movs r2, #4 + b4c8: 5e9b ldrsh r3, [r3, r2] + b4ca: 990d ldr r1, [sp, #52] ; 0x34 + b4cc: 428b cmp r3, r1 + b4ce: dd01 ble.n b4d4 + b4d0: ab1e add r3, sp, #120 ; 0x78 + b4d2: 8099 strh r1, [r3, #4] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b46c: ab1e add r3, sp, #120 ; 0x78 - b46e: 2100 movs r1, #0 - b470: 5e5a ldrsh r2, [r3, r1] - b472: 889b ldrh r3, [r3, #4] - b474: 3301 adds r3, #1 - b476: 1a9b subs r3, r3, r2 - b478: b21b sxth r3, r3 - b47a: 930b str r3, [sp, #44] ; 0x2c + b4d4: ab1e add r3, sp, #120 ; 0x78 + b4d6: 2100 movs r1, #0 + b4d8: 5e5a ldrsh r2, [r3, r1] + b4da: 889b ldrh r3, [r3, #4] + b4dc: 3301 adds r3, #1 + b4de: 1a9b subs r3, r3, r2 + b4e0: b21b sxth r3, r3 + b4e2: 930b str r3, [sp, #44] ; 0x2c if(w > 0) { - b47c: 2b00 cmp r3, #0 - b47e: dd5e ble.n b53e + b4e4: 2b00 cmp r3, #0 + b4e6: dd5e ble.n b5a6 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b480: ab1e add r3, sp, #120 ; 0x78 - b482: 2106 movs r1, #6 - b484: 5e5c ldrsh r4, [r3, r1] - b486: 2602 movs r6, #2 - b488: 5f9e ldrsh r6, [r3, r6] + b4e8: ab1e add r3, sp, #120 ; 0x78 + b4ea: 2106 movs r1, #6 + b4ec: 5e5c ldrsh r4, [r3, r1] + b4ee: 2602 movs r6, #2 + b4f0: 5f9e ldrsh r6, [r3, r6] sh_buf_tmp += corner_size * (a.y2 - ca.y2); - b48a: ab1c add r3, sp, #112 ; 0x70 - b48c: 2106 movs r1, #6 - b48e: 5e5d ldrsh r5, [r3, r1] - b490: 1b2d subs r5, r5, r4 - b492: 9909 ldr r1, [sp, #36] ; 0x24 - b494: 434d muls r5, r1 + b4f2: ab1c add r3, sp, #112 ; 0x70 + b4f4: 2106 movs r1, #6 + b4f6: 5e5d ldrsh r5, [r3, r1] + b4f8: 1b2d subs r5, r5, r4 + b4fa: 9909 ldr r1, [sp, #36] ; 0x24 + b4fc: 434d muls r5, r1 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - b496: 2100 movs r1, #0 - b498: 5e5b ldrsh r3, [r3, r1] - b49a: 1ad2 subs r2, r2, r3 + b4fe: 2100 movs r1, #0 + b500: 5e5b ldrsh r3, [r3, r1] + b502: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - b49c: 18ad adds r5, r5, r2 - b49e: 9b0e ldr r3, [sp, #56] ; 0x38 - b4a0: 469c mov ip, r3 - b4a2: 4465 add r5, ip - b4a4: 2300 movs r3, #0 + b504: 18ad adds r5, r5, r2 + b506: 9b0e ldr r3, [sp, #56] ; 0x38 + b508: 469c mov ip, r3 + b50a: 4465 add r5, ip + b50c: 2300 movs r3, #0 *d8 = *s8; - b4a6: a822 add r0, sp, #136 ; 0x88 - b4a8: a91e add r1, sp, #120 ; 0x78 - b4aa: 5c5a ldrb r2, [r3, r1] - b4ac: 541a strb r2, [r3, r0] - b4ae: 3301 adds r3, #1 + b50e: a822 add r0, sp, #136 ; 0x88 + b510: a91e add r1, sp, #120 ; 0x78 + b512: 5c5a ldrb r2, [r3, r1] + b514: 541a strb r2, [r3, r0] + b516: 3301 adds r3, #1 while(len) { - b4b0: 2b08 cmp r3, #8 - b4b2: d1fa bne.n b4aa + b518: 2b08 cmp r3, #8 + b51a: d1fa bne.n b512 fa.y1 = fa.y2; /*Fill from bottom to top*/ - b4b4: ab22 add r3, sp, #136 ; 0x88 - b4b6: 88da ldrh r2, [r3, #6] - b4b8: 805a strh r2, [r3, #2] - b4ba: 3401 adds r4, #1 - b4bc: 1ba6 subs r6, r4, r6 - b4be: b236 sxth r6, r6 + b51c: ab22 add r3, sp, #136 ; 0x88 + b51e: 88da ldrh r2, [r3, #6] + b520: 805a strh r2, [r3, #2] + b522: 3401 adds r4, #1 + b524: 1ba6 subs r6, r4, r6 + b526: b236 sxth r6, r6 for(y = 0; y < h; y++) { - b4c0: 2e00 cmp r6, #0 - b4c2: dd3c ble.n b53e - b4c4: 1c73 adds r3, r6, #1 - b4c6: 4698 mov r8, r3 - b4c8: 2601 movs r6, #1 + b528: 2e00 cmp r6, #0 + b52a: dd3c ble.n b5a6 + b52c: 1c73 adds r3, r6, #1 + b52e: 4698 mov r8, r3 + b530: 2601 movs r6, #1 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b4ca: ac22 add r4, sp, #136 ; 0x88 - b4cc: 4b1a ldr r3, [pc, #104] ; (b538 ) - b4ce: 469a mov sl, r3 - b4d0: 9507 str r5, [sp, #28] - b4d2: 465f mov r7, fp - b4d4: e019 b.n b50a + b532: ac22 add r4, sp, #136 ; 0x88 + b534: 4b1a ldr r3, [pc, #104] ; (b5a0 ) + b536: 469a mov sl, r3 + b538: 9507 str r5, [sp, #28] + b53a: 465f mov r7, fp + b53c: e019 b.n b572 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - b4d6: 8bfa ldrh r2, [r7, #30] - b4d8: 2329 movs r3, #41 ; 0x29 - b4da: 5cfb ldrb r3, [r7, r3] - b4dc: 9302 str r3, [sp, #8] - b4de: 9b06 ldr r3, [sp, #24] - b4e0: 9301 str r3, [sp, #4] - b4e2: 9000 str r0, [sp, #0] - b4e4: 9b05 ldr r3, [sp, #20] - b4e6: 0021 movs r1, r4 - b4e8: 9804 ldr r0, [sp, #16] - b4ea: 4d12 ldr r5, [pc, #72] ; (b534 ) - b4ec: 47a8 blx r5 + b53e: 8bfa ldrh r2, [r7, #30] + b540: 2329 movs r3, #41 ; 0x29 + b542: 5cfb ldrb r3, [r7, r3] + b544: 9302 str r3, [sp, #8] + b546: 9b06 ldr r3, [sp, #24] + b548: 9301 str r3, [sp, #4] + b54a: 9000 str r0, [sp, #0] + b54c: 9b05 ldr r3, [sp, #20] + b54e: 0021 movs r1, r4 + b550: 9804 ldr r0, [sp, #16] + b552: 4d12 ldr r5, [pc, #72] ; (b59c ) + b554: 47a8 blx r5 fa.y1--; - b4ee: 8863 ldrh r3, [r4, #2] - b4f0: 3b01 subs r3, #1 - b4f2: 8063 strh r3, [r4, #2] + b556: 8863 ldrh r3, [r4, #2] + b558: 3b01 subs r3, #1 + b55a: 8063 strh r3, [r4, #2] fa.y2--; - b4f4: 88e3 ldrh r3, [r4, #6] - b4f6: 3b01 subs r3, #1 - b4f8: 80e3 strh r3, [r4, #6] - b4fa: 9b09 ldr r3, [sp, #36] ; 0x24 - b4fc: 469c mov ip, r3 - b4fe: 9b07 ldr r3, [sp, #28] - b500: 4463 add r3, ip - b502: 9307 str r3, [sp, #28] - b504: 3601 adds r6, #1 + b55c: 88e3 ldrh r3, [r4, #6] + b55e: 3b01 subs r3, #1 + b560: 80e3 strh r3, [r4, #6] + b562: 9b09 ldr r3, [sp, #36] ; 0x24 + b564: 469c mov ip, r3 + b566: 9b07 ldr r3, [sp, #28] + b568: 4463 add r3, ip + b56a: 9307 str r3, [sp, #28] + b56c: 3601 adds r6, #1 for(y = 0; y < h; y++) { - b506: 4546 cmp r6, r8 - b508: d018 beq.n b53c + b56e: 4546 cmp r6, r8 + b570: d018 beq.n b5a4 _lv_memcpy(mask_buf, sh_buf_tmp, w); - b50a: 9a0b ldr r2, [sp, #44] ; 0x2c - b50c: 9907 ldr r1, [sp, #28] - b50e: 9805 ldr r0, [sp, #20] - b510: 4b07 ldr r3, [pc, #28] ; (b530 ) - b512: 4798 blx r3 + b572: 9a0b ldr r2, [sp, #44] ; 0x2c + b574: 9907 ldr r1, [sp, #28] + b576: 9805 ldr r0, [sp, #20] + b578: 4b07 ldr r3, [pc, #28] ; (b598 ) + b57a: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b514: 2102 movs r1, #2 - b516: 5e62 ldrsh r2, [r4, r1] - b518: 2500 movs r5, #0 - b51a: 5f61 ldrsh r1, [r4, r5] - b51c: 9b0b ldr r3, [sp, #44] ; 0x2c - b51e: 9805 ldr r0, [sp, #20] - b520: 47d0 blx sl + b57c: 2102 movs r1, #2 + b57e: 5e62 ldrsh r2, [r4, r1] + b580: 2500 movs r5, #0 + b582: 5f61 ldrsh r1, [r4, r5] + b584: 9b0b ldr r3, [sp, #44] ; 0x2c + b586: 9805 ldr r0, [sp, #20] + b588: 47d0 blx sl if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b522: 2801 cmp r0, #1 - b524: d1d7 bne.n b4d6 - b526: 3001 adds r0, #1 - b528: e7d5 b.n b4d6 - b52a: 46c0 nop ; (mov r8, r8) - b52c: 0000fba7 .word 0x0000fba7 - b530: 00010c25 .word 0x00010c25 - b534: 00005c05 .word 0x00005c05 - b538: 0000a5bd .word 0x0000a5bd - b53c: 46bb mov fp, r7 + b58a: 2801 cmp r0, #1 + b58c: d1d7 bne.n b53e + b58e: 3001 adds r0, #1 + b590: e7d5 b.n b53e + b592: 46c0 nop ; (mov r8, r8) + b594: 0000fc0f .word 0x0000fc0f + b598: 00010c8d .word 0x00010c8d + b59c: 00005c6d .word 0x00005c6d + b5a0: 0000a625 .word 0x0000a625 + b5a4: 46bb mov fp, r7 a.x1 = sh_area.x1; - b53e: aa16 add r2, sp, #88 ; 0x58 - b540: 2100 movs r1, #0 - b542: 5e53 ldrsh r3, [r2, r1] - b544: a91c add r1, sp, #112 ; 0x70 - b546: 800b strh r3, [r1, #0] + b5a6: aa16 add r2, sp, #88 ; 0x58 + b5a8: 2100 movs r1, #0 + b5aa: 5e53 ldrsh r3, [r2, r1] + b5ac: a91c add r1, sp, #112 ; 0x70 + b5ae: 800b strh r3, [r1, #0] a.x2 = a.x1 + corner_size - 1; - b548: 3b01 subs r3, #1 - b54a: 9c0a ldr r4, [sp, #40] ; 0x28 - b54c: 46a4 mov ip, r4 - b54e: 4463 add r3, ip - b550: 808b strh r3, [r1, #4] + b5b0: 3b01 subs r3, #1 + b5b2: 9c0a ldr r4, [sp, #40] ; 0x28 + b5b4: 46a4 mov ip, r4 + b5b6: 4463 add r3, ip + b5b8: 808b strh r3, [r1, #4] a.y1 = sh_area.y1 + corner_size; - b552: 8853 ldrh r3, [r2, #2] - b554: 4463 add r3, ip - b556: 804b strh r3, [r1, #2] + b5ba: 8853 ldrh r3, [r2, #2] + b5bc: 4463 add r3, ip + b5be: 804b strh r3, [r1, #2] a.y2 = sh_area.y2 - corner_size; - b558: 88d3 ldrh r3, [r2, #6] - b55a: 1b1b subs r3, r3, r4 - b55c: 80cb strh r3, [r1, #6] + b5c0: 88d3 ldrh r3, [r2, #6] + b5c2: 1b1b subs r3, r3, r4 + b5c4: 80cb strh r3, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b55e: 9a04 ldr r2, [sp, #16] - b560: a81e add r0, sp, #120 ; 0x78 - b562: 4bc5 ldr r3, [pc, #788] ; (b878 ) - b564: 4798 blx r3 + b5c6: 9a04 ldr r2, [sp, #16] + b5c8: a81e add r0, sp, #120 ; 0x78 + b5ca: 4bc5 ldr r3, [pc, #788] ; (b8e0 ) + b5cc: 4798 blx r3 if(has_com) { - b566: 2800 cmp r0, #0 - b568: d06c beq.n b644 + b5ce: 2800 cmp r0, #0 + b5d0: d06c beq.n b6ac if(simple_mode) ca.x2 = LV_MATH_MIN(coords->x1, ca.x2); - b56a: 9b08 ldr r3, [sp, #32] - b56c: 2b00 cmp r3, #0 - b56e: d00a beq.n b586 - b570: aa1e add r2, sp, #120 ; 0x78 - b572: 464b mov r3, r9 - b574: 8818 ldrh r0, [r3, #0] - b576: 8893 ldrh r3, [r2, #4] - b578: 1c19 adds r1, r3, #0 - b57a: b21b sxth r3, r3 - b57c: b204 sxth r4, r0 - b57e: 42a3 cmp r3, r4 - b580: dd00 ble.n b584 - b582: 1c01 adds r1, r0, #0 - b584: 8091 strh r1, [r2, #4] + b5d2: 9b08 ldr r3, [sp, #32] + b5d4: 2b00 cmp r3, #0 + b5d6: d00a beq.n b5ee + b5d8: aa1e add r2, sp, #120 ; 0x78 + b5da: 464b mov r3, r9 + b5dc: 8818 ldrh r0, [r3, #0] + b5de: 8893 ldrh r3, [r2, #4] + b5e0: 1c19 adds r1, r3, #0 + b5e2: b21b sxth r3, r3 + b5e4: b204 sxth r4, r0 + b5e6: 42a3 cmp r3, r4 + b5e8: dd00 ble.n b5ec + b5ea: 1c01 adds r1, r0, #0 + b5ec: 8091 strh r1, [r2, #4] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b586: ab1e add r3, sp, #120 ; 0x78 - b588: 2100 movs r1, #0 - b58a: 5e5a ldrsh r2, [r3, r1] - b58c: 889b ldrh r3, [r3, #4] - b58e: 3301 adds r3, #1 - b590: 1a9b subs r3, r3, r2 - b592: b21b sxth r3, r3 - b594: 9307 str r3, [sp, #28] + b5ee: ab1e add r3, sp, #120 ; 0x78 + b5f0: 2100 movs r1, #0 + b5f2: 5e5a ldrsh r2, [r3, r1] + b5f4: 889b ldrh r3, [r3, #4] + b5f6: 3301 adds r3, #1 + b5f8: 1a9b subs r3, r3, r2 + b5fa: b21b sxth r3, r3 + b5fc: 9307 str r3, [sp, #28] if(w > 0) { - b596: 2b00 cmp r3, #0 - b598: dd54 ble.n b644 + b5fe: 2b00 cmp r3, #0 + b600: dd54 ble.n b6ac return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b59a: ab1e add r3, sp, #120 ; 0x78 - b59c: 88df ldrh r7, [r3, #6] - b59e: 3701 adds r7, #1 - b5a0: 885b ldrh r3, [r3, #2] - b5a2: 1aff subs r7, r7, r3 - b5a4: b23f sxth r7, r7 + b602: ab1e add r3, sp, #120 ; 0x78 + b604: 88df ldrh r7, [r3, #6] + b606: 3701 adds r7, #1 + b608: 885b ldrh r3, [r3, #2] + b60a: 1aff subs r7, r7, r3 + b60c: b23f sxth r7, r7 sh_buf_tmp = sh_buf + corner_size * (corner_size - 1); - b5a6: 9909 ldr r1, [sp, #36] ; 0x24 - b5a8: 000b movs r3, r1 - b5aa: 3b01 subs r3, #1 - b5ac: 434b muls r3, r1 + b60e: 9909 ldr r1, [sp, #36] ; 0x24 + b610: 000b movs r3, r1 + b612: 3b01 subs r3, #1 + b614: 434b muls r3, r1 sh_buf_tmp += ca.x1 - a.x1; - b5ae: a91c add r1, sp, #112 ; 0x70 - b5b0: 2000 movs r0, #0 - b5b2: 5e09 ldrsh r1, [r1, r0] - b5b4: 1a52 subs r2, r2, r1 - b5b6: 189a adds r2, r3, r2 - b5b8: 0013 movs r3, r2 - b5ba: 990e ldr r1, [sp, #56] ; 0x38 - b5bc: 468c mov ip, r1 - b5be: 4463 add r3, ip - b5c0: 930b str r3, [sp, #44] ; 0x2c - b5c2: 2300 movs r3, #0 + b616: a91c add r1, sp, #112 ; 0x70 + b618: 2000 movs r0, #0 + b61a: 5e09 ldrsh r1, [r1, r0] + b61c: 1a52 subs r2, r2, r1 + b61e: 189a adds r2, r3, r2 + b620: 0013 movs r3, r2 + b622: 990e ldr r1, [sp, #56] ; 0x38 + b624: 468c mov ip, r1 + b626: 4463 add r3, ip + b628: 930b str r3, [sp, #44] ; 0x2c + b62a: 2300 movs r3, #0 *d8 = *s8; - b5c4: a822 add r0, sp, #136 ; 0x88 - b5c6: a91e add r1, sp, #120 ; 0x78 - b5c8: 5c5a ldrb r2, [r3, r1] - b5ca: 541a strb r2, [r3, r0] - b5cc: 3301 adds r3, #1 + b62c: a822 add r0, sp, #136 ; 0x88 + b62e: a91e add r1, sp, #120 ; 0x78 + b630: 5c5a ldrb r2, [r3, r1] + b632: 541a strb r2, [r3, r0] + b634: 3301 adds r3, #1 while(len) { - b5ce: 2b08 cmp r3, #8 - b5d0: d1fa bne.n b5c8 + b636: 2b08 cmp r3, #8 + b638: d1fa bne.n b630 fa.y2 = fa.y1; - b5d2: ab22 add r3, sp, #136 ; 0x88 - b5d4: 885a ldrh r2, [r3, #2] - b5d6: 80da strh r2, [r3, #6] + b63a: ab22 add r3, sp, #136 ; 0x88 + b63c: 885a ldrh r2, [r3, #2] + b63e: 80da strh r2, [r3, #6] for(y = 0; y < h; y++) { - b5d8: 2f00 cmp r7, #0 - b5da: dd33 ble.n b644 - b5dc: 2500 movs r5, #0 + b640: 2f00 cmp r7, #0 + b642: dd33 ble.n b6ac + b644: 2500 movs r5, #0 _lv_memcpy(mask_buf, sh_buf_tmp, w); - b5de: 4ba7 ldr r3, [pc, #668] ; (b87c ) - b5e0: 4698 mov r8, r3 + b646: 4ba7 ldr r3, [pc, #668] ; (b8e4 ) + b648: 4698 mov r8, r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b5e2: ac22 add r4, sp, #136 ; 0x88 - b5e4: 9b08 ldr r3, [sp, #32] - b5e6: 469a mov sl, r3 - b5e8: 465e mov r6, fp - b5ea: 46bb mov fp, r7 - b5ec: e015 b.n b61a + b64a: ac22 add r4, sp, #136 ; 0x88 + b64c: 9b08 ldr r3, [sp, #32] + b64e: 469a mov sl, r3 + b650: 465e mov r6, fp + b652: 46bb mov fp, r7 + b654: e015 b.n b682 _lv_blend_fill(clip, &fa, - b5ee: 8bf2 ldrh r2, [r6, #30] - b5f0: 2329 movs r3, #41 ; 0x29 - b5f2: 5cf3 ldrb r3, [r6, r3] - b5f4: 9302 str r3, [sp, #8] - b5f6: 2328 movs r3, #40 ; 0x28 - b5f8: 5cf3 ldrb r3, [r6, r3] - b5fa: 9301 str r3, [sp, #4] - b5fc: 9000 str r0, [sp, #0] - b5fe: 9b05 ldr r3, [sp, #20] - b600: 0021 movs r1, r4 - b602: 9804 ldr r0, [sp, #16] - b604: 4f9e ldr r7, [pc, #632] ; (b880 ) - b606: 47b8 blx r7 + b656: 8bf2 ldrh r2, [r6, #30] + b658: 2329 movs r3, #41 ; 0x29 + b65a: 5cf3 ldrb r3, [r6, r3] + b65c: 9302 str r3, [sp, #8] + b65e: 2328 movs r3, #40 ; 0x28 + b660: 5cf3 ldrb r3, [r6, r3] + b662: 9301 str r3, [sp, #4] + b664: 9000 str r0, [sp, #0] + b666: 9b05 ldr r3, [sp, #20] + b668: 0021 movs r1, r4 + b66a: 9804 ldr r0, [sp, #16] + b66c: 4f9e ldr r7, [pc, #632] ; (b8e8 ) + b66e: 47b8 blx r7 fa.y1++; - b608: 8863 ldrh r3, [r4, #2] - b60a: 3301 adds r3, #1 - b60c: 8063 strh r3, [r4, #2] + b670: 8863 ldrh r3, [r4, #2] + b672: 3301 adds r3, #1 + b674: 8063 strh r3, [r4, #2] fa.y2++; - b60e: 88e3 ldrh r3, [r4, #6] - b610: 3301 adds r3, #1 - b612: 80e3 strh r3, [r4, #6] + b676: 88e3 ldrh r3, [r4, #6] + b678: 3301 adds r3, #1 + b67a: 80e3 strh r3, [r4, #6] for(y = 0; y < h; y++) { - b614: 3501 adds r5, #1 - b616: 455d cmp r5, fp - b618: da13 bge.n b642 + b67c: 3501 adds r5, #1 + b67e: 455d cmp r5, fp + b680: da13 bge.n b6aa _lv_memcpy(mask_buf, sh_buf_tmp, w); - b61a: 9a07 ldr r2, [sp, #28] - b61c: 990b ldr r1, [sp, #44] ; 0x2c - b61e: 9805 ldr r0, [sp, #20] - b620: 47c0 blx r8 + b682: 9a07 ldr r2, [sp, #28] + b684: 990b ldr r1, [sp, #44] ; 0x2c + b686: 9805 ldr r0, [sp, #20] + b688: 47c0 blx r8 mask_res = LV_DRAW_MASK_RES_CHANGED; - b622: 2002 movs r0, #2 + b68a: 2002 movs r0, #2 if(simple_mode) { - b624: 4653 mov r3, sl - b626: 2b00 cmp r3, #0 - b628: d1e1 bne.n b5ee + b68c: 4653 mov r3, sl + b68e: 2b00 cmp r3, #0 + b690: d1e1 bne.n b656 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b62a: 2302 movs r3, #2 - b62c: 5ee2 ldrsh r2, [r4, r3] - b62e: 2300 movs r3, #0 - b630: 5ee1 ldrsh r1, [r4, r3] - b632: 9b07 ldr r3, [sp, #28] - b634: 9805 ldr r0, [sp, #20] - b636: 4f93 ldr r7, [pc, #588] ; (b884 ) - b638: 47b8 blx r7 + b692: 2302 movs r3, #2 + b694: 5ee2 ldrsh r2, [r4, r3] + b696: 2300 movs r3, #0 + b698: 5ee1 ldrsh r1, [r4, r3] + b69a: 9b07 ldr r3, [sp, #28] + b69c: 9805 ldr r0, [sp, #20] + b69e: 4f93 ldr r7, [pc, #588] ; (b8ec ) + b6a0: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b63a: 2801 cmp r0, #1 - b63c: d1d7 bne.n b5ee - b63e: 3001 adds r0, #1 - b640: e7d5 b.n b5ee - b642: 46b3 mov fp, r6 + b6a2: 2801 cmp r0, #1 + b6a4: d1d7 bne.n b656 + b6a6: 3001 adds r0, #1 + b6a8: e7d5 b.n b656 + b6aa: 46b3 mov fp, r6 a.x1 = sh_area.x1 + corner_size; - b644: a91c add r1, sp, #112 ; 0x70 - b646: ab16 add r3, sp, #88 ; 0x58 - b648: 881a ldrh r2, [r3, #0] - b64a: 9c0a ldr r4, [sp, #40] ; 0x28 - b64c: 46a4 mov ip, r4 - b64e: 4462 add r2, ip - b650: 800a strh r2, [r1, #0] + b6ac: a91c add r1, sp, #112 ; 0x70 + b6ae: ab16 add r3, sp, #88 ; 0x58 + b6b0: 881a ldrh r2, [r3, #0] + b6b2: 9c0a ldr r4, [sp, #40] ; 0x28 + b6b4: 46a4 mov ip, r4 + b6b6: 4462 add r2, ip + b6b8: 800a strh r2, [r1, #0] a.x2 = sh_area.x2 - corner_size; - b652: 889a ldrh r2, [r3, #4] - b654: 1b12 subs r2, r2, r4 - b656: 808a strh r2, [r1, #4] + b6ba: 889a ldrh r2, [r3, #4] + b6bc: 1b12 subs r2, r2, r4 + b6be: 808a strh r2, [r1, #4] a.y1 = sh_area.y1; - b658: 2202 movs r2, #2 - b65a: 5e9b ldrsh r3, [r3, r2] - b65c: 804b strh r3, [r1, #2] + b6c0: 2202 movs r2, #2 + b6c2: 5e9b ldrsh r3, [r3, r2] + b6c4: 804b strh r3, [r1, #2] a.y2 = sh_area.y1 + corner_size - 1; - b65e: 3b01 subs r3, #1 - b660: 4463 add r3, ip - b662: 80cb strh r3, [r1, #6] + b6c6: 3b01 subs r3, #1 + b6c8: 4463 add r3, ip + b6ca: 80cb strh r3, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b664: 9a04 ldr r2, [sp, #16] - b666: a81e add r0, sp, #120 ; 0x78 - b668: 4b83 ldr r3, [pc, #524] ; (b878 ) - b66a: 4798 blx r3 + b6cc: 9a04 ldr r2, [sp, #16] + b6ce: a81e add r0, sp, #120 ; 0x78 + b6d0: 4b83 ldr r3, [pc, #524] ; (b8e0 ) + b6d2: 4798 blx r3 if(has_com) { - b66c: 2800 cmp r0, #0 - b66e: d076 beq.n b75e + b6d4: 2800 cmp r0, #0 + b6d6: d076 beq.n b7c6 if(simple_mode) ca.y2 = LV_MATH_MIN(ca.y2, coords->y1); - b670: 9b08 ldr r3, [sp, #32] - b672: 2b00 cmp r3, #0 - b674: d00a beq.n b68c - b676: aa1e add r2, sp, #120 ; 0x78 - b678: 88d0 ldrh r0, [r2, #6] - b67a: 464b mov r3, r9 - b67c: 885b ldrh r3, [r3, #2] - b67e: 1c19 adds r1, r3, #0 - b680: b21b sxth r3, r3 - b682: b204 sxth r4, r0 - b684: 42a3 cmp r3, r4 - b686: dd00 ble.n b68a - b688: 1c01 adds r1, r0, #0 - b68a: 80d1 strh r1, [r2, #6] + b6d8: 9b08 ldr r3, [sp, #32] + b6da: 2b00 cmp r3, #0 + b6dc: d00a beq.n b6f4 + b6de: aa1e add r2, sp, #120 ; 0x78 + b6e0: 88d0 ldrh r0, [r2, #6] + b6e2: 464b mov r3, r9 + b6e4: 885b ldrh r3, [r3, #2] + b6e6: 1c19 adds r1, r3, #0 + b6e8: b21b sxth r3, r3 + b6ea: b204 sxth r4, r0 + b6ec: 42a3 cmp r3, r4 + b6ee: dd00 ble.n b6f2 + b6f0: 1c01 adds r1, r0, #0 + b6f2: 80d1 strh r1, [r2, #6] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b68c: aa1e add r2, sp, #120 ; 0x78 - b68e: 8893 ldrh r3, [r2, #4] - b690: 3301 adds r3, #1 - b692: 8811 ldrh r1, [r2, #0] - b694: 1a5b subs r3, r3, r1 - b696: b21b sxth r3, r3 - b698: 930b str r3, [sp, #44] ; 0x2c + b6f4: aa1e add r2, sp, #120 ; 0x78 + b6f6: 8893 ldrh r3, [r2, #4] + b6f8: 3301 adds r3, #1 + b6fa: 8811 ldrh r1, [r2, #0] + b6fc: 1a5b subs r3, r3, r1 + b6fe: b21b sxth r3, r3 + b700: 930b str r3, [sp, #44] ; 0x2c return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b69a: 2102 movs r1, #2 - b69c: 5e53 ldrsh r3, [r2, r1] - b69e: 88d4 ldrh r4, [r2, #6] - b6a0: 3401 adds r4, #1 - b6a2: 1ae4 subs r4, r4, r3 - b6a4: b224 sxth r4, r4 + b702: 2102 movs r1, #2 + b704: 5e53 ldrsh r3, [r2, r1] + b706: 88d4 ldrh r4, [r2, #6] + b708: 3401 adds r4, #1 + b70a: 1ae4 subs r4, r4, r3 + b70c: b224 sxth r4, r4 sh_buf_tmp = sh_buf + corner_size - 1; - b6a6: 9909 ldr r1, [sp, #36] ; 0x24 - b6a8: 910c str r1, [sp, #48] ; 0x30 + b70e: 9909 ldr r1, [sp, #36] ; 0x24 + b710: 910c str r1, [sp, #48] ; 0x30 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - b6aa: aa1c add r2, sp, #112 ; 0x70 - b6ac: 2502 movs r5, #2 - b6ae: 5f55 ldrsh r5, [r2, r5] - b6b0: 1b5d subs r5, r3, r5 - b6b2: 434d muls r5, r1 + b712: aa1c add r2, sp, #112 ; 0x70 + b714: 2502 movs r5, #2 + b716: 5f55 ldrsh r5, [r2, r5] + b718: 1b5d subs r5, r3, r5 + b71a: 434d muls r5, r1 sh_buf_tmp = sh_buf + corner_size - 1; - b6b4: 1e4b subs r3, r1, #1 + b71c: 1e4b subs r3, r1, #1 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - b6b6: 18ed adds r5, r5, r3 - b6b8: 9b0e ldr r3, [sp, #56] ; 0x38 - b6ba: 469c mov ip, r3 - b6bc: 4465 add r5, ip - b6be: 2300 movs r3, #0 + b71e: 18ed adds r5, r5, r3 + b720: 9b0e ldr r3, [sp, #56] ; 0x38 + b722: 469c mov ip, r3 + b724: 4465 add r5, ip + b726: 2300 movs r3, #0 *d8 = *s8; - b6c0: a822 add r0, sp, #136 ; 0x88 - b6c2: a91e add r1, sp, #120 ; 0x78 - b6c4: 5c5a ldrb r2, [r3, r1] - b6c6: 541a strb r2, [r3, r0] - b6c8: 3301 adds r3, #1 + b728: a822 add r0, sp, #136 ; 0x88 + b72a: a91e add r1, sp, #120 ; 0x78 + b72c: 5c5a ldrb r2, [r3, r1] + b72e: 541a strb r2, [r3, r0] + b730: 3301 adds r3, #1 while(len) { - b6ca: 2b08 cmp r3, #8 - b6cc: d1fa bne.n b6c4 + b732: 2b08 cmp r3, #8 + b734: d1fa bne.n b72c fa.y2 = fa.y1; - b6ce: ab22 add r3, sp, #136 ; 0x88 - b6d0: 885a ldrh r2, [r3, #2] - b6d2: 80da strh r2, [r3, #6] + b736: ab22 add r3, sp, #136 ; 0x88 + b738: 885a ldrh r2, [r3, #2] + b73a: 80da strh r2, [r3, #6] for(y = 0; y < h; y++) { - b6d4: 2c00 cmp r4, #0 - b6d6: dd42 ble.n b75e - b6d8: 1c63 adds r3, r4, #1 - b6da: 4698 mov r8, r3 - b6dc: 2601 movs r6, #1 + b73c: 2c00 cmp r4, #0 + b73e: dd42 ble.n b7c6 + b740: 1c63 adds r3, r4, #1 + b742: 4698 mov r8, r3 + b744: 2601 movs r6, #1 _lv_memset(mask_buf, opa_tmp, w); - b6de: 4b6a ldr r3, [pc, #424] ; (b888 ) - b6e0: 469a mov sl, r3 + b746: 4b6a ldr r3, [pc, #424] ; (b8f0 ) + b748: 469a mov sl, r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b6e2: ac22 add r4, sp, #136 ; 0x88 - b6e4: 9507 str r5, [sp, #28] - b6e6: 465f mov r7, fp - b6e8: e01e b.n b728 + b74a: ac22 add r4, sp, #136 ; 0x88 + b74c: 9507 str r5, [sp, #28] + b74e: 465f mov r7, fp + b750: e01e b.n b790 if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - b6ea: 9b06 ldr r3, [sp, #24] - b6ec: 2bff cmp r3, #255 ; 0xff - b6ee: d11f bne.n b730 + b752: 9b06 ldr r3, [sp, #24] + b754: 2bff cmp r3, #255 ; 0xff + b756: d11f bne.n b798 lv_opa_t opa_tmp = sh_buf_tmp[0]; - b6f0: 9906 ldr r1, [sp, #24] - b6f2: e020 b.n b736 + b758: 9906 ldr r1, [sp, #24] + b75a: e020 b.n b79e _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - b6f4: 8bfa ldrh r2, [r7, #30] - b6f6: 2329 movs r3, #41 ; 0x29 - b6f8: 5cfb ldrb r3, [r7, r3] - b6fa: 9302 str r3, [sp, #8] - b6fc: 23ff movs r3, #255 ; 0xff - b6fe: 9301 str r3, [sp, #4] - b700: 9000 str r0, [sp, #0] - b702: 9b05 ldr r3, [sp, #20] - b704: 0021 movs r1, r4 - b706: 9804 ldr r0, [sp, #16] - b708: 4d5d ldr r5, [pc, #372] ; (b880 ) - b70a: 47a8 blx r5 + b75c: 8bfa ldrh r2, [r7, #30] + b75e: 2329 movs r3, #41 ; 0x29 + b760: 5cfb ldrb r3, [r7, r3] + b762: 9302 str r3, [sp, #8] + b764: 23ff movs r3, #255 ; 0xff + b766: 9301 str r3, [sp, #4] + b768: 9000 str r0, [sp, #0] + b76a: 9b05 ldr r3, [sp, #20] + b76c: 0021 movs r1, r4 + b76e: 9804 ldr r0, [sp, #16] + b770: 4d5d ldr r5, [pc, #372] ; (b8e8 ) + b772: 47a8 blx r5 fa.y1++; - b70c: 8863 ldrh r3, [r4, #2] - b70e: 3301 adds r3, #1 - b710: 8063 strh r3, [r4, #2] + b774: 8863 ldrh r3, [r4, #2] + b776: 3301 adds r3, #1 + b778: 8063 strh r3, [r4, #2] fa.y2++; - b712: 88e3 ldrh r3, [r4, #6] - b714: 3301 adds r3, #1 - b716: 80e3 strh r3, [r4, #6] + b77a: 88e3 ldrh r3, [r4, #6] + b77c: 3301 adds r3, #1 + b77e: 80e3 strh r3, [r4, #6] sh_buf_tmp += corner_size; - b718: 9b0c ldr r3, [sp, #48] ; 0x30 - b71a: 469c mov ip, r3 - b71c: 9b07 ldr r3, [sp, #28] - b71e: 4463 add r3, ip - b720: 9307 str r3, [sp, #28] - b722: 3601 adds r6, #1 + b780: 9b0c ldr r3, [sp, #48] ; 0x30 + b782: 469c mov ip, r3 + b784: 9b07 ldr r3, [sp, #28] + b786: 4463 add r3, ip + b788: 9307 str r3, [sp, #28] + b78a: 3601 adds r6, #1 for(y = 0; y < h; y++) { - b724: 4546 cmp r6, r8 - b726: d019 beq.n b75c + b78c: 4546 cmp r6, r8 + b78e: d019 beq.n b7c4 lv_opa_t opa_tmp = sh_buf_tmp[0]; - b728: 9b07 ldr r3, [sp, #28] - b72a: 7819 ldrb r1, [r3, #0] + b790: 9b07 ldr r3, [sp, #28] + b792: 7819 ldrb r1, [r3, #0] if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - b72c: 29ff cmp r1, #255 ; 0xff - b72e: d0dc beq.n b6ea - b730: 9b06 ldr r3, [sp, #24] - b732: 4359 muls r1, r3 - b734: 0a09 lsrs r1, r1, #8 + b794: 29ff cmp r1, #255 ; 0xff + b796: d0dc beq.n b752 + b798: 9b06 ldr r3, [sp, #24] + b79a: 4359 muls r1, r3 + b79c: 0a09 lsrs r1, r1, #8 _lv_memset(mask_buf, opa_tmp, w); - b736: 9a0b ldr r2, [sp, #44] ; 0x2c - b738: 9805 ldr r0, [sp, #20] - b73a: 47d0 blx sl + b79e: 9a0b ldr r2, [sp, #44] ; 0x2c + b7a0: 9805 ldr r0, [sp, #20] + b7a2: 47d0 blx sl mask_res = LV_DRAW_MASK_RES_CHANGED; - b73c: 2002 movs r0, #2 + b7a4: 2002 movs r0, #2 if(simple_mode) { - b73e: 9b08 ldr r3, [sp, #32] - b740: 2b00 cmp r3, #0 - b742: d1d7 bne.n b6f4 + b7a6: 9b08 ldr r3, [sp, #32] + b7a8: 2b00 cmp r3, #0 + b7aa: d1d7 bne.n b75c mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b744: 2302 movs r3, #2 - b746: 5ee2 ldrsh r2, [r4, r3] - b748: 2300 movs r3, #0 - b74a: 5ee1 ldrsh r1, [r4, r3] - b74c: 9b0b ldr r3, [sp, #44] ; 0x2c - b74e: 9805 ldr r0, [sp, #20] - b750: 4d4c ldr r5, [pc, #304] ; (b884 ) - b752: 47a8 blx r5 + b7ac: 2302 movs r3, #2 + b7ae: 5ee2 ldrsh r2, [r4, r3] + b7b0: 2300 movs r3, #0 + b7b2: 5ee1 ldrsh r1, [r4, r3] + b7b4: 9b0b ldr r3, [sp, #44] ; 0x2c + b7b6: 9805 ldr r0, [sp, #20] + b7b8: 4d4c ldr r5, [pc, #304] ; (b8ec ) + b7ba: 47a8 blx r5 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b754: 2801 cmp r0, #1 - b756: d1cd bne.n b6f4 - b758: 3001 adds r0, #1 - b75a: e7cb b.n b6f4 - b75c: 46bb mov fp, r7 + b7bc: 2801 cmp r0, #1 + b7be: d1cd bne.n b75c + b7c0: 3001 adds r0, #1 + b7c2: e7cb b.n b75c + b7c4: 46bb mov fp, r7 a.x1 = sh_area.x1 + corner_size; - b75e: a91c add r1, sp, #112 ; 0x70 - b760: ab16 add r3, sp, #88 ; 0x58 - b762: 881a ldrh r2, [r3, #0] - b764: 9c0a ldr r4, [sp, #40] ; 0x28 - b766: 46a4 mov ip, r4 - b768: 4462 add r2, ip - b76a: 800a strh r2, [r1, #0] + b7c6: a91c add r1, sp, #112 ; 0x70 + b7c8: ab16 add r3, sp, #88 ; 0x58 + b7ca: 881a ldrh r2, [r3, #0] + b7cc: 9c0a ldr r4, [sp, #40] ; 0x28 + b7ce: 46a4 mov ip, r4 + b7d0: 4462 add r2, ip + b7d2: 800a strh r2, [r1, #0] a.x2 = sh_area.x2 - corner_size; - b76c: 889a ldrh r2, [r3, #4] - b76e: 1b12 subs r2, r2, r4 - b770: 808a strh r2, [r1, #4] + b7d4: 889a ldrh r2, [r3, #4] + b7d6: 1b12 subs r2, r2, r4 + b7d8: 808a strh r2, [r1, #4] a.y1 = sh_area.y2 - corner_size + 1; - b772: 2206 movs r2, #6 - b774: 5e9a ldrsh r2, [r3, r2] - b776: 1c53 adds r3, r2, #1 - b778: 1b1b subs r3, r3, r4 - b77a: 804b strh r3, [r1, #2] + b7da: 2206 movs r2, #6 + b7dc: 5e9a ldrsh r2, [r3, r2] + b7de: 1c53 adds r3, r2, #1 + b7e0: 1b1b subs r3, r3, r4 + b7e2: 804b strh r3, [r1, #2] a.y2 = sh_area.y2; - b77c: 80ca strh r2, [r1, #6] + b7e4: 80ca strh r2, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b77e: 9a04 ldr r2, [sp, #16] - b780: a81e add r0, sp, #120 ; 0x78 - b782: 4b3d ldr r3, [pc, #244] ; (b878 ) - b784: 4798 blx r3 + b7e6: 9a04 ldr r2, [sp, #16] + b7e8: a81e add r0, sp, #120 ; 0x78 + b7ea: 4b3d ldr r3, [pc, #244] ; (b8e0 ) + b7ec: 4798 blx r3 if(has_com) { - b786: 2800 cmp r0, #0 - b788: d100 bne.n b78c - b78a: e081 b.n b890 + b7ee: 2800 cmp r0, #0 + b7f0: d100 bne.n b7f4 + b7f2: e081 b.n b8f8 if(simple_mode) ca.y1 = LV_MATH_MAX(ca.y1, coords->y2); - b78c: 9b08 ldr r3, [sp, #32] - b78e: 2b00 cmp r3, #0 - b790: d00a beq.n b7a8 - b792: aa1e add r2, sp, #120 ; 0x78 - b794: 8850 ldrh r0, [r2, #2] - b796: 464b mov r3, r9 - b798: 88db ldrh r3, [r3, #6] - b79a: 1c19 adds r1, r3, #0 - b79c: b21b sxth r3, r3 - b79e: b204 sxth r4, r0 - b7a0: 42a3 cmp r3, r4 - b7a2: da00 bge.n b7a6 - b7a4: 1c01 adds r1, r0, #0 - b7a6: 8051 strh r1, [r2, #2] + b7f4: 9b08 ldr r3, [sp, #32] + b7f6: 2b00 cmp r3, #0 + b7f8: d00a beq.n b810 + b7fa: aa1e add r2, sp, #120 ; 0x78 + b7fc: 8850 ldrh r0, [r2, #2] + b7fe: 464b mov r3, r9 + b800: 88db ldrh r3, [r3, #6] + b802: 1c19 adds r1, r3, #0 + b804: b21b sxth r3, r3 + b806: b204 sxth r4, r0 + b808: 42a3 cmp r3, r4 + b80a: da00 bge.n b80e + b80c: 1c01 adds r1, r0, #0 + b80e: 8051 strh r1, [r2, #2] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b7a8: aa1e add r2, sp, #120 ; 0x78 - b7aa: 8893 ldrh r3, [r2, #4] - b7ac: 3301 adds r3, #1 - b7ae: 8811 ldrh r1, [r2, #0] - b7b0: 1a5b subs r3, r3, r1 - b7b2: b21b sxth r3, r3 - b7b4: 930b str r3, [sp, #44] ; 0x2c + b810: aa1e add r2, sp, #120 ; 0x78 + b812: 8893 ldrh r3, [r2, #4] + b814: 3301 adds r3, #1 + b816: 8811 ldrh r1, [r2, #0] + b818: 1a5b subs r3, r3, r1 + b81a: b21b sxth r3, r3 + b81c: 930b str r3, [sp, #44] ; 0x2c return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b7b6: 2106 movs r1, #6 - b7b8: 5e53 ldrsh r3, [r2, r1] - b7ba: 1c5c adds r4, r3, #1 - b7bc: 8852 ldrh r2, [r2, #2] - b7be: 1aa4 subs r4, r4, r2 - b7c0: b224 sxth r4, r4 + b81e: 2106 movs r1, #6 + b820: 5e53 ldrsh r3, [r2, r1] + b822: 1c5c adds r4, r3, #1 + b824: 8852 ldrh r2, [r2, #2] + b826: 1aa4 subs r4, r4, r2 + b828: b224 sxth r4, r4 sh_buf_tmp = sh_buf + corner_size - 1; - b7c2: 9909 ldr r1, [sp, #36] ; 0x24 + b82a: 9909 ldr r1, [sp, #36] ; 0x24 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - b7c4: aa1c add r2, sp, #112 ; 0x70 - b7c6: 2506 movs r5, #6 - b7c8: 5f55 ldrsh r5, [r2, r5] - b7ca: 1aed subs r5, r5, r3 - b7cc: 434d muls r5, r1 + b82c: aa1c add r2, sp, #112 ; 0x70 + b82e: 2506 movs r5, #6 + b830: 5f55 ldrsh r5, [r2, r5] + b832: 1aed subs r5, r5, r3 + b834: 434d muls r5, r1 sh_buf_tmp = sh_buf + corner_size - 1; - b7ce: 1e4b subs r3, r1, #1 + b836: 1e4b subs r3, r1, #1 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - b7d0: 18ed adds r5, r5, r3 - b7d2: 9b0e ldr r3, [sp, #56] ; 0x38 - b7d4: 469c mov ip, r3 - b7d6: 4465 add r5, ip - b7d8: 2300 movs r3, #0 + b838: 18ed adds r5, r5, r3 + b83a: 9b0e ldr r3, [sp, #56] ; 0x38 + b83c: 469c mov ip, r3 + b83e: 4465 add r5, ip + b840: 2300 movs r3, #0 *d8 = *s8; - b7da: a822 add r0, sp, #136 ; 0x88 - b7dc: a91e add r1, sp, #120 ; 0x78 - b7de: 5c5a ldrb r2, [r3, r1] - b7e0: 541a strb r2, [r3, r0] - b7e2: 3301 adds r3, #1 + b842: a822 add r0, sp, #136 ; 0x88 + b844: a91e add r1, sp, #120 ; 0x78 + b846: 5c5a ldrb r2, [r3, r1] + b848: 541a strb r2, [r3, r0] + b84a: 3301 adds r3, #1 while(len) { - b7e4: 2b08 cmp r3, #8 - b7e6: d1fa bne.n b7de + b84c: 2b08 cmp r3, #8 + b84e: d1fa bne.n b846 fa.y1 = fa.y2; - b7e8: ab22 add r3, sp, #136 ; 0x88 - b7ea: 88da ldrh r2, [r3, #6] - b7ec: 805a strh r2, [r3, #2] + b850: ab22 add r3, sp, #136 ; 0x88 + b852: 88da ldrh r2, [r3, #6] + b854: 805a strh r2, [r3, #2] for(y = 0; y < h; y++) { - b7ee: 2c00 cmp r4, #0 - b7f0: dd4e ble.n b890 - b7f2: 1c63 adds r3, r4, #1 - b7f4: 4698 mov r8, r3 - b7f6: 2601 movs r6, #1 + b856: 2c00 cmp r4, #0 + b858: dd4e ble.n b8f8 + b85a: 1c63 adds r3, r4, #1 + b85c: 4698 mov r8, r3 + b85e: 2601 movs r6, #1 _lv_memset(mask_buf, opa_tmp, w); - b7f8: 4b23 ldr r3, [pc, #140] ; (b888 ) - b7fa: 469a mov sl, r3 + b860: 4b23 ldr r3, [pc, #140] ; (b8f0 ) + b862: 469a mov sl, r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b7fc: ac22 add r4, sp, #136 ; 0x88 - b7fe: 9507 str r5, [sp, #28] - b800: 465f mov r7, fp - b802: 46cb mov fp, r9 - b804: e01e b.n b844 + b864: ac22 add r4, sp, #136 ; 0x88 + b866: 9507 str r5, [sp, #28] + b868: 465f mov r7, fp + b86a: 46cb mov fp, r9 + b86c: e01e b.n b8ac if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - b806: 9b06 ldr r3, [sp, #24] - b808: 2bff cmp r3, #255 ; 0xff - b80a: d11f bne.n b84c + b86e: 9b06 ldr r3, [sp, #24] + b870: 2bff cmp r3, #255 ; 0xff + b872: d11f bne.n b8b4 lv_opa_t opa_tmp = sh_buf_tmp[0]; - b80c: 9906 ldr r1, [sp, #24] - b80e: e020 b.n b852 + b874: 9906 ldr r1, [sp, #24] + b876: e020 b.n b8ba _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - b810: 8bfa ldrh r2, [r7, #30] - b812: 2329 movs r3, #41 ; 0x29 - b814: 5cfb ldrb r3, [r7, r3] - b816: 9302 str r3, [sp, #8] - b818: 23ff movs r3, #255 ; 0xff - b81a: 9301 str r3, [sp, #4] - b81c: 9000 str r0, [sp, #0] - b81e: 9b05 ldr r3, [sp, #20] - b820: 0021 movs r1, r4 - b822: 9804 ldr r0, [sp, #16] - b824: 4d16 ldr r5, [pc, #88] ; (b880 ) - b826: 47a8 blx r5 + b878: 8bfa ldrh r2, [r7, #30] + b87a: 2329 movs r3, #41 ; 0x29 + b87c: 5cfb ldrb r3, [r7, r3] + b87e: 9302 str r3, [sp, #8] + b880: 23ff movs r3, #255 ; 0xff + b882: 9301 str r3, [sp, #4] + b884: 9000 str r0, [sp, #0] + b886: 9b05 ldr r3, [sp, #20] + b888: 0021 movs r1, r4 + b88a: 9804 ldr r0, [sp, #16] + b88c: 4d16 ldr r5, [pc, #88] ; (b8e8 ) + b88e: 47a8 blx r5 fa.y1--; - b828: 8863 ldrh r3, [r4, #2] - b82a: 3b01 subs r3, #1 - b82c: 8063 strh r3, [r4, #2] + b890: 8863 ldrh r3, [r4, #2] + b892: 3b01 subs r3, #1 + b894: 8063 strh r3, [r4, #2] fa.y2--; - b82e: 88e3 ldrh r3, [r4, #6] - b830: 3b01 subs r3, #1 - b832: 80e3 strh r3, [r4, #6] + b896: 88e3 ldrh r3, [r4, #6] + b898: 3b01 subs r3, #1 + b89a: 80e3 strh r3, [r4, #6] sh_buf_tmp += corner_size; - b834: 9b09 ldr r3, [sp, #36] ; 0x24 - b836: 469c mov ip, r3 - b838: 9b07 ldr r3, [sp, #28] - b83a: 4463 add r3, ip - b83c: 9307 str r3, [sp, #28] - b83e: 3601 adds r6, #1 + b89c: 9b09 ldr r3, [sp, #36] ; 0x24 + b89e: 469c mov ip, r3 + b8a0: 9b07 ldr r3, [sp, #28] + b8a2: 4463 add r3, ip + b8a4: 9307 str r3, [sp, #28] + b8a6: 3601 adds r6, #1 for(y = 0; y < h; y++) { - b840: 45b0 cmp r8, r6 - b842: d023 beq.n b88c + b8a8: 45b0 cmp r8, r6 + b8aa: d023 beq.n b8f4 lv_opa_t opa_tmp = sh_buf_tmp[0]; - b844: 9b07 ldr r3, [sp, #28] - b846: 7819 ldrb r1, [r3, #0] + b8ac: 9b07 ldr r3, [sp, #28] + b8ae: 7819 ldrb r1, [r3, #0] if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - b848: 29ff cmp r1, #255 ; 0xff - b84a: d0dc beq.n b806 - b84c: 9b06 ldr r3, [sp, #24] - b84e: 4359 muls r1, r3 - b850: 0a09 lsrs r1, r1, #8 + b8b0: 29ff cmp r1, #255 ; 0xff + b8b2: d0dc beq.n b86e + b8b4: 9b06 ldr r3, [sp, #24] + b8b6: 4359 muls r1, r3 + b8b8: 0a09 lsrs r1, r1, #8 _lv_memset(mask_buf, opa_tmp, w); - b852: 9a0b ldr r2, [sp, #44] ; 0x2c - b854: 9805 ldr r0, [sp, #20] - b856: 47d0 blx sl + b8ba: 9a0b ldr r2, [sp, #44] ; 0x2c + b8bc: 9805 ldr r0, [sp, #20] + b8be: 47d0 blx sl mask_res = LV_DRAW_MASK_RES_CHANGED; - b858: 2002 movs r0, #2 + b8c0: 2002 movs r0, #2 if(simple_mode) { - b85a: 9b08 ldr r3, [sp, #32] - b85c: 2b00 cmp r3, #0 - b85e: d1d7 bne.n b810 + b8c2: 9b08 ldr r3, [sp, #32] + b8c4: 2b00 cmp r3, #0 + b8c6: d1d7 bne.n b878 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b860: 2302 movs r3, #2 - b862: 5ee2 ldrsh r2, [r4, r3] - b864: 2300 movs r3, #0 - b866: 5ee1 ldrsh r1, [r4, r3] - b868: 9b0b ldr r3, [sp, #44] ; 0x2c - b86a: 9805 ldr r0, [sp, #20] - b86c: 4d05 ldr r5, [pc, #20] ; (b884 ) - b86e: 47a8 blx r5 + b8c8: 2302 movs r3, #2 + b8ca: 5ee2 ldrsh r2, [r4, r3] + b8cc: 2300 movs r3, #0 + b8ce: 5ee1 ldrsh r1, [r4, r3] + b8d0: 9b0b ldr r3, [sp, #44] ; 0x2c + b8d2: 9805 ldr r0, [sp, #20] + b8d4: 4d05 ldr r5, [pc, #20] ; (b8ec ) + b8d6: 47a8 blx r5 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b870: 2801 cmp r0, #1 - b872: d1cd bne.n b810 - b874: 3001 adds r0, #1 - b876: e7cb b.n b810 - b878: 0000fba7 .word 0x0000fba7 - b87c: 00010c25 .word 0x00010c25 - b880: 00005c05 .word 0x00005c05 - b884: 0000a5bd .word 0x0000a5bd - b888: 00010f45 .word 0x00010f45 - b88c: 46d9 mov r9, fp - b88e: 46bb mov fp, r7 + b8d8: 2801 cmp r0, #1 + b8da: d1cd bne.n b878 + b8dc: 3001 adds r0, #1 + b8de: e7cb b.n b878 + b8e0: 0000fc0f .word 0x0000fc0f + b8e4: 00010c8d .word 0x00010c8d + b8e8: 00005c6d .word 0x00005c6d + b8ec: 0000a625 .word 0x0000a625 + b8f0: 00010fad .word 0x00010fad + b8f4: 46d9 mov r9, fp + b8f6: 46bb mov fp, r7 a.x1 = sh_area.x1 + corner_size; - b890: a91c add r1, sp, #112 ; 0x70 - b892: ab16 add r3, sp, #88 ; 0x58 - b894: 881a ldrh r2, [r3, #0] - b896: 9c0a ldr r4, [sp, #40] ; 0x28 - b898: 46a4 mov ip, r4 - b89a: 4462 add r2, ip - b89c: 800a strh r2, [r1, #0] + b8f8: a91c add r1, sp, #112 ; 0x70 + b8fa: ab16 add r3, sp, #88 ; 0x58 + b8fc: 881a ldrh r2, [r3, #0] + b8fe: 9c0a ldr r4, [sp, #40] ; 0x28 + b900: 46a4 mov ip, r4 + b902: 4462 add r2, ip + b904: 800a strh r2, [r1, #0] a.x2 = sh_area.x2 - corner_size; - b89e: 889a ldrh r2, [r3, #4] - b8a0: 1b12 subs r2, r2, r4 - b8a2: 808a strh r2, [r1, #4] + b906: 889a ldrh r2, [r3, #4] + b908: 1b12 subs r2, r2, r4 + b90a: 808a strh r2, [r1, #4] a.y1 = sh_area.y1 + corner_size; - b8a4: 885a ldrh r2, [r3, #2] - b8a6: 4462 add r2, ip - b8a8: 804a strh r2, [r1, #2] + b90c: 885a ldrh r2, [r3, #2] + b90e: 4462 add r2, ip + b910: 804a strh r2, [r1, #2] a.y2 = sh_area.y2 - corner_size; - b8aa: 88db ldrh r3, [r3, #6] - b8ac: 1b1b subs r3, r3, r4 - b8ae: 80cb strh r3, [r1, #6] + b912: 88db ldrh r3, [r3, #6] + b914: 1b1b subs r3, r3, r4 + b916: 80cb strh r3, [r1, #6] has_com = _lv_area_intersect(&ca, &a, clip); - b8b0: 9a04 ldr r2, [sp, #16] - b8b2: a81e add r0, sp, #120 ; 0x78 - b8b4: 4bc4 ldr r3, [pc, #784] ; (bbc8 ) - b8b6: 4798 blx r3 + b918: 9a04 ldr r2, [sp, #16] + b91a: a81e add r0, sp, #120 ; 0x78 + b91c: 4bc4 ldr r3, [pc, #784] ; (bc30 ) + b91e: 4798 blx r3 if(has_com && simple_mode == false) { - b8b8: 2800 cmp r0, #0 - b8ba: d04c beq.n b956 - b8bc: 9b08 ldr r3, [sp, #32] - b8be: 2b00 cmp r3, #0 - b8c0: d149 bne.n b956 + b920: 2800 cmp r0, #0 + b922: d04c beq.n b9be + b924: 9b08 ldr r3, [sp, #32] + b926: 2b00 cmp r3, #0 + b928: d149 bne.n b9be return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - b8c2: aa1e add r2, sp, #120 ; 0x78 - b8c4: 8893 ldrh r3, [r2, #4] - b8c6: 3301 adds r3, #1 - b8c8: 8811 ldrh r1, [r2, #0] - b8ca: 1a5b subs r3, r3, r1 - b8cc: b21b sxth r3, r3 - b8ce: 9306 str r3, [sp, #24] + b92a: aa1e add r2, sp, #120 ; 0x78 + b92c: 8893 ldrh r3, [r2, #4] + b92e: 3301 adds r3, #1 + b930: 8811 ldrh r1, [r2, #0] + b932: 1a5b subs r3, r3, r1 + b934: b21b sxth r3, r3 + b936: 9306 str r3, [sp, #24] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b8d0: 88d7 ldrh r7, [r2, #6] - b8d2: 3701 adds r7, #1 - b8d4: 8853 ldrh r3, [r2, #2] - b8d6: 1aff subs r7, r7, r3 - b8d8: b23f sxth r7, r7 - b8da: 2300 movs r3, #0 + b938: 88d7 ldrh r7, [r2, #6] + b93a: 3701 adds r7, #1 + b93c: 8853 ldrh r3, [r2, #2] + b93e: 1aff subs r7, r7, r3 + b940: b23f sxth r7, r7 + b942: 2300 movs r3, #0 *d8 = *s8; - b8dc: a822 add r0, sp, #136 ; 0x88 - b8de: 0011 movs r1, r2 - b8e0: 5c5a ldrb r2, [r3, r1] - b8e2: 541a strb r2, [r3, r0] - b8e4: 3301 adds r3, #1 + b944: a822 add r0, sp, #136 ; 0x88 + b946: 0011 movs r1, r2 + b948: 5c5a ldrb r2, [r3, r1] + b94a: 541a strb r2, [r3, r0] + b94c: 3301 adds r3, #1 while(len) { - b8e6: 2b08 cmp r3, #8 - b8e8: d1fa bne.n b8e0 + b94e: 2b08 cmp r3, #8 + b950: d1fa bne.n b948 fa.y2 = fa.y1; - b8ea: ab22 add r3, sp, #136 ; 0x88 - b8ec: 885a ldrh r2, [r3, #2] - b8ee: 80da strh r2, [r3, #6] + b952: ab22 add r3, sp, #136 ; 0x88 + b954: 885a ldrh r2, [r3, #2] + b956: 80da strh r2, [r3, #6] for(y = 0; y < h; y++) { - b8f0: 2f00 cmp r7, #0 - b8f2: dd30 ble.n b956 - b8f4: 3701 adds r7, #1 - b8f6: 2501 movs r5, #1 + b958: 2f00 cmp r7, #0 + b95a: dd30 ble.n b9be + b95c: 3701 adds r7, #1 + b95e: 2501 movs r5, #1 _lv_memset(mask_buf, dsc->shadow_opa, w); - b8f8: 4bb4 ldr r3, [pc, #720] ; (bbcc ) - b8fa: 469a mov sl, r3 + b960: 4bb4 ldr r3, [pc, #720] ; (bc34 ) + b962: 469a mov sl, r3 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b8fc: ac22 add r4, sp, #136 ; 0x88 - b8fe: 4bb4 ldr r3, [pc, #720] ; (bbd0 ) - b900: 4698 mov r8, r3 - b902: 465e mov r6, fp - b904: 46bb mov fp, r7 - b906: e014 b.n b932 + b964: ac22 add r4, sp, #136 ; 0x88 + b966: 4bb4 ldr r3, [pc, #720] ; (bc38 ) + b968: 4698 mov r8, r3 + b96a: 465e mov r6, fp + b96c: 46bb mov fp, r7 + b96e: e014 b.n b99a _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - b908: 8bf2 ldrh r2, [r6, #30] - b90a: 2329 movs r3, #41 ; 0x29 - b90c: 5cf3 ldrb r3, [r6, r3] - b90e: 9302 str r3, [sp, #8] - b910: 23ff movs r3, #255 ; 0xff - b912: 9301 str r3, [sp, #4] - b914: 9000 str r0, [sp, #0] - b916: 9b05 ldr r3, [sp, #20] - b918: 0021 movs r1, r4 - b91a: 9804 ldr r0, [sp, #16] - b91c: 4fad ldr r7, [pc, #692] ; (bbd4 ) - b91e: 47b8 blx r7 + b970: 8bf2 ldrh r2, [r6, #30] + b972: 2329 movs r3, #41 ; 0x29 + b974: 5cf3 ldrb r3, [r6, r3] + b976: 9302 str r3, [sp, #8] + b978: 23ff movs r3, #255 ; 0xff + b97a: 9301 str r3, [sp, #4] + b97c: 9000 str r0, [sp, #0] + b97e: 9b05 ldr r3, [sp, #20] + b980: 0021 movs r1, r4 + b982: 9804 ldr r0, [sp, #16] + b984: 4fad ldr r7, [pc, #692] ; (bc3c ) + b986: 47b8 blx r7 fa.y1++; - b920: 8863 ldrh r3, [r4, #2] - b922: 3301 adds r3, #1 - b924: 8063 strh r3, [r4, #2] + b988: 8863 ldrh r3, [r4, #2] + b98a: 3301 adds r3, #1 + b98c: 8063 strh r3, [r4, #2] fa.y2++; - b926: 88e3 ldrh r3, [r4, #6] - b928: 3301 adds r3, #1 - b92a: 80e3 strh r3, [r4, #6] - b92c: 3501 adds r5, #1 + b98e: 88e3 ldrh r3, [r4, #6] + b990: 3301 adds r3, #1 + b992: 80e3 strh r3, [r4, #6] + b994: 3501 adds r5, #1 for(y = 0; y < h; y++) { - b92e: 45ab cmp fp, r5 - b930: d010 beq.n b954 + b996: 45ab cmp fp, r5 + b998: d010 beq.n b9bc _lv_memset(mask_buf, dsc->shadow_opa, w); - b932: 2328 movs r3, #40 ; 0x28 - b934: 5cf1 ldrb r1, [r6, r3] - b936: 9a06 ldr r2, [sp, #24] - b938: 9f05 ldr r7, [sp, #20] - b93a: 0038 movs r0, r7 - b93c: 47d0 blx sl + b99a: 2328 movs r3, #40 ; 0x28 + b99c: 5cf1 ldrb r1, [r6, r3] + b99e: 9a06 ldr r2, [sp, #24] + b9a0: 9f05 ldr r7, [sp, #20] + b9a2: 0038 movs r0, r7 + b9a4: 47d0 blx sl mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - b93e: 2102 movs r1, #2 - b940: 5e62 ldrsh r2, [r4, r1] - b942: 2000 movs r0, #0 - b944: 5e21 ldrsh r1, [r4, r0] - b946: 9b06 ldr r3, [sp, #24] - b948: 0038 movs r0, r7 - b94a: 47c0 blx r8 + b9a6: 2102 movs r1, #2 + b9a8: 5e62 ldrsh r2, [r4, r1] + b9aa: 2000 movs r0, #0 + b9ac: 5e21 ldrsh r1, [r4, r0] + b9ae: 9b06 ldr r3, [sp, #24] + b9b0: 0038 movs r0, r7 + b9b2: 47c0 blx r8 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - b94c: 2801 cmp r0, #1 - b94e: d1db bne.n b908 - b950: 3001 adds r0, #1 - b952: e7d9 b.n b908 - b954: 46b3 mov fp, r6 + b9b4: 2801 cmp r0, #1 + b9b6: d1db bne.n b970 + b9b8: 3001 adds r0, #1 + b9ba: e7d9 b.n b970 + b9bc: 46b3 mov fp, r6 lv_draw_mask_remove_id(mask_rout_id); - b956: 980f ldr r0, [sp, #60] ; 0x3c - b958: 4b9f ldr r3, [pc, #636] ; (bbd8 ) - b95a: 4798 blx r3 + b9be: 980f ldr r0, [sp, #60] ; 0x3c + b9c0: 4b9f ldr r3, [pc, #636] ; (bc40 ) + b9c2: 4798 blx r3 _lv_mem_buf_release(mask_buf); - b95c: 9805 ldr r0, [sp, #20] - b95e: 4c9f ldr r4, [pc, #636] ; (bbdc ) - b960: 47a0 blx r4 + b9c4: 9805 ldr r0, [sp, #20] + b9c6: 4c9f ldr r4, [pc, #636] ; (bc44 ) + b9c8: 47a0 blx r4 _lv_mem_buf_release(sh_buf); - b962: 980e ldr r0, [sp, #56] ; 0x38 - b964: 47a0 blx r4 + b9ca: 980e ldr r0, [sp, #56] ; 0x38 + b9cc: 47a0 blx r4 if(dsc->bg_opa <= LV_OPA_MIN) return; - b966: 465b mov r3, fp - b968: 7b1b ldrb r3, [r3, #12] - b96a: 469a mov sl, r3 - b96c: 2b05 cmp r3, #5 - b96e: d93f bls.n b9f0 - b970: 2300 movs r3, #0 + b9ce: 465b mov r3, fp + b9d0: 7b1b ldrb r3, [r3, #12] + b9d2: 469a mov sl, r3 + b9d4: 2b05 cmp r3, #5 + b9d6: d93f bls.n ba58 + b9d8: 2300 movs r3, #0 *d8 = *s8; - b972: a91a add r1, sp, #104 ; 0x68 - b974: 4648 mov r0, r9 - b976: 5cc2 ldrb r2, [r0, r3] - b978: 545a strb r2, [r3, r1] - b97a: 3301 adds r3, #1 + b9da: a91a add r1, sp, #104 ; 0x68 + b9dc: 4648 mov r0, r9 + b9de: 5cc2 ldrb r2, [r0, r3] + b9e0: 545a strb r2, [r3, r1] + b9e2: 3301 adds r3, #1 while(len) { - b97c: 2b08 cmp r3, #8 - b97e: d1fa bne.n b976 - b980: 4681 mov r9, r0 + b9e4: 2b08 cmp r3, #8 + b9e6: d1fa bne.n b9de + b9e8: 4681 mov r9, r0 if(dsc->border_width > 1 && dsc->border_opa >= LV_OPA_MAX && dsc->radius != 0) { - b982: 465b mov r3, fp - b984: 2210 movs r2, #16 - b986: 5e9b ldrsh r3, [r3, r2] - b988: 2b01 cmp r3, #1 - b98a: dd1f ble.n b9cc - b98c: 465b mov r3, fp - b98e: 7d1b ldrb r3, [r3, #20] - b990: 2bf9 cmp r3, #249 ; 0xf9 - b992: d91b bls.n b9cc - b994: 465b mov r3, fp - b996: 2200 movs r2, #0 - b998: 5e9b ldrsh r3, [r3, r2] - b99a: 2b00 cmp r3, #0 - b99c: d016 beq.n b9cc + b9ea: 465b mov r3, fp + b9ec: 2210 movs r2, #16 + b9ee: 5e9b ldrsh r3, [r3, r2] + b9f0: 2b01 cmp r3, #1 + b9f2: dd1f ble.n ba34 + b9f4: 465b mov r3, fp + b9f6: 7d1b ldrb r3, [r3, #20] + b9f8: 2bf9 cmp r3, #249 ; 0xf9 + b9fa: d91b bls.n ba34 + b9fc: 465b mov r3, fp + b9fe: 2200 movs r2, #0 + ba00: 5e9b ldrsh r3, [r3, r2] + ba02: 2b00 cmp r3, #0 + ba04: d016 beq.n ba34 coords_bg.x1 += (dsc->border_side & LV_BORDER_SIDE_LEFT) ? 1 : 0; - b99e: 465b mov r3, fp - b9a0: 8a58 ldrh r0, [r3, #18] - b9a2: ab1a add r3, sp, #104 ; 0x68 - b9a4: 0881 lsrs r1, r0, #2 - b9a6: 2201 movs r2, #1 - b9a8: 4011 ands r1, r2 - b9aa: 881c ldrh r4, [r3, #0] - b9ac: 1909 adds r1, r1, r4 - b9ae: 8019 strh r1, [r3, #0] + ba06: 465b mov r3, fp + ba08: 8a58 ldrh r0, [r3, #18] + ba0a: ab1a add r3, sp, #104 ; 0x68 + ba0c: 0881 lsrs r1, r0, #2 + ba0e: 2201 movs r2, #1 + ba10: 4011 ands r1, r2 + ba12: 881c ldrh r4, [r3, #0] + ba14: 1909 adds r1, r1, r4 + ba16: 8019 strh r1, [r3, #0] coords_bg.y1 += (dsc->border_side & LV_BORDER_SIDE_TOP) ? 1 : 0; - b9b0: 0841 lsrs r1, r0, #1 - b9b2: 4011 ands r1, r2 - b9b4: 885c ldrh r4, [r3, #2] - b9b6: 1909 adds r1, r1, r4 - b9b8: 8059 strh r1, [r3, #2] + ba18: 0841 lsrs r1, r0, #1 + ba1a: 4011 ands r1, r2 + ba1c: 885c ldrh r4, [r3, #2] + ba1e: 1909 adds r1, r1, r4 + ba20: 8059 strh r1, [r3, #2] coords_bg.x2 -= (dsc->border_side & LV_BORDER_SIDE_RIGHT) ? 1 : 0; - b9ba: 08c4 lsrs r4, r0, #3 - b9bc: 4014 ands r4, r2 - b9be: 8899 ldrh r1, [r3, #4] - b9c0: 1b09 subs r1, r1, r4 - b9c2: 8099 strh r1, [r3, #4] + ba22: 08c4 lsrs r4, r0, #3 + ba24: 4014 ands r4, r2 + ba26: 8899 ldrh r1, [r3, #4] + ba28: 1b09 subs r1, r1, r4 + ba2a: 8099 strh r1, [r3, #4] coords_bg.y2 -= (dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? 1 : 0; - b9c4: 4002 ands r2, r0 - b9c6: 88d9 ldrh r1, [r3, #6] - b9c8: 1a8a subs r2, r1, r2 - b9ca: 80da strh r2, [r3, #6] + ba2c: 4002 ands r2, r0 + ba2e: 88d9 ldrh r1, [r3, #6] + ba30: 1a8a subs r2, r1, r2 + ba32: 80da strh r2, [r3, #6] if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - b9cc: 4653 mov r3, sl - b9ce: 2bfa cmp r3, #250 ; 0xfa - b9d0: d901 bls.n b9d6 - b9d2: 23ff movs r3, #255 ; 0xff - b9d4: 469a mov sl, r3 + ba34: 4653 mov r3, sl + ba36: 2bfa cmp r3, #250 ; 0xfa + ba38: d901 bls.n ba3e + ba3a: 23ff movs r3, #255 ; 0xff + ba3c: 469a mov sl, r3 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - b9d6: 4b82 ldr r3, [pc, #520] ; (bbe0 ) - b9d8: 4798 blx r3 + ba3e: 4b82 ldr r3, [pc, #520] ; (bc48 ) + ba40: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - b9da: 4b82 ldr r3, [pc, #520] ; (bbe4 ) - b9dc: 4798 blx r3 - b9de: 0007 movs r7, r0 + ba42: 4b82 ldr r3, [pc, #520] ; (bc4c ) + ba44: 4798 blx r3 + ba46: 0007 movs r7, r0 is_common = _lv_area_intersect(&draw_area, &coords_bg, clip); - b9e0: 9a04 ldr r2, [sp, #16] - b9e2: a91a add r1, sp, #104 ; 0x68 - b9e4: a81c add r0, sp, #112 ; 0x70 - b9e6: 4b78 ldr r3, [pc, #480] ; (bbc8 ) - b9e8: 4798 blx r3 + ba48: 9a04 ldr r2, [sp, #16] + ba4a: a91a add r1, sp, #104 ; 0x68 + ba4c: a81c add r0, sp, #112 ; 0x70 + ba4e: 4b78 ldr r3, [pc, #480] ; (bc30 ) + ba50: 4798 blx r3 if(is_common == false) return; - b9ea: 2800 cmp r0, #0 - b9ec: d000 beq.n b9f0 - b9ee: e09d b.n bb2c + ba52: 2800 cmp r0, #0 + ba54: d000 beq.n ba58 + ba56: e09d b.n bb94 _lv_mem_buf_release(mask_buf); } static void draw_pattern(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) { if(dsc->pattern_image == NULL) return; - b9f0: 465b mov r3, fp - b9f2: 6ad8 ldr r0, [r3, #44] ; 0x2c - b9f4: 2800 cmp r0, #0 - b9f6: d006 beq.n ba06 + ba58: 465b mov r3, fp + ba5a: 6ad8 ldr r0, [r3, #44] ; 0x2c + ba5c: 2800 cmp r0, #0 + ba5e: d006 beq.n ba6e if(dsc->pattern_opa <= LV_OPA_MIN) return; - b9f8: 2336 movs r3, #54 ; 0x36 - b9fa: 465a mov r2, fp - b9fc: 5cd3 ldrb r3, [r2, r3] - b9fe: 2b05 cmp r3, #5 - ba00: d901 bls.n ba06 - ba02: f000 fbd7 bl c1b4 + ba60: 2336 movs r3, #54 ; 0x36 + ba62: 465a mov r2, fp + ba64: 5cd3 ldrb r3, [r2, r3] + ba66: 2b05 cmp r3, #5 + ba68: d901 bls.n ba6e + ba6a: f000 fbd7 bl c21c if(dsc->border_opa <= LV_OPA_MIN) return; - ba06: 465b mov r3, fp - ba08: 7d1e ldrb r6, [r3, #20] - ba0a: 2e05 cmp r6, #5 - ba0c: d919 bls.n ba42 + ba6e: 465b mov r3, fp + ba70: 7d1e ldrb r6, [r3, #20] + ba72: 2e05 cmp r6, #5 + ba74: d919 bls.n baaa if(dsc->border_width == 0) return; - ba0e: 2210 movs r2, #16 - ba10: 5e9b ldrsh r3, [r3, r2] - ba12: 2b00 cmp r3, #0 - ba14: d015 beq.n ba42 + ba76: 2210 movs r2, #16 + ba78: 5e9b ldrsh r3, [r3, r2] + ba7a: 2b00 cmp r3, #0 + ba7c: d015 beq.n baaa if(dsc->border_side == LV_BORDER_SIDE_NONE) return; - ba16: 465b mov r3, fp - ba18: 2212 movs r2, #18 - ba1a: 5e9b ldrsh r3, [r3, r2] - ba1c: 2b00 cmp r3, #0 - ba1e: d010 beq.n ba42 + ba7e: 465b mov r3, fp + ba80: 2212 movs r2, #18 + ba82: 5e9b ldrsh r3, [r3, r2] + ba84: 2b00 cmp r3, #0 + ba86: d010 beq.n baaa if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - ba20: 2efa cmp r6, #250 ; 0xfa - ba22: d900 bls.n ba26 - ba24: 26ff movs r6, #255 ; 0xff + ba88: 2efa cmp r6, #250 ; 0xfa + ba8a: d900 bls.n ba8e + ba8c: 26ff movs r6, #255 ; 0xff lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - ba26: 4b6e ldr r3, [pc, #440] ; (bbe0 ) - ba28: 4798 blx r3 + ba8e: 4b6e ldr r3, [pc, #440] ; (bc48 ) + ba90: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - ba2a: 4b6e ldr r3, [pc, #440] ; (bbe4 ) - ba2c: 4798 blx r3 - ba2e: 0007 movs r7, r0 + ba92: 4b6e ldr r3, [pc, #440] ; (bc4c ) + ba94: 4798 blx r3 + ba96: 0007 movs r7, r0 is_common = _lv_area_intersect(&draw_area, coords, clip); - ba30: 9a04 ldr r2, [sp, #16] - ba32: 4649 mov r1, r9 - ba34: a818 add r0, sp, #96 ; 0x60 - ba36: 4b64 ldr r3, [pc, #400] ; (bbc8 ) - ba38: 4798 blx r3 + ba98: 9a04 ldr r2, [sp, #16] + ba9a: 4649 mov r1, r9 + ba9c: a818 add r0, sp, #96 ; 0x60 + ba9e: 4b64 ldr r3, [pc, #400] ; (bc30 ) + baa0: 4798 blx r3 if(is_common == false) return; - ba3a: 2800 cmp r0, #0 - ba3c: d001 beq.n ba42 - ba3e: f000 fd23 bl c488 + baa2: 2800 cmp r0, #0 + baa4: d001 beq.n baaa + baa6: f000 fd23 bl c4f0 } static void draw_value(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) { if(dsc->value_str == NULL) return; - ba42: 465b mov r3, fp - ba44: 6bd9 ldr r1, [r3, #60] ; 0x3c - ba46: 2900 cmp r1, #0 - ba48: d006 beq.n ba58 + baaa: 465b mov r3, fp + baac: 6bd9 ldr r1, [r3, #60] ; 0x3c + baae: 2900 cmp r1, #0 + bab0: d006 beq.n bac0 if(dsc->value_opa <= LV_OPA_MIN) return; - ba4a: 2344 movs r3, #68 ; 0x44 - ba4c: 465a mov r2, fp - ba4e: 5cd3 ldrb r3, [r2, r3] - ba50: 2b05 cmp r3, #5 - ba52: d901 bls.n ba58 - ba54: f001 f838 bl cac8 + bab2: 2344 movs r3, #68 ; 0x44 + bab4: 465a mov r2, fp + bab6: 5cd3 ldrb r3, [r2, r3] + bab8: 2b05 cmp r3, #5 + baba: d901 bls.n bac0 + babc: f001 f838 bl cb30 if(dsc->outline_opa <= LV_OPA_MIN) return; - ba58: 465b mov r3, fp - ba5a: 7f1b ldrb r3, [r3, #28] - ba5c: 4698 mov r8, r3 - ba5e: 2b05 cmp r3, #5 - ba60: d95d bls.n bb1e + bac0: 465b mov r3, fp + bac2: 7f1b ldrb r3, [r3, #28] + bac4: 4698 mov r8, r3 + bac6: 2b05 cmp r3, #5 + bac8: d95d bls.n bb86 if(dsc->outline_width == 0) return; - ba62: 465b mov r3, fp - ba64: 2218 movs r2, #24 - ba66: 5e9b ldrsh r3, [r3, r2] - ba68: 2b00 cmp r3, #0 - ba6a: d058 beq.n bb1e + baca: 465b mov r3, fp + bacc: 2218 movs r2, #24 + bace: 5e9b ldrsh r3, [r3, r2] + bad0: 2b00 cmp r3, #0 + bad2: d058 beq.n bb86 if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - ba6c: 4643 mov r3, r8 - ba6e: 2bfa cmp r3, #250 ; 0xfa - ba70: d901 bls.n ba76 - ba72: 23ff movs r3, #255 ; 0xff - ba74: 4698 mov r8, r3 + bad4: 4643 mov r3, r8 + bad6: 2bfa cmp r3, #250 ; 0xfa + bad8: d901 bls.n bade + bada: 23ff movs r3, #255 ; 0xff + badc: 4698 mov r8, r3 uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - ba76: 4b5c ldr r3, [pc, #368] ; (bbe8 ) - ba78: 4798 blx r3 - ba7a: 900a str r0, [sp, #40] ; 0x28 - ba7c: 2300 movs r3, #0 + bade: 4b5c ldr r3, [pc, #368] ; (bc50 ) + bae0: 4798 blx r3 + bae2: 900a str r0, [sp, #40] ; 0x28 + bae4: 2300 movs r3, #0 *d8 = *s8; - ba7e: a916 add r1, sp, #88 ; 0x58 - ba80: 4648 mov r0, r9 - ba82: 5cc2 ldrb r2, [r0, r3] - ba84: 545a strb r2, [r3, r1] - ba86: 3301 adds r3, #1 + bae6: a916 add r1, sp, #88 ; 0x58 + bae8: 4648 mov r0, r9 + baea: 5cc2 ldrb r2, [r0, r3] + baec: 545a strb r2, [r3, r1] + baee: 3301 adds r3, #1 while(len) { - ba88: 2b08 cmp r3, #8 - ba8a: d1fa bne.n ba82 + baf0: 2b08 cmp r3, #8 + baf2: d1fa bne.n baea area_inner.x1 -= dsc->outline_pad; - ba8c: 465b mov r3, fp - ba8e: 8b5d ldrh r5, [r3, #26] - ba90: ab16 add r3, sp, #88 ; 0x58 - ba92: 881a ldrh r2, [r3, #0] - ba94: 1b52 subs r2, r2, r5 - ba96: b292 uxth r2, r2 - ba98: 4692 mov sl, r2 - ba9a: 801a strh r2, [r3, #0] + baf4: 465b mov r3, fp + baf6: 8b5d ldrh r5, [r3, #26] + baf8: ab16 add r3, sp, #88 ; 0x58 + bafa: 881a ldrh r2, [r3, #0] + bafc: 1b52 subs r2, r2, r5 + bafe: b292 uxth r2, r2 + bb00: 4692 mov sl, r2 + bb02: 801a strh r2, [r3, #0] area_inner.y1 -= dsc->outline_pad; - ba9c: 885a ldrh r2, [r3, #2] - ba9e: 1b52 subs r2, r2, r5 - baa0: b292 uxth r2, r2 - baa2: 9207 str r2, [sp, #28] - baa4: 805a strh r2, [r3, #2] + bb04: 885a ldrh r2, [r3, #2] + bb06: 1b52 subs r2, r2, r5 + bb08: b292 uxth r2, r2 + bb0a: 9207 str r2, [sp, #28] + bb0c: 805a strh r2, [r3, #2] area_inner.x2 += dsc->outline_pad; - baa6: 889f ldrh r7, [r3, #4] - baa8: 19ef adds r7, r5, r7 - baaa: b2bf uxth r7, r7 - baac: 809f strh r7, [r3, #4] + bb0e: 889f ldrh r7, [r3, #4] + bb10: 19ef adds r7, r5, r7 + bb12: b2bf uxth r7, r7 + bb14: 809f strh r7, [r3, #4] area_inner.y2 += dsc->outline_pad; - baae: 88da ldrh r2, [r3, #6] - bab0: 18ad adds r5, r5, r2 - bab2: b2ad uxth r5, r5 - bab4: 80dd strh r5, [r3, #6] + bb16: 88da ldrh r2, [r3, #6] + bb18: 18ad adds r5, r5, r2 + bb1a: b2ad uxth r5, r5 + bb1c: 80dd strh r5, [r3, #6] int32_t rin = dsc->radius; - bab6: 465b mov r3, fp - bab8: 2200 movs r2, #0 - baba: 5e9b ldrsh r3, [r3, r2] - babc: 9306 str r3, [sp, #24] + bb1e: 465b mov r3, fp + bb20: 2200 movs r2, #0 + bb22: 5e9b ldrsh r3, [r3, r2] + bb24: 9306 str r3, [sp, #24] int32_t rout = rin + dsc->outline_width; - babe: 465b mov r3, fp - bac0: 2218 movs r2, #24 - bac2: 5e9b ldrsh r3, [r3, r2] - bac4: 9305 str r3, [sp, #20] - bac6: 2300 movs r3, #0 + bb26: 465b mov r3, fp + bb28: 2218 movs r2, #24 + bb2a: 5e9b ldrsh r3, [r3, r2] + bb2c: 9305 str r3, [sp, #20] + bb2e: 2300 movs r3, #0 *d8 = *s8; - bac8: a818 add r0, sp, #96 ; 0x60 - baca: a916 add r1, sp, #88 ; 0x58 - bacc: 5c5a ldrb r2, [r3, r1] - bace: 541a strb r2, [r3, r0] - bad0: 3301 adds r3, #1 + bb30: a818 add r0, sp, #96 ; 0x60 + bb32: a916 add r1, sp, #88 ; 0x58 + bb34: 5c5a ldrb r2, [r3, r1] + bb36: 541a strb r2, [r3, r0] + bb38: 3301 adds r3, #1 while(len) { - bad2: 2b08 cmp r3, #8 - bad4: d1fa bne.n bacc + bb3a: 2b08 cmp r3, #8 + bb3c: d1fa bne.n bb34 area_outer.x1 -= dsc->outline_width; - bad6: 466b mov r3, sp - bad8: 8a9c ldrh r4, [r3, #20] - bada: ae18 add r6, sp, #96 ; 0x60 - badc: 8833 ldrh r3, [r6, #0] - bade: 1b1b subs r3, r3, r4 - bae0: b29b uxth r3, r3 - bae2: 9308 str r3, [sp, #32] - bae4: 8033 strh r3, [r6, #0] + bb3e: 466b mov r3, sp + bb40: 8a9c ldrh r4, [r3, #20] + bb42: ae18 add r6, sp, #96 ; 0x60 + bb44: 8833 ldrh r3, [r6, #0] + bb46: 1b1b subs r3, r3, r4 + bb48: b29b uxth r3, r3 + bb4a: 9308 str r3, [sp, #32] + bb4c: 8033 strh r3, [r6, #0] area_outer.x2 += dsc->outline_width; - bae6: 88b3 ldrh r3, [r6, #4] - bae8: 18e3 adds r3, r4, r3 - baea: b29b uxth r3, r3 - baec: 9309 str r3, [sp, #36] ; 0x24 - baee: 80b3 strh r3, [r6, #4] + bb4e: 88b3 ldrh r3, [r6, #4] + bb50: 18e3 adds r3, r4, r3 + bb52: b29b uxth r3, r3 + bb54: 9309 str r3, [sp, #36] ; 0x24 + bb56: 80b3 strh r3, [r6, #4] area_outer.y1 -= dsc->outline_width; - baf0: 8873 ldrh r3, [r6, #2] - baf2: 1b1b subs r3, r3, r4 - baf4: b29b uxth r3, r3 - baf6: 930b str r3, [sp, #44] ; 0x2c - baf8: 8073 strh r3, [r6, #2] + bb58: 8873 ldrh r3, [r6, #2] + bb5a: 1b1b subs r3, r3, r4 + bb5c: b29b uxth r3, r3 + bb5e: 930b str r3, [sp, #44] ; 0x2c + bb60: 8073 strh r3, [r6, #2] area_outer.y2 += dsc->outline_width; - bafa: 88f3 ldrh r3, [r6, #6] - bafc: 18e4 adds r4, r4, r3 - bafe: b2a4 uxth r4, r4 - bb00: 80f4 strh r4, [r6, #6] + bb62: 88f3 ldrh r3, [r6, #6] + bb64: 18e4 adds r4, r4, r3 + bb66: b2a4 uxth r4, r4 + bb68: 80f4 strh r4, [r6, #6] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - bb02: 4b37 ldr r3, [pc, #220] ; (bbe0 ) - bb04: 4798 blx r3 + bb6a: 4b37 ldr r3, [pc, #220] ; (bc48 ) + bb6c: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - bb06: 4b37 ldr r3, [pc, #220] ; (bbe4 ) - bb08: 4798 blx r3 - bb0a: 4681 mov r9, r0 + bb6e: 4b37 ldr r3, [pc, #220] ; (bc4c ) + bb70: 4798 blx r3 + bb72: 4681 mov r9, r0 is_common = _lv_area_intersect(&draw_area, &area_outer, clip); - bb0c: 9a04 ldr r2, [sp, #16] - bb0e: 0031 movs r1, r6 - bb10: a81a add r0, sp, #104 ; 0x68 - bb12: 4b2d ldr r3, [pc, #180] ; (bbc8 ) - bb14: 4798 blx r3 + bb74: 9a04 ldr r2, [sp, #16] + bb76: 0031 movs r1, r6 + bb78: a81a add r0, sp, #104 ; 0x68 + bb7a: 4b2d ldr r3, [pc, #180] ; (bc30 ) + bb7c: 4798 blx r3 if(is_common == false) return; - bb16: 2800 cmp r0, #0 - bb18: d001 beq.n bb1e - bb1a: f001 f831 bl cb80 -} - bb1e: b031 add sp, #196 ; 0xc4 - bb20: bc3c pop {r2, r3, r4, r5} - bb22: 4690 mov r8, r2 - bb24: 4699 mov r9, r3 - bb26: 46a2 mov sl, r4 - bb28: 46ab mov fp, r5 - bb2a: bdf0 pop {r4, r5, r6, r7, pc} + bb7e: 2800 cmp r0, #0 + bb80: d001 beq.n bb86 + bb82: f001 f831 bl cbe8 +} + bb86: b031 add sp, #196 ; 0xc4 + bb88: bc3c pop {r2, r3, r4, r5} + bb8a: 4690 mov r8, r2 + bb8c: 4699 mov r9, r3 + bb8e: 46a2 mov sl, r4 + bb90: 46ab mov fp, r5 + bb92: bdf0 pop {r4, r5, r6, r7, pc} draw_area.x1 -= disp_area->x1; - bb2c: 8a38 ldrh r0, [r7, #16] - bb2e: aa1c add r2, sp, #112 ; 0x70 - bb30: 8811 ldrh r1, [r2, #0] - bb32: 1a09 subs r1, r1, r0 - bb34: b289 uxth r1, r1 - bb36: 8011 strh r1, [r2, #0] + bb94: 8a38 ldrh r0, [r7, #16] + bb96: aa1c add r2, sp, #112 ; 0x70 + bb98: 8811 ldrh r1, [r2, #0] + bb9a: 1a09 subs r1, r1, r0 + bb9c: b289 uxth r1, r1 + bb9e: 8011 strh r1, [r2, #0] draw_area.y1 -= disp_area->y1; - bb38: 8a7d ldrh r5, [r7, #18] - bb3a: 8854 ldrh r4, [r2, #2] - bb3c: 1b64 subs r4, r4, r5 - bb3e: 8054 strh r4, [r2, #2] + bba0: 8a7d ldrh r5, [r7, #18] + bba2: 8854 ldrh r4, [r2, #2] + bba4: 1b64 subs r4, r4, r5 + bba6: 8054 strh r4, [r2, #2] draw_area.x2 -= disp_area->x1; - bb40: 8893 ldrh r3, [r2, #4] - bb42: 1a1b subs r3, r3, r0 - bb44: b29b uxth r3, r3 - bb46: 8093 strh r3, [r2, #4] + bba8: 8893 ldrh r3, [r2, #4] + bbaa: 1a1b subs r3, r3, r0 + bbac: b29b uxth r3, r3 + bbae: 8093 strh r3, [r2, #4] draw_area.y2 -= disp_area->y1; - bb48: 88d0 ldrh r0, [r2, #6] - bb4a: 1b40 subs r0, r0, r5 - bb4c: 80d0 strh r0, [r2, #6] + bbb0: 88d0 ldrh r0, [r2, #6] + bbb2: 1b40 subs r0, r0, r5 + bbb4: 80d0 strh r0, [r2, #6] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - bb4e: 3301 adds r3, #1 - bb50: 1a5b subs r3, r3, r1 - bb52: b21b sxth r3, r3 - bb54: 930a str r3, [sp, #40] ; 0x28 + bbb6: 3301 adds r3, #1 + bbb8: 1a5b subs r3, r3, r1 + bbba: b21b sxth r3, r3 + bbbc: 930a str r3, [sp, #40] ; 0x28 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - bb56: 930b str r3, [sp, #44] ; 0x2c - bb58: 0018 movs r0, r3 - bb5a: 4b24 ldr r3, [pc, #144] ; (bbec ) - bb5c: 4798 blx r3 - bb5e: 9006 str r0, [sp, #24] + bbbe: 930b str r3, [sp, #44] ; 0x2c + bbc0: 0018 movs r0, r3 + bbc2: 4b24 ldr r3, [pc, #144] ; (bc54 ) + bbc4: 4798 blx r3 + bbc6: 9006 str r0, [sp, #24] uint16_t other_mask_cnt = lv_draw_mask_get_cnt(); - bb60: 4b21 ldr r3, [pc, #132] ; (bbe8 ) - bb62: 4798 blx r3 - bb64: b283 uxth r3, r0 - bb66: 930c str r3, [sp, #48] ; 0x30 + bbc8: 4b21 ldr r3, [pc, #132] ; (bc50 ) + bbca: 4798 blx r3 + bbcc: b283 uxth r3, r0 + bbce: 930c str r3, [sp, #48] ; 0x30 if(other_mask_cnt) simple_mode = false; - bb68: 2200 movs r2, #0 - bb6a: 9207 str r2, [sp, #28] - bb6c: 2b00 cmp r3, #0 - bb6e: d106 bne.n bb7e + bbd0: 2200 movs r2, #0 + bbd2: 9207 str r2, [sp, #28] + bbd4: 2b00 cmp r3, #0 + bbd6: d106 bne.n bbe6 else if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) simple_mode = false; - bb70: 465b mov r3, fp - bb72: 799b ldrb r3, [r3, #6] - bb74: 3b02 subs r3, #2 - bb76: 1e5a subs r2, r3, #1 - bb78: 4193 sbcs r3, r2 - bb7a: b2db uxtb r3, r3 - bb7c: 9307 str r3, [sp, #28] - bb7e: a91a add r1, sp, #104 ; 0x68 - bb80: 888c ldrh r4, [r1, #4] - bb82: 3401 adds r4, #1 - bb84: 880b ldrh r3, [r1, #0] - bb86: 1ae4 subs r4, r4, r3 - bb88: b224 sxth r4, r4 + bbd8: 465b mov r3, fp + bbda: 799b ldrb r3, [r3, #6] + bbdc: 3b02 subs r3, #2 + bbde: 1e5a subs r2, r3, #1 + bbe0: 4193 sbcs r3, r2 + bbe2: b2db uxtb r3, r3 + bbe4: 9307 str r3, [sp, #28] + bbe6: a91a add r1, sp, #104 ; 0x68 + bbe8: 888c ldrh r4, [r1, #4] + bbea: 3401 adds r4, #1 + bbec: 880b ldrh r3, [r1, #0] + bbee: 1ae4 subs r4, r4, r3 + bbf0: b224 sxth r4, r4 int32_t coords_w = lv_area_get_width(&coords_bg); - bb8a: 0026 movs r6, r4 + bbf2: 0026 movs r6, r4 int32_t rout = dsc->radius; - bb8c: 465b mov r3, fp - bb8e: 2200 movs r2, #0 - bb90: 5e9a ldrsh r2, [r3, r2] + bbf4: 465b mov r3, fp + bbf6: 2200 movs r2, #0 + bbf8: 5e9a ldrsh r2, [r3, r2] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - bb92: 88cb ldrh r3, [r1, #6] - bb94: 3301 adds r3, #1 - bb96: 8849 ldrh r1, [r1, #2] - bb98: 1a5b subs r3, r3, r1 + bbfa: 88cb ldrh r3, [r1, #6] + bbfc: 3301 adds r3, #1 + bbfe: 8849 ldrh r1, [r1, #2] + bc00: 1a5b subs r3, r3, r1 int32_t short_side = LV_MATH_MIN(coords_w, coords_h); - bb9a: b21b sxth r3, r3 - bb9c: 42a3 cmp r3, r4 - bb9e: dd00 ble.n bba2 - bba0: 0023 movs r3, r4 + bc02: b21b sxth r3, r3 + bc04: 42a3 cmp r3, r4 + bc06: dd00 ble.n bc0a + bc08: 0023 movs r3, r4 if(rout > short_side >> 1) rout = short_side >> 1; - bba2: 105b asrs r3, r3, #1 - bba4: 4698 mov r8, r3 - bba6: 4293 cmp r3, r2 - bba8: dd00 ble.n bbac - bbaa: 4690 mov r8, r2 + bc0a: 105b asrs r3, r3, #1 + bc0c: 4698 mov r8, r3 + bc0e: 4293 cmp r3, r2 + bc10: dd00 ble.n bc14 + bc12: 4690 mov r8, r2 if(simple_mode && rout == 0 && (dsc->bg_grad_dir == LV_GRAD_DIR_NONE)) { - bbac: 9b07 ldr r3, [sp, #28] - bbae: 2b00 cmp r3, #0 - bbb0: d02f beq.n bc12 - bbb2: 4643 mov r3, r8 - bbb4: 2b00 cmp r3, #0 - bbb6: d12c bne.n bc12 - bbb8: 465b mov r3, fp - bbba: 799b ldrb r3, [r3, #6] - bbbc: 2b00 cmp r3, #0 - bbbe: d017 beq.n bbf0 + bc14: 9b07 ldr r3, [sp, #28] + bc16: 2b00 cmp r3, #0 + bc18: d02f beq.n bc7a + bc1a: 4643 mov r3, r8 + bc1c: 2b00 cmp r3, #0 + bc1e: d12c bne.n bc7a + bc20: 465b mov r3, fp + bc22: 799b ldrb r3, [r3, #6] + bc24: 2b00 cmp r3, #0 + bc26: d017 beq.n bc58 int16_t mask_rout_id = LV_MASK_ID_INV; - bbc0: 2301 movs r3, #1 - bbc2: 425b negs r3, r3 - bbc4: 930f str r3, [sp, #60] ; 0x3c - bbc6: e033 b.n bc30 - bbc8: 0000fba7 .word 0x0000fba7 - bbcc: 00010f45 .word 0x00010f45 - bbd0: 0000a5bd .word 0x0000a5bd - bbd4: 00005c05 .word 0x00005c05 - bbd8: 0000a611 .word 0x0000a611 - bbdc: 00010b6d .word 0x00010b6d - bbe0: 00004349 .word 0x00004349 - bbe4: 0000f6a1 .word 0x0000f6a1 - bbe8: 0000a659 .word 0x0000a659 - bbec: 00010e59 .word 0x00010e59 + bc28: 2301 movs r3, #1 + bc2a: 425b negs r3, r3 + bc2c: 930f str r3, [sp, #60] ; 0x3c + bc2e: e033 b.n bc98 + bc30: 0000fc0f .word 0x0000fc0f + bc34: 00010fad .word 0x00010fad + bc38: 0000a625 .word 0x0000a625 + bc3c: 00005c6d .word 0x00005c6d + bc40: 0000a679 .word 0x0000a679 + bc44: 00010bd5 .word 0x00010bd5 + bc48: 000043b1 .word 0x000043b1 + bc4c: 0000f709 .word 0x0000f709 + bc50: 0000a6c1 .word 0x0000a6c1 + bc54: 00010ec1 .word 0x00010ec1 _lv_blend_fill(clip, &coords_bg, - bbf0: 465b mov r3, fp - bbf2: 885a ldrh r2, [r3, #2] - bbf4: 7b5b ldrb r3, [r3, #13] - bbf6: 9302 str r3, [sp, #8] - bbf8: 4653 mov r3, sl - bbfa: 9301 str r3, [sp, #4] - bbfc: 2301 movs r3, #1 - bbfe: 9300 str r3, [sp, #0] - bc00: 2300 movs r3, #0 - bc02: a91a add r1, sp, #104 ; 0x68 - bc04: 9804 ldr r0, [sp, #16] - bc06: 4cae ldr r4, [pc, #696] ; (bec0 ) - bc08: 47a0 blx r4 + bc58: 465b mov r3, fp + bc5a: 885a ldrh r2, [r3, #2] + bc5c: 7b5b ldrb r3, [r3, #13] + bc5e: 9302 str r3, [sp, #8] + bc60: 4653 mov r3, sl + bc62: 9301 str r3, [sp, #4] + bc64: 2301 movs r3, #1 + bc66: 9300 str r3, [sp, #0] + bc68: 2300 movs r3, #0 + bc6a: a91a add r1, sp, #104 ; 0x68 + bc6c: 9804 ldr r0, [sp, #16] + bc6e: 4cae ldr r4, [pc, #696] ; (bf28 ) + bc70: 47a0 blx r4 int16_t mask_rout_id = LV_MASK_ID_INV; - bc0a: 2301 movs r3, #1 - bc0c: 425b negs r3, r3 - bc0e: 930f str r3, [sp, #60] ; 0x3c - bc10: e277 b.n c102 + bc72: 2301 movs r3, #1 + bc74: 425b negs r3, r3 + bc76: 930f str r3, [sp, #60] ; 0x3c + bc78: e277 b.n c16a if(rout > 0) { - bc12: 4643 mov r3, r8 - bc14: 2b00 cmp r3, #0 - bc16: dd37 ble.n bc88 + bc7a: 4643 mov r3, r8 + bc7c: 2b00 cmp r3, #0 + bc7e: dd37 ble.n bcf0 lv_draw_mask_radius_init(&mask_rout_param, &coords_bg, rout, false); - bc18: 4643 mov r3, r8 - bc1a: b21a sxth r2, r3 - bc1c: 2300 movs r3, #0 - bc1e: a91a add r1, sp, #104 ; 0x68 - bc20: a829 add r0, sp, #164 ; 0xa4 - bc22: 4da8 ldr r5, [pc, #672] ; (bec4 ) - bc24: 47a8 blx r5 + bc80: 4643 mov r3, r8 + bc82: b21a sxth r2, r3 + bc84: 2300 movs r3, #0 + bc86: a91a add r1, sp, #104 ; 0x68 + bc88: a829 add r0, sp, #164 ; 0xa4 + bc8a: 4da8 ldr r5, [pc, #672] ; (bf2c ) + bc8c: 47a8 blx r5 mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - bc26: 2100 movs r1, #0 - bc28: a829 add r0, sp, #164 ; 0xa4 - bc2a: 4ba7 ldr r3, [pc, #668] ; (bec8 ) - bc2c: 4798 blx r3 - bc2e: 900f str r0, [sp, #60] ; 0x3c + bc8e: 2100 movs r1, #0 + bc90: a829 add r0, sp, #164 ; 0xa4 + bc92: 4ba7 ldr r3, [pc, #668] ; (bf30 ) + bc94: 4798 blx r3 + bc96: 900f str r0, [sp, #60] ; 0x3c lv_color_t grad_color = dsc->bg_color; - bc30: 465b mov r3, fp - bc32: 885b ldrh r3, [r3, #2] - bc34: 466a mov r2, sp - bc36: 8413 strh r3, [r2, #32] + bc98: 465b mov r3, fp + bc9a: 885b ldrh r3, [r3, #2] + bc9c: 466a mov r2, sp + bc9e: 8413 strh r3, [r2, #32] if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) { - bc38: 465b mov r3, fp - bc3a: 799b ldrb r3, [r3, #6] + bca0: 465b mov r3, fp + bca2: 799b ldrb r3, [r3, #6] lv_color_t * grad_map = NULL; - bc3c: 2200 movs r2, #0 - bc3e: 920d str r2, [sp, #52] ; 0x34 + bca4: 2200 movs r2, #0 + bca6: 920d str r2, [sp, #52] ; 0x34 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) { - bc40: 2b02 cmp r3, #2 - bc42: d025 beq.n bc90 + bca8: 2b02 cmp r3, #2 + bcaa: d025 beq.n bcf8 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - bc44: ab1a add r3, sp, #104 ; 0x68 - bc46: 2204 movs r2, #4 - bc48: 5e99 ldrsh r1, [r3, r2] - bc4a: 2000 movs r0, #0 - bc4c: 5e18 ldrsh r0, [r3, r0] - bc4e: 1c4b adds r3, r1, #1 - bc50: 1a1b subs r3, r3, r0 + bcac: ab1a add r3, sp, #104 ; 0x68 + bcae: 2204 movs r2, #4 + bcb0: 5e99 ldrsh r1, [r3, r2] + bcb2: 2000 movs r0, #0 + bcb4: 5e18 ldrsh r0, [r3, r0] + bcb6: 1c4b adds r3, r1, #1 + bcb8: 1a1b subs r3, r3, r0 if(lv_area_get_width(&coords_bg) - 2 * rout > SPLIT_LIMIT) split = true; - bc52: b21b sxth r3, r3 - bc54: 4642 mov r2, r8 - bc56: 0052 lsls r2, r2, #1 - bc58: 1a9b subs r3, r3, r2 - bc5a: 9309 str r3, [sp, #36] ; 0x24 + bcba: b21b sxth r3, r3 + bcbc: 4642 mov r2, r8 + bcbe: 0052 lsls r2, r2, #1 + bcc0: 1a9b subs r3, r3, r2 + bcc2: 9309 str r3, [sp, #36] ; 0x24 fill_area.x1 = coords_bg.x1; - bc5c: aa1e add r2, sp, #120 ; 0x78 - bc5e: 8010 strh r0, [r2, #0] + bcc4: aa1e add r2, sp, #120 ; 0x78 + bcc6: 8010 strh r0, [r2, #0] fill_area.x2 = coords_bg.x2; - bc60: 8091 strh r1, [r2, #4] + bcc8: 8091 strh r1, [r2, #4] fill_area.y1 = disp_area->y1 + draw_area.y1; - bc62: a91c add r1, sp, #112 ; 0x70 - bc64: 2302 movs r3, #2 - bc66: 5ecd ldrsh r5, [r1, r3] - bc68: 8a7b ldrh r3, [r7, #18] - bc6a: 195b adds r3, r3, r5 - bc6c: b21b sxth r3, r3 - bc6e: 8053 strh r3, [r2, #2] + bcca: a91c add r1, sp, #112 ; 0x70 + bccc: 2302 movs r3, #2 + bcce: 5ecd ldrsh r5, [r1, r3] + bcd0: 8a7b ldrh r3, [r7, #18] + bcd2: 195b adds r3, r3, r5 + bcd4: b21b sxth r3, r3 + bcd6: 8053 strh r3, [r2, #2] fill_area.y2 = fill_area.y1; - bc70: 80d3 strh r3, [r2, #6] + bcd8: 80d3 strh r3, [r2, #6] for(h = draw_area.y1; h <= draw_area.y2; h++) { - bc72: 2206 movs r2, #6 - bc74: 5e8b ldrsh r3, [r1, r2] - bc76: 429d cmp r5, r3 - bc78: dd00 ble.n bc7c - bc7a: e232 b.n c0e2 + bcda: 2206 movs r2, #6 + bcdc: 5e8b ldrsh r3, [r1, r2] + bcde: 429d cmp r5, r3 + bce0: dd00 ble.n bce4 + bce2: e232 b.n c14a mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - bc7c: 464b mov r3, r9 - bc7e: 9310 str r3, [sp, #64] ; 0x40 - bc80: 46b9 mov r9, r7 - bc82: 465e mov r6, fp - bc84: 46d3 mov fp, sl - bc86: e0e8 b.n be5a + bce4: 464b mov r3, r9 + bce6: 9310 str r3, [sp, #64] ; 0x40 + bce8: 46b9 mov r9, r7 + bcea: 465e mov r6, fp + bcec: 46d3 mov fp, sl + bcee: e0e8 b.n bec2 int16_t mask_rout_id = LV_MASK_ID_INV; - bc88: 2301 movs r3, #1 - bc8a: 425b negs r3, r3 - bc8c: 930f str r3, [sp, #60] ; 0x3c - bc8e: e7cf b.n bc30 + bcf0: 2301 movs r3, #1 + bcf2: 425b negs r3, r3 + bcf4: 930f str r3, [sp, #60] ; 0x3c + bcf6: e7cf b.n bc98 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) { - bc90: 465b mov r3, fp - bc92: 885a ldrh r2, [r3, #2] - bc94: 889b ldrh r3, [r3, #4] - bc96: 429a cmp r2, r3 - bc98: d0d4 beq.n bc44 + bcf8: 465b mov r3, fp + bcfa: 885a ldrh r2, [r3, #2] + bcfc: 889b ldrh r3, [r3, #4] + bcfe: 429a cmp r2, r3 + bd00: d0d4 beq.n bcac grad_map = _lv_mem_buf_get(coords_w * sizeof(lv_color_t)); - bc9a: 0060 lsls r0, r4, #1 - bc9c: 4b8b ldr r3, [pc, #556] ; (becc ) - bc9e: 4798 blx r3 - bca0: 900d str r0, [sp, #52] ; 0x34 + bd02: 0060 lsls r0, r4, #1 + bd04: 4b8b ldr r3, [pc, #556] ; (bf34 ) + bd06: 4798 blx r3 + bd08: 900d str r0, [sp, #52] ; 0x34 for(i = 0; i < coords_w; i++) { - bca2: 2e00 cmp r6, #0 - bca4: ddce ble.n bc44 - bca6: 2500 movs r5, #0 + bd0a: 2e00 cmp r6, #0 + bd0c: ddce ble.n bcac + bd0e: 2500 movs r5, #0 grad_map[i] = grad_get(dsc, coords_w, i); - bca8: 4642 mov r2, r8 - bcaa: 9209 str r2, [sp, #36] ; 0x24 - bcac: 46b0 mov r8, r6 - bcae: 002e movs r6, r5 - bcb0: 465d mov r5, fp - bcb2: 46bb mov fp, r7 - bcb4: 9005 str r0, [sp, #20] - bcb6: e01e b.n bcf6 + bd10: 4642 mov r2, r8 + bd12: 9209 str r2, [sp, #36] ; 0x24 + bd14: 46b0 mov r8, r6 + bd16: 002e movs r6, r5 + bd18: 465d mov r5, fp + bd1a: 46bb mov fp, r7 + bd1c: 9005 str r0, [sp, #20] + bd1e: e01e b.n bd5e if(i <= min) return dsc->bg_color; - bcb8: 78a9 ldrb r1, [r5, #2] - bcba: 06c9 lsls r1, r1, #27 - bcbc: 0ec8 lsrs r0, r1, #27 - bcbe: 886b ldrh r3, [r5, #2] - bcc0: 055b lsls r3, r3, #21 - bcc2: 0e9b lsrs r3, r3, #26 - bcc4: 78ea ldrb r2, [r5, #3] - bcc6: 08d2 lsrs r2, r2, #3 + bd20: 78a9 ldrb r1, [r5, #2] + bd22: 06c9 lsls r1, r1, #27 + bd24: 0ec8 lsrs r0, r1, #27 + bd26: 886b ldrh r3, [r5, #2] + bd28: 055b lsls r3, r3, #21 + bd2a: 0e9b lsrs r3, r3, #26 + bd2c: 78ea ldrb r2, [r5, #3] + bd2e: 08d2 lsrs r2, r2, #3 grad_map[i] = grad_get(dsc, coords_w, i); - bcc8: 7821 ldrb r1, [r4, #0] - bcca: 271f movs r7, #31 - bccc: 43b9 bics r1, r7 - bcce: 4301 orrs r1, r0 - bcd0: 7021 strb r1, [r4, #0] - bcd2: 0159 lsls r1, r3, #5 - bcd4: 8823 ldrh r3, [r4, #0] - bcd6: 487e ldr r0, [pc, #504] ; (bed0 ) - bcd8: 4003 ands r3, r0 - bcda: 430b orrs r3, r1 - bcdc: 8023 strh r3, [r4, #0] - bcde: 00d2 lsls r2, r2, #3 - bce0: 0a1b lsrs r3, r3, #8 - bce2: 2107 movs r1, #7 - bce4: 400b ands r3, r1 - bce6: 4313 orrs r3, r2 - bce8: 7063 strb r3, [r4, #1] + bd30: 7821 ldrb r1, [r4, #0] + bd32: 271f movs r7, #31 + bd34: 43b9 bics r1, r7 + bd36: 4301 orrs r1, r0 + bd38: 7021 strb r1, [r4, #0] + bd3a: 0159 lsls r1, r3, #5 + bd3c: 8823 ldrh r3, [r4, #0] + bd3e: 487e ldr r0, [pc, #504] ; (bf38 ) + bd40: 4003 ands r3, r0 + bd42: 430b orrs r3, r1 + bd44: 8023 strh r3, [r4, #0] + bd46: 00d2 lsls r2, r2, #3 + bd48: 0a1b lsrs r3, r3, #8 + bd4a: 2107 movs r1, #7 + bd4c: 400b ands r3, r1 + bd4e: 4313 orrs r3, r2 + bd50: 7063 strb r3, [r4, #1] for(i = 0; i < coords_w; i++) { - bcea: 3601 adds r6, #1 - bcec: 9b05 ldr r3, [sp, #20] - bcee: 3302 adds r3, #2 - bcf0: 9305 str r3, [sp, #20] - bcf2: 45b0 cmp r8, r6 - bcf4: dd58 ble.n bda8 + bd52: 3601 adds r6, #1 + bd54: 9b05 ldr r3, [sp, #20] + bd56: 3302 adds r3, #2 + bd58: 9305 str r3, [sp, #20] + bd5a: 45b0 cmp r8, r6 + bd5c: dd58 ble.n be10 grad_map[i] = grad_get(dsc, coords_w, i); - bcf6: 9c05 ldr r4, [sp, #20] + bd5e: 9c05 ldr r4, [sp, #20] int32_t min = (dsc->bg_main_color_stop * s) >> 8; - bcf8: 2308 movs r3, #8 - bcfa: 5ee9 ldrsh r1, [r5, r3] - bcfc: 4640 mov r0, r8 - bcfe: 4348 muls r0, r1 - bd00: 1200 asrs r0, r0, #8 + bd60: 2308 movs r3, #8 + bd62: 5ee9 ldrsh r1, [r5, r3] + bd64: 4640 mov r0, r8 + bd66: 4348 muls r0, r1 + bd68: 1200 asrs r0, r0, #8 if(i <= min) return dsc->bg_color; - bd02: b232 sxth r2, r6 - bd04: 4290 cmp r0, r2 - bd06: dad7 bge.n bcb8 + bd6a: b232 sxth r2, r6 + bd6c: 4290 cmp r0, r2 + bd6e: dad7 bge.n bd20 int32_t max = (dsc->bg_grad_color_stop * s) >> 8; - bd08: 270a movs r7, #10 - bd0a: 5feb ldrsh r3, [r5, r7] - bd0c: 4647 mov r7, r8 - bd0e: 435f muls r7, r3 - bd10: 123f asrs r7, r7, #8 + bd70: 270a movs r7, #10 + bd72: 5feb ldrsh r3, [r5, r7] + bd74: 4647 mov r7, r8 + bd76: 435f muls r7, r3 + bd78: 123f asrs r7, r7, #8 if(i >= max) return dsc->bg_grad_color; - bd12: 42ba cmp r2, r7 - bd14: da3f bge.n bd96 + bd7a: 42ba cmp r2, r7 + bd7c: da3f bge.n bdfe int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop; - bd16: 1a59 subs r1, r3, r1 + bd7e: 1a59 subs r1, r3, r1 d = (s * d) >> 8; - bd18: 4643 mov r3, r8 - bd1a: 4359 muls r1, r3 + bd80: 4643 mov r3, r8 + bd82: 4359 muls r1, r3 i -= min; - bd1c: 1a30 subs r0, r6, r0 + bd84: 1a30 subs r0, r6, r0 lv_opa_t mix = (i * 255) / d; - bd1e: b200 sxth r0, r0 - bd20: 0203 lsls r3, r0, #8 - bd22: 1a18 subs r0, r3, r0 + bd86: b200 sxth r0, r0 + bd88: 0203 lsls r3, r0, #8 + bd8a: 1a18 subs r0, r3, r0 d = (s * d) >> 8; - bd24: 1209 asrs r1, r1, #8 + bd8c: 1209 asrs r1, r1, #8 lv_opa_t mix = (i * 255) / d; - bd26: 4b6b ldr r3, [pc, #428] ; (bed4 ) - bd28: 4798 blx r3 - bd2a: 23ff movs r3, #255 ; 0xff - bd2c: 4018 ands r0, r3 + bd8e: 4b6b ldr r3, [pc, #428] ; (bf3c ) + bd90: 4798 blx r3 + bd92: 23ff movs r3, #255 ; 0xff + bd94: 4018 ands r0, r3 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - bd2e: 1a19 subs r1, r3, r0 - bd30: 796a ldrb r2, [r5, #5] - bd32: 08d2 lsrs r2, r2, #3 - bd34: 4342 muls r2, r0 - bd36: 78eb ldrb r3, [r5, #3] - bd38: 08db lsrs r3, r3, #3 - bd3a: 434b muls r3, r1 - bd3c: 18d3 adds r3, r2, r3 - bd3e: 021a lsls r2, r3, #8 - bd40: 18d2 adds r2, r2, r3 - bd42: 01d2 lsls r2, r2, #7 - bd44: 18d2 adds r2, r2, r3 - bd46: 0dd2 lsrs r2, r2, #23 - bd48: 231f movs r3, #31 - bd4a: 401a ands r2, r3 + bd96: 1a19 subs r1, r3, r0 + bd98: 796a ldrb r2, [r5, #5] + bd9a: 08d2 lsrs r2, r2, #3 + bd9c: 4342 muls r2, r0 + bd9e: 78eb ldrb r3, [r5, #3] + bda0: 08db lsrs r3, r3, #3 + bda2: 434b muls r3, r1 + bda4: 18d3 adds r3, r2, r3 + bda6: 021a lsls r2, r3, #8 + bda8: 18d2 adds r2, r2, r3 + bdaa: 01d2 lsls r2, r2, #7 + bdac: 18d2 adds r2, r2, r3 + bdae: 0dd2 lsrs r2, r2, #23 + bdb0: 231f movs r3, #31 + bdb2: 401a ands r2, r3 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - bd4c: 88ab ldrh r3, [r5, #4] - bd4e: 055b lsls r3, r3, #21 - bd50: 0e9b lsrs r3, r3, #26 - bd52: 4343 muls r3, r0 - bd54: 469c mov ip, r3 - bd56: 886b ldrh r3, [r5, #2] - bd58: 055b lsls r3, r3, #21 - bd5a: 0e9b lsrs r3, r3, #26 - bd5c: 434b muls r3, r1 - bd5e: 4463 add r3, ip - bd60: 021f lsls r7, r3, #8 - bd62: 46bc mov ip, r7 - bd64: 449c add ip, r3 - bd66: 4667 mov r7, ip - bd68: 01ff lsls r7, r7, #7 - bd6a: 46bc mov ip, r7 - bd6c: 4463 add r3, ip - bd6e: 0ddb lsrs r3, r3, #23 - bd70: 273f movs r7, #63 ; 0x3f - bd72: 403b ands r3, r7 + bdb4: 88ab ldrh r3, [r5, #4] + bdb6: 055b lsls r3, r3, #21 + bdb8: 0e9b lsrs r3, r3, #26 + bdba: 4343 muls r3, r0 + bdbc: 469c mov ip, r3 + bdbe: 886b ldrh r3, [r5, #2] + bdc0: 055b lsls r3, r3, #21 + bdc2: 0e9b lsrs r3, r3, #26 + bdc4: 434b muls r3, r1 + bdc6: 4463 add r3, ip + bdc8: 021f lsls r7, r3, #8 + bdca: 46bc mov ip, r7 + bdcc: 449c add ip, r3 + bdce: 4667 mov r7, ip + bdd0: 01ff lsls r7, r7, #7 + bdd2: 46bc mov ip, r7 + bdd4: 4463 add r3, ip + bdd6: 0ddb lsrs r3, r3, #23 + bdd8: 273f movs r7, #63 ; 0x3f + bdda: 403b ands r3, r7 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - bd74: 792f ldrb r7, [r5, #4] - bd76: 06ff lsls r7, r7, #27 - bd78: 0eff lsrs r7, r7, #27 - bd7a: 4378 muls r0, r7 - bd7c: 78af ldrb r7, [r5, #2] - bd7e: 06ff lsls r7, r7, #27 - bd80: 0eff lsrs r7, r7, #27 - bd82: 4379 muls r1, r7 - bd84: 1840 adds r0, r0, r1 - bd86: 0201 lsls r1, r0, #8 - bd88: 1809 adds r1, r1, r0 - bd8a: 01c9 lsls r1, r1, #7 - bd8c: 1809 adds r1, r1, r0 - bd8e: 0dc9 lsrs r1, r1, #23 - bd90: 201f movs r0, #31 - bd92: 4008 ands r0, r1 - bd94: e798 b.n bcc8 + bddc: 792f ldrb r7, [r5, #4] + bdde: 06ff lsls r7, r7, #27 + bde0: 0eff lsrs r7, r7, #27 + bde2: 4378 muls r0, r7 + bde4: 78af ldrb r7, [r5, #2] + bde6: 06ff lsls r7, r7, #27 + bde8: 0eff lsrs r7, r7, #27 + bdea: 4379 muls r1, r7 + bdec: 1840 adds r0, r0, r1 + bdee: 0201 lsls r1, r0, #8 + bdf0: 1809 adds r1, r1, r0 + bdf2: 01c9 lsls r1, r1, #7 + bdf4: 1809 adds r1, r1, r0 + bdf6: 0dc9 lsrs r1, r1, #23 + bdf8: 201f movs r0, #31 + bdfa: 4008 ands r0, r1 + bdfc: e798 b.n bd30 if(i >= max) return dsc->bg_grad_color; - bd96: 7929 ldrb r1, [r5, #4] - bd98: 06c9 lsls r1, r1, #27 - bd9a: 0ec8 lsrs r0, r1, #27 - bd9c: 88ab ldrh r3, [r5, #4] - bd9e: 055b lsls r3, r3, #21 - bda0: 0e9b lsrs r3, r3, #26 - bda2: 796a ldrb r2, [r5, #5] - bda4: 08d2 lsrs r2, r2, #3 - bda6: e78f b.n bcc8 - bda8: 9b09 ldr r3, [sp, #36] ; 0x24 - bdaa: 4698 mov r8, r3 - bdac: 465f mov r7, fp - bdae: 46ab mov fp, r5 - bdb0: e748 b.n bc44 + bdfe: 7929 ldrb r1, [r5, #4] + be00: 06c9 lsls r1, r1, #27 + be02: 0ec8 lsrs r0, r1, #27 + be04: 88ab ldrh r3, [r5, #4] + be06: 055b lsls r3, r3, #21 + be08: 0e9b lsrs r3, r3, #26 + be0a: 796a ldrb r2, [r5, #5] + be0c: 08d2 lsrs r2, r2, #3 + be0e: e78f b.n bd30 + be10: 9b09 ldr r3, [sp, #36] ; 0x24 + be12: 4698 mov r8, r3 + be14: 465f mov r7, fp + be16: 46ab mov fp, r5 + be18: e748 b.n bcac _lv_memset_ff(mask_buf, draw_area_w); - bdb2: 990b ldr r1, [sp, #44] ; 0x2c - bdb4: 9f06 ldr r7, [sp, #24] - bdb6: 0038 movs r0, r7 - bdb8: 4b47 ldr r3, [pc, #284] ; (bed8 ) - bdba: 4798 blx r3 + be1a: 990b ldr r1, [sp, #44] ; 0x2c + be1c: 9f06 ldr r7, [sp, #24] + be1e: 0038 movs r0, r7 + be20: 4b47 ldr r3, [pc, #284] ; (bf40 ) + be22: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - bdbc: 464b mov r3, r9 - bdbe: 8a5a ldrh r2, [r3, #18] - bdc0: 1952 adds r2, r2, r5 - bdc2: b212 sxth r2, r2 - bdc4: 8a19 ldrh r1, [r3, #16] - bdc6: ab0e add r3, sp, #56 ; 0x38 - bdc8: 8f1b ldrh r3, [r3, #56] ; 0x38 - bdca: 18c9 adds r1, r1, r3 - bdcc: b209 sxth r1, r1 - bdce: 9b0a ldr r3, [sp, #40] ; 0x28 - bdd0: 0038 movs r0, r7 - bdd2: 4f42 ldr r7, [pc, #264] ; (bedc ) - bdd4: 47b8 blx r7 - bdd6: 9005 str r0, [sp, #20] + be24: 464b mov r3, r9 + be26: 8a5a ldrh r2, [r3, #18] + be28: 1952 adds r2, r2, r5 + be2a: b212 sxth r2, r2 + be2c: 8a19 ldrh r1, [r3, #16] + be2e: ab0e add r3, sp, #56 ; 0x38 + be30: 8f1b ldrh r3, [r3, #56] ; 0x38 + be32: 18c9 adds r1, r1, r3 + be34: b209 sxth r1, r1 + be36: 9b0a ldr r3, [sp, #40] ; 0x28 + be38: 0038 movs r0, r7 + be3a: 4f42 ldr r7, [pc, #264] ; (bf44 ) + be3c: 47b8 blx r7 + be3e: 9005 str r0, [sp, #20] if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - bdd8: 79b3 ldrb r3, [r6, #6] - bdda: 2b01 cmp r3, #1 - bddc: d119 bne.n be12 - bdde: e081 b.n bee4 + be40: 79b3 ldrb r3, [r6, #6] + be42: 2b01 cmp r3, #1 + be44: d119 bne.n be7a + be46: e081 b.n bf4c _lv_memset_ff(mask_buf, draw_area_w); - bde0: 990b ldr r1, [sp, #44] ; 0x2c - bde2: 9f06 ldr r7, [sp, #24] - bde4: 0038 movs r0, r7 - bde6: 4b3c ldr r3, [pc, #240] ; (bed8 ) - bde8: 4798 blx r3 + be48: 990b ldr r1, [sp, #44] ; 0x2c + be4a: 9f06 ldr r7, [sp, #24] + be4c: 0038 movs r0, r7 + be4e: 4b3c ldr r3, [pc, #240] ; (bf40 ) + be50: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - bdea: 464b mov r3, r9 - bdec: 8a5a ldrh r2, [r3, #18] - bdee: 1952 adds r2, r2, r5 - bdf0: b212 sxth r2, r2 - bdf2: 8a19 ldrh r1, [r3, #16] - bdf4: ab0e add r3, sp, #56 ; 0x38 - bdf6: 8f1b ldrh r3, [r3, #56] ; 0x38 - bdf8: 18c9 adds r1, r1, r3 - bdfa: b209 sxth r1, r1 - bdfc: 9b0a ldr r3, [sp, #40] ; 0x28 - bdfe: 0038 movs r0, r7 - be00: 4f36 ldr r7, [pc, #216] ; (bedc ) - be02: 47b8 blx r7 - be04: 9005 str r0, [sp, #20] + be52: 464b mov r3, r9 + be54: 8a5a ldrh r2, [r3, #18] + be56: 1952 adds r2, r2, r5 + be58: b212 sxth r2, r2 + be5a: 8a19 ldrh r1, [r3, #16] + be5c: ab0e add r3, sp, #56 ; 0x38 + be5e: 8f1b ldrh r3, [r3, #56] ; 0x38 + be60: 18c9 adds r1, r1, r3 + be62: b209 sxth r1, r1 + be64: 9b0a ldr r3, [sp, #40] ; 0x28 + be66: 0038 movs r0, r7 + be68: 4f36 ldr r7, [pc, #216] ; (bf44 ) + be6a: 47b8 blx r7 + be6c: 9005 str r0, [sp, #20] if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - be06: 79b3 ldrb r3, [r6, #6] - be08: 2b01 cmp r3, #1 - be0a: d06b beq.n bee4 + be6e: 79b3 ldrb r3, [r6, #6] + be70: 2b01 cmp r3, #1 + be72: d06b beq.n bf4c if(simple_mode && split && - be0c: 9a07 ldr r2, [sp, #28] - be0e: 2a00 cmp r2, #0 - be10: d13e bne.n be90 + be74: 9a07 ldr r2, [sp, #28] + be76: 2a00 cmp r2, #0 + be78: d13e bne.n bef8 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) { - be12: 2b02 cmp r3, #2 - be14: d100 bne.n be18 - be16: e153 b.n c0c0 + be7a: 2b02 cmp r3, #2 + be7c: d100 bne.n be80 + be7e: e153 b.n c128 else if(other_mask_cnt != 0 || !split) { - be18: 9b0c ldr r3, [sp, #48] ; 0x30 - be1a: 2b00 cmp r3, #0 - be1c: d102 bne.n be24 - be1e: 9b09 ldr r3, [sp, #36] ; 0x24 - be20: 2b32 cmp r3, #50 ; 0x32 - be22: dc0c bgt.n be3e + be80: 9b0c ldr r3, [sp, #48] ; 0x30 + be82: 2b00 cmp r3, #0 + be84: d102 bne.n be8c + be86: 9b09 ldr r3, [sp, #36] ; 0x24 + be88: 2b32 cmp r3, #50 ; 0x32 + be8a: dc0c bgt.n bea6 _lv_blend_fill(clip, &fill_area, - be24: 7b73 ldrb r3, [r6, #13] - be26: 9302 str r3, [sp, #8] - be28: 465b mov r3, fp - be2a: 9301 str r3, [sp, #4] - be2c: 9b05 ldr r3, [sp, #20] - be2e: 9300 str r3, [sp, #0] - be30: 9b06 ldr r3, [sp, #24] - be32: 466a mov r2, sp - be34: 8c12 ldrh r2, [r2, #32] - be36: a91e add r1, sp, #120 ; 0x78 - be38: 9804 ldr r0, [sp, #16] - be3a: 4c21 ldr r4, [pc, #132] ; (bec0 ) - be3c: 47a0 blx r4 + be8c: 7b73 ldrb r3, [r6, #13] + be8e: 9302 str r3, [sp, #8] + be90: 465b mov r3, fp + be92: 9301 str r3, [sp, #4] + be94: 9b05 ldr r3, [sp, #20] + be96: 9300 str r3, [sp, #0] + be98: 9b06 ldr r3, [sp, #24] + be9a: 466a mov r2, sp + be9c: 8c12 ldrh r2, [r2, #32] + be9e: a91e add r1, sp, #120 ; 0x78 + bea0: 9804 ldr r0, [sp, #16] + bea2: 4c21 ldr r4, [pc, #132] ; (bf28 ) + bea4: 47a0 blx r4 fill_area.y1++; - be3e: ab1e add r3, sp, #120 ; 0x78 - be40: 885a ldrh r2, [r3, #2] - be42: 3201 adds r2, #1 - be44: 805a strh r2, [r3, #2] + bea6: ab1e add r3, sp, #120 ; 0x78 + bea8: 885a ldrh r2, [r3, #2] + beaa: 3201 adds r2, #1 + beac: 805a strh r2, [r3, #2] fill_area.y2++; - be46: 88da ldrh r2, [r3, #6] - be48: 3201 adds r2, #1 - be4a: 80da strh r2, [r3, #6] + beae: 88da ldrh r2, [r3, #6] + beb0: 3201 adds r2, #1 + beb2: 80da strh r2, [r3, #6] for(h = draw_area.y1; h <= draw_area.y2; h++) { - be4c: 3501 adds r5, #1 - be4e: ab0e add r3, sp, #56 ; 0x38 - be50: 223e movs r2, #62 ; 0x3e - be52: 5e9b ldrsh r3, [r3, r2] - be54: 429d cmp r5, r3 - be56: dd00 ble.n be5a - be58: e13f b.n c0da + beb4: 3501 adds r5, #1 + beb6: ab0e add r3, sp, #56 ; 0x38 + beb8: 223e movs r2, #62 ; 0x3e + beba: 5e9b ldrsh r3, [r3, r2] + bebc: 429d cmp r5, r3 + bebe: dd00 ble.n bec2 + bec0: e13f b.n c142 int32_t y = h + vdb->area.y1; - be5a: 464b mov r3, r9 - be5c: 2412 movs r4, #18 - be5e: 5f1c ldrsh r4, [r3, r4] - be60: 1964 adds r4, r4, r5 + bec2: 464b mov r3, r9 + bec4: 2412 movs r4, #18 + bec6: 5f1c ldrsh r4, [r3, r4] + bec8: 1964 adds r4, r4, r5 if(y > coords_bg.y1 + rout + 1 && - be62: ab1a add r3, sp, #104 ; 0x68 - be64: 2202 movs r2, #2 - be66: 5e9b ldrsh r3, [r3, r2] - be68: 4443 add r3, r8 - be6a: 3301 adds r3, #1 - be6c: 429c cmp r4, r3 - be6e: ddb7 ble.n bde0 + beca: ab1a add r3, sp, #104 ; 0x68 + becc: 2202 movs r2, #2 + bece: 5e9b ldrsh r3, [r3, r2] + bed0: 4443 add r3, r8 + bed2: 3301 adds r3, #1 + bed4: 429c cmp r4, r3 + bed6: ddb7 ble.n be48 y < coords_bg.y2 - rout - 1) { - be70: ab1a add r3, sp, #104 ; 0x68 - be72: 2206 movs r2, #6 - be74: 5e9b ldrsh r3, [r3, r2] - be76: 4642 mov r2, r8 - be78: 1a9b subs r3, r3, r2 - be7a: 3b01 subs r3, #1 + bed8: ab1a add r3, sp, #104 ; 0x68 + beda: 2206 movs r2, #6 + bedc: 5e9b ldrsh r3, [r3, r2] + bede: 4642 mov r2, r8 + bee0: 1a9b subs r3, r3, r2 + bee2: 3b01 subs r3, #1 if(y > coords_bg.y1 + rout + 1 && - be7c: 429c cmp r4, r3 - be7e: daaf bge.n bde0 + bee4: 429c cmp r4, r3 + bee6: daaf bge.n be48 if(simple_mode == false) { - be80: 9b07 ldr r3, [sp, #28] - be82: 2b00 cmp r3, #0 - be84: d095 beq.n bdb2 + bee8: 9b07 ldr r3, [sp, #28] + beea: 2b00 cmp r3, #0 + beec: d095 beq.n be1a if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - be86: 79b3 ldrb r3, [r6, #6] - be88: 2b01 cmp r3, #1 - be8a: d029 beq.n bee0 + beee: 79b3 ldrb r3, [r6, #6] + bef0: 2b01 cmp r3, #1 + bef2: d029 beq.n bf48 mask_res = LV_DRAW_MASK_RES_FULL_COVER; - be8c: 2201 movs r2, #1 - be8e: 9205 str r2, [sp, #20] + bef4: 2201 movs r2, #1 + bef6: 9205 str r2, [sp, #20] if(simple_mode && split && - be90: 9a09 ldr r2, [sp, #36] ; 0x24 - be92: 2a32 cmp r2, #50 ; 0x32 - be94: dd00 ble.n be98 - be96: e0a0 b.n bfda + bef8: 9a09 ldr r2, [sp, #36] ; 0x24 + befa: 2a32 cmp r2, #50 ; 0x32 + befc: dd00 ble.n bf00 + befe: e0a0 b.n c042 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) { - be98: 2b02 cmp r3, #2 - be9a: d100 bne.n be9e - be9c: e110 b.n c0c0 + bf00: 2b02 cmp r3, #2 + bf02: d100 bne.n bf06 + bf04: e110 b.n c128 else if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) { - be9e: 2b01 cmp r3, #1 - bea0: d1ba bne.n be18 + bf06: 2b01 cmp r3, #1 + bf08: d1ba bne.n be80 _lv_blend_fill(clip, &fill_area, - bea2: 7b73 ldrb r3, [r6, #13] - bea4: 9302 str r3, [sp, #8] - bea6: 465b mov r3, fp - bea8: 9301 str r3, [sp, #4] - beaa: 9b05 ldr r3, [sp, #20] - beac: 9300 str r3, [sp, #0] - beae: 9b06 ldr r3, [sp, #24] - beb0: 466a mov r2, sp - beb2: 8c12 ldrh r2, [r2, #32] - beb4: a91e add r1, sp, #120 ; 0x78 - beb6: 9804 ldr r0, [sp, #16] - beb8: 4c01 ldr r4, [pc, #4] ; (bec0 ) - beba: 47a0 blx r4 - bebc: e7bf b.n be3e - bebe: 46c0 nop ; (mov r8, r8) - bec0: 00005c05 .word 0x00005c05 - bec4: 0000a7ed .word 0x0000a7ed - bec8: 0000a585 .word 0x0000a585 - becc: 00010e59 .word 0x00010e59 - bed0: fffff81f .word 0xfffff81f - bed4: 00017a75 .word 0x00017a75 - bed8: 00011089 .word 0x00011089 - bedc: 0000a5bd .word 0x0000a5bd + bf0a: 7b73 ldrb r3, [r6, #13] + bf0c: 9302 str r3, [sp, #8] + bf0e: 465b mov r3, fp + bf10: 9301 str r3, [sp, #4] + bf12: 9b05 ldr r3, [sp, #20] + bf14: 9300 str r3, [sp, #0] + bf16: 9b06 ldr r3, [sp, #24] + bf18: 466a mov r2, sp + bf1a: 8c12 ldrh r2, [r2, #32] + bf1c: a91e add r1, sp, #120 ; 0x78 + bf1e: 9804 ldr r0, [sp, #16] + bf20: 4c01 ldr r4, [pc, #4] ; (bf28 ) + bf22: 47a0 blx r4 + bf24: e7bf b.n bea6 + bf26: 46c0 nop ; (mov r8, r8) + bf28: 00005c6d .word 0x00005c6d + bf2c: 0000a855 .word 0x0000a855 + bf30: 0000a5ed .word 0x0000a5ed + bf34: 00010ec1 .word 0x00010ec1 + bf38: fffff81f .word 0xfffff81f + bf3c: 00017b05 .word 0x00017b05 + bf40: 000110f1 .word 0x000110f1 + bf44: 0000a625 .word 0x0000a625 mask_res = LV_DRAW_MASK_RES_FULL_COVER; - bee0: 2301 movs r3, #1 - bee2: 9305 str r3, [sp, #20] + bf48: 2301 movs r3, #1 + bf4a: 9305 str r3, [sp, #20] if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - bee4: 8872 ldrh r2, [r6, #2] - bee6: 88b3 ldrh r3, [r6, #4] - bee8: 429a cmp r2, r3 - beea: d06d beq.n bfc8 + bf4c: 8872 ldrh r2, [r6, #2] + bf4e: 88b3 ldrh r3, [r6, #4] + bf50: 429a cmp r2, r3 + bf52: d06d beq.n c030 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - beec: a91a add r1, sp, #104 ; 0x68 - beee: 884a ldrh r2, [r1, #2] + bf54: a91a add r1, sp, #104 ; 0x68 + bf56: 884a ldrh r2, [r1, #2] grad_color = grad_get(dsc, lv_area_get_height(&coords_bg), y - coords_bg.y1); - bef0: 1aa3 subs r3, r4, r2 - bef2: b29b uxth r3, r3 + bf58: 1aa3 subs r3, r4, r2 + bf5a: b29b uxth r3, r3 int32_t min = (dsc->bg_main_color_stop * s) >> 8; - bef4: 2708 movs r7, #8 - bef6: 5ff0 ldrsh r0, [r6, r7] - bef8: 4682 mov sl, r0 - befa: 88c9 ldrh r1, [r1, #6] - befc: 3101 adds r1, #1 - befe: 1a89 subs r1, r1, r2 - bf00: b209 sxth r1, r1 - bf02: 0002 movs r2, r0 - bf04: 434a muls r2, r1 - bf06: 1212 asrs r2, r2, #8 + bf5c: 2708 movs r7, #8 + bf5e: 5ff0 ldrsh r0, [r6, r7] + bf60: 4682 mov sl, r0 + bf62: 88c9 ldrh r1, [r1, #6] + bf64: 3101 adds r1, #1 + bf66: 1a89 subs r1, r1, r2 + bf68: b209 sxth r1, r1 + bf6a: 0002 movs r2, r0 + bf6c: 434a muls r2, r1 + bf6e: 1212 asrs r2, r2, #8 if(i <= min) return dsc->bg_color; - bf08: b218 sxth r0, r3 - bf0a: 4684 mov ip, r0 - bf0c: 4282 cmp r2, r0 - bf0e: da45 bge.n bf9c + bf70: b218 sxth r0, r3 + bf72: 4684 mov ip, r0 + bf74: 4282 cmp r2, r0 + bf76: da45 bge.n c004 int32_t max = (dsc->bg_grad_color_stop * s) >> 8; - bf10: 270a movs r7, #10 - bf12: 5ff0 ldrsh r0, [r6, r7] - bf14: 0007 movs r7, r0 - bf16: 434f muls r7, r1 - bf18: 123f asrs r7, r7, #8 + bf78: 270a movs r7, #10 + bf7a: 5ff0 ldrsh r0, [r6, r7] + bf7c: 0007 movs r7, r0 + bf7e: 434f muls r7, r1 + bf80: 123f asrs r7, r7, #8 if(i >= max) return dsc->bg_grad_color; - bf1a: 45bc cmp ip, r7 - bf1c: db00 blt.n bf20 - bf1e: e0b1 b.n c084 + bf82: 45bc cmp ip, r7 + bf84: db00 blt.n bf88 + bf86: e0b1 b.n c0ec int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop; - bf20: 4657 mov r7, sl - bf22: 1bc0 subs r0, r0, r7 + bf88: 4657 mov r7, sl + bf8a: 1bc0 subs r0, r0, r7 d = (s * d) >> 8; - bf24: 4341 muls r1, r0 + bf8c: 4341 muls r1, r0 i -= min; - bf26: 1a9b subs r3, r3, r2 + bf8e: 1a9b subs r3, r3, r2 lv_opa_t mix = (i * 255) / d; - bf28: b21b sxth r3, r3 - bf2a: 0218 lsls r0, r3, #8 - bf2c: 1ac0 subs r0, r0, r3 + bf90: b21b sxth r3, r3 + bf92: 0218 lsls r0, r3, #8 + bf94: 1ac0 subs r0, r0, r3 d = (s * d) >> 8; - bf2e: 1209 asrs r1, r1, #8 + bf96: 1209 asrs r1, r1, #8 lv_opa_t mix = (i * 255) / d; - bf30: 4bb8 ldr r3, [pc, #736] ; (c214 ) - bf32: 4798 blx r3 - bf34: 21ff movs r1, #255 ; 0xff - bf36: 4008 ands r0, r1 + bf98: 4bb8 ldr r3, [pc, #736] ; (c27c ) + bf9a: 4798 blx r3 + bf9c: 21ff movs r1, #255 ; 0xff + bf9e: 4008 ands r0, r1 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - bf38: 1a09 subs r1, r1, r0 - bf3a: 7972 ldrb r2, [r6, #5] - bf3c: 08d2 lsrs r2, r2, #3 - bf3e: 4342 muls r2, r0 - bf40: 78f3 ldrb r3, [r6, #3] - bf42: 08db lsrs r3, r3, #3 - bf44: 434b muls r3, r1 - bf46: 18d3 adds r3, r2, r3 - bf48: 021a lsls r2, r3, #8 - bf4a: 18d2 adds r2, r2, r3 - bf4c: 01d2 lsls r2, r2, #7 - bf4e: 18d2 adds r2, r2, r3 - bf50: 0dd2 lsrs r2, r2, #23 - bf52: 231f movs r3, #31 - bf54: 469c mov ip, r3 - bf56: 401a ands r2, r3 + bfa0: 1a09 subs r1, r1, r0 + bfa2: 7972 ldrb r2, [r6, #5] + bfa4: 08d2 lsrs r2, r2, #3 + bfa6: 4342 muls r2, r0 + bfa8: 78f3 ldrb r3, [r6, #3] + bfaa: 08db lsrs r3, r3, #3 + bfac: 434b muls r3, r1 + bfae: 18d3 adds r3, r2, r3 + bfb0: 021a lsls r2, r3, #8 + bfb2: 18d2 adds r2, r2, r3 + bfb4: 01d2 lsls r2, r2, #7 + bfb6: 18d2 adds r2, r2, r3 + bfb8: 0dd2 lsrs r2, r2, #23 + bfba: 231f movs r3, #31 + bfbc: 469c mov ip, r3 + bfbe: 401a ands r2, r3 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - bf58: 88b3 ldrh r3, [r6, #4] - bf5a: 055b lsls r3, r3, #21 - bf5c: 0e9b lsrs r3, r3, #26 - bf5e: 4343 muls r3, r0 - bf60: 469a mov sl, r3 - bf62: 8873 ldrh r3, [r6, #2] - bf64: 055b lsls r3, r3, #21 - bf66: 0e9b lsrs r3, r3, #26 - bf68: 434b muls r3, r1 - bf6a: 449a add sl, r3 - bf6c: 4653 mov r3, sl - bf6e: 021b lsls r3, r3, #8 - bf70: 4453 add r3, sl - bf72: 01db lsls r3, r3, #7 - bf74: 4453 add r3, sl - bf76: 00db lsls r3, r3, #3 - bf78: 0e9b lsrs r3, r3, #26 + bfc0: 88b3 ldrh r3, [r6, #4] + bfc2: 055b lsls r3, r3, #21 + bfc4: 0e9b lsrs r3, r3, #26 + bfc6: 4343 muls r3, r0 + bfc8: 469a mov sl, r3 + bfca: 8873 ldrh r3, [r6, #2] + bfcc: 055b lsls r3, r3, #21 + bfce: 0e9b lsrs r3, r3, #26 + bfd0: 434b muls r3, r1 + bfd2: 449a add sl, r3 + bfd4: 4653 mov r3, sl + bfd6: 021b lsls r3, r3, #8 + bfd8: 4453 add r3, sl + bfda: 01db lsls r3, r3, #7 + bfdc: 4453 add r3, sl + bfde: 00db lsls r3, r3, #3 + bfe0: 0e9b lsrs r3, r3, #26 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - bf7a: 7937 ldrb r7, [r6, #4] - bf7c: 06ff lsls r7, r7, #27 - bf7e: 0eff lsrs r7, r7, #27 - bf80: 4378 muls r0, r7 - bf82: 78b7 ldrb r7, [r6, #2] - bf84: 06ff lsls r7, r7, #27 - bf86: 0eff lsrs r7, r7, #27 - bf88: 4379 muls r1, r7 - bf8a: 1841 adds r1, r0, r1 - bf8c: 0208 lsls r0, r1, #8 - bf8e: 1840 adds r0, r0, r1 - bf90: 01c0 lsls r0, r0, #7 - bf92: 1840 adds r0, r0, r1 - bf94: 0dc0 lsrs r0, r0, #23 - bf96: 4661 mov r1, ip - bf98: 4008 ands r0, r1 - bf9a: e007 b.n bfac + bfe2: 7937 ldrb r7, [r6, #4] + bfe4: 06ff lsls r7, r7, #27 + bfe6: 0eff lsrs r7, r7, #27 + bfe8: 4378 muls r0, r7 + bfea: 78b7 ldrb r7, [r6, #2] + bfec: 06ff lsls r7, r7, #27 + bfee: 0eff lsrs r7, r7, #27 + bff0: 4379 muls r1, r7 + bff2: 1841 adds r1, r0, r1 + bff4: 0208 lsls r0, r1, #8 + bff6: 1840 adds r0, r0, r1 + bff8: 01c0 lsls r0, r0, #7 + bffa: 1840 adds r0, r0, r1 + bffc: 0dc0 lsrs r0, r0, #23 + bffe: 4661 mov r1, ip + c000: 4008 ands r0, r1 + c002: e007 b.n c014 if(i <= min) return dsc->bg_color; - bf9c: 78b1 ldrb r1, [r6, #2] - bf9e: 06c9 lsls r1, r1, #27 - bfa0: 0ec8 lsrs r0, r1, #27 - bfa2: 8873 ldrh r3, [r6, #2] - bfa4: 055b lsls r3, r3, #21 - bfa6: 0e9b lsrs r3, r3, #26 - bfa8: 78f2 ldrb r2, [r6, #3] - bfaa: 08d2 lsrs r2, r2, #3 - bfac: 211f movs r1, #31 - bfae: 9f08 ldr r7, [sp, #32] - bfb0: 438f bics r7, r1 - bfb2: 0039 movs r1, r7 - bfb4: 4301 orrs r1, r0 - bfb6: 0158 lsls r0, r3, #5 - bfb8: 4b97 ldr r3, [pc, #604] ; (c218 ) - bfba: 400b ands r3, r1 - bfbc: 4303 orrs r3, r0 - bfbe: 02d2 lsls r2, r2, #11 - bfc0: 055b lsls r3, r3, #21 - bfc2: 0d5b lsrs r3, r3, #21 - bfc4: 4313 orrs r3, r2 - bfc6: 9308 str r3, [sp, #32] + c004: 78b1 ldrb r1, [r6, #2] + c006: 06c9 lsls r1, r1, #27 + c008: 0ec8 lsrs r0, r1, #27 + c00a: 8873 ldrh r3, [r6, #2] + c00c: 055b lsls r3, r3, #21 + c00e: 0e9b lsrs r3, r3, #26 + c010: 78f2 ldrb r2, [r6, #3] + c012: 08d2 lsrs r2, r2, #3 + c014: 211f movs r1, #31 + c016: 9f08 ldr r7, [sp, #32] + c018: 438f bics r7, r1 + c01a: 0039 movs r1, r7 + c01c: 4301 orrs r1, r0 + c01e: 0158 lsls r0, r3, #5 + c020: 4b97 ldr r3, [pc, #604] ; (c280 ) + c022: 400b ands r3, r1 + c024: 4303 orrs r3, r0 + c026: 02d2 lsls r2, r2, #11 + c028: 055b lsls r3, r3, #21 + c02a: 0d5b lsrs r3, r3, #21 + c02c: 4313 orrs r3, r2 + c02e: 9308 str r3, [sp, #32] if(simple_mode && split && - bfc8: 9b07 ldr r3, [sp, #28] - bfca: 2b00 cmp r3, #0 - bfcc: d100 bne.n bfd0 - bfce: e768 b.n bea2 - bfd0: 2301 movs r3, #1 - bfd2: 9a09 ldr r2, [sp, #36] ; 0x24 - bfd4: 2a32 cmp r2, #50 ; 0x32 - bfd6: dc00 bgt.n bfda - bfd8: e763 b.n bea2 + c030: 9b07 ldr r3, [sp, #28] + c032: 2b00 cmp r3, #0 + c034: d100 bne.n c038 + c036: e768 b.n bf0a + c038: 2301 movs r3, #1 + c03a: 9a09 ldr r2, [sp, #36] ; 0x24 + c03c: 2a32 cmp r2, #50 ; 0x32 + c03e: dc00 bgt.n c042 + c040: e763 b.n bf0a (y < coords_bg.y1 + rout + 1 || - bfda: aa1a add r2, sp, #104 ; 0x68 - bfdc: 2102 movs r1, #2 - bfde: 5e52 ldrsh r2, [r2, r1] - bfe0: 4442 add r2, r8 - bfe2: 3201 adds r2, #1 + c042: aa1a add r2, sp, #104 ; 0x68 + c044: 2102 movs r1, #2 + c046: 5e52 ldrsh r2, [r2, r1] + c048: 4442 add r2, r8 + c04a: 3201 adds r2, #1 if(simple_mode && split && - bfe4: 4294 cmp r4, r2 - bfe6: db08 blt.n bffa + c04c: 4294 cmp r4, r2 + c04e: db08 blt.n c062 y > coords_bg.y2 - rout - 1)) { - bfe8: aa1a add r2, sp, #104 ; 0x68 - bfea: 2106 movs r1, #6 - bfec: 5e52 ldrsh r2, [r2, r1] - bfee: 4641 mov r1, r8 - bff0: 1a52 subs r2, r2, r1 - bff2: 3a01 subs r2, #1 + c050: aa1a add r2, sp, #104 ; 0x68 + c052: 2106 movs r1, #6 + c054: 5e52 ldrsh r2, [r2, r1] + c056: 4641 mov r1, r8 + c058: 1a52 subs r2, r2, r1 + c05a: 3a01 subs r2, #1 (y < coords_bg.y1 + rout + 1 || - bff4: 4294 cmp r4, r2 - bff6: dc00 bgt.n bffa - bff8: e74e b.n be98 + c05c: 4294 cmp r4, r2 + c05e: dc00 bgt.n c062 + c060: e74e b.n bf00 fill_area2.x1 = coords_bg.x1; - bffa: ab1a add r3, sp, #104 ; 0x68 - bffc: 2200 movs r2, #0 - bffe: 5e9b ldrsh r3, [r3, r2] - c000: a922 add r1, sp, #136 ; 0x88 - c002: 800b strh r3, [r1, #0] + c062: ab1a add r3, sp, #104 ; 0x68 + c064: 2200 movs r2, #0 + c066: 5e9b ldrsh r3, [r3, r2] + c068: a922 add r1, sp, #136 ; 0x88 + c06a: 800b strh r3, [r1, #0] fill_area2.x2 = coords_bg.x1 + rout - 1; - c004: 4642 mov r2, r8 - c006: 4668 mov r0, sp - c008: 8702 strh r2, [r0, #56] ; 0x38 - c00a: 8f04 ldrh r4, [r0, #56] ; 0x38 - c00c: 3b01 subs r3, #1 - c00e: 18e3 adds r3, r4, r3 - c010: 808b strh r3, [r1, #4] + c06c: 4642 mov r2, r8 + c06e: 4668 mov r0, sp + c070: 8702 strh r2, [r0, #56] ; 0x38 + c072: 8f04 ldrh r4, [r0, #56] ; 0x38 + c074: 3b01 subs r3, #1 + c076: 18e3 adds r3, r4, r3 + c078: 808b strh r3, [r1, #4] fill_area2.y1 = fill_area.y1; - c012: ab1e add r3, sp, #120 ; 0x78 - c014: 885a ldrh r2, [r3, #2] - c016: 804a strh r2, [r1, #2] + c07a: ab1e add r3, sp, #120 ; 0x78 + c07c: 885a ldrh r2, [r3, #2] + c07e: 804a strh r2, [r1, #2] fill_area2.y2 = fill_area.y2; - c018: 88db ldrh r3, [r3, #6] - c01a: 80cb strh r3, [r1, #6] + c080: 88db ldrh r3, [r3, #6] + c082: 80cb strh r3, [r1, #6] _lv_blend_fill(clip, &fill_area2, - c01c: 7b73 ldrb r3, [r6, #13] - c01e: 9302 str r3, [sp, #8] - c020: 465b mov r3, fp - c022: 9301 str r3, [sp, #4] - c024: 9b05 ldr r3, [sp, #20] - c026: 9300 str r3, [sp, #0] - c028: 9b06 ldr r3, [sp, #24] - c02a: 8c02 ldrh r2, [r0, #32] - c02c: 9804 ldr r0, [sp, #16] - c02e: 4f7b ldr r7, [pc, #492] ; (c21c ) - c030: 47b8 blx r7 + c084: 7b73 ldrb r3, [r6, #13] + c086: 9302 str r3, [sp, #8] + c088: 465b mov r3, fp + c08a: 9301 str r3, [sp, #4] + c08c: 9b05 ldr r3, [sp, #20] + c08e: 9300 str r3, [sp, #0] + c090: 9b06 ldr r3, [sp, #24] + c092: 8c02 ldrh r2, [r0, #32] + c094: 9804 ldr r0, [sp, #16] + c096: 4f7b ldr r7, [pc, #492] ; (c284 ) + c098: 47b8 blx r7 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) { - c032: 79b3 ldrb r3, [r6, #6] - c034: 2b01 cmp r3, #1 - c036: d02e beq.n c096 + c09a: 79b3 ldrb r3, [r6, #6] + c09c: 2b01 cmp r3, #1 + c09e: d02e beq.n c0fe fill_area2.x1 = coords_bg.x2 - rout + 1; - c038: ab1a add r3, sp, #104 ; 0x68 - c03a: 2204 movs r2, #4 - c03c: 5e9b ldrsh r3, [r3, r2] - c03e: a922 add r1, sp, #136 ; 0x88 - c040: 1c5a adds r2, r3, #1 - c042: 1b14 subs r4, r2, r4 - c044: 800c strh r4, [r1, #0] + c0a0: ab1a add r3, sp, #104 ; 0x68 + c0a2: 2204 movs r2, #4 + c0a4: 5e9b ldrsh r3, [r3, r2] + c0a6: a922 add r1, sp, #136 ; 0x88 + c0a8: 1c5a adds r2, r3, #1 + c0aa: 1b14 subs r4, r2, r4 + c0ac: 800c strh r4, [r1, #0] fill_area2.x2 = coords_bg.x2; - c046: 808b strh r3, [r1, #4] + c0ae: 808b strh r3, [r1, #4] int32_t mask_ofs = (coords_bg.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - c048: 4642 mov r2, r8 - c04a: 1a9b subs r3, r3, r2 - c04c: 3301 adds r3, #1 - c04e: 464a mov r2, r9 - c050: 2110 movs r1, #16 - c052: 5e52 ldrsh r2, [r2, r1] - c054: a90e add r1, sp, #56 ; 0x38 - c056: 2038 movs r0, #56 ; 0x38 - c058: 5e09 ldrsh r1, [r1, r0] - c05a: 1852 adds r2, r2, r1 - c05c: 1a9b subs r3, r3, r2 + c0b0: 4642 mov r2, r8 + c0b2: 1a9b subs r3, r3, r2 + c0b4: 3301 adds r3, #1 + c0b6: 464a mov r2, r9 + c0b8: 2110 movs r1, #16 + c0ba: 5e52 ldrsh r2, [r2, r1] + c0bc: a90e add r1, sp, #56 ; 0x38 + c0be: 2038 movs r0, #56 ; 0x38 + c0c0: 5e09 ldrsh r1, [r1, r0] + c0c2: 1852 adds r2, r2, r1 + c0c4: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, - c05e: 43da mvns r2, r3 - c060: 17d2 asrs r2, r2, #31 - c062: 4013 ands r3, r2 - c064: 9a06 ldr r2, [sp, #24] - c066: 4694 mov ip, r2 - c068: 4463 add r3, ip - c06a: 7b72 ldrb r2, [r6, #13] - c06c: 9202 str r2, [sp, #8] - c06e: 465a mov r2, fp - c070: 9201 str r2, [sp, #4] - c072: 9a05 ldr r2, [sp, #20] - c074: 9200 str r2, [sp, #0] - c076: 466a mov r2, sp - c078: 8c12 ldrh r2, [r2, #32] - c07a: a922 add r1, sp, #136 ; 0x88 - c07c: 9804 ldr r0, [sp, #16] - c07e: 4c67 ldr r4, [pc, #412] ; (c21c ) - c080: 47a0 blx r4 - c082: e6dc b.n be3e + c0c6: 43da mvns r2, r3 + c0c8: 17d2 asrs r2, r2, #31 + c0ca: 4013 ands r3, r2 + c0cc: 9a06 ldr r2, [sp, #24] + c0ce: 4694 mov ip, r2 + c0d0: 4463 add r3, ip + c0d2: 7b72 ldrb r2, [r6, #13] + c0d4: 9202 str r2, [sp, #8] + c0d6: 465a mov r2, fp + c0d8: 9201 str r2, [sp, #4] + c0da: 9a05 ldr r2, [sp, #20] + c0dc: 9200 str r2, [sp, #0] + c0de: 466a mov r2, sp + c0e0: 8c12 ldrh r2, [r2, #32] + c0e2: a922 add r1, sp, #136 ; 0x88 + c0e4: 9804 ldr r0, [sp, #16] + c0e6: 4c67 ldr r4, [pc, #412] ; (c284 ) + c0e8: 47a0 blx r4 + c0ea: e6dc b.n bea6 if(i >= max) return dsc->bg_grad_color; - c084: 7931 ldrb r1, [r6, #4] - c086: 06c9 lsls r1, r1, #27 - c088: 0ec8 lsrs r0, r1, #27 - c08a: 88b3 ldrh r3, [r6, #4] - c08c: 055b lsls r3, r3, #21 - c08e: 0e9b lsrs r3, r3, #26 - c090: 7972 ldrb r2, [r6, #5] - c092: 08d2 lsrs r2, r2, #3 - c094: e78a b.n bfac + c0ec: 7931 ldrb r1, [r6, #4] + c0ee: 06c9 lsls r1, r1, #27 + c0f0: 0ec8 lsrs r0, r1, #27 + c0f2: 88b3 ldrh r3, [r6, #4] + c0f4: 055b lsls r3, r3, #21 + c0f6: 0e9b lsrs r3, r3, #26 + c0f8: 7972 ldrb r2, [r6, #5] + c0fa: 08d2 lsrs r2, r2, #3 + c0fc: e78a b.n c014 fill_area2.x1 = coords_bg.x1 + rout; - c096: a922 add r1, sp, #136 ; 0x88 - c098: aa1a add r2, sp, #104 ; 0x68 - c09a: 8813 ldrh r3, [r2, #0] - c09c: 18e3 adds r3, r4, r3 - c09e: 800b strh r3, [r1, #0] + c0fe: a922 add r1, sp, #136 ; 0x88 + c100: aa1a add r2, sp, #104 ; 0x68 + c102: 8813 ldrh r3, [r2, #0] + c104: 18e3 adds r3, r4, r3 + c106: 800b strh r3, [r1, #0] fill_area2.x2 = coords_bg.x2 - rout; - c0a0: 8893 ldrh r3, [r2, #4] - c0a2: 1b1b subs r3, r3, r4 - c0a4: 808b strh r3, [r1, #4] + c108: 8893 ldrh r3, [r2, #4] + c10a: 1b1b subs r3, r3, r4 + c10c: 808b strh r3, [r1, #4] _lv_blend_fill(clip, &fill_area2, - c0a6: 7b73 ldrb r3, [r6, #13] - c0a8: 9302 str r3, [sp, #8] - c0aa: 465b mov r3, fp - c0ac: 9301 str r3, [sp, #4] - c0ae: 2301 movs r3, #1 - c0b0: 9300 str r3, [sp, #0] - c0b2: 2300 movs r3, #0 - c0b4: 466a mov r2, sp - c0b6: 8c12 ldrh r2, [r2, #32] - c0b8: 9804 ldr r0, [sp, #16] - c0ba: 4f58 ldr r7, [pc, #352] ; (c21c ) - c0bc: 47b8 blx r7 - c0be: e7bb b.n c038 + c10e: 7b73 ldrb r3, [r6, #13] + c110: 9302 str r3, [sp, #8] + c112: 465b mov r3, fp + c114: 9301 str r3, [sp, #4] + c116: 2301 movs r3, #1 + c118: 9300 str r3, [sp, #0] + c11a: 2300 movs r3, #0 + c11c: 466a mov r2, sp + c11e: 8c12 ldrh r2, [r2, #32] + c120: 9804 ldr r0, [sp, #16] + c122: 4f58 ldr r7, [pc, #352] ; (c284 ) + c124: 47b8 blx r7 + c126: e7bb b.n c0a0 _lv_blend_map(clip, &fill_area, grad_map, mask_buf, mask_res, opa, dsc->bg_blend_mode); - c0c0: 7b73 ldrb r3, [r6, #13] - c0c2: 9302 str r3, [sp, #8] - c0c4: 465b mov r3, fp - c0c6: 9301 str r3, [sp, #4] - c0c8: 9b05 ldr r3, [sp, #20] - c0ca: 9300 str r3, [sp, #0] - c0cc: 9b06 ldr r3, [sp, #24] - c0ce: 9a0d ldr r2, [sp, #52] ; 0x34 - c0d0: a91e add r1, sp, #120 ; 0x78 - c0d2: 9804 ldr r0, [sp, #16] - c0d4: 4c52 ldr r4, [pc, #328] ; (c220 ) - c0d6: 47a0 blx r4 - c0d8: e6b1 b.n be3e - c0da: 46da mov sl, fp - c0dc: 9b10 ldr r3, [sp, #64] ; 0x40 - c0de: 4699 mov r9, r3 - c0e0: 46b3 mov fp, r6 + c128: 7b73 ldrb r3, [r6, #13] + c12a: 9302 str r3, [sp, #8] + c12c: 465b mov r3, fp + c12e: 9301 str r3, [sp, #4] + c130: 9b05 ldr r3, [sp, #20] + c132: 9300 str r3, [sp, #0] + c134: 9b06 ldr r3, [sp, #24] + c136: 9a0d ldr r2, [sp, #52] ; 0x34 + c138: a91e add r1, sp, #120 ; 0x78 + c13a: 9804 ldr r0, [sp, #16] + c13c: 4c52 ldr r4, [pc, #328] ; (c288 ) + c13e: 47a0 blx r4 + c140: e6b1 b.n bea6 + c142: 46da mov sl, fp + c144: 9b10 ldr r3, [sp, #64] ; 0x40 + c146: 4699 mov r9, r3 + c148: 46b3 mov fp, r6 if(dsc->bg_grad_dir == LV_GRAD_DIR_NONE && other_mask_cnt == 0 && split) { - c0e2: 465b mov r3, fp - c0e4: 799b ldrb r3, [r3, #6] - c0e6: 2b00 cmp r3, #0 - c0e8: d105 bne.n c0f6 - c0ea: 9b0c ldr r3, [sp, #48] ; 0x30 - c0ec: 2b00 cmp r3, #0 - c0ee: d102 bne.n c0f6 - c0f0: 9b09 ldr r3, [sp, #36] ; 0x24 - c0f2: 2b32 cmp r3, #50 ; 0x32 - c0f4: dc0c bgt.n c110 + c14a: 465b mov r3, fp + c14c: 799b ldrb r3, [r3, #6] + c14e: 2b00 cmp r3, #0 + c150: d105 bne.n c15e + c152: 9b0c ldr r3, [sp, #48] ; 0x30 + c154: 2b00 cmp r3, #0 + c156: d102 bne.n c15e + c158: 9b09 ldr r3, [sp, #36] ; 0x24 + c15a: 2b32 cmp r3, #50 ; 0x32 + c15c: dc0c bgt.n c178 if(grad_map) _lv_mem_buf_release(grad_map); - c0f6: 9b0d ldr r3, [sp, #52] ; 0x34 - c0f8: 2b00 cmp r3, #0 - c0fa: d002 beq.n c102 - c0fc: 0018 movs r0, r3 - c0fe: 4b49 ldr r3, [pc, #292] ; (c224 ) - c100: 4798 blx r3 + c15e: 9b0d ldr r3, [sp, #52] ; 0x34 + c160: 2b00 cmp r3, #0 + c162: d002 beq.n c16a + c164: 0018 movs r0, r3 + c166: 4b49 ldr r3, [pc, #292] ; (c28c ) + c168: 4798 blx r3 lv_draw_mask_remove_id(mask_rout_id); - c102: 980f ldr r0, [sp, #60] ; 0x3c - c104: 4b48 ldr r3, [pc, #288] ; (c228 ) - c106: 4798 blx r3 + c16a: 980f ldr r0, [sp, #60] ; 0x3c + c16c: 4b48 ldr r3, [pc, #288] ; (c290 ) + c16e: 4798 blx r3 _lv_mem_buf_release(mask_buf); - c108: 9806 ldr r0, [sp, #24] - c10a: 4b46 ldr r3, [pc, #280] ; (c224 ) - c10c: 4798 blx r3 - c10e: e46f b.n b9f0 + c170: 9806 ldr r0, [sp, #24] + c172: 4b46 ldr r3, [pc, #280] ; (c28c ) + c174: 4798 blx r3 + c176: e46f b.n ba58 fill_area.x1 = coords_bg.x1 + rout; - c110: 4643 mov r3, r8 - c112: 466a mov r2, sp - c114: 8293 strh r3, [r2, #20] - c116: 8a96 ldrh r6, [r2, #20] - c118: ac1e add r4, sp, #120 ; 0x78 - c11a: ad1a add r5, sp, #104 ; 0x68 - c11c: 882b ldrh r3, [r5, #0] - c11e: 18f3 adds r3, r6, r3 - c120: 8023 strh r3, [r4, #0] + c178: 4643 mov r3, r8 + c17a: 466a mov r2, sp + c17c: 8293 strh r3, [r2, #20] + c17e: 8a96 ldrh r6, [r2, #20] + c180: ac1e add r4, sp, #120 ; 0x78 + c182: ad1a add r5, sp, #104 ; 0x68 + c184: 882b ldrh r3, [r5, #0] + c186: 18f3 adds r3, r6, r3 + c188: 8023 strh r3, [r4, #0] fill_area.x2 = coords_bg.x2 - rout; - c122: 88ab ldrh r3, [r5, #4] - c124: 1b9b subs r3, r3, r6 - c126: 80a3 strh r3, [r4, #4] + c18a: 88ab ldrh r3, [r5, #4] + c18c: 1b9b subs r3, r3, r6 + c18e: 80a3 strh r3, [r4, #4] fill_area.y1 = coords_bg.y1; - c128: 2202 movs r2, #2 - c12a: 5eab ldrsh r3, [r5, r2] - c12c: 8063 strh r3, [r4, #2] + c190: 2202 movs r2, #2 + c192: 5eab ldrsh r3, [r5, r2] + c194: 8063 strh r3, [r4, #2] fill_area.y2 = coords_bg.y1 + rout; - c12e: 18f3 adds r3, r6, r3 - c130: 80e3 strh r3, [r4, #6] + c196: 18f3 adds r3, r6, r3 + c198: 80e3 strh r3, [r4, #6] _lv_blend_fill(clip, &fill_area, - c132: 465b mov r3, fp - c134: 885a ldrh r2, [r3, #2] - c136: 7b5b ldrb r3, [r3, #13] - c138: 9302 str r3, [sp, #8] - c13a: 4653 mov r3, sl - c13c: 9301 str r3, [sp, #4] - c13e: 2301 movs r3, #1 - c140: 9300 str r3, [sp, #0] - c142: 2300 movs r3, #0 - c144: 0021 movs r1, r4 - c146: 9804 ldr r0, [sp, #16] - c148: 4f34 ldr r7, [pc, #208] ; (c21c ) - c14a: 47b8 blx r7 + c19a: 465b mov r3, fp + c19c: 885a ldrh r2, [r3, #2] + c19e: 7b5b ldrb r3, [r3, #13] + c1a0: 9302 str r3, [sp, #8] + c1a2: 4653 mov r3, sl + c1a4: 9301 str r3, [sp, #4] + c1a6: 2301 movs r3, #1 + c1a8: 9300 str r3, [sp, #0] + c1aa: 2300 movs r3, #0 + c1ac: 0021 movs r1, r4 + c1ae: 9804 ldr r0, [sp, #16] + c1b0: 4f34 ldr r7, [pc, #208] ; (c284 ) + c1b2: 47b8 blx r7 fill_area.y1 = coords_bg.y2 - rout; - c14c: 2306 movs r3, #6 - c14e: 5ee9 ldrsh r1, [r5, r3] - c150: 1b8a subs r2, r1, r6 - c152: b212 sxth r2, r2 - c154: 8062 strh r2, [r4, #2] + c1b4: 2306 movs r3, #6 + c1b6: 5ee9 ldrsh r1, [r5, r3] + c1b8: 1b8a subs r2, r1, r6 + c1ba: b212 sxth r2, r2 + c1bc: 8062 strh r2, [r4, #2] if(fill_area.y1 <= fill_area.y2) fill_area.y1 = fill_area.y2 + 1; /*Avoid overdrawing the last line*/ - c156: 2006 movs r0, #6 - c158: 5e23 ldrsh r3, [r4, r0] - c15a: 429a cmp r2, r3 - c15c: dc02 bgt.n c164 - c15e: 3301 adds r3, #1 - c160: aa1e add r2, sp, #120 ; 0x78 - c162: 8053 strh r3, [r2, #2] + c1be: 2006 movs r0, #6 + c1c0: 5e23 ldrsh r3, [r4, r0] + c1c2: 429a cmp r2, r3 + c1c4: dc02 bgt.n c1cc + c1c6: 3301 adds r3, #1 + c1c8: aa1e add r2, sp, #120 ; 0x78 + c1ca: 8053 strh r3, [r2, #2] fill_area.y2 = coords_bg.y2; - c164: ac1e add r4, sp, #120 ; 0x78 - c166: 80e1 strh r1, [r4, #6] + c1cc: ac1e add r4, sp, #120 ; 0x78 + c1ce: 80e1 strh r1, [r4, #6] _lv_blend_fill(clip, &fill_area, - c168: 465b mov r3, fp - c16a: 885a ldrh r2, [r3, #2] - c16c: 7b5b ldrb r3, [r3, #13] - c16e: 9302 str r3, [sp, #8] - c170: 4653 mov r3, sl - c172: 9301 str r3, [sp, #4] - c174: 2701 movs r7, #1 - c176: 9700 str r7, [sp, #0] - c178: 2300 movs r3, #0 - c17a: 0021 movs r1, r4 - c17c: 9804 ldr r0, [sp, #16] - c17e: 4d27 ldr r5, [pc, #156] ; (c21c ) - c180: 47a8 blx r5 + c1d0: 465b mov r3, fp + c1d2: 885a ldrh r2, [r3, #2] + c1d4: 7b5b ldrb r3, [r3, #13] + c1d6: 9302 str r3, [sp, #8] + c1d8: 4653 mov r3, sl + c1da: 9301 str r3, [sp, #4] + c1dc: 2701 movs r7, #1 + c1de: 9700 str r7, [sp, #0] + c1e0: 2300 movs r3, #0 + c1e2: 0021 movs r1, r4 + c1e4: 9804 ldr r0, [sp, #16] + c1e6: 4d27 ldr r5, [pc, #156] ; (c284 ) + c1e8: 47a8 blx r5 fill_area.x1 = coords_bg.x1; - c182: aa1a add r2, sp, #104 ; 0x68 - c184: 8813 ldrh r3, [r2, #0] - c186: 8023 strh r3, [r4, #0] + c1ea: aa1a add r2, sp, #104 ; 0x68 + c1ec: 8813 ldrh r3, [r2, #0] + c1ee: 8023 strh r3, [r4, #0] fill_area.x2 = coords_bg.x2; - c188: 8893 ldrh r3, [r2, #4] - c18a: 80a3 strh r3, [r4, #4] + c1f0: 8893 ldrh r3, [r2, #4] + c1f2: 80a3 strh r3, [r4, #4] fill_area.y1 = coords_bg.y1 + rout + 1; - c18c: 8853 ldrh r3, [r2, #2] - c18e: 3301 adds r3, #1 - c190: 18f3 adds r3, r6, r3 - c192: 8063 strh r3, [r4, #2] + c1f4: 8853 ldrh r3, [r2, #2] + c1f6: 3301 adds r3, #1 + c1f8: 18f3 adds r3, r6, r3 + c1fa: 8063 strh r3, [r4, #2] fill_area.y2 = coords_bg.y2 - rout - 1; - c194: 88d3 ldrh r3, [r2, #6] - c196: 3b01 subs r3, #1 - c198: 1b9e subs r6, r3, r6 - c19a: 80e6 strh r6, [r4, #6] + c1fc: 88d3 ldrh r3, [r2, #6] + c1fe: 3b01 subs r3, #1 + c200: 1b9e subs r6, r3, r6 + c202: 80e6 strh r6, [r4, #6] _lv_blend_fill(clip, &fill_area, - c19c: 465b mov r3, fp - c19e: 885a ldrh r2, [r3, #2] - c1a0: 7b5b ldrb r3, [r3, #13] - c1a2: 9302 str r3, [sp, #8] - c1a4: 4653 mov r3, sl - c1a6: 9301 str r3, [sp, #4] - c1a8: 9700 str r7, [sp, #0] - c1aa: 2300 movs r3, #0 - c1ac: 0021 movs r1, r4 - c1ae: 9804 ldr r0, [sp, #16] - c1b0: 47a8 blx r5 - c1b2: e7a0 b.n c0f6 + c204: 465b mov r3, fp + c206: 885a ldrh r2, [r3, #2] + c208: 7b5b ldrb r3, [r3, #13] + c20a: 9302 str r3, [sp, #8] + c20c: 4653 mov r3, sl + c20e: 9301 str r3, [sp, #4] + c210: 9700 str r7, [sp, #0] + c212: 2300 movs r3, #0 + c214: 0021 movs r1, r4 + c216: 9804 ldr r0, [sp, #16] + c218: 47a8 blx r5 + c21a: e7a0 b.n c15e lv_img_src_t src_type = lv_img_src_get_type(dsc->pattern_image); - c1b4: 4b1d ldr r3, [pc, #116] ; (c22c ) - c1b6: 4798 blx r3 - c1b8: 0007 movs r7, r0 + c21c: 4b1d ldr r3, [pc, #116] ; (c294 ) + c21e: 4798 blx r3 + c220: 0007 movs r7, r0 if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_VARIABLE) { - c1ba: 2801 cmp r0, #1 - c1bc: d909 bls.n c1d2 + c222: 2801 cmp r0, #1 + c224: d909 bls.n c23a else if(src_type == LV_IMG_SRC_SYMBOL) { - c1be: 2802 cmp r0, #2 - c1c0: d03c beq.n c23c + c226: 2802 cmp r0, #2 + c228: d03c beq.n c2a4 lv_draw_img(coords, clip, NULL, NULL); - c1c2: 2300 movs r3, #0 - c1c4: 2200 movs r2, #0 - c1c6: 9904 ldr r1, [sp, #16] - c1c8: 4648 mov r0, r9 - c1ca: 4c19 ldr r4, [pc, #100] ; (c230 ) - c1cc: 47a0 blx r4 - c1ce: f7ff fc1a bl ba06 + c22a: 2300 movs r3, #0 + c22c: 2200 movs r2, #0 + c22e: 9904 ldr r1, [sp, #16] + c230: 4648 mov r0, r9 + c232: 4c19 ldr r4, [pc, #100] ; (c298 ) + c234: 47a0 blx r4 + c236: f7ff fc1a bl ba6e lv_res_t res = lv_img_decoder_get_info(dsc->pattern_image, &header); - c1d2: a929 add r1, sp, #164 ; 0xa4 - c1d4: 465b mov r3, fp - c1d6: 6ad8 ldr r0, [r3, #44] ; 0x2c - c1d8: 4b16 ldr r3, [pc, #88] ; (c234 ) - c1da: 4798 blx r3 + c23a: a929 add r1, sp, #164 ; 0xa4 + c23c: 465b mov r3, fp + c23e: 6ad8 ldr r0, [r3, #44] ; 0x2c + c240: 4b16 ldr r3, [pc, #88] ; (c29c ) + c242: 4798 blx r3 if(res != LV_RES_OK) { - c1dc: 2801 cmp r0, #1 - c1de: d001 beq.n c1e4 - c1e0: f7ff fc11 bl ba06 + c244: 2801 cmp r0, #1 + c246: d001 beq.n c24c + c248: f7ff fc11 bl ba6e img_w = header.w; - c1e4: 9b29 ldr r3, [sp, #164] ; 0xa4 - c1e6: 02dd lsls r5, r3, #11 - c1e8: 0d6d lsrs r5, r5, #21 + c24c: 9b29 ldr r3, [sp, #164] ; 0xa4 + c24e: 02dd lsls r5, r3, #11 + c250: 0d6d lsrs r5, r5, #21 img_h = header.h; - c1ea: 236e movs r3, #110 ; 0x6e - c1ec: aa0e add r2, sp, #56 ; 0x38 - c1ee: 4694 mov ip, r2 - c1f0: 4463 add r3, ip - c1f2: 881e ldrh r6, [r3, #0] - c1f4: 0976 lsrs r6, r6, #5 + c252: 236e movs r3, #110 ; 0x6e + c254: aa0e add r2, sp, #56 ; 0x38 + c256: 4694 mov ip, r2 + c258: 4463 add r3, ip + c25a: 881e ldrh r6, [r3, #0] + c25c: 0976 lsrs r6, r6, #5 lv_draw_img_dsc_init(&img_dsc); - c1f6: ac1e add r4, sp, #120 ; 0x78 - c1f8: 0020 movs r0, r4 - c1fa: 4b0f ldr r3, [pc, #60] ; (c238 ) - c1fc: 4798 blx r3 + c25e: ac1e add r4, sp, #120 ; 0x78 + c260: 0020 movs r0, r4 + c262: 4b0f ldr r3, [pc, #60] ; (c2a0 ) + c264: 4798 blx r3 img_dsc.opa = dsc->pattern_opa; - c1fe: 2336 movs r3, #54 ; 0x36 - c200: 465a mov r2, fp - c202: 5cd3 ldrb r3, [r2, r3] - c204: 7023 strb r3, [r4, #0] + c266: 2336 movs r3, #54 ; 0x36 + c268: 465a mov r2, fp + c26a: 5cd3 ldrb r3, [r2, r3] + c26c: 7023 strb r3, [r4, #0] img_dsc.recolor_opa = dsc->pattern_recolor_opa; - c206: 2337 movs r3, #55 ; 0x37 - c208: 5cd3 ldrb r3, [r2, r3] - c20a: 72a3 strb r3, [r4, #10] + c26e: 2337 movs r3, #55 ; 0x37 + c270: 5cd3 ldrb r3, [r2, r3] + c272: 72a3 strb r3, [r4, #10] img_dsc.recolor = dsc->pattern_recolor; - c20c: 8e93 ldrh r3, [r2, #52] ; 0x34 - c20e: 81a3 strh r3, [r4, #12] - c210: e037 b.n c282 - c212: 46c0 nop ; (mov r8, r8) - c214: 00017a75 .word 0x00017a75 - c218: fffff81f .word 0xfffff81f - c21c: 00005c05 .word 0x00005c05 - c220: 000068e9 .word 0x000068e9 - c224: 00010b6d .word 0x00010b6d - c228: 0000a611 .word 0x0000a611 - c22c: 000080f9 .word 0x000080f9 - c230: 00007ed9 .word 0x00007ed9 - c234: 0000e4e1 .word 0x0000e4e1 - c238: 00007e45 .word 0x00007e45 + c274: 8e93 ldrh r3, [r2, #52] ; 0x34 + c276: 81a3 strh r3, [r4, #12] + c278: e037 b.n c2ea + c27a: 46c0 nop ; (mov r8, r8) + c27c: 00017b05 .word 0x00017b05 + c280: fffff81f .word 0xfffff81f + c284: 00005c6d .word 0x00005c6d + c288: 00006951 .word 0x00006951 + c28c: 00010bd5 .word 0x00010bd5 + c290: 0000a679 .word 0x0000a679 + c294: 00008161 .word 0x00008161 + c298: 00007f41 .word 0x00007f41 + c29c: 0000e549 .word 0x0000e549 + c2a0: 00007ead .word 0x00007ead lv_draw_label_dsc_init(&label_dsc); - c23c: ac22 add r4, sp, #136 ; 0x88 - c23e: 0020 movs r0, r4 - c240: 4b87 ldr r3, [pc, #540] ; (c460 ) - c242: 4798 blx r3 + c2a4: ac22 add r4, sp, #136 ; 0x88 + c2a6: 0020 movs r0, r4 + c2a8: 4b87 ldr r3, [pc, #540] ; (c4c8 ) + c2aa: 4798 blx r3 label_dsc.color = dsc->pattern_recolor; - c244: 465b mov r3, fp - c246: 8e9b ldrh r3, [r3, #52] ; 0x34 - c248: 8023 strh r3, [r4, #0] + c2ac: 465b mov r3, fp + c2ae: 8e9b ldrh r3, [r3, #52] ; 0x34 + c2b0: 8023 strh r3, [r4, #0] label_dsc.font = dsc->pattern_font; - c24a: 465b mov r3, fp - c24c: 6b1b ldr r3, [r3, #48] ; 0x30 - c24e: 6063 str r3, [r4, #4] + c2b2: 465b mov r3, fp + c2b4: 6b1b ldr r3, [r3, #48] ; 0x30 + c2b6: 6063 str r3, [r4, #4] label_dsc.opa = dsc->pattern_opa; - c250: 2336 movs r3, #54 ; 0x36 - c252: 465a mov r2, fp - c254: 5cd3 ldrb r3, [r2, r3] - c256: 7223 strb r3, [r4, #8] + c2b8: 2336 movs r3, #54 ; 0x36 + c2ba: 465a mov r2, fp + c2bc: 5cd3 ldrb r3, [r2, r3] + c2be: 7223 strb r3, [r4, #8] _lv_txt_get_size(&s, dsc->pattern_image, label_dsc.font, label_dsc.letter_space, label_dsc.line_space, LV_COORD_MAX, - c258: 220c movs r2, #12 - c25a: 5ea3 ldrsh r3, [r4, r2] - c25c: ae29 add r6, sp, #164 ; 0xa4 - c25e: 2200 movs r2, #0 - c260: 9202 str r2, [sp, #8] - c262: 4a80 ldr r2, [pc, #512] ; (c464 ) - c264: 9201 str r2, [sp, #4] - c266: 210a movs r1, #10 - c268: 5e62 ldrsh r2, [r4, r1] - c26a: 9200 str r2, [sp, #0] - c26c: 465a mov r2, fp - c26e: 6b12 ldr r2, [r2, #48] ; 0x30 - c270: 4659 mov r1, fp - c272: 6ac9 ldr r1, [r1, #44] ; 0x2c - c274: 0030 movs r0, r6 - c276: 4c7c ldr r4, [pc, #496] ; (c468 ) - c278: 47a0 blx r4 + c2c0: 220c movs r2, #12 + c2c2: 5ea3 ldrsh r3, [r4, r2] + c2c4: ae29 add r6, sp, #164 ; 0xa4 + c2c6: 2200 movs r2, #0 + c2c8: 9202 str r2, [sp, #8] + c2ca: 4a80 ldr r2, [pc, #512] ; (c4cc ) + c2cc: 9201 str r2, [sp, #4] + c2ce: 210a movs r1, #10 + c2d0: 5e62 ldrsh r2, [r4, r1] + c2d2: 9200 str r2, [sp, #0] + c2d4: 465a mov r2, fp + c2d6: 6b12 ldr r2, [r2, #48] ; 0x30 + c2d8: 4659 mov r1, fp + c2da: 6ac9 ldr r1, [r1, #44] ; 0x2c + c2dc: 0030 movs r0, r6 + c2de: 4c7c ldr r4, [pc, #496] ; (c4d0 ) + c2e0: 47a0 blx r4 img_w = s.x; - c27a: 2300 movs r3, #0 - c27c: 5ef5 ldrsh r5, [r6, r3] + c2e2: 2300 movs r3, #0 + c2e4: 5ef5 ldrsh r5, [r6, r3] img_h = s.y; - c27e: 2302 movs r3, #2 - c280: 5ef6 ldrsh r6, [r6, r3] + c2e6: 2302 movs r3, #2 + c2e8: 5ef6 ldrsh r6, [r6, r3] if(dsc->pattern_repeat) { - c282: 2338 movs r3, #56 ; 0x38 - c284: 465a mov r2, fp - c286: 5cd3 ldrb r3, [r2, r3] - c288: 07db lsls r3, r3, #31 - c28a: d43d bmi.n c308 + c2ea: 2338 movs r3, #56 ; 0x38 + c2ec: 465a mov r2, fp + c2ee: 5cd3 ldrb r3, [r2, r3] + c2f0: 07db lsls r3, r3, #31 + c2f2: d43d bmi.n c370 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c28c: 464b mov r3, r9 - c28e: 8818 ldrh r0, [r3, #0] + c2f4: 464b mov r3, r9 + c2f6: 8818 ldrh r0, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c290: 8859 ldrh r1, [r3, #2] - c292: 88db ldrh r3, [r3, #6] - c294: 3301 adds r3, #1 - c296: 1a5b subs r3, r3, r1 + c2f8: 8859 ldrh r1, [r3, #2] + c2fa: 88db ldrh r3, [r3, #6] + c2fc: 3301 adds r3, #1 + c2fe: 1a5b subs r3, r3, r1 int32_t obj_h = lv_area_get_height(coords); - c298: b21b sxth r3, r3 + c300: b21b sxth r3, r3 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c29a: 464a mov r2, r9 - c29c: 8892 ldrh r2, [r2, #4] - c29e: 3201 adds r2, #1 - c2a0: 1a12 subs r2, r2, r0 + c302: 464a mov r2, r9 + c304: 8892 ldrh r2, [r2, #4] + c306: 3201 adds r2, #1 + c308: 1a12 subs r2, r2, r0 int32_t obj_w = lv_area_get_width(coords); - c2a2: b212 sxth r2, r2 + c30a: b212 sxth r2, r2 coords_tmp.x1 = coords->x1 + (obj_w - img_w) / 2; - c2a4: 1b52 subs r2, r2, r5 - c2a6: 0fd4 lsrs r4, r2, #31 - c2a8: 18a2 adds r2, r4, r2 - c2aa: 1052 asrs r2, r2, #1 - c2ac: 1880 adds r0, r0, r2 - c2ae: b280 uxth r0, r0 - c2b0: aa1c add r2, sp, #112 ; 0x70 - c2b2: 8010 strh r0, [r2, #0] + c30c: 1b52 subs r2, r2, r5 + c30e: 0fd4 lsrs r4, r2, #31 + c310: 18a2 adds r2, r4, r2 + c312: 1052 asrs r2, r2, #1 + c314: 1880 adds r0, r0, r2 + c316: b280 uxth r0, r0 + c318: aa1c add r2, sp, #112 ; 0x70 + c31a: 8010 strh r0, [r2, #0] coords_tmp.y1 = coords->y1 + (obj_h - img_h) / 2; - c2b4: 1b9c subs r4, r3, r6 - c2b6: 0fe3 lsrs r3, r4, #31 - c2b8: 191b adds r3, r3, r4 - c2ba: 105b asrs r3, r3, #1 - c2bc: 18c9 adds r1, r1, r3 - c2be: b289 uxth r1, r1 - c2c0: 8051 strh r1, [r2, #2] + c31c: 1b9c subs r4, r3, r6 + c31e: 0fe3 lsrs r3, r4, #31 + c320: 191b adds r3, r3, r4 + c322: 105b asrs r3, r3, #1 + c324: 18c9 adds r1, r1, r3 + c326: b289 uxth r1, r1 + c328: 8051 strh r1, [r2, #2] coords_tmp.x2 = coords_tmp.x1 + img_w - 1; - c2c2: 3d01 subs r5, #1 - c2c4: 1945 adds r5, r0, r5 - c2c6: 8095 strh r5, [r2, #4] + c32a: 3d01 subs r5, #1 + c32c: 1945 adds r5, r0, r5 + c32e: 8095 strh r5, [r2, #4] coords_tmp.y2 = coords_tmp.y1 + img_h - 1; - c2c8: 1e73 subs r3, r6, #1 - c2ca: 18cb adds r3, r1, r3 - c2cc: b29b uxth r3, r3 - c2ce: 80d3 strh r3, [r2, #6] + c330: 1e73 subs r3, r6, #1 + c332: 18cb adds r3, r1, r3 + c334: b29b uxth r3, r3 + c336: 80d3 strh r3, [r2, #6] if(src_type == LV_IMG_SRC_SYMBOL) { - c2d0: 2f02 cmp r7, #2 - c2d2: d100 bne.n c2d6 - c2d4: e09a b.n c40c + c338: 2f02 cmp r7, #2 + c33a: d100 bne.n c33e + c33c: e09a b.n c474 if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - c2d6: 465b mov r3, fp - c2d8: 2200 movs r2, #0 - c2da: 5e9a ldrsh r2, [r3, r2] - c2dc: 4649 mov r1, r9 - c2de: a81c add r0, sp, #112 ; 0x70 - c2e0: 4b62 ldr r3, [pc, #392] ; (c46c ) - c2e2: 4798 blx r3 + c33e: 465b mov r3, fp + c340: 2200 movs r2, #0 + c342: 5e9a ldrsh r2, [r3, r2] + c344: 4649 mov r1, r9 + c346: a81c add r0, sp, #112 ; 0x70 + c348: 4b62 ldr r3, [pc, #392] ; (c4d4 ) + c34a: 4798 blx r3 int16_t radius_mask_id = LV_MASK_ID_INV; - c2e4: 2401 movs r4, #1 - c2e6: 4264 negs r4, r4 + c34c: 2401 movs r4, #1 + c34e: 4264 negs r4, r4 if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - c2e8: 2800 cmp r0, #0 - c2ea: d101 bne.n c2f0 - c2ec: f000 feab bl d046 + c350: 2800 cmp r0, #0 + c352: d101 bne.n c358 + c354: f000 feab bl d0ae else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - c2f0: ab1e add r3, sp, #120 ; 0x78 - c2f2: 465a mov r2, fp - c2f4: 6ad2 ldr r2, [r2, #44] ; 0x2c - c2f6: 9904 ldr r1, [sp, #16] - c2f8: a81c add r0, sp, #112 ; 0x70 - c2fa: 4d5d ldr r5, [pc, #372] ; (c470 ) - c2fc: 47a8 blx r5 + c358: ab1e add r3, sp, #120 ; 0x78 + c35a: 465a mov r2, fp + c35c: 6ad2 ldr r2, [r2, #44] ; 0x2c + c35e: 9904 ldr r1, [sp, #16] + c360: a81c add r0, sp, #112 ; 0x70 + c362: 4d5d ldr r5, [pc, #372] ; (c4d8 ) + c364: 47a8 blx r5 lv_draw_mask_remove_id(radius_mask_id); - c2fe: 0020 movs r0, r4 - c300: 4b5c ldr r3, [pc, #368] ; (c474 ) - c302: 4798 blx r3 - c304: f7ff fb7f bl ba06 + c366: 0020 movs r0, r4 + c368: 4b5c ldr r3, [pc, #368] ; (c4dc ) + c36a: 4798 blx r3 + c36c: f7ff fb7f bl ba6e lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - c308: 465b mov r3, fp - c30a: 2200 movs r2, #0 - c30c: 5e9a ldrsh r2, [r3, r2] - c30e: 2300 movs r3, #0 - c310: 4649 mov r1, r9 - c312: a829 add r0, sp, #164 ; 0xa4 - c314: 4c58 ldr r4, [pc, #352] ; (c478 ) - c316: 47a0 blx r4 + c370: 465b mov r3, fp + c372: 2200 movs r2, #0 + c374: 5e9a ldrsh r2, [r3, r2] + c376: 2300 movs r3, #0 + c378: 4649 mov r1, r9 + c37a: a829 add r0, sp, #164 ; 0xa4 + c37c: 4c58 ldr r4, [pc, #352] ; (c4e0 ) + c37e: 47a0 blx r4 int16_t radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - c318: 2100 movs r1, #0 - c31a: a829 add r0, sp, #164 ; 0xa4 - c31c: 4b57 ldr r3, [pc, #348] ; (c47c ) - c31e: 4798 blx r3 - c320: 9007 str r0, [sp, #28] - c322: 464b mov r3, r9 - c324: 8898 ldrh r0, [r3, #4] - c326: 3001 adds r0, #1 - c328: 881b ldrh r3, [r3, #0] - c32a: 1ac0 subs r0, r0, r3 + c380: 2100 movs r1, #0 + c382: a829 add r0, sp, #164 ; 0xa4 + c384: 4b57 ldr r3, [pc, #348] ; (c4e4 ) + c386: 4798 blx r3 + c388: 9007 str r0, [sp, #28] + c38a: 464b mov r3, r9 + c38c: 8898 ldrh r0, [r3, #4] + c38e: 3001 adds r0, #1 + c390: 881b ldrh r3, [r3, #0] + c392: 1ac0 subs r0, r0, r3 int32_t ofs_x = (lv_area_get_width(coords) - (lv_area_get_width(coords) / img_w) * img_w) / 2; - c32c: b200 sxth r0, r0 - c32e: 4b54 ldr r3, [pc, #336] ; (c480 ) - c330: 4698 mov r8, r3 - c332: 0029 movs r1, r5 - c334: 4798 blx r3 - c336: 0fcb lsrs r3, r1, #31 - c338: 1859 adds r1, r3, r1 - c33a: 104b asrs r3, r1, #1 - c33c: 9306 str r3, [sp, #24] + c394: b200 sxth r0, r0 + c396: 4b54 ldr r3, [pc, #336] ; (c4e8 ) + c398: 4698 mov r8, r3 + c39a: 0029 movs r1, r5 + c39c: 4798 blx r3 + c39e: 0fcb lsrs r3, r1, #31 + c3a0: 1859 adds r1, r3, r1 + c3a2: 104b asrs r3, r1, #1 + c3a4: 9306 str r3, [sp, #24] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c33e: 464b mov r3, r9 - c340: 2206 movs r2, #6 - c342: 5e9b ldrsh r3, [r3, r2] - c344: 469a mov sl, r3 - c346: 464b mov r3, r9 - c348: 885c ldrh r4, [r3, #2] - c34a: 4653 mov r3, sl - c34c: 1c58 adds r0, r3, #1 - c34e: 1b00 subs r0, r0, r4 + c3a6: 464b mov r3, r9 + c3a8: 2206 movs r2, #6 + c3aa: 5e9b ldrsh r3, [r3, r2] + c3ac: 469a mov sl, r3 + c3ae: 464b mov r3, r9 + c3b0: 885c ldrh r4, [r3, #2] + c3b2: 4653 mov r3, sl + c3b4: 1c58 adds r0, r3, #1 + c3b6: 1b00 subs r0, r0, r4 int32_t ofs_y = (lv_area_get_height(coords) - (lv_area_get_height(coords) / img_h) * img_h) / 2; - c350: b200 sxth r0, r0 - c352: 0031 movs r1, r6 - c354: 47c0 blx r8 - c356: 0fcb lsrs r3, r1, #31 - c358: 185b adds r3, r3, r1 - c35a: 105b asrs r3, r3, #1 + c3b8: b200 sxth r0, r0 + c3ba: 0031 movs r1, r6 + c3bc: 47c0 blx r8 + c3be: 0fcb lsrs r3, r1, #31 + c3c0: 185b adds r3, r3, r1 + c3c2: 105b asrs r3, r3, #1 coords_tmp.y1 = coords->y1 - ofs_y; - c35c: 1ae4 subs r4, r4, r3 - c35e: b2a4 uxth r4, r4 - c360: b223 sxth r3, r4 - c362: aa1c add r2, sp, #112 ; 0x70 - c364: 8053 strh r3, [r2, #2] + c3c4: 1ae4 subs r4, r4, r3 + c3c6: b2a4 uxth r4, r4 + c3c8: b223 sxth r3, r4 + c3ca: aa1c add r2, sp, #112 ; 0x70 + c3cc: 8053 strh r3, [r2, #2] coords_tmp.y2 = coords_tmp.y1 + img_h - 1; - c366: b2b1 uxth r1, r6 - c368: 4688 mov r8, r1 - c36a: 3901 subs r1, #1 - c36c: 1864 adds r4, r4, r1 - c36e: 80d4 strh r4, [r2, #6] + c3ce: b2b1 uxth r1, r6 + c3d0: 4688 mov r8, r1 + c3d2: 3901 subs r1, #1 + c3d4: 1864 adds r4, r4, r1 + c3d6: 80d4 strh r4, [r2, #6] for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) { - c370: 459a cmp sl, r3 - c372: db46 blt.n c402 + c3d8: 459a cmp sl, r3 + c3da: db46 blt.n c46a coords_tmp.x1 = coords->x1 - ofs_x; - c374: 0014 movs r4, r2 + c3dc: 0014 movs r4, r2 coords_tmp.x2 = coords_tmp.x1 + img_w - 1; - c376: b2ad uxth r5, r5 + c3de: b2ad uxth r5, r5 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - c378: 4b42 ldr r3, [pc, #264] ; (c484 ) - c37a: 469a mov sl, r3 + c3e0: 4b42 ldr r3, [pc, #264] ; (c4ec ) + c3e2: 469a mov sl, r3 else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - c37c: 4e3c ldr r6, [pc, #240] ; (c470 ) + c3e4: 4e3c ldr r6, [pc, #240] ; (c4d8 ) if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - c37e: 9205 str r2, [sp, #20] - c380: 464b mov r3, r9 - c382: 46b9 mov r9, r7 - c384: 001f movs r7, r3 - c386: e02a b.n c3de - c388: 2300 movs r3, #0 - c38a: 9300 str r3, [sp, #0] - c38c: 465b mov r3, fp - c38e: 6adb ldr r3, [r3, #44] ; 0x2c - c390: aa22 add r2, sp, #136 ; 0x88 - c392: 9904 ldr r1, [sp, #16] - c394: 9805 ldr r0, [sp, #20] - c396: 47d0 blx sl + c3e6: 9205 str r2, [sp, #20] + c3e8: 464b mov r3, r9 + c3ea: 46b9 mov r9, r7 + c3ec: 001f movs r7, r3 + c3ee: e02a b.n c446 + c3f0: 2300 movs r3, #0 + c3f2: 9300 str r3, [sp, #0] + c3f4: 465b mov r3, fp + c3f6: 6adb ldr r3, [r3, #44] ; 0x2c + c3f8: aa22 add r2, sp, #136 ; 0x88 + c3fa: 9904 ldr r1, [sp, #16] + c3fc: 9805 ldr r0, [sp, #20] + c3fe: 47d0 blx sl for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) { - c398: 8823 ldrh r3, [r4, #0] - c39a: 18eb adds r3, r5, r3 - c39c: b21b sxth r3, r3 - c39e: 8023 strh r3, [r4, #0] - c3a0: 88a2 ldrh r2, [r4, #4] - c3a2: 18aa adds r2, r5, r2 - c3a4: 80a2 strh r2, [r4, #4] - c3a6: 464a mov r2, r9 - c3a8: 2104 movs r1, #4 - c3aa: 5e52 ldrsh r2, [r2, r1] - c3ac: 429a cmp r2, r3 - c3ae: db08 blt.n c3c2 + c400: 8823 ldrh r3, [r4, #0] + c402: 18eb adds r3, r5, r3 + c404: b21b sxth r3, r3 + c406: 8023 strh r3, [r4, #0] + c408: 88a2 ldrh r2, [r4, #4] + c40a: 18aa adds r2, r5, r2 + c40c: 80a2 strh r2, [r4, #4] + c40e: 464a mov r2, r9 + c410: 2104 movs r1, #4 + c412: 5e52 ldrsh r2, [r2, r1] + c414: 429a cmp r2, r3 + c416: db08 blt.n c42a if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - c3b0: 2f02 cmp r7, #2 - c3b2: d0e9 beq.n c388 + c418: 2f02 cmp r7, #2 + c41a: d0e9 beq.n c3f0 else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - c3b4: ab1e add r3, sp, #120 ; 0x78 - c3b6: 465a mov r2, fp - c3b8: 6ad2 ldr r2, [r2, #44] ; 0x2c - c3ba: 9904 ldr r1, [sp, #16] - c3bc: 9805 ldr r0, [sp, #20] - c3be: 47b0 blx r6 - c3c0: e7ea b.n c398 - c3c2: 464b mov r3, r9 - c3c4: 46b9 mov r9, r7 - c3c6: 001f movs r7, r3 + c41c: ab1e add r3, sp, #120 ; 0x78 + c41e: 465a mov r2, fp + c420: 6ad2 ldr r2, [r2, #44] ; 0x2c + c422: 9904 ldr r1, [sp, #16] + c424: 9805 ldr r0, [sp, #20] + c426: 47b0 blx r6 + c428: e7ea b.n c400 + c42a: 464b mov r3, r9 + c42c: 46b9 mov r9, r7 + c42e: 001f movs r7, r3 for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) { - c3c8: 8863 ldrh r3, [r4, #2] - c3ca: 4443 add r3, r8 - c3cc: b21b sxth r3, r3 - c3ce: 8063 strh r3, [r4, #2] - c3d0: 88e2 ldrh r2, [r4, #6] - c3d2: 4442 add r2, r8 - c3d4: 80e2 strh r2, [r4, #6] - c3d6: 2106 movs r1, #6 - c3d8: 5e7a ldrsh r2, [r7, r1] - c3da: 429a cmp r2, r3 - c3dc: db10 blt.n c400 + c430: 8863 ldrh r3, [r4, #2] + c432: 4443 add r3, r8 + c434: b21b sxth r3, r3 + c436: 8063 strh r3, [r4, #2] + c438: 88e2 ldrh r2, [r4, #6] + c43a: 4442 add r2, r8 + c43c: 80e2 strh r2, [r4, #6] + c43e: 2106 movs r1, #6 + c440: 5e7a ldrsh r2, [r7, r1] + c442: 429a cmp r2, r3 + c444: db10 blt.n c468 coords_tmp.x1 = coords->x1 - ofs_x; - c3de: 883b ldrh r3, [r7, #0] - c3e0: 9a06 ldr r2, [sp, #24] - c3e2: 1a9b subs r3, r3, r2 - c3e4: b29b uxth r3, r3 - c3e6: b21a sxth r2, r3 - c3e8: 8022 strh r2, [r4, #0] + c446: 883b ldrh r3, [r7, #0] + c448: 9a06 ldr r2, [sp, #24] + c44a: 1a9b subs r3, r3, r2 + c44c: b29b uxth r3, r3 + c44e: b21a sxth r2, r3 + c450: 8022 strh r2, [r4, #0] coords_tmp.x2 = coords_tmp.x1 + img_w - 1; - c3ea: 1e69 subs r1, r5, #1 - c3ec: 185b adds r3, r3, r1 - c3ee: 80a3 strh r3, [r4, #4] + c452: 1e69 subs r1, r5, #1 + c454: 185b adds r3, r3, r1 + c456: 80a3 strh r3, [r4, #4] for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) { - c3f0: 2104 movs r1, #4 - c3f2: 5e7b ldrsh r3, [r7, r1] - c3f4: 4293 cmp r3, r2 - c3f6: dbe7 blt.n c3c8 - c3f8: 003b movs r3, r7 - c3fa: 464f mov r7, r9 - c3fc: 4699 mov r9, r3 - c3fe: e7d7 b.n c3b0 - c400: 46b9 mov r9, r7 + c458: 2104 movs r1, #4 + c45a: 5e7b ldrsh r3, [r7, r1] + c45c: 4293 cmp r3, r2 + c45e: dbe7 blt.n c430 + c460: 003b movs r3, r7 + c462: 464f mov r7, r9 + c464: 4699 mov r9, r3 + c466: e7d7 b.n c418 + c468: 46b9 mov r9, r7 lv_draw_mask_remove_id(radius_mask_id); - c402: 9807 ldr r0, [sp, #28] - c404: 4b1b ldr r3, [pc, #108] ; (c474 ) - c406: 4798 blx r3 - c408: f7ff fafd bl ba06 + c46a: 9807 ldr r0, [sp, #28] + c46c: 4b1b ldr r3, [pc, #108] ; (c4dc ) + c46e: 4798 blx r3 + c470: f7ff fafd bl ba6e coords_tmp.y1 += y_corr; - c40c: 2201 movs r2, #1 - c40e: 4014 ands r4, r2 - c410: a81c add r0, sp, #112 ; 0x70 - c412: 1909 adds r1, r1, r4 - c414: 8041 strh r1, [r0, #2] + c474: 2201 movs r2, #1 + c476: 4014 ands r4, r2 + c478: a81c add r0, sp, #112 ; 0x70 + c47a: 1909 adds r1, r1, r4 + c47c: 8041 strh r1, [r0, #2] coords_tmp.y2 += y_corr; - c416: 191b adds r3, r3, r4 - c418: 80c3 strh r3, [r0, #6] + c47e: 191b adds r3, r3, r4 + c480: 80c3 strh r3, [r0, #6] if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - c41a: 465b mov r3, fp - c41c: 2200 movs r2, #0 - c41e: 5e9a ldrsh r2, [r3, r2] - c420: 4649 mov r1, r9 - c422: 4b12 ldr r3, [pc, #72] ; (c46c ) - c424: 4798 blx r3 - c426: 2800 cmp r0, #0 - c428: d116 bne.n c458 + c482: 465b mov r3, fp + c484: 2200 movs r2, #0 + c486: 5e9a ldrsh r2, [r3, r2] + c488: 4649 mov r1, r9 + c48a: 4b12 ldr r3, [pc, #72] ; (c4d4 ) + c48c: 4798 blx r3 + c48e: 2800 cmp r0, #0 + c490: d116 bne.n c4c0 lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - c42a: 465b mov r3, fp - c42c: 2200 movs r2, #0 - c42e: 5e9a ldrsh r2, [r3, r2] - c430: 2300 movs r3, #0 - c432: 4649 mov r1, r9 - c434: a829 add r0, sp, #164 ; 0xa4 - c436: 4c10 ldr r4, [pc, #64] ; (c478 ) - c438: 47a0 blx r4 + c492: 465b mov r3, fp + c494: 2200 movs r2, #0 + c496: 5e9a ldrsh r2, [r3, r2] + c498: 2300 movs r3, #0 + c49a: 4649 mov r1, r9 + c49c: a829 add r0, sp, #164 ; 0xa4 + c49e: 4c10 ldr r4, [pc, #64] ; (c4e0 ) + c4a0: 47a0 blx r4 radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - c43a: 2100 movs r1, #0 - c43c: a829 add r0, sp, #164 ; 0xa4 - c43e: 4b0f ldr r3, [pc, #60] ; (c47c ) - c440: 4798 blx r3 - c442: 0004 movs r4, r0 + c4a2: 2100 movs r1, #0 + c4a4: a829 add r0, sp, #164 ; 0xa4 + c4a6: 4b0f ldr r3, [pc, #60] ; (c4e4 ) + c4a8: 4798 blx r3 + c4aa: 0004 movs r4, r0 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - c444: 2300 movs r3, #0 - c446: 9300 str r3, [sp, #0] - c448: 465b mov r3, fp - c44a: 6adb ldr r3, [r3, #44] ; 0x2c - c44c: aa22 add r2, sp, #136 ; 0x88 - c44e: 9904 ldr r1, [sp, #16] - c450: a81c add r0, sp, #112 ; 0x70 - c452: 4d0c ldr r5, [pc, #48] ; (c484 ) - c454: 47a8 blx r5 - c456: e752 b.n c2fe + c4ac: 2300 movs r3, #0 + c4ae: 9300 str r3, [sp, #0] + c4b0: 465b mov r3, fp + c4b2: 6adb ldr r3, [r3, #44] ; 0x2c + c4b4: aa22 add r2, sp, #136 ; 0x88 + c4b6: 9904 ldr r1, [sp, #16] + c4b8: a81c add r0, sp, #112 ; 0x70 + c4ba: 4d0c ldr r5, [pc, #48] ; (c4ec ) + c4bc: 47a8 blx r5 + c4be: e752 b.n c366 int16_t radius_mask_id = LV_MASK_ID_INV; - c458: 2401 movs r4, #1 - c45a: 4264 negs r4, r4 - c45c: e7f2 b.n c444 - c45e: 46c0 nop ; (mov r8, r8) - c460: 0000815d .word 0x0000815d - c464: 00007c18 .word 0x00007c18 - c468: 00011a7d .word 0x00011a7d - c46c: 0000fe35 .word 0x0000fe35 - c470: 00007ed9 .word 0x00007ed9 - c474: 0000a611 .word 0x0000a611 - c478: 0000a7ed .word 0x0000a7ed - c47c: 0000a585 .word 0x0000a585 - c480: 00017c41 .word 0x00017c41 - c484: 000081ad .word 0x000081ad + c4c0: 2401 movs r4, #1 + c4c2: 4264 negs r4, r4 + c4c4: e7f2 b.n c4ac + c4c6: 46c0 nop ; (mov r8, r8) + c4c8: 000081c5 .word 0x000081c5 + c4cc: 00007c18 .word 0x00007c18 + c4d0: 00011ae5 .word 0x00011ae5 + c4d4: 0000fe9d .word 0x0000fe9d + c4d8: 00007f41 .word 0x00007f41 + c4dc: 0000a679 .word 0x0000a679 + c4e0: 0000a855 .word 0x0000a855 + c4e4: 0000a5ed .word 0x0000a5ed + c4e8: 00017cd1 .word 0x00017cd1 + c4ec: 00008215 .word 0x00008215 draw_area.x1 -= disp_area->x1; - c488: 8a38 ldrh r0, [r7, #16] - c48a: aa18 add r2, sp, #96 ; 0x60 - c48c: 8811 ldrh r1, [r2, #0] - c48e: 1a09 subs r1, r1, r0 - c490: b289 uxth r1, r1 - c492: 8011 strh r1, [r2, #0] + c4f0: 8a38 ldrh r0, [r7, #16] + c4f2: aa18 add r2, sp, #96 ; 0x60 + c4f4: 8811 ldrh r1, [r2, #0] + c4f6: 1a09 subs r1, r1, r0 + c4f8: b289 uxth r1, r1 + c4fa: 8011 strh r1, [r2, #0] draw_area.y1 -= disp_area->y1; - c494: 8a7d ldrh r5, [r7, #18] - c496: 8854 ldrh r4, [r2, #2] - c498: 1b64 subs r4, r4, r5 - c49a: 8054 strh r4, [r2, #2] + c4fc: 8a7d ldrh r5, [r7, #18] + c4fe: 8854 ldrh r4, [r2, #2] + c500: 1b64 subs r4, r4, r5 + c502: 8054 strh r4, [r2, #2] draw_area.x2 -= disp_area->x1; - c49c: 8893 ldrh r3, [r2, #4] - c49e: 1a1b subs r3, r3, r0 - c4a0: b29b uxth r3, r3 - c4a2: 8093 strh r3, [r2, #4] + c504: 8893 ldrh r3, [r2, #4] + c506: 1a1b subs r3, r3, r0 + c508: b29b uxth r3, r3 + c50a: 8093 strh r3, [r2, #4] draw_area.y2 -= disp_area->y1; - c4a4: 88d0 ldrh r0, [r2, #6] - c4a6: 1b40 subs r0, r0, r5 - c4a8: 80d0 strh r0, [r2, #6] + c50c: 88d0 ldrh r0, [r2, #6] + c50e: 1b40 subs r0, r0, r5 + c510: 80d0 strh r0, [r2, #6] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c4aa: 3301 adds r3, #1 - c4ac: 1a5b subs r3, r3, r1 - c4ae: b21b sxth r3, r3 - c4b0: 930a str r3, [sp, #40] ; 0x28 + c512: 3301 adds r3, #1 + c514: 1a5b subs r3, r3, r1 + c516: b21b sxth r3, r3 + c518: 930a str r3, [sp, #40] ; 0x28 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - c4b2: 930b str r3, [sp, #44] ; 0x2c - c4b4: 0018 movs r0, r3 - c4b6: 4bb8 ldr r3, [pc, #736] ; (c798 ) - c4b8: 4798 blx r3 - c4ba: 9005 str r0, [sp, #20] + c51a: 930b str r3, [sp, #44] ; 0x2c + c51c: 0018 movs r0, r3 + c51e: 4bb8 ldr r3, [pc, #736] ; (c800 ) + c520: 4798 blx r3 + c522: 9005 str r0, [sp, #20] uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - c4bc: 4bb7 ldr r3, [pc, #732] ; (c79c ) - c4be: 4798 blx r3 + c524: 4bb7 ldr r3, [pc, #732] ; (c804 ) + c526: 4798 blx r3 if(other_mask_cnt) simple_mode = false; - c4c0: 2500 movs r5, #0 - c4c2: 2800 cmp r0, #0 - c4c4: d106 bne.n c4d4 + c528: 2500 movs r5, #0 + c52a: 2800 cmp r0, #0 + c52c: d106 bne.n c53c else if(dsc->border_side != LV_BORDER_SIDE_FULL) simple_mode = false; - c4c6: 465b mov r3, fp - c4c8: 2512 movs r5, #18 - c4ca: 5f5d ldrsh r5, [r3, r5] - c4cc: 3d0f subs r5, #15 - c4ce: 426a negs r2, r5 - c4d0: 416a adcs r2, r5 - c4d2: b2d5 uxtb r5, r2 + c52e: 465b mov r3, fp + c530: 2512 movs r5, #18 + c532: 5f5d ldrsh r5, [r3, r5] + c534: 3d0f subs r5, #15 + c536: 426a negs r2, r5 + c538: 416a adcs r2, r5 + c53a: b2d5 uxtb r5, r2 int32_t rout = dsc->radius; - c4d4: 465b mov r3, fp - c4d6: 2100 movs r1, #0 - c4d8: 5e59 ldrsh r1, [r3, r1] - c4da: 464b mov r3, r9 - c4dc: 889b ldrh r3, [r3, #4] - c4de: 3301 adds r3, #1 - c4e0: 464a mov r2, r9 - c4e2: 8812 ldrh r2, [r2, #0] - c4e4: 1a9b subs r3, r3, r2 + c53c: 465b mov r3, fp + c53e: 2100 movs r1, #0 + c540: 5e59 ldrsh r1, [r3, r1] + c542: 464b mov r3, r9 + c544: 889b ldrh r3, [r3, #4] + c546: 3301 adds r3, #1 + c548: 464a mov r2, r9 + c54a: 8812 ldrh r2, [r2, #0] + c54c: 1a9b subs r3, r3, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c4e6: 464a mov r2, r9 - c4e8: 88d2 ldrh r2, [r2, #6] - c4ea: 3201 adds r2, #1 - c4ec: 4648 mov r0, r9 - c4ee: 8840 ldrh r0, [r0, #2] - c4f0: 1a12 subs r2, r2, r0 + c54e: 464a mov r2, r9 + c550: 88d2 ldrh r2, [r2, #6] + c552: 3201 adds r2, #1 + c554: 4648 mov r0, r9 + c556: 8840 ldrh r0, [r0, #2] + c558: 1a12 subs r2, r2, r0 int32_t coords_h = lv_area_get_height(coords); - c4f2: b212 sxth r2, r2 + c55a: b212 sxth r2, r2 int32_t short_side = LV_MATH_MIN(coords_w, coords_h); - c4f4: b21b sxth r3, r3 - c4f6: 4293 cmp r3, r2 - c4f8: dd00 ble.n c4fc - c4fa: 0013 movs r3, r2 + c55c: b21b sxth r3, r3 + c55e: 4293 cmp r3, r2 + c560: dd00 ble.n c564 + c562: 0013 movs r3, r2 if(rout > short_side >> 1) rout = short_side >> 1; - c4fc: 105b asrs r3, r3, #1 - c4fe: 9309 str r3, [sp, #36] ; 0x24 - c500: 428b cmp r3, r1 - c502: dd00 ble.n c506 - c504: 9109 str r1, [sp, #36] ; 0x24 + c564: 105b asrs r3, r3, #1 + c566: 9309 str r3, [sp, #36] ; 0x24 + c568: 428b cmp r3, r1 + c56a: dd00 ble.n c56e + c56c: 9109 str r1, [sp, #36] ; 0x24 if(rout > 0) { - c506: 9b09 ldr r3, [sp, #36] ; 0x24 - c508: 2b00 cmp r3, #0 - c50a: dc00 bgt.n c50e - c50c: e084 b.n c618 + c56e: 9b09 ldr r3, [sp, #36] ; 0x24 + c570: 2b00 cmp r3, #0 + c572: dc00 bgt.n c576 + c574: e084 b.n c680 lv_draw_mask_radius_init(&mask_rout_param, coords, rout, false); - c50e: b21a sxth r2, r3 - c510: 2300 movs r3, #0 - c512: 4649 mov r1, r9 - c514: a822 add r0, sp, #136 ; 0x88 - c516: 4ca2 ldr r4, [pc, #648] ; (c7a0 ) - c518: 47a0 blx r4 + c576: b21a sxth r2, r3 + c578: 2300 movs r3, #0 + c57a: 4649 mov r1, r9 + c57c: a822 add r0, sp, #136 ; 0x88 + c57e: 4ca2 ldr r4, [pc, #648] ; (c808 ) + c580: 47a0 blx r4 mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - c51a: 2100 movs r1, #0 - c51c: a822 add r0, sp, #136 ; 0x88 - c51e: 4ba1 ldr r3, [pc, #644] ; (c7a4 ) - c520: 4798 blx r3 - c522: 900f str r0, [sp, #60] ; 0x3c + c582: 2100 movs r1, #0 + c584: a822 add r0, sp, #136 ; 0x88 + c586: 4ba1 ldr r3, [pc, #644] ; (c80c ) + c588: 4798 blx r3 + c58a: 900f str r0, [sp, #60] ; 0x3c int32_t rin = rout - dsc->border_width; - c524: 465b mov r3, fp - c526: 2010 movs r0, #16 - c528: 5e18 ldrsh r0, [r3, r0] - c52a: 2300 movs r3, #0 + c58c: 465b mov r3, fp + c58e: 2010 movs r0, #16 + c590: 5e18 ldrsh r0, [r3, r0] + c592: 2300 movs r3, #0 *d8 = *s8; - c52c: a91a add r1, sp, #104 ; 0x68 - c52e: 464c mov r4, r9 - c530: 5ce2 ldrb r2, [r4, r3] - c532: 545a strb r2, [r3, r1] - c534: 3301 adds r3, #1 + c594: a91a add r1, sp, #104 ; 0x68 + c596: 464c mov r4, r9 + c598: 5ce2 ldrb r2, [r4, r3] + c59a: 545a strb r2, [r3, r1] + c59c: 3301 adds r3, #1 while(len) { - c536: 2b08 cmp r3, #8 - c538: d1fa bne.n c530 - c53a: 46a1 mov r9, r4 + c59e: 2b08 cmp r3, #8 + c5a0: d1fa bne.n c598 + c5a2: 46a1 mov r9, r4 area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout)); - c53c: ab1a add r3, sp, #104 ; 0x68 - c53e: 881a ldrh r2, [r3, #0] - c540: 465b mov r3, fp - c542: 8a5b ldrh r3, [r3, #18] - c544: 0759 lsls r1, r3, #29 - c546: d56b bpl.n c620 - c548: b284 uxth r4, r0 - c54a: a91a add r1, sp, #104 ; 0x68 - c54c: 1912 adds r2, r2, r4 - c54e: 800a strh r2, [r1, #0] + c5a4: ab1a add r3, sp, #104 ; 0x68 + c5a6: 881a ldrh r2, [r3, #0] + c5a8: 465b mov r3, fp + c5aa: 8a5b ldrh r3, [r3, #18] + c5ac: 0759 lsls r1, r3, #29 + c5ae: d56b bpl.n c688 + c5b0: b284 uxth r4, r0 + c5b2: a91a add r1, sp, #104 ; 0x68 + c5b4: 1912 adds r2, r2, r4 + c5b6: 800a strh r2, [r1, #0] area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout)); - c550: 888a ldrh r2, [r1, #4] - c552: 0719 lsls r1, r3, #28 - c554: d569 bpl.n c62a - c556: b284 uxth r4, r0 - c558: a91a add r1, sp, #104 ; 0x68 - c55a: 1b12 subs r2, r2, r4 - c55c: 808a strh r2, [r1, #4] + c5b8: 888a ldrh r2, [r1, #4] + c5ba: 0719 lsls r1, r3, #28 + c5bc: d569 bpl.n c692 + c5be: b284 uxth r4, r0 + c5c0: a91a add r1, sp, #104 ; 0x68 + c5c2: 1b12 subs r2, r2, r4 + c5c4: 808a strh r2, [r1, #4] area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout)); - c55e: 884a ldrh r2, [r1, #2] - c560: 0799 lsls r1, r3, #30 - c562: d567 bpl.n c634 - c564: b284 uxth r4, r0 - c566: a91a add r1, sp, #104 ; 0x68 - c568: 1912 adds r2, r2, r4 - c56a: 804a strh r2, [r1, #2] + c5c6: 884a ldrh r2, [r1, #2] + c5c8: 0799 lsls r1, r3, #30 + c5ca: d567 bpl.n c69c + c5cc: b284 uxth r4, r0 + c5ce: a91a add r1, sp, #104 ; 0x68 + c5d0: 1912 adds r2, r2, r4 + c5d2: 804a strh r2, [r1, #2] area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout)); - c56c: 88ca ldrh r2, [r1, #6] - c56e: 07db lsls r3, r3, #31 - c570: d565 bpl.n c63e - c572: b283 uxth r3, r0 - c574: a91a add r1, sp, #104 ; 0x68 - c576: 1ad3 subs r3, r2, r3 - c578: 80cb strh r3, [r1, #6] + c5d4: 88ca ldrh r2, [r1, #6] + c5d6: 07db lsls r3, r3, #31 + c5d8: d565 bpl.n c6a6 + c5da: b283 uxth r3, r0 + c5dc: a91a add r1, sp, #104 ; 0x68 + c5de: 1ad3 subs r3, r2, r3 + c5e0: 80cb strh r3, [r1, #6] lv_draw_mask_radius_init(&mask_rin_param, &area_small, rout - dsc->border_width, true); - c57a: 9b09 ldr r3, [sp, #36] ; 0x24 - c57c: 4698 mov r8, r3 - c57e: 466a mov r2, sp - c580: 8313 strh r3, [r2, #24] - c582: 8b13 ldrh r3, [r2, #24] - c584: 469a mov sl, r3 - c586: 1a1a subs r2, r3, r0 - c588: b212 sxth r2, r2 - c58a: 2301 movs r3, #1 - c58c: a829 add r0, sp, #164 ; 0xa4 - c58e: 4c84 ldr r4, [pc, #528] ; (c7a0 ) - c590: 47a0 blx r4 + c5e2: 9b09 ldr r3, [sp, #36] ; 0x24 + c5e4: 4698 mov r8, r3 + c5e6: 466a mov r2, sp + c5e8: 8313 strh r3, [r2, #24] + c5ea: 8b13 ldrh r3, [r2, #24] + c5ec: 469a mov sl, r3 + c5ee: 1a1a subs r2, r3, r0 + c5f0: b212 sxth r2, r2 + c5f2: 2301 movs r3, #1 + c5f4: a829 add r0, sp, #164 ; 0xa4 + c5f6: 4c84 ldr r4, [pc, #528] ; (c808 ) + c5f8: 47a0 blx r4 int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL); - c592: 2100 movs r1, #0 - c594: a829 add r0, sp, #164 ; 0xa4 - c596: 4b83 ldr r3, [pc, #524] ; (c7a4 ) - c598: 4798 blx r3 - c59a: 9010 str r0, [sp, #64] ; 0x40 + c5fa: 2100 movs r1, #0 + c5fc: a829 add r0, sp, #164 ; 0xa4 + c5fe: 4b83 ldr r3, [pc, #524] ; (c80c ) + c600: 4798 blx r3 + c602: 9010 str r0, [sp, #64] ; 0x40 int32_t corner_size = LV_MATH_MAX(rout, dsc->border_width - 1); - c59c: 465b mov r3, fp - c59e: 2010 movs r0, #16 - c5a0: 5e1b ldrsh r3, [r3, r0] - c5a2: 3b01 subs r3, #1 - c5a4: 930d str r3, [sp, #52] ; 0x34 - c5a6: 4641 mov r1, r8 - c5a8: 4543 cmp r3, r8 - c5aa: da00 bge.n c5ae - c5ac: 910d str r1, [sp, #52] ; 0x34 + c604: 465b mov r3, fp + c606: 2010 movs r0, #16 + c608: 5e1b ldrsh r3, [r3, r0] + c60a: 3b01 subs r3, #1 + c60c: 930d str r3, [sp, #52] ; 0x34 + c60e: 4641 mov r1, r8 + c610: 4543 cmp r3, r8 + c612: da00 bge.n c616 + c614: 910d str r1, [sp, #52] ; 0x34 lv_color_t color = dsc->border_color; - c5ae: 465b mov r3, fp - c5b0: 89db ldrh r3, [r3, #14] - c5b2: 9311 str r3, [sp, #68] ; 0x44 - c5b4: 466a mov r2, sp - c5b6: 8393 strh r3, [r2, #28] + c616: 465b mov r3, fp + c618: 89db ldrh r3, [r3, #14] + c61a: 9311 str r3, [sp, #68] ; 0x44 + c61c: 466a mov r2, sp + c61e: 8393 strh r3, [r2, #28] lv_blend_mode_t blend_mode = dsc->border_blend_mode; - c5b8: 465b mov r3, fp - c5ba: 7d5b ldrb r3, [r3, #21] - c5bc: 9306 str r3, [sp, #24] + c620: 465b mov r3, fp + c622: 7d5b ldrb r3, [r3, #21] + c624: 9306 str r3, [sp, #24] if(simple_mode) { - c5be: 2d00 cmp r5, #0 - c5c0: d100 bne.n c5c4 - c5c2: e1bc b.n c93e + c626: 2d00 cmp r5, #0 + c628: d100 bne.n c62c + c62a: e1bc b.n c9a6 int32_t upper_corner_end = coords->y1 - disp_area->y1 + corner_size; - c5c4: 2212 movs r2, #18 - c5c6: 5ebb ldrsh r3, [r7, r2] - c5c8: 464a mov r2, r9 - c5ca: 2102 movs r1, #2 - c5cc: 5e52 ldrsh r2, [r2, r1] - c5ce: 1ad2 subs r2, r2, r3 - c5d0: 990d ldr r1, [sp, #52] ; 0x34 - c5d2: 468c mov ip, r1 - c5d4: 4462 add r2, ip + c62c: 2212 movs r2, #18 + c62e: 5ebb ldrsh r3, [r7, r2] + c630: 464a mov r2, r9 + c632: 2102 movs r1, #2 + c634: 5e52 ldrsh r2, [r2, r1] + c636: 1ad2 subs r2, r2, r3 + c638: 990d ldr r1, [sp, #52] ; 0x34 + c63a: 468c mov ip, r1 + c63c: 4462 add r2, ip upper_corner_end = LV_MATH_MIN(upper_corner_end, draw_area.y2); - c5d6: a918 add r1, sp, #96 ; 0x60 - c5d8: 2006 movs r0, #6 - c5da: 5e09 ldrsh r1, [r1, r0] - c5dc: 910c str r1, [sp, #48] ; 0x30 - c5de: 4291 cmp r1, r2 - c5e0: dd00 ble.n c5e4 - c5e2: 920c str r2, [sp, #48] ; 0x30 + c63e: a918 add r1, sp, #96 ; 0x60 + c640: 2006 movs r0, #6 + c642: 5e09 ldrsh r1, [r1, r0] + c644: 910c str r1, [sp, #48] ; 0x30 + c646: 4291 cmp r1, r2 + c648: dd00 ble.n c64c + c64a: 920c str r2, [sp, #48] ; 0x30 fill_area.x1 = coords->x1; - c5e4: aa1c add r2, sp, #112 ; 0x70 - c5e6: 4649 mov r1, r9 - c5e8: 8809 ldrh r1, [r1, #0] - c5ea: 8011 strh r1, [r2, #0] + c64c: aa1c add r2, sp, #112 ; 0x70 + c64e: 4649 mov r1, r9 + c650: 8809 ldrh r1, [r1, #0] + c652: 8011 strh r1, [r2, #0] fill_area.x2 = coords->x2; - c5ec: 4649 mov r1, r9 - c5ee: 8889 ldrh r1, [r1, #4] - c5f0: 8091 strh r1, [r2, #4] + c654: 4649 mov r1, r9 + c656: 8889 ldrh r1, [r1, #4] + c658: 8091 strh r1, [r2, #4] fill_area.y1 = disp_area->y1 + draw_area.y1; - c5f2: a918 add r1, sp, #96 ; 0x60 - c5f4: 2502 movs r5, #2 - c5f6: 5f4d ldrsh r5, [r1, r5] - c5f8: 195b adds r3, r3, r5 - c5fa: b21b sxth r3, r3 - c5fc: 8053 strh r3, [r2, #2] + c65a: a918 add r1, sp, #96 ; 0x60 + c65c: 2502 movs r5, #2 + c65e: 5f4d ldrsh r5, [r1, r5] + c660: 195b adds r3, r3, r5 + c662: b21b sxth r3, r3 + c664: 8053 strh r3, [r2, #2] fill_area.y2 = fill_area.y1; - c5fe: 80d3 strh r3, [r2, #6] + c666: 80d3 strh r3, [r2, #6] for(h = draw_area.y1; h <= upper_corner_end; h++) { - c600: 9b0c ldr r3, [sp, #48] ; 0x30 - c602: 42ab cmp r3, r5 - c604: da00 bge.n c608 - c606: e09f b.n c748 + c668: 9b0c ldr r3, [sp, #48] ; 0x30 + c66a: 42ab cmp r3, r5 + c66c: da00 bge.n c670 + c66e: e09f b.n c7b0 fill_area2.y1 = fill_area.y1; - c608: ac1e add r4, sp, #120 ; 0x78 - c60a: 9508 str r5, [sp, #32] - c60c: 464b mov r3, r9 - c60e: 46b1 mov r9, r6 - c610: 465a mov r2, fp - c612: 920e str r2, [sp, #56] ; 0x38 - c614: 001e movs r6, r3 - c616: e047 b.n c6a8 + c670: ac1e add r4, sp, #120 ; 0x78 + c672: 9508 str r5, [sp, #32] + c674: 464b mov r3, r9 + c676: 46b1 mov r9, r6 + c678: 465a mov r2, fp + c67a: 920e str r2, [sp, #56] ; 0x38 + c67c: 001e movs r6, r3 + c67e: e047 b.n c710 int16_t mask_rout_id = LV_MASK_ID_INV; - c618: 2301 movs r3, #1 - c61a: 425b negs r3, r3 - c61c: 930f str r3, [sp, #60] ; 0x3c - c61e: e781 b.n c524 + c680: 2301 movs r3, #1 + c682: 425b negs r3, r3 + c684: 930f str r3, [sp, #60] ; 0x3c + c686: e781 b.n c58c area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout)); - c620: 9909 ldr r1, [sp, #36] ; 0x24 - c622: 1844 adds r4, r0, r1 - c624: 4264 negs r4, r4 - c626: b2a4 uxth r4, r4 - c628: e78f b.n c54a + c688: 9909 ldr r1, [sp, #36] ; 0x24 + c68a: 1844 adds r4, r0, r1 + c68c: 4264 negs r4, r4 + c68e: b2a4 uxth r4, r4 + c690: e78f b.n c5b2 area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout)); - c62a: 9909 ldr r1, [sp, #36] ; 0x24 - c62c: 1844 adds r4, r0, r1 - c62e: 4264 negs r4, r4 - c630: b2a4 uxth r4, r4 - c632: e791 b.n c558 + c692: 9909 ldr r1, [sp, #36] ; 0x24 + c694: 1844 adds r4, r0, r1 + c696: 4264 negs r4, r4 + c698: b2a4 uxth r4, r4 + c69a: e791 b.n c5c0 area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout)); - c634: 9909 ldr r1, [sp, #36] ; 0x24 - c636: 1844 adds r4, r0, r1 - c638: 4264 negs r4, r4 - c63a: b2a4 uxth r4, r4 - c63c: e793 b.n c566 + c69c: 9909 ldr r1, [sp, #36] ; 0x24 + c69e: 1844 adds r4, r0, r1 + c6a0: 4264 negs r4, r4 + c6a2: b2a4 uxth r4, r4 + c6a4: e793 b.n c5ce area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout)); - c63e: 9b09 ldr r3, [sp, #36] ; 0x24 - c640: 18c3 adds r3, r0, r3 - c642: 425b negs r3, r3 - c644: b29b uxth r3, r3 - c646: e795 b.n c574 + c6a6: 9b09 ldr r3, [sp, #36] ; 0x24 + c6a8: 18c3 adds r3, r0, r3 + c6aa: 425b negs r3, r3 + c6ac: b29b uxth r3, r3 + c6ae: e795 b.n c5dc fill_area2.x1 = coords->x2 - rout + 1; - c648: 2204 movs r2, #4 - c64a: 5eb3 ldrsh r3, [r6, r2] - c64c: 1c5a adds r2, r3, #1 - c64e: 4651 mov r1, sl - c650: 1a52 subs r2, r2, r1 - c652: 8022 strh r2, [r4, #0] + c6b0: 2204 movs r2, #4 + c6b2: 5eb3 ldrsh r3, [r6, r2] + c6b4: 1c5a adds r2, r3, #1 + c6b6: 4651 mov r1, sl + c6b8: 1a52 subs r2, r2, r1 + c6ba: 8022 strh r2, [r4, #0] fill_area2.x2 = coords->x2; - c654: 80a3 strh r3, [r4, #4] + c6bc: 80a3 strh r3, [r4, #4] int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - c656: 9a09 ldr r2, [sp, #36] ; 0x24 - c658: 1a9a subs r2, r3, r2 - c65a: 3201 adds r2, #1 - c65c: 2110 movs r1, #16 - c65e: 5e7b ldrsh r3, [r7, r1] - c660: a90e add r1, sp, #56 ; 0x38 - c662: 2028 movs r0, #40 ; 0x28 - c664: 5e09 ldrsh r1, [r1, r0] - c666: 185b adds r3, r3, r1 - c668: 1ad3 subs r3, r2, r3 + c6be: 9a09 ldr r2, [sp, #36] ; 0x24 + c6c0: 1a9a subs r2, r3, r2 + c6c2: 3201 adds r2, #1 + c6c4: 2110 movs r1, #16 + c6c6: 5e7b ldrsh r3, [r7, r1] + c6c8: a90e add r1, sp, #56 ; 0x38 + c6ca: 2028 movs r0, #40 ; 0x28 + c6cc: 5e09 ldrsh r1, [r1, r0] + c6ce: 185b adds r3, r3, r1 + c6d0: 1ad3 subs r3, r2, r3 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - c66a: 43da mvns r2, r3 - c66c: 17d2 asrs r2, r2, #31 - c66e: 4013 ands r3, r2 - c670: 9a05 ldr r2, [sp, #20] - c672: 4694 mov ip, r2 - c674: 4463 add r3, ip - c676: 9a06 ldr r2, [sp, #24] - c678: 9202 str r2, [sp, #8] - c67a: 464a mov r2, r9 - c67c: 9201 str r2, [sp, #4] - c67e: 4642 mov r2, r8 - c680: 9200 str r2, [sp, #0] - c682: 466a mov r2, sp - c684: 8b92 ldrh r2, [r2, #28] - c686: 0021 movs r1, r4 - c688: 9804 ldr r0, [sp, #16] - c68a: 4d47 ldr r5, [pc, #284] ; (c7a8 ) - c68c: 47a8 blx r5 + c6d2: 43da mvns r2, r3 + c6d4: 17d2 asrs r2, r2, #31 + c6d6: 4013 ands r3, r2 + c6d8: 9a05 ldr r2, [sp, #20] + c6da: 4694 mov ip, r2 + c6dc: 4463 add r3, ip + c6de: 9a06 ldr r2, [sp, #24] + c6e0: 9202 str r2, [sp, #8] + c6e2: 464a mov r2, r9 + c6e4: 9201 str r2, [sp, #4] + c6e6: 4642 mov r2, r8 + c6e8: 9200 str r2, [sp, #0] + c6ea: 466a mov r2, sp + c6ec: 8b92 ldrh r2, [r2, #28] + c6ee: 0021 movs r1, r4 + c6f0: 9804 ldr r0, [sp, #16] + c6f2: 4d47 ldr r5, [pc, #284] ; (c810 ) + c6f4: 47a8 blx r5 fill_area.y1++; - c68e: ab1c add r3, sp, #112 ; 0x70 - c690: 885a ldrh r2, [r3, #2] - c692: 3201 adds r2, #1 - c694: 805a strh r2, [r3, #2] + c6f6: ab1c add r3, sp, #112 ; 0x70 + c6f8: 885a ldrh r2, [r3, #2] + c6fa: 3201 adds r2, #1 + c6fc: 805a strh r2, [r3, #2] fill_area.y2++; - c696: 88da ldrh r2, [r3, #6] - c698: 3201 adds r2, #1 - c69a: 80da strh r2, [r3, #6] + c6fe: 88da ldrh r2, [r3, #6] + c700: 3201 adds r2, #1 + c702: 80da strh r2, [r3, #6] for(h = draw_area.y1; h <= upper_corner_end; h++) { - c69c: 9a08 ldr r2, [sp, #32] - c69e: 3201 adds r2, #1 - c6a0: 9208 str r2, [sp, #32] - c6a2: 9b0c ldr r3, [sp, #48] ; 0x30 - c6a4: 4293 cmp r3, r2 - c6a6: db4a blt.n c73e + c704: 9a08 ldr r2, [sp, #32] + c706: 3201 adds r2, #1 + c708: 9208 str r2, [sp, #32] + c70a: 9b0c ldr r3, [sp, #48] ; 0x30 + c70c: 4293 cmp r3, r2 + c70e: db4a blt.n c7a6 _lv_memset_ff(mask_buf, draw_area_w); - c6a8: 990b ldr r1, [sp, #44] ; 0x2c - c6aa: 9d05 ldr r5, [sp, #20] - c6ac: 0028 movs r0, r5 - c6ae: 4b3f ldr r3, [pc, #252] ; (c7ac ) - c6b0: 4798 blx r3 + c710: 990b ldr r1, [sp, #44] ; 0x2c + c712: 9d05 ldr r5, [sp, #20] + c714: 0028 movs r0, r5 + c716: 4b3f ldr r3, [pc, #252] ; (c814 ) + c718: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - c6b2: 8a7a ldrh r2, [r7, #18] - c6b4: 9b08 ldr r3, [sp, #32] - c6b6: 469c mov ip, r3 - c6b8: 4462 add r2, ip - c6ba: b212 sxth r2, r2 - c6bc: 8a39 ldrh r1, [r7, #16] - c6be: ab0e add r3, sp, #56 ; 0x38 - c6c0: 8d1b ldrh r3, [r3, #40] ; 0x28 - c6c2: 18c9 adds r1, r1, r3 - c6c4: b209 sxth r1, r1 - c6c6: 9b0a ldr r3, [sp, #40] ; 0x28 - c6c8: 9505 str r5, [sp, #20] - c6ca: 0028 movs r0, r5 - c6cc: 4d38 ldr r5, [pc, #224] ; (c7b0 ) - c6ce: 47a8 blx r5 - c6d0: 4680 mov r8, r0 + c71a: 8a7a ldrh r2, [r7, #18] + c71c: 9b08 ldr r3, [sp, #32] + c71e: 469c mov ip, r3 + c720: 4462 add r2, ip + c722: b212 sxth r2, r2 + c724: 8a39 ldrh r1, [r7, #16] + c726: ab0e add r3, sp, #56 ; 0x38 + c728: 8d1b ldrh r3, [r3, #40] ; 0x28 + c72a: 18c9 adds r1, r1, r3 + c72c: b209 sxth r1, r1 + c72e: 9b0a ldr r3, [sp, #40] ; 0x28 + c730: 9505 str r5, [sp, #20] + c732: 0028 movs r0, r5 + c734: 4d38 ldr r5, [pc, #224] ; (c818 ) + c736: 47a8 blx r5 + c738: 4680 mov r8, r0 fill_area2.y1 = fill_area.y1; - c6d2: ab1c add r3, sp, #112 ; 0x70 - c6d4: 885a ldrh r2, [r3, #2] - c6d6: 8062 strh r2, [r4, #2] + c73a: ab1c add r3, sp, #112 ; 0x70 + c73c: 885a ldrh r2, [r3, #2] + c73e: 8062 strh r2, [r4, #2] fill_area2.y2 = fill_area.y2; - c6d8: 88db ldrh r3, [r3, #6] - c6da: 80e3 strh r3, [r4, #6] + c740: 88db ldrh r3, [r3, #6] + c742: 80e3 strh r3, [r4, #6] fill_area2.x1 = coords->x1; - c6dc: 2200 movs r2, #0 - c6de: 5eb3 ldrsh r3, [r6, r2] - c6e0: 8023 strh r3, [r4, #0] + c744: 2200 movs r2, #0 + c746: 5eb3 ldrsh r3, [r6, r2] + c748: 8023 strh r3, [r4, #0] fill_area2.x2 = coords->x1 + rout - 1; - c6e2: 3b01 subs r3, #1 - c6e4: 4453 add r3, sl - c6e6: 80a3 strh r3, [r4, #4] + c74a: 3b01 subs r3, #1 + c74c: 4453 add r3, sl + c74e: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - c6e8: 9a06 ldr r2, [sp, #24] - c6ea: 9202 str r2, [sp, #8] - c6ec: 464a mov r2, r9 - c6ee: 9201 str r2, [sp, #4] - c6f0: 9000 str r0, [sp, #0] - c6f2: 9b05 ldr r3, [sp, #20] - c6f4: 466a mov r2, sp - c6f6: 8b92 ldrh r2, [r2, #28] - c6f8: 0021 movs r1, r4 - c6fa: 9804 ldr r0, [sp, #16] - c6fc: 4d2a ldr r5, [pc, #168] ; (c7a8 ) - c6fe: 47a8 blx r5 + c750: 9a06 ldr r2, [sp, #24] + c752: 9202 str r2, [sp, #8] + c754: 464a mov r2, r9 + c756: 9201 str r2, [sp, #4] + c758: 9000 str r0, [sp, #0] + c75a: 9b05 ldr r3, [sp, #20] + c75c: 466a mov r2, sp + c75e: 8b92 ldrh r2, [r2, #28] + c760: 0021 movs r1, r4 + c762: 9804 ldr r0, [sp, #16] + c764: 4d2a ldr r5, [pc, #168] ; (c810 ) + c766: 47a8 blx r5 if(fill_area2.y2 < coords->y1 + dsc->border_width) { - c700: 2306 movs r3, #6 - c702: 5ee2 ldrsh r2, [r4, r3] - c704: 2102 movs r1, #2 - c706: 5e73 ldrsh r3, [r6, r1] - c708: 990e ldr r1, [sp, #56] ; 0x38 - c70a: 2010 movs r0, #16 - c70c: 5e09 ldrsh r1, [r1, r0] - c70e: 185b adds r3, r3, r1 - c710: 429a cmp r2, r3 - c712: da99 bge.n c648 + c768: 2306 movs r3, #6 + c76a: 5ee2 ldrsh r2, [r4, r3] + c76c: 2102 movs r1, #2 + c76e: 5e73 ldrsh r3, [r6, r1] + c770: 990e ldr r1, [sp, #56] ; 0x38 + c772: 2010 movs r0, #16 + c774: 5e09 ldrsh r1, [r1, r0] + c776: 185b adds r3, r3, r1 + c778: 429a cmp r2, r3 + c77a: da99 bge.n c6b0 fill_area2.x1 = coords->x1 + rout; - c714: 8833 ldrh r3, [r6, #0] - c716: 4453 add r3, sl - c718: 8023 strh r3, [r4, #0] + c77c: 8833 ldrh r3, [r6, #0] + c77e: 4453 add r3, sl + c780: 8023 strh r3, [r4, #0] fill_area2.x2 = coords->x2 - rout; - c71a: 88b3 ldrh r3, [r6, #4] - c71c: 4652 mov r2, sl - c71e: 1a9b subs r3, r3, r2 - c720: 80a3 strh r3, [r4, #4] + c782: 88b3 ldrh r3, [r6, #4] + c784: 4652 mov r2, sl + c786: 1a9b subs r3, r3, r2 + c788: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - c722: 9b06 ldr r3, [sp, #24] - c724: 9302 str r3, [sp, #8] - c726: 464b mov r3, r9 - c728: 9301 str r3, [sp, #4] - c72a: 2301 movs r3, #1 - c72c: 9300 str r3, [sp, #0] - c72e: 2300 movs r3, #0 - c730: 466a mov r2, sp - c732: 8b92 ldrh r2, [r2, #28] - c734: 0021 movs r1, r4 - c736: 9804 ldr r0, [sp, #16] - c738: 4d1b ldr r5, [pc, #108] ; (c7a8 ) - c73a: 47a8 blx r5 - c73c: e784 b.n c648 - c73e: 0032 movs r2, r6 - c740: 464e mov r6, r9 - c742: 9b0e ldr r3, [sp, #56] ; 0x38 - c744: 469b mov fp, r3 - c746: 4691 mov r9, r2 + c78a: 9b06 ldr r3, [sp, #24] + c78c: 9302 str r3, [sp, #8] + c78e: 464b mov r3, r9 + c790: 9301 str r3, [sp, #4] + c792: 2301 movs r3, #1 + c794: 9300 str r3, [sp, #0] + c796: 2300 movs r3, #0 + c798: 466a mov r2, sp + c79a: 8b92 ldrh r2, [r2, #28] + c79c: 0021 movs r1, r4 + c79e: 9804 ldr r0, [sp, #16] + c7a0: 4d1b ldr r5, [pc, #108] ; (c810 ) + c7a2: 47a8 blx r5 + c7a4: e784 b.n c6b0 + c7a6: 0032 movs r2, r6 + c7a8: 464e mov r6, r9 + c7aa: 9b0e ldr r3, [sp, #56] ; 0x38 + c7ac: 469b mov fp, r3 + c7ae: 4691 mov r9, r2 int32_t lower_corner_end = coords->y2 - disp_area->y1 - corner_size; - c748: 2212 movs r2, #18 - c74a: 5ebb ldrsh r3, [r7, r2] - c74c: 464a mov r2, r9 - c74e: 2106 movs r1, #6 - c750: 5e52 ldrsh r2, [r2, r1] - c752: 1ad2 subs r2, r2, r3 - c754: 990d ldr r1, [sp, #52] ; 0x34 - c756: 1a52 subs r2, r2, r1 + c7b0: 2212 movs r2, #18 + c7b2: 5ebb ldrsh r3, [r7, r2] + c7b4: 464a mov r2, r9 + c7b6: 2106 movs r1, #6 + c7b8: 5e52 ldrsh r2, [r2, r1] + c7ba: 1ad2 subs r2, r2, r3 + c7bc: 990d ldr r1, [sp, #52] ; 0x34 + c7be: 1a52 subs r2, r2, r1 lower_corner_end = LV_MATH_MAX(lower_corner_end, draw_area.y1); - c758: a918 add r1, sp, #96 ; 0x60 - c75a: 2502 movs r5, #2 - c75c: 5f4d ldrsh r5, [r1, r5] - c75e: 4295 cmp r5, r2 - c760: da00 bge.n c764 - c762: 0015 movs r5, r2 + c7c0: a918 add r1, sp, #96 ; 0x60 + c7c2: 2502 movs r5, #2 + c7c4: 5f4d ldrsh r5, [r1, r5] + c7c6: 4295 cmp r5, r2 + c7c8: da00 bge.n c7cc + c7ca: 0015 movs r5, r2 if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1; - c764: 990c ldr r1, [sp, #48] ; 0x30 - c766: 000a movs r2, r1 - c768: 42a9 cmp r1, r5 - c76a: db01 blt.n c770 - c76c: 3201 adds r2, #1 - c76e: 0015 movs r5, r2 + c7cc: 990c ldr r1, [sp, #48] ; 0x30 + c7ce: 000a movs r2, r1 + c7d0: 42a9 cmp r1, r5 + c7d2: db01 blt.n c7d8 + c7d4: 3201 adds r2, #1 + c7d6: 0015 movs r5, r2 fill_area.y1 = disp_area->y1 + lower_corner_end; - c770: 195b adds r3, r3, r5 - c772: b21b sxth r3, r3 - c774: aa1c add r2, sp, #112 ; 0x70 - c776: 8053 strh r3, [r2, #2] + c7d8: 195b adds r3, r3, r5 + c7da: b21b sxth r3, r3 + c7dc: aa1c add r2, sp, #112 ; 0x70 + c7de: 8053 strh r3, [r2, #2] fill_area.y2 = fill_area.y1; - c778: 80d3 strh r3, [r2, #6] + c7e0: 80d3 strh r3, [r2, #6] for(h = lower_corner_end; h <= draw_area.y2; h++) { - c77a: ab18 add r3, sp, #96 ; 0x60 - c77c: 2206 movs r2, #6 - c77e: 5e9b ldrsh r3, [r3, r2] - c780: 429d cmp r5, r3 - c782: dd00 ble.n c786 - c784: e099 b.n c8ba + c7e2: ab18 add r3, sp, #96 ; 0x60 + c7e4: 2206 movs r2, #6 + c7e6: 5e9b ldrsh r3, [r3, r2] + c7e8: 429d cmp r5, r3 + c7ea: dd00 ble.n c7ee + c7ec: e099 b.n c922 fill_area2.x1 = coords->x1; - c786: ac1e add r4, sp, #120 ; 0x78 - c788: 9508 str r5, [sp, #32] - c78a: 464b mov r3, r9 - c78c: 46b1 mov r9, r6 - c78e: 465a mov r2, fp - c790: 920c str r2, [sp, #48] ; 0x30 - c792: 001e movs r6, r3 - c794: e041 b.n c81a - c796: 46c0 nop ; (mov r8, r8) - c798: 00010e59 .word 0x00010e59 - c79c: 0000a659 .word 0x0000a659 - c7a0: 0000a7ed .word 0x0000a7ed - c7a4: 0000a585 .word 0x0000a585 - c7a8: 00005c05 .word 0x00005c05 - c7ac: 00011089 .word 0x00011089 - c7b0: 0000a5bd .word 0x0000a5bd + c7ee: ac1e add r4, sp, #120 ; 0x78 + c7f0: 9508 str r5, [sp, #32] + c7f2: 464b mov r3, r9 + c7f4: 46b1 mov r9, r6 + c7f6: 465a mov r2, fp + c7f8: 920c str r2, [sp, #48] ; 0x30 + c7fa: 001e movs r6, r3 + c7fc: e041 b.n c882 + c7fe: 46c0 nop ; (mov r8, r8) + c800: 00010ec1 .word 0x00010ec1 + c804: 0000a6c1 .word 0x0000a6c1 + c808: 0000a855 .word 0x0000a855 + c80c: 0000a5ed .word 0x0000a5ed + c810: 00005c6d .word 0x00005c6d + c814: 000110f1 .word 0x000110f1 + c818: 0000a625 .word 0x0000a625 fill_area2.x1 = coords->x2 - rout + 1; - c7b4: 2204 movs r2, #4 - c7b6: 5eb3 ldrsh r3, [r6, r2] - c7b8: 1c5a adds r2, r3, #1 - c7ba: 4651 mov r1, sl - c7bc: 1a52 subs r2, r2, r1 - c7be: 8022 strh r2, [r4, #0] + c81c: 2204 movs r2, #4 + c81e: 5eb3 ldrsh r3, [r6, r2] + c820: 1c5a adds r2, r3, #1 + c822: 4651 mov r1, sl + c824: 1a52 subs r2, r2, r1 + c826: 8022 strh r2, [r4, #0] fill_area2.x2 = coords->x2; - c7c0: 80a3 strh r3, [r4, #4] + c828: 80a3 strh r3, [r4, #4] int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - c7c2: 9a09 ldr r2, [sp, #36] ; 0x24 - c7c4: 1a9a subs r2, r3, r2 - c7c6: 3201 adds r2, #1 - c7c8: 2110 movs r1, #16 - c7ca: 5e7b ldrsh r3, [r7, r1] - c7cc: a90e add r1, sp, #56 ; 0x38 - c7ce: 2028 movs r0, #40 ; 0x28 - c7d0: 5e09 ldrsh r1, [r1, r0] - c7d2: 185b adds r3, r3, r1 - c7d4: 1ad3 subs r3, r2, r3 + c82a: 9a09 ldr r2, [sp, #36] ; 0x24 + c82c: 1a9a subs r2, r3, r2 + c82e: 3201 adds r2, #1 + c830: 2110 movs r1, #16 + c832: 5e7b ldrsh r3, [r7, r1] + c834: a90e add r1, sp, #56 ; 0x38 + c836: 2028 movs r0, #40 ; 0x28 + c838: 5e09 ldrsh r1, [r1, r0] + c83a: 185b adds r3, r3, r1 + c83c: 1ad3 subs r3, r2, r3 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - c7d6: 43da mvns r2, r3 - c7d8: 17d2 asrs r2, r2, #31 - c7da: 4013 ands r3, r2 - c7dc: 9a05 ldr r2, [sp, #20] - c7de: 4694 mov ip, r2 - c7e0: 4463 add r3, ip - c7e2: 9a06 ldr r2, [sp, #24] - c7e4: 9202 str r2, [sp, #8] - c7e6: 464a mov r2, r9 - c7e8: 9201 str r2, [sp, #4] - c7ea: 4642 mov r2, r8 - c7ec: 9200 str r2, [sp, #0] - c7ee: 466a mov r2, sp - c7f0: 8b92 ldrh r2, [r2, #28] - c7f2: 0021 movs r1, r4 - c7f4: 9804 ldr r0, [sp, #16] - c7f6: 4daf ldr r5, [pc, #700] ; (cab4 ) - c7f8: 47a8 blx r5 + c83e: 43da mvns r2, r3 + c840: 17d2 asrs r2, r2, #31 + c842: 4013 ands r3, r2 + c844: 9a05 ldr r2, [sp, #20] + c846: 4694 mov ip, r2 + c848: 4463 add r3, ip + c84a: 9a06 ldr r2, [sp, #24] + c84c: 9202 str r2, [sp, #8] + c84e: 464a mov r2, r9 + c850: 9201 str r2, [sp, #4] + c852: 4642 mov r2, r8 + c854: 9200 str r2, [sp, #0] + c856: 466a mov r2, sp + c858: 8b92 ldrh r2, [r2, #28] + c85a: 0021 movs r1, r4 + c85c: 9804 ldr r0, [sp, #16] + c85e: 4daf ldr r5, [pc, #700] ; (cb1c ) + c860: 47a8 blx r5 fill_area.y1++; - c7fa: ab1c add r3, sp, #112 ; 0x70 - c7fc: 885a ldrh r2, [r3, #2] - c7fe: 3201 adds r2, #1 - c800: 805a strh r2, [r3, #2] + c862: ab1c add r3, sp, #112 ; 0x70 + c864: 885a ldrh r2, [r3, #2] + c866: 3201 adds r2, #1 + c868: 805a strh r2, [r3, #2] fill_area.y2++; - c802: 88da ldrh r2, [r3, #6] - c804: 3201 adds r2, #1 - c806: 80da strh r2, [r3, #6] + c86a: 88da ldrh r2, [r3, #6] + c86c: 3201 adds r2, #1 + c86e: 80da strh r2, [r3, #6] for(h = lower_corner_end; h <= draw_area.y2; h++) { - c808: 9a08 ldr r2, [sp, #32] - c80a: 3201 adds r2, #1 - c80c: 0011 movs r1, r2 - c80e: 9208 str r2, [sp, #32] - c810: ab0e add r3, sp, #56 ; 0x38 - c812: 222e movs r2, #46 ; 0x2e - c814: 5e9b ldrsh r3, [r3, r2] - c816: 4299 cmp r1, r3 - c818: dc4a bgt.n c8b0 + c870: 9a08 ldr r2, [sp, #32] + c872: 3201 adds r2, #1 + c874: 0011 movs r1, r2 + c876: 9208 str r2, [sp, #32] + c878: ab0e add r3, sp, #56 ; 0x38 + c87a: 222e movs r2, #46 ; 0x2e + c87c: 5e9b ldrsh r3, [r3, r2] + c87e: 4299 cmp r1, r3 + c880: dc4a bgt.n c918 _lv_memset_ff(mask_buf, draw_area_w); - c81a: 990b ldr r1, [sp, #44] ; 0x2c - c81c: 9d05 ldr r5, [sp, #20] - c81e: 0028 movs r0, r5 - c820: 4ba5 ldr r3, [pc, #660] ; (cab8 ) - c822: 4798 blx r3 + c882: 990b ldr r1, [sp, #44] ; 0x2c + c884: 9d05 ldr r5, [sp, #20] + c886: 0028 movs r0, r5 + c888: 4ba5 ldr r3, [pc, #660] ; (cb20 ) + c88a: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - c824: 8a7a ldrh r2, [r7, #18] - c826: 9b08 ldr r3, [sp, #32] - c828: 469c mov ip, r3 - c82a: 4462 add r2, ip - c82c: b212 sxth r2, r2 - c82e: 8a39 ldrh r1, [r7, #16] - c830: ab0e add r3, sp, #56 ; 0x38 - c832: 8d1b ldrh r3, [r3, #40] ; 0x28 - c834: 18c9 adds r1, r1, r3 - c836: b209 sxth r1, r1 - c838: 9b0a ldr r3, [sp, #40] ; 0x28 - c83a: 9505 str r5, [sp, #20] - c83c: 0028 movs r0, r5 - c83e: 4d9f ldr r5, [pc, #636] ; (cabc ) - c840: 47a8 blx r5 - c842: 4680 mov r8, r0 + c88c: 8a7a ldrh r2, [r7, #18] + c88e: 9b08 ldr r3, [sp, #32] + c890: 469c mov ip, r3 + c892: 4462 add r2, ip + c894: b212 sxth r2, r2 + c896: 8a39 ldrh r1, [r7, #16] + c898: ab0e add r3, sp, #56 ; 0x38 + c89a: 8d1b ldrh r3, [r3, #40] ; 0x28 + c89c: 18c9 adds r1, r1, r3 + c89e: b209 sxth r1, r1 + c8a0: 9b0a ldr r3, [sp, #40] ; 0x28 + c8a2: 9505 str r5, [sp, #20] + c8a4: 0028 movs r0, r5 + c8a6: 4d9f ldr r5, [pc, #636] ; (cb24 ) + c8a8: 47a8 blx r5 + c8aa: 4680 mov r8, r0 fill_area2.x1 = coords->x1; - c844: 2200 movs r2, #0 - c846: 5eb3 ldrsh r3, [r6, r2] - c848: 8023 strh r3, [r4, #0] + c8ac: 2200 movs r2, #0 + c8ae: 5eb3 ldrsh r3, [r6, r2] + c8b0: 8023 strh r3, [r4, #0] fill_area2.x2 = coords->x1 + rout - 1; - c84a: 3b01 subs r3, #1 - c84c: 4453 add r3, sl - c84e: 80a3 strh r3, [r4, #4] + c8b2: 3b01 subs r3, #1 + c8b4: 4453 add r3, sl + c8b6: 80a3 strh r3, [r4, #4] fill_area2.y1 = fill_area.y1; - c850: ab1c add r3, sp, #112 ; 0x70 - c852: 885a ldrh r2, [r3, #2] - c854: 8062 strh r2, [r4, #2] + c8b8: ab1c add r3, sp, #112 ; 0x70 + c8ba: 885a ldrh r2, [r3, #2] + c8bc: 8062 strh r2, [r4, #2] fill_area2.y2 = fill_area.y2; - c856: 88db ldrh r3, [r3, #6] - c858: 80e3 strh r3, [r4, #6] + c8be: 88db ldrh r3, [r3, #6] + c8c0: 80e3 strh r3, [r4, #6] _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - c85a: 9a06 ldr r2, [sp, #24] - c85c: 9202 str r2, [sp, #8] - c85e: 464a mov r2, r9 - c860: 9201 str r2, [sp, #4] - c862: 9000 str r0, [sp, #0] - c864: 9b05 ldr r3, [sp, #20] - c866: 466a mov r2, sp - c868: 8b92 ldrh r2, [r2, #28] - c86a: 0021 movs r1, r4 - c86c: 9804 ldr r0, [sp, #16] - c86e: 4d91 ldr r5, [pc, #580] ; (cab4 ) - c870: 47a8 blx r5 + c8c2: 9a06 ldr r2, [sp, #24] + c8c4: 9202 str r2, [sp, #8] + c8c6: 464a mov r2, r9 + c8c8: 9201 str r2, [sp, #4] + c8ca: 9000 str r0, [sp, #0] + c8cc: 9b05 ldr r3, [sp, #20] + c8ce: 466a mov r2, sp + c8d0: 8b92 ldrh r2, [r2, #28] + c8d2: 0021 movs r1, r4 + c8d4: 9804 ldr r0, [sp, #16] + c8d6: 4d91 ldr r5, [pc, #580] ; (cb1c ) + c8d8: 47a8 blx r5 if(fill_area2.y2 > coords->y2 - dsc->border_width) { - c872: 2306 movs r3, #6 - c874: 5ee2 ldrsh r2, [r4, r3] - c876: 2106 movs r1, #6 - c878: 5e73 ldrsh r3, [r6, r1] - c87a: 990c ldr r1, [sp, #48] ; 0x30 - c87c: 2010 movs r0, #16 - c87e: 5e09 ldrsh r1, [r1, r0] - c880: 1a5b subs r3, r3, r1 - c882: 429a cmp r2, r3 - c884: dd96 ble.n c7b4 + c8da: 2306 movs r3, #6 + c8dc: 5ee2 ldrsh r2, [r4, r3] + c8de: 2106 movs r1, #6 + c8e0: 5e73 ldrsh r3, [r6, r1] + c8e2: 990c ldr r1, [sp, #48] ; 0x30 + c8e4: 2010 movs r0, #16 + c8e6: 5e09 ldrsh r1, [r1, r0] + c8e8: 1a5b subs r3, r3, r1 + c8ea: 429a cmp r2, r3 + c8ec: dd96 ble.n c81c fill_area2.x1 = coords->x1 + rout; - c886: 8833 ldrh r3, [r6, #0] - c888: 4453 add r3, sl - c88a: 8023 strh r3, [r4, #0] + c8ee: 8833 ldrh r3, [r6, #0] + c8f0: 4453 add r3, sl + c8f2: 8023 strh r3, [r4, #0] fill_area2.x2 = coords->x2 - rout; - c88c: 88b3 ldrh r3, [r6, #4] - c88e: 4652 mov r2, sl - c890: 1a9b subs r3, r3, r2 - c892: 80a3 strh r3, [r4, #4] + c8f4: 88b3 ldrh r3, [r6, #4] + c8f6: 4652 mov r2, sl + c8f8: 1a9b subs r3, r3, r2 + c8fa: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - c894: 9b06 ldr r3, [sp, #24] - c896: 9302 str r3, [sp, #8] - c898: 464b mov r3, r9 - c89a: 9301 str r3, [sp, #4] - c89c: 2301 movs r3, #1 - c89e: 9300 str r3, [sp, #0] - c8a0: 2300 movs r3, #0 - c8a2: 466a mov r2, sp - c8a4: 8b92 ldrh r2, [r2, #28] - c8a6: 0021 movs r1, r4 - c8a8: 9804 ldr r0, [sp, #16] - c8aa: 4d82 ldr r5, [pc, #520] ; (cab4 ) - c8ac: 47a8 blx r5 - c8ae: e781 b.n c7b4 - c8b0: 0032 movs r2, r6 - c8b2: 464e mov r6, r9 - c8b4: 9b0c ldr r3, [sp, #48] ; 0x30 - c8b6: 469b mov fp, r3 - c8b8: 4691 mov r9, r2 + c8fc: 9b06 ldr r3, [sp, #24] + c8fe: 9302 str r3, [sp, #8] + c900: 464b mov r3, r9 + c902: 9301 str r3, [sp, #4] + c904: 2301 movs r3, #1 + c906: 9300 str r3, [sp, #0] + c908: 2300 movs r3, #0 + c90a: 466a mov r2, sp + c90c: 8b92 ldrh r2, [r2, #28] + c90e: 0021 movs r1, r4 + c910: 9804 ldr r0, [sp, #16] + c912: 4d82 ldr r5, [pc, #520] ; (cb1c ) + c914: 47a8 blx r5 + c916: e781 b.n c81c + c918: 0032 movs r2, r6 + c91a: 464e mov r6, r9 + c91c: 9b0c ldr r3, [sp, #48] ; 0x30 + c91e: 469b mov fp, r3 + c920: 4691 mov r9, r2 fill_area.y1 = coords->y1 + corner_size + 1; - c8ba: 466b mov r3, sp - c8bc: 8e99 ldrh r1, [r3, #52] ; 0x34 - c8be: ac1c add r4, sp, #112 ; 0x70 - c8c0: 464b mov r3, r9 - c8c2: 885a ldrh r2, [r3, #2] - c8c4: 3201 adds r2, #1 - c8c6: 188a adds r2, r1, r2 - c8c8: 8062 strh r2, [r4, #2] + c922: 466b mov r3, sp + c924: 8e99 ldrh r1, [r3, #52] ; 0x34 + c926: ac1c add r4, sp, #112 ; 0x70 + c928: 464b mov r3, r9 + c92a: 885a ldrh r2, [r3, #2] + c92c: 3201 adds r2, #1 + c92e: 188a adds r2, r1, r2 + c930: 8062 strh r2, [r4, #2] fill_area.y2 = coords->y2 - corner_size - 1; - c8ca: 88db ldrh r3, [r3, #6] - c8cc: 3b01 subs r3, #1 - c8ce: 1a5b subs r3, r3, r1 - c8d0: 80e3 strh r3, [r4, #6] + c932: 88db ldrh r3, [r3, #6] + c934: 3b01 subs r3, #1 + c936: 1a5b subs r3, r3, r1 + c938: 80e3 strh r3, [r4, #6] fill_area.x1 = coords->x1; - c8d2: 464b mov r3, r9 - c8d4: 2200 movs r2, #0 - c8d6: 5e9b ldrsh r3, [r3, r2] - c8d8: 8023 strh r3, [r4, #0] + c93a: 464b mov r3, r9 + c93c: 2200 movs r2, #0 + c93e: 5e9b ldrsh r3, [r3, r2] + c940: 8023 strh r3, [r4, #0] fill_area.x2 = coords->x1 + dsc->border_width - 1; - c8da: 465a mov r2, fp - c8dc: 8a12 ldrh r2, [r2, #16] - c8de: 3a01 subs r2, #1 - c8e0: 189b adds r3, r3, r2 - c8e2: 80a3 strh r3, [r4, #4] + c942: 465a mov r2, fp + c944: 8a12 ldrh r2, [r2, #16] + c946: 3a01 subs r2, #1 + c948: 189b adds r3, r3, r2 + c94a: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - c8e4: 9b06 ldr r3, [sp, #24] - c8e6: 9302 str r3, [sp, #8] - c8e8: 9601 str r6, [sp, #4] - c8ea: 2701 movs r7, #1 - c8ec: 9700 str r7, [sp, #0] - c8ee: 2300 movs r3, #0 - c8f0: 466a mov r2, sp - c8f2: 2144 movs r1, #68 ; 0x44 - c8f4: 1852 adds r2, r2, r1 - c8f6: 8812 ldrh r2, [r2, #0] - c8f8: 0021 movs r1, r4 - c8fa: 9804 ldr r0, [sp, #16] - c8fc: 4d6d ldr r5, [pc, #436] ; (cab4 ) - c8fe: 47a8 blx r5 + c94c: 9b06 ldr r3, [sp, #24] + c94e: 9302 str r3, [sp, #8] + c950: 9601 str r6, [sp, #4] + c952: 2701 movs r7, #1 + c954: 9700 str r7, [sp, #0] + c956: 2300 movs r3, #0 + c958: 466a mov r2, sp + c95a: 2144 movs r1, #68 ; 0x44 + c95c: 1852 adds r2, r2, r1 + c95e: 8812 ldrh r2, [r2, #0] + c960: 0021 movs r1, r4 + c962: 9804 ldr r0, [sp, #16] + c964: 4d6d ldr r5, [pc, #436] ; (cb1c ) + c966: 47a8 blx r5 fill_area.x1 = coords->x2 - dsc->border_width + 1; - c900: 464a mov r2, r9 - c902: 2104 movs r1, #4 - c904: 5e52 ldrsh r2, [r2, r1] - c906: 4659 mov r1, fp - c908: 8a0b ldrh r3, [r1, #16] - c90a: 1ad3 subs r3, r2, r3 - c90c: 3301 adds r3, #1 - c90e: 8023 strh r3, [r4, #0] + c968: 464a mov r2, r9 + c96a: 2104 movs r1, #4 + c96c: 5e52 ldrsh r2, [r2, r1] + c96e: 4659 mov r1, fp + c970: 8a0b ldrh r3, [r1, #16] + c972: 1ad3 subs r3, r2, r3 + c974: 3301 adds r3, #1 + c976: 8023 strh r3, [r4, #0] fill_area.x2 = coords->x2; - c910: 80a2 strh r2, [r4, #4] + c978: 80a2 strh r2, [r4, #4] _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - c912: 9b06 ldr r3, [sp, #24] - c914: 9302 str r3, [sp, #8] - c916: 9601 str r6, [sp, #4] - c918: 9700 str r7, [sp, #0] - c91a: 2300 movs r3, #0 - c91c: 466a mov r2, sp - c91e: 2144 movs r1, #68 ; 0x44 - c920: 1852 adds r2, r2, r1 - c922: 8812 ldrh r2, [r2, #0] - c924: 0021 movs r1, r4 - c926: 9804 ldr r0, [sp, #16] - c928: 47a8 blx r5 + c97a: 9b06 ldr r3, [sp, #24] + c97c: 9302 str r3, [sp, #8] + c97e: 9601 str r6, [sp, #4] + c980: 9700 str r7, [sp, #0] + c982: 2300 movs r3, #0 + c984: 466a mov r2, sp + c986: 2144 movs r1, #68 ; 0x44 + c988: 1852 adds r2, r2, r1 + c98a: 8812 ldrh r2, [r2, #0] + c98c: 0021 movs r1, r4 + c98e: 9804 ldr r0, [sp, #16] + c990: 47a8 blx r5 lv_draw_mask_remove_id(mask_rin_id); - c92a: 9810 ldr r0, [sp, #64] ; 0x40 - c92c: 4c64 ldr r4, [pc, #400] ; (cac0 ) - c92e: 47a0 blx r4 + c992: 9810 ldr r0, [sp, #64] ; 0x40 + c994: 4c64 ldr r4, [pc, #400] ; (cb28 ) + c996: 47a0 blx r4 lv_draw_mask_remove_id(mask_rout_id); - c930: 980f ldr r0, [sp, #60] ; 0x3c - c932: 47a0 blx r4 + c998: 980f ldr r0, [sp, #60] ; 0x3c + c99a: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - c934: 9805 ldr r0, [sp, #20] - c936: 4b63 ldr r3, [pc, #396] ; (cac4 ) - c938: 4798 blx r3 - c93a: f7ff f882 bl ba42 + c99c: 9805 ldr r0, [sp, #20] + c99e: 4b63 ldr r3, [pc, #396] ; (cb2c ) + c9a0: 4798 blx r3 + c9a2: f7ff f882 bl baaa fill_area.x1 = coords->x1; - c93e: 464b mov r3, r9 - c940: 2100 movs r1, #0 - c942: 5e59 ldrsh r1, [r3, r1] - c944: a81c add r0, sp, #112 ; 0x70 - c946: 8001 strh r1, [r0, #0] + c9a6: 464b mov r3, r9 + c9a8: 2100 movs r1, #0 + c9aa: 5e59 ldrsh r1, [r3, r1] + c9ac: a81c add r0, sp, #112 ; 0x70 + c9ae: 8001 strh r1, [r0, #0] fill_area.x2 = coords->x2; - c948: 464b mov r3, r9 - c94a: 2204 movs r2, #4 - c94c: 5e9a ldrsh r2, [r3, r2] - c94e: 8082 strh r2, [r0, #4] + c9b0: 464b mov r3, r9 + c9b2: 2204 movs r2, #4 + c9b4: 5e9a ldrsh r2, [r3, r2] + c9b6: 8082 strh r2, [r0, #4] fill_area.y1 = disp_area->y1 + draw_area.y1; - c950: ab18 add r3, sp, #96 ; 0x60 - c952: 2402 movs r4, #2 - c954: 5f1c ldrsh r4, [r3, r4] - c956: 8a7b ldrh r3, [r7, #18] - c958: 191b adds r3, r3, r4 - c95a: b21b sxth r3, r3 - c95c: 8043 strh r3, [r0, #2] + c9b8: ab18 add r3, sp, #96 ; 0x60 + c9ba: 2402 movs r4, #2 + c9bc: 5f1c ldrsh r4, [r3, r4] + c9be: 8a7b ldrh r3, [r7, #18] + c9c0: 191b adds r3, r3, r4 + c9c2: b21b sxth r3, r3 + c9c4: 8043 strh r3, [r0, #2] fill_area.y2 = fill_area.y1; - c95e: 80c3 strh r3, [r0, #6] + c9c6: 80c3 strh r3, [r0, #6] if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size; - c960: 465b mov r3, fp - c962: 2012 movs r0, #18 - c964: 5e1b ldrsh r3, [r3, r0] - c966: 2b04 cmp r3, #4 - c968: d02b beq.n c9c2 + c9c8: 465b mov r3, fp + c9ca: 2012 movs r0, #18 + c9cc: 5e1b ldrsh r3, [r3, r0] + c9ce: 2b04 cmp r3, #4 + c9d0: d02b beq.n ca2a else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size; - c96a: 2b08 cmp r3, #8 - c96c: d045 beq.n c9fa + c9d2: 2b08 cmp r3, #8 + c9d4: d045 beq.n ca62 volatile bool top_only = false; - c96e: 2200 movs r2, #0 - c970: 2116 movs r1, #22 - c972: a80e add r0, sp, #56 ; 0x38 - c974: 4684 mov ip, r0 - c976: 4461 add r1, ip - c978: 700a strb r2, [r1, #0] + c9d6: 2200 movs r2, #0 + c9d8: 2116 movs r1, #22 + c9da: a80e add r0, sp, #56 ; 0x38 + c9dc: 4684 mov ip, r0 + c9de: 4461 add r1, ip + c9e0: 700a strb r2, [r1, #0] volatile bool bottom_only = false; - c97a: 2117 movs r1, #23 - c97c: 4461 add r1, ip - c97e: 700a strb r2, [r1, #0] + c9e2: 2117 movs r1, #23 + c9e4: 4461 add r1, ip + c9e6: 700a strb r2, [r1, #0] if(dsc->border_side == LV_BORDER_SIDE_TOP) top_only = true; - c980: 2b02 cmp r3, #2 - c982: d12c bne.n c9de - c984: 3201 adds r2, #1 - c986: 3314 adds r3, #20 - c988: 4463 add r3, ip - c98a: 701a strb r2, [r3, #0] + c9e8: 2b02 cmp r3, #2 + c9ea: d12c bne.n ca46 + c9ec: 3201 adds r2, #1 + c9ee: 3314 adds r3, #20 + c9f0: 4463 add r3, ip + c9f2: 701a strb r2, [r3, #0] volatile bool normal = !top_only && !bottom_only ? true : false; - c98c: 2316 movs r3, #22 - c98e: aa0e add r2, sp, #56 ; 0x38 - c990: 4694 mov ip, r2 - c992: 4463 add r3, ip - c994: 781b ldrb r3, [r3, #0] - c996: 2b00 cmp r3, #0 - c998: d104 bne.n c9a4 - c99a: 3317 adds r3, #23 - c99c: 4463 add r3, ip - c99e: 781b ldrb r3, [r3, #0] - c9a0: 2501 movs r5, #1 - c9a2: 405d eors r5, r3 - c9a4: 2301 movs r3, #1 - c9a6: 401d ands r5, r3 - c9a8: ab14 add r3, sp, #80 ; 0x50 - c9aa: 701d strb r5, [r3, #0] + c9f4: 2316 movs r3, #22 + c9f6: aa0e add r2, sp, #56 ; 0x38 + c9f8: 4694 mov ip, r2 + c9fa: 4463 add r3, ip + c9fc: 781b ldrb r3, [r3, #0] + c9fe: 2b00 cmp r3, #0 + ca00: d104 bne.n ca0c + ca02: 3317 adds r3, #23 + ca04: 4463 add r3, ip + ca06: 781b ldrb r3, [r3, #0] + ca08: 2501 movs r5, #1 + ca0a: 405d eors r5, r3 + ca0c: 2301 movs r3, #1 + ca0e: 401d ands r5, r3 + ca10: ab14 add r3, sp, #80 ; 0x50 + ca12: 701d strb r5, [r3, #0] for(h = draw_area.y1; h <= draw_area.y2; h++) { - c9ac: 0025 movs r5, r4 - c9ae: ab18 add r3, sp, #96 ; 0x60 - c9b0: 2206 movs r2, #6 - c9b2: 5e9b ldrsh r3, [r3, r2] - c9b4: 429c cmp r4, r3 - c9b6: dcb8 bgt.n c92a + ca14: 0025 movs r5, r4 + ca16: ab18 add r3, sp, #96 ; 0x60 + ca18: 2206 movs r2, #6 + ca1a: 5e9b ldrsh r3, [r3, r2] + ca1c: 429c cmp r4, r3 + ca1e: dcb8 bgt.n c992 (bottom_only && fill_area.y1 >= coords->y2 - corner_size)) { - c9b8: ac1c add r4, sp, #112 ; 0x70 + ca20: ac1c add r4, sp, #112 ; 0x70 _lv_memset_ff(mask_buf, draw_area_w); - c9ba: 4b3f ldr r3, [pc, #252] ; (cab8 ) - c9bc: 469a mov sl, r3 + ca22: 4b3f ldr r3, [pc, #252] ; (cb20 ) + ca24: 469a mov sl, r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - c9be: 46b0 mov r8, r6 - c9c0: e051 b.n ca66 + ca26: 46b0 mov r8, r6 + ca28: e051 b.n cace if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size; - c9c2: 9a0d ldr r2, [sp, #52] ; 0x34 - c9c4: 4694 mov ip, r2 - c9c6: 4461 add r1, ip - c9c8: aa1c add r2, sp, #112 ; 0x70 - c9ca: 8091 strh r1, [r2, #4] + ca2a: 9a0d ldr r2, [sp, #52] ; 0x34 + ca2c: 4694 mov ip, r2 + ca2e: 4461 add r1, ip + ca30: aa1c add r2, sp, #112 ; 0x70 + ca32: 8091 strh r1, [r2, #4] volatile bool top_only = false; - c9cc: 2200 movs r2, #0 - c9ce: 2116 movs r1, #22 - c9d0: a80e add r0, sp, #56 ; 0x38 - c9d2: 4684 mov ip, r0 - c9d4: 4461 add r1, ip - c9d6: 700a strb r2, [r1, #0] + ca34: 2200 movs r2, #0 + ca36: 2116 movs r1, #22 + ca38: a80e add r0, sp, #56 ; 0x38 + ca3a: 4684 mov ip, r0 + ca3c: 4461 add r1, ip + ca3e: 700a strb r2, [r1, #0] volatile bool bottom_only = false; - c9d8: 2117 movs r1, #23 - c9da: 4461 add r1, ip - c9dc: 700a strb r2, [r1, #0] + ca40: 2117 movs r1, #23 + ca42: 4461 add r1, ip + ca44: 700a strb r2, [r1, #0] if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true; - c9de: 2b01 cmp r3, #1 - c9e0: d010 beq.n ca04 + ca46: 2b01 cmp r3, #1 + ca48: d010 beq.n ca6c if(dsc->border_side == (LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM)) { - c9e2: 2b03 cmp r3, #3 - c9e4: d1d2 bne.n c98c + ca4a: 2b03 cmp r3, #3 + ca4c: d1d2 bne.n c9f4 top_only = true; - c9e6: 3b02 subs r3, #2 - c9e8: 2216 movs r2, #22 - c9ea: a90e add r1, sp, #56 ; 0x38 - c9ec: 468c mov ip, r1 - c9ee: 4462 add r2, ip - c9f0: 7013 strb r3, [r2, #0] + ca4e: 3b02 subs r3, #2 + ca50: 2216 movs r2, #22 + ca52: a90e add r1, sp, #56 ; 0x38 + ca54: 468c mov ip, r1 + ca56: 4462 add r2, ip + ca58: 7013 strb r3, [r2, #0] bottom_only = true; - c9f2: 2217 movs r2, #23 - c9f4: 4462 add r2, ip - c9f6: 7013 strb r3, [r2, #0] - c9f8: e7c8 b.n c98c + ca5a: 2217 movs r2, #23 + ca5c: 4462 add r2, ip + ca5e: 7013 strb r3, [r2, #0] + ca60: e7c8 b.n c9f4 else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size; - c9fa: 990d ldr r1, [sp, #52] ; 0x34 - c9fc: 1a52 subs r2, r2, r1 - c9fe: a91c add r1, sp, #112 ; 0x70 - ca00: 800a strh r2, [r1, #0] - ca02: e7e3 b.n c9cc + ca62: 990d ldr r1, [sp, #52] ; 0x34 + ca64: 1a52 subs r2, r2, r1 + ca66: a91c add r1, sp, #112 ; 0x70 + ca68: 800a strh r2, [r1, #0] + ca6a: e7e3 b.n ca34 if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true; - ca04: 2201 movs r2, #1 - ca06: 3316 adds r3, #22 - ca08: a90e add r1, sp, #56 ; 0x38 - ca0a: 468c mov ip, r1 - ca0c: 4463 add r3, ip - ca0e: 701a strb r2, [r3, #0] - ca10: e7bc b.n c98c + ca6c: 2201 movs r2, #1 + ca6e: 3316 adds r3, #22 + ca70: a90e add r1, sp, #56 ; 0x38 + ca72: 468c mov ip, r1 + ca74: 4463 add r3, ip + ca76: 701a strb r2, [r3, #0] + ca78: e7bc b.n c9f4 _lv_memset_ff(mask_buf, draw_area_w); - ca12: 990b ldr r1, [sp, #44] ; 0x2c - ca14: 9e05 ldr r6, [sp, #20] - ca16: 0030 movs r0, r6 - ca18: 47d0 blx sl + ca7a: 990b ldr r1, [sp, #44] ; 0x2c + ca7c: 9e05 ldr r6, [sp, #20] + ca7e: 0030 movs r0, r6 + ca80: 47d0 blx sl mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - ca1a: 8a7a ldrh r2, [r7, #18] - ca1c: 1952 adds r2, r2, r5 - ca1e: b212 sxth r2, r2 - ca20: 8a39 ldrh r1, [r7, #16] - ca22: ab0e add r3, sp, #56 ; 0x38 - ca24: 8d1b ldrh r3, [r3, #40] ; 0x28 - ca26: 18c9 adds r1, r1, r3 - ca28: b209 sxth r1, r1 - ca2a: 9b0a ldr r3, [sp, #40] ; 0x28 - ca2c: 9605 str r6, [sp, #20] - ca2e: 0030 movs r0, r6 - ca30: 4e22 ldr r6, [pc, #136] ; (cabc ) - ca32: 47b0 blx r6 + ca82: 8a7a ldrh r2, [r7, #18] + ca84: 1952 adds r2, r2, r5 + ca86: b212 sxth r2, r2 + ca88: 8a39 ldrh r1, [r7, #16] + ca8a: ab0e add r3, sp, #56 ; 0x38 + ca8c: 8d1b ldrh r3, [r3, #40] ; 0x28 + ca8e: 18c9 adds r1, r1, r3 + ca90: b209 sxth r1, r1 + ca92: 9b0a ldr r3, [sp, #40] ; 0x28 + ca94: 9605 str r6, [sp, #20] + ca96: 0030 movs r0, r6 + ca98: 4e22 ldr r6, [pc, #136] ; (cb24 ) + ca9a: 47b0 blx r6 _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - ca34: 9a06 ldr r2, [sp, #24] - ca36: 9202 str r2, [sp, #8] - ca38: 4642 mov r2, r8 - ca3a: 9201 str r2, [sp, #4] - ca3c: 9000 str r0, [sp, #0] - ca3e: 9b05 ldr r3, [sp, #20] - ca40: 466a mov r2, sp - ca42: 8b92 ldrh r2, [r2, #28] - ca44: 0021 movs r1, r4 - ca46: 9804 ldr r0, [sp, #16] - ca48: 4e1a ldr r6, [pc, #104] ; (cab4 ) - ca4a: 47b0 blx r6 + ca9c: 9a06 ldr r2, [sp, #24] + ca9e: 9202 str r2, [sp, #8] + caa0: 4642 mov r2, r8 + caa2: 9201 str r2, [sp, #4] + caa4: 9000 str r0, [sp, #0] + caa6: 9b05 ldr r3, [sp, #20] + caa8: 466a mov r2, sp + caaa: 8b92 ldrh r2, [r2, #28] + caac: 0021 movs r1, r4 + caae: 9804 ldr r0, [sp, #16] + cab0: 4e1a ldr r6, [pc, #104] ; (cb1c ) + cab2: 47b0 blx r6 fill_area.y1++; - ca4c: 8863 ldrh r3, [r4, #2] - ca4e: 3301 adds r3, #1 - ca50: 8063 strh r3, [r4, #2] + cab4: 8863 ldrh r3, [r4, #2] + cab6: 3301 adds r3, #1 + cab8: 8063 strh r3, [r4, #2] fill_area.y2++; - ca52: 88e3 ldrh r3, [r4, #6] - ca54: 3301 adds r3, #1 - ca56: 80e3 strh r3, [r4, #6] + caba: 88e3 ldrh r3, [r4, #6] + cabc: 3301 adds r3, #1 + cabe: 80e3 strh r3, [r4, #6] for(h = draw_area.y1; h <= draw_area.y2; h++) { - ca58: 3501 adds r5, #1 - ca5a: ab0e add r3, sp, #56 ; 0x38 - ca5c: 222e movs r2, #46 ; 0x2e - ca5e: 5e9b ldrsh r3, [r3, r2] - ca60: 429d cmp r5, r3 - ca62: dd00 ble.n ca66 - ca64: e761 b.n c92a + cac0: 3501 adds r5, #1 + cac2: ab0e add r3, sp, #56 ; 0x38 + cac4: 222e movs r2, #46 ; 0x2e + cac6: 5e9b ldrsh r3, [r3, r2] + cac8: 429d cmp r5, r3 + caca: dd00 ble.n cace + cacc: e761 b.n c992 if(normal || - ca66: ab14 add r3, sp, #80 ; 0x50 - ca68: 781b ldrb r3, [r3, #0] - ca6a: 2b00 cmp r3, #0 - ca6c: d1d1 bne.n ca12 + cace: ab14 add r3, sp, #80 ; 0x50 + cad0: 781b ldrb r3, [r3, #0] + cad2: 2b00 cmp r3, #0 + cad4: d1d1 bne.n ca7a (top_only && fill_area.y1 <= coords->y1 + corner_size) || - ca6e: 3316 adds r3, #22 - ca70: aa0e add r2, sp, #56 ; 0x38 - ca72: 4694 mov ip, r2 - ca74: 4463 add r3, ip - ca76: 781b ldrb r3, [r3, #0] + cad6: 3316 adds r3, #22 + cad8: aa0e add r2, sp, #56 ; 0x38 + cada: 4694 mov ip, r2 + cadc: 4463 add r3, ip + cade: 781b ldrb r3, [r3, #0] if(normal || - ca78: 2b00 cmp r3, #0 - ca7a: d009 beq.n ca90 + cae0: 2b00 cmp r3, #0 + cae2: d009 beq.n caf8 (top_only && fill_area.y1 <= coords->y1 + corner_size) || - ca7c: 2302 movs r3, #2 - ca7e: 5ee2 ldrsh r2, [r4, r3] - ca80: 464b mov r3, r9 - ca82: 2102 movs r1, #2 - ca84: 5e5b ldrsh r3, [r3, r1] - ca86: 990d ldr r1, [sp, #52] ; 0x34 - ca88: 468c mov ip, r1 - ca8a: 4463 add r3, ip - ca8c: 429a cmp r2, r3 - ca8e: ddc0 ble.n ca12 + cae4: 2302 movs r3, #2 + cae6: 5ee2 ldrsh r2, [r4, r3] + cae8: 464b mov r3, r9 + caea: 2102 movs r1, #2 + caec: 5e5b ldrsh r3, [r3, r1] + caee: 990d ldr r1, [sp, #52] ; 0x34 + caf0: 468c mov ip, r1 + caf2: 4463 add r3, ip + caf4: 429a cmp r2, r3 + caf6: ddc0 ble.n ca7a (bottom_only && fill_area.y1 >= coords->y2 - corner_size)) { - ca90: 2317 movs r3, #23 - ca92: aa0e add r2, sp, #56 ; 0x38 - ca94: 4694 mov ip, r2 - ca96: 4463 add r3, ip - ca98: 781b ldrb r3, [r3, #0] + caf8: 2317 movs r3, #23 + cafa: aa0e add r2, sp, #56 ; 0x38 + cafc: 4694 mov ip, r2 + cafe: 4463 add r3, ip + cb00: 781b ldrb r3, [r3, #0] (top_only && fill_area.y1 <= coords->y1 + corner_size) || - ca9a: 2b00 cmp r3, #0 - ca9c: d0d6 beq.n ca4c + cb02: 2b00 cmp r3, #0 + cb04: d0d6 beq.n cab4 (bottom_only && fill_area.y1 >= coords->y2 - corner_size)) { - ca9e: 2302 movs r3, #2 - caa0: 5ee2 ldrsh r2, [r4, r3] - caa2: 464b mov r3, r9 - caa4: 2106 movs r1, #6 - caa6: 5e5b ldrsh r3, [r3, r1] - caa8: 990d ldr r1, [sp, #52] ; 0x34 - caaa: 1a5b subs r3, r3, r1 - caac: 429a cmp r2, r3 - caae: dbcd blt.n ca4c - cab0: e7af b.n ca12 - cab2: 46c0 nop ; (mov r8, r8) - cab4: 00005c05 .word 0x00005c05 - cab8: 00011089 .word 0x00011089 - cabc: 0000a5bd .word 0x0000a5bd - cac0: 0000a611 .word 0x0000a611 - cac4: 00010b6d .word 0x00010b6d + cb06: 2302 movs r3, #2 + cb08: 5ee2 ldrsh r2, [r4, r3] + cb0a: 464b mov r3, r9 + cb0c: 2106 movs r1, #6 + cb0e: 5e5b ldrsh r3, [r3, r1] + cb10: 990d ldr r1, [sp, #52] ; 0x34 + cb12: 1a5b subs r3, r3, r1 + cb14: 429a cmp r2, r3 + cb16: dbcd blt.n cab4 + cb18: e7af b.n ca7a + cb1a: 46c0 nop ; (mov r8, r8) + cb1c: 00005c6d .word 0x00005c6d + cb20: 000110f1 .word 0x000110f1 + cb24: 0000a625 .word 0x0000a625 + cb28: 0000a679 .word 0x0000a679 + cb2c: 00010bd5 .word 0x00010bd5 lv_point_t s; _lv_txt_get_size(&s, dsc->value_str, dsc->value_font, dsc->value_letter_space, dsc->value_line_space, LV_COORD_MAX, - cac8: 234c movs r3, #76 ; 0x4c - caca: 4698 mov r8, r3 - cacc: 465b mov r3, fp - cace: 4642 mov r2, r8 - cad0: 5e9b ldrsh r3, [r3, r2] - cad2: ad1c add r5, sp, #112 ; 0x70 - cad4: 2600 movs r6, #0 - cad6: 9602 str r6, [sp, #8] - cad8: 4abc ldr r2, [pc, #752] ; (cdcc ) - cada: 9201 str r2, [sp, #4] - cadc: 465a mov r2, fp - cade: 204e movs r0, #78 ; 0x4e - cae0: 5e12 ldrsh r2, [r2, r0] - cae2: 9200 str r2, [sp, #0] - cae4: 465a mov r2, fp - cae6: 6c12 ldr r2, [r2, #64] ; 0x40 - cae8: 0028 movs r0, r5 - caea: 4cb9 ldr r4, [pc, #740] ; (cdd0 ) - caec: 47a0 blx r4 + cb30: 234c movs r3, #76 ; 0x4c + cb32: 4698 mov r8, r3 + cb34: 465b mov r3, fp + cb36: 4642 mov r2, r8 + cb38: 5e9b ldrsh r3, [r3, r2] + cb3a: ad1c add r5, sp, #112 ; 0x70 + cb3c: 2600 movs r6, #0 + cb3e: 9602 str r6, [sp, #8] + cb40: 4abc ldr r2, [pc, #752] ; (ce34 ) + cb42: 9201 str r2, [sp, #4] + cb44: 465a mov r2, fp + cb46: 204e movs r0, #78 ; 0x4e + cb48: 5e12 ldrsh r2, [r2, r0] + cb4a: 9200 str r2, [sp, #0] + cb4c: 465a mov r2, fp + cb4e: 6c12 ldr r2, [r2, #64] ; 0x40 + cb50: 0028 movs r0, r5 + cb52: 4cb9 ldr r4, [pc, #740] ; (ce38 ) + cb54: 47a0 blx r4 LV_TXT_FLAG_NONE); lv_area_t value_area; value_area.x1 = 0; - caee: ac22 add r4, sp, #136 ; 0x88 - caf0: 8026 strh r6, [r4, #0] + cb56: ac22 add r4, sp, #136 ; 0x88 + cb58: 8026 strh r6, [r4, #0] value_area.y1 = 0; - caf2: 8066 strh r6, [r4, #2] + cb5a: 8066 strh r6, [r4, #2] value_area.x2 = s.x - 1; - caf4: 882b ldrh r3, [r5, #0] - caf6: 3b01 subs r3, #1 - caf8: 80a3 strh r3, [r4, #4] + cb5c: 882b ldrh r3, [r5, #0] + cb5e: 3b01 subs r3, #1 + cb60: 80a3 strh r3, [r4, #4] value_area.y2 = s.y - 1; - cafa: 886b ldrh r3, [r5, #2] - cafc: 3b01 subs r3, #1 - cafe: 80e3 strh r3, [r4, #6] + cb62: 886b ldrh r3, [r5, #2] + cb64: 3b01 subs r3, #1 + cb66: 80e3 strh r3, [r4, #6] lv_point_t p_align; _lv_area_align(coords, &value_area, dsc->value_align, &p_align); - cb00: ad1e add r5, sp, #120 ; 0x78 - cb02: 2350 movs r3, #80 ; 0x50 - cb04: 465a mov r2, fp - cb06: 5cd2 ldrb r2, [r2, r3] - cb08: 002b movs r3, r5 - cb0a: 0021 movs r1, r4 - cb0c: 4648 mov r0, r9 - cb0e: 4fb1 ldr r7, [pc, #708] ; (cdd4 ) - cb10: 47b8 blx r7 + cb68: ad1e add r5, sp, #120 ; 0x78 + cb6a: 2350 movs r3, #80 ; 0x50 + cb6c: 465a mov r2, fp + cb6e: 5cd2 ldrb r2, [r2, r3] + cb70: 002b movs r3, r5 + cb72: 0021 movs r1, r4 + cb74: 4648 mov r0, r9 + cb76: 4fb1 ldr r7, [pc, #708] ; (ce3c ) + cb78: 47b8 blx r7 value_area.x1 += p_align.x + dsc->value_ofs_x; - cb12: 882a ldrh r2, [r5, #0] - cb14: 2348 movs r3, #72 ; 0x48 - cb16: 4659 mov r1, fp - cb18: 5acb ldrh r3, [r1, r3] - cb1a: 18d2 adds r2, r2, r3 - cb1c: b292 uxth r2, r2 - cb1e: 8823 ldrh r3, [r4, #0] - cb20: 18d3 adds r3, r2, r3 - cb22: 8023 strh r3, [r4, #0] + cb7a: 882a ldrh r2, [r5, #0] + cb7c: 2348 movs r3, #72 ; 0x48 + cb7e: 4659 mov r1, fp + cb80: 5acb ldrh r3, [r1, r3] + cb82: 18d2 adds r2, r2, r3 + cb84: b292 uxth r2, r2 + cb86: 8823 ldrh r3, [r4, #0] + cb88: 18d3 adds r3, r2, r3 + cb8a: 8023 strh r3, [r4, #0] value_area.y1 += p_align.y + dsc->value_ofs_y; - cb24: 886b ldrh r3, [r5, #2] - cb26: 214a movs r1, #74 ; 0x4a - cb28: 4658 mov r0, fp - cb2a: 5a41 ldrh r1, [r0, r1] - cb2c: 185b adds r3, r3, r1 - cb2e: b29b uxth r3, r3 - cb30: 8861 ldrh r1, [r4, #2] - cb32: 1859 adds r1, r3, r1 - cb34: 8061 strh r1, [r4, #2] + cb8c: 886b ldrh r3, [r5, #2] + cb8e: 214a movs r1, #74 ; 0x4a + cb90: 4658 mov r0, fp + cb92: 5a41 ldrh r1, [r0, r1] + cb94: 185b adds r3, r3, r1 + cb96: b29b uxth r3, r3 + cb98: 8861 ldrh r1, [r4, #2] + cb9a: 1859 adds r1, r3, r1 + cb9c: 8061 strh r1, [r4, #2] value_area.x2 += p_align.x + dsc->value_ofs_x; - cb36: 88a1 ldrh r1, [r4, #4] - cb38: 1852 adds r2, r2, r1 - cb3a: 80a2 strh r2, [r4, #4] + cb9e: 88a1 ldrh r1, [r4, #4] + cba0: 1852 adds r2, r2, r1 + cba2: 80a2 strh r2, [r4, #4] value_area.y2 += p_align.y + dsc->value_ofs_y; - cb3c: 88e2 ldrh r2, [r4, #6] - cb3e: 189b adds r3, r3, r2 - cb40: 80e3 strh r3, [r4, #6] + cba4: 88e2 ldrh r2, [r4, #6] + cba6: 189b adds r3, r3, r2 + cba8: 80e3 strh r3, [r4, #6] lv_draw_label_dsc_t label_dsc; lv_draw_label_dsc_init(&label_dsc); - cb42: ad29 add r5, sp, #164 ; 0xa4 - cb44: 0028 movs r0, r5 - cb46: 4ba4 ldr r3, [pc, #656] ; (cdd8 ) - cb48: 4798 blx r3 + cbaa: ad29 add r5, sp, #164 ; 0xa4 + cbac: 0028 movs r0, r5 + cbae: 4ba4 ldr r3, [pc, #656] ; (ce40 ) + cbb0: 4798 blx r3 label_dsc.font = dsc->value_font; - cb4a: 465b mov r3, fp - cb4c: 6c1b ldr r3, [r3, #64] ; 0x40 - cb4e: 606b str r3, [r5, #4] + cbb2: 465b mov r3, fp + cbb4: 6c1b ldr r3, [r3, #64] ; 0x40 + cbb6: 606b str r3, [r5, #4] label_dsc.letter_space = dsc->value_letter_space; - cb50: 465b mov r3, fp - cb52: 4642 mov r2, r8 - cb54: 5a9b ldrh r3, [r3, r2] - cb56: 81ab strh r3, [r5, #12] + cbb8: 465b mov r3, fp + cbba: 4642 mov r2, r8 + cbbc: 5a9b ldrh r3, [r3, r2] + cbbe: 81ab strh r3, [r5, #12] label_dsc.line_space = dsc->value_line_space; - cb58: 465b mov r3, fp - cb5a: 3202 adds r2, #2 - cb5c: 5a9b ldrh r3, [r3, r2] - cb5e: 816b strh r3, [r5, #10] + cbc0: 465b mov r3, fp + cbc2: 3202 adds r2, #2 + cbc4: 5a9b ldrh r3, [r3, r2] + cbc6: 816b strh r3, [r5, #10] label_dsc.color = dsc->value_color; - cb60: 2346 movs r3, #70 ; 0x46 - cb62: 465a mov r2, fp - cb64: 5ad3 ldrh r3, [r2, r3] - cb66: 802b strh r3, [r5, #0] + cbc8: 2346 movs r3, #70 ; 0x46 + cbca: 465a mov r2, fp + cbcc: 5ad3 ldrh r3, [r2, r3] + cbce: 802b strh r3, [r5, #0] label_dsc.opa = dsc->value_opa; - cb68: 2344 movs r3, #68 ; 0x44 - cb6a: 5cd3 ldrb r3, [r2, r3] - cb6c: 722b strb r3, [r5, #8] + cbd0: 2344 movs r3, #68 ; 0x44 + cbd2: 5cd3 ldrb r3, [r2, r3] + cbd4: 722b strb r3, [r5, #8] lv_draw_label(&value_area, clip, &label_dsc, dsc->value_str, NULL); - cb6e: 9600 str r6, [sp, #0] - cb70: 6bd3 ldr r3, [r2, #60] ; 0x3c - cb72: 002a movs r2, r5 - cb74: 9904 ldr r1, [sp, #16] - cb76: 0020 movs r0, r4 - cb78: 4c98 ldr r4, [pc, #608] ; (cddc ) - cb7a: 47a0 blx r4 - cb7c: f7fe ff6c bl ba58 + cbd6: 9600 str r6, [sp, #0] + cbd8: 6bd3 ldr r3, [r2, #60] ; 0x3c + cbda: 002a movs r2, r5 + cbdc: 9904 ldr r1, [sp, #16] + cbde: 0020 movs r0, r4 + cbe0: 4c98 ldr r4, [pc, #608] ; (ce44 ) + cbe2: 47a0 blx r4 + cbe4: f7fe ff6c bl bac0 int32_t rin = dsc->radius; - cb80: 9b06 ldr r3, [sp, #24] + cbe8: 9b06 ldr r3, [sp, #24] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cb82: 3701 adds r7, #1 - cb84: 4652 mov r2, sl - cb86: 1aba subs r2, r7, r2 + cbea: 3701 adds r7, #1 + cbec: 4652 mov r2, sl + cbee: 1aba subs r2, r7, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cb88: 3501 adds r5, #1 - cb8a: 9907 ldr r1, [sp, #28] - cb8c: 1a69 subs r1, r5, r1 + cbf0: 3501 adds r5, #1 + cbf2: 9907 ldr r1, [sp, #28] + cbf4: 1a69 subs r1, r5, r1 int32_t inner_h = lv_area_get_height(&area_inner); - cb8e: b209 sxth r1, r1 + cbf6: b209 sxth r1, r1 int32_t short_side = LV_MATH_MIN(inner_w, inner_h); - cb90: b212 sxth r2, r2 - cb92: 428a cmp r2, r1 - cb94: dd00 ble.n cb98 - cb96: 000a movs r2, r1 + cbf8: b212 sxth r2, r2 + cbfa: 428a cmp r2, r1 + cbfc: dd00 ble.n cc00 + cbfe: 000a movs r2, r1 if(rin > short_side >> 1) rin = short_side >> 1; - cb98: 1052 asrs r2, r2, #1 - cb9a: 429a cmp r2, r3 - cb9c: dd00 ble.n cba0 - cb9e: 9a06 ldr r2, [sp, #24] + cc00: 1052 asrs r2, r2, #1 + cc02: 429a cmp r2, r3 + cc04: dd00 ble.n cc08 + cc06: 9a06 ldr r2, [sp, #24] int32_t rout = rin + dsc->outline_width; - cba0: 9b05 ldr r3, [sp, #20] - cba2: 1899 adds r1, r3, r2 + cc08: 9b05 ldr r3, [sp, #20] + cc0a: 1899 adds r1, r3, r2 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cba4: 9b09 ldr r3, [sp, #36] ; 0x24 - cba6: 3301 adds r3, #1 - cba8: 9808 ldr r0, [sp, #32] - cbaa: 1a1b subs r3, r3, r0 + cc0c: 9b09 ldr r3, [sp, #36] ; 0x24 + cc0e: 3301 adds r3, #1 + cc10: 9808 ldr r0, [sp, #32] + cc12: 1a1b subs r3, r3, r0 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cbac: 3401 adds r4, #1 - cbae: 980b ldr r0, [sp, #44] ; 0x2c - cbb0: 1a20 subs r0, r4, r0 + cc14: 3401 adds r4, #1 + cc16: 980b ldr r0, [sp, #44] ; 0x2c + cc18: 1a20 subs r0, r4, r0 int32_t coords_out_h = lv_area_get_height(&area_outer); - cbb2: b200 sxth r0, r0 + cc1a: b200 sxth r0, r0 short_side = LV_MATH_MIN(coords_out_w, coords_out_h); - cbb4: b21b sxth r3, r3 - cbb6: 4283 cmp r3, r0 - cbb8: dd00 ble.n cbbc - cbba: 0003 movs r3, r0 + cc1c: b21b sxth r3, r3 + cc1e: 4283 cmp r3, r0 + cc20: dd00 ble.n cc24 + cc22: 0003 movs r3, r0 if(rout > short_side >> 1) rout = short_side >> 1; - cbbc: 105b asrs r3, r3, #1 - cbbe: 9307 str r3, [sp, #28] - cbc0: 428b cmp r3, r1 - cbc2: dd00 ble.n cbc6 - cbc4: 9107 str r1, [sp, #28] + cc24: 105b asrs r3, r3, #1 + cc26: 9307 str r3, [sp, #28] + cc28: 428b cmp r3, r1 + cc2a: dd00 ble.n cc2e + cc2c: 9107 str r1, [sp, #28] draw_area.x1 -= disp_area->x1; - cbc6: 464b mov r3, r9 - cbc8: 8a1e ldrh r6, [r3, #16] - cbca: a91a add r1, sp, #104 ; 0x68 - cbcc: 880b ldrh r3, [r1, #0] - cbce: 1b9b subs r3, r3, r6 - cbd0: b298 uxth r0, r3 - cbd2: 8008 strh r0, [r1, #0] + cc2e: 464b mov r3, r9 + cc30: 8a1e ldrh r6, [r3, #16] + cc32: a91a add r1, sp, #104 ; 0x68 + cc34: 880b ldrh r3, [r1, #0] + cc36: 1b9b subs r3, r3, r6 + cc38: b298 uxth r0, r3 + cc3a: 8008 strh r0, [r1, #0] draw_area.y1 -= disp_area->y1; - cbd4: 464b mov r3, r9 - cbd6: 8a5c ldrh r4, [r3, #18] - cbd8: 884d ldrh r5, [r1, #2] - cbda: 1b2d subs r5, r5, r4 - cbdc: 804d strh r5, [r1, #2] + cc3c: 464b mov r3, r9 + cc3e: 8a5c ldrh r4, [r3, #18] + cc40: 884d ldrh r5, [r1, #2] + cc42: 1b2d subs r5, r5, r4 + cc44: 804d strh r5, [r1, #2] draw_area.x2 -= disp_area->x1; - cbde: 888b ldrh r3, [r1, #4] - cbe0: 1b9b subs r3, r3, r6 - cbe2: b29b uxth r3, r3 - cbe4: 808b strh r3, [r1, #4] + cc46: 888b ldrh r3, [r1, #4] + cc48: 1b9b subs r3, r3, r6 + cc4a: b29b uxth r3, r3 + cc4c: 808b strh r3, [r1, #4] draw_area.y2 -= disp_area->y1; - cbe6: 88cd ldrh r5, [r1, #6] - cbe8: 1b2c subs r4, r5, r4 - cbea: 80cc strh r4, [r1, #6] + cc4e: 88cd ldrh r5, [r1, #6] + cc50: 1b2c subs r4, r5, r4 + cc52: 80cc strh r4, [r1, #6] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cbec: 3301 adds r3, #1 - cbee: 1a1b subs r3, r3, r0 - cbf0: b21b sxth r3, r3 - cbf2: 001e movs r6, r3 - cbf4: 9308 str r3, [sp, #32] + cc54: 3301 adds r3, #1 + cc56: 1a1b subs r3, r3, r0 + cc58: b21b sxth r3, r3 + cc5a: 001e movs r6, r3 + cc5c: 9308 str r3, [sp, #32] lv_draw_mask_radius_init(&mask_rin_param, &area_inner, rin, true); - cbf6: b212 sxth r2, r2 - cbf8: 2301 movs r3, #1 - cbfa: a916 add r1, sp, #88 ; 0x58 - cbfc: a822 add r0, sp, #136 ; 0x88 - cbfe: 4d78 ldr r5, [pc, #480] ; (cde0 ) - cc00: 47a8 blx r5 + cc5e: b212 sxth r2, r2 + cc60: 2301 movs r3, #1 + cc62: a916 add r1, sp, #88 ; 0x58 + cc64: a822 add r0, sp, #136 ; 0x88 + cc66: 4d78 ldr r5, [pc, #480] ; (ce48 ) + cc68: 47a8 blx r5 int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL); - cc02: 2100 movs r1, #0 - cc04: a822 add r0, sp, #136 ; 0x88 - cc06: 4c77 ldr r4, [pc, #476] ; (cde4 ) - cc08: 47a0 blx r4 - cc0a: 900e str r0, [sp, #56] ; 0x38 + cc6a: 2100 movs r1, #0 + cc6c: a822 add r0, sp, #136 ; 0x88 + cc6e: 4c77 ldr r4, [pc, #476] ; (ce4c ) + cc70: 47a0 blx r4 + cc72: 900e str r0, [sp, #56] ; 0x38 lv_draw_mask_radius_init(&mask_rout_param, &area_outer, rout, false); - cc0c: 9f07 ldr r7, [sp, #28] - cc0e: b23a sxth r2, r7 - cc10: 2300 movs r3, #0 - cc12: a918 add r1, sp, #96 ; 0x60 - cc14: a829 add r0, sp, #164 ; 0xa4 - cc16: 47a8 blx r5 + cc74: 9f07 ldr r7, [sp, #28] + cc76: b23a sxth r2, r7 + cc78: 2300 movs r3, #0 + cc7a: a918 add r1, sp, #96 ; 0x60 + cc7c: a829 add r0, sp, #164 ; 0xa4 + cc7e: 47a8 blx r5 int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - cc18: 2100 movs r1, #0 - cc1a: a829 add r0, sp, #164 ; 0xa4 - cc1c: 47a0 blx r4 - cc1e: 900f str r0, [sp, #60] ; 0x3c + cc80: 2100 movs r1, #0 + cc82: a829 add r0, sp, #164 ; 0xa4 + cc84: 47a0 blx r4 + cc86: 900f str r0, [sp, #60] ; 0x3c lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - cc20: 9609 str r6, [sp, #36] ; 0x24 - cc22: 0030 movs r0, r6 - cc24: 4b70 ldr r3, [pc, #448] ; (cde8 ) - cc26: 4798 blx r3 - cc28: 9005 str r0, [sp, #20] + cc88: 9609 str r6, [sp, #36] ; 0x24 + cc8a: 0030 movs r0, r6 + cc8c: 4b70 ldr r3, [pc, #448] ; (ce50 ) + cc8e: 4798 blx r3 + cc90: 9005 str r0, [sp, #20] int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1); - cc2a: 465b mov r3, fp - cc2c: 2218 movs r2, #24 - cc2e: 5e9b ldrsh r3, [r3, r2] + cc92: 465b mov r3, fp + cc94: 2218 movs r2, #24 + cc96: 5e9b ldrsh r3, [r3, r2] lv_color_t color = dsc->outline_color; - cc30: 465a mov r2, fp - cc32: 8ad2 ldrh r2, [r2, #22] - cc34: 9211 str r2, [sp, #68] ; 0x44 - cc36: 4669 mov r1, sp - cc38: 830a strh r2, [r1, #24] + cc98: 465a mov r2, fp + cc9a: 8ad2 ldrh r2, [r2, #22] + cc9c: 9211 str r2, [sp, #68] ; 0x44 + cc9e: 4669 mov r1, sp + cca0: 830a strh r2, [r1, #24] lv_blend_mode_t blend_mode = dsc->outline_blend_mode; - cc3a: 465a mov r2, fp - cc3c: 7f52 ldrb r2, [r2, #29] - cc3e: 4692 mov sl, r2 + cca2: 465a mov r2, fp + cca4: 7f52 ldrb r2, [r2, #29] + cca6: 4692 mov sl, r2 if(simple_mode) { - cc40: 9a0a ldr r2, [sp, #40] ; 0x28 - cc42: 2a00 cmp r2, #0 - cc44: d000 beq.n cc48 - cc46: e19b b.n cf80 + cca8: 9a0a ldr r2, [sp, #40] ; 0x28 + ccaa: 2a00 cmp r2, #0 + ccac: d000 beq.n ccb0 + ccae: e19b b.n cfe8 int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1); - cc48: 3b01 subs r3, #1 - cc4a: 9310 str r3, [sp, #64] ; 0x40 - cc4c: 42bb cmp r3, r7 - cc4e: da00 bge.n cc52 - cc50: 9710 str r7, [sp, #64] ; 0x40 + ccb0: 3b01 subs r3, #1 + ccb2: 9310 str r3, [sp, #64] ; 0x40 + ccb4: 42bb cmp r3, r7 + ccb6: da00 bge.n ccba + ccb8: 9710 str r7, [sp, #64] ; 0x40 int32_t upper_corner_end = area_outer.y1 - disp_area->y1 + corner_size; - cc52: 464b mov r3, r9 - cc54: 2212 movs r2, #18 - cc56: 5e9b ldrsh r3, [r3, r2] - cc58: a918 add r1, sp, #96 ; 0x60 - cc5a: 2002 movs r0, #2 - cc5c: 5e0a ldrsh r2, [r1, r0] - cc5e: 1ad2 subs r2, r2, r3 - cc60: 9810 ldr r0, [sp, #64] ; 0x40 - cc62: 4684 mov ip, r0 - cc64: 4462 add r2, ip - cc66: 0014 movs r4, r2 - cc68: 920c str r2, [sp, #48] ; 0x30 + ccba: 464b mov r3, r9 + ccbc: 2212 movs r2, #18 + ccbe: 5e9b ldrsh r3, [r3, r2] + ccc0: a918 add r1, sp, #96 ; 0x60 + ccc2: 2002 movs r0, #2 + ccc4: 5e0a ldrsh r2, [r1, r0] + ccc6: 1ad2 subs r2, r2, r3 + ccc8: 9810 ldr r0, [sp, #64] ; 0x40 + ccca: 4684 mov ip, r0 + cccc: 4462 add r2, ip + ccce: 0014 movs r4, r2 + ccd0: 920c str r2, [sp, #48] ; 0x30 fill_area.x1 = area_outer.x1; - cc6a: aa1c add r2, sp, #112 ; 0x70 - cc6c: 8808 ldrh r0, [r1, #0] - cc6e: 8010 strh r0, [r2, #0] + ccd2: aa1c add r2, sp, #112 ; 0x70 + ccd4: 8808 ldrh r0, [r1, #0] + ccd6: 8010 strh r0, [r2, #0] fill_area.x2 = area_outer.x2; - cc70: 8889 ldrh r1, [r1, #4] - cc72: 8091 strh r1, [r2, #4] + ccd8: 8889 ldrh r1, [r1, #4] + ccda: 8091 strh r1, [r2, #4] fill_area.y1 = disp_area->y1 + draw_area.y1; - cc74: a91a add r1, sp, #104 ; 0x68 - cc76: 2702 movs r7, #2 - cc78: 5fcf ldrsh r7, [r1, r7] - cc7a: 19db adds r3, r3, r7 - cc7c: b21b sxth r3, r3 - cc7e: 8053 strh r3, [r2, #2] + ccdc: a91a add r1, sp, #104 ; 0x68 + ccde: 2702 movs r7, #2 + cce0: 5fcf ldrsh r7, [r1, r7] + cce2: 19db adds r3, r3, r7 + cce4: b21b sxth r3, r3 + cce6: 8053 strh r3, [r2, #2] fill_area.y2 = fill_area.y1; - cc80: 80d3 strh r3, [r2, #6] + cce8: 80d3 strh r3, [r2, #6] for(h = draw_area.y1; h <= upper_corner_end; h++) { - cc82: 42bc cmp r4, r7 - cc84: da00 bge.n cc88 - cc86: e082 b.n cd8e + ccea: 42bc cmp r4, r7 + ccec: da00 bge.n ccf0 + ccee: e082 b.n cdf6 fill_area2.y1 = fill_area.y1; - cc88: ac1e add r4, sp, #120 ; 0x78 - cc8a: 465b mov r3, fp - cc8c: 930d str r3, [sp, #52] ; 0x34 - cc8e: e02e b.n ccee + ccf0: ac1e add r4, sp, #120 ; 0x78 + ccf2: 465b mov r3, fp + ccf4: 930d str r3, [sp, #52] ; 0x34 + ccf6: e02e b.n cd56 fill_area2.x1 = area_outer.x2 - rout + 1; - cc90: ab18 add r3, sp, #96 ; 0x60 - cc92: 2204 movs r2, #4 - cc94: 5e9b ldrsh r3, [r3, r2] - cc96: 1c5a adds r2, r3, #1 - cc98: 1b55 subs r5, r2, r5 - cc9a: 8025 strh r5, [r4, #0] + ccf8: ab18 add r3, sp, #96 ; 0x60 + ccfa: 2204 movs r2, #4 + ccfc: 5e9b ldrsh r3, [r3, r2] + ccfe: 1c5a adds r2, r3, #1 + cd00: 1b55 subs r5, r2, r5 + cd02: 8025 strh r5, [r4, #0] fill_area2.x2 = area_outer.x2; - cc9c: 80a3 strh r3, [r4, #4] + cd04: 80a3 strh r3, [r4, #4] int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - cc9e: 9a07 ldr r2, [sp, #28] - cca0: 1a9b subs r3, r3, r2 - cca2: 3301 adds r3, #1 - cca4: 464a mov r2, r9 - cca6: 2110 movs r1, #16 - cca8: 5e52 ldrsh r2, [r2, r1] - ccaa: a90e add r1, sp, #56 ; 0x38 - ccac: 2030 movs r0, #48 ; 0x30 - ccae: 5e09 ldrsh r1, [r1, r0] - ccb0: 1852 adds r2, r2, r1 - ccb2: 1a9b subs r3, r3, r2 + cd06: 9a07 ldr r2, [sp, #28] + cd08: 1a9b subs r3, r3, r2 + cd0a: 3301 adds r3, #1 + cd0c: 464a mov r2, r9 + cd0e: 2110 movs r1, #16 + cd10: 5e52 ldrsh r2, [r2, r1] + cd12: a90e add r1, sp, #56 ; 0x38 + cd14: 2030 movs r0, #48 ; 0x30 + cd16: 5e09 ldrsh r1, [r1, r0] + cd18: 1852 adds r2, r2, r1 + cd1a: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - ccb4: 43da mvns r2, r3 - ccb6: 17d2 asrs r2, r2, #31 - ccb8: 4013 ands r3, r2 - ccba: 9a05 ldr r2, [sp, #20] - ccbc: 4694 mov ip, r2 - ccbe: 4463 add r3, ip - ccc0: 4652 mov r2, sl - ccc2: 9202 str r2, [sp, #8] - ccc4: 4642 mov r2, r8 - ccc6: 9201 str r2, [sp, #4] - ccc8: 9a0a ldr r2, [sp, #40] ; 0x28 - ccca: 9200 str r2, [sp, #0] - cccc: 466a mov r2, sp - ccce: 8b12 ldrh r2, [r2, #24] - ccd0: 0021 movs r1, r4 - ccd2: 9804 ldr r0, [sp, #16] - ccd4: 4d45 ldr r5, [pc, #276] ; (cdec ) - ccd6: 47a8 blx r5 + cd1c: 43da mvns r2, r3 + cd1e: 17d2 asrs r2, r2, #31 + cd20: 4013 ands r3, r2 + cd22: 9a05 ldr r2, [sp, #20] + cd24: 4694 mov ip, r2 + cd26: 4463 add r3, ip + cd28: 4652 mov r2, sl + cd2a: 9202 str r2, [sp, #8] + cd2c: 4642 mov r2, r8 + cd2e: 9201 str r2, [sp, #4] + cd30: 9a0a ldr r2, [sp, #40] ; 0x28 + cd32: 9200 str r2, [sp, #0] + cd34: 466a mov r2, sp + cd36: 8b12 ldrh r2, [r2, #24] + cd38: 0021 movs r1, r4 + cd3a: 9804 ldr r0, [sp, #16] + cd3c: 4d45 ldr r5, [pc, #276] ; (ce54 ) + cd3e: 47a8 blx r5 fill_area.y1++; - ccd8: ab1c add r3, sp, #112 ; 0x70 - ccda: 885a ldrh r2, [r3, #2] - ccdc: 3201 adds r2, #1 - ccde: 805a strh r2, [r3, #2] + cd40: ab1c add r3, sp, #112 ; 0x70 + cd42: 885a ldrh r2, [r3, #2] + cd44: 3201 adds r2, #1 + cd46: 805a strh r2, [r3, #2] fill_area.y2++; - cce0: 88da ldrh r2, [r3, #6] - cce2: 3201 adds r2, #1 - cce4: 80da strh r2, [r3, #6] + cd48: 88da ldrh r2, [r3, #6] + cd4a: 3201 adds r2, #1 + cd4c: 80da strh r2, [r3, #6] for(h = draw_area.y1; h <= upper_corner_end; h++) { - cce6: 3701 adds r7, #1 - cce8: 9b0c ldr r3, [sp, #48] ; 0x30 - ccea: 42bb cmp r3, r7 - ccec: db4d blt.n cd8a + cd4e: 3701 adds r7, #1 + cd50: 9b0c ldr r3, [sp, #48] ; 0x30 + cd52: 42bb cmp r3, r7 + cd54: db4d blt.n cdf2 _lv_memset_ff(mask_buf, draw_area_w); - ccee: 9909 ldr r1, [sp, #36] ; 0x24 - ccf0: 9e05 ldr r6, [sp, #20] - ccf2: 0030 movs r0, r6 - ccf4: 4b3e ldr r3, [pc, #248] ; (cdf0 ) - ccf6: 4798 blx r3 + cd56: 9909 ldr r1, [sp, #36] ; 0x24 + cd58: 9e05 ldr r6, [sp, #20] + cd5a: 0030 movs r0, r6 + cd5c: 4b3e ldr r3, [pc, #248] ; (ce58 ) + cd5e: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - ccf8: 464b mov r3, r9 - ccfa: 8a5a ldrh r2, [r3, #18] - ccfc: 19d2 adds r2, r2, r7 - ccfe: b212 sxth r2, r2 - cd00: 8a19 ldrh r1, [r3, #16] - cd02: ab0e add r3, sp, #56 ; 0x38 - cd04: 8e1b ldrh r3, [r3, #48] ; 0x30 - cd06: 18c9 adds r1, r1, r3 - cd08: b209 sxth r1, r1 - cd0a: 9b08 ldr r3, [sp, #32] - cd0c: 0030 movs r0, r6 - cd0e: 4d39 ldr r5, [pc, #228] ; (cdf4 ) - cd10: 47a8 blx r5 - cd12: 900a str r0, [sp, #40] ; 0x28 + cd60: 464b mov r3, r9 + cd62: 8a5a ldrh r2, [r3, #18] + cd64: 19d2 adds r2, r2, r7 + cd66: b212 sxth r2, r2 + cd68: 8a19 ldrh r1, [r3, #16] + cd6a: ab0e add r3, sp, #56 ; 0x38 + cd6c: 8e1b ldrh r3, [r3, #48] ; 0x30 + cd6e: 18c9 adds r1, r1, r3 + cd70: b209 sxth r1, r1 + cd72: 9b08 ldr r3, [sp, #32] + cd74: 0030 movs r0, r6 + cd76: 4d39 ldr r5, [pc, #228] ; (ce5c ) + cd78: 47a8 blx r5 + cd7a: 900a str r0, [sp, #40] ; 0x28 fill_area2.y1 = fill_area.y1; - cd14: ab1c add r3, sp, #112 ; 0x70 - cd16: 885a ldrh r2, [r3, #2] - cd18: 8062 strh r2, [r4, #2] + cd7c: ab1c add r3, sp, #112 ; 0x70 + cd7e: 885a ldrh r2, [r3, #2] + cd80: 8062 strh r2, [r4, #2] fill_area2.y2 = fill_area.y2; - cd1a: 88db ldrh r3, [r3, #6] - cd1c: 80e3 strh r3, [r4, #6] + cd82: 88db ldrh r3, [r3, #6] + cd84: 80e3 strh r3, [r4, #6] fill_area2.x1 = area_outer.x1; - cd1e: ab18 add r3, sp, #96 ; 0x60 - cd20: 930b str r3, [sp, #44] ; 0x2c - cd22: 2100 movs r1, #0 - cd24: 5e5b ldrsh r3, [r3, r1] - cd26: 8023 strh r3, [r4, #0] + cd86: ab18 add r3, sp, #96 ; 0x60 + cd88: 930b str r3, [sp, #44] ; 0x2c + cd8a: 2100 movs r1, #0 + cd8c: 5e5b ldrsh r3, [r3, r1] + cd8e: 8023 strh r3, [r4, #0] fill_area2.x2 = area_outer.x1 + rout - 1; - cd28: 466a mov r2, sp - cd2a: 8b95 ldrh r5, [r2, #28] - cd2c: 3b01 subs r3, #1 - cd2e: 18eb adds r3, r5, r3 - cd30: 80a3 strh r3, [r4, #4] + cd90: 466a mov r2, sp + cd92: 8b95 ldrh r5, [r2, #28] + cd94: 3b01 subs r3, #1 + cd96: 18eb adds r3, r5, r3 + cd98: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - cd32: 4652 mov r2, sl - cd34: 9202 str r2, [sp, #8] - cd36: 4642 mov r2, r8 - cd38: 9201 str r2, [sp, #4] - cd3a: 9000 str r0, [sp, #0] - cd3c: 0033 movs r3, r6 - cd3e: 466a mov r2, sp - cd40: 8b12 ldrh r2, [r2, #24] - cd42: 0021 movs r1, r4 - cd44: 9804 ldr r0, [sp, #16] - cd46: 4e29 ldr r6, [pc, #164] ; (cdec ) - cd48: 47b0 blx r6 + cd9a: 4652 mov r2, sl + cd9c: 9202 str r2, [sp, #8] + cd9e: 4642 mov r2, r8 + cda0: 9201 str r2, [sp, #4] + cda2: 9000 str r0, [sp, #0] + cda4: 0033 movs r3, r6 + cda6: 466a mov r2, sp + cda8: 8b12 ldrh r2, [r2, #24] + cdaa: 0021 movs r1, r4 + cdac: 9804 ldr r0, [sp, #16] + cdae: 4e29 ldr r6, [pc, #164] ; (ce54 ) + cdb0: 47b0 blx r6 if(fill_area2.y2 < area_outer.y1 + dsc->outline_width) { - cd4a: 2306 movs r3, #6 - cd4c: 5ee2 ldrsh r2, [r4, r3] - cd4e: 9b0b ldr r3, [sp, #44] ; 0x2c - cd50: 2102 movs r1, #2 - cd52: 5e5b ldrsh r3, [r3, r1] - cd54: 990d ldr r1, [sp, #52] ; 0x34 - cd56: 2018 movs r0, #24 - cd58: 5e09 ldrsh r1, [r1, r0] - cd5a: 185b adds r3, r3, r1 - cd5c: 429a cmp r2, r3 - cd5e: da97 bge.n cc90 + cdb2: 2306 movs r3, #6 + cdb4: 5ee2 ldrsh r2, [r4, r3] + cdb6: 9b0b ldr r3, [sp, #44] ; 0x2c + cdb8: 2102 movs r1, #2 + cdba: 5e5b ldrsh r3, [r3, r1] + cdbc: 990d ldr r1, [sp, #52] ; 0x34 + cdbe: 2018 movs r0, #24 + cdc0: 5e09 ldrsh r1, [r1, r0] + cdc2: 185b adds r3, r3, r1 + cdc4: 429a cmp r2, r3 + cdc6: da97 bge.n ccf8 fill_area2.x1 = area_outer.x1 + rout; - cd60: aa18 add r2, sp, #96 ; 0x60 - cd62: 8813 ldrh r3, [r2, #0] - cd64: 18eb adds r3, r5, r3 - cd66: 8023 strh r3, [r4, #0] + cdc8: aa18 add r2, sp, #96 ; 0x60 + cdca: 8813 ldrh r3, [r2, #0] + cdcc: 18eb adds r3, r5, r3 + cdce: 8023 strh r3, [r4, #0] fill_area2.x2 = area_outer.x2 - rout; - cd68: 8893 ldrh r3, [r2, #4] - cd6a: 1b5b subs r3, r3, r5 - cd6c: 80a3 strh r3, [r4, #4] + cdd0: 8893 ldrh r3, [r2, #4] + cdd2: 1b5b subs r3, r3, r5 + cdd4: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - cd6e: 4653 mov r3, sl - cd70: 9302 str r3, [sp, #8] - cd72: 4643 mov r3, r8 - cd74: 9301 str r3, [sp, #4] - cd76: 2301 movs r3, #1 - cd78: 9300 str r3, [sp, #0] - cd7a: 2300 movs r3, #0 - cd7c: 466a mov r2, sp - cd7e: 8b12 ldrh r2, [r2, #24] - cd80: 0021 movs r1, r4 - cd82: 9804 ldr r0, [sp, #16] - cd84: 4e19 ldr r6, [pc, #100] ; (cdec ) - cd86: 47b0 blx r6 - cd88: e782 b.n cc90 - cd8a: 9b0d ldr r3, [sp, #52] ; 0x34 - cd8c: 469b mov fp, r3 + cdd6: 4653 mov r3, sl + cdd8: 9302 str r3, [sp, #8] + cdda: 4643 mov r3, r8 + cddc: 9301 str r3, [sp, #4] + cdde: 2301 movs r3, #1 + cde0: 9300 str r3, [sp, #0] + cde2: 2300 movs r3, #0 + cde4: 466a mov r2, sp + cde6: 8b12 ldrh r2, [r2, #24] + cde8: 0021 movs r1, r4 + cdea: 9804 ldr r0, [sp, #16] + cdec: 4e19 ldr r6, [pc, #100] ; (ce54 ) + cdee: 47b0 blx r6 + cdf0: e782 b.n ccf8 + cdf2: 9b0d ldr r3, [sp, #52] ; 0x34 + cdf4: 469b mov fp, r3 int32_t lower_corner_end = area_outer.y2 - disp_area->y1 - corner_size; - cd8e: 464b mov r3, r9 - cd90: 2212 movs r2, #18 - cd92: 5e9b ldrsh r3, [r3, r2] - cd94: aa18 add r2, sp, #96 ; 0x60 - cd96: 2706 movs r7, #6 - cd98: 5fd7 ldrsh r7, [r2, r7] - cd9a: 1aff subs r7, r7, r3 - cd9c: 9a10 ldr r2, [sp, #64] ; 0x40 - cd9e: 1abf subs r7, r7, r2 + cdf6: 464b mov r3, r9 + cdf8: 2212 movs r2, #18 + cdfa: 5e9b ldrsh r3, [r3, r2] + cdfc: aa18 add r2, sp, #96 ; 0x60 + cdfe: 2706 movs r7, #6 + ce00: 5fd7 ldrsh r7, [r2, r7] + ce02: 1aff subs r7, r7, r3 + ce04: 9a10 ldr r2, [sp, #64] ; 0x40 + ce06: 1abf subs r7, r7, r2 if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1; - cda0: 990c ldr r1, [sp, #48] ; 0x30 - cda2: 000a movs r2, r1 - cda4: 42b9 cmp r1, r7 - cda6: db01 blt.n cdac - cda8: 3201 adds r2, #1 - cdaa: 0017 movs r7, r2 + ce08: 990c ldr r1, [sp, #48] ; 0x30 + ce0a: 000a movs r2, r1 + ce0c: 42b9 cmp r1, r7 + ce0e: db01 blt.n ce14 + ce10: 3201 adds r2, #1 + ce12: 0017 movs r7, r2 fill_area.y1 = disp_area->y1 + lower_corner_end; - cdac: 19db adds r3, r3, r7 - cdae: b21b sxth r3, r3 - cdb0: aa1c add r2, sp, #112 ; 0x70 - cdb2: 8053 strh r3, [r2, #2] + ce14: 19db adds r3, r3, r7 + ce16: b21b sxth r3, r3 + ce18: aa1c add r2, sp, #112 ; 0x70 + ce1a: 8053 strh r3, [r2, #2] fill_area.y2 = fill_area.y1; - cdb4: 80d3 strh r3, [r2, #6] + ce1c: 80d3 strh r3, [r2, #6] for(h = lower_corner_end; h <= draw_area.y2; h++) { - cdb6: ab1a add r3, sp, #104 ; 0x68 - cdb8: 2206 movs r2, #6 - cdba: 5e9b ldrsh r3, [r3, r2] - cdbc: 429f cmp r7, r3 - cdbe: dd00 ble.n cdc2 - cdc0: e09a b.n cef8 + ce1e: ab1a add r3, sp, #104 ; 0x68 + ce20: 2206 movs r2, #6 + ce22: 5e9b ldrsh r3, [r3, r2] + ce24: 429f cmp r7, r3 + ce26: dd00 ble.n ce2a + ce28: e09a b.n cf60 fill_area2.x1 = area_outer.x1; - cdc2: ac1e add r4, sp, #120 ; 0x78 - cdc4: 465b mov r3, fp - cdc6: 930b str r3, [sp, #44] ; 0x2c - cdc8: e047 b.n ce5a - cdca: 46c0 nop ; (mov r8, r8) - cdcc: 00007c18 .word 0x00007c18 - cdd0: 00011a7d .word 0x00011a7d - cdd4: 0000fed9 .word 0x0000fed9 - cdd8: 0000815d .word 0x0000815d - cddc: 000081ad .word 0x000081ad - cde0: 0000a7ed .word 0x0000a7ed - cde4: 0000a585 .word 0x0000a585 - cde8: 00010e59 .word 0x00010e59 - cdec: 00005c05 .word 0x00005c05 - cdf0: 00011089 .word 0x00011089 - cdf4: 0000a5bd .word 0x0000a5bd + ce2a: ac1e add r4, sp, #120 ; 0x78 + ce2c: 465b mov r3, fp + ce2e: 930b str r3, [sp, #44] ; 0x2c + ce30: e047 b.n cec2 + ce32: 46c0 nop ; (mov r8, r8) + ce34: 00007c18 .word 0x00007c18 + ce38: 00011ae5 .word 0x00011ae5 + ce3c: 0000ff41 .word 0x0000ff41 + ce40: 000081c5 .word 0x000081c5 + ce44: 00008215 .word 0x00008215 + ce48: 0000a855 .word 0x0000a855 + ce4c: 0000a5ed .word 0x0000a5ed + ce50: 00010ec1 .word 0x00010ec1 + ce54: 00005c6d .word 0x00005c6d + ce58: 000110f1 .word 0x000110f1 + ce5c: 0000a625 .word 0x0000a625 fill_area2.x1 = area_outer.x2 - rout + 1; - cdf8: ab18 add r3, sp, #96 ; 0x60 - cdfa: 2204 movs r2, #4 - cdfc: 5e9b ldrsh r3, [r3, r2] - cdfe: 1c5a adds r2, r3, #1 - ce00: 1b55 subs r5, r2, r5 - ce02: 8025 strh r5, [r4, #0] + ce60: ab18 add r3, sp, #96 ; 0x60 + ce62: 2204 movs r2, #4 + ce64: 5e9b ldrsh r3, [r3, r2] + ce66: 1c5a adds r2, r3, #1 + ce68: 1b55 subs r5, r2, r5 + ce6a: 8025 strh r5, [r4, #0] fill_area2.x2 = area_outer.x2; - ce04: 80a3 strh r3, [r4, #4] + ce6c: 80a3 strh r3, [r4, #4] int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - ce06: 9a07 ldr r2, [sp, #28] - ce08: 1a9b subs r3, r3, r2 - ce0a: 3301 adds r3, #1 - ce0c: 464a mov r2, r9 - ce0e: 2110 movs r1, #16 - ce10: 5e52 ldrsh r2, [r2, r1] - ce12: a90e add r1, sp, #56 ; 0x38 - ce14: 2030 movs r0, #48 ; 0x30 - ce16: 5e09 ldrsh r1, [r1, r0] - ce18: 1852 adds r2, r2, r1 - ce1a: 1a9b subs r3, r3, r2 + ce6e: 9a07 ldr r2, [sp, #28] + ce70: 1a9b subs r3, r3, r2 + ce72: 3301 adds r3, #1 + ce74: 464a mov r2, r9 + ce76: 2110 movs r1, #16 + ce78: 5e52 ldrsh r2, [r2, r1] + ce7a: a90e add r1, sp, #56 ; 0x38 + ce7c: 2030 movs r0, #48 ; 0x30 + ce7e: 5e09 ldrsh r1, [r1, r0] + ce80: 1852 adds r2, r2, r1 + ce82: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - ce1c: 43da mvns r2, r3 - ce1e: 17d2 asrs r2, r2, #31 - ce20: 4013 ands r3, r2 - ce22: 9a05 ldr r2, [sp, #20] - ce24: 4694 mov ip, r2 - ce26: 4463 add r3, ip - ce28: 4652 mov r2, sl - ce2a: 9202 str r2, [sp, #8] - ce2c: 4642 mov r2, r8 - ce2e: 9201 str r2, [sp, #4] - ce30: 9a0a ldr r2, [sp, #40] ; 0x28 - ce32: 9200 str r2, [sp, #0] - ce34: 466a mov r2, sp - ce36: 8b12 ldrh r2, [r2, #24] - ce38: 0021 movs r1, r4 - ce3a: 9804 ldr r0, [sp, #16] - ce3c: 4d89 ldr r5, [pc, #548] ; (d064 ) - ce3e: 47a8 blx r5 + ce84: 43da mvns r2, r3 + ce86: 17d2 asrs r2, r2, #31 + ce88: 4013 ands r3, r2 + ce8a: 9a05 ldr r2, [sp, #20] + ce8c: 4694 mov ip, r2 + ce8e: 4463 add r3, ip + ce90: 4652 mov r2, sl + ce92: 9202 str r2, [sp, #8] + ce94: 4642 mov r2, r8 + ce96: 9201 str r2, [sp, #4] + ce98: 9a0a ldr r2, [sp, #40] ; 0x28 + ce9a: 9200 str r2, [sp, #0] + ce9c: 466a mov r2, sp + ce9e: 8b12 ldrh r2, [r2, #24] + cea0: 0021 movs r1, r4 + cea2: 9804 ldr r0, [sp, #16] + cea4: 4d89 ldr r5, [pc, #548] ; (d0cc ) + cea6: 47a8 blx r5 fill_area.y1++; - ce40: ab1c add r3, sp, #112 ; 0x70 - ce42: 885a ldrh r2, [r3, #2] - ce44: 3201 adds r2, #1 - ce46: 805a strh r2, [r3, #2] + cea8: ab1c add r3, sp, #112 ; 0x70 + ceaa: 885a ldrh r2, [r3, #2] + ceac: 3201 adds r2, #1 + ceae: 805a strh r2, [r3, #2] fill_area.y2++; - ce48: 88da ldrh r2, [r3, #6] - ce4a: 3201 adds r2, #1 - ce4c: 80da strh r2, [r3, #6] + ceb0: 88da ldrh r2, [r3, #6] + ceb2: 3201 adds r2, #1 + ceb4: 80da strh r2, [r3, #6] for(h = lower_corner_end; h <= draw_area.y2; h++) { - ce4e: 3701 adds r7, #1 - ce50: ab0e add r3, sp, #56 ; 0x38 - ce52: 2236 movs r2, #54 ; 0x36 - ce54: 5e9b ldrsh r3, [r3, r2] - ce56: 429f cmp r7, r3 - ce58: dc4c bgt.n cef4 + ceb6: 3701 adds r7, #1 + ceb8: ab0e add r3, sp, #56 ; 0x38 + ceba: 2236 movs r2, #54 ; 0x36 + cebc: 5e9b ldrsh r3, [r3, r2] + cebe: 429f cmp r7, r3 + cec0: dc4c bgt.n cf5c _lv_memset_ff(mask_buf, draw_area_w); - ce5a: 9909 ldr r1, [sp, #36] ; 0x24 - ce5c: 9e05 ldr r6, [sp, #20] - ce5e: 0030 movs r0, r6 - ce60: 4b81 ldr r3, [pc, #516] ; (d068 ) - ce62: 4798 blx r3 + cec2: 9909 ldr r1, [sp, #36] ; 0x24 + cec4: 9e05 ldr r6, [sp, #20] + cec6: 0030 movs r0, r6 + cec8: 4b81 ldr r3, [pc, #516] ; (d0d0 ) + ceca: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - ce64: 464b mov r3, r9 - ce66: 8a5a ldrh r2, [r3, #18] - ce68: 19d2 adds r2, r2, r7 - ce6a: b212 sxth r2, r2 - ce6c: 8a19 ldrh r1, [r3, #16] - ce6e: ab0e add r3, sp, #56 ; 0x38 - ce70: 8e1b ldrh r3, [r3, #48] ; 0x30 - ce72: 18c9 adds r1, r1, r3 - ce74: b209 sxth r1, r1 - ce76: 9b08 ldr r3, [sp, #32] - ce78: 0030 movs r0, r6 - ce7a: 4d7c ldr r5, [pc, #496] ; (d06c ) - ce7c: 47a8 blx r5 - ce7e: 900a str r0, [sp, #40] ; 0x28 + cecc: 464b mov r3, r9 + cece: 8a5a ldrh r2, [r3, #18] + ced0: 19d2 adds r2, r2, r7 + ced2: b212 sxth r2, r2 + ced4: 8a19 ldrh r1, [r3, #16] + ced6: ab0e add r3, sp, #56 ; 0x38 + ced8: 8e1b ldrh r3, [r3, #48] ; 0x30 + ceda: 18c9 adds r1, r1, r3 + cedc: b209 sxth r1, r1 + cede: 9b08 ldr r3, [sp, #32] + cee0: 0030 movs r0, r6 + cee2: 4d7c ldr r5, [pc, #496] ; (d0d4 ) + cee4: 47a8 blx r5 + cee6: 900a str r0, [sp, #40] ; 0x28 fill_area2.x1 = area_outer.x1; - ce80: ab0e add r3, sp, #56 ; 0x38 - ce82: 2128 movs r1, #40 ; 0x28 - ce84: 5e5b ldrsh r3, [r3, r1] - ce86: 8023 strh r3, [r4, #0] + cee8: ab0e add r3, sp, #56 ; 0x38 + ceea: 2128 movs r1, #40 ; 0x28 + ceec: 5e5b ldrsh r3, [r3, r1] + ceee: 8023 strh r3, [r4, #0] fill_area2.x2 = area_outer.x1 + rout - 1; - ce88: 466a mov r2, sp - ce8a: 8b95 ldrh r5, [r2, #28] - ce8c: 3b01 subs r3, #1 - ce8e: 18eb adds r3, r5, r3 - ce90: 80a3 strh r3, [r4, #4] + cef0: 466a mov r2, sp + cef2: 8b95 ldrh r5, [r2, #28] + cef4: 3b01 subs r3, #1 + cef6: 18eb adds r3, r5, r3 + cef8: 80a3 strh r3, [r4, #4] fill_area2.y1 = fill_area.y1; - ce92: ab1c add r3, sp, #112 ; 0x70 - ce94: 885a ldrh r2, [r3, #2] - ce96: 8062 strh r2, [r4, #2] + cefa: ab1c add r3, sp, #112 ; 0x70 + cefc: 885a ldrh r2, [r3, #2] + cefe: 8062 strh r2, [r4, #2] fill_area2.y2 = fill_area.y2; - ce98: 88db ldrh r3, [r3, #6] - ce9a: 80e3 strh r3, [r4, #6] + cf00: 88db ldrh r3, [r3, #6] + cf02: 80e3 strh r3, [r4, #6] _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - ce9c: 4652 mov r2, sl - ce9e: 9202 str r2, [sp, #8] - cea0: 4642 mov r2, r8 - cea2: 9201 str r2, [sp, #4] - cea4: 9000 str r0, [sp, #0] - cea6: 0033 movs r3, r6 - cea8: 466a mov r2, sp - ceaa: 8b12 ldrh r2, [r2, #24] - ceac: 0021 movs r1, r4 - ceae: 9804 ldr r0, [sp, #16] - ceb0: 4e6c ldr r6, [pc, #432] ; (d064 ) - ceb2: 47b0 blx r6 + cf04: 4652 mov r2, sl + cf06: 9202 str r2, [sp, #8] + cf08: 4642 mov r2, r8 + cf0a: 9201 str r2, [sp, #4] + cf0c: 9000 str r0, [sp, #0] + cf0e: 0033 movs r3, r6 + cf10: 466a mov r2, sp + cf12: 8b12 ldrh r2, [r2, #24] + cf14: 0021 movs r1, r4 + cf16: 9804 ldr r0, [sp, #16] + cf18: 4e6c ldr r6, [pc, #432] ; (d0cc ) + cf1a: 47b0 blx r6 if(fill_area2.y2 > area_outer.y2 - dsc->outline_width) { - ceb4: 2306 movs r3, #6 - ceb6: 5ee2 ldrsh r2, [r4, r3] - ceb8: ab0e add r3, sp, #56 ; 0x38 - ceba: 212e movs r1, #46 ; 0x2e - cebc: 5e5b ldrsh r3, [r3, r1] - cebe: 990b ldr r1, [sp, #44] ; 0x2c - cec0: 2018 movs r0, #24 - cec2: 5e09 ldrsh r1, [r1, r0] - cec4: 1a5b subs r3, r3, r1 - cec6: 429a cmp r2, r3 - cec8: dd96 ble.n cdf8 + cf1c: 2306 movs r3, #6 + cf1e: 5ee2 ldrsh r2, [r4, r3] + cf20: ab0e add r3, sp, #56 ; 0x38 + cf22: 212e movs r1, #46 ; 0x2e + cf24: 5e5b ldrsh r3, [r3, r1] + cf26: 990b ldr r1, [sp, #44] ; 0x2c + cf28: 2018 movs r0, #24 + cf2a: 5e09 ldrsh r1, [r1, r0] + cf2c: 1a5b subs r3, r3, r1 + cf2e: 429a cmp r2, r3 + cf30: dd96 ble.n ce60 fill_area2.x1 = area_outer.x1 + rout; - ceca: aa18 add r2, sp, #96 ; 0x60 - cecc: 8813 ldrh r3, [r2, #0] - cece: 18eb adds r3, r5, r3 - ced0: 8023 strh r3, [r4, #0] + cf32: aa18 add r2, sp, #96 ; 0x60 + cf34: 8813 ldrh r3, [r2, #0] + cf36: 18eb adds r3, r5, r3 + cf38: 8023 strh r3, [r4, #0] fill_area2.x2 = area_outer.x2 - rout; - ced2: 8893 ldrh r3, [r2, #4] - ced4: 1b5b subs r3, r3, r5 - ced6: 80a3 strh r3, [r4, #4] + cf3a: 8893 ldrh r3, [r2, #4] + cf3c: 1b5b subs r3, r3, r5 + cf3e: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - ced8: 4653 mov r3, sl - ceda: 9302 str r3, [sp, #8] - cedc: 4643 mov r3, r8 - cede: 9301 str r3, [sp, #4] - cee0: 2301 movs r3, #1 - cee2: 9300 str r3, [sp, #0] - cee4: 2300 movs r3, #0 - cee6: 466a mov r2, sp - cee8: 8b12 ldrh r2, [r2, #24] - ceea: 0021 movs r1, r4 - ceec: 9804 ldr r0, [sp, #16] - ceee: 4e5d ldr r6, [pc, #372] ; (d064 ) - cef0: 47b0 blx r6 - cef2: e781 b.n cdf8 - cef4: 9b0b ldr r3, [sp, #44] ; 0x2c - cef6: 469b mov fp, r3 + cf40: 4653 mov r3, sl + cf42: 9302 str r3, [sp, #8] + cf44: 4643 mov r3, r8 + cf46: 9301 str r3, [sp, #4] + cf48: 2301 movs r3, #1 + cf4a: 9300 str r3, [sp, #0] + cf4c: 2300 movs r3, #0 + cf4e: 466a mov r2, sp + cf50: 8b12 ldrh r2, [r2, #24] + cf52: 0021 movs r1, r4 + cf54: 9804 ldr r0, [sp, #16] + cf56: 4e5d ldr r6, [pc, #372] ; (d0cc ) + cf58: 47b0 blx r6 + cf5a: e781 b.n ce60 + cf5c: 9b0b ldr r3, [sp, #44] ; 0x2c + cf5e: 469b mov fp, r3 fill_area.y1 = area_outer.y1 + corner_size + 1; - cef8: 466b mov r3, sp - cefa: 2240 movs r2, #64 ; 0x40 - cefc: 189b adds r3, r3, r2 - cefe: 881b ldrh r3, [r3, #0] - cf00: ac1c add r4, sp, #112 ; 0x70 - cf02: ad18 add r5, sp, #96 ; 0x60 - cf04: 886a ldrh r2, [r5, #2] - cf06: 3201 adds r2, #1 - cf08: 189a adds r2, r3, r2 - cf0a: 8062 strh r2, [r4, #2] + cf60: 466b mov r3, sp + cf62: 2240 movs r2, #64 ; 0x40 + cf64: 189b adds r3, r3, r2 + cf66: 881b ldrh r3, [r3, #0] + cf68: ac1c add r4, sp, #112 ; 0x70 + cf6a: ad18 add r5, sp, #96 ; 0x60 + cf6c: 886a ldrh r2, [r5, #2] + cf6e: 3201 adds r2, #1 + cf70: 189a adds r2, r3, r2 + cf72: 8062 strh r2, [r4, #2] fill_area.y2 = area_outer.y2 - corner_size - 1; - cf0c: 88ea ldrh r2, [r5, #6] - cf0e: 3a01 subs r2, #1 - cf10: 1ad3 subs r3, r2, r3 - cf12: 80e3 strh r3, [r4, #6] + cf74: 88ea ldrh r2, [r5, #6] + cf76: 3a01 subs r2, #1 + cf78: 1ad3 subs r3, r2, r3 + cf7a: 80e3 strh r3, [r4, #6] fill_area.x1 = area_outer.x1; - cf14: 2200 movs r2, #0 - cf16: 5eab ldrsh r3, [r5, r2] - cf18: 8023 strh r3, [r4, #0] + cf7c: 2200 movs r2, #0 + cf7e: 5eab ldrsh r3, [r5, r2] + cf80: 8023 strh r3, [r4, #0] fill_area.x2 = area_outer.x1 + dsc->outline_width - 1; - cf1a: 3b01 subs r3, #1 - cf1c: 465a mov r2, fp - cf1e: 8b12 ldrh r2, [r2, #24] - cf20: 18d3 adds r3, r2, r3 - cf22: 80a3 strh r3, [r4, #4] + cf82: 3b01 subs r3, #1 + cf84: 465a mov r2, fp + cf86: 8b12 ldrh r2, [r2, #24] + cf88: 18d3 adds r3, r2, r3 + cf8a: 80a3 strh r3, [r4, #4] _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - cf24: 4653 mov r3, sl - cf26: 9302 str r3, [sp, #8] - cf28: 4643 mov r3, r8 - cf2a: 9301 str r3, [sp, #4] - cf2c: 2701 movs r7, #1 - cf2e: 9700 str r7, [sp, #0] - cf30: 2300 movs r3, #0 - cf32: 466a mov r2, sp - cf34: 2144 movs r1, #68 ; 0x44 - cf36: 1852 adds r2, r2, r1 - cf38: 8812 ldrh r2, [r2, #0] - cf3a: 0021 movs r1, r4 - cf3c: 9804 ldr r0, [sp, #16] - cf3e: 4e49 ldr r6, [pc, #292] ; (d064 ) - cf40: 47b0 blx r6 + cf8c: 4653 mov r3, sl + cf8e: 9302 str r3, [sp, #8] + cf90: 4643 mov r3, r8 + cf92: 9301 str r3, [sp, #4] + cf94: 2701 movs r7, #1 + cf96: 9700 str r7, [sp, #0] + cf98: 2300 movs r3, #0 + cf9a: 466a mov r2, sp + cf9c: 2144 movs r1, #68 ; 0x44 + cf9e: 1852 adds r2, r2, r1 + cfa0: 8812 ldrh r2, [r2, #0] + cfa2: 0021 movs r1, r4 + cfa4: 9804 ldr r0, [sp, #16] + cfa6: 4e49 ldr r6, [pc, #292] ; (d0cc ) + cfa8: 47b0 blx r6 fill_area.x1 = area_outer.x2 - dsc->outline_width + 1; - cf42: 2304 movs r3, #4 - cf44: 5eea ldrsh r2, [r5, r3] - cf46: 1c53 adds r3, r2, #1 - cf48: 4659 mov r1, fp - cf4a: 8b09 ldrh r1, [r1, #24] - cf4c: 1a5b subs r3, r3, r1 - cf4e: 8023 strh r3, [r4, #0] + cfaa: 2304 movs r3, #4 + cfac: 5eea ldrsh r2, [r5, r3] + cfae: 1c53 adds r3, r2, #1 + cfb0: 4659 mov r1, fp + cfb2: 8b09 ldrh r1, [r1, #24] + cfb4: 1a5b subs r3, r3, r1 + cfb6: 8023 strh r3, [r4, #0] fill_area.x2 = area_outer.x2; - cf50: 80a2 strh r2, [r4, #4] + cfb8: 80a2 strh r2, [r4, #4] _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - cf52: 4653 mov r3, sl - cf54: 9302 str r3, [sp, #8] - cf56: 4643 mov r3, r8 - cf58: 9301 str r3, [sp, #4] - cf5a: 9700 str r7, [sp, #0] - cf5c: 2300 movs r3, #0 - cf5e: 466a mov r2, sp - cf60: 2144 movs r1, #68 ; 0x44 - cf62: 1852 adds r2, r2, r1 - cf64: 8812 ldrh r2, [r2, #0] - cf66: 0021 movs r1, r4 - cf68: 9804 ldr r0, [sp, #16] - cf6a: 47b0 blx r6 + cfba: 4653 mov r3, sl + cfbc: 9302 str r3, [sp, #8] + cfbe: 4643 mov r3, r8 + cfc0: 9301 str r3, [sp, #4] + cfc2: 9700 str r7, [sp, #0] + cfc4: 2300 movs r3, #0 + cfc6: 466a mov r2, sp + cfc8: 2144 movs r1, #68 ; 0x44 + cfca: 1852 adds r2, r2, r1 + cfcc: 8812 ldrh r2, [r2, #0] + cfce: 0021 movs r1, r4 + cfd0: 9804 ldr r0, [sp, #16] + cfd2: 47b0 blx r6 lv_draw_mask_remove_id(mask_rin_id); - cf6c: 980e ldr r0, [sp, #56] ; 0x38 - cf6e: 4c40 ldr r4, [pc, #256] ; (d070 ) - cf70: 47a0 blx r4 + cfd4: 980e ldr r0, [sp, #56] ; 0x38 + cfd6: 4c40 ldr r4, [pc, #256] ; (d0d8 ) + cfd8: 47a0 blx r4 lv_draw_mask_remove_id(mask_rout_id); - cf72: 980f ldr r0, [sp, #60] ; 0x3c - cf74: 47a0 blx r4 + cfda: 980f ldr r0, [sp, #60] ; 0x3c + cfdc: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - cf76: 9805 ldr r0, [sp, #20] - cf78: 4b3e ldr r3, [pc, #248] ; (d074 ) - cf7a: 4798 blx r3 - cf7c: f7fe fdcf bl bb1e + cfde: 9805 ldr r0, [sp, #20] + cfe0: 4b3e ldr r3, [pc, #248] ; (d0dc ) + cfe2: 4798 blx r3 + cfe4: f7fe fdcf bl bb86 fill_area.x1 = area_outer.x1; - cf80: aa1c add r2, sp, #112 ; 0x70 - cf82: ab18 add r3, sp, #96 ; 0x60 - cf84: 8819 ldrh r1, [r3, #0] - cf86: 8011 strh r1, [r2, #0] + cfe8: aa1c add r2, sp, #112 ; 0x70 + cfea: ab18 add r3, sp, #96 ; 0x60 + cfec: 8819 ldrh r1, [r3, #0] + cfee: 8011 strh r1, [r2, #0] fill_area.x2 = area_outer.x2; - cf88: 889b ldrh r3, [r3, #4] - cf8a: 8093 strh r3, [r2, #4] + cff0: 889b ldrh r3, [r3, #4] + cff2: 8093 strh r3, [r2, #4] fill_area.y1 = disp_area->y1 + draw_area.y1; - cf8c: a91a add r1, sp, #104 ; 0x68 - cf8e: 2302 movs r3, #2 - cf90: 5ece ldrsh r6, [r1, r3] - cf92: 464b mov r3, r9 - cf94: 8a5b ldrh r3, [r3, #18] - cf96: 199b adds r3, r3, r6 - cf98: b21b sxth r3, r3 - cf9a: 8053 strh r3, [r2, #2] + cff4: a91a add r1, sp, #104 ; 0x68 + cff6: 2302 movs r3, #2 + cff8: 5ece ldrsh r6, [r1, r3] + cffa: 464b mov r3, r9 + cffc: 8a5b ldrh r3, [r3, #18] + cffe: 199b adds r3, r3, r6 + d000: b21b sxth r3, r3 + d002: 8053 strh r3, [r2, #2] fill_area.y2 = fill_area.y1; - cf9c: 80d3 strh r3, [r2, #6] + d004: 80d3 strh r3, [r2, #6] for(h = draw_area.y1; h <= draw_area.y2; h++) { - cf9e: 2206 movs r2, #6 - cfa0: 5e8b ldrsh r3, [r1, r2] - cfa2: 429e cmp r6, r3 - cfa4: dce2 bgt.n cf6c + d006: 2206 movs r2, #6 + d008: 5e8b ldrsh r3, [r1, r2] + d00a: 429e cmp r6, r3 + d00c: dce2 bgt.n cfd4 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - cfa6: 4b31 ldr r3, [pc, #196] ; (d06c ) - cfa8: 469b mov fp, r3 + d00e: 4b31 ldr r3, [pc, #196] ; (d0d4 ) + d010: 469b mov fp, r3 _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - cfaa: 4f2e ldr r7, [pc, #184] ; (d064 ) + d012: 4f2e ldr r7, [pc, #184] ; (d0cc ) _lv_memset_ff(mask_buf, draw_area_w); - cfac: 9909 ldr r1, [sp, #36] ; 0x24 - cfae: 9c05 ldr r4, [sp, #20] - cfb0: 0020 movs r0, r4 - cfb2: 4b2d ldr r3, [pc, #180] ; (d068 ) - cfb4: 4798 blx r3 + d014: 9909 ldr r1, [sp, #36] ; 0x24 + d016: 9c05 ldr r4, [sp, #20] + d018: 0020 movs r0, r4 + d01a: 4b2d ldr r3, [pc, #180] ; (d0d0 ) + d01c: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - cfb6: 464b mov r3, r9 - cfb8: 8a5a ldrh r2, [r3, #18] - cfba: 1992 adds r2, r2, r6 - cfbc: b212 sxth r2, r2 - cfbe: ad1a add r5, sp, #104 ; 0x68 - cfc0: 8a19 ldrh r1, [r3, #16] - cfc2: 882b ldrh r3, [r5, #0] - cfc4: 18c9 adds r1, r1, r3 - cfc6: b209 sxth r1, r1 - cfc8: 9b08 ldr r3, [sp, #32] - cfca: 9405 str r4, [sp, #20] - cfcc: 0020 movs r0, r4 - cfce: 47d8 blx fp + d01e: 464b mov r3, r9 + d020: 8a5a ldrh r2, [r3, #18] + d022: 1992 adds r2, r2, r6 + d024: b212 sxth r2, r2 + d026: ad1a add r5, sp, #104 ; 0x68 + d028: 8a19 ldrh r1, [r3, #16] + d02a: 882b ldrh r3, [r5, #0] + d02c: 18c9 adds r1, r1, r3 + d02e: b209 sxth r1, r1 + d030: 9b08 ldr r3, [sp, #32] + d032: 9405 str r4, [sp, #20] + d034: 0020 movs r0, r4 + d036: 47d8 blx fp _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - cfd0: ac1c add r4, sp, #112 ; 0x70 - cfd2: 4652 mov r2, sl - cfd4: 9202 str r2, [sp, #8] - cfd6: 4642 mov r2, r8 - cfd8: 9201 str r2, [sp, #4] - cfda: 9000 str r0, [sp, #0] - cfdc: 9b05 ldr r3, [sp, #20] - cfde: 466a mov r2, sp - cfe0: 8b12 ldrh r2, [r2, #24] - cfe2: 0021 movs r1, r4 - cfe4: 9804 ldr r0, [sp, #16] - cfe6: 47b8 blx r7 + d038: ac1c add r4, sp, #112 ; 0x70 + d03a: 4652 mov r2, sl + d03c: 9202 str r2, [sp, #8] + d03e: 4642 mov r2, r8 + d040: 9201 str r2, [sp, #4] + d042: 9000 str r0, [sp, #0] + d044: 9b05 ldr r3, [sp, #20] + d046: 466a mov r2, sp + d048: 8b12 ldrh r2, [r2, #24] + d04a: 0021 movs r1, r4 + d04c: 9804 ldr r0, [sp, #16] + d04e: 47b8 blx r7 fill_area.y1++; - cfe8: 8863 ldrh r3, [r4, #2] - cfea: 3301 adds r3, #1 - cfec: 8063 strh r3, [r4, #2] + d050: 8863 ldrh r3, [r4, #2] + d052: 3301 adds r3, #1 + d054: 8063 strh r3, [r4, #2] fill_area.y2++; - cfee: 88e3 ldrh r3, [r4, #6] - cff0: 3301 adds r3, #1 - cff2: 80e3 strh r3, [r4, #6] + d056: 88e3 ldrh r3, [r4, #6] + d058: 3301 adds r3, #1 + d05a: 80e3 strh r3, [r4, #6] for(h = draw_area.y1; h <= draw_area.y2; h++) { - cff4: 3601 adds r6, #1 - cff6: 2206 movs r2, #6 - cff8: 5eab ldrsh r3, [r5, r2] - cffa: 429e cmp r6, r3 - cffc: ddd6 ble.n cfac - cffe: e7b5 b.n cf6c + d05c: 3601 adds r6, #1 + d05e: 2206 movs r2, #6 + d060: 5eab ldrsh r3, [r5, r2] + d062: 429e cmp r6, r3 + d064: ddd6 ble.n d014 + d066: e7b5 b.n cfd4 lv_opa_t * mask_line = _lv_mem_buf_get(size); - d000: 9c07 ldr r4, [sp, #28] - d002: 940c str r4, [sp, #48] ; 0x30 - d004: 0020 movs r0, r4 - d006: 4b1c ldr r3, [pc, #112] ; (d078 ) - d008: 4798 blx r3 - d00a: 900a str r0, [sp, #40] ; 0x28 + d068: 9c07 ldr r4, [sp, #28] + d06a: 940c str r4, [sp, #48] ; 0x30 + d06c: 0020 movs r0, r4 + d06e: 4b1c ldr r3, [pc, #112] ; (d0e0 ) + d070: 4798 blx r3 + d072: 900a str r0, [sp, #40] ; 0x28 for(y = 0; y < size; y++) { - d00c: 2201 movs r2, #1 - d00e: 920d str r2, [sp, #52] ; 0x34 - d010: 2c00 cmp r4, #0 - d012: dd01 ble.n d018 - d014: f7fd fea3 bl ad5e + d074: 2201 movs r2, #1 + d076: 920d str r2, [sp, #52] ; 0x34 + d078: 2c00 cmp r4, #0 + d07a: dd01 ble.n d080 + d07c: f7fd fea3 bl adc6 _lv_mem_buf_release(mask_line); - d018: 980a ldr r0, [sp, #40] ; 0x28 - d01a: 4b16 ldr r3, [pc, #88] ; (d074 ) - d01c: 4798 blx r3 + d080: 980a ldr r0, [sp, #40] ; 0x28 + d082: 4b16 ldr r3, [pc, #88] ; (d0dc ) + d084: 4798 blx r3 for(i = 0; i < size * size; i++) { - d01e: 9f07 ldr r7, [sp, #28] - d020: 437f muls r7, r7 - d022: 2f00 cmp r7, #0 - d024: d101 bne.n d02a - d026: f7fd ff5f bl aee8 - d02a: 9a0e ldr r2, [sp, #56] ; 0x38 - d02c: 0011 movs r1, r2 - d02e: 0078 lsls r0, r7, #1 - d030: 4694 mov ip, r2 - d032: 4460 add r0, ip + d086: 9f07 ldr r7, [sp, #28] + d088: 437f muls r7, r7 + d08a: 2f00 cmp r7, #0 + d08c: d101 bne.n d092 + d08e: f7fd ff5f bl af50 + d092: 9a0e ldr r2, [sp, #56] ; 0x38 + d094: 0011 movs r1, r2 + d096: 0078 lsls r0, r7, #1 + d098: 4694 mov ip, r2 + d09a: 4460 add r0, ip res_buf[i] = (sh_buf[i] >> SHADOW_UPSACALE_SHIFT); - d034: 880b ldrh r3, [r1, #0] - d036: 099b lsrs r3, r3, #6 - d038: 7013 strb r3, [r2, #0] - d03a: 3102 adds r1, #2 - d03c: 3201 adds r2, #1 + d09c: 880b ldrh r3, [r1, #0] + d09e: 099b lsrs r3, r3, #6 + d0a0: 7013 strb r3, [r2, #0] + d0a2: 3102 adds r1, #2 + d0a4: 3201 adds r2, #1 for(i = 0; i < size * size; i++) { - d03e: 4281 cmp r1, r0 - d040: d1f8 bne.n d034 - d042: f7fd ff51 bl aee8 + d0a6: 4281 cmp r1, r0 + d0a8: d1f8 bne.n d09c + d0aa: f7fd ff51 bl af50 lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - d046: 465b mov r3, fp - d048: 2200 movs r2, #0 - d04a: 5e9a ldrsh r2, [r3, r2] - d04c: 2300 movs r3, #0 - d04e: 4649 mov r1, r9 - d050: a829 add r0, sp, #164 ; 0xa4 - d052: 4c0a ldr r4, [pc, #40] ; (d07c ) - d054: 47a0 blx r4 + d0ae: 465b mov r3, fp + d0b0: 2200 movs r2, #0 + d0b2: 5e9a ldrsh r2, [r3, r2] + d0b4: 2300 movs r3, #0 + d0b6: 4649 mov r1, r9 + d0b8: a829 add r0, sp, #164 ; 0xa4 + d0ba: 4c0a ldr r4, [pc, #40] ; (d0e4 ) + d0bc: 47a0 blx r4 radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - d056: 2100 movs r1, #0 - d058: a829 add r0, sp, #164 ; 0xa4 - d05a: 4b09 ldr r3, [pc, #36] ; (d080 ) - d05c: 4798 blx r3 - d05e: 0004 movs r4, r0 - d060: f7ff f946 bl c2f0 - d064: 00005c05 .word 0x00005c05 - d068: 00011089 .word 0x00011089 - d06c: 0000a5bd .word 0x0000a5bd - d070: 0000a611 .word 0x0000a611 - d074: 00010b6d .word 0x00010b6d - d078: 00010e59 .word 0x00010e59 - d07c: 0000a7ed .word 0x0000a7ed - d080: 0000a585 .word 0x0000a585 - -0000d084 : + d0be: 2100 movs r1, #0 + d0c0: a829 add r0, sp, #164 ; 0xa4 + d0c2: 4b09 ldr r3, [pc, #36] ; (d0e8 ) + d0c4: 4798 blx r3 + d0c6: 0004 movs r4, r0 + d0c8: f7ff f946 bl c358 + d0cc: 00005c6d .word 0x00005c6d + d0d0: 000110f1 .word 0x000110f1 + d0d4: 0000a625 .word 0x0000a625 + d0d8: 0000a679 .word 0x0000a679 + d0dc: 00010bd5 .word 0x00010bd5 + d0e0: 00010ec1 .word 0x00010ec1 + d0e4: 0000a855 .word 0x0000a855 + d0e8: 0000a5ed .word 0x0000a5ed + +0000d0ec : * Not used in other cases. * @param safe true: check out of bounds * @return color of the point */ lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color) { - d084: b5f0 push {r4, r5, r6, r7, lr} - d086: b083 sub sp, #12 - d088: 0004 movs r4, r0 - d08a: 000e movs r6, r1 - d08c: 0017 movs r7, r2 + d0ec: b5f0 push {r4, r5, r6, r7, lr} + d0ee: b083 sub sp, #12 + d0f0: 0004 movs r4, r0 + d0f2: 000e movs r6, r1 + d0f4: 0017 movs r7, r2 lv_color_t p_color = LV_COLOR_BLACK; - d08e: aa01 add r2, sp, #4 - d090: 7811 ldrb r1, [r2, #0] - d092: 201f movs r0, #31 - d094: 4381 bics r1, r0 - d096: 7011 strb r1, [r2, #0] - d098: 8811 ldrh r1, [r2, #0] - d09a: 4840 ldr r0, [pc, #256] ; (d19c ) - d09c: 4001 ands r1, r0 - d09e: 8011 strh r1, [r2, #0] - d0a0: 2100 movs r1, #0 - d0a2: 7051 strb r1, [r2, #1] + d0f6: aa01 add r2, sp, #4 + d0f8: 7811 ldrb r1, [r2, #0] + d0fa: 201f movs r0, #31 + d0fc: 4381 bics r1, r0 + d0fe: 7011 strb r1, [r2, #0] + d100: 8811 ldrh r1, [r2, #0] + d102: 4840 ldr r0, [pc, #256] ; (d204 ) + d104: 4001 ands r1, r0 + d106: 8011 strh r1, [r2, #0] + d108: 2100 movs r1, #0 + d10a: 7051 strb r1, [r2, #1] uint8_t * buf_u8 = (uint8_t *)dsc->data; - d0a4: 68a5 ldr r5, [r4, #8] + d10c: 68a5 ldr r5, [r4, #8] if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED || - d0a6: 7821 ldrb r1, [r4, #0] - d0a8: 221f movs r2, #31 - d0aa: 400a ands r2, r1 - d0ac: 1f11 subs r1, r2, #4 - d0ae: 2902 cmp r1, #2 - d0b0: d90d bls.n d0ce + d10e: 7821 ldrb r1, [r4, #0] + d110: 221f movs r2, #31 + d112: 400a ands r2, r1 + d114: 1f11 subs r1, r2, #4 + d116: 2902 cmp r1, #2 + d118: d90d bls.n d136 _lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t)); #if LV_COLOR_SIZE == 32 p_color.ch.alpha = 0xFF; /*Only the color should be get so use a deafult alpha value*/ #endif } else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT) { - d0b2: 2a07 cmp r2, #7 - d0b4: d022 beq.n d0fc + d11a: 2a07 cmp r2, #7 + d11c: d022 beq.n d164 * dsc->header.w + 7 means rounding up to 8 because the lines are byte aligned * so the possible real width are 8, 16, 24 ...*/ uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_2BIT) { - d0b6: 2a08 cmp r2, #8 - d0b8: d034 beq.n d124 + d11e: 2a08 cmp r2, #8 + d120: d034 beq.n d18c * dsc->header.w + 3 means rounding up to 4 because the lines are byte aligned * so the possible real width are 4, 8, 12 ...*/ uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_4BIT) { - d0ba: 2a09 cmp r2, #9 - d0bc: d048 beq.n d150 + d122: 2a09 cmp r2, #9 + d124: d048 beq.n d1b8 * dsc->header.w + 1 means rounding up to 2 because the lines are byte aligned * so the possible real width are 2, 4, 6 ...*/ uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) { - d0be: 2a0a cmp r2, #10 - d0c0: d05e beq.n d180 + d126: 2a0a cmp r2, #10 + d128: d05e beq.n d1e8 buf_u8 += 4 * 256; uint32_t px = dsc->header.w * y + x; p_color.full = buf_u8[px]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || - d0c2: 3a0b subs r2, #11 - d0c4: 2a03 cmp r2, #3 - d0c6: d815 bhi.n d0f4 + d12a: 3a0b subs r2, #11 + d12c: 2a03 cmp r2, #3 + d12e: d815 bhi.n d15c dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { p_color = color; - d0c8: aa01 add r2, sp, #4 - d0ca: 8013 strh r3, [r2, #0] - d0cc: e012 b.n d0f4 + d130: aa01 add r2, sp, #4 + d132: 8013 strh r3, [r2, #0] + d134: e012 b.n d15c uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf) >> 3; - d0ce: 7820 ldrb r0, [r4, #0] - d0d0: 06c0 lsls r0, r0, #27 - d0d2: 0ec0 lsrs r0, r0, #27 - d0d4: 4b32 ldr r3, [pc, #200] ; (d1a0 ) - d0d6: 4798 blx r3 + d136: 7820 ldrb r0, [r4, #0] + d138: 06c0 lsls r0, r0, #27 + d13a: 0ec0 lsrs r0, r0, #27 + d13c: 4b32 ldr r3, [pc, #200] ; (d208 ) + d13e: 4798 blx r3 uint32_t px = dsc->header.w * y * px_size + x * px_size; - d0d8: 6823 ldr r3, [r4, #0] - d0da: 02db lsls r3, r3, #11 - d0dc: 0d5b lsrs r3, r3, #21 - d0de: 435f muls r7, r3 - d0e0: 19be adds r6, r7, r6 + d140: 6823 ldr r3, [r4, #0] + d142: 02db lsls r3, r3, #11 + d144: 0d5b lsrs r3, r3, #21 + d146: 435f muls r7, r3 + d148: 19be adds r6, r7, r6 uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf) >> 3; - d0e2: 08c0 lsrs r0, r0, #3 + d14a: 08c0 lsrs r0, r0, #3 uint32_t px = dsc->header.w * y * px_size + x * px_size; - d0e4: b2c0 uxtb r0, r0 - d0e6: 4370 muls r0, r6 + d14c: b2c0 uxtb r0, r0 + d14e: 4370 muls r0, r6 _lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t)); - d0e8: 1828 adds r0, r5, r0 + d150: 1828 adds r0, r5, r0 *d8 = *s8; - d0ea: ab01 add r3, sp, #4 - d0ec: 7802 ldrb r2, [r0, #0] - d0ee: 701a strb r2, [r3, #0] - d0f0: 7842 ldrb r2, [r0, #1] - d0f2: 705a strb r2, [r3, #1] + d152: ab01 add r3, sp, #4 + d154: 7802 ldrb r2, [r0, #0] + d156: 701a strb r2, [r3, #0] + d158: 7842 ldrb r2, [r0, #1] + d15a: 705a strb r2, [r3, #1] } return p_color; - d0f4: ab01 add r3, sp, #4 - d0f6: 8818 ldrh r0, [r3, #0] + d15c: ab01 add r3, sp, #4 + d15e: 8818 ldrh r0, [r3, #0] } - d0f8: b003 add sp, #12 - d0fa: bdf0 pop {r4, r5, r6, r7, pc} + d160: b003 add sp, #12 + d162: bdf0 pop {r4, r5, r6, r7, pc} p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - d0fc: 4032 ands r2, r6 - d0fe: 2307 movs r3, #7 - d100: 1a9a subs r2, r3, r2 + d164: 4032 ands r2, r6 + d166: 2307 movs r3, #7 + d168: 1a9a subs r2, r3, r2 uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; - d102: 6820 ldr r0, [r4, #0] - d104: 02c0 lsls r0, r0, #11 - d106: 0d40 lsrs r0, r0, #21 - d108: 3007 adds r0, #7 - d10a: 10c0 asrs r0, r0, #3 - d10c: 4347 muls r7, r0 - d10e: 10f6 asrs r6, r6, #3 + d16a: 6820 ldr r0, [r4, #0] + d16c: 02c0 lsls r0, r0, #11 + d16e: 0d40 lsrs r0, r0, #21 + d170: 3007 adds r0, #7 + d172: 10c0 asrs r0, r0, #3 + d174: 4347 muls r7, r0 + d176: 10f6 asrs r6, r6, #3 p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - d110: 19ed adds r5, r5, r7 - d112: 19ae adds r6, r5, r6 - d114: 7a31 ldrb r1, [r6, #8] - d116: 3b06 subs r3, #6 - d118: 4093 lsls r3, r2 - d11a: 400b ands r3, r1 - d11c: 4113 asrs r3, r2 - d11e: aa01 add r2, sp, #4 - d120: 8013 strh r3, [r2, #0] - d122: e7e7 b.n d0f4 + d178: 19ed adds r5, r5, r7 + d17a: 19ae adds r6, r5, r6 + d17c: 7a31 ldrb r1, [r6, #8] + d17e: 3b06 subs r3, #6 + d180: 4093 lsls r3, r2 + d182: 400b ands r3, r1 + d184: 4113 asrs r3, r2 + d186: aa01 add r2, sp, #4 + d188: 8013 strh r3, [r2, #0] + d18a: e7e7 b.n d15c uint8_t bit = (x & 0x3) * 2; - d124: 3a05 subs r2, #5 - d126: 4032 ands r2, r6 + d18c: 3a05 subs r2, #5 + d18e: 4032 ands r2, r6 p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - d128: 0052 lsls r2, r2, #1 - d12a: 2306 movs r3, #6 - d12c: 1a9a subs r2, r3, r2 + d190: 0052 lsls r2, r2, #1 + d192: 2306 movs r3, #6 + d194: 1a9a subs r2, r3, r2 uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; - d12e: 6820 ldr r0, [r4, #0] - d130: 02c0 lsls r0, r0, #11 - d132: 0d40 lsrs r0, r0, #21 - d134: 3003 adds r0, #3 - d136: 1080 asrs r0, r0, #2 - d138: 4347 muls r7, r0 - d13a: 10b6 asrs r6, r6, #2 + d196: 6820 ldr r0, [r4, #0] + d198: 02c0 lsls r0, r0, #11 + d19a: 0d40 lsrs r0, r0, #21 + d19c: 3003 adds r0, #3 + d19e: 1080 asrs r0, r0, #2 + d1a0: 4347 muls r7, r0 + d1a2: 10b6 asrs r6, r6, #2 p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - d13c: 19ed adds r5, r5, r7 - d13e: 19ae adds r6, r5, r6 - d140: 7c31 ldrb r1, [r6, #16] - d142: 3b03 subs r3, #3 - d144: 4093 lsls r3, r2 - d146: 400b ands r3, r1 - d148: 4113 asrs r3, r2 - d14a: aa01 add r2, sp, #4 - d14c: 8013 strh r3, [r2, #0] - d14e: e7d1 b.n d0f4 + d1a4: 19ed adds r5, r5, r7 + d1a6: 19ae adds r6, r5, r6 + d1a8: 7c31 ldrb r1, [r6, #16] + d1aa: 3b03 subs r3, #3 + d1ac: 4093 lsls r3, r2 + d1ae: 400b ands r3, r1 + d1b0: 4113 asrs r3, r2 + d1b2: aa01 add r2, sp, #4 + d1b4: 8013 strh r3, [r2, #0] + d1b6: e7d1 b.n d15c uint8_t bit = (x & 0x1) * 4; - d150: 2301 movs r3, #1 - d152: 4033 ands r3, r6 + d1b8: 2301 movs r3, #1 + d1ba: 4033 ands r3, r6 p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - d154: 009b lsls r3, r3, #2 - d156: 3a05 subs r2, #5 - d158: 1ad3 subs r3, r2, r3 + d1bc: 009b lsls r3, r3, #2 + d1be: 3a05 subs r2, #5 + d1c0: 1ad3 subs r3, r2, r3 uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; - d15a: 6820 ldr r0, [r4, #0] - d15c: 02c0 lsls r0, r0, #11 - d15e: 0d40 lsrs r0, r0, #21 - d160: 3001 adds r0, #1 - d162: 1040 asrs r0, r0, #1 - d164: 4347 muls r7, r0 - d166: 1076 asrs r6, r6, #1 + d1c2: 6820 ldr r0, [r4, #0] + d1c4: 02c0 lsls r0, r0, #11 + d1c6: 0d40 lsrs r0, r0, #21 + d1c8: 3001 adds r0, #1 + d1ca: 1040 asrs r0, r0, #1 + d1cc: 4347 muls r7, r0 + d1ce: 1076 asrs r6, r6, #1 p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - d168: 19ed adds r5, r5, r7 - d16a: 19ad adds r5, r5, r6 - d16c: 3540 adds r5, #64 ; 0x40 - d16e: 7829 ldrb r1, [r5, #0] - d170: 320b adds r2, #11 - d172: 409a lsls r2, r3 - d174: 400a ands r2, r1 - d176: 411a asrs r2, r3 - d178: 0013 movs r3, r2 - d17a: aa01 add r2, sp, #4 - d17c: 8013 strh r3, [r2, #0] - d17e: e7b9 b.n d0f4 + d1d0: 19ed adds r5, r5, r7 + d1d2: 19ad adds r5, r5, r6 + d1d4: 3540 adds r5, #64 ; 0x40 + d1d6: 7829 ldrb r1, [r5, #0] + d1d8: 320b adds r2, #11 + d1da: 409a lsls r2, r3 + d1dc: 400a ands r2, r1 + d1de: 411a asrs r2, r3 + d1e0: 0013 movs r3, r2 + d1e2: aa01 add r2, sp, #4 + d1e4: 8013 strh r3, [r2, #0] + d1e6: e7b9 b.n d15c uint32_t px = dsc->header.w * y + x; - d180: 6823 ldr r3, [r4, #0] - d182: 02db lsls r3, r3, #11 - d184: 0d5b lsrs r3, r3, #21 - d186: 437b muls r3, r7 + d1e8: 6823 ldr r3, [r4, #0] + d1ea: 02db lsls r3, r3, #11 + d1ec: 0d5b lsrs r3, r3, #21 + d1ee: 437b muls r3, r7 p_color.full = buf_u8[px]; - d188: 19ad adds r5, r5, r6 - d18a: 18ed adds r5, r5, r3 - d18c: 2380 movs r3, #128 ; 0x80 - d18e: 00db lsls r3, r3, #3 - d190: 469c mov ip, r3 - d192: 4465 add r5, ip - d194: 782a ldrb r2, [r5, #0] - d196: ab01 add r3, sp, #4 - d198: 801a strh r2, [r3, #0] - d19a: e7ab b.n d0f4 - d19c: fffff81f .word 0xfffff81f - d1a0: 00007e7d .word 0x00007e7d - -0000d1a4 : + d1f0: 19ad adds r5, r5, r6 + d1f2: 18ed adds r5, r5, r3 + d1f4: 2380 movs r3, #128 ; 0x80 + d1f6: 00db lsls r3, r3, #3 + d1f8: 469c mov ip, r3 + d1fa: 4465 add r5, ip + d1fc: 782a ldrb r2, [r5, #0] + d1fe: ab01 add r3, sp, #4 + d200: 801a strh r2, [r3, #0] + d202: e7ab b.n d15c + d204: fffff81f .word 0xfffff81f + d208: 00007ee5 .word 0x00007ee5 + +0000d20c : * @param y x coordinate of the point to set * @param safe true: check out of bounds * @return alpha value of the point */ lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) { - d1a4: b5f0 push {r4, r5, r6, r7, lr} - d1a6: b087 sub sp, #28 - d1a8: 0004 movs r4, r0 - d1aa: 9201 str r2, [sp, #4] + d20c: b5f0 push {r4, r5, r6, r7, lr} + d20e: b087 sub sp, #28 + d210: 0004 movs r4, r0 + d212: 9201 str r2, [sp, #4] uint8_t * buf_u8 = (uint8_t *)dsc->data; - d1ac: 6886 ldr r6, [r0, #8] + d214: 6886 ldr r6, [r0, #8] if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA) { - d1ae: 7800 ldrb r0, [r0, #0] - d1b0: 231f movs r3, #31 - d1b2: 4003 ands r3, r0 - d1b4: 2b05 cmp r3, #5 - d1b6: d00a beq.n d1ce + d216: 7800 ldrb r0, [r0, #0] + d218: 231f movs r3, #31 + d21a: 4003 ands r3, r0 + d21c: 2b05 cmp r3, #5 + d21e: d00a beq.n d236 uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE; return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT) { - d1b8: 2b0b cmp r3, #11 - d1ba: d012 beq.n d1e2 + d220: 2b0b cmp r3, #11 + d222: d012 beq.n d24a * so the possible real width are 8 ,16, 24 ...*/ uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_2BIT) { - d1bc: 2b0c cmp r3, #12 - d1be: d028 beq.n d212 + d224: 2b0c cmp r3, #12 + d226: d028 beq.n d27a * so the possible real width are 4 ,8, 12 ...*/ uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); return opa_table[px_opa]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_4BIT) { - d1c0: 2b0d cmp r3, #13 - d1c2: d047 beq.n d254 + d228: 2b0d cmp r3, #13 + d22a: d047 beq.n d2bc else if(dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { uint32_t px = dsc->header.w * y + x; return buf_u8[px]; } return LV_OPA_COVER; - d1c4: 20ff movs r0, #255 ; 0xff + d22c: 20ff movs r0, #255 ; 0xff else if(dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { - d1c6: 2b0e cmp r3, #14 - d1c8: d064 beq.n d294 + d22e: 2b0e cmp r3, #14 + d230: d064 beq.n d2fc } - d1ca: b007 add sp, #28 - d1cc: bdf0 pop {r4, r5, r6, r7, pc} + d232: b007 add sp, #28 + d234: bdf0 pop {r4, r5, r6, r7, pc} uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE; - d1ce: 6823 ldr r3, [r4, #0] - d1d0: 02db lsls r3, r3, #11 - d1d2: 0d5b lsrs r3, r3, #21 - d1d4: 435a muls r2, r3 - d1d6: 1851 adds r1, r2, r1 + d236: 6823 ldr r3, [r4, #0] + d238: 02db lsls r3, r3, #11 + d23a: 0d5b lsrs r3, r3, #21 + d23c: 435a muls r2, r3 + d23e: 1851 adds r1, r2, r1 return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - d1d8: 004a lsls r2, r1, #1 - d1da: 1851 adds r1, r2, r1 - d1dc: 1871 adds r1, r6, r1 - d1de: 7888 ldrb r0, [r1, #2] - d1e0: e7f3 b.n d1ca + d240: 004a lsls r2, r1, #1 + d242: 1851 adds r1, r2, r1 + d244: 1871 adds r1, r6, r1 + d246: 7888 ldrb r0, [r1, #2] + d248: e7f3 b.n d232 uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - d1e2: 2507 movs r5, #7 - d1e4: 400d ands r5, r1 - d1e6: 3b04 subs r3, #4 - d1e8: 1b5d subs r5, r3, r5 + d24a: 2507 movs r5, #7 + d24c: 400d ands r5, r1 + d24e: 3b04 subs r3, #4 + d250: 1b5d subs r5, r3, r5 uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; - d1ea: 6823 ldr r3, [r4, #0] - d1ec: 02db lsls r3, r3, #11 - d1ee: 0d5b lsrs r3, r3, #21 - d1f0: 3307 adds r3, #7 - d1f2: 10db asrs r3, r3, #3 - d1f4: 9a01 ldr r2, [sp, #4] - d1f6: 435a muls r2, r3 - d1f8: 10c9 asrs r1, r1, #3 + d252: 6823 ldr r3, [r4, #0] + d254: 02db lsls r3, r3, #11 + d256: 0d5b lsrs r3, r3, #21 + d258: 3307 adds r3, #7 + d25a: 10db asrs r3, r3, #3 + d25c: 9a01 ldr r2, [sp, #4] + d25e: 435a muls r2, r3 + d260: 10c9 asrs r1, r1, #3 uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - d1fa: 18b2 adds r2, r6, r2 - d1fc: 5c53 ldrb r3, [r2, r1] - d1fe: 2001 movs r0, #1 - d200: 40a8 lsls r0, r5 - d202: 4018 ands r0, r3 - d204: 4128 asrs r0, r5 + d262: 18b2 adds r2, r6, r2 + d264: 5c53 ldrb r3, [r2, r1] + d266: 2001 movs r0, #1 + d268: 40a8 lsls r0, r5 + d26a: 4018 ands r0, r3 + d26c: 4128 asrs r0, r5 return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER; - d206: b2c3 uxtb r3, r0 - d208: 4258 negs r0, r3 - d20a: 4158 adcs r0, r3 - d20c: 4240 negs r0, r0 - d20e: b2c0 uxtb r0, r0 - d210: e7db b.n d1ca + d26e: b2c3 uxtb r3, r0 + d270: 4258 negs r0, r3 + d272: 4158 adcs r0, r3 + d274: 4240 negs r0, r0 + d276: b2c0 uxtb r0, r0 + d278: e7db b.n d232 const uint8_t opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/ - d212: 2300 movs r3, #0 - d214: a802 add r0, sp, #8 - d216: 7003 strb r3, [r0, #0] - d218: 3355 adds r3, #85 ; 0x55 - d21a: 7043 strb r3, [r0, #1] - d21c: 3355 adds r3, #85 ; 0x55 - d21e: 7083 strb r3, [r0, #2] - d220: 20ff movs r0, #255 ; 0xff - d222: ab02 add r3, sp, #8 - d224: 70d8 strb r0, [r3, #3] + d27a: 2300 movs r3, #0 + d27c: a802 add r0, sp, #8 + d27e: 7003 strb r3, [r0, #0] + d280: 3355 adds r3, #85 ; 0x55 + d282: 7043 strb r3, [r0, #1] + d284: 3355 adds r3, #85 ; 0x55 + d286: 7083 strb r3, [r0, #2] + d288: 20ff movs r0, #255 ; 0xff + d28a: ab02 add r3, sp, #8 + d28c: 70d8 strb r0, [r3, #3] uint8_t bit = (x & 0x3) * 2; - d226: 2503 movs r5, #3 - d228: 400d ands r5, r1 + d28e: 2503 movs r5, #3 + d290: 400d ands r5, r1 uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - d22a: 006d lsls r5, r5, #1 - d22c: 2306 movs r3, #6 - d22e: 1b5d subs r5, r3, r5 + d292: 006d lsls r5, r5, #1 + d294: 2306 movs r3, #6 + d296: 1b5d subs r5, r3, r5 uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; - d230: 6823 ldr r3, [r4, #0] - d232: 02db lsls r3, r3, #11 - d234: 0d5b lsrs r3, r3, #21 - d236: 3303 adds r3, #3 - d238: 109b asrs r3, r3, #2 - d23a: 9a01 ldr r2, [sp, #4] - d23c: 435a muls r2, r3 - d23e: 1089 asrs r1, r1, #2 + d298: 6823 ldr r3, [r4, #0] + d29a: 02db lsls r3, r3, #11 + d29c: 0d5b lsrs r3, r3, #21 + d29e: 3303 adds r3, #3 + d2a0: 109b asrs r3, r3, #2 + d2a2: 9a01 ldr r2, [sp, #4] + d2a4: 435a muls r2, r3 + d2a6: 1089 asrs r1, r1, #2 uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - d240: 18b2 adds r2, r6, r2 - d242: 5c52 ldrb r2, [r2, r1] - d244: 2303 movs r3, #3 - d246: 40ab lsls r3, r5 - d248: 4013 ands r3, r2 - d24a: 412b asrs r3, r5 + d2a8: 18b2 adds r2, r6, r2 + d2aa: 5c52 ldrb r2, [r2, r1] + d2ac: 2303 movs r3, #3 + d2ae: 40ab lsls r3, r5 + d2b0: 4013 ands r3, r2 + d2b2: 412b asrs r3, r5 return opa_table[px_opa]; - d24c: 4003 ands r3, r0 - d24e: aa02 add r2, sp, #8 - d250: 5cd0 ldrb r0, [r2, r3] - d252: e7ba b.n d1ca + d2b4: 4003 ands r3, r0 + d2b6: aa02 add r2, sp, #8 + d2b8: 5cd0 ldrb r0, [r2, r3] + d2ba: e7ba b.n d232 const uint8_t opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/ - d254: ab02 add r3, sp, #8 - d256: 469c mov ip, r3 - d258: 4b12 ldr r3, [pc, #72] ; (d2a4 ) - d25a: 4665 mov r5, ip - d25c: cb85 ldmia r3!, {r0, r2, r7} - d25e: c585 stmia r5!, {r0, r2, r7} - d260: 681b ldr r3, [r3, #0] - d262: 602b str r3, [r5, #0] + d2bc: ab02 add r3, sp, #8 + d2be: 469c mov ip, r3 + d2c0: 4b12 ldr r3, [pc, #72] ; (d30c ) + d2c2: 4665 mov r5, ip + d2c4: cb85 ldmia r3!, {r0, r2, r7} + d2c6: c585 stmia r5!, {r0, r2, r7} + d2c8: 681b ldr r3, [r3, #0] + d2ca: 602b str r3, [r5, #0] uint8_t bit = (x & 0x1) * 4; - d264: 2501 movs r5, #1 - d266: 400d ands r5, r1 + d2cc: 2501 movs r5, #1 + d2ce: 400d ands r5, r1 uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - d268: 00ad lsls r5, r5, #2 - d26a: 2304 movs r3, #4 - d26c: 1b5d subs r5, r3, r5 + d2d0: 00ad lsls r5, r5, #2 + d2d2: 2304 movs r3, #4 + d2d4: 1b5d subs r5, r3, r5 uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; - d26e: 6823 ldr r3, [r4, #0] - d270: 02db lsls r3, r3, #11 - d272: 0d5b lsrs r3, r3, #21 - d274: 3301 adds r3, #1 - d276: 105b asrs r3, r3, #1 - d278: 9a01 ldr r2, [sp, #4] - d27a: 435a muls r2, r3 - d27c: 1049 asrs r1, r1, #1 + d2d6: 6823 ldr r3, [r4, #0] + d2d8: 02db lsls r3, r3, #11 + d2da: 0d5b lsrs r3, r3, #21 + d2dc: 3301 adds r3, #1 + d2de: 105b asrs r3, r3, #1 + d2e0: 9a01 ldr r2, [sp, #4] + d2e2: 435a muls r2, r3 + d2e4: 1049 asrs r1, r1, #1 uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - d27e: 18b2 adds r2, r6, r2 - d280: 5c52 ldrb r2, [r2, r1] - d282: 230f movs r3, #15 - d284: 40ab lsls r3, r5 - d286: 4013 ands r3, r2 - d288: 412b asrs r3, r5 + d2e6: 18b2 adds r2, r6, r2 + d2e8: 5c52 ldrb r2, [r2, r1] + d2ea: 230f movs r3, #15 + d2ec: 40ab lsls r3, r5 + d2ee: 4013 ands r3, r2 + d2f0: 412b asrs r3, r5 return opa_table[px_opa]; - d28a: 22ff movs r2, #255 ; 0xff - d28c: 4013 ands r3, r2 - d28e: 4662 mov r2, ip - d290: 5cd0 ldrb r0, [r2, r3] - d292: e79a b.n d1ca + d2f2: 22ff movs r2, #255 ; 0xff + d2f4: 4013 ands r3, r2 + d2f6: 4662 mov r2, ip + d2f8: 5cd0 ldrb r0, [r2, r3] + d2fa: e79a b.n d232 uint32_t px = dsc->header.w * y + x; - d294: 6823 ldr r3, [r4, #0] - d296: 02db lsls r3, r3, #11 - d298: 0d5b lsrs r3, r3, #21 - d29a: 9a01 ldr r2, [sp, #4] - d29c: 435a muls r2, r3 + d2fc: 6823 ldr r3, [r4, #0] + d2fe: 02db lsls r3, r3, #11 + d300: 0d5b lsrs r3, r3, #21 + d302: 9a01 ldr r2, [sp, #4] + d304: 435a muls r2, r3 return buf_u8[px]; - d29e: 1871 adds r1, r6, r1 - d2a0: 5c88 ldrb r0, [r1, r2] - d2a2: e792 b.n d1ca - d2a4: 00018a1c .word 0x00018a1c + d306: 1871 adds r1, r6, r1 + d308: 5c88 ldrb r0, [r1, r2] + d30a: e792 b.n d232 + d30c: 00018aac .word 0x00018aac -0000d2a8 <_lv_img_buf_transform_init>: +0000d310 <_lv_img_buf_transform_init>: /** * Initialize a descriptor to tranform an image * @param dsc pointer to an `lv_img_transform_dsc_t` variable whose `cfg` field is initialized */ void _lv_img_buf_transform_init(lv_img_transform_dsc_t * dsc) { - d2a8: b5f0 push {r4, r5, r6, r7, lr} - d2aa: 46de mov lr, fp - d2ac: 4657 mov r7, sl - d2ae: 464e mov r6, r9 - d2b0: 4645 mov r5, r8 - d2b2: b5e0 push {r5, r6, r7, lr} - d2b4: b083 sub sp, #12 - d2b6: 0004 movs r4, r0 + d310: b5f0 push {r4, r5, r6, r7, lr} + d312: 46de mov lr, fp + d314: 4657 mov r7, sl + d316: 464e mov r6, r9 + d318: 4645 mov r5, r8 + d31a: b5e0 push {r5, r6, r7, lr} + d31c: b083 sub sp, #12 + d31e: 0004 movs r4, r0 dsc->tmp.pivot_x_256 = dsc->cfg.pivot_x * 256; - d2b8: 2208 movs r2, #8 - d2ba: 5e83 ldrsh r3, [r0, r2] - d2bc: 021b lsls r3, r3, #8 - d2be: 6243 str r3, [r0, #36] ; 0x24 + d320: 2208 movs r2, #8 + d322: 5e83 ldrsh r3, [r0, r2] + d324: 021b lsls r3, r3, #8 + d326: 6243 str r3, [r0, #36] ; 0x24 dsc->tmp.pivot_y_256 = dsc->cfg.pivot_y * 256; - d2c0: 220a movs r2, #10 - d2c2: 5e83 ldrsh r3, [r0, r2] - d2c4: 021b lsls r3, r3, #8 - d2c6: 6283 str r3, [r0, #40] ; 0x28 + d328: 220a movs r2, #10 + d32a: 5e83 ldrsh r3, [r0, r2] + d32c: 021b lsls r3, r3, #8 + d32e: 6283 str r3, [r0, #40] ; 0x28 int32_t angle_low = dsc->cfg.angle / 10; - d2c8: 230c movs r3, #12 - d2ca: 5ec7 ldrsh r7, [r0, r3] - d2cc: 4b3e ldr r3, [pc, #248] ; (d3c8 <_lv_img_buf_transform_init+0x120>) - d2ce: 469b mov fp, r3 - d2d0: 210a movs r1, #10 - d2d2: 0038 movs r0, r7 - d2d4: 4798 blx r3 - d2d6: b205 sxth r5, r0 + d330: 230c movs r3, #12 + d332: 5ec7 ldrsh r7, [r0, r3] + d334: 4b3e ldr r3, [pc, #248] ; (d430 <_lv_img_buf_transform_init+0x120>) + d336: 469b mov fp, r3 + d338: 210a movs r1, #10 + d33a: 0038 movs r0, r7 + d33c: 4798 blx r3 + d33e: b205 sxth r5, r0 int32_t angle_hight = angle_low + 1; int32_t angle_rem = dsc->cfg.angle - (angle_low * 10); - d2d8: 260a movs r6, #10 - d2da: 4276 negs r6, r6 - d2dc: 436e muls r6, r5 - d2de: 19f6 adds r6, r6, r7 + d340: 260a movs r6, #10 + d342: 4276 negs r6, r6 + d344: 436e muls r6, r5 + d346: 19f6 adds r6, r6, r7 int32_t s1 = _lv_trigo_sin(-angle_low); - d2e0: b2ab uxth r3, r5 - d2e2: 4698 mov r8, r3 - d2e4: 4258 negs r0, r3 - d2e6: b200 sxth r0, r0 - d2e8: 4b38 ldr r3, [pc, #224] ; (d3cc <_lv_img_buf_transform_init+0x124>) - d2ea: 469a mov sl, r3 - d2ec: 4798 blx r3 - d2ee: 4681 mov r9, r0 + d348: b2ab uxth r3, r5 + d34a: 4698 mov r8, r3 + d34c: 4258 negs r0, r3 + d34e: b200 sxth r0, r0 + d350: 4b38 ldr r3, [pc, #224] ; (d434 <_lv_img_buf_transform_init+0x124>) + d352: 469a mov sl, r3 + d354: 4798 blx r3 + d356: 4681 mov r9, r0 int32_t angle_hight = angle_low + 1; - d2f0: 3501 adds r5, #1 + d358: 3501 adds r5, #1 int32_t s2 = _lv_trigo_sin(-angle_hight); - d2f2: b2ad uxth r5, r5 - d2f4: 4268 negs r0, r5 - d2f6: b200 sxth r0, r0 - d2f8: 47d0 blx sl - d2fa: 9001 str r0, [sp, #4] + d35a: b2ad uxth r5, r5 + d35c: 4268 negs r0, r5 + d35e: b200 sxth r0, r0 + d360: 47d0 blx sl + d362: 9001 str r0, [sp, #4] int32_t c1 = _lv_trigo_sin(-angle_low + 90); - d2fc: 275a movs r7, #90 ; 0x5a - d2fe: 4642 mov r2, r8 - d300: 1ab8 subs r0, r7, r2 - d302: b200 sxth r0, r0 - d304: 47d0 blx sl - d306: 4680 mov r8, r0 + d364: 275a movs r7, #90 ; 0x5a + d366: 4642 mov r2, r8 + d368: 1ab8 subs r0, r7, r2 + d36a: b200 sxth r0, r0 + d36c: 47d0 blx sl + d36e: 4680 mov r8, r0 int32_t c2 = _lv_trigo_sin(-angle_hight + 90); - d308: 1b7d subs r5, r7, r5 - d30a: b228 sxth r0, r5 - d30c: 47d0 blx sl - d30e: 0007 movs r7, r0 + d370: 1b7d subs r5, r7, r5 + d372: b228 sxth r0, r5 + d374: 47d0 blx sl + d376: 0007 movs r7, r0 dsc->tmp.sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10; - d310: 250a movs r5, #10 - d312: 1bad subs r5, r5, r6 - d314: 464b mov r3, r9 - d316: 436b muls r3, r5 - d318: 0018 movs r0, r3 - d31a: 9b01 ldr r3, [sp, #4] - d31c: 4373 muls r3, r6 - d31e: 18c0 adds r0, r0, r3 - d320: 210a movs r1, #10 - d322: 47d8 blx fp - d324: 62e0 str r0, [r4, #44] ; 0x2c + d378: 250a movs r5, #10 + d37a: 1bad subs r5, r5, r6 + d37c: 464b mov r3, r9 + d37e: 436b muls r3, r5 + d380: 0018 movs r0, r3 + d382: 9b01 ldr r3, [sp, #4] + d384: 4373 muls r3, r6 + d386: 18c0 adds r0, r0, r3 + d388: 210a movs r1, #10 + d38a: 47d8 blx fp + d38c: 62e0 str r0, [r4, #44] ; 0x2c dsc->tmp.cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10; - d326: 4643 mov r3, r8 - d328: 435d muls r5, r3 - d32a: 0030 movs r0, r6 - d32c: 4378 muls r0, r7 - d32e: 1828 adds r0, r5, r0 - d330: 210a movs r1, #10 - d332: 47d8 blx fp - d334: 6320 str r0, [r4, #48] ; 0x30 + d38e: 4643 mov r3, r8 + d390: 435d muls r5, r3 + d392: 0030 movs r0, r6 + d394: 4378 muls r0, r7 + d396: 1828 adds r0, r5, r0 + d398: 210a movs r1, #10 + d39a: 47d8 blx fp + d39c: 6320 str r0, [r4, #48] ; 0x30 dsc->tmp.chroma_keyed = lv_img_cf_is_chroma_keyed(dsc->cfg.cf) ? 1 : 0; - d336: 7ca0 ldrb r0, [r4, #18] - d338: 4b25 ldr r3, [pc, #148] ; (d3d0 <_lv_img_buf_transform_init+0x128>) - d33a: 4798 blx r3 - d33c: 2634 movs r6, #52 ; 0x34 - d33e: 2501 movs r5, #1 - d340: 0003 movs r3, r0 - d342: 402b ands r3, r5 - d344: 5da0 ldrb r0, [r4, r6] - d346: 2201 movs r2, #1 - d348: 4390 bics r0, r2 - d34a: 4318 orrs r0, r3 - d34c: 55a0 strb r0, [r4, r6] + d39e: 7ca0 ldrb r0, [r4, #18] + d3a0: 4b25 ldr r3, [pc, #148] ; (d438 <_lv_img_buf_transform_init+0x128>) + d3a2: 4798 blx r3 + d3a4: 2634 movs r6, #52 ; 0x34 + d3a6: 2501 movs r5, #1 + d3a8: 0003 movs r3, r0 + d3aa: 402b ands r3, r5 + d3ac: 5da0 ldrb r0, [r4, r6] + d3ae: 2201 movs r2, #1 + d3b0: 4390 bics r0, r2 + d3b2: 4318 orrs r0, r3 + d3b4: 55a0 strb r0, [r4, r6] dsc->tmp.has_alpha = lv_img_cf_has_alpha(dsc->cfg.cf) ? 1 : 0; - d34e: 7ca0 ldrb r0, [r4, #18] - d350: 4b20 ldr r3, [pc, #128] ; (d3d4 <_lv_img_buf_transform_init+0x12c>) - d352: 4798 blx r3 - d354: 4005 ands r5, r0 - d356: 006d lsls r5, r5, #1 - d358: 5da0 ldrb r0, [r4, r6] - d35a: 2302 movs r3, #2 - d35c: 4398 bics r0, r3 - d35e: 4305 orrs r5, r0 - d360: 55a5 strb r5, [r4, r6] + d3b6: 7ca0 ldrb r0, [r4, #18] + d3b8: 4b20 ldr r3, [pc, #128] ; (d43c <_lv_img_buf_transform_init+0x12c>) + d3ba: 4798 blx r3 + d3bc: 4005 ands r5, r0 + d3be: 006d lsls r5, r5, #1 + d3c0: 5da0 ldrb r0, [r4, r6] + d3c2: 2302 movs r3, #2 + d3c4: 4398 bics r0, r3 + d3c6: 4305 orrs r5, r0 + d3c8: 55a5 strb r5, [r4, r6] if(dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR || dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_ALPHA || - d362: 7ca2 ldrb r2, [r4, #18] - d364: 1f13 subs r3, r2, #4 - d366: 2b02 cmp r3, #2 - d368: d928 bls.n d3bc <_lv_img_buf_transform_init+0x114> + d3ca: 7ca2 ldrb r2, [r4, #18] + d3cc: 1f13 subs r3, r2, #4 + d3ce: 2b02 cmp r3, #2 + d3d0: d928 bls.n d424 <_lv_img_buf_transform_init+0x114> dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { dsc->tmp.native_color = 1; } else { dsc->tmp.native_color = 0; - d36a: 2134 movs r1, #52 ; 0x34 - d36c: 5c63 ldrb r3, [r4, r1] - d36e: 2004 movs r0, #4 - d370: 4383 bics r3, r0 - d372: 5463 strb r3, [r4, r1] + d3d2: 2134 movs r1, #52 ; 0x34 + d3d4: 5c63 ldrb r3, [r4, r1] + d3d6: 2004 movs r0, #4 + d3d8: 4383 bics r3, r0 + d3da: 5463 strb r3, [r4, r1] } dsc->tmp.img_dsc.data = dsc->cfg.src; - d374: 6823 ldr r3, [r4, #0] - d376: 6223 str r3, [r4, #32] + d3dc: 6823 ldr r3, [r4, #0] + d3de: 6223 str r3, [r4, #32] dsc->tmp.img_dsc.header.always_zero = 0; dsc->tmp.img_dsc.header.cf = dsc->cfg.cf; - d378: 231f movs r3, #31 - d37a: 4013 ands r3, r2 - d37c: 7623 strb r3, [r4, #24] + d3e0: 231f movs r3, #31 + d3e2: 4013 ands r3, r2 + d3e4: 7623 strb r3, [r4, #24] dsc->tmp.img_dsc.header.w = dsc->cfg.src_w; - d37e: 88a3 ldrh r3, [r4, #4] - d380: 055b lsls r3, r3, #21 - d382: 0ada lsrs r2, r3, #11 - d384: 4b14 ldr r3, [pc, #80] ; (d3d8 <_lv_img_buf_transform_init+0x130>) - d386: 69a1 ldr r1, [r4, #24] - d388: 400b ands r3, r1 - d38a: 4313 orrs r3, r2 - d38c: 61a3 str r3, [r4, #24] + d3e6: 88a3 ldrh r3, [r4, #4] + d3e8: 055b lsls r3, r3, #21 + d3ea: 0ada lsrs r2, r3, #11 + d3ec: 4b14 ldr r3, [pc, #80] ; (d440 <_lv_img_buf_transform_init+0x130>) + d3ee: 69a1 ldr r1, [r4, #24] + d3f0: 400b ands r3, r1 + d3f2: 4313 orrs r3, r2 + d3f4: 61a3 str r3, [r4, #24] dsc->tmp.img_dsc.header.h = dsc->cfg.src_h; - d38e: 88e2 ldrh r2, [r4, #6] - d390: 0152 lsls r2, r2, #5 - d392: 02db lsls r3, r3, #11 - d394: 0edb lsrs r3, r3, #27 - d396: 4313 orrs r3, r2 - d398: 8363 strh r3, [r4, #26] + d3f6: 88e2 ldrh r2, [r4, #6] + d3f8: 0152 lsls r2, r2, #5 + d3fa: 02db lsls r3, r3, #11 + d3fc: 0edb lsrs r3, r3, #27 + d3fe: 4313 orrs r3, r2 + d400: 8363 strh r3, [r4, #26] dsc->tmp.zoom_inv = (256 * 256) / dsc->cfg.zoom; - d39a: 89e1 ldrh r1, [r4, #14] - d39c: 2080 movs r0, #128 ; 0x80 - d39e: 0240 lsls r0, r0, #9 - d3a0: 4b09 ldr r3, [pc, #36] ; (d3c8 <_lv_img_buf_transform_init+0x120>) - d3a2: 4798 blx r3 - d3a4: 86e0 strh r0, [r4, #54] ; 0x36 + d402: 89e1 ldrh r1, [r4, #14] + d404: 2080 movs r0, #128 ; 0x80 + d406: 0240 lsls r0, r0, #9 + d408: 4b09 ldr r3, [pc, #36] ; (d430 <_lv_img_buf_transform_init+0x120>) + d40a: 4798 blx r3 + d40c: 86e0 strh r0, [r4, #54] ; 0x36 dsc->res.opa = LV_OPA_COVER; - d3a6: 23ff movs r3, #255 ; 0xff - d3a8: 75a3 strb r3, [r4, #22] + d40e: 23ff movs r3, #255 ; 0xff + d410: 75a3 strb r3, [r4, #22] dsc->res.color = dsc->cfg.color; - d3aa: 8a23 ldrh r3, [r4, #16] - d3ac: 82a3 strh r3, [r4, #20] -} - d3ae: b003 add sp, #12 - d3b0: bc3c pop {r2, r3, r4, r5} - d3b2: 4690 mov r8, r2 - d3b4: 4699 mov r9, r3 - d3b6: 46a2 mov sl, r4 - d3b8: 46ab mov fp, r5 - d3ba: bdf0 pop {r4, r5, r6, r7, pc} + d412: 8a23 ldrh r3, [r4, #16] + d414: 82a3 strh r3, [r4, #20] +} + d416: b003 add sp, #12 + d418: bc3c pop {r2, r3, r4, r5} + d41a: 4690 mov r8, r2 + d41c: 4699 mov r9, r3 + d41e: 46a2 mov sl, r4 + d420: 46ab mov fp, r5 + d422: bdf0 pop {r4, r5, r6, r7, pc} dsc->tmp.native_color = 1; - d3bc: 2134 movs r1, #52 ; 0x34 - d3be: b2eb uxtb r3, r5 - d3c0: 2004 movs r0, #4 - d3c2: 4303 orrs r3, r0 - d3c4: 5463 strb r3, [r4, r1] - d3c6: e7d5 b.n d374 <_lv_img_buf_transform_init+0xcc> - d3c8: 00017a75 .word 0x00017a75 - d3cc: 000108cd .word 0x000108cd - d3d0: 00007ead .word 0x00007ead - d3d4: 00007ec1 .word 0x00007ec1 - d3d8: ffe003ff .word 0xffe003ff - -0000d3dc <_lv_img_buf_get_transformed_area>: + d424: 2134 movs r1, #52 ; 0x34 + d426: b2eb uxtb r3, r5 + d428: 2004 movs r0, #4 + d42a: 4303 orrs r3, r0 + d42c: 5463 strb r3, [r4, r1] + d42e: e7d5 b.n d3dc <_lv_img_buf_transform_init+0xcc> + d430: 00017b05 .word 0x00017b05 + d434: 00010935 .word 0x00010935 + d438: 00007f15 .word 0x00007f15 + d43c: 00007f29 .word 0x00007f29 + d440: ffe003ff .word 0xffe003ff + +0000d444 <_lv_img_buf_get_transformed_area>: * @param zoom zoom, (256 no zoom) * @param pivot x,y pivot coordinates of rotation */ void _lv_img_buf_get_transformed_area(lv_area_t * res, lv_coord_t w, lv_coord_t h, int16_t angle, uint16_t zoom, lv_point_t * pivot) { - d3dc: b5f0 push {r4, r5, r6, r7, lr} - d3de: 46de mov lr, fp - d3e0: 4657 mov r7, sl - d3e2: 464e mov r6, r9 - d3e4: 4645 mov r5, r8 - d3e6: b5e0 push {r5, r6, r7, lr} - d3e8: b087 sub sp, #28 - d3ea: 9000 str r0, [sp, #0] - d3ec: 9102 str r1, [sp, #8] - d3ee: 9205 str r2, [sp, #20] - d3f0: 001d movs r5, r3 - d3f2: ab10 add r3, sp, #64 ; 0x40 - d3f4: 881b ldrh r3, [r3, #0] - d3f6: 469b mov fp, r3 + d444: b5f0 push {r4, r5, r6, r7, lr} + d446: 46de mov lr, fp + d448: 4657 mov r7, sl + d44a: 464e mov r6, r9 + d44c: 4645 mov r5, r8 + d44e: b5e0 push {r5, r6, r7, lr} + d450: b087 sub sp, #28 + d452: 9000 str r0, [sp, #0] + d454: 9102 str r1, [sp, #8] + d456: 9205 str r2, [sp, #20] + d458: 001d movs r5, r3 + d45a: ab10 add r3, sp, #64 ; 0x40 + d45c: 881b ldrh r3, [r3, #0] + d45e: 469b mov fp, r3 #if LV_USE_IMG_TRANSFORM int32_t angle_low = angle / 10; - d3f8: 4f6a ldr r7, [pc, #424] ; (d5a4 <_lv_img_buf_get_transformed_area+0x1c8>) - d3fa: 210a movs r1, #10 - d3fc: 0028 movs r0, r5 - d3fe: 47b8 blx r7 - d400: b204 sxth r4, r0 + d460: 4f6a ldr r7, [pc, #424] ; (d60c <_lv_img_buf_get_transformed_area+0x1c8>) + d462: 210a movs r1, #10 + d464: 0028 movs r0, r5 + d466: 47b8 blx r7 + d468: b204 sxth r4, r0 int32_t angle_hight = angle_low + 1; - d402: 1c66 adds r6, r4, #1 + d46a: 1c66 adds r6, r4, #1 int32_t angle_rem = angle - (angle_low * 10); - d404: 200a movs r0, #10 - d406: 4240 negs r0, r0 - d408: 4360 muls r0, r4 - d40a: 1945 adds r5, r0, r5 + d46c: 200a movs r0, #10 + d46e: 4240 negs r0, r0 + d470: 4360 muls r0, r4 + d472: 1945 adds r5, r0, r5 int32_t s1 = _lv_trigo_sin(angle_low); - d40c: 0020 movs r0, r4 - d40e: 4b66 ldr r3, [pc, #408] ; (d5a8 <_lv_img_buf_get_transformed_area+0x1cc>) - d410: 4699 mov r9, r3 - d412: 4798 blx r3 - d414: 4680 mov r8, r0 + d474: 0020 movs r0, r4 + d476: 4b66 ldr r3, [pc, #408] ; (d610 <_lv_img_buf_get_transformed_area+0x1cc>) + d478: 4699 mov r9, r3 + d47a: 4798 blx r3 + d47c: 4680 mov r8, r0 int32_t s2 = _lv_trigo_sin(angle_hight); - d416: b230 sxth r0, r6 - d418: 47c8 blx r9 - d41a: 4682 mov sl, r0 + d47e: b230 sxth r0, r6 + d480: 47c8 blx r9 + d482: 4682 mov sl, r0 int32_t c1 = _lv_trigo_sin(angle_low + 90); - d41c: 345a adds r4, #90 ; 0x5a - d41e: b220 sxth r0, r4 - d420: 47c8 blx r9 - d422: 0004 movs r4, r0 + d484: 345a adds r4, #90 ; 0x5a + d486: b220 sxth r0, r4 + d488: 47c8 blx r9 + d48a: 0004 movs r4, r0 int32_t c2 = _lv_trigo_sin(angle_hight + 90); - d424: 365a adds r6, #90 ; 0x5a - d426: b230 sxth r0, r6 - d428: 47c8 blx r9 - d42a: 4681 mov r9, r0 + d48c: 365a adds r6, #90 ; 0x5a + d48e: b230 sxth r0, r6 + d490: 47c8 blx r9 + d492: 4681 mov r9, r0 int32_t sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10; - d42c: 260a movs r6, #10 - d42e: 1b76 subs r6, r6, r5 - d430: 4640 mov r0, r8 - d432: 4370 muls r0, r6 - d434: 4653 mov r3, sl - d436: 436b muls r3, r5 - d438: 18c0 adds r0, r0, r3 - d43a: 210a movs r1, #10 - d43c: 47b8 blx r7 - d43e: 4680 mov r8, r0 + d494: 260a movs r6, #10 + d496: 1b76 subs r6, r6, r5 + d498: 4640 mov r0, r8 + d49a: 4370 muls r0, r6 + d49c: 4653 mov r3, sl + d49e: 436b muls r3, r5 + d4a0: 18c0 adds r0, r0, r3 + d4a2: 210a movs r1, #10 + d4a4: 47b8 blx r7 + d4a6: 4680 mov r8, r0 int32_t cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10; - d440: 4374 muls r4, r6 - d442: 464b mov r3, r9 - d444: 435d muls r5, r3 - d446: 1960 adds r0, r4, r5 - d448: 210a movs r1, #10 - d44a: 47b8 blx r7 + d4a8: 4374 muls r4, r6 + d4aa: 464b mov r3, r9 + d4ac: 435d muls r5, r3 + d4ae: 1960 adds r0, r4, r5 + d4b0: 210a movs r1, #10 + d4b2: 47b8 blx r7 lv_coord_t xt; lv_coord_t yt; lv_area_t a; a.x1 = ((-pivot->x) * zoom) >> 8; - d44c: 9b11 ldr r3, [sp, #68] ; 0x44 - d44e: 2200 movs r2, #0 - d450: 5e9a ldrsh r2, [r3, r2] + d4b4: 9b11 ldr r3, [sp, #68] ; 0x44 + d4b6: 2200 movs r2, #0 + d4b8: 5e9a ldrsh r2, [r3, r2] a.y1 = ((-pivot->y) * zoom) >> 8; - d452: 9b11 ldr r3, [sp, #68] ; 0x44 - d454: 2702 movs r7, #2 - d456: 5fdf ldrsh r7, [r3, r7] + d4ba: 9b11 ldr r3, [sp, #68] ; 0x44 + d4bc: 2702 movs r7, #2 + d4be: 5fdf ldrsh r7, [r3, r7] a.x1 = ((-pivot->x) * zoom) >> 8; - d458: 4254 negs r4, r2 - d45a: 465b mov r3, fp - d45c: 435c muls r4, r3 - d45e: 1224 asrs r4, r4, #8 + d4c0: 4254 negs r4, r2 + d4c2: 465b mov r3, fp + d4c4: 435c muls r4, r3 + d4c6: 1224 asrs r4, r4, #8 a.x2 = ((w - pivot->x) * zoom) >> 8; a.y2 = ((h - pivot->y) * zoom) >> 8; xt = a.x1; yt = a.y1; lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - d460: b224 sxth r4, r4 - d462: 0023 movs r3, r4 - d464: 4343 muls r3, r0 - d466: 4699 mov r9, r3 + d4c8: b224 sxth r4, r4 + d4ca: 0023 movs r3, r4 + d4cc: 4343 muls r3, r0 + d4ce: 4699 mov r9, r3 a.y1 = ((-pivot->y) * zoom) >> 8; - d468: 427b negs r3, r7 - d46a: 465d mov r5, fp - d46c: 436b muls r3, r5 - d46e: 121b asrs r3, r3, #8 + d4d0: 427b negs r3, r7 + d4d2: 465d mov r5, fp + d4d4: 436b muls r3, r5 + d4d6: 121b asrs r3, r3, #8 lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - d470: b21b sxth r3, r3 - d472: 4641 mov r1, r8 - d474: 4359 muls r1, r3 - d476: b296 uxth r6, r2 - d478: 464d mov r5, r9 - d47a: 1a6d subs r5, r5, r1 - d47c: 13ed asrs r5, r5, #15 - d47e: 1975 adds r5, r6, r5 - d480: b22d sxth r5, r5 - d482: 46aa mov sl, r5 + d4d8: b21b sxth r3, r3 + d4da: 4641 mov r1, r8 + d4dc: 4359 muls r1, r3 + d4de: b296 uxth r6, r2 + d4e0: 464d mov r5, r9 + d4e2: 1a6d subs r5, r5, r1 + d4e4: 13ed asrs r5, r5, #15 + d4e6: 1975 adds r5, r6, r5 + d4e8: b22d sxth r5, r5 + d4ea: 46aa mov sl, r5 lt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - d484: 4645 mov r5, r8 - d486: 4365 muls r5, r4 - d488: 4343 muls r3, r0 - d48a: b2bc uxth r4, r7 - d48c: 9503 str r5, [sp, #12] - d48e: 18ed adds r5, r5, r3 - d490: 13ed asrs r5, r5, #15 - d492: 9401 str r4, [sp, #4] - d494: 46a4 mov ip, r4 - d496: 4465 add r5, ip - d498: b22d sxth r5, r5 + d4ec: 4645 mov r5, r8 + d4ee: 4365 muls r5, r4 + d4f0: 4343 muls r3, r0 + d4f2: b2bc uxth r4, r7 + d4f4: 9503 str r5, [sp, #12] + d4f6: 18ed adds r5, r5, r3 + d4f8: 13ed asrs r5, r5, #15 + d4fa: 9401 str r4, [sp, #4] + d4fc: 46a4 mov ip, r4 + d4fe: 4465 add r5, ip + d500: b22d sxth r5, r5 a.x2 = ((w - pivot->x) * zoom) >> 8; - d49a: 9c02 ldr r4, [sp, #8] - d49c: 1aa2 subs r2, r4, r2 - d49e: 465c mov r4, fp - d4a0: 4362 muls r2, r4 - d4a2: 1212 asrs r2, r2, #8 + d502: 9c02 ldr r4, [sp, #8] + d504: 1aa2 subs r2, r4, r2 + d506: 465c mov r4, fp + d508: 4362 muls r2, r4 + d50a: 1212 asrs r2, r2, #8 xt = a.x2; yt = a.y1; rt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - d4a4: b212 sxth r2, r2 - d4a6: 0014 movs r4, r2 - d4a8: 4344 muls r4, r0 - d4aa: 9402 str r4, [sp, #8] - d4ac: 1a61 subs r1, r4, r1 - d4ae: 13c9 asrs r1, r1, #15 - d4b0: 1871 adds r1, r6, r1 - d4b2: b209 sxth r1, r1 + d50c: b212 sxth r2, r2 + d50e: 0014 movs r4, r2 + d510: 4344 muls r4, r0 + d512: 9402 str r4, [sp, #8] + d514: 1a61 subs r1, r4, r1 + d516: 13c9 asrs r1, r1, #15 + d518: 1871 adds r1, r6, r1 + d51a: b209 sxth r1, r1 rt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - d4b4: 4644 mov r4, r8 - d4b6: 4362 muls r2, r4 - d4b8: 9204 str r2, [sp, #16] - d4ba: 4694 mov ip, r2 - d4bc: 4463 add r3, ip - d4be: 13db asrs r3, r3, #15 - d4c0: 9c01 ldr r4, [sp, #4] - d4c2: 46a4 mov ip, r4 - d4c4: 4463 add r3, ip - d4c6: b21b sxth r3, r3 + d51c: 4644 mov r4, r8 + d51e: 4362 muls r2, r4 + d520: 9204 str r2, [sp, #16] + d522: 4694 mov ip, r2 + d524: 4463 add r3, ip + d526: 13db asrs r3, r3, #15 + d528: 9c01 ldr r4, [sp, #4] + d52a: 46a4 mov ip, r4 + d52c: 4463 add r3, ip + d52e: b21b sxth r3, r3 a.y2 = ((h - pivot->y) * zoom) >> 8; - d4c8: 9c05 ldr r4, [sp, #20] - d4ca: 1be7 subs r7, r4, r7 - d4cc: 465c mov r4, fp - d4ce: 4367 muls r7, r4 - d4d0: 123f asrs r7, r7, #8 + d530: 9c05 ldr r4, [sp, #20] + d532: 1be7 subs r7, r4, r7 + d534: 465c mov r4, fp + d536: 4367 muls r7, r4 + d538: 123f asrs r7, r7, #8 xt = a.x1; yt = a.y2; lb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - d4d2: b23f sxth r7, r7 - d4d4: 4644 mov r4, r8 - d4d6: 437c muls r4, r7 - d4d8: 46a0 mov r8, r4 - d4da: 464c mov r4, r9 - d4dc: 4642 mov r2, r8 - d4de: 1aa4 subs r4, r4, r2 - d4e0: 13e2 asrs r2, r4, #15 - d4e2: 4691 mov r9, r2 - d4e4: 44b1 add r9, r6 - d4e6: 464a mov r2, r9 - d4e8: b212 sxth r2, r2 - d4ea: 4691 mov r9, r2 + d53a: b23f sxth r7, r7 + d53c: 4644 mov r4, r8 + d53e: 437c muls r4, r7 + d540: 46a0 mov r8, r4 + d542: 464c mov r4, r9 + d544: 4642 mov r2, r8 + d546: 1aa4 subs r4, r4, r2 + d548: 13e2 asrs r2, r4, #15 + d54a: 4691 mov r9, r2 + d54c: 44b1 add r9, r6 + d54e: 464a mov r2, r9 + d550: b212 sxth r2, r2 + d552: 4691 mov r9, r2 lb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - d4ec: 4378 muls r0, r7 - d4ee: 9f03 ldr r7, [sp, #12] - d4f0: 183f adds r7, r7, r0 - d4f2: 13ff asrs r7, r7, #15 - d4f4: 46e3 mov fp, ip - d4f6: 4467 add r7, ip - d4f8: b23f sxth r7, r7 + d554: 4378 muls r0, r7 + d556: 9f03 ldr r7, [sp, #12] + d558: 183f adds r7, r7, r0 + d55a: 13ff asrs r7, r7, #15 + d55c: 46e3 mov fp, ip + d55e: 4467 add r7, ip + d560: b23f sxth r7, r7 xt = a.x2; yt = a.y2; rb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - d4fa: 9a02 ldr r2, [sp, #8] - d4fc: 4644 mov r4, r8 - d4fe: 1b12 subs r2, r2, r4 - d500: 13d2 asrs r2, r2, #15 - d502: 4690 mov r8, r2 - d504: 4446 add r6, r8 - d506: b236 sxth r6, r6 + d562: 9a02 ldr r2, [sp, #8] + d564: 4644 mov r4, r8 + d566: 1b12 subs r2, r2, r4 + d568: 13d2 asrs r2, r2, #15 + d56a: 4690 mov r8, r2 + d56c: 4446 add r6, r8 + d56e: b236 sxth r6, r6 rb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - d508: 9a04 ldr r2, [sp, #16] - d50a: 4694 mov ip, r2 - d50c: 4460 add r0, ip - d50e: 13c0 asrs r0, r0, #15 - d510: 465a mov r2, fp - d512: 1814 adds r4, r2, r0 - d514: b224 sxth r4, r4 + d570: 9a04 ldr r2, [sp, #16] + d572: 4694 mov ip, r2 + d574: 4460 add r0, ip + d576: 13c0 asrs r0, r0, #15 + d578: 465a mov r2, fp + d57a: 1814 adds r4, r2, r0 + d57c: b224 sxth r4, r4 res->x1 = LV_MATH_MIN4(lb.x, lt.x, rb.x, rt.x); - d516: 4652 mov r2, sl - d518: 458a cmp sl, r1 - d51a: dd00 ble.n d51e <_lv_img_buf_get_transformed_area+0x142> - d51c: 1c0a adds r2, r1, #0 - d51e: 1c10 adds r0, r2, #0 - d520: b212 sxth r2, r2 - d522: 454a cmp r2, r9 - d524: dd00 ble.n d528 <_lv_img_buf_get_transformed_area+0x14c> - d526: 4648 mov r0, r9 - d528: 1c02 adds r2, r0, #0 - d52a: b200 sxth r0, r0 - d52c: 42b0 cmp r0, r6 - d52e: dd00 ble.n d532 <_lv_img_buf_get_transformed_area+0x156> - d530: 1c32 adds r2, r6, #0 - d532: 9800 ldr r0, [sp, #0] - d534: 8002 strh r2, [r0, #0] + d57e: 4652 mov r2, sl + d580: 458a cmp sl, r1 + d582: dd00 ble.n d586 <_lv_img_buf_get_transformed_area+0x142> + d584: 1c0a adds r2, r1, #0 + d586: 1c10 adds r0, r2, #0 + d588: b212 sxth r2, r2 + d58a: 454a cmp r2, r9 + d58c: dd00 ble.n d590 <_lv_img_buf_get_transformed_area+0x14c> + d58e: 4648 mov r0, r9 + d590: 1c02 adds r2, r0, #0 + d592: b200 sxth r0, r0 + d594: 42b0 cmp r0, r6 + d596: dd00 ble.n d59a <_lv_img_buf_get_transformed_area+0x156> + d598: 1c32 adds r2, r6, #0 + d59a: 9800 ldr r0, [sp, #0] + d59c: 8002 strh r2, [r0, #0] res->x2 = LV_MATH_MAX4(lb.x, lt.x, rb.x, rt.x); - d536: 4650 mov r0, sl - d538: 458a cmp sl, r1 - d53a: da00 bge.n d53e <_lv_img_buf_get_transformed_area+0x162> - d53c: 1c08 adds r0, r1, #0 - d53e: 1c01 adds r1, r0, #0 - d540: b200 sxth r0, r0 - d542: 4548 cmp r0, r9 - d544: da00 bge.n d548 <_lv_img_buf_get_transformed_area+0x16c> - d546: 4649 mov r1, r9 - d548: 1c0a adds r2, r1, #0 - d54a: b209 sxth r1, r1 - d54c: 42b1 cmp r1, r6 - d54e: da00 bge.n d552 <_lv_img_buf_get_transformed_area+0x176> - d550: 1c32 adds r2, r6, #0 - d552: 9900 ldr r1, [sp, #0] - d554: 808a strh r2, [r1, #4] + d59e: 4650 mov r0, sl + d5a0: 458a cmp sl, r1 + d5a2: da00 bge.n d5a6 <_lv_img_buf_get_transformed_area+0x162> + d5a4: 1c08 adds r0, r1, #0 + d5a6: 1c01 adds r1, r0, #0 + d5a8: b200 sxth r0, r0 + d5aa: 4548 cmp r0, r9 + d5ac: da00 bge.n d5b0 <_lv_img_buf_get_transformed_area+0x16c> + d5ae: 4649 mov r1, r9 + d5b0: 1c0a adds r2, r1, #0 + d5b2: b209 sxth r1, r1 + d5b4: 42b1 cmp r1, r6 + d5b6: da00 bge.n d5ba <_lv_img_buf_get_transformed_area+0x176> + d5b8: 1c32 adds r2, r6, #0 + d5ba: 9900 ldr r1, [sp, #0] + d5bc: 808a strh r2, [r1, #4] res->y1 = LV_MATH_MIN4(lb.y, lt.y, rb.y, rt.y); - d556: 1c29 adds r1, r5, #0 - d558: 429d cmp r5, r3 - d55a: dd00 ble.n d55e <_lv_img_buf_get_transformed_area+0x182> - d55c: 1c19 adds r1, r3, #0 - d55e: 1c0a adds r2, r1, #0 - d560: b209 sxth r1, r1 - d562: 42b9 cmp r1, r7 - d564: dd00 ble.n d568 <_lv_img_buf_get_transformed_area+0x18c> - d566: 1c3a adds r2, r7, #0 - d568: 1c11 adds r1, r2, #0 - d56a: b212 sxth r2, r2 - d56c: 42a2 cmp r2, r4 - d56e: dd00 ble.n d572 <_lv_img_buf_get_transformed_area+0x196> - d570: 1c21 adds r1, r4, #0 - d572: 9a00 ldr r2, [sp, #0] - d574: 8051 strh r1, [r2, #2] + d5be: 1c29 adds r1, r5, #0 + d5c0: 429d cmp r5, r3 + d5c2: dd00 ble.n d5c6 <_lv_img_buf_get_transformed_area+0x182> + d5c4: 1c19 adds r1, r3, #0 + d5c6: 1c0a adds r2, r1, #0 + d5c8: b209 sxth r1, r1 + d5ca: 42b9 cmp r1, r7 + d5cc: dd00 ble.n d5d0 <_lv_img_buf_get_transformed_area+0x18c> + d5ce: 1c3a adds r2, r7, #0 + d5d0: 1c11 adds r1, r2, #0 + d5d2: b212 sxth r2, r2 + d5d4: 42a2 cmp r2, r4 + d5d6: dd00 ble.n d5da <_lv_img_buf_get_transformed_area+0x196> + d5d8: 1c21 adds r1, r4, #0 + d5da: 9a00 ldr r2, [sp, #0] + d5dc: 8051 strh r1, [r2, #2] res->y2 = LV_MATH_MAX4(lb.y, lt.y, rb.y, rt.y); - d576: 1c2a adds r2, r5, #0 - d578: 429d cmp r5, r3 - d57a: da00 bge.n d57e <_lv_img_buf_get_transformed_area+0x1a2> - d57c: 1c1a adds r2, r3, #0 - d57e: 1c13 adds r3, r2, #0 - d580: b212 sxth r2, r2 - d582: 42ba cmp r2, r7 - d584: da00 bge.n d588 <_lv_img_buf_get_transformed_area+0x1ac> - d586: 1c3b adds r3, r7, #0 - d588: 1c1a adds r2, r3, #0 - d58a: b21b sxth r3, r3 - d58c: 42a3 cmp r3, r4 - d58e: da00 bge.n d592 <_lv_img_buf_get_transformed_area+0x1b6> - d590: 1c22 adds r2, r4, #0 - d592: 9b00 ldr r3, [sp, #0] - d594: 80da strh r2, [r3, #6] + d5de: 1c2a adds r2, r5, #0 + d5e0: 429d cmp r5, r3 + d5e2: da00 bge.n d5e6 <_lv_img_buf_get_transformed_area+0x1a2> + d5e4: 1c1a adds r2, r3, #0 + d5e6: 1c13 adds r3, r2, #0 + d5e8: b212 sxth r2, r2 + d5ea: 42ba cmp r2, r7 + d5ec: da00 bge.n d5f0 <_lv_img_buf_get_transformed_area+0x1ac> + d5ee: 1c3b adds r3, r7, #0 + d5f0: 1c1a adds r2, r3, #0 + d5f2: b21b sxth r3, r3 + d5f4: 42a3 cmp r3, r4 + d5f6: da00 bge.n d5fa <_lv_img_buf_get_transformed_area+0x1b6> + d5f8: 1c22 adds r2, r4, #0 + d5fa: 9b00 ldr r3, [sp, #0] + d5fc: 80da strh r2, [r3, #6] res->x1 = 0; res->y1 = 0; res->x2 = w; res->y2 = h; #endif } - d596: b007 add sp, #28 - d598: bc3c pop {r2, r3, r4, r5} - d59a: 4690 mov r8, r2 - d59c: 4699 mov r9, r3 - d59e: 46a2 mov sl, r4 - d5a0: 46ab mov fp, r5 - d5a2: bdf0 pop {r4, r5, r6, r7, pc} - d5a4: 00017a75 .word 0x00017a75 - d5a8: 000108cd .word 0x000108cd - -0000d5ac <_lv_img_buf_transform_anti_alias>: + d5fe: b007 add sp, #28 + d600: bc3c pop {r2, r3, r4, r5} + d602: 4690 mov r8, r2 + d604: 4699 mov r9, r3 + d606: 46a2 mov sl, r4 + d608: 46ab mov fp, r5 + d60a: bdf0 pop {r4, r5, r6, r7, pc} + d60c: 00017b05 .word 0x00017b05 + d610: 00010935 .word 0x00010935 + +0000d614 <_lv_img_buf_transform_anti_alias>: /** * Continue transformation by taking the neighbors into account * @param dsc pointer to the transformation descriptor */ bool _lv_img_buf_transform_anti_alias(lv_img_transform_dsc_t * dsc) { - d5ac: b5f0 push {r4, r5, r6, r7, lr} - d5ae: 46de mov lr, fp - d5b0: 4657 mov r7, sl - d5b2: 464e mov r6, r9 - d5b4: 4645 mov r5, r8 - d5b6: b5e0 push {r5, r6, r7, lr} - d5b8: b08b sub sp, #44 ; 0x2c - d5ba: 0004 movs r4, r0 + d614: b5f0 push {r4, r5, r6, r7, lr} + d616: 46de mov lr, fp + d618: 4657 mov r7, sl + d61a: 464e mov r6, r9 + d61c: 4645 mov r5, r8 + d61e: b5e0 push {r5, r6, r7, lr} + d620: b08b sub sp, #44 ; 0x2c + d622: 0004 movs r4, r0 const uint8_t * src_u8 = dsc->cfg.src; /*Get the fractional part of the source pixel*/ int xs_fract = dsc->tmp.xs & 0xff; - d5bc: 2338 movs r3, #56 ; 0x38 - d5be: 5ec7 ldrsh r7, [r0, r3] - d5c0: 23ff movs r3, #255 ; 0xff - d5c2: 001a movs r2, r3 - d5c4: 403a ands r2, r7 + d624: 2338 movs r3, #56 ; 0x38 + d626: 5ec7 ldrsh r7, [r0, r3] + d628: 23ff movs r3, #255 ; 0xff + d62a: 001a movs r2, r3 + d62c: 403a ands r2, r7 int ys_fract = dsc->tmp.ys & 0xff; - d5c6: 213a movs r1, #58 ; 0x3a - d5c8: 5e46 ldrsh r6, [r0, r1] - d5ca: 4033 ands r3, r6 + d62e: 213a movs r1, #58 ; 0x3a + d630: 5e46 ldrsh r6, [r0, r1] + d632: 4033 ands r3, r6 int32_t xn; /*x neightboor*/ lv_opa_t xr; /*x mix ratio*/ if(xs_fract < 0x70) { - d5cc: 2a6f cmp r2, #111 ; 0x6f - d5ce: dc7e bgt.n d6ce <_lv_img_buf_transform_anti_alias+0x122> + d634: 2a6f cmp r2, #111 ; 0x6f + d636: dc7e bgt.n d736 <_lv_img_buf_transform_anti_alias+0x122> xn = - 1; if(dsc->tmp.xs_int + xn < 0) xn = 0; - d5d0: 223c movs r2, #60 ; 0x3c - d5d2: 5e81 ldrsh r1, [r0, r2] - d5d4: 4249 negs r1, r1 - d5d6: 17c9 asrs r1, r1, #31 + d638: 223c movs r2, #60 ; 0x3c + d63a: 5e81 ldrsh r1, [r0, r2] + d63c: 4249 negs r1, r1 + d63e: 17c9 asrs r1, r1, #31 xr = xs_fract + 0x80; - d5d8: 3f80 subs r7, #128 ; 0x80 - d5da: b2ff uxtb r7, r7 + d640: 3f80 subs r7, #128 ; 0x80 + d642: b2ff uxtb r7, r7 } int32_t yn; /*x neightboor*/ lv_opa_t yr; /*x mix ratio*/ if(ys_fract < 0x70) { - d5dc: 2b6f cmp r3, #111 ; 0x6f - d5de: dd00 ble.n d5e2 <_lv_img_buf_transform_anti_alias+0x36> - d5e0: e087 b.n d6f2 <_lv_img_buf_transform_anti_alias+0x146> + d644: 2b6f cmp r3, #111 ; 0x6f + d646: dd00 ble.n d64a <_lv_img_buf_transform_anti_alias+0x36> + d648: e087 b.n d75a <_lv_img_buf_transform_anti_alias+0x146> yn = - 1; if(dsc->tmp.ys_int + yn < 0) yn = 0; - d5e2: 233e movs r3, #62 ; 0x3e - d5e4: 5ee2 ldrsh r2, [r4, r3] - d5e6: 4252 negs r2, r2 - d5e8: 17d3 asrs r3, r2, #31 - d5ea: 4698 mov r8, r3 + d64a: 233e movs r3, #62 ; 0x3e + d64c: 5ee2 ldrsh r2, [r4, r3] + d64e: 4252 negs r2, r2 + d650: 17d3 asrs r3, r2, #31 + d652: 4698 mov r8, r3 yr = ys_fract + 0x80; - d5ec: 3e80 subs r6, #128 ; 0x80 - d5ee: b2f6 uxtb r6, r6 + d654: 3e80 subs r6, #128 ; 0x80 + d656: b2f6 uxtb r6, r6 else { yn = 0; yr = 0xFF; } lv_color_t c00 = dsc->res.color; - d5f0: 7d25 ldrb r5, [r4, #20] - d5f2: 06ed lsls r5, r5, #27 - d5f4: 0eeb lsrs r3, r5, #27 - d5f6: 9300 str r3, [sp, #0] - d5f8: 8aa3 ldrh r3, [r4, #20] - d5fa: 055b lsls r3, r3, #21 - d5fc: 0e9b lsrs r3, r3, #26 - d5fe: 9301 str r3, [sp, #4] - d600: 7d63 ldrb r3, [r4, #21] - d602: 08db lsrs r3, r3, #3 - d604: 9302 str r3, [sp, #8] + d658: 7d25 ldrb r5, [r4, #20] + d65a: 06ed lsls r5, r5, #27 + d65c: 0eeb lsrs r3, r5, #27 + d65e: 9300 str r3, [sp, #0] + d660: 8aa3 ldrh r3, [r4, #20] + d662: 055b lsls r3, r3, #21 + d664: 0e9b lsrs r3, r3, #26 + d666: 9301 str r3, [sp, #4] + d668: 7d63 ldrb r3, [r4, #21] + d66a: 08db lsrs r3, r3, #3 + d66c: 9302 str r3, [sp, #8] lv_color_t c01; lv_color_t c10; lv_color_t c11; lv_opa_t a00 = dsc->res.opa; - d606: 7da3 ldrb r3, [r4, #22] - d608: 9303 str r3, [sp, #12] + d66e: 7da3 ldrb r3, [r4, #22] + d670: 9303 str r3, [sp, #12] lv_opa_t a10 = 0; lv_opa_t a01 = 0; lv_opa_t a11 = 0; if(dsc->tmp.native_color) { - d60a: 2334 movs r3, #52 ; 0x34 - d60c: 5ce3 ldrb r3, [r4, r3] - d60e: 4699 mov r9, r3 - d610: 075b lsls r3, r3, #29 - d612: d400 bmi.n d616 <_lv_img_buf_transform_anti_alias+0x6a> - d614: e081 b.n d71a <_lv_img_buf_transform_anti_alias+0x16e> + d672: 2334 movs r3, #52 ; 0x34 + d674: 5ce3 ldrb r3, [r4, r3] + d676: 4699 mov r9, r3 + d678: 075b lsls r3, r3, #29 + d67a: d400 bmi.n d67e <_lv_img_buf_transform_anti_alias+0x6a> + d67c: e081 b.n d782 <_lv_img_buf_transform_anti_alias+0x16e> const uint8_t * src_u8 = dsc->cfg.src; - d616: 6823 ldr r3, [r4, #0] + d67e: 6823 ldr r3, [r4, #0] _lv_memcpy_small(&c01, &src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn], sizeof(lv_color_t)); - d618: 2244 movs r2, #68 ; 0x44 - d61a: 5ca2 ldrb r2, [r4, r2] - d61c: 4694 mov ip, r2 - d61e: 4351 muls r1, r2 - d620: 6c22 ldr r2, [r4, #64] ; 0x40 - d622: 4692 mov sl, r2 - d624: 4451 add r1, sl - d626: 1858 adds r0, r3, r1 - d628: aa09 add r2, sp, #36 ; 0x24 - d62a: 7805 ldrb r5, [r0, #0] - d62c: 7015 strb r5, [r2, #0] - d62e: 7840 ldrb r0, [r0, #1] - d630: 7050 strb r0, [r2, #1] + d680: 2244 movs r2, #68 ; 0x44 + d682: 5ca2 ldrb r2, [r4, r2] + d684: 4694 mov ip, r2 + d686: 4351 muls r1, r2 + d688: 6c22 ldr r2, [r4, #64] ; 0x40 + d68a: 4692 mov sl, r2 + d68c: 4451 add r1, sl + d68e: 1858 adds r0, r3, r1 + d690: aa09 add r2, sp, #36 ; 0x24 + d692: 7805 ldrb r5, [r0, #0] + d694: 7015 strb r5, [r2, #0] + d696: 7840 ldrb r0, [r0, #1] + d698: 7050 strb r0, [r2, #1] _lv_memcpy_small(&c10, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn], sizeof(lv_color_t)); - d632: 2004 movs r0, #4 - d634: 5e22 ldrsh r2, [r4, r0] - d636: 4660 mov r0, ip - d638: 4342 muls r2, r0 - d63a: 4640 mov r0, r8 - d63c: 4350 muls r0, r2 - d63e: 0002 movs r2, r0 - d640: 6c20 ldr r0, [r4, #64] ; 0x40 - d642: 4680 mov r8, r0 - d644: 4490 add r8, r2 - d646: 469a mov sl, r3 - d648: 44c2 add sl, r8 - d64a: a808 add r0, sp, #32 - d64c: 4655 mov r5, sl - d64e: 782d ldrb r5, [r5, #0] - d650: 7005 strb r5, [r0, #0] - d652: 4655 mov r5, sl - d654: 786d ldrb r5, [r5, #1] - d656: 7045 strb r5, [r0, #1] + d69a: 2004 movs r0, #4 + d69c: 5e22 ldrsh r2, [r4, r0] + d69e: 4660 mov r0, ip + d6a0: 4342 muls r2, r0 + d6a2: 4640 mov r0, r8 + d6a4: 4350 muls r0, r2 + d6a6: 0002 movs r2, r0 + d6a8: 6c20 ldr r0, [r4, #64] ; 0x40 + d6aa: 4680 mov r8, r0 + d6ac: 4490 add r8, r2 + d6ae: 469a mov sl, r3 + d6b0: 44c2 add sl, r8 + d6b2: a808 add r0, sp, #32 + d6b4: 4655 mov r5, sl + d6b6: 782d ldrb r5, [r5, #0] + d6b8: 7005 strb r5, [r0, #0] + d6ba: 4655 mov r5, sl + d6bc: 786d ldrb r5, [r5, #1] + d6be: 7045 strb r5, [r0, #1] _lv_memcpy_small(&c11, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn], - d658: 188a adds r2, r1, r2 - d65a: 1898 adds r0, r3, r2 - d65c: 4682 mov sl, r0 - d65e: a807 add r0, sp, #28 - d660: 4655 mov r5, sl - d662: 782d ldrb r5, [r5, #0] - d664: 7005 strb r5, [r0, #0] - d666: 4655 mov r5, sl - d668: 786d ldrb r5, [r5, #1] - d66a: 7045 strb r5, [r0, #1] + d6c0: 188a adds r2, r1, r2 + d6c2: 1898 adds r0, r3, r2 + d6c4: 4682 mov sl, r0 + d6c6: a807 add r0, sp, #28 + d6c8: 4655 mov r5, sl + d6ca: 782d ldrb r5, [r5, #0] + d6cc: 7005 strb r5, [r0, #0] + d6ce: 4655 mov r5, sl + d6d0: 786d ldrb r5, [r5, #1] + d6d2: 7045 strb r5, [r0, #1] sizeof(lv_color_t)); if(dsc->tmp.has_alpha) { - d66c: 4648 mov r0, r9 - d66e: 0780 lsls r0, r0, #30 - d670: d400 bmi.n d674 <_lv_img_buf_transform_anti_alias+0xc8> - d672: e084 b.n d77e <_lv_img_buf_transform_anti_alias+0x1d2> - d674: 4660 mov r0, ip - d676: 3801 subs r0, #1 + d6d4: 4648 mov r0, r9 + d6d6: 0780 lsls r0, r0, #30 + d6d8: d400 bmi.n d6dc <_lv_img_buf_transform_anti_alias+0xc8> + d6da: e084 b.n d7e6 <_lv_img_buf_transform_anti_alias+0x1d2> + d6dc: 4660 mov r0, ip + d6de: 3801 subs r0, #1 a10 = src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1]; - d678: 181b adds r3, r3, r0 - d67a: 5c59 ldrb r1, [r3, r1] - d67c: 4689 mov r9, r1 + d6e0: 181b adds r3, r3, r0 + d6e2: 5c59 ldrb r1, [r3, r1] + d6e4: 4689 mov r9, r1 a01 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size - 1]; - d67e: 4641 mov r1, r8 - d680: 5c59 ldrb r1, [r3, r1] - d682: 468a mov sl, r1 + d6e6: 4641 mov r1, r8 + d6e8: 5c59 ldrb r1, [r3, r1] + d6ea: 468a mov sl, r1 a11 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1]; - d684: 5c98 ldrb r0, [r3, r2] + d6ec: 5c98 ldrb r0, [r3, r2] } lv_opa_t xr0 = xr; lv_opa_t xr1 = xr; if(dsc->tmp.has_alpha) { lv_opa_t a0 = (a00 * xr + (a10 * (255 - xr))) >> 8; - d686: 21ff movs r1, #255 ; 0xff - d688: 1bcb subs r3, r1, r7 - d68a: 464a mov r2, r9 - d68c: 435a muls r2, r3 - d68e: 4694 mov ip, r2 - d690: 9a03 ldr r2, [sp, #12] - d692: 437a muls r2, r7 - d694: 4462 add r2, ip - d696: 1212 asrs r2, r2, #8 + d6ee: 21ff movs r1, #255 ; 0xff + d6f0: 1bcb subs r3, r1, r7 + d6f2: 464a mov r2, r9 + d6f4: 435a muls r2, r3 + d6f6: 4694 mov ip, r2 + d6f8: 9a03 ldr r2, [sp, #12] + d6fa: 437a muls r2, r7 + d6fc: 4462 add r2, ip + d6fe: 1212 asrs r2, r2, #8 lv_opa_t a1 = (a01 * xr + (a11 * (255 - xr))) >> 8; - d698: 4343 muls r3, r0 - d69a: 4655 mov r5, sl - d69c: 437d muls r5, r7 - d69e: 46ac mov ip, r5 - d6a0: 4463 add r3, ip - d6a2: 121b asrs r3, r3, #8 - d6a4: b2dd uxtb r5, r3 - d6a6: 46ac mov ip, r5 + d700: 4343 muls r3, r0 + d702: 4655 mov r5, sl + d704: 437d muls r5, r7 + d706: 46ac mov ip, r5 + d708: 4463 add r3, ip + d70a: 121b asrs r3, r3, #8 + d70c: b2dd uxtb r5, r3 + d70e: 46ac mov ip, r5 dsc->res.opa = (a0 * yr + (a1 * (255 - yr))) >> 8; - d6a8: 400b ands r3, r1 - d6aa: 1b8d subs r5, r1, r6 - d6ac: 436b muls r3, r5 - d6ae: 4011 ands r1, r2 - d6b0: 4371 muls r1, r6 - d6b2: 185b adds r3, r3, r1 - d6b4: 121b asrs r3, r3, #8 - d6b6: 75a3 strb r3, [r4, #22] + d710: 400b ands r3, r1 + d712: 1b8d subs r5, r1, r6 + d714: 436b muls r3, r5 + d716: 4011 ands r1, r2 + d718: 4371 muls r1, r6 + d71a: 185b adds r3, r3, r1 + d71c: 121b asrs r3, r3, #8 + d71e: 75a3 strb r3, [r4, #22] if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false; - d6b8: b2d2 uxtb r2, r2 - d6ba: 2a05 cmp r2, #5 - d6bc: d900 bls.n d6c0 <_lv_img_buf_transform_anti_alias+0x114> - d6be: e0dc b.n d87a <_lv_img_buf_transform_anti_alias+0x2ce> - d6c0: 2300 movs r3, #0 - d6c2: 4662 mov r2, ip + d720: b2d2 uxtb r2, r2 + d722: 2a05 cmp r2, #5 + d724: d900 bls.n d728 <_lv_img_buf_transform_anti_alias+0x114> + d726: e0dc b.n d8e2 <_lv_img_buf_transform_anti_alias+0x2ce> + d728: 2300 movs r3, #0 + d72a: 4662 mov r2, ip if(a0 <= LV_OPA_MIN) yr = LV_OPA_TRANSP; - d6c4: 2600 movs r6, #0 + d72c: 2600 movs r6, #0 if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false; - d6c6: 2a05 cmp r2, #5 - d6c8: d900 bls.n d6cc <_lv_img_buf_transform_anti_alias+0x120> - d6ca: e0da b.n d882 <_lv_img_buf_transform_anti_alias+0x2d6> - d6cc: e0ab b.n d826 <_lv_img_buf_transform_anti_alias+0x27a> + d72e: 2a05 cmp r2, #5 + d730: d900 bls.n d734 <_lv_img_buf_transform_anti_alias+0x120> + d732: e0da b.n d8ea <_lv_img_buf_transform_anti_alias+0x2d6> + d734: e0ab b.n d88e <_lv_img_buf_transform_anti_alias+0x27a> else if(xs_fract > 0x90) { - d6ce: 2a90 cmp r2, #144 ; 0x90 - d6d0: dd0c ble.n d6ec <_lv_img_buf_transform_anti_alias+0x140> + d736: 2a90 cmp r2, #144 ; 0x90 + d738: dd0c ble.n d754 <_lv_img_buf_transform_anti_alias+0x140> if(dsc->tmp.xs_int + xn >= dsc->cfg.src_w) xn = 0; - d6d2: 213c movs r1, #60 ; 0x3c - d6d4: 5e42 ldrsh r2, [r0, r1] - d6d6: 3201 adds r2, #1 - d6d8: 2104 movs r1, #4 - d6da: 5e40 ldrsh r0, [r0, r1] - d6dc: 2101 movs r1, #1 - d6de: 4282 cmp r2, r0 - d6e0: db00 blt.n d6e4 <_lv_img_buf_transform_anti_alias+0x138> - d6e2: 2100 movs r1, #0 + d73a: 213c movs r1, #60 ; 0x3c + d73c: 5e42 ldrsh r2, [r0, r1] + d73e: 3201 adds r2, #1 + d740: 2104 movs r1, #4 + d742: 5e40 ldrsh r0, [r0, r1] + d744: 2101 movs r1, #1 + d746: 4282 cmp r2, r0 + d748: db00 blt.n d74c <_lv_img_buf_transform_anti_alias+0x138> + d74a: 2100 movs r1, #0 xr = (0xFF - xs_fract) + 0x80; - d6e4: 227f movs r2, #127 ; 0x7f - d6e6: 1bd7 subs r7, r2, r7 - d6e8: b2ff uxtb r7, r7 - d6ea: e777 b.n d5dc <_lv_img_buf_transform_anti_alias+0x30> + d74c: 227f movs r2, #127 ; 0x7f + d74e: 1bd7 subs r7, r2, r7 + d750: b2ff uxtb r7, r7 + d752: e777 b.n d644 <_lv_img_buf_transform_anti_alias+0x30> xr = 0xFF; - d6ec: 27ff movs r7, #255 ; 0xff + d754: 27ff movs r7, #255 ; 0xff xn = 0; - d6ee: 2100 movs r1, #0 - d6f0: e774 b.n d5dc <_lv_img_buf_transform_anti_alias+0x30> + d756: 2100 movs r1, #0 + d758: e774 b.n d644 <_lv_img_buf_transform_anti_alias+0x30> else if(ys_fract > 0x90) { - d6f2: 2b90 cmp r3, #144 ; 0x90 - d6f4: dd0d ble.n d712 <_lv_img_buf_transform_anti_alias+0x166> + d75a: 2b90 cmp r3, #144 ; 0x90 + d75c: dd0d ble.n d77a <_lv_img_buf_transform_anti_alias+0x166> if(dsc->tmp.ys_int + yn >= dsc->cfg.src_h) yn = 0; - d6f6: 223e movs r2, #62 ; 0x3e - d6f8: 5ea3 ldrsh r3, [r4, r2] - d6fa: 3301 adds r3, #1 - d6fc: 2206 movs r2, #6 - d6fe: 5ea0 ldrsh r0, [r4, r2] - d700: 2201 movs r2, #1 - d702: 4283 cmp r3, r0 - d704: db00 blt.n d708 <_lv_img_buf_transform_anti_alias+0x15c> - d706: 2200 movs r2, #0 + d75e: 223e movs r2, #62 ; 0x3e + d760: 5ea3 ldrsh r3, [r4, r2] + d762: 3301 adds r3, #1 + d764: 2206 movs r2, #6 + d766: 5ea0 ldrsh r0, [r4, r2] + d768: 2201 movs r2, #1 + d76a: 4283 cmp r3, r0 + d76c: db00 blt.n d770 <_lv_img_buf_transform_anti_alias+0x15c> + d76e: 2200 movs r2, #0 yn = 1; - d708: 4690 mov r8, r2 + d770: 4690 mov r8, r2 yr = (0xFF - ys_fract) + 0x80; - d70a: 237f movs r3, #127 ; 0x7f - d70c: 1b9e subs r6, r3, r6 - d70e: b2f6 uxtb r6, r6 - d710: e76e b.n d5f0 <_lv_img_buf_transform_anti_alias+0x44> + d772: 237f movs r3, #127 ; 0x7f + d774: 1b9e subs r6, r3, r6 + d776: b2f6 uxtb r6, r6 + d778: e76e b.n d658 <_lv_img_buf_transform_anti_alias+0x44> yr = 0xFF; - d712: 26ff movs r6, #255 ; 0xff + d77a: 26ff movs r6, #255 ; 0xff yn = 0; - d714: 2300 movs r3, #0 - d716: 4698 mov r8, r3 - d718: e76a b.n d5f0 <_lv_img_buf_transform_anti_alias+0x44> + d77c: 2300 movs r3, #0 + d77e: 4698 mov r8, r3 + d780: e76a b.n d658 <_lv_img_buf_transform_anti_alias+0x44> c01 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int, dsc->cfg.color); - d71a: 2318 movs r3, #24 - d71c: 469c mov ip, r3 - d71e: 44a4 add ip, r4 - d720: 4665 mov r5, ip - d722: b28b uxth r3, r1 - d724: 469b mov fp, r3 - d726: 8a23 ldrh r3, [r4, #16] - d728: 213e movs r1, #62 ; 0x3e - d72a: 5e62 ldrsh r2, [r4, r1] - d72c: 8fa1 ldrh r1, [r4, #60] ; 0x3c - d72e: 4459 add r1, fp - d730: b209 sxth r1, r1 - d732: 9504 str r5, [sp, #16] - d734: 4660 mov r0, ip - d736: 4daf ldr r5, [pc, #700] ; (d9f4 <_lv_img_buf_transform_anti_alias+0x448>) - d738: 46a9 mov r9, r5 - d73a: 47a8 blx r5 - d73c: ab09 add r3, sp, #36 ; 0x24 - d73e: 8018 strh r0, [r3, #0] + d782: 2318 movs r3, #24 + d784: 469c mov ip, r3 + d786: 44a4 add ip, r4 + d788: 4665 mov r5, ip + d78a: b28b uxth r3, r1 + d78c: 469b mov fp, r3 + d78e: 8a23 ldrh r3, [r4, #16] + d790: 213e movs r1, #62 ; 0x3e + d792: 5e62 ldrsh r2, [r4, r1] + d794: 8fa1 ldrh r1, [r4, #60] ; 0x3c + d796: 4459 add r1, fp + d798: b209 sxth r1, r1 + d79a: 9504 str r5, [sp, #16] + d79c: 4660 mov r0, ip + d79e: 4daf ldr r5, [pc, #700] ; (da5c <_lv_img_buf_transform_anti_alias+0x448>) + d7a0: 46a9 mov r9, r5 + d7a2: 47a8 blx r5 + d7a4: ab09 add r3, sp, #36 ; 0x24 + d7a6: 8018 strh r0, [r3, #0] c10 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn, dsc->cfg.color); - d740: 4642 mov r2, r8 - d742: 466b mov r3, sp - d744: 82da strh r2, [r3, #22] - d746: b292 uxth r2, r2 - d748: 4690 mov r8, r2 - d74a: 8a23 ldrh r3, [r4, #16] - d74c: 8fe2 ldrh r2, [r4, #62] ; 0x3e - d74e: 4442 add r2, r8 - d750: b212 sxth r2, r2 - d752: 203c movs r0, #60 ; 0x3c - d754: 5e21 ldrsh r1, [r4, r0] - d756: 9d04 ldr r5, [sp, #16] - d758: 0028 movs r0, r5 - d75a: 47c8 blx r9 - d75c: ab08 add r3, sp, #32 - d75e: 8018 strh r0, [r3, #0] + d7a8: 4642 mov r2, r8 + d7aa: 466b mov r3, sp + d7ac: 82da strh r2, [r3, #22] + d7ae: b292 uxth r2, r2 + d7b0: 4690 mov r8, r2 + d7b2: 8a23 ldrh r3, [r4, #16] + d7b4: 8fe2 ldrh r2, [r4, #62] ; 0x3e + d7b6: 4442 add r2, r8 + d7b8: b212 sxth r2, r2 + d7ba: 203c movs r0, #60 ; 0x3c + d7bc: 5e21 ldrsh r1, [r4, r0] + d7be: 9d04 ldr r5, [sp, #16] + d7c0: 0028 movs r0, r5 + d7c2: 47c8 blx r9 + d7c4: ab08 add r3, sp, #32 + d7c6: 8018 strh r0, [r3, #0] c11 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn, dsc->cfg.color); - d760: 8a23 ldrh r3, [r4, #16] - d762: 8fe2 ldrh r2, [r4, #62] ; 0x3e - d764: 4442 add r2, r8 - d766: b212 sxth r2, r2 - d768: 8fa1 ldrh r1, [r4, #60] ; 0x3c - d76a: 4459 add r1, fp - d76c: b209 sxth r1, r1 - d76e: 0028 movs r0, r5 - d770: 47c8 blx r9 - d772: ab07 add r3, sp, #28 - d774: 8018 strh r0, [r3, #0] + d7c8: 8a23 ldrh r3, [r4, #16] + d7ca: 8fe2 ldrh r2, [r4, #62] ; 0x3e + d7cc: 4442 add r2, r8 + d7ce: b212 sxth r2, r2 + d7d0: 8fa1 ldrh r1, [r4, #60] ; 0x3c + d7d2: 4459 add r1, fp + d7d4: b209 sxth r1, r1 + d7d6: 0028 movs r0, r5 + d7d8: 47c8 blx r9 + d7da: ab07 add r3, sp, #28 + d7dc: 8018 strh r0, [r3, #0] if(dsc->tmp.has_alpha) { - d776: 2334 movs r3, #52 ; 0x34 - d778: 5ce3 ldrb r3, [r4, r3] - d77a: 079b lsls r3, r3, #30 - d77c: d45b bmi.n d836 <_lv_img_buf_transform_anti_alias+0x28a> + d7de: 2334 movs r3, #52 ; 0x34 + d7e0: 5ce3 ldrb r3, [r4, r3] + d7e2: 079b lsls r3, r3, #30 + d7e4: d45b bmi.n d89e <_lv_img_buf_transform_anti_alias+0x28a> if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER; } else { xr0 = xr; xr1 = xr; dsc->res.opa = LV_OPA_COVER; - d77e: 23ff movs r3, #255 ; 0xff - d780: 75a3 strb r3, [r4, #22] + d7e6: 23ff movs r3, #255 ; 0xff + d7e8: 75a3 strb r3, [r4, #22] xr0 = xr; - d782: 003b movs r3, r7 + d7ea: 003b movs r3, r7 } lv_color_t c0; if(xr0 == LV_OPA_TRANSP) c0 = c01; - d784: 2b00 cmp r3, #0 - d786: d000 beq.n d78a <_lv_img_buf_transform_anti_alias+0x1de> - d788: e08d b.n d8a6 <_lv_img_buf_transform_anti_alias+0x2fa> - d78a: ab09 add r3, sp, #36 ; 0x24 - d78c: 781d ldrb r5, [r3, #0] - d78e: 06ed lsls r5, r5, #27 - d790: 0eea lsrs r2, r5, #27 - d792: 9200 str r2, [sp, #0] - d794: 881a ldrh r2, [r3, #0] - d796: 0552 lsls r2, r2, #21 - d798: 0e92 lsrs r2, r2, #26 - d79a: 9201 str r2, [sp, #4] - d79c: 785b ldrb r3, [r3, #1] - d79e: 08db lsrs r3, r3, #3 - d7a0: 9302 str r3, [sp, #8] + d7ec: 2b00 cmp r3, #0 + d7ee: d000 beq.n d7f2 <_lv_img_buf_transform_anti_alias+0x1de> + d7f0: e08d b.n d90e <_lv_img_buf_transform_anti_alias+0x2fa> + d7f2: ab09 add r3, sp, #36 ; 0x24 + d7f4: 781d ldrb r5, [r3, #0] + d7f6: 06ed lsls r5, r5, #27 + d7f8: 0eea lsrs r2, r5, #27 + d7fa: 9200 str r2, [sp, #0] + d7fc: 881a ldrh r2, [r3, #0] + d7fe: 0552 lsls r2, r2, #21 + d800: 0e92 lsrs r2, r2, #26 + d802: 9201 str r2, [sp, #4] + d804: 785b ldrb r3, [r3, #1] + d806: 08db lsrs r3, r3, #3 + d808: 9302 str r3, [sp, #8] else if(xr0 == LV_OPA_COVER) c0 = c00; else c0 = lv_color_mix(c00, c01, xr0); lv_color_t c1; if(xr1 == LV_OPA_TRANSP) c1 = c11; - d7a2: 2f00 cmp r7, #0 - d7a4: d000 beq.n d7a8 <_lv_img_buf_transform_anti_alias+0x1fc> - d7a6: e0b7 b.n d918 <_lv_img_buf_transform_anti_alias+0x36c> - d7a8: aa07 add r2, sp, #28 - d7aa: 7817 ldrb r7, [r2, #0] - d7ac: 06ff lsls r7, r7, #27 - d7ae: 0eff lsrs r7, r7, #27 - d7b0: 8813 ldrh r3, [r2, #0] - d7b2: 055b lsls r3, r3, #21 - d7b4: 0e9b lsrs r3, r3, #26 - d7b6: 7852 ldrb r2, [r2, #1] - d7b8: 08d2 lsrs r2, r2, #3 + d80a: 2f00 cmp r7, #0 + d80c: d000 beq.n d810 <_lv_img_buf_transform_anti_alias+0x1fc> + d80e: e0b7 b.n d980 <_lv_img_buf_transform_anti_alias+0x36c> + d810: aa07 add r2, sp, #28 + d812: 7817 ldrb r7, [r2, #0] + d814: 06ff lsls r7, r7, #27 + d816: 0eff lsrs r7, r7, #27 + d818: 8813 ldrh r3, [r2, #0] + d81a: 055b lsls r3, r3, #21 + d81c: 0e9b lsrs r3, r3, #26 + d81e: 7852 ldrb r2, [r2, #1] + d820: 08d2 lsrs r2, r2, #3 else if(xr1 == LV_OPA_COVER) c1 = c10; else c1 = lv_color_mix(c10, c11, xr1); if(yr == LV_OPA_TRANSP) dsc->res.color = c1; - d7ba: 2e00 cmp r6, #0 - d7bc: d100 bne.n d7c0 <_lv_img_buf_transform_anti_alias+0x214> - d7be: e0f1 b.n d9a4 <_lv_img_buf_transform_anti_alias+0x3f8> + d822: 2e00 cmp r6, #0 + d824: d100 bne.n d828 <_lv_img_buf_transform_anti_alias+0x214> + d826: e0f1 b.n da0c <_lv_img_buf_transform_anti_alias+0x3f8> else if(yr == LV_OPA_COVER) dsc->res.color = c0; - d7c0: 2eff cmp r6, #255 ; 0xff - d7c2: d100 bne.n d7c6 <_lv_img_buf_transform_anti_alias+0x21a> - d7c4: e100 b.n d9c8 <_lv_img_buf_transform_anti_alias+0x41c> + d828: 2eff cmp r6, #255 ; 0xff + d82a: d100 bne.n d82e <_lv_img_buf_transform_anti_alias+0x21a> + d82c: e100 b.n da30 <_lv_img_buf_transform_anti_alias+0x41c> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - d7c6: 21ff movs r1, #255 ; 0xff - d7c8: 1b89 subs r1, r1, r6 + d82e: 21ff movs r1, #255 ; 0xff + d830: 1b89 subs r1, r1, r6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - d7ca: 9d00 ldr r5, [sp, #0] - d7cc: 4375 muls r5, r6 - d7ce: 434f muls r7, r1 - d7d0: 19ef adds r7, r5, r7 - d7d2: 023d lsls r5, r7, #8 - d7d4: 19ed adds r5, r5, r7 - d7d6: 01ed lsls r5, r5, #7 - d7d8: 19ed adds r5, r5, r7 + d832: 9d00 ldr r5, [sp, #0] + d834: 4375 muls r5, r6 + d836: 434f muls r7, r1 + d838: 19ef adds r7, r5, r7 + d83a: 023d lsls r5, r7, #8 + d83c: 19ed adds r5, r5, r7 + d83e: 01ed lsls r5, r5, #7 + d840: 19ed adds r5, r5, r7 else dsc->res.color = lv_color_mix(c0, c1, yr); - d7da: 012d lsls r5, r5, #4 - d7dc: 0eed lsrs r5, r5, #27 - d7de: 7d20 ldrb r0, [r4, #20] - d7e0: 271f movs r7, #31 - d7e2: 43b8 bics r0, r7 - d7e4: 4305 orrs r5, r0 - d7e6: 7525 strb r5, [r4, #20] + d842: 012d lsls r5, r5, #4 + d844: 0eed lsrs r5, r5, #27 + d846: 7d20 ldrb r0, [r4, #20] + d848: 271f movs r7, #31 + d84a: 43b8 bics r0, r7 + d84c: 4305 orrs r5, r0 + d84e: 7525 strb r5, [r4, #20] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - d7e8: 9801 ldr r0, [sp, #4] - d7ea: 4370 muls r0, r6 - d7ec: 434b muls r3, r1 - d7ee: 18c0 adds r0, r0, r3 - d7f0: 0203 lsls r3, r0, #8 - d7f2: 181b adds r3, r3, r0 - d7f4: 01db lsls r3, r3, #7 - d7f6: 181b adds r3, r3, r0 - d7f8: 00db lsls r3, r3, #3 - d7fa: 0e9b lsrs r3, r3, #26 - d7fc: 015b lsls r3, r3, #5 - d7fe: 8aa0 ldrh r0, [r4, #20] - d800: 4d7d ldr r5, [pc, #500] ; (d9f8 <_lv_img_buf_transform_anti_alias+0x44c>) - d802: 4028 ands r0, r5 - d804: 4303 orrs r3, r0 - d806: 82a3 strh r3, [r4, #20] + d850: 9801 ldr r0, [sp, #4] + d852: 4370 muls r0, r6 + d854: 434b muls r3, r1 + d856: 18c0 adds r0, r0, r3 + d858: 0203 lsls r3, r0, #8 + d85a: 181b adds r3, r3, r0 + d85c: 01db lsls r3, r3, #7 + d85e: 181b adds r3, r3, r0 + d860: 00db lsls r3, r3, #3 + d862: 0e9b lsrs r3, r3, #26 + d864: 015b lsls r3, r3, #5 + d866: 8aa0 ldrh r0, [r4, #20] + d868: 4d7d ldr r5, [pc, #500] ; (da60 <_lv_img_buf_transform_anti_alias+0x44c>) + d86a: 4028 ands r0, r5 + d86c: 4303 orrs r3, r0 + d86e: 82a3 strh r3, [r4, #20] LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - d808: 9802 ldr r0, [sp, #8] - d80a: 4346 muls r6, r0 - d80c: 434a muls r2, r1 - d80e: 18b6 adds r6, r6, r2 - d810: 0232 lsls r2, r6, #8 - d812: 1992 adds r2, r2, r6 - d814: 01d2 lsls r2, r2, #7 - d816: 1996 adds r6, r2, r6 - d818: 0df6 lsrs r6, r6, #23 - d81a: 00f6 lsls r6, r6, #3 - d81c: 055b lsls r3, r3, #21 - d81e: 0f5b lsrs r3, r3, #29 - d820: 431e orrs r6, r3 - d822: 7566 strb r6, [r4, #21] + d870: 9802 ldr r0, [sp, #8] + d872: 4346 muls r6, r0 + d874: 434a muls r2, r1 + d876: 18b6 adds r6, r6, r2 + d878: 0232 lsls r2, r6, #8 + d87a: 1992 adds r2, r2, r6 + d87c: 01d2 lsls r2, r2, #7 + d87e: 1996 adds r6, r2, r6 + d880: 0df6 lsrs r6, r6, #23 + d882: 00f6 lsls r6, r6, #3 + d884: 055b lsls r3, r3, #21 + d886: 0f5b lsrs r3, r3, #29 + d888: 431e orrs r6, r3 + d88a: 7566 strb r6, [r4, #21] return true; - d824: 2301 movs r3, #1 -} - d826: 0018 movs r0, r3 - d828: b00b add sp, #44 ; 0x2c - d82a: bc3c pop {r2, r3, r4, r5} - d82c: 4690 mov r8, r2 - d82e: 4699 mov r9, r3 - d830: 46a2 mov sl, r4 - d832: 46ab mov fp, r5 - d834: bdf0 pop {r4, r5, r6, r7, pc} + d88c: 2301 movs r3, #1 +} + d88e: 0018 movs r0, r3 + d890: b00b add sp, #44 ; 0x2c + d892: bc3c pop {r2, r3, r4, r5} + d894: 4690 mov r8, r2 + d896: 4699 mov r9, r3 + d898: 46a2 mov sl, r4 + d89a: 46ab mov fp, r5 + d89c: bdf0 pop {r4, r5, r6, r7, pc} a10 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int); - d836: 233e movs r3, #62 ; 0x3e - d838: 5ee2 ldrsh r2, [r4, r3] - d83a: 8fa1 ldrh r1, [r4, #60] ; 0x3c - d83c: 4459 add r1, fp - d83e: b209 sxth r1, r1 - d840: 9d04 ldr r5, [sp, #16] - d842: 0028 movs r0, r5 - d844: 4b6d ldr r3, [pc, #436] ; (d9fc <_lv_img_buf_transform_anti_alias+0x450>) - d846: 4798 blx r3 - d848: 4681 mov r9, r0 + d89e: 233e movs r3, #62 ; 0x3e + d8a0: 5ee2 ldrsh r2, [r4, r3] + d8a2: 8fa1 ldrh r1, [r4, #60] ; 0x3c + d8a4: 4459 add r1, fp + d8a6: b209 sxth r1, r1 + d8a8: 9d04 ldr r5, [sp, #16] + d8aa: 0028 movs r0, r5 + d8ac: 4b6d ldr r3, [pc, #436] ; (da64 <_lv_img_buf_transform_anti_alias+0x450>) + d8ae: 4798 blx r3 + d8b0: 4681 mov r9, r0 a01 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn); - d84a: 8fe2 ldrh r2, [r4, #62] ; 0x3e - d84c: 4442 add r2, r8 - d84e: b212 sxth r2, r2 - d850: 233c movs r3, #60 ; 0x3c - d852: 5ee1 ldrsh r1, [r4, r3] - d854: 0028 movs r0, r5 - d856: 4b69 ldr r3, [pc, #420] ; (d9fc <_lv_img_buf_transform_anti_alias+0x450>) - d858: 4798 blx r3 - d85a: 4682 mov sl, r0 + d8b2: 8fe2 ldrh r2, [r4, #62] ; 0x3e + d8b4: 4442 add r2, r8 + d8b6: b212 sxth r2, r2 + d8b8: 233c movs r3, #60 ; 0x3c + d8ba: 5ee1 ldrsh r1, [r4, r3] + d8bc: 0028 movs r0, r5 + d8be: 4b69 ldr r3, [pc, #420] ; (da64 <_lv_img_buf_transform_anti_alias+0x450>) + d8c0: 4798 blx r3 + d8c2: 4682 mov sl, r0 a11 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn); - d85c: 8fe2 ldrh r2, [r4, #62] ; 0x3e - d85e: 4442 add r2, r8 - d860: b212 sxth r2, r2 - d862: 8fa1 ldrh r1, [r4, #60] ; 0x3c - d864: 4459 add r1, fp - d866: b209 sxth r1, r1 - d868: 0028 movs r0, r5 - d86a: 4b64 ldr r3, [pc, #400] ; (d9fc <_lv_img_buf_transform_anti_alias+0x450>) - d86c: 4798 blx r3 + d8c4: 8fe2 ldrh r2, [r4, #62] ; 0x3e + d8c6: 4442 add r2, r8 + d8c8: b212 sxth r2, r2 + d8ca: 8fa1 ldrh r1, [r4, #60] ; 0x3c + d8cc: 4459 add r1, fp + d8ce: b209 sxth r1, r1 + d8d0: 0028 movs r0, r5 + d8d2: 4b64 ldr r3, [pc, #400] ; (da64 <_lv_img_buf_transform_anti_alias+0x450>) + d8d4: 4798 blx r3 if(dsc->tmp.has_alpha) { - d86e: 2334 movs r3, #52 ; 0x34 - d870: 5ce3 ldrb r3, [r4, r3] - d872: 079b lsls r3, r3, #30 - d874: d500 bpl.n d878 <_lv_img_buf_transform_anti_alias+0x2cc> - d876: e706 b.n d686 <_lv_img_buf_transform_anti_alias+0xda> - d878: e781 b.n d77e <_lv_img_buf_transform_anti_alias+0x1d2> + d8d6: 2334 movs r3, #52 ; 0x34 + d8d8: 5ce3 ldrb r3, [r4, r3] + d8da: 079b lsls r3, r3, #30 + d8dc: d500 bpl.n d8e0 <_lv_img_buf_transform_anti_alias+0x2cc> + d8de: e706 b.n d6ee <_lv_img_buf_transform_anti_alias+0xda> + d8e0: e781 b.n d7e6 <_lv_img_buf_transform_anti_alias+0x1d2> if(a1 <= LV_OPA_MIN) yr = LV_OPA_COVER; - d87a: 4663 mov r3, ip - d87c: 2b05 cmp r3, #5 - d87e: d800 bhi.n d882 <_lv_img_buf_transform_anti_alias+0x2d6> - d880: 26ff movs r6, #255 ; 0xff + d8e2: 4663 mov r3, ip + d8e4: 2b05 cmp r3, #5 + d8e6: d800 bhi.n d8ea <_lv_img_buf_transform_anti_alias+0x2d6> + d8e8: 26ff movs r6, #255 ; 0xff lv_opa_t xr0 = xr; - d882: 003b movs r3, r7 + d8ea: 003b movs r3, r7 if(a00 <= LV_OPA_MIN) xr0 = LV_OPA_TRANSP; - d884: 9a03 ldr r2, [sp, #12] - d886: 2a05 cmp r2, #5 - d888: d800 bhi.n d88c <_lv_img_buf_transform_anti_alias+0x2e0> - d88a: 2300 movs r3, #0 + d8ec: 9a03 ldr r2, [sp, #12] + d8ee: 2a05 cmp r2, #5 + d8f0: d800 bhi.n d8f4 <_lv_img_buf_transform_anti_alias+0x2e0> + d8f2: 2300 movs r3, #0 if(a10 <= LV_OPA_MIN) xr0 = LV_OPA_COVER; - d88c: 464a mov r2, r9 - d88e: 2a05 cmp r2, #5 - d890: d800 bhi.n d894 <_lv_img_buf_transform_anti_alias+0x2e8> - d892: 23ff movs r3, #255 ; 0xff + d8f4: 464a mov r2, r9 + d8f6: 2a05 cmp r2, #5 + d8f8: d800 bhi.n d8fc <_lv_img_buf_transform_anti_alias+0x2e8> + d8fa: 23ff movs r3, #255 ; 0xff if(a01 <= LV_OPA_MIN) xr1 = LV_OPA_TRANSP; - d894: 4652 mov r2, sl - d896: 2a05 cmp r2, #5 - d898: d800 bhi.n d89c <_lv_img_buf_transform_anti_alias+0x2f0> - d89a: 2700 movs r7, #0 + d8fc: 4652 mov r2, sl + d8fe: 2a05 cmp r2, #5 + d900: d800 bhi.n d904 <_lv_img_buf_transform_anti_alias+0x2f0> + d902: 2700 movs r7, #0 if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER; - d89c: 2805 cmp r0, #5 - d89e: d900 bls.n d8a2 <_lv_img_buf_transform_anti_alias+0x2f6> - d8a0: e770 b.n d784 <_lv_img_buf_transform_anti_alias+0x1d8> - d8a2: 27ff movs r7, #255 ; 0xff - d8a4: e76e b.n d784 <_lv_img_buf_transform_anti_alias+0x1d8> + d904: 2805 cmp r0, #5 + d906: d900 bls.n d90a <_lv_img_buf_transform_anti_alias+0x2f6> + d908: e770 b.n d7ec <_lv_img_buf_transform_anti_alias+0x1d8> + d90a: 27ff movs r7, #255 ; 0xff + d90c: e76e b.n d7ec <_lv_img_buf_transform_anti_alias+0x1d8> else if(xr0 == LV_OPA_COVER) c0 = c00; - d8a6: 2bff cmp r3, #255 ; 0xff - d8a8: d100 bne.n d8ac <_lv_img_buf_transform_anti_alias+0x300> - d8aa: e77a b.n d7a2 <_lv_img_buf_transform_anti_alias+0x1f6> - d8ac: 22ff movs r2, #255 ; 0xff - d8ae: 1ad2 subs r2, r2, r3 - d8b0: a809 add r0, sp, #36 ; 0x24 - d8b2: 7841 ldrb r1, [r0, #1] - d8b4: 08c9 lsrs r1, r1, #3 - d8b6: 4351 muls r1, r2 - d8b8: 9d02 ldr r5, [sp, #8] - d8ba: 435d muls r5, r3 - d8bc: 46ac mov ip, r5 - d8be: 448c add ip, r1 - d8c0: 4661 mov r1, ip - d8c2: 0209 lsls r1, r1, #8 - d8c4: 4461 add r1, ip - d8c6: 01c9 lsls r1, r1, #7 - d8c8: 4461 add r1, ip - d8ca: 0dc9 lsrs r1, r1, #23 - d8cc: 251f movs r5, #31 - d8ce: 46ac mov ip, r5 - d8d0: 400d ands r5, r1 - d8d2: 9502 str r5, [sp, #8] + d90e: 2bff cmp r3, #255 ; 0xff + d910: d100 bne.n d914 <_lv_img_buf_transform_anti_alias+0x300> + d912: e77a b.n d80a <_lv_img_buf_transform_anti_alias+0x1f6> + d914: 22ff movs r2, #255 ; 0xff + d916: 1ad2 subs r2, r2, r3 + d918: a809 add r0, sp, #36 ; 0x24 + d91a: 7841 ldrb r1, [r0, #1] + d91c: 08c9 lsrs r1, r1, #3 + d91e: 4351 muls r1, r2 + d920: 9d02 ldr r5, [sp, #8] + d922: 435d muls r5, r3 + d924: 46ac mov ip, r5 + d926: 448c add ip, r1 + d928: 4661 mov r1, ip + d92a: 0209 lsls r1, r1, #8 + d92c: 4461 add r1, ip + d92e: 01c9 lsls r1, r1, #7 + d930: 4461 add r1, ip + d932: 0dc9 lsrs r1, r1, #23 + d934: 251f movs r5, #31 + d936: 46ac mov ip, r5 + d938: 400d ands r5, r1 + d93a: 9502 str r5, [sp, #8] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - d8d4: 8801 ldrh r1, [r0, #0] - d8d6: 0549 lsls r1, r1, #21 - d8d8: 0e89 lsrs r1, r1, #26 - d8da: 4351 muls r1, r2 - d8dc: 9d01 ldr r5, [sp, #4] - d8de: 435d muls r5, r3 - d8e0: 46a8 mov r8, r5 - d8e2: 4441 add r1, r8 - d8e4: 020d lsls r5, r1, #8 - d8e6: 46a8 mov r8, r5 - d8e8: 4488 add r8, r1 - d8ea: 4645 mov r5, r8 - d8ec: 01ed lsls r5, r5, #7 - d8ee: 46a8 mov r8, r5 - d8f0: 4441 add r1, r8 - d8f2: 00c9 lsls r1, r1, #3 - d8f4: 0e89 lsrs r1, r1, #26 - d8f6: 9101 str r1, [sp, #4] + d93c: 8801 ldrh r1, [r0, #0] + d93e: 0549 lsls r1, r1, #21 + d940: 0e89 lsrs r1, r1, #26 + d942: 4351 muls r1, r2 + d944: 9d01 ldr r5, [sp, #4] + d946: 435d muls r5, r3 + d948: 46a8 mov r8, r5 + d94a: 4441 add r1, r8 + d94c: 020d lsls r5, r1, #8 + d94e: 46a8 mov r8, r5 + d950: 4488 add r8, r1 + d952: 4645 mov r5, r8 + d954: 01ed lsls r5, r5, #7 + d956: 46a8 mov r8, r5 + d958: 4441 add r1, r8 + d95a: 00c9 lsls r1, r1, #3 + d95c: 0e89 lsrs r1, r1, #26 + d95e: 9101 str r1, [sp, #4] LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - d8f8: 7801 ldrb r1, [r0, #0] - d8fa: 06c9 lsls r1, r1, #27 - d8fc: 0ec9 lsrs r1, r1, #27 - d8fe: 434a muls r2, r1 - d900: 9d00 ldr r5, [sp, #0] - d902: 435d muls r5, r3 - d904: 1952 adds r2, r2, r5 - d906: 0215 lsls r5, r2, #8 - d908: 18ad adds r5, r5, r2 - d90a: 01ed lsls r5, r5, #7 - d90c: 18ad adds r5, r5, r2 - d90e: 0ded lsrs r5, r5, #23 - d910: 4663 mov r3, ip - d912: 401d ands r5, r3 - d914: 9500 str r5, [sp, #0] - d916: e744 b.n d7a2 <_lv_img_buf_transform_anti_alias+0x1f6> + d960: 7801 ldrb r1, [r0, #0] + d962: 06c9 lsls r1, r1, #27 + d964: 0ec9 lsrs r1, r1, #27 + d966: 434a muls r2, r1 + d968: 9d00 ldr r5, [sp, #0] + d96a: 435d muls r5, r3 + d96c: 1952 adds r2, r2, r5 + d96e: 0215 lsls r5, r2, #8 + d970: 18ad adds r5, r5, r2 + d972: 01ed lsls r5, r5, #7 + d974: 18ad adds r5, r5, r2 + d976: 0ded lsrs r5, r5, #23 + d978: 4663 mov r3, ip + d97a: 401d ands r5, r3 + d97c: 9500 str r5, [sp, #0] + d97e: e744 b.n d80a <_lv_img_buf_transform_anti_alias+0x1f6> else if(xr1 == LV_OPA_COVER) c1 = c10; - d918: 2fff cmp r7, #255 ; 0xff - d91a: d039 beq.n d990 <_lv_img_buf_transform_anti_alias+0x3e4> + d980: 2fff cmp r7, #255 ; 0xff + d982: d039 beq.n d9f8 <_lv_img_buf_transform_anti_alias+0x3e4> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - d91c: 23ff movs r3, #255 ; 0xff - d91e: 1bdb subs r3, r3, r7 - d920: 4698 mov r8, r3 - d922: a808 add r0, sp, #32 - d924: 7842 ldrb r2, [r0, #1] - d926: 08d2 lsrs r2, r2, #3 - d928: 437a muls r2, r7 - d92a: a907 add r1, sp, #28 - d92c: 784b ldrb r3, [r1, #1] - d92e: 08db lsrs r3, r3, #3 - d930: 4645 mov r5, r8 - d932: 436b muls r3, r5 - d934: 18d3 adds r3, r2, r3 - d936: 021a lsls r2, r3, #8 - d938: 18d2 adds r2, r2, r3 - d93a: 01d2 lsls r2, r2, #7 - d93c: 18d2 adds r2, r2, r3 - d93e: 0dd2 lsrs r2, r2, #23 - d940: 231f movs r3, #31 - d942: 469c mov ip, r3 - d944: 401a ands r2, r3 + d984: 23ff movs r3, #255 ; 0xff + d986: 1bdb subs r3, r3, r7 + d988: 4698 mov r8, r3 + d98a: a808 add r0, sp, #32 + d98c: 7842 ldrb r2, [r0, #1] + d98e: 08d2 lsrs r2, r2, #3 + d990: 437a muls r2, r7 + d992: a907 add r1, sp, #28 + d994: 784b ldrb r3, [r1, #1] + d996: 08db lsrs r3, r3, #3 + d998: 4645 mov r5, r8 + d99a: 436b muls r3, r5 + d99c: 18d3 adds r3, r2, r3 + d99e: 021a lsls r2, r3, #8 + d9a0: 18d2 adds r2, r2, r3 + d9a2: 01d2 lsls r2, r2, #7 + d9a4: 18d2 adds r2, r2, r3 + d9a6: 0dd2 lsrs r2, r2, #23 + d9a8: 231f movs r3, #31 + d9aa: 469c mov ip, r3 + d9ac: 401a ands r2, r3 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - d946: 8803 ldrh r3, [r0, #0] - d948: 055b lsls r3, r3, #21 - d94a: 0e9b lsrs r3, r3, #26 - d94c: 437b muls r3, r7 - d94e: 4699 mov r9, r3 - d950: 880b ldrh r3, [r1, #0] - d952: 055b lsls r3, r3, #21 - d954: 0e9b lsrs r3, r3, #26 - d956: 436b muls r3, r5 - d958: 444b add r3, r9 - d95a: 021d lsls r5, r3, #8 - d95c: 46a9 mov r9, r5 - d95e: 4499 add r9, r3 - d960: 464d mov r5, r9 - d962: 01ed lsls r5, r5, #7 - d964: 46a9 mov r9, r5 - d966: 444b add r3, r9 - d968: 00db lsls r3, r3, #3 - d96a: 0e9b lsrs r3, r3, #26 + d9ae: 8803 ldrh r3, [r0, #0] + d9b0: 055b lsls r3, r3, #21 + d9b2: 0e9b lsrs r3, r3, #26 + d9b4: 437b muls r3, r7 + d9b6: 4699 mov r9, r3 + d9b8: 880b ldrh r3, [r1, #0] + d9ba: 055b lsls r3, r3, #21 + d9bc: 0e9b lsrs r3, r3, #26 + d9be: 436b muls r3, r5 + d9c0: 444b add r3, r9 + d9c2: 021d lsls r5, r3, #8 + d9c4: 46a9 mov r9, r5 + d9c6: 4499 add r9, r3 + d9c8: 464d mov r5, r9 + d9ca: 01ed lsls r5, r5, #7 + d9cc: 46a9 mov r9, r5 + d9ce: 444b add r3, r9 + d9d0: 00db lsls r3, r3, #3 + d9d2: 0e9b lsrs r3, r3, #26 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - d96c: 7800 ldrb r0, [r0, #0] - d96e: 06c0 lsls r0, r0, #27 - d970: 0ec0 lsrs r0, r0, #27 - d972: 4347 muls r7, r0 - d974: 7809 ldrb r1, [r1, #0] - d976: 06c9 lsls r1, r1, #27 - d978: 0ec9 lsrs r1, r1, #27 - d97a: 4640 mov r0, r8 - d97c: 4341 muls r1, r0 - d97e: 1879 adds r1, r7, r1 - d980: 020f lsls r7, r1, #8 - d982: 187f adds r7, r7, r1 - d984: 01ff lsls r7, r7, #7 - d986: 187f adds r7, r7, r1 - d988: 0dff lsrs r7, r7, #23 - d98a: 4661 mov r1, ip - d98c: 400f ands r7, r1 - d98e: e714 b.n d7ba <_lv_img_buf_transform_anti_alias+0x20e> - d990: aa08 add r2, sp, #32 - d992: 7817 ldrb r7, [r2, #0] - d994: 06ff lsls r7, r7, #27 - d996: 0eff lsrs r7, r7, #27 - d998: 8813 ldrh r3, [r2, #0] - d99a: 055b lsls r3, r3, #21 - d99c: 0e9b lsrs r3, r3, #26 - d99e: 7852 ldrb r2, [r2, #1] - d9a0: 08d2 lsrs r2, r2, #3 - d9a2: e70a b.n d7ba <_lv_img_buf_transform_anti_alias+0x20e> + d9d4: 7800 ldrb r0, [r0, #0] + d9d6: 06c0 lsls r0, r0, #27 + d9d8: 0ec0 lsrs r0, r0, #27 + d9da: 4347 muls r7, r0 + d9dc: 7809 ldrb r1, [r1, #0] + d9de: 06c9 lsls r1, r1, #27 + d9e0: 0ec9 lsrs r1, r1, #27 + d9e2: 4640 mov r0, r8 + d9e4: 4341 muls r1, r0 + d9e6: 1879 adds r1, r7, r1 + d9e8: 020f lsls r7, r1, #8 + d9ea: 187f adds r7, r7, r1 + d9ec: 01ff lsls r7, r7, #7 + d9ee: 187f adds r7, r7, r1 + d9f0: 0dff lsrs r7, r7, #23 + d9f2: 4661 mov r1, ip + d9f4: 400f ands r7, r1 + d9f6: e714 b.n d822 <_lv_img_buf_transform_anti_alias+0x20e> + d9f8: aa08 add r2, sp, #32 + d9fa: 7817 ldrb r7, [r2, #0] + d9fc: 06ff lsls r7, r7, #27 + d9fe: 0eff lsrs r7, r7, #27 + da00: 8813 ldrh r3, [r2, #0] + da02: 055b lsls r3, r3, #21 + da04: 0e9b lsrs r3, r3, #26 + da06: 7852 ldrb r2, [r2, #1] + da08: 08d2 lsrs r2, r2, #3 + da0a: e70a b.n d822 <_lv_img_buf_transform_anti_alias+0x20e> if(yr == LV_OPA_TRANSP) dsc->res.color = c1; - d9a4: 7d25 ldrb r5, [r4, #20] - d9a6: 211f movs r1, #31 - d9a8: 438d bics r5, r1 - d9aa: 432f orrs r7, r5 - d9ac: 7527 strb r7, [r4, #20] - d9ae: 0159 lsls r1, r3, #5 - d9b0: 8aa3 ldrh r3, [r4, #20] - d9b2: 4811 ldr r0, [pc, #68] ; (d9f8 <_lv_img_buf_transform_anti_alias+0x44c>) - d9b4: 4003 ands r3, r0 - d9b6: 430b orrs r3, r1 - d9b8: 82a3 strh r3, [r4, #20] - d9ba: 00d2 lsls r2, r2, #3 - d9bc: 055b lsls r3, r3, #21 - d9be: 0f5b lsrs r3, r3, #29 - d9c0: 431a orrs r2, r3 - d9c2: 7562 strb r2, [r4, #21] + da0c: 7d25 ldrb r5, [r4, #20] + da0e: 211f movs r1, #31 + da10: 438d bics r5, r1 + da12: 432f orrs r7, r5 + da14: 7527 strb r7, [r4, #20] + da16: 0159 lsls r1, r3, #5 + da18: 8aa3 ldrh r3, [r4, #20] + da1a: 4811 ldr r0, [pc, #68] ; (da60 <_lv_img_buf_transform_anti_alias+0x44c>) + da1c: 4003 ands r3, r0 + da1e: 430b orrs r3, r1 + da20: 82a3 strh r3, [r4, #20] + da22: 00d2 lsls r2, r2, #3 + da24: 055b lsls r3, r3, #21 + da26: 0f5b lsrs r3, r3, #29 + da28: 431a orrs r2, r3 + da2a: 7562 strb r2, [r4, #21] return true; - d9c4: 2301 movs r3, #1 - d9c6: e72e b.n d826 <_lv_img_buf_transform_anti_alias+0x27a> + da2c: 2301 movs r3, #1 + da2e: e72e b.n d88e <_lv_img_buf_transform_anti_alias+0x27a> else if(yr == LV_OPA_COVER) dsc->res.color = c0; - d9c8: 7d23 ldrb r3, [r4, #20] - d9ca: 221f movs r2, #31 - d9cc: 4393 bics r3, r2 - d9ce: 9d00 ldr r5, [sp, #0] - d9d0: 431d orrs r5, r3 - d9d2: 7525 strb r5, [r4, #20] - d9d4: 9b01 ldr r3, [sp, #4] - d9d6: 015a lsls r2, r3, #5 - d9d8: 8aa3 ldrh r3, [r4, #20] - d9da: 4907 ldr r1, [pc, #28] ; (d9f8 <_lv_img_buf_transform_anti_alias+0x44c>) - d9dc: 400b ands r3, r1 - d9de: 4313 orrs r3, r2 - d9e0: 82a3 strh r3, [r4, #20] - d9e2: 9a02 ldr r2, [sp, #8] - d9e4: 00d6 lsls r6, r2, #3 - d9e6: 055b lsls r3, r3, #21 - d9e8: 0f5b lsrs r3, r3, #29 - d9ea: 4333 orrs r3, r6 - d9ec: 7563 strb r3, [r4, #21] + da30: 7d23 ldrb r3, [r4, #20] + da32: 221f movs r2, #31 + da34: 4393 bics r3, r2 + da36: 9d00 ldr r5, [sp, #0] + da38: 431d orrs r5, r3 + da3a: 7525 strb r5, [r4, #20] + da3c: 9b01 ldr r3, [sp, #4] + da3e: 015a lsls r2, r3, #5 + da40: 8aa3 ldrh r3, [r4, #20] + da42: 4907 ldr r1, [pc, #28] ; (da60 <_lv_img_buf_transform_anti_alias+0x44c>) + da44: 400b ands r3, r1 + da46: 4313 orrs r3, r2 + da48: 82a3 strh r3, [r4, #20] + da4a: 9a02 ldr r2, [sp, #8] + da4c: 00d6 lsls r6, r2, #3 + da4e: 055b lsls r3, r3, #21 + da50: 0f5b lsrs r3, r3, #29 + da52: 4333 orrs r3, r6 + da54: 7563 strb r3, [r4, #21] return true; - d9ee: 2301 movs r3, #1 - d9f0: e719 b.n d826 <_lv_img_buf_transform_anti_alias+0x27a> - d9f2: 46c0 nop ; (mov r8, r8) - d9f4: 0000d085 .word 0x0000d085 - d9f8: fffff81f .word 0xfffff81f - d9fc: 0000d1a5 .word 0x0000d1a5 - -0000da00 <_lv_img_cache_open>: + da56: 2301 movs r3, #1 + da58: e719 b.n d88e <_lv_img_buf_transform_anti_alias+0x27a> + da5a: 46c0 nop ; (mov r8, r8) + da5c: 0000d0ed .word 0x0000d0ed + da60: fffff81f .word 0xfffff81f + da64: 0000d20d .word 0x0000d20d + +0000da68 <_lv_img_cache_open>: * @param src source of the image. Path to file or pointer to an `lv_img_dsc_t` variable * @param style style of the image * @return pointer to the cache entry or NULL if can open the image */ lv_img_cache_entry_t * _lv_img_cache_open(const void * src, lv_color_t color) { - da00: b5f0 push {r4, r5, r6, r7, lr} - da02: 46ce mov lr, r9 - da04: 4647 mov r7, r8 - da06: b580 push {r7, lr} - da08: b083 sub sp, #12 - da0a: 4680 mov r8, r0 - da0c: 466b mov r3, sp - da0e: 80d9 strh r1, [r3, #6] + da68: b5f0 push {r4, r5, r6, r7, lr} + da6a: 46ce mov lr, r9 + da6c: 4647 mov r7, r8 + da6e: b580 push {r7, lr} + da70: b083 sub sp, #12 + da72: 4680 mov r8, r0 + da74: 466b mov r3, sp + da76: 80d9 strh r1, [r3, #6] if(entry_cnt == 0) { - da10: 4b51 ldr r3, [pc, #324] ; (db58 <_lv_img_cache_open+0x158>) - da12: 8819 ldrh r1, [r3, #0] - da14: 2900 cmp r1, #0 - da16: d100 bne.n da1a <_lv_img_cache_open+0x1a> - da18: e09b b.n db52 <_lv_img_cache_open+0x152> + da78: 4b51 ldr r3, [pc, #324] ; (dbc0 <_lv_img_cache_open+0x158>) + da7a: 8819 ldrh r1, [r3, #0] + da7c: 2900 cmp r1, #0 + da7e: d100 bne.n da82 <_lv_img_cache_open+0x1a> + da80: e09b b.n dbba <_lv_img_cache_open+0x152> LV_LOG_WARN("lv_img_cache_open: the cache size is 0"); return NULL; } lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array); - da1a: 4b50 ldr r3, [pc, #320] ; (db5c <_lv_img_cache_open+0x15c>) - da1c: 681f ldr r7, [r3, #0] - da1e: 003b movs r3, r7 - da20: 3320 adds r3, #32 - da22: 3901 subs r1, #1 - da24: b28a uxth r2, r1 - da26: 00d1 lsls r1, r2, #3 - da28: 1889 adds r1, r1, r2 - da2a: 0089 lsls r1, r1, #2 - da2c: 3144 adds r1, #68 ; 0x44 - da2e: 1879 adds r1, r7, r1 + da82: 4b50 ldr r3, [pc, #320] ; (dbc4 <_lv_img_cache_open+0x15c>) + da84: 681f ldr r7, [r3, #0] + da86: 003b movs r3, r7 + da88: 3320 adds r3, #32 + da8a: 3901 subs r1, #1 + da8c: b28a uxth r2, r1 + da8e: 00d1 lsls r1, r2, #3 + da90: 1889 adds r1, r1, r2 + da92: 0089 lsls r1, r1, #2 + da94: 3144 adds r1, #68 ; 0x44 + da96: 1879 adds r1, r7, r1 /*Decrement all lifes. Make the entries older*/ uint16_t i; for(i = 0; i < entry_cnt; i++) { if(cache[i].life > INT32_MIN + LV_IMG_CACHE_AGING) { - da30: 484b ldr r0, [pc, #300] ; (db60 <_lv_img_cache_open+0x160>) - da32: e002 b.n da3a <_lv_img_cache_open+0x3a> - da34: 3324 adds r3, #36 ; 0x24 + da98: 484b ldr r0, [pc, #300] ; (dbc8 <_lv_img_cache_open+0x160>) + da9a: e002 b.n daa2 <_lv_img_cache_open+0x3a> + da9c: 3324 adds r3, #36 ; 0x24 for(i = 0; i < entry_cnt; i++) { - da36: 428b cmp r3, r1 - da38: d005 beq.n da46 <_lv_img_cache_open+0x46> + da9e: 428b cmp r3, r1 + daa0: d005 beq.n daae <_lv_img_cache_open+0x46> if(cache[i].life > INT32_MIN + LV_IMG_CACHE_AGING) { - da3a: 681a ldr r2, [r3, #0] - da3c: 4282 cmp r2, r0 - da3e: dbf9 blt.n da34 <_lv_img_cache_open+0x34> + daa2: 681a ldr r2, [r3, #0] + daa4: 4282 cmp r2, r0 + daa6: dbf9 blt.n da9c <_lv_img_cache_open+0x34> cache[i].life -= LV_IMG_CACHE_AGING; - da40: 3a01 subs r2, #1 - da42: 601a str r2, [r3, #0] - da44: e7f6 b.n da34 <_lv_img_cache_open+0x34> - da46: 2500 movs r5, #0 + daa8: 3a01 subs r2, #1 + daaa: 601a str r2, [r3, #0] + daac: e7f6 b.n da9c <_lv_img_cache_open+0x34> + daae: 2500 movs r5, #0 /*Is the image cached?*/ lv_img_cache_entry_t * cached_src = NULL; for(i = 0; i < entry_cnt; i++) { bool match = false; lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src); - da48: 4e46 ldr r6, [pc, #280] ; (db64 <_lv_img_cache_open+0x164>) + dab0: 4e46 ldr r6, [pc, #280] ; (dbcc <_lv_img_cache_open+0x164>) for(i = 0; i < entry_cnt; i++) { - da4a: 4b43 ldr r3, [pc, #268] ; (db58 <_lv_img_cache_open+0x158>) - da4c: 4699 mov r9, r3 - da4e: e007 b.n da60 <_lv_img_cache_open+0x60> + dab2: 4b43 ldr r3, [pc, #268] ; (dbc0 <_lv_img_cache_open+0x158>) + dab4: 4699 mov r9, r3 + dab6: e007 b.n dac8 <_lv_img_cache_open+0x60> if(src_type == LV_IMG_SRC_VARIABLE) { if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true; } else if(src_type == LV_IMG_SRC_FILE) { - da50: 2801 cmp r0, #1 - da52: d02a beq.n daaa <_lv_img_cache_open+0xaa> + dab8: 2801 cmp r0, #1 + daba: d02a beq.n db12 <_lv_img_cache_open+0xaa> for(i = 0; i < entry_cnt; i++) { - da54: 3501 adds r5, #1 - da56: b2ad uxth r5, r5 - da58: 464b mov r3, r9 - da5a: 881b ldrh r3, [r3, #0] - da5c: 42ab cmp r3, r5 - da5e: d92f bls.n dac0 <_lv_img_cache_open+0xc0> + dabc: 3501 adds r5, #1 + dabe: b2ad uxth r5, r5 + dac0: 464b mov r3, r9 + dac2: 881b ldrh r3, [r3, #0] + dac4: 42ab cmp r3, r5 + dac6: d92f bls.n db28 <_lv_img_cache_open+0xc0> lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src); - da60: 00ec lsls r4, r5, #3 - da62: 1964 adds r4, r4, r5 - da64: 00a4 lsls r4, r4, #2 - da66: 193c adds r4, r7, r4 - da68: 6860 ldr r0, [r4, #4] - da6a: 47b0 blx r6 + dac8: 00ec lsls r4, r5, #3 + daca: 1964 adds r4, r4, r5 + dacc: 00a4 lsls r4, r4, #2 + dace: 193c adds r4, r7, r4 + dad0: 6860 ldr r0, [r4, #4] + dad2: 47b0 blx r6 if(src_type == LV_IMG_SRC_VARIABLE) { - da6c: 2800 cmp r0, #0 - da6e: d1ef bne.n da50 <_lv_img_cache_open+0x50> + dad4: 2800 cmp r0, #0 + dad6: d1ef bne.n dab8 <_lv_img_cache_open+0x50> if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true; - da70: 6863 ldr r3, [r4, #4] - da72: 4543 cmp r3, r8 - da74: d1ee bne.n da54 <_lv_img_cache_open+0x54> - da76: 8920 ldrh r0, [r4, #8] - da78: 466b mov r3, sp - da7a: 88db ldrh r3, [r3, #6] - da7c: 1ac0 subs r0, r0, r3 - da7e: 4242 negs r2, r0 - da80: 4142 adcs r2, r0 - da82: b2d0 uxtb r0, r2 + dad8: 6863 ldr r3, [r4, #4] + dada: 4543 cmp r3, r8 + dadc: d1ee bne.n dabc <_lv_img_cache_open+0x54> + dade: 8920 ldrh r0, [r4, #8] + dae0: 466b mov r3, sp + dae2: 88db ldrh r3, [r3, #6] + dae4: 1ac0 subs r0, r0, r3 + dae6: 4242 negs r2, r0 + dae8: 4142 adcs r2, r0 + daea: b2d0 uxtb r0, r2 if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true; } if(match) { - da84: 2800 cmp r0, #0 - da86: d0e5 beq.n da54 <_lv_img_cache_open+0x54> + daec: 2800 cmp r0, #0 + daee: d0e5 beq.n dabc <_lv_img_cache_open+0x54> /* If opened increment its life. * Image difficult to open should live longer to keep avoid frequent their recaching. * Therefore increase `life` with `time_to_open`*/ cached_src = &cache[i]; cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN; - da88: 6a23 ldr r3, [r4, #32] - da8a: 6962 ldr r2, [r4, #20] - da8c: 4694 mov ip, r2 - da8e: 4463 add r3, ip + daf0: 6a23 ldr r3, [r4, #32] + daf2: 6962 ldr r2, [r4, #20] + daf4: 4694 mov ip, r2 + daf6: 4463 add r3, ip if(cached_src->life > LV_IMG_CACHE_LIFE_LIMIT) cached_src->life = LV_IMG_CACHE_LIFE_LIMIT; - da90: 22fa movs r2, #250 ; 0xfa - da92: 0092 lsls r2, r2, #2 - da94: 4293 cmp r3, r2 - da96: dd11 ble.n dabc <_lv_img_cache_open+0xbc> - da98: 6222 str r2, [r4, #32] + daf8: 22fa movs r2, #250 ; 0xfa + dafa: 0092 lsls r2, r2, #2 + dafc: 4293 cmp r3, r2 + dafe: dd11 ble.n db24 <_lv_img_cache_open+0xbc> + db00: 6222 str r2, [r4, #32] break; } } /*The image is not cached then cache it now*/ if(cached_src == NULL) { - da9a: 2c00 cmp r4, #0 - da9c: d010 beq.n dac0 <_lv_img_cache_open+0xc0> + db02: 2c00 cmp r4, #0 + db04: d010 beq.n db28 <_lv_img_cache_open+0xc0> if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1; } return cached_src; } - da9e: 0020 movs r0, r4 - daa0: b003 add sp, #12 - daa2: bc0c pop {r2, r3} - daa4: 4690 mov r8, r2 - daa6: 4699 mov r9, r3 - daa8: bdf0 pop {r4, r5, r6, r7, pc} + db06: 0020 movs r0, r4 + db08: b003 add sp, #12 + db0a: bc0c pop {r2, r3} + db0c: 4690 mov r8, r2 + db0e: 4699 mov r9, r3 + db10: bdf0 pop {r4, r5, r6, r7, pc} if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true; - daaa: 4641 mov r1, r8 - daac: 6860 ldr r0, [r4, #4] - daae: 4b2e ldr r3, [pc, #184] ; (db68 <_lv_img_cache_open+0x168>) - dab0: 4798 blx r3 - dab2: 0003 movs r3, r0 - dab4: 4258 negs r0, r3 - dab6: 4158 adcs r0, r3 - dab8: b2c0 uxtb r0, r0 - daba: e7e3 b.n da84 <_lv_img_cache_open+0x84> + db12: 4641 mov r1, r8 + db14: 6860 ldr r0, [r4, #4] + db16: 4b2e ldr r3, [pc, #184] ; (dbd0 <_lv_img_cache_open+0x168>) + db18: 4798 blx r3 + db1a: 0003 movs r3, r0 + db1c: 4258 negs r0, r3 + db1e: 4158 adcs r0, r3 + db20: b2c0 uxtb r0, r0 + db22: e7e3 b.n daec <_lv_img_cache_open+0x84> cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN; - dabc: 6223 str r3, [r4, #32] - dabe: e7ec b.n da9a <_lv_img_cache_open+0x9a> + db24: 6223 str r3, [r4, #32] + db26: e7ec b.n db02 <_lv_img_cache_open+0x9a> for(i = 1; i < entry_cnt; i++) { - dac0: 4b25 ldr r3, [pc, #148] ; (db58 <_lv_img_cache_open+0x158>) - dac2: 881a ldrh r2, [r3, #0] - dac4: 2a01 cmp r2, #1 - dac6: d913 bls.n daf0 <_lv_img_cache_open+0xf0> - dac8: 003b movs r3, r7 - daca: 3324 adds r3, #36 ; 0x24 - dacc: 3a02 subs r2, #2 - dace: b291 uxth r1, r2 - dad0: 00ca lsls r2, r1, #3 - dad2: 1852 adds r2, r2, r1 - dad4: 0092 lsls r2, r2, #2 - dad6: 3248 adds r2, #72 ; 0x48 - dad8: 18ba adds r2, r7, r2 - dada: 003c movs r4, r7 - dadc: e002 b.n dae4 <_lv_img_cache_open+0xe4> - dade: 3324 adds r3, #36 ; 0x24 - dae0: 4293 cmp r3, r2 - dae2: d006 beq.n daf2 <_lv_img_cache_open+0xf2> + db28: 4b25 ldr r3, [pc, #148] ; (dbc0 <_lv_img_cache_open+0x158>) + db2a: 881a ldrh r2, [r3, #0] + db2c: 2a01 cmp r2, #1 + db2e: d913 bls.n db58 <_lv_img_cache_open+0xf0> + db30: 003b movs r3, r7 + db32: 3324 adds r3, #36 ; 0x24 + db34: 3a02 subs r2, #2 + db36: b291 uxth r1, r2 + db38: 00ca lsls r2, r1, #3 + db3a: 1852 adds r2, r2, r1 + db3c: 0092 lsls r2, r2, #2 + db3e: 3248 adds r2, #72 ; 0x48 + db40: 18ba adds r2, r7, r2 + db42: 003c movs r4, r7 + db44: e002 b.n db4c <_lv_img_cache_open+0xe4> + db46: 3324 adds r3, #36 ; 0x24 + db48: 4293 cmp r3, r2 + db4a: d006 beq.n db5a <_lv_img_cache_open+0xf2> if(cache[i].life < cached_src->life) { - dae4: 6a19 ldr r1, [r3, #32] - dae6: 6a20 ldr r0, [r4, #32] - dae8: 4281 cmp r1, r0 - daea: daf8 bge.n dade <_lv_img_cache_open+0xde> + db4c: 6a19 ldr r1, [r3, #32] + db4e: 6a20 ldr r0, [r4, #32] + db50: 4281 cmp r1, r0 + db52: daf8 bge.n db46 <_lv_img_cache_open+0xde> cached_src = &cache[i]; - daec: 001c movs r4, r3 - daee: e7f6 b.n dade <_lv_img_cache_open+0xde> + db54: 001c movs r4, r3 + db56: e7f6 b.n db46 <_lv_img_cache_open+0xde> for(i = 1; i < entry_cnt; i++) { - daf0: 003c movs r4, r7 + db58: 003c movs r4, r7 if(cached_src->dec_dsc.src) { - daf2: 6863 ldr r3, [r4, #4] - daf4: 2b00 cmp r3, #0 - daf6: d002 beq.n dafe <_lv_img_cache_open+0xfe> + db5a: 6863 ldr r3, [r4, #4] + db5c: 2b00 cmp r3, #0 + db5e: d002 beq.n db66 <_lv_img_cache_open+0xfe> lv_img_decoder_close(&cached_src->dec_dsc); - daf8: 0020 movs r0, r4 - dafa: 4b1c ldr r3, [pc, #112] ; (db6c <_lv_img_cache_open+0x16c>) - dafc: 4798 blx r3 + db60: 0020 movs r0, r4 + db62: 4b1c ldr r3, [pc, #112] ; (dbd4 <_lv_img_cache_open+0x16c>) + db64: 4798 blx r3 t_start = lv_tick_get(); - dafe: 4b1c ldr r3, [pc, #112] ; (db70 <_lv_img_cache_open+0x170>) - db00: 4798 blx r3 - db02: 0005 movs r5, r0 + db66: 4b1c ldr r3, [pc, #112] ; (dbd8 <_lv_img_cache_open+0x170>) + db68: 4798 blx r3 + db6a: 0005 movs r5, r0 cached_src->dec_dsc.time_to_open = 0; - db04: 2300 movs r3, #0 - db06: 6163 str r3, [r4, #20] + db6c: 2300 movs r3, #0 + db6e: 6163 str r3, [r4, #20] lv_res_t open_res = lv_img_decoder_open(&cached_src->dec_dsc, src, color); - db08: 466b mov r3, sp - db0a: 88da ldrh r2, [r3, #6] - db0c: 4641 mov r1, r8 - db0e: 0020 movs r0, r4 - db10: 4b18 ldr r3, [pc, #96] ; (db74 <_lv_img_cache_open+0x174>) - db12: 4798 blx r3 + db70: 466b mov r3, sp + db72: 88da ldrh r2, [r3, #6] + db74: 4641 mov r1, r8 + db76: 0020 movs r0, r4 + db78: 4b18 ldr r3, [pc, #96] ; (dbdc <_lv_img_cache_open+0x174>) + db7a: 4798 blx r3 if(open_res == LV_RES_INV) { - db14: 2800 cmp r0, #0 - db16: d00d beq.n db34 <_lv_img_cache_open+0x134> + db7c: 2800 cmp r0, #0 + db7e: d00d beq.n db9c <_lv_img_cache_open+0x134> cached_src->life = 0; - db18: 2300 movs r3, #0 - db1a: 6223 str r3, [r4, #32] + db80: 2300 movs r3, #0 + db82: 6223 str r3, [r4, #32] if(cached_src->dec_dsc.time_to_open == 0) { - db1c: 6963 ldr r3, [r4, #20] - db1e: 2b00 cmp r3, #0 - db20: d1bd bne.n da9e <_lv_img_cache_open+0x9e> + db84: 6963 ldr r3, [r4, #20] + db86: 2b00 cmp r3, #0 + db88: d1bd bne.n db06 <_lv_img_cache_open+0x9e> cached_src->dec_dsc.time_to_open = lv_tick_elaps(t_start); - db22: 0028 movs r0, r5 - db24: 4b14 ldr r3, [pc, #80] ; (db78 <_lv_img_cache_open+0x178>) - db26: 4798 blx r3 - db28: 6160 str r0, [r4, #20] + db8a: 0028 movs r0, r5 + db8c: 4b14 ldr r3, [pc, #80] ; (dbe0 <_lv_img_cache_open+0x178>) + db8e: 4798 blx r3 + db90: 6160 str r0, [r4, #20] if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1; - db2a: 2800 cmp r0, #0 - db2c: d1b7 bne.n da9e <_lv_img_cache_open+0x9e> - db2e: 2301 movs r3, #1 - db30: 6163 str r3, [r4, #20] - db32: e7b4 b.n da9e <_lv_img_cache_open+0x9e> + db92: 2800 cmp r0, #0 + db94: d1b7 bne.n db06 <_lv_img_cache_open+0x9e> + db96: 2301 movs r3, #1 + db98: 6163 str r3, [r4, #20] + db9a: e7b4 b.n db06 <_lv_img_cache_open+0x9e> lv_img_decoder_close(&cached_src->dec_dsc); - db34: 0020 movs r0, r4 - db36: 4b0d ldr r3, [pc, #52] ; (db6c <_lv_img_cache_open+0x16c>) - db38: 4798 blx r3 + db9c: 0020 movs r0, r4 + db9e: 4b0d ldr r3, [pc, #52] ; (dbd4 <_lv_img_cache_open+0x16c>) + dba0: 4798 blx r3 _lv_memset_00(&cached_src->dec_dsc, sizeof(lv_img_decoder_dsc_t)); - db3a: 2120 movs r1, #32 - db3c: 0020 movs r0, r4 - db3e: 4d0f ldr r5, [pc, #60] ; (db7c <_lv_img_cache_open+0x17c>) - db40: 47a8 blx r5 + dba2: 2120 movs r1, #32 + dba4: 0020 movs r0, r4 + dba6: 4d0f ldr r5, [pc, #60] ; (dbe4 <_lv_img_cache_open+0x17c>) + dba8: 47a8 blx r5 _lv_memset_00(cached_src, sizeof(lv_img_cache_entry_t)); - db42: 2124 movs r1, #36 ; 0x24 - db44: 0020 movs r0, r4 - db46: 47a8 blx r5 + dbaa: 2124 movs r1, #36 ; 0x24 + dbac: 0020 movs r0, r4 + dbae: 47a8 blx r5 cached_src->life = INT32_MIN; /*Make the empty entry very "weak" to force its use */ - db48: 2380 movs r3, #128 ; 0x80 - db4a: 061b lsls r3, r3, #24 - db4c: 6223 str r3, [r4, #32] + dbb0: 2380 movs r3, #128 ; 0x80 + dbb2: 061b lsls r3, r3, #24 + dbb4: 6223 str r3, [r4, #32] return NULL; - db4e: 2400 movs r4, #0 - db50: e7a5 b.n da9e <_lv_img_cache_open+0x9e> + dbb6: 2400 movs r4, #0 + dbb8: e7a5 b.n db06 <_lv_img_cache_open+0x9e> return NULL; - db52: 2400 movs r4, #0 - db54: e7a3 b.n da9e <_lv_img_cache_open+0x9e> - db56: 46c0 nop ; (mov r8, r8) - db58: 20002bb6 .word 0x20002bb6 - db5c: 20004d84 .word 0x20004d84 - db60: 80000002 .word 0x80000002 - db64: 000080f9 .word 0x000080f9 - db68: 00017f3d .word 0x00017f3d - db6c: 0000e61d .word 0x0000e61d - db70: 0000f725 .word 0x0000f725 - db74: 0000e535 .word 0x0000e535 - db78: 0000f741 .word 0x0000f741 - db7c: 00010fe5 .word 0x00010fe5 - -0000db80 : + dbba: 2400 movs r4, #0 + dbbc: e7a3 b.n db06 <_lv_img_cache_open+0x9e> + dbbe: 46c0 nop ; (mov r8, r8) + dbc0: 20002bb6 .word 0x20002bb6 + dbc4: 20004d84 .word 0x20004d84 + dbc8: 80000002 .word 0x80000002 + dbcc: 00008161 .word 0x00008161 + dbd0: 00017fcd .word 0x00017fcd + dbd4: 0000e685 .word 0x0000e685 + dbd8: 0000f78d .word 0x0000f78d + dbdc: 0000e59d .word 0x0000e59d + dbe0: 0000f7a9 .word 0x0000f7a9 + dbe4: 0001104d .word 0x0001104d + +0000dbe8 : * Invalidate an image source in the cache. * Useful if the image source is updated therefore it needs to be cached again. * @param src an image source path to a file or pointer to an `lv_img_dsc_t` variable. */ void lv_img_cache_invalidate_src(const void * src) { - db80: b5f8 push {r3, r4, r5, r6, r7, lr} - db82: 46d6 mov lr, sl - db84: 4647 mov r7, r8 - db86: b580 push {r7, lr} - db88: 0007 movs r7, r0 + dbe8: b5f8 push {r3, r4, r5, r6, r7, lr} + dbea: 46d6 mov lr, sl + dbec: 4647 mov r7, r8 + dbee: b580 push {r7, lr} + dbf0: 0007 movs r7, r0 lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array); - db8a: 4b15 ldr r3, [pc, #84] ; (dbe0 ) - db8c: 681b ldr r3, [r3, #0] - db8e: 4698 mov r8, r3 + dbf2: 4b15 ldr r3, [pc, #84] ; (dc48 ) + dbf4: 681b ldr r3, [r3, #0] + dbf6: 4698 mov r8, r3 uint16_t i; for(i = 0; i < entry_cnt; i++) { - db90: 4b14 ldr r3, [pc, #80] ; (dbe4 ) - db92: 881b ldrh r3, [r3, #0] - db94: 2b00 cmp r3, #0 - db96: d01e beq.n dbd6 - db98: 2500 movs r5, #0 + dbf8: 4b14 ldr r3, [pc, #80] ; (dc4c ) + dbfa: 881b ldrh r3, [r3, #0] + dbfc: 2b00 cmp r3, #0 + dbfe: d01e beq.n dc3e + dc00: 2500 movs r5, #0 if(cache[i].dec_dsc.src == src || src == NULL) { if(cache[i].dec_dsc.src != NULL) { lv_img_decoder_close(&cache[i].dec_dsc); } _lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - db9a: 4b13 ldr r3, [pc, #76] ; (dbe8 ) - db9c: 469a mov sl, r3 + dc02: 4b13 ldr r3, [pc, #76] ; (dc50 ) + dc04: 469a mov sl, r3 for(i = 0; i < entry_cnt; i++) { - db9e: 4e11 ldr r6, [pc, #68] ; (dbe4 ) - dba0: e00f b.n dbc2 + dc06: 4e11 ldr r6, [pc, #68] ; (dc4c ) + dc08: e00f b.n dc2a if(cache[i].dec_dsc.src != NULL) { - dba2: 2b00 cmp r3, #0 - dba4: d002 beq.n dbac + dc0a: 2b00 cmp r3, #0 + dc0c: d002 beq.n dc14 lv_img_decoder_close(&cache[i].dec_dsc); - dba6: 0020 movs r0, r4 - dba8: 4b10 ldr r3, [pc, #64] ; (dbec ) - dbaa: 4798 blx r3 + dc0e: 0020 movs r0, r4 + dc10: 4b10 ldr r3, [pc, #64] ; (dc54 ) + dc12: 4798 blx r3 _lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - dbac: 2120 movs r1, #32 - dbae: 0020 movs r0, r4 - dbb0: 47d0 blx sl + dc14: 2120 movs r1, #32 + dc16: 0020 movs r0, r4 + dc18: 47d0 blx sl _lv_memset_00(&cache[i], sizeof(lv_img_cache_entry_t)); - dbb2: 2124 movs r1, #36 ; 0x24 - dbb4: 0020 movs r0, r4 - dbb6: 47d0 blx sl + dc1a: 2124 movs r1, #36 ; 0x24 + dc1c: 0020 movs r0, r4 + dc1e: 47d0 blx sl for(i = 0; i < entry_cnt; i++) { - dbb8: 3501 adds r5, #1 - dbba: b2ad uxth r5, r5 - dbbc: 8833 ldrh r3, [r6, #0] - dbbe: 42ab cmp r3, r5 - dbc0: d909 bls.n dbd6 + dc20: 3501 adds r5, #1 + dc22: b2ad uxth r5, r5 + dc24: 8833 ldrh r3, [r6, #0] + dc26: 42ab cmp r3, r5 + dc28: d909 bls.n dc3e if(cache[i].dec_dsc.src == src || src == NULL) { - dbc2: 00ec lsls r4, r5, #3 - dbc4: 1964 adds r4, r4, r5 - dbc6: 00a4 lsls r4, r4, #2 - dbc8: 4444 add r4, r8 - dbca: 6863 ldr r3, [r4, #4] - dbcc: 42bb cmp r3, r7 - dbce: d0e8 beq.n dba2 - dbd0: 2f00 cmp r7, #0 - dbd2: d1f1 bne.n dbb8 - dbd4: e7e5 b.n dba2 + dc2a: 00ec lsls r4, r5, #3 + dc2c: 1964 adds r4, r4, r5 + dc2e: 00a4 lsls r4, r4, #2 + dc30: 4444 add r4, r8 + dc32: 6863 ldr r3, [r4, #4] + dc34: 42bb cmp r3, r7 + dc36: d0e8 beq.n dc0a + dc38: 2f00 cmp r7, #0 + dc3a: d1f1 bne.n dc20 + dc3c: e7e5 b.n dc0a } } } - dbd6: bc0c pop {r2, r3} - dbd8: 4690 mov r8, r2 - dbda: 469a mov sl, r3 - dbdc: bdf8 pop {r3, r4, r5, r6, r7, pc} - dbde: 46c0 nop ; (mov r8, r8) - dbe0: 20004d84 .word 0x20004d84 - dbe4: 20002bb6 .word 0x20002bb6 - dbe8: 00010fe5 .word 0x00010fe5 - dbec: 0000e61d .word 0x0000e61d - -0000dbf0 : -{ - dbf0: b5f0 push {r4, r5, r6, r7, lr} - dbf2: 46c6 mov lr, r8 - dbf4: b500 push {lr} - dbf6: 0004 movs r4, r0 + dc3e: bc0c pop {r2, r3} + dc40: 4690 mov r8, r2 + dc42: 469a mov sl, r3 + dc44: bdf8 pop {r3, r4, r5, r6, r7, pc} + dc46: 46c0 nop ; (mov r8, r8) + dc48: 20004d84 .word 0x20004d84 + dc4c: 20002bb6 .word 0x20002bb6 + dc50: 0001104d .word 0x0001104d + dc54: 0000e685 .word 0x0000e685 + +0000dc58 : +{ + dc58: b5f0 push {r4, r5, r6, r7, lr} + dc5a: 46c6 mov lr, r8 + dc5c: b500 push {lr} + dc5e: 0004 movs r4, r0 if(LV_GC_ROOT(_lv_img_cache_array) != NULL) { - dbf8: 4b20 ldr r3, [pc, #128] ; (dc7c ) - dbfa: 681b ldr r3, [r3, #0] - dbfc: 2b00 cmp r3, #0 - dbfe: d006 beq.n dc0e + dc60: 4b20 ldr r3, [pc, #128] ; (dce4 ) + dc62: 681b ldr r3, [r3, #0] + dc64: 2b00 cmp r3, #0 + dc66: d006 beq.n dc76 lv_img_cache_invalidate_src(NULL); - dc00: 2000 movs r0, #0 - dc02: 4b1f ldr r3, [pc, #124] ; (dc80 ) - dc04: 4798 blx r3 + dc68: 2000 movs r0, #0 + dc6a: 4b1f ldr r3, [pc, #124] ; (dce8 ) + dc6c: 4798 blx r3 lv_mem_free(LV_GC_ROOT(_lv_img_cache_array)); - dc06: 4b1d ldr r3, [pc, #116] ; (dc7c ) - dc08: 6818 ldr r0, [r3, #0] - dc0a: 4b1e ldr r3, [pc, #120] ; (dc84 ) - dc0c: 4798 blx r3 + dc6e: 4b1d ldr r3, [pc, #116] ; (dce4 ) + dc70: 6818 ldr r0, [r3, #0] + dc72: 4b1e ldr r3, [pc, #120] ; (dcec ) + dc74: 4798 blx r3 LV_GC_ROOT(_lv_img_cache_array) = lv_mem_alloc(sizeof(lv_img_cache_entry_t) * new_entry_cnt); - dc0e: 00e0 lsls r0, r4, #3 - dc10: 1900 adds r0, r0, r4 - dc12: 0080 lsls r0, r0, #2 - dc14: 4b1c ldr r3, [pc, #112] ; (dc88 ) - dc16: 4798 blx r3 - dc18: 4b18 ldr r3, [pc, #96] ; (dc7c ) - dc1a: 6018 str r0, [r3, #0] + dc76: 00e0 lsls r0, r4, #3 + dc78: 1900 adds r0, r0, r4 + dc7a: 0080 lsls r0, r0, #2 + dc7c: 4b1c ldr r3, [pc, #112] ; (dcf0 ) + dc7e: 4798 blx r3 + dc80: 4b18 ldr r3, [pc, #96] ; (dce4 ) + dc82: 6018 str r0, [r3, #0] LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array)); - dc1c: 4b1b ldr r3, [pc, #108] ; (dc8c ) - dc1e: 4798 blx r3 - dc20: 2800 cmp r0, #0 - dc22: d01f beq.n dc64 + dc84: 4b1b ldr r3, [pc, #108] ; (dcf4 ) + dc86: 4798 blx r3 + dc88: 2800 cmp r0, #0 + dc8a: d01f beq.n dccc if(LV_GC_ROOT(_lv_img_cache_array) == NULL) { - dc24: 4b15 ldr r3, [pc, #84] ; (dc7c ) - dc26: 681b ldr r3, [r3, #0] - dc28: 2b00 cmp r3, #0 - dc2a: d022 beq.n dc72 + dc8c: 4b15 ldr r3, [pc, #84] ; (dce4 ) + dc8e: 681b ldr r3, [r3, #0] + dc90: 2b00 cmp r3, #0 + dc92: d022 beq.n dcda entry_cnt = new_entry_cnt; - dc2c: 4b18 ldr r3, [pc, #96] ; (dc90 ) - dc2e: 801c strh r4, [r3, #0] + dc94: 4b18 ldr r3, [pc, #96] ; (dcf8 ) + dc96: 801c strh r4, [r3, #0] for(i = 0; i < entry_cnt; i++) { - dc30: 2c00 cmp r4, #0 - dc32: d014 beq.n dc5e - dc34: 2400 movs r4, #0 + dc98: 2c00 cmp r4, #0 + dc9a: d014 beq.n dcc6 + dc9c: 2400 movs r4, #0 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - dc36: 4f11 ldr r7, [pc, #68] ; (dc7c ) - dc38: 4e16 ldr r6, [pc, #88] ; (dc94 ) + dc9e: 4f11 ldr r7, [pc, #68] ; (dce4 ) + dca0: 4e16 ldr r6, [pc, #88] ; (dcfc ) for(i = 0; i < entry_cnt; i++) { - dc3a: 4698 mov r8, r3 + dca2: 4698 mov r8, r3 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - dc3c: 00e5 lsls r5, r4, #3 - dc3e: 192d adds r5, r5, r4 - dc40: 00ad lsls r5, r5, #2 - dc42: 683b ldr r3, [r7, #0] - dc44: 1958 adds r0, r3, r5 - dc46: 2120 movs r1, #32 - dc48: 47b0 blx r6 + dca4: 00e5 lsls r5, r4, #3 + dca6: 192d adds r5, r5, r4 + dca8: 00ad lsls r5, r5, #2 + dcaa: 683b ldr r3, [r7, #0] + dcac: 1958 adds r0, r3, r5 + dcae: 2120 movs r1, #32 + dcb0: 47b0 blx r6 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i], sizeof(lv_img_cache_entry_t)); - dc4a: 683b ldr r3, [r7, #0] - dc4c: 1958 adds r0, r3, r5 - dc4e: 2124 movs r1, #36 ; 0x24 - dc50: 47b0 blx r6 + dcb2: 683b ldr r3, [r7, #0] + dcb4: 1958 adds r0, r3, r5 + dcb6: 2124 movs r1, #36 ; 0x24 + dcb8: 47b0 blx r6 for(i = 0; i < entry_cnt; i++) { - dc52: 3401 adds r4, #1 - dc54: b2a4 uxth r4, r4 - dc56: 4643 mov r3, r8 - dc58: 881b ldrh r3, [r3, #0] - dc5a: 42a3 cmp r3, r4 - dc5c: d8ee bhi.n dc3c -} - dc5e: bc04 pop {r2} - dc60: 4690 mov r8, r2 - dc62: bdf0 pop {r4, r5, r6, r7, pc} + dcba: 3401 adds r4, #1 + dcbc: b2a4 uxth r4, r4 + dcbe: 4643 mov r3, r8 + dcc0: 881b ldrh r3, [r3, #0] + dcc2: 42a3 cmp r3, r4 + dcc4: d8ee bhi.n dca4 +} + dcc6: bc04 pop {r2} + dcc8: 4690 mov r8, r2 + dcca: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array)); - dc64: 4b05 ldr r3, [pc, #20] ; (dc7c ) - dc66: 681a ldr r2, [r3, #0] - dc68: 2300 movs r3, #0 - dc6a: 480b ldr r0, [pc, #44] ; (dc98 ) - dc6c: 490b ldr r1, [pc, #44] ; (dc9c ) - dc6e: 4788 blx r1 - dc70: e7fe b.n dc70 + dccc: 4b05 ldr r3, [pc, #20] ; (dce4 ) + dcce: 681a ldr r2, [r3, #0] + dcd0: 2300 movs r3, #0 + dcd2: 480b ldr r0, [pc, #44] ; (dd00 ) + dcd4: 490b ldr r1, [pc, #44] ; (dd04 ) + dcd6: 4788 blx r1 + dcd8: e7fe b.n dcd8 entry_cnt = 0; - dc72: 2200 movs r2, #0 - dc74: 4b06 ldr r3, [pc, #24] ; (dc90 ) - dc76: 801a strh r2, [r3, #0] + dcda: 2200 movs r2, #0 + dcdc: 4b06 ldr r3, [pc, #24] ; (dcf8 ) + dcde: 801a strh r2, [r3, #0] return; - dc78: e7f1 b.n dc5e - dc7a: 46c0 nop ; (mov r8, r8) - dc7c: 20004d84 .word 0x20004d84 - dc80: 0000db81 .word 0x0000db81 - dc84: 00010ad1 .word 0x00010ad1 - dc88: 00010a09 .word 0x00010a09 - dc8c: 00001415 .word 0x00001415 - dc90: 20002bb6 .word 0x20002bb6 - dc94: 00010fe5 .word 0x00010fe5 - dc98: 00018804 .word 0x00018804 - dc9c: 0000141d .word 0x0000141d - -0000dca0 : + dce0: e7f1 b.n dcc6 + dce2: 46c0 nop ; (mov r8, r8) + dce4: 20004d84 .word 0x20004d84 + dce8: 0000dbe9 .word 0x0000dbe9 + dcec: 00010b39 .word 0x00010b39 + dcf0: 00010a71 .word 0x00010a71 + dcf4: 0000147d .word 0x0000147d + dcf8: 20002bb6 .word 0x20002bb6 + dcfc: 0001104d .word 0x0001104d + dd00: 00018894 .word 0x00018894 + dd04: 00001485 .word 0x00001485 + +0000dd08 : * @param src the image source: pointer to an `lv_img_dsc_t` variable, a file path or a symbol * @param header store the image data here * @return LV_RES_OK: the info is successfully stored in `header`; LV_RES_INV: unknown format or other error. */ lv_res_t lv_img_decoder_built_in_info(lv_img_decoder_t * decoder, const void * src, lv_img_header_t * header) { - dca0: b530 push {r4, r5, lr} - dca2: b085 sub sp, #20 - dca4: 000c movs r4, r1 - dca6: 0015 movs r5, r2 + dd08: b530 push {r4, r5, lr} + dd0a: b085 sub sp, #20 + dd0c: 000c movs r4, r1 + dd0e: 0015 movs r5, r2 (void)decoder; /*Unused*/ lv_img_src_t src_type = lv_img_src_get_type(src); - dca8: 0008 movs r0, r1 - dcaa: 4b30 ldr r3, [pc, #192] ; (dd6c ) - dcac: 4798 blx r3 - dcae: 1e03 subs r3, r0, #0 + dd10: 0008 movs r0, r1 + dd12: 4b30 ldr r3, [pc, #192] ; (ddd4 ) + dd14: 4798 blx r3 + dd16: 1e03 subs r3, r0, #0 if(src_type == LV_IMG_SRC_VARIABLE) { - dcb0: d122 bne.n dcf8 + dd18: d122 bne.n dd60 lv_img_cf_t cf = ((lv_img_dsc_t *)src)->header.cf; - dcb2: 7823 ldrb r3, [r4, #0] - dcb4: 06db lsls r3, r3, #27 - dcb6: 0edb lsrs r3, r3, #27 + dd1a: 7823 ldrb r3, [r4, #0] + dd1c: 06db lsls r3, r3, #27 + dd1e: 0edb lsrs r3, r3, #27 if(cf < CF_BUILT_IN_FIRST || cf > CF_BUILT_IN_LAST) return LV_RES_INV; - dcb8: 3b04 subs r3, #4 - dcba: b2db uxtb r3, r3 - dcbc: 2000 movs r0, #0 - dcbe: 2b0a cmp r3, #10 - dcc0: d81f bhi.n dd02 + dd20: 3b04 subs r3, #4 + dd22: b2db uxtb r3, r3 + dd24: 2000 movs r0, #0 + dd26: 2b0a cmp r3, #10 + dd28: d81f bhi.n dd6a header->w = ((lv_img_dsc_t *)src)->header.w; - dcc2: 6823 ldr r3, [r4, #0] - dcc4: 02db lsls r3, r3, #11 - dcc6: 0d5b lsrs r3, r3, #21 - dcc8: 029b lsls r3, r3, #10 - dcca: 4a29 ldr r2, [pc, #164] ; (dd70 ) - dccc: 6829 ldr r1, [r5, #0] - dcce: 400a ands r2, r1 - dcd0: 4313 orrs r3, r2 - dcd2: 602b str r3, [r5, #0] + dd2a: 6823 ldr r3, [r4, #0] + dd2c: 02db lsls r3, r3, #11 + dd2e: 0d5b lsrs r3, r3, #21 + dd30: 029b lsls r3, r3, #10 + dd32: 4a29 ldr r2, [pc, #164] ; (ddd8 ) + dd34: 6829 ldr r1, [r5, #0] + dd36: 400a ands r2, r1 + dd38: 4313 orrs r3, r2 + dd3a: 602b str r3, [r5, #0] header->h = ((lv_img_dsc_t *)src)->header.h; - dcd4: 8863 ldrh r3, [r4, #2] - dcd6: 095b lsrs r3, r3, #5 - dcd8: 015a lsls r2, r3, #5 - dcda: 8869 ldrh r1, [r5, #2] - dcdc: 231f movs r3, #31 - dcde: 400b ands r3, r1 - dce0: 4313 orrs r3, r2 - dce2: 806b strh r3, [r5, #2] + dd3c: 8863 ldrh r3, [r4, #2] + dd3e: 095b lsrs r3, r3, #5 + dd40: 015a lsls r2, r3, #5 + dd42: 8869 ldrh r1, [r5, #2] + dd44: 231f movs r3, #31 + dd46: 400b ands r3, r1 + dd48: 4313 orrs r3, r2 + dd4a: 806b strh r3, [r5, #2] header->cf = ((lv_img_dsc_t *)src)->header.cf; - dce4: 7823 ldrb r3, [r4, #0] - dce6: 06db lsls r3, r3, #27 - dce8: 0eda lsrs r2, r3, #27 - dcea: 782b ldrb r3, [r5, #0] - dcec: 211f movs r1, #31 - dcee: 438b bics r3, r1 - dcf0: 4313 orrs r3, r2 - dcf2: 702b strb r3, [r5, #0] + dd4c: 7823 ldrb r3, [r4, #0] + dd4e: 06db lsls r3, r3, #27 + dd50: 0eda lsrs r2, r3, #27 + dd52: 782b ldrb r3, [r5, #0] + dd54: 211f movs r1, #31 + dd56: 438b bics r3, r1 + dd58: 4313 orrs r3, r2 + dd5a: 702b strb r3, [r5, #0] } else { LV_LOG_WARN("Image get info found unknown src type"); return LV_RES_INV; } return LV_RES_OK; - dcf4: 3001 adds r0, #1 - dcf6: e004 b.n dd02 + dd5c: 3001 adds r0, #1 + dd5e: e004 b.n dd6a else if(src_type == LV_IMG_SRC_FILE) { - dcf8: 2801 cmp r0, #1 - dcfa: d004 beq.n dd06 + dd60: 2801 cmp r0, #1 + dd62: d004 beq.n dd6e return LV_RES_INV; - dcfc: 2000 movs r0, #0 + dd64: 2000 movs r0, #0 else if(src_type == LV_IMG_SRC_SYMBOL) { - dcfe: 2b02 cmp r3, #2 - dd00: d023 beq.n dd4a + dd66: 2b02 cmp r3, #2 + dd68: d023 beq.n ddb2 } - dd02: b005 add sp, #20 - dd04: bd30 pop {r4, r5, pc} + dd6a: b005 add sp, #20 + dd6c: bd30 pop {r4, r5, pc} res = lv_fs_open(&file, src, LV_FS_MODE_RD); - dd06: 2202 movs r2, #2 - dd08: 0021 movs r1, r4 - dd0a: a802 add r0, sp, #8 - dd0c: 4b19 ldr r3, [pc, #100] ; (dd74 ) - dd0e: 4798 blx r3 + dd6e: 2202 movs r2, #2 + dd70: 0021 movs r1, r4 + dd72: a802 add r0, sp, #8 + dd74: 4b19 ldr r3, [pc, #100] ; (dddc ) + dd76: 4798 blx r3 if(res == LV_FS_RES_OK) { - dd10: 2800 cmp r0, #0 - dd12: d00a beq.n dd2a + dd78: 2800 cmp r0, #0 + dd7a: d00a beq.n dd92 if(header->cf < CF_BUILT_IN_FIRST || header->cf > CF_BUILT_IN_LAST) return LV_RES_INV; - dd14: 782b ldrb r3, [r5, #0] - dd16: 06db lsls r3, r3, #27 - dd18: 0edb lsrs r3, r3, #27 - dd1a: 331c adds r3, #28 - dd1c: 221f movs r2, #31 - dd1e: 4013 ands r3, r2 + dd7c: 782b ldrb r3, [r5, #0] + dd7e: 06db lsls r3, r3, #27 + dd80: 0edb lsrs r3, r3, #27 + dd82: 331c adds r3, #28 + dd84: 221f movs r2, #31 + dd86: 4013 ands r3, r2 return LV_RES_OK; - dd20: 2001 movs r0, #1 + dd88: 2001 movs r0, #1 if(header->cf < CF_BUILT_IN_FIRST || header->cf > CF_BUILT_IN_LAST) return LV_RES_INV; - dd22: 2b0a cmp r3, #10 - dd24: d9ed bls.n dd02 + dd8a: 2b0a cmp r3, #10 + dd8c: d9ed bls.n dd6a return LV_RES_INV; - dd26: 2000 movs r0, #0 - dd28: e7eb b.n dd02 + dd8e: 2000 movs r0, #0 + dd90: e7eb b.n dd6a res = lv_fs_read(&file, header, sizeof(lv_img_header_t), &rn); - dd2a: ab01 add r3, sp, #4 - dd2c: 2204 movs r2, #4 - dd2e: 0029 movs r1, r5 - dd30: a802 add r0, sp, #8 - dd32: 4c11 ldr r4, [pc, #68] ; (dd78 ) - dd34: 47a0 blx r4 - dd36: 0004 movs r4, r0 + dd92: ab01 add r3, sp, #4 + dd94: 2204 movs r2, #4 + dd96: 0029 movs r1, r5 + dd98: a802 add r0, sp, #8 + dd9a: 4c11 ldr r4, [pc, #68] ; (dde0 ) + dd9c: 47a0 blx r4 + dd9e: 0004 movs r4, r0 lv_fs_close(&file); - dd38: a802 add r0, sp, #8 - dd3a: 4b10 ldr r3, [pc, #64] ; (dd7c ) - dd3c: 4798 blx r3 + dda0: a802 add r0, sp, #8 + dda2: 4b10 ldr r3, [pc, #64] ; (dde4 ) + dda4: 4798 blx r3 if(res != LV_FS_RES_OK || rn != sizeof(lv_img_header_t)) { - dd3e: 2c00 cmp r4, #0 - dd40: d1f1 bne.n dd26 - dd42: 9b01 ldr r3, [sp, #4] - dd44: 2b04 cmp r3, #4 - dd46: d1ee bne.n dd26 - dd48: e7e4 b.n dd14 + dda6: 2c00 cmp r4, #0 + dda8: d1f1 bne.n dd8e + ddaa: 9b01 ldr r3, [sp, #4] + ddac: 2b04 cmp r3, #4 + ddae: d1ee bne.n dd8e + ddb0: e7e4 b.n dd7c header->w = 1; - dd4a: 4a09 ldr r2, [pc, #36] ; (dd70 ) - dd4c: 682b ldr r3, [r5, #0] - dd4e: 401a ands r2, r3 - dd50: 2380 movs r3, #128 ; 0x80 - dd52: 00db lsls r3, r3, #3 - dd54: 4313 orrs r3, r2 - dd56: 602b str r3, [r5, #0] + ddb2: 4a09 ldr r2, [pc, #36] ; (ddd8 ) + ddb4: 682b ldr r3, [r5, #0] + ddb6: 401a ands r2, r3 + ddb8: 2380 movs r3, #128 ; 0x80 + ddba: 00db lsls r3, r3, #3 + ddbc: 4313 orrs r3, r2 + ddbe: 602b str r3, [r5, #0] header->h = 1; - dd58: 2220 movs r2, #32 - dd5a: 806a strh r2, [r5, #2] + ddc0: 2220 movs r2, #32 + ddc2: 806a strh r2, [r5, #2] header->cf = LV_IMG_CF_ALPHA_1BIT; - dd5c: 32c0 adds r2, #192 ; 0xc0 - dd5e: 4013 ands r3, r2 - dd60: 220b movs r2, #11 - dd62: 4313 orrs r3, r2 - dd64: 702b strb r3, [r5, #0] + ddc4: 32c0 adds r2, #192 ; 0xc0 + ddc6: 4013 ands r3, r2 + ddc8: 220b movs r2, #11 + ddca: 4313 orrs r3, r2 + ddcc: 702b strb r3, [r5, #0] return LV_RES_OK; - dd66: 3001 adds r0, #1 - dd68: e7cb b.n dd02 - dd6a: 46c0 nop ; (mov r8, r8) - dd6c: 000080f9 .word 0x000080f9 - dd70: ffe003ff .word 0xffe003ff - dd74: 000103c1 .word 0x000103c1 - dd78: 00010325 .word 0x00010325 - dd7c: 000102f5 .word 0x000102f5 - -0000dd80 : + ddce: 3001 adds r0, #1 + ddd0: e7cb b.n dd6a + ddd2: 46c0 nop ; (mov r8, r8) + ddd4: 00008161 .word 0x00008161 + ddd8: ffe003ff .word 0xffe003ff + dddc: 00010429 .word 0x00010429 + dde0: 0001038d .word 0x0001038d + dde4: 0001035d .word 0x0001035d + +0000dde8 : * Close the pending decoding. Free resources etc. * @param decoder pointer to the decoder the function associated with * @param dsc pointer to decoder descriptor */ void lv_img_decoder_built_in_close(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t * dsc) { - dd80: b570 push {r4, r5, r6, lr} - dd82: 000d movs r5, r1 + dde8: b570 push {r4, r5, r6, lr} + ddea: 000d movs r5, r1 (void)decoder; /*Unused*/ lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - dd84: 69cc ldr r4, [r1, #28] + ddec: 69cc ldr r4, [r1, #28] if(user_data) { - dd86: 2c00 cmp r4, #0 - dd88: d016 beq.n ddb8 + ddee: 2c00 cmp r4, #0 + ddf0: d016 beq.n de20 #if LV_USE_FILESYSTEM if(user_data->f) { - dd8a: 6820 ldr r0, [r4, #0] - dd8c: 2800 cmp r0, #0 - dd8e: d004 beq.n dd9a + ddf2: 6820 ldr r0, [r4, #0] + ddf4: 2800 cmp r0, #0 + ddf6: d004 beq.n de02 lv_fs_close(user_data->f); - dd90: 4b0a ldr r3, [pc, #40] ; (ddbc ) - dd92: 4798 blx r3 + ddf8: 4b0a ldr r3, [pc, #40] ; (de24 ) + ddfa: 4798 blx r3 lv_mem_free(user_data->f); - dd94: 6820 ldr r0, [r4, #0] - dd96: 4b0a ldr r3, [pc, #40] ; (ddc0 ) - dd98: 4798 blx r3 + ddfc: 6820 ldr r0, [r4, #0] + ddfe: 4b0a ldr r3, [pc, #40] ; (de28 ) + de00: 4798 blx r3 } #endif if(user_data->palette) lv_mem_free(user_data->palette); - dd9a: 6860 ldr r0, [r4, #4] - dd9c: 2800 cmp r0, #0 - dd9e: d001 beq.n dda4 - dda0: 4b07 ldr r3, [pc, #28] ; (ddc0 ) - dda2: 4798 blx r3 + de02: 6860 ldr r0, [r4, #4] + de04: 2800 cmp r0, #0 + de06: d001 beq.n de0c + de08: 4b07 ldr r3, [pc, #28] ; (de28 ) + de0a: 4798 blx r3 if(user_data->opa) lv_mem_free(user_data->opa); - dda4: 68a0 ldr r0, [r4, #8] - dda6: 2800 cmp r0, #0 - dda8: d001 beq.n ddae - ddaa: 4b05 ldr r3, [pc, #20] ; (ddc0 ) - ddac: 4798 blx r3 + de0c: 68a0 ldr r0, [r4, #8] + de0e: 2800 cmp r0, #0 + de10: d001 beq.n de16 + de12: 4b05 ldr r3, [pc, #20] ; (de28 ) + de14: 4798 blx r3 lv_mem_free(user_data); - ddae: 0020 movs r0, r4 - ddb0: 4b03 ldr r3, [pc, #12] ; (ddc0 ) - ddb2: 4798 blx r3 + de16: 0020 movs r0, r4 + de18: 4b03 ldr r3, [pc, #12] ; (de28 ) + de1a: 4798 blx r3 dsc->user_data = NULL; - ddb4: 2300 movs r3, #0 - ddb6: 61eb str r3, [r5, #28] + de1c: 2300 movs r3, #0 + de1e: 61eb str r3, [r5, #28] } } - ddb8: bd70 pop {r4, r5, r6, pc} - ddba: 46c0 nop ; (mov r8, r8) - ddbc: 000102f5 .word 0x000102f5 - ddc0: 00010ad1 .word 0x00010ad1 - -0000ddc4 : -{ - ddc4: b5f0 push {r4, r5, r6, r7, lr} - ddc6: 46de mov lr, fp - ddc8: 4657 mov r7, sl - ddca: 464e mov r6, r9 - ddcc: 4645 mov r5, r8 - ddce: b5e0 push {r5, r6, r7, lr} - ddd0: b085 sub sp, #20 - ddd2: 0006 movs r6, r0 - ddd4: 000c movs r4, r1 + de20: bd70 pop {r4, r5, r6, pc} + de22: 46c0 nop ; (mov r8, r8) + de24: 0001035d .word 0x0001035d + de28: 00010b39 .word 0x00010b39 + +0000de2c : +{ + de2c: b5f0 push {r4, r5, r6, r7, lr} + de2e: 46de mov lr, fp + de30: 4657 mov r7, sl + de32: 464e mov r6, r9 + de34: 4645 mov r5, r8 + de36: b5e0 push {r5, r6, r7, lr} + de38: b085 sub sp, #20 + de3a: 0006 movs r6, r0 + de3c: 000c movs r4, r1 if(dsc->src_type == LV_IMG_SRC_FILE) { - ddd6: 7a8b ldrb r3, [r1, #10] - ddd8: 2b01 cmp r3, #1 - ddda: d018 beq.n de0e + de3e: 7a8b ldrb r3, [r1, #10] + de40: 2b01 cmp r3, #1 + de42: d018 beq.n de76 else if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - dddc: 2b00 cmp r3, #0 - ddde: d000 beq.n dde2 - dde0: e14a b.n e078 + de44: 2b00 cmp r3, #0 + de46: d000 beq.n de4a + de48: e14a b.n e0e0 if(((lv_img_dsc_t *)dsc->src)->data == NULL) { - dde2: 684b ldr r3, [r1, #4] - dde4: 689b ldr r3, [r3, #8] - dde6: 2b00 cmp r3, #0 - dde8: d100 bne.n ddec - ddea: e143 b.n e074 + de4a: 684b ldr r3, [r1, #4] + de4c: 689b ldr r3, [r3, #8] + de4e: 2b00 cmp r3, #0 + de50: d100 bne.n de54 + de52: e143 b.n e0dc lv_img_cf_t cf = dsc->header.cf; - ddec: 7b08 ldrb r0, [r1, #12] - ddee: 06c0 lsls r0, r0, #27 - ddf0: 0ec0 lsrs r0, r0, #27 + de54: 7b08 ldrb r0, [r1, #12] + de56: 06c0 lsls r0, r0, #27 + de58: 0ec0 lsrs r0, r0, #27 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - ddf2: 1f03 subs r3, r0, #4 - ddf4: 2b02 cmp r3, #2 - ddf6: d85a bhi.n deae + de5a: 1f03 subs r3, r0, #4 + de5c: 2b02 cmp r3, #2 + de5e: d85a bhi.n df16 dsc->img_data = ((lv_img_dsc_t *)dsc->src)->data; - ddf8: 6863 ldr r3, [r4, #4] - ddfa: 689b ldr r3, [r3, #8] - ddfc: 6123 str r3, [r4, #16] + de60: 6863 ldr r3, [r4, #4] + de62: 689b ldr r3, [r3, #8] + de64: 6123 str r3, [r4, #16] return LV_RES_OK; - ddfe: 2001 movs r0, #1 -} - de00: b005 add sp, #20 - de02: bc3c pop {r2, r3, r4, r5} - de04: 4690 mov r8, r2 - de06: 4699 mov r9, r3 - de08: 46a2 mov sl, r4 - de0a: 46ab mov fp, r5 - de0c: bdf0 pop {r4, r5, r6, r7, pc} + de66: 2001 movs r0, #1 +} + de68: b005 add sp, #20 + de6a: bc3c pop {r2, r3, r4, r5} + de6c: 4690 mov r8, r2 + de6e: 4699 mov r9, r3 + de70: 46a2 mov sl, r4 + de72: 46ab mov fp, r5 + de74: bdf0 pop {r4, r5, r6, r7, pc} if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV; - de0e: 6848 ldr r0, [r1, #4] - de10: 4b9f ldr r3, [pc, #636] ; (e090 ) - de12: 4798 blx r3 - de14: 499f ldr r1, [pc, #636] ; (e094 ) - de16: 4ba0 ldr r3, [pc, #640] ; (e098 ) - de18: 4798 blx r3 - de1a: 2800 cmp r0, #0 - de1c: d11a bne.n de54 + de76: 6848 ldr r0, [r1, #4] + de78: 4b9f ldr r3, [pc, #636] ; (e0f8 ) + de7a: 4798 blx r3 + de7c: 499f ldr r1, [pc, #636] ; (e0fc ) + de7e: 4ba0 ldr r3, [pc, #640] ; (e100 ) + de80: 4798 blx r3 + de82: 2800 cmp r0, #0 + de84: d11a bne.n debc lv_fs_res_t res = lv_fs_open(&f, dsc->src, LV_FS_MODE_RD); - de1e: 2202 movs r2, #2 - de20: 6861 ldr r1, [r4, #4] - de22: a802 add r0, sp, #8 - de24: 4b9d ldr r3, [pc, #628] ; (e09c ) - de26: 4798 blx r3 + de86: 2202 movs r2, #2 + de88: 6861 ldr r1, [r4, #4] + de8a: a802 add r0, sp, #8 + de8c: 4b9d ldr r3, [pc, #628] ; (e104 ) + de8e: 4798 blx r3 if(res != LV_FS_RES_OK) { - de28: 2800 cmp r0, #0 - de2a: d113 bne.n de54 + de90: 2800 cmp r0, #0 + de92: d113 bne.n debc if(dsc->user_data == NULL) { - de2c: 69e3 ldr r3, [r4, #28] - de2e: 2b00 cmp r3, #0 - de30: d012 beq.n de58 + de94: 69e3 ldr r3, [r4, #28] + de96: 2b00 cmp r3, #0 + de98: d012 beq.n dec0 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - de32: 69e5 ldr r5, [r4, #28] + de9a: 69e5 ldr r5, [r4, #28] user_data->f = lv_mem_alloc(sizeof(f)); - de34: 2008 movs r0, #8 - de36: 4b9a ldr r3, [pc, #616] ; (e0a0 ) - de38: 4798 blx r3 - de3a: 6028 str r0, [r5, #0] + de9c: 2008 movs r0, #8 + de9e: 4b9a ldr r3, [pc, #616] ; (e108 ) + dea0: 4798 blx r3 + dea2: 6028 str r0, [r5, #0] LV_ASSERT_MEM(user_data->f); - de3c: 4b99 ldr r3, [pc, #612] ; (e0a4 ) - de3e: 4798 blx r3 - de40: 2800 cmp r0, #0 - de42: d01e beq.n de82 + dea4: 4b99 ldr r3, [pc, #612] ; (e10c ) + dea6: 4798 blx r3 + dea8: 2800 cmp r0, #0 + deaa: d01e beq.n deea if(user_data->f == NULL) { - de44: 682a ldr r2, [r5, #0] - de46: 2300 movs r3, #0 - de48: 2a00 cmp r2, #0 - de4a: d120 bne.n de8e + deac: 682a ldr r2, [r5, #0] + deae: 2300 movs r3, #0 + deb0: 2a00 cmp r2, #0 + deb2: d120 bne.n def6 lv_img_decoder_built_in_close(decoder, dsc); - de4c: 0021 movs r1, r4 - de4e: 0030 movs r0, r6 - de50: 4b95 ldr r3, [pc, #596] ; (e0a8 ) - de52: 4798 blx r3 + deb4: 0021 movs r1, r4 + deb6: 0030 movs r0, r6 + deb8: 4b95 ldr r3, [pc, #596] ; (e110 ) + deba: 4798 blx r3 if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV; - de54: 2000 movs r0, #0 - de56: e7d3 b.n de00 + debc: 2000 movs r0, #0 + debe: e7d3 b.n de68 dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); - de58: 300c adds r0, #12 - de5a: 4b91 ldr r3, [pc, #580] ; (e0a0 ) - de5c: 4798 blx r3 - de5e: 61e0 str r0, [r4, #28] + dec0: 300c adds r0, #12 + dec2: 4b91 ldr r3, [pc, #580] ; (e108 ) + dec4: 4798 blx r3 + dec6: 61e0 str r0, [r4, #28] LV_ASSERT_MEM(dsc->user_data); - de60: 4b90 ldr r3, [pc, #576] ; (e0a4 ) - de62: 4798 blx r3 - de64: 2800 cmp r0, #0 - de66: d105 bne.n de74 - de68: 69e2 ldr r2, [r4, #28] - de6a: 2300 movs r3, #0 - de6c: 488f ldr r0, [pc, #572] ; (e0ac ) - de6e: 4990 ldr r1, [pc, #576] ; (e0b0 ) - de70: 4788 blx r1 - de72: e7fe b.n de72 + dec8: 4b90 ldr r3, [pc, #576] ; (e10c ) + deca: 4798 blx r3 + decc: 2800 cmp r0, #0 + dece: d105 bne.n dedc + ded0: 69e2 ldr r2, [r4, #28] + ded2: 2300 movs r3, #0 + ded4: 488f ldr r0, [pc, #572] ; (e114 ) + ded6: 4990 ldr r1, [pc, #576] ; (e118 ) + ded8: 4788 blx r1 + deda: e7fe b.n deda if(dsc->user_data == NULL) { - de74: 69e0 ldr r0, [r4, #28] - de76: 2800 cmp r0, #0 - de78: d0ec beq.n de54 + dedc: 69e0 ldr r0, [r4, #28] + dede: 2800 cmp r0, #0 + dee0: d0ec beq.n debc _lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); - de7a: 210c movs r1, #12 - de7c: 4b8d ldr r3, [pc, #564] ; (e0b4 ) - de7e: 4798 blx r3 - de80: e7d7 b.n de32 + dee2: 210c movs r1, #12 + dee4: 4b8d ldr r3, [pc, #564] ; (e11c ) + dee6: 4798 blx r3 + dee8: e7d7 b.n de9a LV_ASSERT_MEM(user_data->f); - de82: 682a ldr r2, [r5, #0] - de84: 2300 movs r3, #0 - de86: 4889 ldr r0, [pc, #548] ; (e0ac ) - de88: 4989 ldr r1, [pc, #548] ; (e0b0 ) - de8a: 4788 blx r1 - de8c: e7fe b.n de8c - de8e: a902 add r1, sp, #8 - de90: 5c59 ldrb r1, [r3, r1] - de92: 54d1 strb r1, [r2, r3] - de94: 3301 adds r3, #1 + deea: 682a ldr r2, [r5, #0] + deec: 2300 movs r3, #0 + deee: 4889 ldr r0, [pc, #548] ; (e114 ) + def0: 4989 ldr r1, [pc, #548] ; (e118 ) + def2: 4788 blx r1 + def4: e7fe b.n def4 + def6: a902 add r1, sp, #8 + def8: 5c59 ldrb r1, [r3, r1] + defa: 54d1 strb r1, [r2, r3] + defc: 3301 adds r3, #1 while(len) { - de96: 2b08 cmp r3, #8 - de98: d1f9 bne.n de8e + defe: 2b08 cmp r3, #8 + df00: d1f9 bne.n def6 lv_img_cf_t cf = dsc->header.cf; - de9a: 7b20 ldrb r0, [r4, #12] - de9c: 06c0 lsls r0, r0, #27 - de9e: 0ec0 lsrs r0, r0, #27 + df02: 7b20 ldrb r0, [r4, #12] + df04: 06c0 lsls r0, r0, #27 + df06: 0ec0 lsrs r0, r0, #27 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - dea0: 1f03 subs r3, r0, #4 - dea2: 2b02 cmp r3, #2 - dea4: d803 bhi.n deae + df08: 1f03 subs r3, r0, #4 + df0a: 2b02 cmp r3, #2 + df0c: d803 bhi.n df16 if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - dea6: 7aa3 ldrb r3, [r4, #10] - dea8: 2b00 cmp r3, #0 - deaa: d0a5 beq.n ddf8 - deac: e0eb b.n e086 + df0e: 7aa3 ldrb r3, [r4, #10] + df10: 2b00 cmp r3, #0 + df12: d0a5 beq.n de60 + df14: e0eb b.n e0ee else if(cf == LV_IMG_CF_INDEXED_1BIT || cf == LV_IMG_CF_INDEXED_2BIT || cf == LV_IMG_CF_INDEXED_4BIT || - deae: 1fc3 subs r3, r0, #7 - deb0: 2b03 cmp r3, #3 - deb2: d907 bls.n dec4 + df16: 1fc3 subs r3, r0, #7 + df18: 2b03 cmp r3, #3 + df1a: d907 bls.n df2c else if(cf == LV_IMG_CF_ALPHA_1BIT || cf == LV_IMG_CF_ALPHA_2BIT || cf == LV_IMG_CF_ALPHA_4BIT || - deb4: 380b subs r0, #11 - deb6: 2803 cmp r0, #3 - deb8: d900 bls.n debc - deba: e0d5 b.n e068 + df1c: 380b subs r0, #11 + df1e: 2803 cmp r0, #3 + df20: d900 bls.n df24 + df22: e0d5 b.n e0d0 dsc->img_data = NULL; - debc: 2300 movs r3, #0 - debe: 6123 str r3, [r4, #16] + df24: 2300 movs r3, #0 + df26: 6123 str r3, [r4, #16] return LV_RES_OK; /*Nothing to process*/ - dec0: 2001 movs r0, #1 - dec2: e79d b.n de00 + df28: 2001 movs r0, #1 + df2a: e79d b.n de68 uint8_t px_size = lv_img_cf_get_px_size(cf); - dec4: 4b7c ldr r3, [pc, #496] ; (e0b8 ) - dec6: 4798 blx r3 - dec8: 0007 movs r7, r0 + df2c: 4b7c ldr r3, [pc, #496] ; (e120 ) + df2e: 4798 blx r3 + df30: 0007 movs r7, r0 if(dsc->user_data == NULL) { - deca: 69e3 ldr r3, [r4, #28] - decc: 2b00 cmp r3, #0 - dece: d00f beq.n def0 + df32: 69e3 ldr r3, [r4, #28] + df34: 2b00 cmp r3, #0 + df36: d00f beq.n df58 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - ded0: 69e5 ldr r5, [r4, #28] + df38: 69e5 ldr r5, [r4, #28] user_data->palette = lv_mem_alloc(palette_size * sizeof(lv_color_t)); - ded2: 2002 movs r0, #2 - ded4: 40b8 lsls r0, r7 - ded6: 4b72 ldr r3, [pc, #456] ; (e0a0 ) - ded8: 4798 blx r3 - deda: 6068 str r0, [r5, #4] + df3a: 2002 movs r0, #2 + df3c: 40b8 lsls r0, r7 + df3e: 4b72 ldr r3, [pc, #456] ; (e108 ) + df40: 4798 blx r3 + df42: 6068 str r0, [r5, #4] LV_ASSERT_MEM(user_data->palette); - dedc: 4b71 ldr r3, [pc, #452] ; (e0a4 ) - dede: 4798 blx r3 - dee0: 2800 cmp r0, #0 - dee2: d120 bne.n df26 - dee4: 686a ldr r2, [r5, #4] - dee6: 2300 movs r3, #0 - dee8: 4870 ldr r0, [pc, #448] ; (e0ac ) - deea: 4971 ldr r1, [pc, #452] ; (e0b0 ) - deec: 4788 blx r1 - deee: e7fe b.n deee + df44: 4b71 ldr r3, [pc, #452] ; (e10c ) + df46: 4798 blx r3 + df48: 2800 cmp r0, #0 + df4a: d120 bne.n df8e + df4c: 686a ldr r2, [r5, #4] + df4e: 2300 movs r3, #0 + df50: 4870 ldr r0, [pc, #448] ; (e114 ) + df52: 4971 ldr r1, [pc, #452] ; (e118 ) + df54: 4788 blx r1 + df56: e7fe b.n df56 dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); - def0: 200c movs r0, #12 - def2: 4b6b ldr r3, [pc, #428] ; (e0a0 ) - def4: 4798 blx r3 - def6: 61e0 str r0, [r4, #28] + df58: 200c movs r0, #12 + df5a: 4b6b ldr r3, [pc, #428] ; (e108 ) + df5c: 4798 blx r3 + df5e: 61e0 str r0, [r4, #28] LV_ASSERT_MEM(dsc->user_data); - def8: 4b6a ldr r3, [pc, #424] ; (e0a4 ) - defa: 4798 blx r3 - defc: 2800 cmp r0, #0 - defe: d105 bne.n df0c - df00: 69e2 ldr r2, [r4, #28] - df02: 2300 movs r3, #0 - df04: 4869 ldr r0, [pc, #420] ; (e0ac ) - df06: 496a ldr r1, [pc, #424] ; (e0b0 ) - df08: 4788 blx r1 - df0a: e7fe b.n df0a + df60: 4b6a ldr r3, [pc, #424] ; (e10c ) + df62: 4798 blx r3 + df64: 2800 cmp r0, #0 + df66: d105 bne.n df74 + df68: 69e2 ldr r2, [r4, #28] + df6a: 2300 movs r3, #0 + df6c: 4869 ldr r0, [pc, #420] ; (e114 ) + df6e: 496a ldr r1, [pc, #424] ; (e118 ) + df70: 4788 blx r1 + df72: e7fe b.n df72 if(dsc->user_data == NULL) { - df0c: 69e0 ldr r0, [r4, #28] - df0e: 2800 cmp r0, #0 - df10: d105 bne.n df1e + df74: 69e0 ldr r0, [r4, #28] + df76: 2800 cmp r0, #0 + df78: d105 bne.n df86 lv_img_decoder_built_in_close(decoder, dsc); - df12: 0021 movs r1, r4 - df14: 0030 movs r0, r6 - df16: 4b64 ldr r3, [pc, #400] ; (e0a8 ) - df18: 4798 blx r3 + df7a: 0021 movs r1, r4 + df7c: 0030 movs r0, r6 + df7e: 4b64 ldr r3, [pc, #400] ; (e110 ) + df80: 4798 blx r3 return LV_RES_INV; - df1a: 2000 movs r0, #0 - df1c: e770 b.n de00 + df82: 2000 movs r0, #0 + df84: e770 b.n de68 _lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); - df1e: 210c movs r1, #12 - df20: 4b64 ldr r3, [pc, #400] ; (e0b4 ) - df22: 4798 blx r3 - df24: e7d4 b.n ded0 + df86: 210c movs r1, #12 + df88: 4b64 ldr r3, [pc, #400] ; (e11c ) + df8a: 4798 blx r3 + df8c: e7d4 b.n df38 uint32_t palette_size = 1 << px_size; - df26: 2301 movs r3, #1 - df28: 40bb lsls r3, r7 - df2a: 001f movs r7, r3 + df8e: 2301 movs r3, #1 + df90: 40bb lsls r3, r7 + df92: 001f movs r7, r3 user_data->opa = lv_mem_alloc(palette_size * sizeof(lv_opa_t)); - df2c: 0018 movs r0, r3 - df2e: 4b5c ldr r3, [pc, #368] ; (e0a0 ) - df30: 4798 blx r3 - df32: 60a8 str r0, [r5, #8] + df94: 0018 movs r0, r3 + df96: 4b5c ldr r3, [pc, #368] ; (e108 ) + df98: 4798 blx r3 + df9a: 60a8 str r0, [r5, #8] LV_ASSERT_MEM(user_data->opa); - df34: 4b5b ldr r3, [pc, #364] ; (e0a4 ) - df36: 4798 blx r3 - df38: 2800 cmp r0, #0 - df3a: d047 beq.n dfcc + df9c: 4b5b ldr r3, [pc, #364] ; (e10c ) + df9e: 4798 blx r3 + dfa0: 2800 cmp r0, #0 + dfa2: d047 beq.n e034 if(user_data->palette == NULL || user_data->opa == NULL) { - df3c: 686b ldr r3, [r5, #4] - df3e: 2b00 cmp r3, #0 - df40: d04a beq.n dfd8 - df42: 68ab ldr r3, [r5, #8] - df44: 2b00 cmp r3, #0 - df46: d047 beq.n dfd8 + dfa4: 686b ldr r3, [r5, #4] + dfa6: 2b00 cmp r3, #0 + dfa8: d04a beq.n e040 + dfaa: 68ab ldr r3, [r5, #8] + dfac: 2b00 cmp r3, #0 + dfae: d047 beq.n e040 if(dsc->src_type == LV_IMG_SRC_FILE) { - df48: 7aa3 ldrb r3, [r4, #10] - df4a: 2b01 cmp r3, #1 - df4c: d04a beq.n dfe4 + dfb0: 7aa3 ldrb r3, [r4, #10] + dfb2: 2b01 cmp r3, #1 + dfb4: d04a beq.n e04c lv_color32_t * palette_p = (lv_color32_t *)((lv_img_dsc_t *)dsc->src)->data; - df4e: 6863 ldr r3, [r4, #4] - df50: 6898 ldr r0, [r3, #8] + dfb6: 6863 ldr r3, [r4, #4] + dfb8: 6898 ldr r0, [r3, #8] for(i = 0; i < palette_size; i++) { - df52: 2f00 cmp r7, #0 - df54: d100 bne.n df58 - df56: e083 b.n e060 - df58: 2300 movs r3, #0 - df5a: 4698 mov r8, r3 + dfba: 2f00 cmp r7, #0 + dfbc: d100 bne.n dfc0 + dfbe: e083 b.n e0c8 + dfc0: 2300 movs r3, #0 + dfc2: 4698 mov r8, r3 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/ #endif static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) { return LV_COLOR_MAKE(r, g, b); - df5c: 333f adds r3, #63 ; 0x3f - df5e: 469b mov fp, r3 - df60: 3b20 subs r3, #32 - df62: 4699 mov r9, r3 + dfc4: 333f adds r3, #63 ; 0x3f + dfc6: 469b mov fp, r3 + dfc8: 3b20 subs r3, #32 + dfca: 4699 mov r9, r3 user_data->palette[i] = lv_color_make(palette_p[i].ch.red, palette_p[i].ch.green, palette_p[i].ch.blue); - df64: 4b55 ldr r3, [pc, #340] ; (e0bc ) - df66: 469a mov sl, r3 - df68: 4641 mov r1, r8 - df6a: 9401 str r4, [sp, #4] - df6c: 004a lsls r2, r1, #1 - df6e: 686b ldr r3, [r5, #4] - df70: 469c mov ip, r3 - df72: 4462 add r2, ip - df74: 7843 ldrb r3, [r0, #1] - df76: 089c lsrs r4, r3, #2 - df78: 9400 str r4, [sp, #0] - df7a: 7886 ldrb r6, [r0, #2] - df7c: 08f6 lsrs r6, r6, #3 - df7e: 464c mov r4, r9 - df80: 4026 ands r6, r4 - df82: 7804 ldrb r4, [r0, #0] - df84: 08e4 lsrs r4, r4, #3 - df86: 46a4 mov ip, r4 - df88: 7814 ldrb r4, [r2, #0] - df8a: 464b mov r3, r9 - df8c: 439c bics r4, r3 - df8e: 46a0 mov r8, r4 - df90: 4664 mov r4, ip - df92: 4643 mov r3, r8 - df94: 431c orrs r4, r3 - df96: 7014 strb r4, [r2, #0] - df98: 465b mov r3, fp - df9a: 9c00 ldr r4, [sp, #0] - df9c: 401c ands r4, r3 - df9e: 0163 lsls r3, r4, #5 - dfa0: 469c mov ip, r3 - dfa2: 8813 ldrh r3, [r2, #0] - dfa4: 4654 mov r4, sl - dfa6: 4023 ands r3, r4 - dfa8: 4664 mov r4, ip - dfaa: 4323 orrs r3, r4 - dfac: 8013 strh r3, [r2, #0] - dfae: 00f6 lsls r6, r6, #3 - dfb0: 0a1b lsrs r3, r3, #8 - dfb2: 2407 movs r4, #7 - dfb4: 4023 ands r3, r4 - dfb6: 4333 orrs r3, r6 - dfb8: 7053 strb r3, [r2, #1] + dfcc: 4b55 ldr r3, [pc, #340] ; (e124 ) + dfce: 469a mov sl, r3 + dfd0: 4641 mov r1, r8 + dfd2: 9401 str r4, [sp, #4] + dfd4: 004a lsls r2, r1, #1 + dfd6: 686b ldr r3, [r5, #4] + dfd8: 469c mov ip, r3 + dfda: 4462 add r2, ip + dfdc: 7843 ldrb r3, [r0, #1] + dfde: 089c lsrs r4, r3, #2 + dfe0: 9400 str r4, [sp, #0] + dfe2: 7886 ldrb r6, [r0, #2] + dfe4: 08f6 lsrs r6, r6, #3 + dfe6: 464c mov r4, r9 + dfe8: 4026 ands r6, r4 + dfea: 7804 ldrb r4, [r0, #0] + dfec: 08e4 lsrs r4, r4, #3 + dfee: 46a4 mov ip, r4 + dff0: 7814 ldrb r4, [r2, #0] + dff2: 464b mov r3, r9 + dff4: 439c bics r4, r3 + dff6: 46a0 mov r8, r4 + dff8: 4664 mov r4, ip + dffa: 4643 mov r3, r8 + dffc: 431c orrs r4, r3 + dffe: 7014 strb r4, [r2, #0] + e000: 465b mov r3, fp + e002: 9c00 ldr r4, [sp, #0] + e004: 401c ands r4, r3 + e006: 0163 lsls r3, r4, #5 + e008: 469c mov ip, r3 + e00a: 8813 ldrh r3, [r2, #0] + e00c: 4654 mov r4, sl + e00e: 4023 ands r3, r4 + e010: 4664 mov r4, ip + e012: 4323 orrs r3, r4 + e014: 8013 strh r3, [r2, #0] + e016: 00f6 lsls r6, r6, #3 + e018: 0a1b lsrs r3, r3, #8 + e01a: 2407 movs r4, #7 + e01c: 4023 ands r3, r4 + e01e: 4333 orrs r3, r6 + e020: 7053 strb r3, [r2, #1] user_data->opa[i] = palette_p[i].ch.alpha; - dfba: 78c3 ldrb r3, [r0, #3] - dfbc: 68aa ldr r2, [r5, #8] - dfbe: 5453 strb r3, [r2, r1] + e022: 78c3 ldrb r3, [r0, #3] + e024: 68aa ldr r2, [r5, #8] + e026: 5453 strb r3, [r2, r1] for(i = 0; i < palette_size; i++) { - dfc0: 3101 adds r1, #1 - dfc2: 3004 adds r0, #4 - dfc4: 428f cmp r7, r1 - dfc6: d1d1 bne.n df6c - dfc8: 9c01 ldr r4, [sp, #4] - dfca: e049 b.n e060 + e028: 3101 adds r1, #1 + e02a: 3004 adds r0, #4 + e02c: 428f cmp r7, r1 + e02e: d1d1 bne.n dfd4 + e030: 9c01 ldr r4, [sp, #4] + e032: e049 b.n e0c8 LV_ASSERT_MEM(user_data->opa); - dfcc: 68aa ldr r2, [r5, #8] - dfce: 2300 movs r3, #0 - dfd0: 4836 ldr r0, [pc, #216] ; (e0ac ) - dfd2: 4937 ldr r1, [pc, #220] ; (e0b0 ) - dfd4: 4788 blx r1 - dfd6: e7fe b.n dfd6 + e034: 68aa ldr r2, [r5, #8] + e036: 2300 movs r3, #0 + e038: 4836 ldr r0, [pc, #216] ; (e114 ) + e03a: 4937 ldr r1, [pc, #220] ; (e118 ) + e03c: 4788 blx r1 + e03e: e7fe b.n e03e lv_img_decoder_built_in_close(decoder, dsc); - dfd8: 0021 movs r1, r4 - dfda: 0030 movs r0, r6 - dfdc: 4b32 ldr r3, [pc, #200] ; (e0a8 ) - dfde: 4798 blx r3 + e040: 0021 movs r1, r4 + e042: 0030 movs r0, r6 + e044: 4b32 ldr r3, [pc, #200] ; (e110 ) + e046: 4798 blx r3 return LV_RES_INV; - dfe0: 2000 movs r0, #0 - dfe2: e70d b.n de00 + e048: 2000 movs r0, #0 + e04a: e70d b.n de68 lv_fs_seek(user_data->f, 4); /*Skip the header*/ - dfe4: 2104 movs r1, #4 - dfe6: 6828 ldr r0, [r5, #0] - dfe8: 4b35 ldr r3, [pc, #212] ; (e0c0 ) - dfea: 4798 blx r3 + e04c: 2104 movs r1, #4 + e04e: 6828 ldr r0, [r5, #0] + e050: 4b35 ldr r3, [pc, #212] ; (e128 ) + e052: 4798 blx r3 for(i = 0; i < palette_size; i++) { - dfec: 2f00 cmp r7, #0 - dfee: d037 beq.n e060 - dff0: 2600 movs r6, #0 + e054: 2f00 cmp r7, #0 + e056: d037 beq.n e0c8 + e058: 2600 movs r6, #0 lv_fs_read(user_data->f, &cur_color, sizeof(lv_color32_t), NULL); - dff2: 4b34 ldr r3, [pc, #208] ; (e0c4 ) - dff4: 469a mov sl, r3 - dff6: 233f movs r3, #63 ; 0x3f - dff8: 4699 mov r9, r3 - dffa: 3b20 subs r3, #32 - dffc: 4698 mov r8, r3 - dffe: 2300 movs r3, #0 - e000: 2204 movs r2, #4 - e002: a902 add r1, sp, #8 - e004: 6828 ldr r0, [r5, #0] - e006: 47d0 blx sl + e05a: 4b34 ldr r3, [pc, #208] ; (e12c ) + e05c: 469a mov sl, r3 + e05e: 233f movs r3, #63 ; 0x3f + e060: 4699 mov r9, r3 + e062: 3b20 subs r3, #32 + e064: 4698 mov r8, r3 + e066: 2300 movs r3, #0 + e068: 2204 movs r2, #4 + e06a: a902 add r1, sp, #8 + e06c: 6828 ldr r0, [r5, #0] + e06e: 47d0 blx sl user_data->palette[i] = lv_color_make(cur_color.ch.red, cur_color.ch.green, cur_color.ch.blue); - e008: 0072 lsls r2, r6, #1 - e00a: 686b ldr r3, [r5, #4] - e00c: 469c mov ip, r3 - e00e: 4462 add r2, ip - e010: ab02 add r3, sp, #8 - e012: 785b ldrb r3, [r3, #1] - e014: 0899 lsrs r1, r3, #2 - e016: 9100 str r1, [sp, #0] - e018: a902 add r1, sp, #8 - e01a: 7889 ldrb r1, [r1, #2] - e01c: 08c9 lsrs r1, r1, #3 - e01e: 4640 mov r0, r8 - e020: 4001 ands r1, r0 - e022: 468b mov fp, r1 - e024: a902 add r1, sp, #8 - e026: 7808 ldrb r0, [r1, #0] - e028: 08c0 lsrs r0, r0, #3 - e02a: 7811 ldrb r1, [r2, #0] - e02c: 4643 mov r3, r8 - e02e: 4399 bics r1, r3 - e030: 4308 orrs r0, r1 - e032: 7010 strb r0, [r2, #0] - e034: 464b mov r3, r9 - e036: 9900 ldr r1, [sp, #0] - e038: 4019 ands r1, r3 - e03a: 0148 lsls r0, r1, #5 - e03c: 8813 ldrh r3, [r2, #0] - e03e: 491f ldr r1, [pc, #124] ; (e0bc ) - e040: 400b ands r3, r1 - e042: 4303 orrs r3, r0 - e044: 8013 strh r3, [r2, #0] - e046: 4659 mov r1, fp - e048: 00c9 lsls r1, r1, #3 - e04a: 055b lsls r3, r3, #21 - e04c: 0f5b lsrs r3, r3, #29 - e04e: 430b orrs r3, r1 - e050: 7053 strb r3, [r2, #1] + e070: 0072 lsls r2, r6, #1 + e072: 686b ldr r3, [r5, #4] + e074: 469c mov ip, r3 + e076: 4462 add r2, ip + e078: ab02 add r3, sp, #8 + e07a: 785b ldrb r3, [r3, #1] + e07c: 0899 lsrs r1, r3, #2 + e07e: 9100 str r1, [sp, #0] + e080: a902 add r1, sp, #8 + e082: 7889 ldrb r1, [r1, #2] + e084: 08c9 lsrs r1, r1, #3 + e086: 4640 mov r0, r8 + e088: 4001 ands r1, r0 + e08a: 468b mov fp, r1 + e08c: a902 add r1, sp, #8 + e08e: 7808 ldrb r0, [r1, #0] + e090: 08c0 lsrs r0, r0, #3 + e092: 7811 ldrb r1, [r2, #0] + e094: 4643 mov r3, r8 + e096: 4399 bics r1, r3 + e098: 4308 orrs r0, r1 + e09a: 7010 strb r0, [r2, #0] + e09c: 464b mov r3, r9 + e09e: 9900 ldr r1, [sp, #0] + e0a0: 4019 ands r1, r3 + e0a2: 0148 lsls r0, r1, #5 + e0a4: 8813 ldrh r3, [r2, #0] + e0a6: 491f ldr r1, [pc, #124] ; (e124 ) + e0a8: 400b ands r3, r1 + e0aa: 4303 orrs r3, r0 + e0ac: 8013 strh r3, [r2, #0] + e0ae: 4659 mov r1, fp + e0b0: 00c9 lsls r1, r1, #3 + e0b2: 055b lsls r3, r3, #21 + e0b4: 0f5b lsrs r3, r3, #29 + e0b6: 430b orrs r3, r1 + e0b8: 7053 strb r3, [r2, #1] user_data->opa[i] = cur_color.ch.alpha; - e052: ab02 add r3, sp, #8 - e054: 78db ldrb r3, [r3, #3] - e056: 68aa ldr r2, [r5, #8] - e058: 5593 strb r3, [r2, r6] + e0ba: ab02 add r3, sp, #8 + e0bc: 78db ldrb r3, [r3, #3] + e0be: 68aa ldr r2, [r5, #8] + e0c0: 5593 strb r3, [r2, r6] for(i = 0; i < palette_size; i++) { - e05a: 3601 adds r6, #1 - e05c: 42b7 cmp r7, r6 - e05e: d1ce bne.n dffe + e0c2: 3601 adds r6, #1 + e0c4: 42b7 cmp r7, r6 + e0c6: d1ce bne.n e066 dsc->img_data = NULL; - e060: 2300 movs r3, #0 - e062: 6123 str r3, [r4, #16] + e0c8: 2300 movs r3, #0 + e0ca: 6123 str r3, [r4, #16] return LV_RES_OK; - e064: 2001 movs r0, #1 - e066: e6cb b.n de00 + e0cc: 2001 movs r0, #1 + e0ce: e6cb b.n de68 lv_img_decoder_built_in_close(decoder, dsc); - e068: 0021 movs r1, r4 - e06a: 0030 movs r0, r6 - e06c: 4b0e ldr r3, [pc, #56] ; (e0a8 ) - e06e: 4798 blx r3 + e0d0: 0021 movs r1, r4 + e0d2: 0030 movs r0, r6 + e0d4: 4b0e ldr r3, [pc, #56] ; (e110 ) + e0d6: 4798 blx r3 return LV_RES_INV; - e070: 2000 movs r0, #0 - e072: e6c5 b.n de00 + e0d8: 2000 movs r0, #0 + e0da: e6c5 b.n de68 return LV_RES_INV; - e074: 2000 movs r0, #0 - e076: e6c3 b.n de00 + e0dc: 2000 movs r0, #0 + e0de: e6c3 b.n de68 lv_img_cf_t cf = dsc->header.cf; - e078: 7b08 ldrb r0, [r1, #12] - e07a: 06c0 lsls r0, r0, #27 - e07c: 0ec0 lsrs r0, r0, #27 + e0e0: 7b08 ldrb r0, [r1, #12] + e0e2: 06c0 lsls r0, r0, #27 + e0e4: 0ec0 lsrs r0, r0, #27 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - e07e: 1f03 subs r3, r0, #4 - e080: 2b02 cmp r3, #2 - e082: d900 bls.n e086 - e084: e713 b.n deae + e0e6: 1f03 subs r3, r0, #4 + e0e8: 2b02 cmp r3, #2 + e0ea: d900 bls.n e0ee + e0ec: e713 b.n df16 dsc->img_data = NULL; - e086: 2300 movs r3, #0 - e088: 6123 str r3, [r4, #16] + e0ee: 2300 movs r3, #0 + e0f0: 6123 str r3, [r4, #16] return LV_RES_OK; - e08a: 2001 movs r0, #1 - e08c: e6b8 b.n de00 - e08e: 46c0 nop ; (mov r8, r8) - e090: 00010489 .word 0x00010489 - e094: 00018a3c .word 0x00018a3c - e098: 00017f3d .word 0x00017f3d - e09c: 000103c1 .word 0x000103c1 - e0a0: 00010a09 .word 0x00010a09 - e0a4: 00001415 .word 0x00001415 - e0a8: 0000dd81 .word 0x0000dd81 - e0ac: 00018804 .word 0x00018804 - e0b0: 0000141d .word 0x0000141d - e0b4: 00010fe5 .word 0x00010fe5 - e0b8: 00007e7d .word 0x00007e7d - e0bc: fffff81f .word 0xfffff81f - e0c0: 00010367 .word 0x00010367 - e0c4: 00010325 .word 0x00010325 - -0000e0c8 : -{ - e0c8: b5f0 push {r4, r5, r6, r7, lr} - e0ca: 46de mov lr, fp - e0cc: 4657 mov r7, sl - e0ce: 464e mov r6, r9 - e0d0: 4645 mov r5, r8 - e0d2: b5e0 push {r5, r6, r7, lr} - e0d4: b08b sub sp, #44 ; 0x2c - e0d6: 000d movs r5, r1 - e0d8: 0017 movs r7, r2 - e0da: 9301 str r3, [sp, #4] - e0dc: ab14 add r3, sp, #80 ; 0x50 - e0de: 2600 movs r6, #0 - e0e0: 5f9e ldrsh r6, [r3, r6] + e0f2: 2001 movs r0, #1 + e0f4: e6b8 b.n de68 + e0f6: 46c0 nop ; (mov r8, r8) + e0f8: 000104f1 .word 0x000104f1 + e0fc: 00018acc .word 0x00018acc + e100: 00017fcd .word 0x00017fcd + e104: 00010429 .word 0x00010429 + e108: 00010a71 .word 0x00010a71 + e10c: 0000147d .word 0x0000147d + e110: 0000dde9 .word 0x0000dde9 + e114: 00018894 .word 0x00018894 + e118: 00001485 .word 0x00001485 + e11c: 0001104d .word 0x0001104d + e120: 00007ee5 .word 0x00007ee5 + e124: fffff81f .word 0xfffff81f + e128: 000103cf .word 0x000103cf + e12c: 0001038d .word 0x0001038d + +0000e130 : +{ + e130: b5f0 push {r4, r5, r6, r7, lr} + e132: 46de mov lr, fp + e134: 4657 mov r7, sl + e136: 464e mov r6, r9 + e138: 4645 mov r5, r8 + e13a: b5e0 push {r5, r6, r7, lr} + e13c: b08b sub sp, #44 ; 0x2c + e13e: 000d movs r5, r1 + e140: 0017 movs r7, r2 + e142: 9301 str r3, [sp, #4] + e144: ab14 add r3, sp, #80 ; 0x50 + e146: 2600 movs r6, #0 + e148: 5f9e ldrsh r6, [r3, r6] if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA || - e0e2: 7b0a ldrb r2, [r1, #12] - e0e4: 231f movs r3, #31 - e0e6: 4013 ands r3, r2 - e0e8: 1f1a subs r2, r3, #4 - e0ea: 2a02 cmp r2, #2 - e0ec: d836 bhi.n e15c + e14a: 7b0a ldrb r2, [r1, #12] + e14c: 231f movs r3, #31 + e14e: 4013 ands r3, r2 + e150: 1f1a subs r2, r3, #4 + e152: 2a02 cmp r2, #2 + e154: d836 bhi.n e1c4 if(dsc->src_type == LV_IMG_SRC_FILE) { - e0ee: 7a8b ldrb r3, [r1, #10] + e156: 7a8b ldrb r3, [r1, #10] lv_res_t res = LV_RES_INV; - e0f0: 2000 movs r0, #0 + e158: 2000 movs r0, #0 if(dsc->src_type == LV_IMG_SRC_FILE) { - e0f2: 2b01 cmp r3, #1 - e0f4: d006 beq.n e104 + e15a: 2b01 cmp r3, #1 + e15c: d006 beq.n e16c } - e0f6: b00b add sp, #44 ; 0x2c - e0f8: bc3c pop {r2, r3, r4, r5} - e0fa: 4690 mov r8, r2 - e0fc: 4699 mov r9, r3 - e0fe: 46a2 mov sl, r4 - e100: 46ab mov fp, r5 - e102: bdf0 pop {r4, r5, r6, r7, pc} + e15e: b00b add sp, #44 ; 0x2c + e160: bc3c pop {r2, r3, r4, r5} + e162: 4690 mov r8, r2 + e164: 4699 mov r9, r3 + e166: 46a2 mov sl, r4 + e168: 46ab mov fp, r5 + e16a: bdf0 pop {r4, r5, r6, r7, pc} static lv_res_t lv_img_decoder_built_in_line_true_color(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_USE_FILESYSTEM lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - e104: 69cb ldr r3, [r1, #28] - e106: 4699 mov r9, r3 + e16c: 69cb ldr r3, [r1, #28] + e16e: 4699 mov r9, r3 lv_fs_res_t res; uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - e108: 7b08 ldrb r0, [r1, #12] - e10a: 06c0 lsls r0, r0, #27 - e10c: 0ec0 lsrs r0, r0, #27 - e10e: 4bd5 ldr r3, [pc, #852] ; (e464 ) - e110: 4798 blx r3 - e112: 4680 mov r8, r0 + e170: 7b08 ldrb r0, [r1, #12] + e172: 06c0 lsls r0, r0, #27 + e174: 0ec0 lsrs r0, r0, #27 + e176: 4bd5 ldr r3, [pc, #852] ; (e4cc ) + e178: 4798 blx r3 + e17a: 4680 mov r8, r0 uint32_t pos = ((y * dsc->header.w + x) * px_size) >> 3; - e114: 68e9 ldr r1, [r5, #12] - e116: 02c9 lsls r1, r1, #11 - e118: 0d49 lsrs r1, r1, #21 - e11a: 9b01 ldr r3, [sp, #4] - e11c: 434b muls r3, r1 - e11e: 19d9 adds r1, r3, r7 - e120: 4341 muls r1, r0 - e122: 10c9 asrs r1, r1, #3 + e17c: 68e9 ldr r1, [r5, #12] + e17e: 02c9 lsls r1, r1, #11 + e180: 0d49 lsrs r1, r1, #21 + e182: 9b01 ldr r3, [sp, #4] + e184: 434b muls r3, r1 + e186: 19d9 adds r1, r3, r7 + e188: 4341 muls r1, r0 + e18a: 10c9 asrs r1, r1, #3 pos += 4; /*Skip the header*/ - e124: 3104 adds r1, #4 + e18c: 3104 adds r1, #4 res = lv_fs_seek(user_data->f, pos); - e126: 464b mov r3, r9 - e128: 6818 ldr r0, [r3, #0] - e12a: 4bcf ldr r3, [pc, #828] ; (e468 ) - e12c: 4798 blx r3 - e12e: 0003 movs r3, r0 + e18e: 464b mov r3, r9 + e190: 6818 ldr r0, [r3, #0] + e192: 4bcf ldr r3, [pc, #828] ; (e4d0 ) + e194: 4798 blx r3 + e196: 0003 movs r3, r0 if(res != LV_FS_RES_OK) { LV_LOG_WARN("Built-in image decoder seek failed"); return LV_RES_INV; - e130: 2000 movs r0, #0 + e198: 2000 movs r0, #0 if(res != LV_FS_RES_OK) { - e132: 2b00 cmp r3, #0 - e134: d1df bne.n e0f6 + e19a: 2b00 cmp r3, #0 + e19c: d1df bne.n e15e } uint32_t btr = len * (px_size >> 3); - e136: 4643 mov r3, r8 - e138: 08d8 lsrs r0, r3, #3 - e13a: b2c0 uxtb r0, r0 - e13c: 4346 muls r6, r0 + e19e: 4643 mov r3, r8 + e1a0: 08d8 lsrs r0, r3, #3 + e1a2: b2c0 uxtb r0, r0 + e1a4: 4346 muls r6, r0 uint32_t br = 0; - e13e: 2300 movs r3, #0 - e140: 9306 str r3, [sp, #24] + e1a6: 2300 movs r3, #0 + e1a8: 9306 str r3, [sp, #24] lv_fs_read(user_data->f, buf, btr, &br); - e142: 464b mov r3, r9 - e144: 6818 ldr r0, [r3, #0] - e146: ab06 add r3, sp, #24 - e148: 0032 movs r2, r6 - e14a: 9915 ldr r1, [sp, #84] ; 0x54 - e14c: 4cc7 ldr r4, [pc, #796] ; (e46c ) - e14e: 47a0 blx r4 + e1aa: 464b mov r3, r9 + e1ac: 6818 ldr r0, [r3, #0] + e1ae: ab06 add r3, sp, #24 + e1b0: 0032 movs r2, r6 + e1b2: 9915 ldr r1, [sp, #84] ; 0x54 + e1b4: 4cc7 ldr r4, [pc, #796] ; (e4d4 ) + e1b6: 47a0 blx r4 if(res != LV_FS_RES_OK || btr != br) { - e150: 9b06 ldr r3, [sp, #24] - e152: 1b9e subs r6, r3, r6 - e154: 4270 negs r0, r6 - e156: 4170 adcs r0, r6 + e1b8: 9b06 ldr r3, [sp, #24] + e1ba: 1b9e subs r6, r3, r6 + e1bc: 4270 negs r0, r6 + e1be: 4170 adcs r0, r6 return LV_RES_INV; - e158: b2c0 uxtb r0, r0 - e15a: e7cc b.n e0f6 + e1c0: b2c0 uxtb r0, r0 + e1c2: e7cc b.n e15e else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || - e15c: 001a movs r2, r3 - e15e: 3a0b subs r2, #11 - e160: 2a03 cmp r2, #3 - e162: d92d bls.n e1c0 + e1c4: 001a movs r2, r3 + e1c6: 3a0b subs r2, #11 + e1c8: 2a03 cmp r2, #3 + e1ca: d92d bls.n e228 else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT || dsc->header.cf == LV_IMG_CF_INDEXED_2BIT || - e164: 3b07 subs r3, #7 + e1cc: 3b07 subs r3, #7 return LV_RES_INV; - e166: 2000 movs r0, #0 + e1ce: 2000 movs r0, #0 else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT || dsc->header.cf == LV_IMG_CF_INDEXED_2BIT || - e168: 2b03 cmp r3, #3 - e16a: d8c4 bhi.n e0f6 + e1d0: 2b03 cmp r3, #3 + e1d2: d8c4 bhi.n e15e static lv_res_t lv_img_decoder_built_in_line_indexed(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_IMG_CF_INDEXED uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - e16c: 7b08 ldrb r0, [r1, #12] - e16e: 06c0 lsls r0, r0, #27 - e170: 0ec0 lsrs r0, r0, #27 - e172: 4bbc ldr r3, [pc, #752] ; (e464 ) - e174: 4798 blx r3 - e176: 4681 mov r9, r0 + e1d4: 7b08 ldrb r0, [r1, #12] + e1d6: 06c0 lsls r0, r0, #27 + e1d8: 0ec0 lsrs r0, r0, #27 + e1da: 4bbc ldr r3, [pc, #752] ; (e4cc ) + e1dc: 4798 blx r3 + e1de: 4681 mov r9, r0 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ - e178: 2301 movs r3, #1 - e17a: 4083 lsls r3, r0 - e17c: 3b01 subs r3, #1 - e17e: b29b uxth r3, r3 - e180: 4698 mov r8, r3 + e1e0: 2301 movs r3, #1 + e1e2: 4083 lsls r3, r0 + e1e4: 3b01 subs r3, #1 + e1e6: b29b uxth r3, r3 + e1e8: 4698 mov r8, r3 lv_coord_t w = 0; int8_t pos = 0; uint32_t ofs = 0; switch(dsc->header.cf) { - e182: 7b2b ldrb r3, [r5, #12] - e184: 06db lsls r3, r3, #27 - e186: 0edb lsrs r3, r3, #27 - e188: b2da uxtb r2, r3 - e18a: 2a08 cmp r2, #8 - e18c: d100 bne.n e190 - e18e: e135 b.n e3fc - e190: d800 bhi.n e194 - e192: e0fe b.n e392 - e194: b2da uxtb r2, r3 - e196: 2a09 cmp r2, #9 - e198: d100 bne.n e19c - e19a: e146 b.n e42a - e19c: 2a0a cmp r2, #10 - e19e: d000 beq.n e1a2 - e1a0: e15b b.n e45a + e1ea: 7b2b ldrb r3, [r5, #12] + e1ec: 06db lsls r3, r3, #27 + e1ee: 0edb lsrs r3, r3, #27 + e1f0: b2da uxtb r2, r3 + e1f2: 2a08 cmp r2, #8 + e1f4: d100 bne.n e1f8 + e1f6: e135 b.n e464 + e1f8: d800 bhi.n e1fc + e1fa: e0fe b.n e3fa + e1fc: b2da uxtb r2, r3 + e1fe: 2a09 cmp r2, #9 + e200: d100 bne.n e204 + e202: e146 b.n e492 + e204: 2a0a cmp r2, #10 + e206: d000 beq.n e20a + e208: e15b b.n e4c2 ofs += w * y + (x >> 1); /*First pixel*/ ofs += 64; /*Skip the palette*/ pos = 4 - ((x & 0x1) * 4); break; case LV_IMG_CF_INDEXED_8BIT: w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ - e1a2: 68eb ldr r3, [r5, #12] - e1a4: 02db lsls r3, r3, #11 - e1a6: 0d5b lsrs r3, r3, #21 - e1a8: b29a uxth r2, r3 - e1aa: b21b sxth r3, r3 - e1ac: 469a mov sl, r3 + e20a: 68eb ldr r3, [r5, #12] + e20c: 02db lsls r3, r3, #11 + e20e: 0d5b lsrs r3, r3, #21 + e210: b29a uxth r2, r3 + e212: b21b sxth r3, r3 + e214: 469a mov sl, r3 ofs += w * y + x; /*First pixel*/ - e1ae: 9c01 ldr r4, [sp, #4] - e1b0: 4354 muls r4, r2 - e1b2: 19e7 adds r7, r4, r7 + e216: 9c01 ldr r4, [sp, #4] + e218: 4354 muls r4, r2 + e21a: 19e7 adds r7, r4, r7 ofs += 1024; /*Skip the palette*/ - e1b4: 2380 movs r3, #128 ; 0x80 - e1b6: 00db lsls r3, r3, #3 - e1b8: 469b mov fp, r3 - e1ba: 44bb add fp, r7 + e21c: 2380 movs r3, #128 ; 0x80 + e21e: 00db lsls r3, r3, #3 + e220: 469b mov fp, r3 + e222: 44bb add fp, r7 pos = 0; - e1bc: 2400 movs r4, #0 - e1be: e0fe b.n e3be + e224: 2400 movs r4, #0 + e226: e0fe b.n e426 const lv_opa_t alpha1_opa_table[2] = {0, 255}; /*Opacity mapping with bpp = 1 (Just for compatibility)*/ - e1c0: 2100 movs r1, #0 - e1c2: ab04 add r3, sp, #16 - e1c4: 7019 strb r1, [r3, #0] - e1c6: 22ff movs r2, #255 ; 0xff - e1c8: 705a strb r2, [r3, #1] + e228: 2100 movs r1, #0 + e22a: ab04 add r3, sp, #16 + e22c: 7019 strb r1, [r3, #0] + e22e: 22ff movs r2, #255 ; 0xff + e230: 705a strb r2, [r3, #1] const lv_opa_t alpha2_opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/ - e1ca: ab05 add r3, sp, #20 - e1cc: 7019 strb r1, [r3, #0] - e1ce: 3155 adds r1, #85 ; 0x55 - e1d0: 7059 strb r1, [r3, #1] - e1d2: 3155 adds r1, #85 ; 0x55 - e1d4: 7099 strb r1, [r3, #2] - e1d6: 70da strb r2, [r3, #3] + e232: ab05 add r3, sp, #20 + e234: 7019 strb r1, [r3, #0] + e236: 3155 adds r1, #85 ; 0x55 + e238: 7059 strb r1, [r3, #1] + e23a: 3155 adds r1, #85 ; 0x55 + e23c: 7099 strb r1, [r3, #2] + e23e: 70da strb r2, [r3, #3] const lv_opa_t alpha4_opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/ - e1d8: aa06 add r2, sp, #24 - e1da: 4ba5 ldr r3, [pc, #660] ; (e470 ) - e1dc: cb13 ldmia r3!, {r0, r1, r4} - e1de: c213 stmia r2!, {r0, r1, r4} - e1e0: 681b ldr r3, [r3, #0] - e1e2: 6013 str r3, [r2, #0] + e240: aa06 add r2, sp, #24 + e242: 4ba5 ldr r3, [pc, #660] ; (e4d8 ) + e244: cb13 ldmia r3!, {r0, r1, r4} + e246: c213 stmia r2!, {r0, r1, r4} + e248: 681b ldr r3, [r3, #0] + e24a: 6013 str r3, [r2, #0] lv_color_t bg_color = dsc->color; - e1e4: 8929 ldrh r1, [r5, #8] + e24c: 8929 ldrh r1, [r5, #8] for(i = 0; i < len; i++) { - e1e6: 2e00 cmp r6, #0 - e1e8: dd11 ble.n e20e + e24e: 2e00 cmp r6, #0 + e250: dd11 ble.n e276 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF; - e1ea: 0a08 lsrs r0, r1, #8 - e1ec: 9c15 ldr r4, [sp, #84] ; 0x54 - e1ee: 1e72 subs r2, r6, #1 - e1f0: b292 uxth r2, r2 - e1f2: 3201 adds r2, #1 - e1f4: 4694 mov ip, r2 - e1f6: 0052 lsls r2, r2, #1 - e1f8: 4462 add r2, ip - e1fa: 0023 movs r3, r4 - e1fc: 46a4 mov ip, r4 - e1fe: 4462 add r2, ip - e200: 9c01 ldr r4, [sp, #4] + e252: 0a08 lsrs r0, r1, #8 + e254: 9c15 ldr r4, [sp, #84] ; 0x54 + e256: 1e72 subs r2, r6, #1 + e258: b292 uxth r2, r2 + e25a: 3201 adds r2, #1 + e25c: 4694 mov ip, r2 + e25e: 0052 lsls r2, r2, #1 + e260: 4462 add r2, ip + e262: 0023 movs r3, r4 + e264: 46a4 mov ip, r4 + e266: 4462 add r2, ip + e268: 9c01 ldr r4, [sp, #4] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full & 0xFF; - e202: 7019 strb r1, [r3, #0] + e26a: 7019 strb r1, [r3, #0] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF; - e204: 7058 strb r0, [r3, #1] - e206: 3303 adds r3, #3 + e26c: 7058 strb r0, [r3, #1] + e26e: 3303 adds r3, #3 for(i = 0; i < len; i++) { - e208: 429a cmp r2, r3 - e20a: d1fa bne.n e202 - e20c: 9401 str r4, [sp, #4] + e270: 429a cmp r2, r3 + e272: d1fa bne.n e26a + e274: 9401 str r4, [sp, #4] uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - e20e: 7b28 ldrb r0, [r5, #12] - e210: 06c0 lsls r0, r0, #27 - e212: 0ec0 lsrs r0, r0, #27 - e214: 4b93 ldr r3, [pc, #588] ; (e464 ) - e216: 4798 blx r3 - e218: 4681 mov r9, r0 + e276: 7b28 ldrb r0, [r5, #12] + e278: 06c0 lsls r0, r0, #27 + e27a: 0ec0 lsrs r0, r0, #27 + e27c: 4b93 ldr r3, [pc, #588] ; (e4cc ) + e27e: 4798 blx r3 + e280: 4681 mov r9, r0 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ - e21a: 2301 movs r3, #1 - e21c: 4083 lsls r3, r0 - e21e: 3b01 subs r3, #1 - e220: b29b uxth r3, r3 - e222: 4698 mov r8, r3 + e282: 2301 movs r3, #1 + e284: 4083 lsls r3, r0 + e286: 3b01 subs r3, #1 + e288: b29b uxth r3, r3 + e28a: 4698 mov r8, r3 switch(dsc->header.cf) { - e224: 7b2b ldrb r3, [r5, #12] - e226: 06db lsls r3, r3, #27 - e228: 0edb lsrs r3, r3, #27 - e22a: b2da uxtb r2, r3 - e22c: 2a0c cmp r2, #12 - e22e: d04b beq.n e2c8 - e230: d911 bls.n e256 - e232: b2da uxtb r2, r3 - e234: 2a0d cmp r2, #13 - e236: d05d beq.n e2f4 - e238: 2a0e cmp r2, #14 - e23a: d170 bne.n e31e + e28c: 7b2b ldrb r3, [r5, #12] + e28e: 06db lsls r3, r3, #27 + e290: 0edb lsrs r3, r3, #27 + e292: b2da uxtb r2, r3 + e294: 2a0c cmp r2, #12 + e296: d04b beq.n e330 + e298: d911 bls.n e2be + e29a: b2da uxtb r2, r3 + e29c: 2a0d cmp r2, #13 + e29e: d05d beq.n e35c + e2a0: 2a0e cmp r2, #14 + e2a2: d170 bne.n e386 w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ - e23c: 68eb ldr r3, [r5, #12] - e23e: 02db lsls r3, r3, #11 - e240: 0d5b lsrs r3, r3, #21 - e242: b299 uxth r1, r3 - e244: b21b sxth r3, r3 - e246: 9302 str r3, [sp, #8] + e2a4: 68eb ldr r3, [r5, #12] + e2a6: 02db lsls r3, r3, #11 + e2a8: 0d5b lsrs r3, r3, #21 + e2aa: b299 uxth r1, r3 + e2ac: b21b sxth r3, r3 + e2ae: 9302 str r3, [sp, #8] ofs += w * y + x; /*First pixel*/ - e248: 9c01 ldr r4, [sp, #4] - e24a: 434c muls r4, r1 - e24c: 19e4 adds r4, r4, r7 + e2b0: 9c01 ldr r4, [sp, #4] + e2b2: 434c muls r4, r1 + e2b4: 19e4 adds r4, r4, r7 pos = 0; - e24e: 2700 movs r7, #0 + e2b6: 2700 movs r7, #0 const lv_opa_t * opa_table = NULL; - e250: 2300 movs r3, #0 - e252: 469a mov sl, r3 - e254: e015 b.n e282 + e2b8: 2300 movs r3, #0 + e2ba: 469a mov sl, r3 + e2bc: e015 b.n e2ea switch(dsc->header.cf) { - e256: 2a0b cmp r2, #11 - e258: d161 bne.n e31e + e2be: 2a0b cmp r2, #11 + e2c0: d161 bne.n e386 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - e25a: 68eb ldr r3, [r5, #12] - e25c: 02db lsls r3, r3, #11 - e25e: 0d5b lsrs r3, r3, #21 - e260: 10da asrs r2, r3, #3 + e2c2: 68eb ldr r3, [r5, #12] + e2c4: 02db lsls r3, r3, #11 + e2c6: 0d5b lsrs r3, r3, #21 + e2c8: 10da asrs r2, r3, #3 if(dsc->header.w & 0x7) w++; - e262: 1c51 adds r1, r2, #1 - e264: 9102 str r1, [sp, #8] - e266: 075b lsls r3, r3, #29 - e268: d101 bne.n e26e + e2ca: 1c51 adds r1, r2, #1 + e2cc: 9102 str r1, [sp, #8] + e2ce: 075b lsls r3, r3, #29 + e2d0: d101 bne.n e2d6 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - e26a: b213 sxth r3, r2 - e26c: 9302 str r3, [sp, #8] + e2d2: b213 sxth r3, r2 + e2d4: 9302 str r3, [sp, #8] ofs += w * y + (x >> 3); /*First pixel*/ - e26e: 9b02 ldr r3, [sp, #8] - e270: 9c01 ldr r4, [sp, #4] - e272: 435c muls r4, r3 - e274: 10f9 asrs r1, r7, #3 - e276: 1864 adds r4, r4, r1 + e2d6: 9b02 ldr r3, [sp, #8] + e2d8: 9c01 ldr r4, [sp, #4] + e2da: 435c muls r4, r3 + e2dc: 10f9 asrs r1, r7, #3 + e2de: 1864 adds r4, r4, r1 pos = 7 - (x & 0x7); - e278: 2307 movs r3, #7 - e27a: 43bb bics r3, r7 - e27c: 001f movs r7, r3 + e2e0: 2307 movs r3, #7 + e2e2: 43bb bics r3, r7 + e2e4: 001f movs r7, r3 opa_table = alpha1_opa_table; - e27e: ab04 add r3, sp, #16 - e280: 469a mov sl, r3 + e2e6: ab04 add r3, sp, #16 + e2e8: 469a mov sl, r3 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - e282: 69eb ldr r3, [r5, #28] - e284: 469b mov fp, r3 + e2ea: 69eb ldr r3, [r5, #28] + e2ec: 469b mov fp, r3 uint8_t * fs_buf = _lv_mem_buf_get(w); - e286: 9802 ldr r0, [sp, #8] - e288: 4b7a ldr r3, [pc, #488] ; (e474 ) - e28a: 4798 blx r3 - e28c: 9003 str r0, [sp, #12] + e2ee: 9802 ldr r0, [sp, #8] + e2f0: 4b7a ldr r3, [pc, #488] ; (e4dc ) + e2f2: 4798 blx r3 + e2f4: 9003 str r0, [sp, #12] if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - e28e: 7aab ldrb r3, [r5, #10] - e290: 2b00 cmp r3, #0 - e292: d14e bne.n e332 + e2f6: 7aab ldrb r3, [r5, #10] + e2f8: 2b00 cmp r3, #0 + e2fa: d14e bne.n e39a data_tmp = img_dsc->data + ofs; - e294: 686b ldr r3, [r5, #4] - e296: 6899 ldr r1, [r3, #8] - e298: 190c adds r4, r1, r4 + e2fc: 686b ldr r3, [r5, #4] + e2fe: 6899 ldr r1, [r3, #8] + e300: 190c adds r4, r1, r4 for(i = 0; i < len; i++) { - e29a: 2e00 cmp r6, #0 - e29c: dd74 ble.n e388 - e29e: 9b15 ldr r3, [sp, #84] ; 0x54 - e2a0: 1c98 adds r0, r3, #2 - e2a2: 3e01 subs r6, #1 - e2a4: b2b6 uxth r6, r6 - e2a6: 0072 lsls r2, r6, #1 - e2a8: 1992 adds r2, r2, r6 - e2aa: 3205 adds r2, #5 - e2ac: 469c mov ip, r3 - e2ae: 4462 add r2, ip + e302: 2e00 cmp r6, #0 + e304: dd74 ble.n e3f0 + e306: 9b15 ldr r3, [sp, #84] ; 0x54 + e308: 1c98 adds r0, r3, #2 + e30a: 3e01 subs r6, #1 + e30c: b2b6 uxth r6, r6 + e30e: 0072 lsls r2, r6, #1 + e310: 1992 adds r2, r2, r6 + e312: 3205 adds r2, #5 + e314: 469c mov ip, r3 + e316: 4462 add r2, ip dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; - e2b0: 211f movs r1, #31 - e2b2: 23ff movs r3, #255 ; 0xff - e2b4: 469b mov fp, r3 + e318: 211f movs r1, #31 + e31a: 23ff movs r3, #255 ; 0xff + e31c: 469b mov fp, r3 pos = 8 - px_size; - e2b6: 2308 movs r3, #8 - e2b8: 464e mov r6, r9 - e2ba: 1b9b subs r3, r3, r6 - e2bc: b25b sxtb r3, r3 - e2be: 9301 str r3, [sp, #4] - e2c0: 46ac mov ip, r5 - e2c2: 0015 movs r5, r2 - e2c4: 46c1 mov r9, r8 - e2c6: e04b b.n e360 + e31e: 2308 movs r3, #8 + e320: 464e mov r6, r9 + e322: 1b9b subs r3, r3, r6 + e324: b25b sxtb r3, r3 + e326: 9301 str r3, [sp, #4] + e328: 46ac mov ip, r5 + e32a: 0015 movs r5, r2 + e32c: 46c1 mov r9, r8 + e32e: e04b b.n e3c8 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - e2c8: 68eb ldr r3, [r5, #12] - e2ca: 02db lsls r3, r3, #11 - e2cc: 0d5b lsrs r3, r3, #21 - e2ce: 109a asrs r2, r3, #2 + e330: 68eb ldr r3, [r5, #12] + e332: 02db lsls r3, r3, #11 + e334: 0d5b lsrs r3, r3, #21 + e336: 109a asrs r2, r3, #2 if(dsc->header.w & 0x3) w++; - e2d0: 1c51 adds r1, r2, #1 - e2d2: 9102 str r1, [sp, #8] - e2d4: 079b lsls r3, r3, #30 - e2d6: d101 bne.n e2dc + e338: 1c51 adds r1, r2, #1 + e33a: 9102 str r1, [sp, #8] + e33c: 079b lsls r3, r3, #30 + e33e: d101 bne.n e344 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - e2d8: b213 sxth r3, r2 - e2da: 9302 str r3, [sp, #8] + e340: b213 sxth r3, r2 + e342: 9302 str r3, [sp, #8] ofs += w * y + (x >> 2); /*First pixel*/ - e2dc: 9b02 ldr r3, [sp, #8] - e2de: 9c01 ldr r4, [sp, #4] - e2e0: 435c muls r4, r3 - e2e2: 10b9 asrs r1, r7, #2 - e2e4: 1864 adds r4, r4, r1 + e344: 9b02 ldr r3, [sp, #8] + e346: 9c01 ldr r4, [sp, #4] + e348: 435c muls r4, r3 + e34a: 10b9 asrs r1, r7, #2 + e34c: 1864 adds r4, r4, r1 pos = 6 - ((x & 0x3) * 2); - e2e6: b2bb uxth r3, r7 - e2e8: 2703 movs r7, #3 - e2ea: 439f bics r7, r3 - e2ec: 007f lsls r7, r7, #1 + e34e: b2bb uxth r3, r7 + e350: 2703 movs r7, #3 + e352: 439f bics r7, r3 + e354: 007f lsls r7, r7, #1 opa_table = alpha2_opa_table; - e2ee: ab05 add r3, sp, #20 - e2f0: 469a mov sl, r3 - e2f2: e7c6 b.n e282 + e356: ab05 add r3, sp, #20 + e358: 469a mov sl, r3 + e35a: e7c6 b.n e2ea w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - e2f4: 68eb ldr r3, [r5, #12] - e2f6: 02db lsls r3, r3, #11 - e2f8: 0d5b lsrs r3, r3, #21 - e2fa: 105a asrs r2, r3, #1 + e35c: 68eb ldr r3, [r5, #12] + e35e: 02db lsls r3, r3, #11 + e360: 0d5b lsrs r3, r3, #21 + e362: 105a asrs r2, r3, #1 if(dsc->header.w & 0x1) w++; - e2fc: 1c51 adds r1, r2, #1 - e2fe: 9102 str r1, [sp, #8] - e300: 07db lsls r3, r3, #31 - e302: d401 bmi.n e308 + e364: 1c51 adds r1, r2, #1 + e366: 9102 str r1, [sp, #8] + e368: 07db lsls r3, r3, #31 + e36a: d401 bmi.n e370 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - e304: b213 sxth r3, r2 - e306: 9302 str r3, [sp, #8] + e36c: b213 sxth r3, r2 + e36e: 9302 str r3, [sp, #8] ofs += w * y + (x >> 1); /*First pixel*/ - e308: 9b02 ldr r3, [sp, #8] - e30a: 9c01 ldr r4, [sp, #4] - e30c: 435c muls r4, r3 - e30e: 1079 asrs r1, r7, #1 - e310: 1864 adds r4, r4, r1 + e370: 9b02 ldr r3, [sp, #8] + e372: 9c01 ldr r4, [sp, #4] + e374: 435c muls r4, r3 + e376: 1079 asrs r1, r7, #1 + e378: 1864 adds r4, r4, r1 pos = 4 - ((x & 0x1) * 4); - e312: 07fb lsls r3, r7, #31 - e314: d509 bpl.n e32a - e316: 2700 movs r7, #0 + e37a: 07fb lsls r3, r7, #31 + e37c: d509 bpl.n e392 + e37e: 2700 movs r7, #0 opa_table = alpha4_opa_table; - e318: ab06 add r3, sp, #24 - e31a: 469a mov sl, r3 - e31c: e7b1 b.n e282 + e380: ab06 add r3, sp, #24 + e382: 469a mov sl, r3 + e384: e7b1 b.n e2ea int8_t pos = 0; - e31e: 2700 movs r7, #0 + e386: 2700 movs r7, #0 uint32_t ofs = 0; - e320: 2400 movs r4, #0 + e388: 2400 movs r4, #0 lv_coord_t w = 0; - e322: 2300 movs r3, #0 - e324: 9302 str r3, [sp, #8] + e38a: 2300 movs r3, #0 + e38c: 9302 str r3, [sp, #8] const lv_opa_t * opa_table = NULL; - e326: 469a mov sl, r3 - e328: e7ab b.n e282 + e38e: 469a mov sl, r3 + e390: e7ab b.n e2ea pos = 4 - ((x & 0x1) * 4); - e32a: 2704 movs r7, #4 + e392: 2704 movs r7, #4 opa_table = alpha4_opa_table; - e32c: ab06 add r3, sp, #24 - e32e: 469a mov sl, r3 - e330: e7a7 b.n e282 + e394: ab06 add r3, sp, #24 + e396: 469a mov sl, r3 + e398: e7a7 b.n e2ea lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/ - e332: 1d21 adds r1, r4, #4 - e334: 465b mov r3, fp - e336: 6818 ldr r0, [r3, #0] - e338: 4b4b ldr r3, [pc, #300] ; (e468 ) - e33a: 4798 blx r3 + e39a: 1d21 adds r1, r4, #4 + e39c: 465b mov r3, fp + e39e: 6818 ldr r0, [r3, #0] + e3a0: 4b4b ldr r3, [pc, #300] ; (e4d0 ) + e3a2: 4798 blx r3 lv_fs_read(user_data->f, fs_buf, w, NULL); - e33c: 465b mov r3, fp - e33e: 6818 ldr r0, [r3, #0] - e340: 2300 movs r3, #0 - e342: 9a02 ldr r2, [sp, #8] - e344: 9903 ldr r1, [sp, #12] - e346: 4c49 ldr r4, [pc, #292] ; (e46c ) - e348: 47a0 blx r4 + e3a4: 465b mov r3, fp + e3a6: 6818 ldr r0, [r3, #0] + e3a8: 2300 movs r3, #0 + e3aa: 9a02 ldr r2, [sp, #8] + e3ac: 9903 ldr r1, [sp, #12] + e3ae: 4c49 ldr r4, [pc, #292] ; (e4d4 ) + e3b0: 47a0 blx r4 data_tmp = fs_buf; - e34a: 9c03 ldr r4, [sp, #12] - e34c: e7a5 b.n e29a + e3b2: 9c03 ldr r4, [sp, #12] + e3b4: e7a5 b.n e302 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - e34e: b2db uxtb r3, r3 + e3b6: b2db uxtb r3, r3 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = - e350: 7003 strb r3, [r0, #0] + e3b8: 7003 strb r3, [r0, #0] pos -= px_size; - e352: 1bbf subs r7, r7, r6 - e354: b27f sxtb r7, r7 + e3ba: 1bbf subs r7, r7, r6 + e3bc: b27f sxtb r7, r7 if(pos < 0) { - e356: 2f00 cmp r7, #0 - e358: db13 blt.n e382 - e35a: 3003 adds r0, #3 + e3be: 2f00 cmp r7, #0 + e3c0: db13 blt.n e3ea + e3c2: 3003 adds r0, #3 for(i = 0; i < len; i++) { - e35c: 4285 cmp r5, r0 - e35e: d013 beq.n e388 + e3c4: 4285 cmp r5, r0 + e3c6: d013 beq.n e3f0 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - e360: 7823 ldrb r3, [r4, #0] - e362: 4698 mov r8, r3 - e364: 464b mov r3, r9 - e366: 40bb lsls r3, r7 - e368: 4642 mov r2, r8 - e36a: 4013 ands r3, r2 - e36c: 413b asrs r3, r7 + e3c8: 7823 ldrb r3, [r4, #0] + e3ca: 4698 mov r8, r3 + e3cc: 464b mov r3, r9 + e3ce: 40bb lsls r3, r7 + e3d0: 4642 mov r2, r8 + e3d2: 4013 ands r3, r2 + e3d4: 413b asrs r3, r7 dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; - e36e: 4662 mov r2, ip - e370: 7b12 ldrb r2, [r2, #12] + e3d6: 4662 mov r2, ip + e3d8: 7b12 ldrb r2, [r2, #12] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = - e372: 400a ands r2, r1 - e374: 2a0e cmp r2, #14 - e376: d0ea beq.n e34e + e3da: 400a ands r2, r1 + e3dc: 2a0e cmp r2, #14 + e3de: d0ea beq.n e3b6 dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; - e378: 465a mov r2, fp - e37a: 4013 ands r3, r2 + e3e0: 465a mov r2, fp + e3e2: 4013 ands r3, r2 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = - e37c: 4652 mov r2, sl - e37e: 5cd3 ldrb r3, [r2, r3] - e380: e7e6 b.n e350 + e3e4: 4652 mov r2, sl + e3e6: 5cd3 ldrb r3, [r2, r3] + e3e8: e7e6 b.n e3b8 pos = 8 - px_size; - e382: 9f01 ldr r7, [sp, #4] + e3ea: 9f01 ldr r7, [sp, #4] data_tmp++; - e384: 3401 adds r4, #1 - e386: e7e8 b.n e35a + e3ec: 3401 adds r4, #1 + e3ee: e7e8 b.n e3c2 _lv_mem_buf_release(fs_buf); - e388: 9803 ldr r0, [sp, #12] - e38a: 4b3b ldr r3, [pc, #236] ; (e478 ) - e38c: 4798 blx r3 + e3f0: 9803 ldr r0, [sp, #12] + e3f2: 4b3b ldr r3, [pc, #236] ; (e4e0 ) + e3f4: 4798 blx r3 res = lv_img_decoder_built_in_line_alpha(dsc, x, y, len, buf); - e38e: 2001 movs r0, #1 - e390: e6b1 b.n e0f6 + e3f6: 2001 movs r0, #1 + e3f8: e6b1 b.n e15e switch(dsc->header.cf) { - e392: 2a07 cmp r2, #7 - e394: d161 bne.n e45a + e3fa: 2a07 cmp r2, #7 + e3fc: d161 bne.n e4c2 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - e396: 68eb ldr r3, [r5, #12] - e398: 02db lsls r3, r3, #11 - e39a: 0d5b lsrs r3, r3, #21 - e39c: 10da asrs r2, r3, #3 + e3fe: 68eb ldr r3, [r5, #12] + e400: 02db lsls r3, r3, #11 + e402: 0d5b lsrs r3, r3, #21 + e404: 10da asrs r2, r3, #3 if(dsc->header.w & 0x7) w++; - e39e: 1c51 adds r1, r2, #1 - e3a0: 468a mov sl, r1 - e3a2: 075b lsls r3, r3, #29 - e3a4: d101 bne.n e3aa + e406: 1c51 adds r1, r2, #1 + e408: 468a mov sl, r1 + e40a: 075b lsls r3, r3, #29 + e40c: d101 bne.n e412 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - e3a6: b213 sxth r3, r2 - e3a8: 469a mov sl, r3 + e40e: b213 sxth r3, r2 + e410: 469a mov sl, r3 ofs += w * y + (x >> 3); /*First pixel*/ - e3aa: 4653 mov r3, sl - e3ac: 9c01 ldr r4, [sp, #4] - e3ae: 435c muls r4, r3 - e3b0: 10fb asrs r3, r7, #3 - e3b2: 18e4 adds r4, r4, r3 + e412: 4653 mov r3, sl + e414: 9c01 ldr r4, [sp, #4] + e416: 435c muls r4, r3 + e418: 10fb asrs r3, r7, #3 + e41a: 18e4 adds r4, r4, r3 ofs += 8; /*Skip the palette*/ - e3b4: 2308 movs r3, #8 - e3b6: 469b mov fp, r3 - e3b8: 44a3 add fp, r4 + e41c: 2308 movs r3, #8 + e41e: 469b mov fp, r3 + e420: 44a3 add fp, r4 pos = 7 - (x & 0x7); - e3ba: 2407 movs r4, #7 - e3bc: 43bc bics r4, r7 + e422: 2407 movs r4, #7 + e424: 43bc bics r4, r7 break; } lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - e3be: 69ef ldr r7, [r5, #28] + e426: 69ef ldr r7, [r5, #28] #if LV_USE_FILESYSTEM uint8_t * fs_buf = _lv_mem_buf_get(w); - e3c0: 4650 mov r0, sl - e3c2: 4b2c ldr r3, [pc, #176] ; (e474 ) - e3c4: 4798 blx r3 - e3c6: 9002 str r0, [sp, #8] + e428: 4650 mov r0, sl + e42a: 4b2c ldr r3, [pc, #176] ; (e4dc ) + e42c: 4798 blx r3 + e42e: 9002 str r0, [sp, #8] #endif const uint8_t * data_tmp = NULL; if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - e3c8: 7aab ldrb r3, [r5, #10] - e3ca: 2b00 cmp r3, #0 - e3cc: d156 bne.n e47c + e430: 7aab ldrb r3, [r5, #10] + e432: 2b00 cmp r3, #0 + e434: d156 bne.n e4e4 const lv_img_dsc_t * img_dsc = dsc->src; data_tmp = img_dsc->data + ofs; - e3ce: 686b ldr r3, [r5, #4] - e3d0: 6899 ldr r1, [r3, #8] - e3d2: 4459 add r1, fp + e436: 686b ldr r3, [r5, #4] + e438: 6899 ldr r1, [r3, #8] + e43a: 4459 add r1, fp return LV_RES_INV; #endif } lv_coord_t i; for(i = 0; i < len; i++) { - e3d4: 2e00 cmp r6, #0 - e3d6: dd78 ble.n e4ca - e3d8: 9815 ldr r0, [sp, #84] ; 0x54 - e3da: 3e01 subs r6, #1 - e3dc: b2b6 uxth r6, r6 - e3de: 3601 adds r6, #1 - e3e0: 0073 lsls r3, r6, #1 - e3e2: 199e adds r6, r3, r6 - e3e4: 4684 mov ip, r0 - e3e6: 4466 add r6, ip + e43c: 2e00 cmp r6, #0 + e43e: dd78 ble.n e532 + e440: 9815 ldr r0, [sp, #84] ; 0x54 + e442: 3e01 subs r6, #1 + e444: b2b6 uxth r6, r6 + e446: 3601 adds r6, #1 + e448: 0073 lsls r3, r6, #1 + e44a: 199e adds r6, r3, r6 + e44c: 4684 mov ip, r0 + e44e: 4466 add r6, ip uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; lv_color_t color = user_data->palette[val_act]; - e3e8: 23ff movs r3, #255 ; 0xff - e3ea: 469a mov sl, r3 + e450: 23ff movs r3, #255 ; 0xff + e452: 469a mov sl, r3 #endif buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; pos -= px_size; if(pos < 0) { pos = 8 - px_size; - e3ec: 2208 movs r2, #8 - e3ee: 464b mov r3, r9 - e3f0: 1ad2 subs r2, r2, r3 - e3f2: b253 sxtb r3, r2 - e3f4: 9301 str r3, [sp, #4] - e3f6: 46b4 mov ip, r6 - e3f8: 464e mov r6, r9 - e3fa: e04f b.n e49c + e454: 2208 movs r2, #8 + e456: 464b mov r3, r9 + e458: 1ad2 subs r2, r2, r3 + e45a: b253 sxtb r3, r2 + e45c: 9301 str r3, [sp, #4] + e45e: 46b4 mov ip, r6 + e460: 464e mov r6, r9 + e462: e04f b.n e504 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - e3fc: 68eb ldr r3, [r5, #12] - e3fe: 02db lsls r3, r3, #11 - e400: 0d5b lsrs r3, r3, #21 - e402: 109a asrs r2, r3, #2 + e464: 68eb ldr r3, [r5, #12] + e466: 02db lsls r3, r3, #11 + e468: 0d5b lsrs r3, r3, #21 + e46a: 109a asrs r2, r3, #2 if(dsc->header.w & 0x3) w++; - e404: 1c51 adds r1, r2, #1 - e406: 468a mov sl, r1 - e408: 079b lsls r3, r3, #30 - e40a: d101 bne.n e410 + e46c: 1c51 adds r1, r2, #1 + e46e: 468a mov sl, r1 + e470: 079b lsls r3, r3, #30 + e472: d101 bne.n e478 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - e40c: b213 sxth r3, r2 - e40e: 469a mov sl, r3 + e474: b213 sxth r3, r2 + e476: 469a mov sl, r3 ofs += w * y + (x >> 2); /*First pixel*/ - e410: 4653 mov r3, sl - e412: 9c01 ldr r4, [sp, #4] - e414: 435c muls r4, r3 - e416: 10bb asrs r3, r7, #2 - e418: 18e4 adds r4, r4, r3 + e478: 4653 mov r3, sl + e47a: 9c01 ldr r4, [sp, #4] + e47c: 435c muls r4, r3 + e47e: 10bb asrs r3, r7, #2 + e480: 18e4 adds r4, r4, r3 ofs += 16; /*Skip the palette*/ - e41a: 2310 movs r3, #16 - e41c: 469b mov fp, r3 - e41e: 44a3 add fp, r4 + e482: 2310 movs r3, #16 + e484: 469b mov fp, r3 + e486: 44a3 add fp, r4 pos = 6 - ((x & 0x3) * 2); - e420: b2bf uxth r7, r7 - e422: 2403 movs r4, #3 - e424: 43bc bics r4, r7 - e426: 0064 lsls r4, r4, #1 - e428: e7c9 b.n e3be + e488: b2bf uxth r7, r7 + e48a: 2403 movs r4, #3 + e48c: 43bc bics r4, r7 + e48e: 0064 lsls r4, r4, #1 + e490: e7c9 b.n e426 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - e42a: 68eb ldr r3, [r5, #12] - e42c: 02db lsls r3, r3, #11 - e42e: 0d5b lsrs r3, r3, #21 - e430: 105a asrs r2, r3, #1 + e492: 68eb ldr r3, [r5, #12] + e494: 02db lsls r3, r3, #11 + e496: 0d5b lsrs r3, r3, #21 + e498: 105a asrs r2, r3, #1 if(dsc->header.w & 0x1) w++; - e432: 1c51 adds r1, r2, #1 - e434: 468a mov sl, r1 - e436: 07db lsls r3, r3, #31 - e438: d401 bmi.n e43e + e49a: 1c51 adds r1, r2, #1 + e49c: 468a mov sl, r1 + e49e: 07db lsls r3, r3, #31 + e4a0: d401 bmi.n e4a6 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - e43a: b213 sxth r3, r2 - e43c: 469a mov sl, r3 + e4a2: b213 sxth r3, r2 + e4a4: 469a mov sl, r3 ofs += w * y + (x >> 1); /*First pixel*/ - e43e: 4653 mov r3, sl - e440: 9c01 ldr r4, [sp, #4] - e442: 435c muls r4, r3 - e444: 107b asrs r3, r7, #1 - e446: 18e4 adds r4, r4, r3 + e4a6: 4653 mov r3, sl + e4a8: 9c01 ldr r4, [sp, #4] + e4aa: 435c muls r4, r3 + e4ac: 107b asrs r3, r7, #1 + e4ae: 18e4 adds r4, r4, r3 ofs += 64; /*Skip the palette*/ - e448: 2340 movs r3, #64 ; 0x40 - e44a: 469b mov fp, r3 - e44c: 44a3 add fp, r4 + e4b0: 2340 movs r3, #64 ; 0x40 + e4b2: 469b mov fp, r3 + e4b4: 44a3 add fp, r4 pos = 4 - ((x & 0x1) * 4); - e44e: 2401 movs r4, #1 - e450: 4027 ands r7, r4 - e452: 427c negs r4, r7 - e454: 417c adcs r4, r7 - e456: 00a4 lsls r4, r4, #2 - e458: e7b1 b.n e3be + e4b6: 2401 movs r4, #1 + e4b8: 4027 ands r7, r4 + e4ba: 427c negs r4, r7 + e4bc: 417c adcs r4, r7 + e4be: 00a4 lsls r4, r4, #2 + e4c0: e7b1 b.n e426 uint32_t ofs = 0; - e45a: 2300 movs r3, #0 - e45c: 469b mov fp, r3 + e4c2: 2300 movs r3, #0 + e4c4: 469b mov fp, r3 int8_t pos = 0; - e45e: 2400 movs r4, #0 + e4c6: 2400 movs r4, #0 lv_coord_t w = 0; - e460: 469a mov sl, r3 - e462: e7ac b.n e3be - e464: 00007e7d .word 0x00007e7d - e468: 00010367 .word 0x00010367 - e46c: 00010325 .word 0x00010325 - e470: 00018a2c .word 0x00018a2c - e474: 00010e59 .word 0x00010e59 - e478: 00010b6d .word 0x00010b6d + e4c8: 469a mov sl, r3 + e4ca: e7ac b.n e426 + e4cc: 00007ee5 .word 0x00007ee5 + e4d0: 000103cf .word 0x000103cf + e4d4: 0001038d .word 0x0001038d + e4d8: 00018abc .word 0x00018abc + e4dc: 00010ec1 .word 0x00010ec1 + e4e0: 00010bd5 .word 0x00010bd5 lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/ - e47c: 4659 mov r1, fp - e47e: 3104 adds r1, #4 - e480: 6838 ldr r0, [r7, #0] - e482: 4b14 ldr r3, [pc, #80] ; (e4d4 ) - e484: 4798 blx r3 + e4e4: 4659 mov r1, fp + e4e6: 3104 adds r1, #4 + e4e8: 6838 ldr r0, [r7, #0] + e4ea: 4b14 ldr r3, [pc, #80] ; (e53c ) + e4ec: 4798 blx r3 lv_fs_read(user_data->f, fs_buf, w, NULL); - e486: 2300 movs r3, #0 - e488: 4652 mov r2, sl - e48a: 9902 ldr r1, [sp, #8] - e48c: 6838 ldr r0, [r7, #0] - e48e: 4d12 ldr r5, [pc, #72] ; (e4d8 ) - e490: 47a8 blx r5 + e4ee: 2300 movs r3, #0 + e4f0: 4652 mov r2, sl + e4f2: 9902 ldr r1, [sp, #8] + e4f4: 6838 ldr r0, [r7, #0] + e4f6: 4d12 ldr r5, [pc, #72] ; (e540 ) + e4f8: 47a8 blx r5 data_tmp = fs_buf; - e492: 9902 ldr r1, [sp, #8] - e494: e79e b.n e3d4 - e496: 3003 adds r0, #3 + e4fa: 9902 ldr r1, [sp, #8] + e4fc: e79e b.n e43c + e4fe: 3003 adds r0, #3 for(i = 0; i < len; i++) { - e498: 4560 cmp r0, ip - e49a: d016 beq.n e4ca + e500: 4560 cmp r0, ip + e502: d016 beq.n e532 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - e49c: 780a ldrb r2, [r1, #0] - e49e: 4643 mov r3, r8 - e4a0: 40a3 lsls r3, r4 - e4a2: 4013 ands r3, r2 - e4a4: 4123 asrs r3, r4 + e504: 780a ldrb r2, [r1, #0] + e506: 4643 mov r3, r8 + e508: 40a3 lsls r3, r4 + e50a: 4013 ands r3, r2 + e50c: 4123 asrs r3, r4 lv_color_t color = user_data->palette[val_act]; - e4a6: 4652 mov r2, sl - e4a8: 4013 ands r3, r2 - e4aa: 005a lsls r2, r3, #1 - e4ac: 687d ldr r5, [r7, #4] - e4ae: 5b52 ldrh r2, [r2, r5] + e50e: 4652 mov r2, sl + e510: 4013 ands r3, r2 + e512: 005a lsls r2, r3, #1 + e514: 687d ldr r5, [r7, #4] + e516: 5b52 ldrh r2, [r2, r5] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = color.full & 0xFF; - e4b0: 7002 strb r2, [r0, #0] + e518: 7002 strb r2, [r0, #0] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (color.full >> 8) & 0xFF; - e4b2: 0a12 lsrs r2, r2, #8 - e4b4: 7042 strb r2, [r0, #1] + e51a: 0a12 lsrs r2, r2, #8 + e51c: 7042 strb r2, [r0, #1] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; - e4b6: 68ba ldr r2, [r7, #8] - e4b8: 5cd3 ldrb r3, [r2, r3] - e4ba: 7083 strb r3, [r0, #2] + e51e: 68ba ldr r2, [r7, #8] + e520: 5cd3 ldrb r3, [r2, r3] + e522: 7083 strb r3, [r0, #2] pos -= px_size; - e4bc: 1ba4 subs r4, r4, r6 - e4be: b264 sxtb r4, r4 + e524: 1ba4 subs r4, r4, r6 + e526: b264 sxtb r4, r4 if(pos < 0) { - e4c0: 2c00 cmp r4, #0 - e4c2: dae8 bge.n e496 + e528: 2c00 cmp r4, #0 + e52a: dae8 bge.n e4fe pos = 8 - px_size; - e4c4: 9c01 ldr r4, [sp, #4] + e52c: 9c01 ldr r4, [sp, #4] data_tmp++; - e4c6: 3101 adds r1, #1 - e4c8: e7e5 b.n e496 + e52e: 3101 adds r1, #1 + e530: e7e5 b.n e4fe } } #if LV_USE_FILESYSTEM _lv_mem_buf_release(fs_buf); - e4ca: 9802 ldr r0, [sp, #8] - e4cc: 4b03 ldr r3, [pc, #12] ; (e4dc ) - e4ce: 4798 blx r3 + e532: 9802 ldr r0, [sp, #8] + e534: 4b03 ldr r3, [pc, #12] ; (e544 ) + e536: 4798 blx r3 res = lv_img_decoder_built_in_line_indexed(dsc, x, y, len, buf); - e4d0: 2001 movs r0, #1 - e4d2: e610 b.n e0f6 - e4d4: 00010367 .word 0x00010367 - e4d8: 00010325 .word 0x00010325 - e4dc: 00010b6d .word 0x00010b6d - -0000e4e0 : -{ - e4e0: b5f0 push {r4, r5, r6, r7, lr} - e4e2: b083 sub sp, #12 - e4e4: 9001 str r0, [sp, #4] - e4e6: 000d movs r5, r1 + e538: 2001 movs r0, #1 + e53a: e610 b.n e15e + e53c: 000103cf .word 0x000103cf + e540: 0001038d .word 0x0001038d + e544: 00010bd5 .word 0x00010bd5 + +0000e548 : +{ + e548: b5f0 push {r4, r5, r6, r7, lr} + e54a: b083 sub sp, #12 + e54c: 9001 str r0, [sp, #4] + e54e: 000d movs r5, r1 header->always_zero = 0; - e4e8: 780a ldrb r2, [r1, #0] - e4ea: 231f movs r3, #31 - e4ec: 4013 ands r3, r2 - e4ee: 700b strb r3, [r1, #0] + e550: 780a ldrb r2, [r1, #0] + e552: 231f movs r3, #31 + e554: 4013 ands r3, r2 + e556: 700b strb r3, [r1, #0] _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - e4f0: 480d ldr r0, [pc, #52] ; (e528 ) - e4f2: 4b0e ldr r3, [pc, #56] ; (e52c ) - e4f4: 4798 blx r3 - e4f6: 1e04 subs r4, r0, #0 - e4f8: d014 beq.n e524 - e4fa: 4e0d ldr r6, [pc, #52] ; (e530 ) - e4fc: e005 b.n e50a + e558: 480d ldr r0, [pc, #52] ; (e590 ) + e55a: 4b0e ldr r3, [pc, #56] ; (e594 ) + e55c: 4798 blx r3 + e55e: 1e04 subs r4, r0, #0 + e560: d014 beq.n e58c + e562: 4e0d ldr r6, [pc, #52] ; (e598 ) + e564: e005 b.n e572 res = LV_RES_INV; - e4fe: 2700 movs r7, #0 + e566: 2700 movs r7, #0 _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - e500: 0021 movs r1, r4 - e502: 4809 ldr r0, [pc, #36] ; (e528 ) - e504: 47b0 blx r6 - e506: 1e04 subs r4, r0, #0 - e508: d009 beq.n e51e + e568: 0021 movs r1, r4 + e56a: 4809 ldr r0, [pc, #36] ; (e590 ) + e56c: 47b0 blx r6 + e56e: 1e04 subs r4, r0, #0 + e570: d009 beq.n e586 if(d->info_cb) { - e50a: 6823 ldr r3, [r4, #0] - e50c: 2b00 cmp r3, #0 - e50e: d0f6 beq.n e4fe + e572: 6823 ldr r3, [r4, #0] + e574: 2b00 cmp r3, #0 + e576: d0f6 beq.n e566 res = d->info_cb(d, src, header); - e510: 002a movs r2, r5 - e512: 9901 ldr r1, [sp, #4] - e514: 0020 movs r0, r4 - e516: 4798 blx r3 - e518: 0007 movs r7, r0 + e578: 002a movs r2, r5 + e57a: 9901 ldr r1, [sp, #4] + e57c: 0020 movs r0, r4 + e57e: 4798 blx r3 + e580: 0007 movs r7, r0 if(res == LV_RES_OK) break; - e51a: 2801 cmp r0, #1 - e51c: d1f0 bne.n e500 + e582: 2801 cmp r0, #1 + e584: d1f0 bne.n e568 } - e51e: 0038 movs r0, r7 - e520: b003 add sp, #12 - e522: bdf0 pop {r4, r5, r6, r7, pc} + e586: 0038 movs r0, r7 + e588: b003 add sp, #12 + e58a: bdf0 pop {r4, r5, r6, r7, pc} lv_res_t res = LV_RES_INV; - e524: 2700 movs r7, #0 - e526: e7fa b.n e51e - e528: 20004cd0 .word 0x20004cd0 - e52c: 00010605 .word 0x00010605 - e530: 0001061d .word 0x0001061d - -0000e534 : -{ - e534: b5f0 push {r4, r5, r6, r7, lr} - e536: b083 sub sp, #12 - e538: 0007 movs r7, r0 - e53a: 9100 str r1, [sp, #0] + e58c: 2700 movs r7, #0 + e58e: e7fa b.n e586 + e590: 20004cd0 .word 0x20004cd0 + e594: 0001066d .word 0x0001066d + e598: 00010685 .word 0x00010685 + +0000e59c : +{ + e59c: b5f0 push {r4, r5, r6, r7, lr} + e59e: b083 sub sp, #12 + e5a0: 0007 movs r7, r0 + e5a2: 9100 str r1, [sp, #0] dsc->color = color; - e53c: 8102 strh r2, [r0, #8] + e5a4: 8102 strh r2, [r0, #8] dsc->src_type = lv_img_src_get_type(src); - e53e: 0008 movs r0, r1 - e540: 4b25 ldr r3, [pc, #148] ; (e5d8 ) - e542: 4798 blx r3 - e544: 72b8 strb r0, [r7, #10] + e5a6: 0008 movs r0, r1 + e5a8: 4b25 ldr r3, [pc, #148] ; (e640 ) + e5aa: 4798 blx r3 + e5ac: 72b8 strb r0, [r7, #10] dsc->user_data = NULL; - e546: 2300 movs r3, #0 - e548: 61fb str r3, [r7, #28] + e5ae: 2300 movs r3, #0 + e5b0: 61fb str r3, [r7, #28] if(dsc->src_type == LV_IMG_SRC_FILE) { - e54a: 2801 cmp r0, #1 - e54c: d00e beq.n e56c + e5b2: 2801 cmp r0, #1 + e5b4: d00e beq.n e5d4 dsc->src = src; - e54e: 9b00 ldr r3, [sp, #0] - e550: 607b str r3, [r7, #4] + e5b6: 9b00 ldr r3, [sp, #0] + e5b8: 607b str r3, [r7, #4] _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - e552: 4822 ldr r0, [pc, #136] ; (e5dc ) - e554: 4b22 ldr r3, [pc, #136] ; (e5e0 ) - e556: 4798 blx r3 - e558: 1e04 subs r4, r0, #0 - e55a: d036 beq.n e5ca - e55c: 2500 movs r5, #0 + e5ba: 4822 ldr r0, [pc, #136] ; (e644 ) + e5bc: 4b22 ldr r3, [pc, #136] ; (e648 ) + e5be: 4798 blx r3 + e5c0: 1e04 subs r4, r0, #0 + e5c2: d036 beq.n e632 + e5c4: 2500 movs r5, #0 res = d->info_cb(d, src, &dsc->header); - e55e: 230c movs r3, #12 - e560: 469c mov ip, r3 - e562: 44bc add ip, r7 - e564: 4663 mov r3, ip - e566: 9301 str r3, [sp, #4] + e5c6: 230c movs r3, #12 + e5c8: 469c mov ip, r3 + e5ca: 44bc add ip, r7 + e5cc: 4663 mov r3, ip + e5ce: 9301 str r3, [sp, #4] _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - e568: 4e1e ldr r6, [pc, #120] ; (e5e4 ) - e56a: e010 b.n e58e + e5d0: 4e1e ldr r6, [pc, #120] ; (e64c ) + e5d2: e010 b.n e5f6 size_t fnlen = strlen(src); - e56c: 9c00 ldr r4, [sp, #0] - e56e: 0020 movs r0, r4 - e570: 4b1d ldr r3, [pc, #116] ; (e5e8 ) - e572: 4798 blx r3 + e5d4: 9c00 ldr r4, [sp, #0] + e5d6: 0020 movs r0, r4 + e5d8: 4b1d ldr r3, [pc, #116] ; (e650 ) + e5da: 4798 blx r3 dsc->src = lv_mem_alloc(fnlen + 1); - e574: 3001 adds r0, #1 - e576: 4b1d ldr r3, [pc, #116] ; (e5ec ) - e578: 4798 blx r3 - e57a: 6078 str r0, [r7, #4] + e5dc: 3001 adds r0, #1 + e5de: 4b1d ldr r3, [pc, #116] ; (e654 ) + e5e0: 4798 blx r3 + e5e2: 6078 str r0, [r7, #4] strcpy((char *)dsc->src, src); - e57c: 0021 movs r1, r4 - e57e: 4b1c ldr r3, [pc, #112] ; (e5f0 ) - e580: 4798 blx r3 - e582: e7e6 b.n e552 + e5e4: 0021 movs r1, r4 + e5e6: 4b1c ldr r3, [pc, #112] ; (e658 ) + e5e8: 4798 blx r3 + e5ea: e7e6 b.n e5ba _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - e584: 0021 movs r1, r4 - e586: 4815 ldr r0, [pc, #84] ; (e5dc ) - e588: 47b0 blx r6 - e58a: 1e04 subs r4, r0, #0 - e58c: d018 beq.n e5c0 + e5ec: 0021 movs r1, r4 + e5ee: 4815 ldr r0, [pc, #84] ; (e644 ) + e5f0: 47b0 blx r6 + e5f2: 1e04 subs r4, r0, #0 + e5f4: d018 beq.n e628 if(d->info_cb == NULL || d->open_cb == NULL) continue; - e58e: 6823 ldr r3, [r4, #0] - e590: 2b00 cmp r3, #0 - e592: d0f7 beq.n e584 - e594: 6862 ldr r2, [r4, #4] - e596: 2a00 cmp r2, #0 - e598: d0f4 beq.n e584 + e5f6: 6823 ldr r3, [r4, #0] + e5f8: 2b00 cmp r3, #0 + e5fa: d0f7 beq.n e5ec + e5fc: 6862 ldr r2, [r4, #4] + e5fe: 2a00 cmp r2, #0 + e600: d0f4 beq.n e5ec res = d->info_cb(d, src, &dsc->header); - e59a: 9a01 ldr r2, [sp, #4] - e59c: 9900 ldr r1, [sp, #0] - e59e: 0020 movs r0, r4 - e5a0: 4798 blx r3 - e5a2: 0005 movs r5, r0 + e602: 9a01 ldr r2, [sp, #4] + e604: 9900 ldr r1, [sp, #0] + e606: 0020 movs r0, r4 + e608: 4798 blx r3 + e60a: 0005 movs r5, r0 if(res != LV_RES_OK) continue; - e5a4: 2801 cmp r0, #1 - e5a6: d1ed bne.n e584 + e60c: 2801 cmp r0, #1 + e60e: d1ed bne.n e5ec dsc->error_msg = NULL; - e5a8: 2300 movs r3, #0 - e5aa: 61bb str r3, [r7, #24] + e610: 2300 movs r3, #0 + e612: 61bb str r3, [r7, #24] dsc->img_data = NULL; - e5ac: 613b str r3, [r7, #16] + e614: 613b str r3, [r7, #16] dsc->decoder = d; - e5ae: 603c str r4, [r7, #0] + e616: 603c str r4, [r7, #0] res = d->open_cb(d, dsc); - e5b0: 0039 movs r1, r7 - e5b2: 0020 movs r0, r4 - e5b4: 6863 ldr r3, [r4, #4] - e5b6: 4798 blx r3 - e5b8: 0005 movs r5, r0 + e618: 0039 movs r1, r7 + e61a: 0020 movs r0, r4 + e61c: 6863 ldr r3, [r4, #4] + e61e: 4798 blx r3 + e620: 0005 movs r5, r0 if(res == LV_RES_OK) break; - e5ba: 2801 cmp r0, #1 - e5bc: d1e2 bne.n e584 - e5be: e001 b.n e5c4 + e622: 2801 cmp r0, #1 + e624: d1e2 bne.n e5ec + e626: e001 b.n e62c if(res == LV_RES_INV) { - e5c0: 2d00 cmp r5, #0 - e5c2: d003 beq.n e5cc + e628: 2d00 cmp r5, #0 + e62a: d003 beq.n e634 } - e5c4: 0028 movs r0, r5 - e5c6: b003 add sp, #12 - e5c8: bdf0 pop {r4, r5, r6, r7, pc} + e62c: 0028 movs r0, r5 + e62e: b003 add sp, #12 + e630: bdf0 pop {r4, r5, r6, r7, pc} lv_res_t res = LV_RES_INV; - e5ca: 2500 movs r5, #0 + e632: 2500 movs r5, #0 _lv_memset_00(dsc, sizeof(lv_img_decoder_dsc_t)); - e5cc: 2120 movs r1, #32 - e5ce: 0038 movs r0, r7 - e5d0: 4b08 ldr r3, [pc, #32] ; (e5f4 ) - e5d2: 4798 blx r3 - e5d4: e7f6 b.n e5c4 - e5d6: 46c0 nop ; (mov r8, r8) - e5d8: 000080f9 .word 0x000080f9 - e5dc: 20004cd0 .word 0x20004cd0 - e5e0: 00010605 .word 0x00010605 - e5e4: 0001061d .word 0x0001061d - e5e8: 00017f61 .word 0x00017f61 - e5ec: 00010a09 .word 0x00010a09 - e5f0: 00017f51 .word 0x00017f51 - e5f4: 00010fe5 .word 0x00010fe5 - -0000e5f8 : -{ - e5f8: b570 push {r4, r5, r6, lr} - e5fa: b082 sub sp, #8 + e634: 2120 movs r1, #32 + e636: 0038 movs r0, r7 + e638: 4b08 ldr r3, [pc, #32] ; (e65c ) + e63a: 4798 blx r3 + e63c: e7f6 b.n e62c + e63e: 46c0 nop ; (mov r8, r8) + e640: 00008161 .word 0x00008161 + e644: 20004cd0 .word 0x20004cd0 + e648: 0001066d .word 0x0001066d + e64c: 00010685 .word 0x00010685 + e650: 00017ff1 .word 0x00017ff1 + e654: 00010a71 .word 0x00010a71 + e658: 00017fe1 .word 0x00017fe1 + e65c: 0001104d .word 0x0001104d + +0000e660 : +{ + e660: b570 push {r4, r5, r6, lr} + e662: b082 sub sp, #8 if(dsc->decoder->read_line_cb) res = dsc->decoder->read_line_cb(dsc->decoder, dsc, x, y, len, buf); - e5fc: 6805 ldr r5, [r0, #0] - e5fe: 68ac ldr r4, [r5, #8] - e600: 2c00 cmp r4, #0 - e602: d009 beq.n e618 - e604: 9e06 ldr r6, [sp, #24] - e606: 9601 str r6, [sp, #4] - e608: 9300 str r3, [sp, #0] - e60a: 0013 movs r3, r2 - e60c: 000a movs r2, r1 - e60e: 0001 movs r1, r0 - e610: 0028 movs r0, r5 - e612: 47a0 blx r4 -} - e614: b002 add sp, #8 - e616: bd70 pop {r4, r5, r6, pc} + e664: 6805 ldr r5, [r0, #0] + e666: 68ac ldr r4, [r5, #8] + e668: 2c00 cmp r4, #0 + e66a: d009 beq.n e680 + e66c: 9e06 ldr r6, [sp, #24] + e66e: 9601 str r6, [sp, #4] + e670: 9300 str r3, [sp, #0] + e672: 0013 movs r3, r2 + e674: 000a movs r2, r1 + e676: 0001 movs r1, r0 + e678: 0028 movs r0, r5 + e67a: 47a0 blx r4 +} + e67c: b002 add sp, #8 + e67e: bd70 pop {r4, r5, r6, pc} lv_res_t res = LV_RES_INV; - e618: 2000 movs r0, #0 - e61a: e7fb b.n e614 + e680: 2000 movs r0, #0 + e682: e7fb b.n e67c -0000e61c : +0000e684 : { - e61c: b510 push {r4, lr} - e61e: 0004 movs r4, r0 + e684: b510 push {r4, lr} + e686: 0004 movs r4, r0 if(dsc->decoder) { - e620: 6800 ldr r0, [r0, #0] - e622: 2800 cmp r0, #0 - e624: d007 beq.n e636 + e688: 6800 ldr r0, [r0, #0] + e68a: 2800 cmp r0, #0 + e68c: d007 beq.n e69e if(dsc->decoder->close_cb) dsc->decoder->close_cb(dsc->decoder, dsc); - e626: 68c3 ldr r3, [r0, #12] - e628: 2b00 cmp r3, #0 - e62a: d001 beq.n e630 - e62c: 0021 movs r1, r4 - e62e: 4798 blx r3 + e68e: 68c3 ldr r3, [r0, #12] + e690: 2b00 cmp r3, #0 + e692: d001 beq.n e698 + e694: 0021 movs r1, r4 + e696: 4798 blx r3 if(dsc->src_type == LV_IMG_SRC_FILE) { - e630: 7aa3 ldrb r3, [r4, #10] - e632: 2b01 cmp r3, #1 - e634: d000 beq.n e638 + e698: 7aa3 ldrb r3, [r4, #10] + e69a: 2b01 cmp r3, #1 + e69c: d000 beq.n e6a0 } - e636: bd10 pop {r4, pc} + e69e: bd10 pop {r4, pc} lv_mem_free(dsc->src); - e638: 6860 ldr r0, [r4, #4] - e63a: 4b02 ldr r3, [pc, #8] ; (e644 ) - e63c: 4798 blx r3 + e6a0: 6860 ldr r0, [r4, #4] + e6a2: 4b02 ldr r3, [pc, #8] ; (e6ac ) + e6a4: 4798 blx r3 dsc->src = NULL; - e63e: 2300 movs r3, #0 - e640: 6063 str r3, [r4, #4] + e6a6: 2300 movs r3, #0 + e6a8: 6063 str r3, [r4, #4] } - e642: e7f8 b.n e636 - e644: 00010ad1 .word 0x00010ad1 + e6aa: e7f8 b.n e69e + e6ac: 00010b39 .word 0x00010b39 -0000e648 : +0000e6b0 : { - e648: b510 push {r4, lr} + e6b0: b510 push {r4, lr} decoder = _lv_ll_ins_head(&LV_GC_ROOT(_lv_img_defoder_ll)); - e64a: 480b ldr r0, [pc, #44] ; (e678 ) - e64c: 4b0b ldr r3, [pc, #44] ; (e67c ) - e64e: 4798 blx r3 - e650: 0004 movs r4, r0 + e6b2: 480b ldr r0, [pc, #44] ; (e6e0 ) + e6b4: 4b0b ldr r3, [pc, #44] ; (e6e4 ) + e6b6: 4798 blx r3 + e6b8: 0004 movs r4, r0 LV_ASSERT_MEM(decoder); - e652: 4b0b ldr r3, [pc, #44] ; (e680 ) - e654: 4798 blx r3 - e656: 2800 cmp r0, #0 - e658: d007 beq.n e66a + e6ba: 4b0b ldr r3, [pc, #44] ; (e6e8 ) + e6bc: 4798 blx r3 + e6be: 2800 cmp r0, #0 + e6c0: d007 beq.n e6d2 if(decoder == NULL) return NULL; - e65a: 2c00 cmp r4, #0 - e65c: d003 beq.n e666 + e6c2: 2c00 cmp r4, #0 + e6c4: d003 beq.n e6ce _lv_memset_00(decoder, sizeof(lv_img_decoder_t)); - e65e: 2110 movs r1, #16 - e660: 0020 movs r0, r4 - e662: 4b08 ldr r3, [pc, #32] ; (e684 ) - e664: 4798 blx r3 + e6c6: 2110 movs r1, #16 + e6c8: 0020 movs r0, r4 + e6ca: 4b08 ldr r3, [pc, #32] ; (e6ec ) + e6cc: 4798 blx r3 } - e666: 0020 movs r0, r4 - e668: bd10 pop {r4, pc} + e6ce: 0020 movs r0, r4 + e6d0: bd10 pop {r4, pc} LV_ASSERT_MEM(decoder); - e66a: 0022 movs r2, r4 - e66c: 2300 movs r3, #0 - e66e: 4806 ldr r0, [pc, #24] ; (e688 ) - e670: 4906 ldr r1, [pc, #24] ; (e68c ) - e672: 4788 blx r1 - e674: e7fe b.n e674 - e676: 46c0 nop ; (mov r8, r8) - e678: 20004cd0 .word 0x20004cd0 - e67c: 00010565 .word 0x00010565 - e680: 00001415 .word 0x00001415 - e684: 00010fe5 .word 0x00010fe5 - e688: 00018804 .word 0x00018804 - e68c: 0000141d .word 0x0000141d - -0000e690 <_lv_img_decoder_init>: -{ - e690: b510 push {r4, lr} + e6d2: 0022 movs r2, r4 + e6d4: 2300 movs r3, #0 + e6d6: 4806 ldr r0, [pc, #24] ; (e6f0 ) + e6d8: 4906 ldr r1, [pc, #24] ; (e6f4 ) + e6da: 4788 blx r1 + e6dc: e7fe b.n e6dc + e6de: 46c0 nop ; (mov r8, r8) + e6e0: 20004cd0 .word 0x20004cd0 + e6e4: 000105cd .word 0x000105cd + e6e8: 0000147d .word 0x0000147d + e6ec: 0001104d .word 0x0001104d + e6f0: 00018894 .word 0x00018894 + e6f4: 00001485 .word 0x00001485 + +0000e6f8 <_lv_img_decoder_init>: +{ + e6f8: b510 push {r4, lr} _lv_ll_init(&LV_GC_ROOT(_lv_img_defoder_ll), sizeof(lv_img_decoder_t)); - e692: 2110 movs r1, #16 - e694: 480c ldr r0, [pc, #48] ; (e6c8 <_lv_img_decoder_init+0x38>) - e696: 4b0d ldr r3, [pc, #52] ; (e6cc <_lv_img_decoder_init+0x3c>) - e698: 4798 blx r3 + e6fa: 2110 movs r1, #16 + e6fc: 480c ldr r0, [pc, #48] ; (e730 <_lv_img_decoder_init+0x38>) + e6fe: 4b0d ldr r3, [pc, #52] ; (e734 <_lv_img_decoder_init+0x3c>) + e700: 4798 blx r3 decoder = lv_img_decoder_create(); - e69a: 4b0d ldr r3, [pc, #52] ; (e6d0 <_lv_img_decoder_init+0x40>) - e69c: 4798 blx r3 + e702: 4b0d ldr r3, [pc, #52] ; (e738 <_lv_img_decoder_init+0x40>) + e704: 4798 blx r3 if(decoder == NULL) { - e69e: 2800 cmp r0, #0 - e6a0: d008 beq.n e6b4 <_lv_img_decoder_init+0x24> + e706: 2800 cmp r0, #0 + e708: d008 beq.n e71c <_lv_img_decoder_init+0x24> decoder->info_cb = info_cb; - e6a2: 4b0c ldr r3, [pc, #48] ; (e6d4 <_lv_img_decoder_init+0x44>) - e6a4: 6003 str r3, [r0, #0] + e70a: 4b0c ldr r3, [pc, #48] ; (e73c <_lv_img_decoder_init+0x44>) + e70c: 6003 str r3, [r0, #0] decoder->open_cb = open_cb; - e6a6: 4b0c ldr r3, [pc, #48] ; (e6d8 <_lv_img_decoder_init+0x48>) - e6a8: 6043 str r3, [r0, #4] + e70e: 4b0c ldr r3, [pc, #48] ; (e740 <_lv_img_decoder_init+0x48>) + e710: 6043 str r3, [r0, #4] decoder->read_line_cb = read_line_cb; - e6aa: 4b0c ldr r3, [pc, #48] ; (e6dc <_lv_img_decoder_init+0x4c>) - e6ac: 6083 str r3, [r0, #8] + e712: 4b0c ldr r3, [pc, #48] ; (e744 <_lv_img_decoder_init+0x4c>) + e714: 6083 str r3, [r0, #8] decoder->close_cb = close_cb; - e6ae: 4b0c ldr r3, [pc, #48] ; (e6e0 <_lv_img_decoder_init+0x50>) - e6b0: 60c3 str r3, [r0, #12] + e716: 4b0c ldr r3, [pc, #48] ; (e748 <_lv_img_decoder_init+0x50>) + e718: 60c3 str r3, [r0, #12] } - e6b2: bd10 pop {r4, pc} + e71a: bd10 pop {r4, pc} LV_ASSERT_MEM(decoder); - e6b4: 4b0b ldr r3, [pc, #44] ; (e6e4 <_lv_img_decoder_init+0x54>) - e6b6: 4798 blx r3 - e6b8: 2800 cmp r0, #0 - e6ba: d1fa bne.n e6b2 <_lv_img_decoder_init+0x22> - e6bc: 2200 movs r2, #0 - e6be: 2300 movs r3, #0 - e6c0: 4809 ldr r0, [pc, #36] ; (e6e8 <_lv_img_decoder_init+0x58>) - e6c2: 490a ldr r1, [pc, #40] ; (e6ec <_lv_img_decoder_init+0x5c>) - e6c4: 4788 blx r1 - e6c6: e7fe b.n e6c6 <_lv_img_decoder_init+0x36> - e6c8: 20004cd0 .word 0x20004cd0 - e6cc: 00010551 .word 0x00010551 - e6d0: 0000e649 .word 0x0000e649 - e6d4: 0000dca1 .word 0x0000dca1 - e6d8: 0000ddc5 .word 0x0000ddc5 - e6dc: 0000e0c9 .word 0x0000e0c9 - e6e0: 0000dd81 .word 0x0000dd81 - e6e4: 00001415 .word 0x00001415 - e6e8: 00018804 .word 0x00018804 - e6ec: 0000141d .word 0x0000141d - -0000e6f0 : + e71c: 4b0b ldr r3, [pc, #44] ; (e74c <_lv_img_decoder_init+0x54>) + e71e: 4798 blx r3 + e720: 2800 cmp r0, #0 + e722: d1fa bne.n e71a <_lv_img_decoder_init+0x22> + e724: 2200 movs r2, #0 + e726: 2300 movs r3, #0 + e728: 4809 ldr r0, [pc, #36] ; (e750 <_lv_img_decoder_init+0x58>) + e72a: 490a ldr r1, [pc, #40] ; (e754 <_lv_img_decoder_init+0x5c>) + e72c: 4788 blx r1 + e72e: e7fe b.n e72e <_lv_img_decoder_init+0x36> + e730: 20004cd0 .word 0x20004cd0 + e734: 000105b9 .word 0x000105b9 + e738: 0000e6b1 .word 0x0000e6b1 + e73c: 0000dd09 .word 0x0000dd09 + e740: 0000de2d .word 0x0000de2d + e744: 0000e131 .word 0x0000e131 + e748: 0000dde9 .word 0x0000dde9 + e74c: 0000147d .word 0x0000147d + e750: 00018894 .word 0x00018894 + e754: 00001485 .word 0x00001485 + +0000e758 : * @param font_p pointer to a font * @param letter an UNICODE character code * @return pointer to the bitmap of the letter */ const uint8_t * lv_font_get_glyph_bitmap(const lv_font_t * font_p, uint32_t letter) { - e6f0: b510 push {r4, lr} + e758: b510 push {r4, lr} return font_p->get_glyph_bitmap(font_p, letter); - e6f2: 6843 ldr r3, [r0, #4] - e6f4: 4798 blx r3 + e75a: 6843 ldr r3, [r0, #4] + e75c: 4798 blx r3 } - e6f6: bd10 pop {r4, pc} + e75e: bd10 pop {r4, pc} -0000e6f8 : +0000e760 : * @return true: descriptor is successfully loaded into `dsc_out`. * false: the letter was not found, no data is loaded to `dsc_out` */ bool lv_font_get_glyph_dsc(const lv_font_t * font_p, lv_font_glyph_dsc_t * dsc_out, uint32_t letter, uint32_t letter_next) { - e6f8: b510 push {r4, lr} + e760: b510 push {r4, lr} return font_p->get_glyph_dsc(font_p, dsc_out, letter, letter_next); - e6fa: 6804 ldr r4, [r0, #0] - e6fc: 47a0 blx r4 + e762: 6804 ldr r4, [r0, #0] + e764: 47a0 blx r4 } - e6fe: bd10 pop {r4, pc} + e766: bd10 pop {r4, pc} -0000e700 : +0000e768 : * @param letter an UNICODE letter * @param letter_next the next letter after `letter`. Used for kerning * @return the width of the glyph */ uint16_t lv_font_get_glyph_width(const lv_font_t * font, uint32_t letter, uint32_t letter_next) { - e700: b510 push {r4, lr} - e702: b084 sub sp, #16 - e704: 0013 movs r3, r2 + e768: b510 push {r4, lr} + e76a: b084 sub sp, #16 + e76c: 0013 movs r3, r2 lv_font_glyph_dsc_t g; bool ret; ret = lv_font_get_glyph_dsc(font, &g, letter, letter_next); - e706: 000a movs r2, r1 - e708: a901 add r1, sp, #4 - e70a: 4c05 ldr r4, [pc, #20] ; (e720 ) - e70c: 47a0 blx r4 + e76e: 000a movs r2, r1 + e770: a901 add r1, sp, #4 + e772: 4c05 ldr r4, [pc, #20] ; (e788 ) + e774: 47a0 blx r4 if(ret) return g.adv_w; else return 0; - e70e: 2300 movs r3, #0 + e776: 2300 movs r3, #0 if(ret) return g.adv_w; - e710: 2800 cmp r0, #0 - e712: d001 beq.n e718 - e714: ab01 add r3, sp, #4 - e716: 881b ldrh r3, [r3, #0] + e778: 2800 cmp r0, #0 + e77a: d001 beq.n e780 + e77c: ab01 add r3, sp, #4 + e77e: 881b ldrh r3, [r3, #0] } - e718: 0018 movs r0, r3 - e71a: b004 add sp, #16 - e71c: bd10 pop {r4, pc} - e71e: 46c0 nop ; (mov r8, r8) - e720: 0000e6f9 .word 0x0000e6f9 + e780: 0018 movs r0, r3 + e782: b004 add sp, #16 + e784: bd10 pop {r4, pc} + e786: 46c0 nop ; (mov r8, r8) + e788: 0000e761 .word 0x0000e761 -0000e724 : +0000e78c : { const uint8_t * ref8_p = ref; const uint8_t * element8_p = element; /*If the MSB is different it will matter. If not return the diff. of the LSB*/ if(ref8_p[0] != element8_p[0]) return (int32_t)ref8_p[0] - element8_p[0]; - e724: 7803 ldrb r3, [r0, #0] - e726: 780a ldrb r2, [r1, #0] - e728: 4293 cmp r3, r2 - e72a: d001 beq.n e730 - e72c: 1a98 subs r0, r3, r2 + e78c: 7803 ldrb r3, [r0, #0] + e78e: 780a ldrb r2, [r1, #0] + e790: 4293 cmp r3, r2 + e792: d001 beq.n e798 + e794: 1a98 subs r0, r3, r2 else return (int32_t) ref8_p[1] - element8_p[1]; } - e72e: 4770 bx lr + e796: 4770 bx lr else return (int32_t) ref8_p[1] - element8_p[1]; - e730: 7840 ldrb r0, [r0, #1] - e732: 784b ldrb r3, [r1, #1] - e734: 1ac0 subs r0, r0, r3 - e736: e7fa b.n e72e + e798: 7840 ldrb r0, [r0, #1] + e79a: 784b ldrb r3, [r1, #1] + e79c: 1ac0 subs r0, r0, r3 + e79e: e7fa b.n e796 -0000e738 : +0000e7a0 : { const uint16_t * ref16_p = ref; const uint16_t * element16_p = element; /*If the MSB is different it will matter. If not return the diff. of the LSB*/ if(ref16_p[0] != element16_p[0]) return (int32_t)ref16_p[0] - element16_p[0]; - e738: 8803 ldrh r3, [r0, #0] - e73a: 880a ldrh r2, [r1, #0] - e73c: 4293 cmp r3, r2 - e73e: d001 beq.n e744 - e740: 1a98 subs r0, r3, r2 + e7a0: 8803 ldrh r3, [r0, #0] + e7a2: 880a ldrh r2, [r1, #0] + e7a4: 4293 cmp r3, r2 + e7a6: d001 beq.n e7ac + e7a8: 1a98 subs r0, r3, r2 else return (int32_t) ref16_p[1] - element16_p[1]; } - e742: 4770 bx lr + e7aa: 4770 bx lr else return (int32_t) ref16_p[1] - element16_p[1]; - e744: 8840 ldrh r0, [r0, #2] - e746: 884b ldrh r3, [r1, #2] - e748: 1ac0 subs r0, r0, r3 - e74a: e7fa b.n e742 + e7ac: 8840 ldrh r0, [r0, #2] + e7ae: 884b ldrh r3, [r1, #2] + e7b0: 1ac0 subs r0, r0, r3 + e7b2: e7fa b.n e7aa -0000e74c : +0000e7b4 : * @retval > 0 Reference is less than element. * */ static int32_t unicode_list_compare(const void * ref, const void * element) { return ((int32_t)(*(uint16_t *)ref)) - ((int32_t)(*(uint16_t *)element)); - e74c: 8800 ldrh r0, [r0, #0] - e74e: 880b ldrh r3, [r1, #0] - e750: 1ac0 subs r0, r0, r3 + e7b4: 8800 ldrh r0, [r0, #0] + e7b6: 880b ldrh r3, [r1, #0] + e7b8: 1ac0 subs r0, r0, r3 } - e752: 4770 bx lr + e7ba: 4770 bx lr -0000e754 : +0000e7bc : { - e754: b5f0 push {r4, r5, r6, r7, lr} - e756: b087 sub sp, #28 - e758: 000c movs r4, r1 + e7bc: b5f0 push {r4, r5, r6, r7, lr} + e7be: b087 sub sp, #28 + e7c0: 000c movs r4, r1 if(letter == '\0') return 0; - e75a: 1e0b subs r3, r1, #0 - e75c: d018 beq.n e790 + e7c2: 1e0b subs r3, r1, #0 + e7c4: d018 beq.n e7f8 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - e75e: 6906 ldr r6, [r0, #16] + e7c6: 6906 ldr r6, [r0, #16] if(letter == fdsc->last_letter) return fdsc->last_glyph_id; - e760: 69b3 ldr r3, [r6, #24] - e762: 4299 cmp r1, r3 - e764: d017 beq.n e796 + e7c8: 69b3 ldr r3, [r6, #24] + e7ca: 4299 cmp r1, r3 + e7cc: d017 beq.n e7fe for(i = 0; i < fdsc->cmap_num; i++) { - e766: 8a72 ldrh r2, [r6, #18] - e768: 0592 lsls r2, r2, #22 - e76a: 0d92 lsrs r2, r2, #22 - e76c: 2a00 cmp r2, #0 - e76e: dd62 ble.n e836 + e7ce: 8a72 ldrh r2, [r6, #18] + e7d0: 0592 lsls r2, r2, #22 + e7d2: 0d92 lsrs r2, r2, #22 + e7d4: 2a00 cmp r2, #0 + e7d6: dd62 ble.n e89e uint32_t rcp = letter - fdsc->cmaps[i].range_start; - e770: 68b7 ldr r7, [r6, #8] - e772: 683b ldr r3, [r7, #0] - e774: 1ac8 subs r0, r1, r3 - e776: 9005 str r0, [sp, #20] + e7d8: 68b7 ldr r7, [r6, #8] + e7da: 683b ldr r3, [r7, #0] + e7dc: 1ac8 subs r0, r1, r3 + e7de: 9005 str r0, [sp, #20] if(rcp > fdsc->cmaps[i].range_length) continue; - e778: 88bb ldrh r3, [r7, #4] - e77a: 4298 cmp r0, r3 - e77c: d80d bhi.n e79a + e7e0: 88bb ldrh r3, [r7, #4] + e7e2: 4298 cmp r0, r3 + e7e4: d80d bhi.n e802 uint32_t rcp = letter - fdsc->cmaps[i].range_start; - e77e: 2300 movs r3, #0 - e780: 9303 str r3, [sp, #12] + e7e6: 2300 movs r3, #0 + e7e8: 9303 str r3, [sp, #12] if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY) { - e782: 7cba ldrb r2, [r7, #18] - e784: 2a00 cmp r2, #0 - e786: d11a bne.n e7be + e7ea: 7cba ldrb r2, [r7, #18] + e7ec: 2a00 cmp r2, #0 + e7ee: d11a bne.n e826 glyph_id = fdsc->cmaps[i].glyph_id_start + rcp; - e788: 88fb ldrh r3, [r7, #6] - e78a: 181b adds r3, r3, r0 + e7f0: 88fb ldrh r3, [r7, #6] + e7f2: 181b adds r3, r3, r0 fdsc->last_letter = letter; - e78c: 61b4 str r4, [r6, #24] + e7f4: 61b4 str r4, [r6, #24] fdsc->last_glyph_id = glyph_id; - e78e: 61f3 str r3, [r6, #28] + e7f6: 61f3 str r3, [r6, #28] } - e790: 0018 movs r0, r3 - e792: b007 add sp, #28 - e794: bdf0 pop {r4, r5, r6, r7, pc} + e7f8: 0018 movs r0, r3 + e7fa: b007 add sp, #28 + e7fc: bdf0 pop {r4, r5, r6, r7, pc} if(letter == fdsc->last_letter) return fdsc->last_glyph_id; - e796: 69f3 ldr r3, [r6, #28] - e798: e7fa b.n e790 + e7fe: 69f3 ldr r3, [r6, #28] + e800: e7fa b.n e7f8 if(rcp > fdsc->cmaps[i].range_length) continue; - e79a: 2100 movs r1, #0 + e802: 2100 movs r1, #0 for(i = 0; i < fdsc->cmap_num; i++) { - e79c: 3101 adds r1, #1 - e79e: b289 uxth r1, r1 - e7a0: 4291 cmp r1, r2 - e7a2: da48 bge.n e836 + e804: 3101 adds r1, #1 + e806: b289 uxth r1, r1 + e808: 4291 cmp r1, r2 + e80a: da48 bge.n e89e uint32_t rcp = letter - fdsc->cmaps[i].range_start; - e7a4: 008b lsls r3, r1, #2 - e7a6: 185b adds r3, r3, r1 - e7a8: 009b lsls r3, r3, #2 - e7aa: 9303 str r3, [sp, #12] - e7ac: 18fb adds r3, r7, r3 - e7ae: 6818 ldr r0, [r3, #0] - e7b0: 1a20 subs r0, r4, r0 - e7b2: 9005 str r0, [sp, #20] + e80c: 008b lsls r3, r1, #2 + e80e: 185b adds r3, r3, r1 + e810: 009b lsls r3, r3, #2 + e812: 9303 str r3, [sp, #12] + e814: 18fb adds r3, r7, r3 + e816: 6818 ldr r0, [r3, #0] + e818: 1a20 subs r0, r4, r0 + e81a: 9005 str r0, [sp, #20] if(rcp > fdsc->cmaps[i].range_length) continue; - e7b4: 889d ldrh r5, [r3, #4] - e7b6: 42a8 cmp r0, r5 - e7b8: d8f0 bhi.n e79c + e81c: 889d ldrh r5, [r3, #4] + e81e: 42a8 cmp r0, r5 + e820: d8f0 bhi.n e804 uint32_t rcp = letter - fdsc->cmaps[i].range_start; - e7ba: 001f movs r7, r3 - e7bc: e7e1 b.n e782 + e822: 001f movs r7, r3 + e824: e7e1 b.n e7ea else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL) { - e7be: 2a01 cmp r2, #1 - e7c0: d01b beq.n e7fa + e826: 2a01 cmp r2, #1 + e828: d01b beq.n e862 else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_TINY) { - e7c2: 2a02 cmp r2, #2 - e7c4: d01e beq.n e804 + e82a: 2a02 cmp r2, #2 + e82c: d01e beq.n e86c uint32_t glyph_id = 0; - e7c6: 2300 movs r3, #0 + e82e: 2300 movs r3, #0 else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_FULL) { - e7c8: 2a03 cmp r2, #3 - e7ca: d1df bne.n e78c + e830: 2a03 cmp r2, #3 + e832: d1df bne.n e7f4 uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, - e7cc: 8a3a ldrh r2, [r7, #16] - e7ce: 68b9 ldr r1, [r7, #8] - e7d0: 4b1b ldr r3, [pc, #108] ; (e840 ) - e7d2: 9300 str r3, [sp, #0] - e7d4: 2302 movs r3, #2 - e7d6: a805 add r0, sp, #20 - e7d8: 4f1a ldr r7, [pc, #104] ; (e844 ) - e7da: 47b8 blx r7 + e834: 8a3a ldrh r2, [r7, #16] + e836: 68b9 ldr r1, [r7, #8] + e838: 4b1b ldr r3, [pc, #108] ; (e8a8 ) + e83a: 9300 str r3, [sp, #0] + e83c: 2302 movs r3, #2 + e83e: a805 add r0, sp, #20 + e840: 4f1a ldr r7, [pc, #104] ; (e8ac ) + e842: 47b8 blx r7 if(p) { - e7dc: 2800 cmp r0, #0 - e7de: d028 beq.n e832 + e844: 2800 cmp r0, #0 + e846: d028 beq.n e89a lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list); - e7e0: 9b03 ldr r3, [sp, #12] - e7e2: 68b2 ldr r2, [r6, #8] - e7e4: 4694 mov ip, r2 - e7e6: 4463 add r3, ip - e7e8: 001d movs r5, r3 - e7ea: 689b ldr r3, [r3, #8] - e7ec: 1ac0 subs r0, r0, r3 + e848: 9b03 ldr r3, [sp, #12] + e84a: 68b2 ldr r2, [r6, #8] + e84c: 4694 mov ip, r2 + e84e: 4463 add r3, ip + e850: 001d movs r5, r3 + e852: 689b ldr r3, [r3, #8] + e854: 1ac0 subs r0, r0, r3 ofs = ofs >> 1; /*The list stores `uint16_t` so the get the index divide by 2*/ - e7ee: 0840 lsrs r0, r0, #1 + e856: 0840 lsrs r0, r0, #1 glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_16[ofs]; - e7f0: 68eb ldr r3, [r5, #12] - e7f2: 5c18 ldrb r0, [r3, r0] - e7f4: 88eb ldrh r3, [r5, #6] - e7f6: 18c3 adds r3, r0, r3 - e7f8: e7c8 b.n e78c + e858: 68eb ldr r3, [r5, #12] + e85a: 5c18 ldrb r0, [r3, r0] + e85c: 88eb ldrh r3, [r5, #6] + e85e: 18c3 adds r3, r0, r3 + e860: e7c8 b.n e7f4 glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_8[rcp]; - e7fa: 68fb ldr r3, [r7, #12] - e7fc: 5c18 ldrb r0, [r3, r0] - e7fe: 88fb ldrh r3, [r7, #6] - e800: 18c3 adds r3, r0, r3 - e802: e7c3 b.n e78c + e862: 68fb ldr r3, [r7, #12] + e864: 5c18 ldrb r0, [r3, r0] + e866: 88fb ldrh r3, [r7, #6] + e868: 18c3 adds r3, r0, r3 + e86a: e7c3 b.n e7f4 uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, - e804: 8a3a ldrh r2, [r7, #16] - e806: 68b9 ldr r1, [r7, #8] - e808: 4b0d ldr r3, [pc, #52] ; (e840 ) - e80a: 9300 str r3, [sp, #0] - e80c: 2302 movs r3, #2 - e80e: a805 add r0, sp, #20 - e810: 4f0c ldr r7, [pc, #48] ; (e844 ) - e812: 47b8 blx r7 + e86c: 8a3a ldrh r2, [r7, #16] + e86e: 68b9 ldr r1, [r7, #8] + e870: 4b0d ldr r3, [pc, #52] ; (e8a8 ) + e872: 9300 str r3, [sp, #0] + e874: 2302 movs r3, #2 + e876: a805 add r0, sp, #20 + e878: 4f0c ldr r7, [pc, #48] ; (e8ac ) + e87a: 47b8 blx r7 if(p) { - e814: 2800 cmp r0, #0 - e816: d00a beq.n e82e + e87c: 2800 cmp r0, #0 + e87e: d00a beq.n e896 lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list); - e818: 9b03 ldr r3, [sp, #12] - e81a: 68b2 ldr r2, [r6, #8] - e81c: 4694 mov ip, r2 - e81e: 4463 add r3, ip - e820: 001d movs r5, r3 - e822: 689b ldr r3, [r3, #8] - e824: 1ac0 subs r0, r0, r3 + e880: 9b03 ldr r3, [sp, #12] + e882: 68b2 ldr r2, [r6, #8] + e884: 4694 mov ip, r2 + e886: 4463 add r3, ip + e888: 001d movs r5, r3 + e88a: 689b ldr r3, [r3, #8] + e88c: 1ac0 subs r0, r0, r3 ofs = ofs >> 1; /*The list stores `uint16_t` so the get the index divide by 2*/ - e826: 0840 lsrs r0, r0, #1 + e88e: 0840 lsrs r0, r0, #1 glyph_id = fdsc->cmaps[i].glyph_id_start + ofs; - e828: 88eb ldrh r3, [r5, #6] - e82a: 18c3 adds r3, r0, r3 - e82c: e7ae b.n e78c + e890: 88eb ldrh r3, [r5, #6] + e892: 18c3 adds r3, r0, r3 + e894: e7ae b.n e7f4 uint32_t glyph_id = 0; - e82e: 2300 movs r3, #0 - e830: e7ac b.n e78c - e832: 2300 movs r3, #0 - e834: e7aa b.n e78c + e896: 2300 movs r3, #0 + e898: e7ac b.n e7f4 + e89a: 2300 movs r3, #0 + e89c: e7aa b.n e7f4 fdsc->last_letter = letter; - e836: 61b4 str r4, [r6, #24] + e89e: 61b4 str r4, [r6, #24] fdsc->last_glyph_id = 0; - e838: 2300 movs r3, #0 - e83a: 61f3 str r3, [r6, #28] + e8a0: 2300 movs r3, #0 + e8a2: 61f3 str r3, [r6, #28] return 0; - e83c: e7a8 b.n e790 - e83e: 46c0 nop ; (mov r8, r8) - e840: 0000e74d .word 0x0000e74d - e844: 00011b89 .word 0x00011b89 - -0000e848 : -{ - e848: b5f0 push {r4, r5, r6, r7, lr} - e84a: 46de mov lr, fp - e84c: 4657 mov r7, sl - e84e: 464e mov r6, r9 - e850: 4645 mov r5, r8 - e852: b5e0 push {r5, r6, r7, lr} - e854: b099 sub sp, #100 ; 0x64 + e8a4: e7a8 b.n e7f8 + e8a6: 46c0 nop ; (mov r8, r8) + e8a8: 0000e7b5 .word 0x0000e7b5 + e8ac: 00011bf1 .word 0x00011bf1 + +0000e8b0 : +{ + e8b0: b5f0 push {r4, r5, r6, r7, lr} + e8b2: 46de mov lr, fp + e8b4: 4657 mov r7, sl + e8b6: 464e mov r6, r9 + e8b8: 4645 mov r5, r8 + e8ba: b5e0 push {r5, r6, r7, lr} + e8bc: b099 sub sp, #100 ; 0x64 if(unicode_letter == '\t') unicode_letter = ' '; - e856: 2909 cmp r1, #9 - e858: d01c beq.n e894 + e8be: 2909 cmp r1, #9 + e8c0: d01c beq.n e8fc lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - e85a: 6905 ldr r5, [r0, #16] + e8c2: 6905 ldr r5, [r0, #16] uint32_t gid = get_glyph_dsc_id(font, unicode_letter); - e85c: 4bcd ldr r3, [pc, #820] ; (eb94 ) - e85e: 4798 blx r3 + e8c4: 4bcd ldr r3, [pc, #820] ; (ebfc ) + e8c6: 4798 blx r3 if(!gid) return NULL; - e860: 2800 cmp r0, #0 - e862: d101 bne.n e868 - e864: f000 fcdb bl f21e + e8c8: 2800 cmp r0, #0 + e8ca: d101 bne.n e8d0 + e8cc: f000 fcdb bl f286 const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - e868: 00c0 lsls r0, r0, #3 - e86a: 686b ldr r3, [r5, #4] - e86c: 181e adds r6, r3, r0 + e8d0: 00c0 lsls r0, r0, #3 + e8d2: 686b ldr r3, [r5, #4] + e8d4: 181e adds r6, r3, r0 if(fdsc->bitmap_format == LV_FONT_FMT_TXT_PLAIN) { - e86e: 7d2b ldrb r3, [r5, #20] - e870: 079b lsls r3, r3, #30 - e872: d111 bne.n e898 + e8d6: 7d2b ldrb r3, [r5, #20] + e8d8: 079b lsls r3, r3, #30 + e8da: d111 bne.n e900 if(gdsc) return &fdsc->glyph_bitmap[gdsc->bitmap_index]; - e874: 2e00 cmp r6, #0 - e876: d101 bne.n e87c - e878: f000 fcd4 bl f224 - e87c: 6830 ldr r0, [r6, #0] - e87e: 0300 lsls r0, r0, #12 - e880: 0b03 lsrs r3, r0, #12 - e882: 6828 ldr r0, [r5, #0] - e884: 18c0 adds r0, r0, r3 -} - e886: b019 add sp, #100 ; 0x64 - e888: bc3c pop {r2, r3, r4, r5} - e88a: 4690 mov r8, r2 - e88c: 4699 mov r9, r3 - e88e: 46a2 mov sl, r4 - e890: 46ab mov fp, r5 - e892: bdf0 pop {r4, r5, r6, r7, pc} + e8dc: 2e00 cmp r6, #0 + e8de: d101 bne.n e8e4 + e8e0: f000 fcd4 bl f28c + e8e4: 6830 ldr r0, [r6, #0] + e8e6: 0300 lsls r0, r0, #12 + e8e8: 0b03 lsrs r3, r0, #12 + e8ea: 6828 ldr r0, [r5, #0] + e8ec: 18c0 adds r0, r0, r3 +} + e8ee: b019 add sp, #100 ; 0x64 + e8f0: bc3c pop {r2, r3, r4, r5} + e8f2: 4690 mov r8, r2 + e8f4: 4699 mov r9, r3 + e8f6: 46a2 mov sl, r4 + e8f8: 46ab mov fp, r5 + e8fa: bdf0 pop {r4, r5, r6, r7, pc} if(unicode_letter == '\t') unicode_letter = ' '; - e894: 3117 adds r1, #23 - e896: e7e0 b.n e85a + e8fc: 3117 adds r1, #23 + e8fe: e7e0 b.n e8c2 uint32_t gsize = gdsc->box_w * gdsc->box_h; - e898: 7933 ldrb r3, [r6, #4] - e89a: 7974 ldrb r4, [r6, #5] - e89c: 435c muls r4, r3 + e900: 7933 ldrb r3, [r6, #4] + e902: 7974 ldrb r4, [r6, #5] + e904: 435c muls r4, r3 if(gsize == 0) return NULL; - e89e: 2c00 cmp r4, #0 - e8a0: d101 bne.n e8a6 - e8a2: f000 fcc2 bl f22a + e906: 2c00 cmp r4, #0 + e908: d101 bne.n e90e + e90a: f000 fcc2 bl f292 switch(fdsc->bpp) { - e8a6: 7ceb ldrb r3, [r5, #19] - e8a8: 069b lsls r3, r3, #26 - e8aa: 0f1b lsrs r3, r3, #28 - e8ac: b2da uxtb r2, r3 - e8ae: 2a02 cmp r2, #2 - e8b0: d100 bne.n e8b4 - e8b2: e08d b.n e9d0 - e8b4: d908 bls.n e8c8 - e8b6: b2da uxtb r2, r3 - e8b8: 2a03 cmp r2, #3 - e8ba: d100 bne.n e8be - e8bc: e08b b.n e9d6 - e8be: 2a04 cmp r2, #4 - e8c0: d104 bne.n e8cc + e90e: 7ceb ldrb r3, [r5, #19] + e910: 069b lsls r3, r3, #26 + e912: 0f1b lsrs r3, r3, #28 + e914: b2da uxtb r2, r3 + e916: 2a02 cmp r2, #2 + e918: d100 bne.n e91c + e91a: e08d b.n ea38 + e91c: d908 bls.n e930 + e91e: b2da uxtb r2, r3 + e920: 2a03 cmp r2, #3 + e922: d100 bne.n e926 + e924: e08b b.n ea3e + e926: 2a04 cmp r2, #4 + e928: d104 bne.n e934 buf_size = (gsize + 1) >> 1; - e8c2: 3401 adds r4, #1 - e8c4: 0864 lsrs r4, r4, #1 + e92a: 3401 adds r4, #1 + e92c: 0864 lsrs r4, r4, #1 break; - e8c6: e001 b.n e8cc + e92e: e001 b.n e934 switch(fdsc->bpp) { - e8c8: 2a01 cmp r2, #1 - e8ca: d07e beq.n e9ca + e930: 2a01 cmp r2, #1 + e932: d07e beq.n ea32 if(_lv_mem_get_size(decompr_buf) < buf_size) { - e8cc: 4bb2 ldr r3, [pc, #712] ; (eb98 ) - e8ce: 6818 ldr r0, [r3, #0] - e8d0: 4bb2 ldr r3, [pc, #712] ; (eb9c ) - e8d2: 4798 blx r3 - e8d4: 4284 cmp r4, r0 - e8d6: d90f bls.n e8f8 + e934: 4bb2 ldr r3, [pc, #712] ; (ec00 ) + e936: 6818 ldr r0, [r3, #0] + e938: 4bb2 ldr r3, [pc, #712] ; (ec04 ) + e93a: 4798 blx r3 + e93c: 4284 cmp r4, r0 + e93e: d90f bls.n e960 decompr_buf = lv_mem_realloc(decompr_buf, buf_size); - e8d8: 4faf ldr r7, [pc, #700] ; (eb98 ) - e8da: 0021 movs r1, r4 - e8dc: 6838 ldr r0, [r7, #0] - e8de: 4bb0 ldr r3, [pc, #704] ; (eba0 ) - e8e0: 4798 blx r3 - e8e2: 6038 str r0, [r7, #0] + e940: 4faf ldr r7, [pc, #700] ; (ec00 ) + e942: 0021 movs r1, r4 + e944: 6838 ldr r0, [r7, #0] + e946: 4bb0 ldr r3, [pc, #704] ; (ec08 ) + e948: 4798 blx r3 + e94a: 6038 str r0, [r7, #0] LV_ASSERT_MEM(decompr_buf); - e8e4: 4baf ldr r3, [pc, #700] ; (eba4 ) - e8e6: 4798 blx r3 - e8e8: 2800 cmp r0, #0 - e8ea: d077 beq.n e9dc + e94c: 4baf ldr r3, [pc, #700] ; (ec0c ) + e94e: 4798 blx r3 + e950: 2800 cmp r0, #0 + e952: d077 beq.n ea44 if(decompr_buf == NULL) return NULL; - e8ec: 4baa ldr r3, [pc, #680] ; (eb98 ) - e8ee: 681b ldr r3, [r3, #0] - e8f0: 2b00 cmp r3, #0 - e8f2: d101 bne.n e8f8 - e8f4: f000 fc9c bl f230 + e954: 4baa ldr r3, [pc, #680] ; (ec00 ) + e956: 681b ldr r3, [r3, #0] + e958: 2b00 cmp r3, #0 + e95a: d101 bne.n e960 + e95c: f000 fc9c bl f298 decompress(&fdsc->glyph_bitmap[gdsc->bitmap_index], decompr_buf, gdsc->box_w, gdsc->box_h, (uint8_t)fdsc->bpp); - e8f8: 6833 ldr r3, [r6, #0] - e8fa: 031b lsls r3, r3, #12 - e8fc: 0b1b lsrs r3, r3, #12 - e8fe: 682a ldr r2, [r5, #0] - e900: 18d2 adds r2, r2, r3 - e902: 4ba5 ldr r3, [pc, #660] ; (eb98 ) - e904: 681b ldr r3, [r3, #0] - e906: 9303 str r3, [sp, #12] - e908: 7933 ldrb r3, [r6, #4] - e90a: 930d str r3, [sp, #52] ; 0x34 - e90c: b21b sxth r3, r3 - e90e: 9311 str r3, [sp, #68] ; 0x44 - e910: 7973 ldrb r3, [r6, #5] - e912: 9310 str r3, [sp, #64] ; 0x40 - e914: b21b sxth r3, r3 - e916: 930e str r3, [sp, #56] ; 0x38 - e918: 7ceb ldrb r3, [r5, #19] - e91a: 069b lsls r3, r3, #26 - e91c: 0f1b lsrs r3, r3, #28 - e91e: b2d9 uxtb r1, r3 - e920: 9100 str r1, [sp, #0] + e960: 6833 ldr r3, [r6, #0] + e962: 031b lsls r3, r3, #12 + e964: 0b1b lsrs r3, r3, #12 + e966: 682a ldr r2, [r5, #0] + e968: 18d2 adds r2, r2, r3 + e96a: 4ba5 ldr r3, [pc, #660] ; (ec00 ) + e96c: 681b ldr r3, [r3, #0] + e96e: 9303 str r3, [sp, #12] + e970: 7933 ldrb r3, [r6, #4] + e972: 930d str r3, [sp, #52] ; 0x34 + e974: b21b sxth r3, r3 + e976: 9311 str r3, [sp, #68] ; 0x44 + e978: 7973 ldrb r3, [r6, #5] + e97a: 9310 str r3, [sp, #64] ; 0x40 + e97c: b21b sxth r3, r3 + e97e: 930e str r3, [sp, #56] ; 0x38 + e980: 7ceb ldrb r3, [r5, #19] + e982: 069b lsls r3, r3, #26 + e984: 0f1b lsrs r3, r3, #28 + e986: b2d9 uxtb r1, r3 + e988: 9100 str r1, [sp, #0] uint8_t wr_size = bpp; - e922: 9106 str r1, [sp, #24] + e98a: 9106 str r1, [sp, #24] if(bpp == 3) wr_size = 4; - e924: 2903 cmp r1, #3 - e926: d060 beq.n e9ea + e98c: 2903 cmp r1, #3 + e98e: d060 beq.n ea52 rle_in = in; - e928: 499f ldr r1, [pc, #636] ; (eba8 ) - e92a: 600a str r2, [r1, #0] + e990: 499f ldr r1, [pc, #636] ; (ec10 ) + e992: 600a str r2, [r1, #0] rle_bpp = bpp; - e92c: 4a9f ldr r2, [pc, #636] ; (ebac ) - e92e: 7013 strb r3, [r2, #0] + e994: 4a9f ldr r2, [pc, #636] ; (ec14 ) + e996: 7013 strb r3, [r2, #0] rle_state = RLE_STATE_SINGLE; - e930: 2300 movs r3, #0 - e932: 4a9f ldr r2, [pc, #636] ; (ebb0 ) - e934: 7013 strb r3, [r2, #0] + e998: 2300 movs r3, #0 + e99a: 4a9f ldr r2, [pc, #636] ; (ec18 ) + e99c: 7013 strb r3, [r2, #0] rle_rdp = 0; - e936: 4a9f ldr r2, [pc, #636] ; (ebb4 ) - e938: 6013 str r3, [r2, #0] + e99e: 4a9f ldr r2, [pc, #636] ; (ec1c ) + e9a0: 6013 str r3, [r2, #0] rle_prev_v = 0; - e93a: 4a9f ldr r2, [pc, #636] ; (ebb8 ) - e93c: 7013 strb r3, [r2, #0] + e9a2: 4a9f ldr r2, [pc, #636] ; (ec20 ) + e9a4: 7013 strb r3, [r2, #0] rle_cnt = 0; - e93e: 4a9f ldr r2, [pc, #636] ; (ebbc ) - e940: 7013 strb r3, [r2, #0] + e9a6: 4a9f ldr r2, [pc, #636] ; (ec24 ) + e9a8: 7013 strb r3, [r2, #0] uint8_t * line_buf1 = _lv_mem_buf_get(w); - e942: 9f0d ldr r7, [sp, #52] ; 0x34 - e944: 0038 movs r0, r7 - e946: 4c9e ldr r4, [pc, #632] ; (ebc0 ) - e948: 47a0 blx r4 - e94a: 0005 movs r5, r0 - e94c: 9017 str r0, [sp, #92] ; 0x5c + e9aa: 9f0d ldr r7, [sp, #52] ; 0x34 + e9ac: 0038 movs r0, r7 + e9ae: 4c9e ldr r4, [pc, #632] ; (ec28 ) + e9b0: 47a0 blx r4 + e9b2: 0005 movs r5, r0 + e9b4: 9017 str r0, [sp, #92] ; 0x5c uint8_t * line_buf2 = _lv_mem_buf_get(w); - e94e: 0038 movs r0, r7 - e950: 47a0 blx r4 - e952: 9001 str r0, [sp, #4] + e9b6: 0038 movs r0, r7 + e9b8: 47a0 blx r4 + e9ba: 9001 str r0, [sp, #4] for(i = 0; i < w; i++) { - e954: 9b11 ldr r3, [sp, #68] ; 0x44 - e956: 2b00 cmp r3, #0 - e958: dc00 bgt.n e95c - e95a: e25e b.n ee1a - e95c: 4b96 ldr r3, [pc, #600] ; (ebb8 ) - e95e: 781b ldrb r3, [r3, #0] - e960: 9302 str r3, [sp, #8] - e962: 4b96 ldr r3, [pc, #600] ; (ebbc ) - e964: 781b ldrb r3, [r3, #0] - e966: 469a mov sl, r3 + e9bc: 9b11 ldr r3, [sp, #68] ; 0x44 + e9be: 2b00 cmp r3, #0 + e9c0: dc00 bgt.n e9c4 + e9c2: e25e b.n ee82 + e9c4: 4b96 ldr r3, [pc, #600] ; (ec20 ) + e9c6: 781b ldrb r3, [r3, #0] + e9c8: 9302 str r3, [sp, #8] + e9ca: 4b96 ldr r3, [pc, #600] ; (ec24 ) + e9cc: 781b ldrb r3, [r3, #0] + e9ce: 469a mov sl, r3 ret = get_bits(rle_in, rle_rdp, rle_bpp); - e968: 4b8f ldr r3, [pc, #572] ; (eba8 ) - e96a: 681e ldr r6, [r3, #0] - e96c: 4b91 ldr r3, [pc, #580] ; (ebb4 ) - e96e: 6818 ldr r0, [r3, #0] - e970: 4b8e ldr r3, [pc, #568] ; (ebac ) - e972: 781b ldrb r3, [r3, #0] - e974: 4699 mov r9, r3 + e9d0: 4b8f ldr r3, [pc, #572] ; (ec10 ) + e9d2: 681e ldr r6, [r3, #0] + e9d4: 4b91 ldr r3, [pc, #580] ; (ec1c ) + e9d6: 6818 ldr r0, [r3, #0] + e9d8: 4b8e ldr r3, [pc, #568] ; (ec14 ) + e9da: 781b ldrb r3, [r3, #0] + e9dc: 4699 mov r9, r3 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - e976: 2301 movs r3, #1 - e978: 4649 mov r1, r9 - e97a: 408b lsls r3, r1 - e97c: 3b01 subs r3, #1 - e97e: b2db uxtb r3, r3 - e980: 930b str r3, [sp, #44] ; 0x2c - e982: 2308 movs r3, #8 - e984: 1a5b subs r3, r3, r1 - e986: 930c str r3, [sp, #48] ; 0x30 - e988: 2310 movs r3, #16 - e98a: 1a5b subs r3, r3, r1 - e98c: 930a str r3, [sp, #40] ; 0x28 - e98e: 4b88 ldr r3, [pc, #544] ; (ebb0 ) - e990: 781b ldrb r3, [r3, #0] - e992: 469c mov ip, r3 - e994: 002c movs r4, r5 - e996: 003b movs r3, r7 - e998: 3b01 subs r3, #1 - e99a: b29b uxth r3, r3 - e99c: 3301 adds r3, #1 - e99e: 930f str r3, [sp, #60] ; 0x3c - e9a0: 002a movs r2, r5 - e9a2: 469b mov fp, r3 - e9a4: 445a add r2, fp - e9a6: 9209 str r2, [sp, #36] ; 0x24 + e9de: 2301 movs r3, #1 + e9e0: 4649 mov r1, r9 + e9e2: 408b lsls r3, r1 + e9e4: 3b01 subs r3, #1 + e9e6: b2db uxtb r3, r3 + e9e8: 930b str r3, [sp, #44] ; 0x2c + e9ea: 2308 movs r3, #8 + e9ec: 1a5b subs r3, r3, r1 + e9ee: 930c str r3, [sp, #48] ; 0x30 + e9f0: 2310 movs r3, #16 + e9f2: 1a5b subs r3, r3, r1 + e9f4: 930a str r3, [sp, #40] ; 0x28 + e9f6: 4b88 ldr r3, [pc, #544] ; (ec18 ) + e9f8: 781b ldrb r3, [r3, #0] + e9fa: 469c mov ip, r3 + e9fc: 002c movs r4, r5 + e9fe: 003b movs r3, r7 + ea00: 3b01 subs r3, #1 + ea02: b29b uxth r3, r3 + ea04: 3301 adds r3, #1 + ea06: 930f str r3, [sp, #60] ; 0x3c + ea08: 002a movs r2, r5 + ea0a: 469b mov fp, r3 + ea0c: 445a add r2, fp + ea0e: 9209 str r2, [sp, #36] ; 0x24 if(bit_pos + len >= 8) { - e9a8: 2300 movs r3, #0 - e9aa: 9305 str r3, [sp, #20] - e9ac: 9308 str r3, [sp, #32] - e9ae: 2100 movs r1, #0 - e9b0: 9307 str r3, [sp, #28] + ea10: 2300 movs r3, #0 + ea12: 9305 str r3, [sp, #20] + ea14: 9308 str r3, [sp, #32] + ea16: 2100 movs r1, #0 + ea18: 9307 str r3, [sp, #28] switch(len) { - e9b2: 464b mov r3, r9 - e9b4: 009b lsls r3, r3, #2 - e9b6: 469b mov fp, r3 - e9b8: 4b82 ldr r3, [pc, #520] ; (ebc4 ) - e9ba: 445b add r3, fp - e9bc: 9312 str r3, [sp, #72] ; 0x48 - e9be: 4653 mov r3, sl - e9c0: 9304 str r3, [sp, #16] - e9c2: 46a8 mov r8, r5 - e9c4: 4667 mov r7, ip - e9c6: 464d mov r5, r9 - e9c8: e031 b.n ea2e + ea1a: 464b mov r3, r9 + ea1c: 009b lsls r3, r3, #2 + ea1e: 469b mov fp, r3 + ea20: 4b82 ldr r3, [pc, #520] ; (ec2c ) + ea22: 445b add r3, fp + ea24: 9312 str r3, [sp, #72] ; 0x48 + ea26: 4653 mov r3, sl + ea28: 9304 str r3, [sp, #16] + ea2a: 46a8 mov r8, r5 + ea2c: 4667 mov r7, ip + ea2e: 464d mov r5, r9 + ea30: e031 b.n ea96 buf_size = (gsize + 7) >> 3; - e9ca: 3407 adds r4, #7 - e9cc: 08e4 lsrs r4, r4, #3 + ea32: 3407 adds r4, #7 + ea34: 08e4 lsrs r4, r4, #3 break; - e9ce: e77d b.n e8cc + ea36: e77d b.n e934 buf_size = (gsize + 3) >> 2; - e9d0: 3403 adds r4, #3 - e9d2: 08a4 lsrs r4, r4, #2 + ea38: 3403 adds r4, #3 + ea3a: 08a4 lsrs r4, r4, #2 break; - e9d4: e77a b.n e8cc + ea3c: e77a b.n e934 buf_size = (gsize + 1) >> 1; - e9d6: 3401 adds r4, #1 - e9d8: 0864 lsrs r4, r4, #1 + ea3e: 3401 adds r4, #1 + ea40: 0864 lsrs r4, r4, #1 break; - e9da: e777 b.n e8cc + ea42: e777 b.n e934 LV_ASSERT_MEM(decompr_buf); - e9dc: 4b6e ldr r3, [pc, #440] ; (eb98 ) - e9de: 681a ldr r2, [r3, #0] - e9e0: 2300 movs r3, #0 - e9e2: 4879 ldr r0, [pc, #484] ; (ebc8 ) - e9e4: 4979 ldr r1, [pc, #484] ; (ebcc ) - e9e6: 4788 blx r1 - e9e8: e7fe b.n e9e8 + ea44: 4b6e ldr r3, [pc, #440] ; (ec00 ) + ea46: 681a ldr r2, [r3, #0] + ea48: 2300 movs r3, #0 + ea4a: 4879 ldr r0, [pc, #484] ; (ec30 ) + ea4c: 4979 ldr r1, [pc, #484] ; (ec34 ) + ea4e: 4788 blx r1 + ea50: e7fe b.n ea50 if(bpp == 3) wr_size = 4; - e9ea: 3101 adds r1, #1 - e9ec: 9106 str r1, [sp, #24] - e9ee: e79b b.n e928 + ea52: 3101 adds r1, #1 + ea54: 9106 str r1, [sp, #24] + ea56: e79b b.n e990 bit_mask = 0x3; - e9f0: 2303 movs r3, #3 - e9f2: 469c mov ip, r3 + ea58: 2303 movs r3, #3 + ea5a: 469c mov ip, r3 uint32_t byte_pos = bit_pos >> 3; - e9f4: 08c3 lsrs r3, r0, #3 + ea5c: 08c3 lsrs r3, r0, #3 bit_pos = bit_pos & 0x7; - e9f6: 2107 movs r1, #7 - e9f8: 4001 ands r1, r0 + ea5e: 2107 movs r1, #7 + ea60: 4001 ands r1, r0 if(bit_pos + len >= 8) { - e9fa: 194a adds r2, r1, r5 - e9fc: 2a07 cmp r2, #7 - e9fe: d82f bhi.n ea60 + ea62: 194a adds r2, r1, r5 + ea64: 2a07 cmp r2, #7 + ea66: d82f bhi.n eac8 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - ea00: 5cf3 ldrb r3, [r6, r3] - ea02: 9a0c ldr r2, [sp, #48] ; 0x30 - ea04: 1a51 subs r1, r2, r1 - ea06: 410b asrs r3, r1 - ea08: 4662 mov r2, ip - ea0a: 401a ands r2, r3 - ea0c: 0013 movs r3, r2 + ea68: 5cf3 ldrb r3, [r6, r3] + ea6a: 9a0c ldr r2, [sp, #48] ; 0x30 + ea6c: 1a51 subs r1, r2, r1 + ea6e: 410b asrs r3, r1 + ea70: 4662 mov r2, ip + ea72: 401a ands r2, r3 + ea74: 0013 movs r3, r2 if(rle_rdp != 0 && rle_prev_v == ret) { - ea0e: 2800 cmp r0, #0 - ea10: d002 beq.n ea18 - ea12: 9a02 ldr r2, [sp, #8] - ea14: 4293 cmp r3, r2 - ea16: d031 beq.n ea7c + ea76: 2800 cmp r0, #0 + ea78: d002 beq.n ea80 + ea7a: 9a02 ldr r2, [sp, #8] + ea7c: 4293 cmp r3, r2 + ea7e: d031 beq.n eae4 rle_rdp += rle_bpp; - ea18: 1940 adds r0, r0, r5 + ea80: 1940 adds r0, r0, r5 rle_prev_v = ret; - ea1a: 9302 str r3, [sp, #8] + ea82: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - ea1c: 2101 movs r1, #1 - ea1e: 2201 movs r2, #1 - ea20: 9207 str r2, [sp, #28] + ea84: 2101 movs r1, #1 + ea86: 2201 movs r2, #1 + ea88: 9207 str r2, [sp, #28] out[i] = rle_next(); - ea22: 7023 strb r3, [r4, #0] - ea24: 3401 adds r4, #1 + ea8a: 7023 strb r3, [r4, #0] + ea8c: 3401 adds r4, #1 for(i = 0; i < w; i++) { - ea26: 9b09 ldr r3, [sp, #36] ; 0x24 - ea28: 429c cmp r4, r3 - ea2a: d100 bne.n ea2e - ea2c: e14b b.n ecc6 + ea8e: 9b09 ldr r3, [sp, #36] ; 0x24 + ea90: 429c cmp r4, r3 + ea92: d100 bne.n ea96 + ea94: e14b b.n ed2e if(rle_state == RLE_STATE_SINGLE) { - ea2e: 2f00 cmp r7, #0 - ea30: d12c bne.n ea8c + ea96: 2f00 cmp r7, #0 + ea98: d12c bne.n eaf4 switch(len) { - ea32: 464b mov r3, r9 - ea34: 2b08 cmp r3, #8 - ea36: d80d bhi.n ea54 - ea38: 4b65 ldr r3, [pc, #404] ; (ebd0 ) - ea3a: 465a mov r2, fp - ea3c: 589b ldr r3, [r3, r2] - ea3e: 9307 str r3, [sp, #28] - ea40: 469f mov pc, r3 + ea9a: 464b mov r3, r9 + ea9c: 2b08 cmp r3, #8 + ea9e: d80d bhi.n eabc + eaa0: 4b65 ldr r3, [pc, #404] ; (ec38 ) + eaa2: 465a mov r2, fp + eaa4: 589b ldr r3, [r3, r2] + eaa6: 9307 str r3, [sp, #28] + eaa8: 469f mov pc, r3 bit_mask = 0x7; - ea42: 2307 movs r3, #7 - ea44: 469c mov ip, r3 - ea46: e7d5 b.n e9f4 + eaaa: 2307 movs r3, #7 + eaac: 469c mov ip, r3 + eaae: e7d5 b.n ea5c bit_mask = 0xF; - ea48: 230f movs r3, #15 - ea4a: 469c mov ip, r3 - ea4c: e7d2 b.n e9f4 + eab0: 230f movs r3, #15 + eab2: 469c mov ip, r3 + eab4: e7d2 b.n ea5c bit_mask = 0xFF; - ea4e: 23ff movs r3, #255 ; 0xff - ea50: 469c mov ip, r3 - ea52: e7cf b.n e9f4 + eab6: 23ff movs r3, #255 ; 0xff + eab8: 469c mov ip, r3 + eaba: e7cf b.n ea5c bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - ea54: 9b0b ldr r3, [sp, #44] ; 0x2c - ea56: 469c mov ip, r3 - ea58: e7cc b.n e9f4 + eabc: 9b0b ldr r3, [sp, #44] ; 0x2c + eabe: 469c mov ip, r3 + eac0: e7cc b.n ea5c bit_mask = 0x1; - ea5a: 2301 movs r3, #1 - ea5c: 469c mov ip, r3 - ea5e: e7c9 b.n e9f4 + eac2: 2301 movs r3, #1 + eac4: 469c mov ip, r3 + eac6: e7c9 b.n ea5c uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - ea60: 5cf2 ldrb r2, [r6, r3] - ea62: 0212 lsls r2, r2, #8 - ea64: 4692 mov sl, r2 - ea66: 18f3 adds r3, r6, r3 - ea68: 785b ldrb r3, [r3, #1] - ea6a: 4453 add r3, sl + eac8: 5cf2 ldrb r2, [r6, r3] + eaca: 0212 lsls r2, r2, #8 + eacc: 4692 mov sl, r2 + eace: 18f3 adds r3, r6, r3 + ead0: 785b ldrb r3, [r3, #1] + ead2: 4453 add r3, sl return (in16 >> (16 - bit_pos - len)) & bit_mask; - ea6c: b29b uxth r3, r3 - ea6e: 9a0a ldr r2, [sp, #40] ; 0x28 - ea70: 1a51 subs r1, r2, r1 - ea72: 410b asrs r3, r1 - ea74: 4662 mov r2, ip - ea76: 401a ands r2, r3 - ea78: 0013 movs r3, r2 - ea7a: e7c8 b.n ea0e + ead4: b29b uxth r3, r3 + ead6: 9a0a ldr r2, [sp, #40] ; 0x28 + ead8: 1a51 subs r1, r2, r1 + eada: 410b asrs r3, r1 + eadc: 4662 mov r2, ip + eade: 401a ands r2, r3 + eae0: 0013 movs r3, r2 + eae2: e7c8 b.n ea76 if(rle_rdp != 0 && rle_prev_v == ret) { - ea7c: 2201 movs r2, #1 - ea7e: 9205 str r2, [sp, #20] + eae4: 2201 movs r2, #1 + eae6: 9205 str r2, [sp, #20] rle_cnt = 0; - ea80: 2200 movs r2, #0 - ea82: 9204 str r2, [sp, #16] + eae8: 2200 movs r2, #0 + eaea: 9204 str r2, [sp, #16] if(rle_rdp != 0 && rle_prev_v == ret) { - ea84: 3201 adds r2, #1 - ea86: 9208 str r2, [sp, #32] + eaec: 3201 adds r2, #1 + eaee: 9208 str r2, [sp, #32] rle_state = RLE_STATE_REPEATE; - ea88: 2701 movs r7, #1 - ea8a: e7c5 b.n ea18 + eaf0: 2701 movs r7, #1 + eaf2: e7c5 b.n ea80 else if(rle_state == RLE_STATE_REPEATE) { - ea8c: 2f01 cmp r7, #1 - ea8e: d011 beq.n eab4 + eaf4: 2f01 cmp r7, #1 + eaf6: d011 beq.n eb1c uint8_t ret = 0; - ea90: 2300 movs r3, #0 + eaf8: 2300 movs r3, #0 else if(rle_state == RLE_STATE_COUNTER) { - ea92: 2f02 cmp r7, #2 - ea94: d1c5 bne.n ea22 + eafa: 2f02 cmp r7, #2 + eafc: d1c5 bne.n ea8a rle_cnt--; - ea96: 9a04 ldr r2, [sp, #16] - ea98: 3a01 subs r2, #1 - ea9a: b2d3 uxtb r3, r2 - ea9c: 9304 str r3, [sp, #16] + eafe: 9a04 ldr r2, [sp, #16] + eb00: 3a01 subs r2, #1 + eb02: b2d3 uxtb r3, r2 + eb04: 9304 str r3, [sp, #16] if(rle_cnt == 0) { - ea9e: 2b00 cmp r3, #0 - eaa0: d000 beq.n eaa4 - eaa2: e10c b.n ecbe + eb06: 2b00 cmp r3, #0 + eb08: d000 beq.n eb0c + eb0a: e10c b.n ed26 switch(len) { - eaa4: 464b mov r3, r9 - eaa6: 2b08 cmp r3, #8 - eaa8: d900 bls.n eaac - eaaa: e0f1 b.n ec90 - eaac: 9b12 ldr r3, [sp, #72] ; 0x48 - eaae: 681b ldr r3, [r3, #0] - eab0: 9302 str r3, [sp, #8] - eab2: 469f mov pc, r3 + eb0c: 464b mov r3, r9 + eb0e: 2b08 cmp r3, #8 + eb10: d900 bls.n eb14 + eb12: e0f1 b.n ecf8 + eb14: 9b12 ldr r3, [sp, #72] ; 0x48 + eb16: 681b ldr r3, [r3, #0] + eb18: 9302 str r3, [sp, #8] + eb1a: 469f mov pc, r3 uint32_t byte_pos = bit_pos >> 3; - eab4: 08c3 lsrs r3, r0, #3 + eb1c: 08c3 lsrs r3, r0, #3 bit_pos = bit_pos & 0x7; - eab6: 2107 movs r1, #7 - eab8: 4001 ands r1, r0 + eb1e: 2107 movs r1, #7 + eb20: 4001 ands r1, r0 if(bit_pos + len >= 8) { - eaba: 1c4a adds r2, r1, #1 - eabc: 2a07 cmp r2, #7 - eabe: d815 bhi.n eaec + eb22: 1c4a adds r2, r1, #1 + eb24: 2a07 cmp r2, #7 + eb26: d815 bhi.n eb54 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - eac0: 5cf3 ldrb r3, [r6, r3] - eac2: 43c9 mvns r1, r1 - eac4: 3108 adds r1, #8 - eac6: 410b asrs r3, r1 - eac8: 2201 movs r2, #1 - eaca: 4013 ands r3, r2 + eb28: 5cf3 ldrb r3, [r6, r3] + eb2a: 43c9 mvns r1, r1 + eb2c: 3108 adds r1, #8 + eb2e: 410b asrs r3, r1 + eb30: 2201 movs r2, #1 + eb32: 4013 ands r3, r2 rle_cnt++; - eacc: 9a04 ldr r2, [sp, #16] - eace: 3201 adds r2, #1 - ead0: b2d2 uxtb r2, r2 - ead2: 9204 str r2, [sp, #16] + eb34: 9a04 ldr r2, [sp, #16] + eb36: 3201 adds r2, #1 + eb38: b2d2 uxtb r2, r2 + eb3a: 9204 str r2, [sp, #16] rle_rdp += 1; - ead4: 1c41 adds r1, r0, #1 + eb3c: 1c41 adds r1, r0, #1 if(v == 1) { - ead6: 2b01 cmp r3, #1 - ead8: d015 beq.n eb06 + eb3e: 2b01 cmp r3, #1 + eb40: d015 beq.n eb6e switch(len) { - eada: 464b mov r3, r9 - eadc: 2b08 cmp r3, #8 - eade: d900 bls.n eae2 - eae0: e0ab b.n ec3a - eae2: 4b3c ldr r3, [pc, #240] ; (ebd4 ) - eae4: 465a mov r2, fp - eae6: 589b ldr r3, [r3, r2] - eae8: 9302 str r3, [sp, #8] - eaea: 469f mov pc, r3 + eb42: 464b mov r3, r9 + eb44: 2b08 cmp r3, #8 + eb46: d900 bls.n eb4a + eb48: e0ab b.n eca2 + eb4a: 4b3c ldr r3, [pc, #240] ; (ec3c ) + eb4c: 465a mov r2, fp + eb4e: 589b ldr r3, [r3, r2] + eb50: 9302 str r3, [sp, #8] + eb52: 469f mov pc, r3 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - eaec: 5cf2 ldrb r2, [r6, r3] - eaee: 0212 lsls r2, r2, #8 - eaf0: 4694 mov ip, r2 - eaf2: 18f3 adds r3, r6, r3 - eaf4: 785b ldrb r3, [r3, #1] - eaf6: 4463 add r3, ip + eb54: 5cf2 ldrb r2, [r6, r3] + eb56: 0212 lsls r2, r2, #8 + eb58: 4694 mov ip, r2 + eb5a: 18f3 adds r3, r6, r3 + eb5c: 785b ldrb r3, [r3, #1] + eb5e: 4463 add r3, ip return (in16 >> (16 - bit_pos - len)) & bit_mask; - eaf8: b29b uxth r3, r3 - eafa: 43c9 mvns r1, r1 - eafc: 3110 adds r1, #16 - eafe: 410b asrs r3, r1 - eb00: 2201 movs r2, #1 - eb02: 4013 ands r3, r2 - eb04: e7e2 b.n eacc + eb60: b29b uxth r3, r3 + eb62: 43c9 mvns r1, r1 + eb64: 3110 adds r1, #16 + eb66: 410b asrs r3, r1 + eb68: 2201 movs r2, #1 + eb6a: 4013 ands r3, r2 + eb6c: e7e2 b.n eb34 if(rle_cnt == 11) { - eb06: 2a0b cmp r2, #11 - eb08: d005 beq.n eb16 + eb6e: 2a0b cmp r2, #11 + eb70: d005 beq.n eb7e rle_rdp += 1; - eb0a: 0008 movs r0, r1 + eb72: 0008 movs r0, r1 ret = rle_prev_v; - eb0c: 9b02 ldr r3, [sp, #8] + eb74: 9b02 ldr r3, [sp, #8] if(rle_cnt == 11) { - eb0e: 2201 movs r2, #1 - eb10: 9205 str r2, [sp, #20] - eb12: 2101 movs r1, #1 - eb14: e785 b.n ea22 + eb76: 2201 movs r2, #1 + eb78: 9205 str r2, [sp, #20] + eb7a: 2101 movs r1, #1 + eb7c: e785 b.n ea8a uint32_t byte_pos = bit_pos >> 3; - eb16: 08cb lsrs r3, r1, #3 + eb7e: 08cb lsrs r3, r1, #3 bit_pos = bit_pos & 0x7; - eb18: 2207 movs r2, #7 - eb1a: 4011 ands r1, r2 + eb80: 2207 movs r2, #7 + eb82: 4011 ands r1, r2 if(bit_pos + len >= 8) { - eb1c: 1d8a adds r2, r1, #6 - eb1e: 2a07 cmp r2, #7 - eb20: d813 bhi.n eb4a + eb84: 1d8a adds r2, r1, #6 + eb86: 2a07 cmp r2, #7 + eb88: d813 bhi.n ebb2 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - eb22: 5cf2 ldrb r2, [r6, r3] - eb24: 2302 movs r3, #2 - eb26: 1a59 subs r1, r3, r1 - eb28: 410a asrs r2, r1 - eb2a: 333d adds r3, #61 ; 0x3d - eb2c: 401a ands r2, r3 - eb2e: 9204 str r2, [sp, #16] + eb8a: 5cf2 ldrb r2, [r6, r3] + eb8c: 2302 movs r3, #2 + eb8e: 1a59 subs r1, r3, r1 + eb90: 410a asrs r2, r1 + eb92: 333d adds r3, #61 ; 0x3d + eb94: 401a ands r2, r3 + eb96: 9204 str r2, [sp, #16] rle_rdp += 6; - eb30: 3007 adds r0, #7 + eb98: 3007 adds r0, #7 if(rle_cnt != 0) { - eb32: 9b04 ldr r3, [sp, #16] - eb34: 2b00 cmp r3, #0 - eb36: d000 beq.n eb3a - eb38: e0ba b.n ecb0 + eb9a: 9b04 ldr r3, [sp, #16] + eb9c: 2b00 cmp r3, #0 + eb9e: d000 beq.n eba2 + eba0: e0ba b.n ed18 switch(len) { - eb3a: 464b mov r3, r9 - eb3c: 2b08 cmp r3, #8 - eb3e: d824 bhi.n eb8a - eb40: 4b25 ldr r3, [pc, #148] ; (ebd8 ) - eb42: 465a mov r2, fp - eb44: 589b ldr r3, [r3, r2] - eb46: 9302 str r3, [sp, #8] - eb48: 469f mov pc, r3 + eba2: 464b mov r3, r9 + eba4: 2b08 cmp r3, #8 + eba6: d824 bhi.n ebf2 + eba8: 4b25 ldr r3, [pc, #148] ; (ec40 ) + ebaa: 465a mov r2, fp + ebac: 589b ldr r3, [r3, r2] + ebae: 9302 str r3, [sp, #8] + ebb0: 469f mov pc, r3 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - eb4a: 5cf2 ldrb r2, [r6, r3] - eb4c: 0212 lsls r2, r2, #8 - eb4e: 18f3 adds r3, r6, r3 - eb50: 785b ldrb r3, [r3, #1] - eb52: 189a adds r2, r3, r2 + ebb2: 5cf2 ldrb r2, [r6, r3] + ebb4: 0212 lsls r2, r2, #8 + ebb6: 18f3 adds r3, r6, r3 + ebb8: 785b ldrb r3, [r3, #1] + ebba: 189a adds r2, r3, r2 return (in16 >> (16 - bit_pos - len)) & bit_mask; - eb54: b292 uxth r2, r2 - eb56: 230a movs r3, #10 - eb58: 1a59 subs r1, r3, r1 - eb5a: 410a asrs r2, r1 - eb5c: 3335 adds r3, #53 ; 0x35 - eb5e: 401a ands r2, r3 - eb60: 9204 str r2, [sp, #16] - eb62: e7e5 b.n eb30 + ebbc: b292 uxth r2, r2 + ebbe: 230a movs r3, #10 + ebc0: 1a59 subs r1, r3, r1 + ebc2: 410a asrs r2, r1 + ebc4: 3335 adds r3, #53 ; 0x35 + ebc6: 401a ands r2, r3 + ebc8: 9204 str r2, [sp, #16] + ebca: e7e5 b.n eb98 bit_mask = 0x3; - eb64: 2303 movs r3, #3 + ebcc: 2303 movs r3, #3 uint32_t byte_pos = bit_pos >> 3; - eb66: 08c7 lsrs r7, r0, #3 + ebce: 08c7 lsrs r7, r0, #3 bit_pos = bit_pos & 0x7; - eb68: 2107 movs r1, #7 - eb6a: 4001 ands r1, r0 + ebd0: 2107 movs r1, #7 + ebd2: 4001 ands r1, r0 if(bit_pos + len >= 8) { - eb6c: 194a adds r2, r1, r5 - eb6e: 2a07 cmp r2, #7 - eb70: d834 bhi.n ebdc + ebd4: 194a adds r2, r1, r5 + ebd6: 2a07 cmp r2, #7 + ebd8: d834 bhi.n ec44 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - eb72: 5df7 ldrb r7, [r6, r7] - eb74: 9a0c ldr r2, [sp, #48] ; 0x30 - eb76: 1a51 subs r1, r2, r1 - eb78: 410f asrs r7, r1 - eb7a: 403b ands r3, r7 - eb7c: e039 b.n ebf2 + ebda: 5df7 ldrb r7, [r6, r7] + ebdc: 9a0c ldr r2, [sp, #48] ; 0x30 + ebde: 1a51 subs r1, r2, r1 + ebe0: 410f asrs r7, r1 + ebe2: 403b ands r3, r7 + ebe4: e039 b.n ec5a bit_mask = 0x7; - eb7e: 2307 movs r3, #7 - eb80: e7f1 b.n eb66 + ebe6: 2307 movs r3, #7 + ebe8: e7f1 b.n ebce bit_mask = 0xF; - eb82: 230f movs r3, #15 - eb84: e7ef b.n eb66 + ebea: 230f movs r3, #15 + ebec: e7ef b.n ebce bit_mask = 0xFF; - eb86: 23ff movs r3, #255 ; 0xff - eb88: e7ed b.n eb66 + ebee: 23ff movs r3, #255 ; 0xff + ebf0: e7ed b.n ebce bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - eb8a: 9b0b ldr r3, [sp, #44] ; 0x2c - eb8c: e7eb b.n eb66 + ebf2: 9b0b ldr r3, [sp, #44] ; 0x2c + ebf4: e7eb b.n ebce bit_mask = 0x1; - eb8e: 2301 movs r3, #1 - eb90: e7e9 b.n eb66 - eb92: 46c0 nop ; (mov r8, r8) - eb94: 0000e755 .word 0x0000e755 - eb98: 20002bb8 .word 0x20002bb8 - eb9c: 00010b4d .word 0x00010b4d - eba0: 00010ddd .word 0x00010ddd - eba4: 00001415 .word 0x00001415 - eba8: 20002bc0 .word 0x20002bc0 - ebac: 20002bbc .word 0x20002bbc - ebb0: 20002bcc .word 0x20002bcc - ebb4: 20002bc8 .word 0x20002bc8 - ebb8: 20002bc4 .word 0x20002bc4 - ebbc: 20002bbd .word 0x20002bbd - ebc0: 00010e59 .word 0x00010e59 - ebc4: 00018a64 .word 0x00018a64 - ebc8: 00018804 .word 0x00018804 - ebcc: 0000141d .word 0x0000141d - ebd0: 00018a40 .word 0x00018a40 - ebd4: 00018a88 .word 0x00018a88 - ebd8: 00018aac .word 0x00018aac + ebf6: 2301 movs r3, #1 + ebf8: e7e9 b.n ebce + ebfa: 46c0 nop ; (mov r8, r8) + ebfc: 0000e7bd .word 0x0000e7bd + ec00: 20002bb8 .word 0x20002bb8 + ec04: 00010bb5 .word 0x00010bb5 + ec08: 00010e45 .word 0x00010e45 + ec0c: 0000147d .word 0x0000147d + ec10: 20002bc0 .word 0x20002bc0 + ec14: 20002bbc .word 0x20002bbc + ec18: 20002bcc .word 0x20002bcc + ec1c: 20002bc8 .word 0x20002bc8 + ec20: 20002bc4 .word 0x20002bc4 + ec24: 20002bbd .word 0x20002bbd + ec28: 00010ec1 .word 0x00010ec1 + ec2c: 00018af4 .word 0x00018af4 + ec30: 00018894 .word 0x00018894 + ec34: 00001485 .word 0x00001485 + ec38: 00018ad0 .word 0x00018ad0 + ec3c: 00018b18 .word 0x00018b18 + ec40: 00018b3c .word 0x00018b3c uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - ebdc: 5df2 ldrb r2, [r6, r7] - ebde: 0212 lsls r2, r2, #8 - ebe0: 4694 mov ip, r2 - ebe2: 19f7 adds r7, r6, r7 - ebe4: 787f ldrb r7, [r7, #1] - ebe6: 4467 add r7, ip + ec44: 5df2 ldrb r2, [r6, r7] + ec46: 0212 lsls r2, r2, #8 + ec48: 4694 mov ip, r2 + ec4a: 19f7 adds r7, r6, r7 + ec4c: 787f ldrb r7, [r7, #1] + ec4e: 4467 add r7, ip return (in16 >> (16 - bit_pos - len)) & bit_mask; - ebe8: b2bf uxth r7, r7 - ebea: 9a0a ldr r2, [sp, #40] ; 0x28 - ebec: 1a51 subs r1, r2, r1 - ebee: 410f asrs r7, r1 - ebf0: 403b ands r3, r7 + ec50: b2bf uxth r7, r7 + ec52: 9a0a ldr r2, [sp, #40] ; 0x28 + ec54: 1a51 subs r1, r2, r1 + ec56: 410f asrs r7, r1 + ec58: 403b ands r3, r7 rle_rdp += rle_bpp; - ebf2: 1940 adds r0, r0, r5 + ec5a: 1940 adds r0, r0, r5 rle_prev_v = ret; - ebf4: 9302 str r3, [sp, #8] + ec5c: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - ebf6: 2201 movs r2, #1 - ebf8: 9205 str r2, [sp, #20] - ebfa: 9208 str r2, [sp, #32] + ec5e: 2201 movs r2, #1 + ec60: 9205 str r2, [sp, #20] + ec62: 9208 str r2, [sp, #32] rle_state = RLE_STATE_SINGLE; - ebfc: 2700 movs r7, #0 + ec64: 2700 movs r7, #0 rle_rdp += rle_bpp; - ebfe: 2101 movs r1, #1 - ec00: 9207 str r2, [sp, #28] - ec02: e70e b.n ea22 + ec66: 2101 movs r1, #1 + ec68: 9207 str r2, [sp, #28] + ec6a: e70e b.n ea8a bit_mask = 0x3; - ec04: 2303 movs r3, #3 + ec6c: 2303 movs r3, #3 uint32_t byte_pos = bit_pos >> 3; - ec06: 08cf lsrs r7, r1, #3 + ec6e: 08cf lsrs r7, r1, #3 bit_pos = bit_pos & 0x7; - ec08: 2007 movs r0, #7 - ec0a: 4008 ands r0, r1 + ec70: 2007 movs r0, #7 + ec72: 4008 ands r0, r1 if(bit_pos + len >= 8) { - ec0c: 1942 adds r2, r0, r5 - ec0e: 2a07 cmp r2, #7 - ec10: d817 bhi.n ec42 + ec74: 1942 adds r2, r0, r5 + ec76: 2a07 cmp r2, #7 + ec78: d817 bhi.n ecaa return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - ec12: 5df7 ldrb r7, [r6, r7] - ec14: 9a0c ldr r2, [sp, #48] ; 0x30 - ec16: 1a10 subs r0, r2, r0 - ec18: 4107 asrs r7, r0 - ec1a: 403b ands r3, r7 + ec7a: 5df7 ldrb r7, [r6, r7] + ec7c: 9a0c ldr r2, [sp, #48] ; 0x30 + ec7e: 1a10 subs r0, r2, r0 + ec80: 4107 asrs r7, r0 + ec82: 403b ands r3, r7 rle_rdp += rle_bpp; - ec1c: 1948 adds r0, r1, r5 + ec84: 1948 adds r0, r1, r5 rle_prev_v = ret; - ec1e: 9302 str r3, [sp, #8] + ec86: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - ec20: 2201 movs r2, #1 - ec22: 9205 str r2, [sp, #20] - ec24: 9208 str r2, [sp, #32] + ec88: 2201 movs r2, #1 + ec8a: 9205 str r2, [sp, #20] + ec8c: 9208 str r2, [sp, #32] rle_state = RLE_STATE_SINGLE; - ec26: 2700 movs r7, #0 + ec8e: 2700 movs r7, #0 rle_rdp += rle_bpp; - ec28: 2101 movs r1, #1 - ec2a: 9207 str r2, [sp, #28] - ec2c: e6f9 b.n ea22 + ec90: 2101 movs r1, #1 + ec92: 9207 str r2, [sp, #28] + ec94: e6f9 b.n ea8a bit_mask = 0x7; - ec2e: 2307 movs r3, #7 - ec30: e7e9 b.n ec06 + ec96: 2307 movs r3, #7 + ec98: e7e9 b.n ec6e bit_mask = 0xF; - ec32: 230f movs r3, #15 - ec34: e7e7 b.n ec06 + ec9a: 230f movs r3, #15 + ec9c: e7e7 b.n ec6e bit_mask = 0xFF; - ec36: 23ff movs r3, #255 ; 0xff - ec38: e7e5 b.n ec06 + ec9e: 23ff movs r3, #255 ; 0xff + eca0: e7e5 b.n ec6e bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - ec3a: 9b0b ldr r3, [sp, #44] ; 0x2c - ec3c: e7e3 b.n ec06 + eca2: 9b0b ldr r3, [sp, #44] ; 0x2c + eca4: e7e3 b.n ec6e bit_mask = 0x1; - ec3e: 2301 movs r3, #1 - ec40: e7e1 b.n ec06 + eca6: 2301 movs r3, #1 + eca8: e7e1 b.n ec6e uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - ec42: 5df2 ldrb r2, [r6, r7] - ec44: 0212 lsls r2, r2, #8 - ec46: 4694 mov ip, r2 - ec48: 19f7 adds r7, r6, r7 - ec4a: 787f ldrb r7, [r7, #1] - ec4c: 4467 add r7, ip + ecaa: 5df2 ldrb r2, [r6, r7] + ecac: 0212 lsls r2, r2, #8 + ecae: 4694 mov ip, r2 + ecb0: 19f7 adds r7, r6, r7 + ecb2: 787f ldrb r7, [r7, #1] + ecb4: 4467 add r7, ip return (in16 >> (16 - bit_pos - len)) & bit_mask; - ec4e: b2bf uxth r7, r7 - ec50: 9a0a ldr r2, [sp, #40] ; 0x28 - ec52: 1a10 subs r0, r2, r0 - ec54: 4107 asrs r7, r0 - ec56: 403b ands r3, r7 - ec58: e7e0 b.n ec1c + ecb6: b2bf uxth r7, r7 + ecb8: 9a0a ldr r2, [sp, #40] ; 0x28 + ecba: 1a10 subs r0, r2, r0 + ecbc: 4107 asrs r7, r0 + ecbe: 403b ands r3, r7 + ecc0: e7e0 b.n ec84 bit_mask = 0x3; - ec5a: 2303 movs r3, #3 + ecc2: 2303 movs r3, #3 uint32_t byte_pos = bit_pos >> 3; - ec5c: 08c7 lsrs r7, r0, #3 + ecc4: 08c7 lsrs r7, r0, #3 bit_pos = bit_pos & 0x7; - ec5e: 2107 movs r1, #7 - ec60: 4001 ands r1, r0 + ecc6: 2107 movs r1, #7 + ecc8: 4001 ands r1, r0 if(bit_pos + len >= 8) { - ec62: 194a adds r2, r1, r5 - ec64: 2a07 cmp r2, #7 - ec66: d817 bhi.n ec98 + ecca: 194a adds r2, r1, r5 + eccc: 2a07 cmp r2, #7 + ecce: d817 bhi.n ed00 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - ec68: 5df7 ldrb r7, [r6, r7] - ec6a: 9a0c ldr r2, [sp, #48] ; 0x30 - ec6c: 1a51 subs r1, r2, r1 - ec6e: 410f asrs r7, r1 - ec70: 403b ands r3, r7 + ecd0: 5df7 ldrb r7, [r6, r7] + ecd2: 9a0c ldr r2, [sp, #48] ; 0x30 + ecd4: 1a51 subs r1, r2, r1 + ecd6: 410f asrs r7, r1 + ecd8: 403b ands r3, r7 rle_rdp += rle_bpp; - ec72: 1940 adds r0, r0, r5 + ecda: 1940 adds r0, r0, r5 rle_prev_v = ret; - ec74: 9302 str r3, [sp, #8] + ecdc: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - ec76: 2201 movs r2, #1 - ec78: 9205 str r2, [sp, #20] - ec7a: 9208 str r2, [sp, #32] + ecde: 2201 movs r2, #1 + ece0: 9205 str r2, [sp, #20] + ece2: 9208 str r2, [sp, #32] rle_state = RLE_STATE_SINGLE; - ec7c: 2700 movs r7, #0 + ece4: 2700 movs r7, #0 rle_rdp += rle_bpp; - ec7e: 2101 movs r1, #1 - ec80: 9207 str r2, [sp, #28] - ec82: e6ce b.n ea22 + ece6: 2101 movs r1, #1 + ece8: 9207 str r2, [sp, #28] + ecea: e6ce b.n ea8a bit_mask = 0x7; - ec84: 2307 movs r3, #7 - ec86: e7e9 b.n ec5c + ecec: 2307 movs r3, #7 + ecee: e7e9 b.n ecc4 bit_mask = 0xF; - ec88: 230f movs r3, #15 - ec8a: e7e7 b.n ec5c + ecf0: 230f movs r3, #15 + ecf2: e7e7 b.n ecc4 bit_mask = 0xFF; - ec8c: 23ff movs r3, #255 ; 0xff - ec8e: e7e5 b.n ec5c + ecf4: 23ff movs r3, #255 ; 0xff + ecf6: e7e5 b.n ecc4 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - ec90: 9b0b ldr r3, [sp, #44] ; 0x2c - ec92: e7e3 b.n ec5c + ecf8: 9b0b ldr r3, [sp, #44] ; 0x2c + ecfa: e7e3 b.n ecc4 bit_mask = 0x1; - ec94: 2301 movs r3, #1 - ec96: e7e1 b.n ec5c + ecfc: 2301 movs r3, #1 + ecfe: e7e1 b.n ecc4 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - ec98: 5df2 ldrb r2, [r6, r7] - ec9a: 0212 lsls r2, r2, #8 - ec9c: 4694 mov ip, r2 - ec9e: 19f7 adds r7, r6, r7 - eca0: 787f ldrb r7, [r7, #1] - eca2: 4467 add r7, ip + ed00: 5df2 ldrb r2, [r6, r7] + ed02: 0212 lsls r2, r2, #8 + ed04: 4694 mov ip, r2 + ed06: 19f7 adds r7, r6, r7 + ed08: 787f ldrb r7, [r7, #1] + ed0a: 4467 add r7, ip return (in16 >> (16 - bit_pos - len)) & bit_mask; - eca4: b2bf uxth r7, r7 - eca6: 9a0a ldr r2, [sp, #40] ; 0x28 - eca8: 1a51 subs r1, r2, r1 - ecaa: 410f asrs r7, r1 - ecac: 403b ands r3, r7 - ecae: e7e0 b.n ec72 + ed0c: b2bf uxth r7, r7 + ed0e: 9a0a ldr r2, [sp, #40] ; 0x28 + ed10: 1a51 subs r1, r2, r1 + ed12: 410f asrs r7, r1 + ed14: 403b ands r3, r7 + ed16: e7e0 b.n ecda ret = rle_prev_v; - ecb0: 9b02 ldr r3, [sp, #8] + ed18: 9b02 ldr r3, [sp, #8] if(rle_cnt != 0) { - ecb2: 2201 movs r2, #1 - ecb4: 9205 str r2, [sp, #20] - ecb6: 9208 str r2, [sp, #32] + ed1a: 2201 movs r2, #1 + ed1c: 9205 str r2, [sp, #20] + ed1e: 9208 str r2, [sp, #32] rle_state = RLE_STATE_COUNTER; - ecb8: 2702 movs r7, #2 + ed20: 2702 movs r7, #2 if(rle_cnt != 0) { - ecba: 2101 movs r1, #1 - ecbc: e6b1 b.n ea22 + ed22: 2101 movs r1, #1 + ed24: e6b1 b.n ea8a ret = rle_prev_v; - ecbe: 9b02 ldr r3, [sp, #8] + ed26: 9b02 ldr r3, [sp, #8] if(rle_cnt == 0) { - ecc0: 2201 movs r2, #1 - ecc2: 9205 str r2, [sp, #20] - ecc4: e6ad b.n ea22 - ecc6: 9b04 ldr r3, [sp, #16] - ecc8: 469a mov sl, r3 - ecca: 4645 mov r5, r8 - eccc: 46bc mov ip, r7 - ecce: 9b07 ldr r3, [sp, #28] - ecd0: 2b00 cmp r3, #0 - ecd2: d114 bne.n ecfe - ecd4: 2900 cmp r1, #0 - ecd6: d001 beq.n ecdc - ecd8: 4bcc ldr r3, [pc, #816] ; (f00c ) - ecda: 6018 str r0, [r3, #0] - ecdc: 9b08 ldr r3, [sp, #32] - ecde: 2b00 cmp r3, #0 - ece0: d002 beq.n ece8 - ece2: 4bcb ldr r3, [pc, #812] ; (f010 ) - ece4: 4662 mov r2, ip - ece6: 701a strb r2, [r3, #0] - ece8: 9b05 ldr r3, [sp, #20] - ecea: 2b00 cmp r3, #0 - ecec: d002 beq.n ecf4 - ecee: 4bc9 ldr r3, [pc, #804] ; (f014 ) - ecf0: 4652 mov r2, sl - ecf2: 701a strb r2, [r3, #0] + ed28: 2201 movs r2, #1 + ed2a: 9205 str r2, [sp, #20] + ed2c: e6ad b.n ea8a + ed2e: 9b04 ldr r3, [sp, #16] + ed30: 469a mov sl, r3 + ed32: 4645 mov r5, r8 + ed34: 46bc mov ip, r7 + ed36: 9b07 ldr r3, [sp, #28] + ed38: 2b00 cmp r3, #0 + ed3a: d114 bne.n ed66 + ed3c: 2900 cmp r1, #0 + ed3e: d001 beq.n ed44 + ed40: 4bcc ldr r3, [pc, #816] ; (f074 ) + ed42: 6018 str r0, [r3, #0] + ed44: 9b08 ldr r3, [sp, #32] + ed46: 2b00 cmp r3, #0 + ed48: d002 beq.n ed50 + ed4a: 4bcb ldr r3, [pc, #812] ; (f078 ) + ed4c: 4662 mov r2, ip + ed4e: 701a strb r2, [r3, #0] + ed50: 9b05 ldr r3, [sp, #20] + ed52: 2b00 cmp r3, #0 + ed54: d002 beq.n ed5c + ed56: 4bc9 ldr r3, [pc, #804] ; (f07c ) + ed58: 4652 mov r2, sl + ed5a: 701a strb r2, [r3, #0] rle_rdp += rle_bpp; - ecf4: 2600 movs r6, #0 + ed5c: 2600 movs r6, #0 if(len == 3) { - ecf6: 9b00 ldr r3, [sp, #0] - ecf8: 9302 str r3, [sp, #8] + ed5e: 9b00 ldr r3, [sp, #0] + ed60: 9302 str r3, [sp, #8] val = 6; - ecfa: 002f movs r7, r5 - ecfc: e023 b.n ed46 - ecfe: 4bc6 ldr r3, [pc, #792] ; (f018 ) - ed00: 466a mov r2, sp - ed02: 7a12 ldrb r2, [r2, #8] - ed04: 701a strb r2, [r3, #0] - ed06: e7e5 b.n ecd4 + ed62: 002f movs r7, r5 + ed64: e023 b.n edae + ed66: 4bc6 ldr r3, [pc, #792] ; (f080 ) + ed68: 466a mov r2, sp + ed6a: 7a12 ldrb r2, [r2, #8] + ed6c: 701a strb r2, [r3, #0] + ed6e: e7e5 b.n ed3c len = 4; - ed08: 2304 movs r3, #4 + ed70: 2304 movs r3, #4 val = 0; - ed0a: 2200 movs r2, #0 + ed72: 2200 movs r2, #0 bit_pos = bit_pos & 0x7; - ed0c: 2107 movs r1, #7 - ed0e: 4031 ands r1, r6 - ed10: 2508 movs r5, #8 - ed12: 1a6d subs r5, r5, r1 + ed74: 2107 movs r1, #7 + ed76: 4031 ands r1, r6 + ed78: 2508 movs r5, #8 + ed7a: 1a6d subs r5, r5, r1 bit_pos = 8 - bit_pos - len; - ed14: 1aed subs r5, r5, r3 + ed7c: 1aed subs r5, r5, r3 out[byte_pos] &= ((~bit_mask) << bit_pos); - ed16: 0371 lsls r1, r6, #13 - ed18: 0c09 lsrs r1, r1, #16 - ed1a: 9803 ldr r0, [sp, #12] - ed1c: 4684 mov ip, r0 - ed1e: 4461 add r1, ip + ed7e: 0371 lsls r1, r6, #13 + ed80: 0c09 lsrs r1, r1, #16 + ed82: 9803 ldr r0, [sp, #12] + ed84: 4684 mov ip, r0 + ed86: 4461 add r1, ip uint8_t bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - ed20: 2001 movs r0, #1 - ed22: 4098 lsls r0, r3 - ed24: 0003 movs r3, r0 - ed26: 3b01 subs r3, #1 + ed88: 2001 movs r0, #1 + ed8a: 4098 lsls r0, r3 + ed8c: 0003 movs r3, r0 + ed8e: 3b01 subs r3, #1 out[byte_pos] &= ((~bit_mask) << bit_pos); - ed28: b2db uxtb r3, r3 - ed2a: 43db mvns r3, r3 - ed2c: 40ab lsls r3, r5 - ed2e: 7808 ldrb r0, [r1, #0] - ed30: 4003 ands r3, r0 + ed90: b2db uxtb r3, r3 + ed92: 43db mvns r3, r3 + ed94: 40ab lsls r3, r5 + ed96: 7808 ldrb r0, [r1, #0] + ed98: 4003 ands r3, r0 out[byte_pos] |= (val << bit_pos); - ed32: 40aa lsls r2, r5 - ed34: 431a orrs r2, r3 - ed36: 700a strb r2, [r1, #0] + ed9a: 40aa lsls r2, r5 + ed9c: 431a orrs r2, r3 + ed9e: 700a strb r2, [r1, #0] wrp += wr_size; - ed38: 9a06 ldr r2, [sp, #24] - ed3a: 0013 movs r3, r2 - ed3c: 4694 mov ip, r2 - ed3e: 4466 add r6, ip - ed40: 3701 adds r7, #1 + eda0: 9a06 ldr r2, [sp, #24] + eda2: 0013 movs r3, r2 + eda4: 4694 mov ip, r2 + eda6: 4466 add r6, ip + eda8: 3701 adds r7, #1 for(x = 0; x < w; x++) { - ed42: 42a7 cmp r7, r4 - ed44: d021 beq.n ed8a + edaa: 42a7 cmp r7, r4 + edac: d021 beq.n edf2 bits_write(out, wrp, line_buf1[x], bpp); - ed46: 783a ldrb r2, [r7, #0] + edae: 783a ldrb r2, [r7, #0] if(len == 3) { - ed48: 9b02 ldr r3, [sp, #8] - ed4a: 9900 ldr r1, [sp, #0] - ed4c: 2903 cmp r1, #3 - ed4e: d1dd bne.n ed0c + edb0: 9b02 ldr r3, [sp, #8] + edb2: 9900 ldr r1, [sp, #0] + edb4: 2903 cmp r1, #3 + edb6: d1dd bne.n ed74 switch(val) { - ed50: 2a07 cmp r2, #7 - ed52: d818 bhi.n ed86 - ed54: 0092 lsls r2, r2, #2 - ed56: 4bb1 ldr r3, [pc, #708] ; (f01c ) - ed58: 589b ldr r3, [r3, r2] - ed5a: 469f mov pc, r3 + edb8: 2a07 cmp r2, #7 + edba: d818 bhi.n edee + edbc: 0092 lsls r2, r2, #2 + edbe: 4bb1 ldr r3, [pc, #708] ; (f084 ) + edc0: 589b ldr r3, [r3, r2] + edc2: 469f mov pc, r3 len = 4; - ed5c: 2304 movs r3, #4 + edc4: 2304 movs r3, #4 val = 2; - ed5e: 2202 movs r2, #2 - ed60: e7d4 b.n ed0c + edc6: 2202 movs r2, #2 + edc8: e7d4 b.n ed74 len = 4; - ed62: 2304 movs r3, #4 + edca: 2304 movs r3, #4 val = 4; - ed64: 2204 movs r2, #4 - ed66: e7d1 b.n ed0c + edcc: 2204 movs r2, #4 + edce: e7d1 b.n ed74 len = 4; - ed68: 2304 movs r3, #4 + edd0: 2304 movs r3, #4 val = 6; - ed6a: 2206 movs r2, #6 - ed6c: e7ce b.n ed0c + edd2: 2206 movs r2, #6 + edd4: e7ce b.n ed74 len = 4; - ed6e: 2304 movs r3, #4 + edd6: 2304 movs r3, #4 val = 9; - ed70: 2209 movs r2, #9 - ed72: e7cb b.n ed0c + edd8: 2209 movs r2, #9 + edda: e7cb b.n ed74 len = 4; - ed74: 2304 movs r3, #4 + eddc: 2304 movs r3, #4 val = 11; - ed76: 220b movs r2, #11 - ed78: e7c8 b.n ed0c + edde: 220b movs r2, #11 + ede0: e7c8 b.n ed74 len = 4; - ed7a: 2304 movs r3, #4 + ede2: 2304 movs r3, #4 val = 13; - ed7c: 220d movs r2, #13 - ed7e: e7c5 b.n ed0c + ede4: 220d movs r2, #13 + ede6: e7c5 b.n ed74 len = 4; - ed80: 2304 movs r3, #4 + ede8: 2304 movs r3, #4 val = 15; - ed82: 220f movs r2, #15 - ed84: e7c2 b.n ed0c + edea: 220f movs r2, #15 + edec: e7c2 b.n ed74 len = 4; - ed86: 2304 movs r3, #4 - ed88: e7c0 b.n ed0c - ed8a: 9a0f ldr r2, [sp, #60] ; 0x3c - ed8c: 435a muls r2, r3 - ed8e: 920f str r2, [sp, #60] ; 0x3c + edee: 2304 movs r3, #4 + edf0: e7c0 b.n ed74 + edf2: 9a0f ldr r2, [sp, #60] ; 0x3c + edf4: 435a muls r2, r3 + edf6: 920f str r2, [sp, #60] ; 0x3c for(y = 1; y < h; y++) { - ed90: 9b0e ldr r3, [sp, #56] ; 0x38 - ed92: 2b01 cmp r3, #1 - ed94: dc00 bgt.n ed98 - ed96: e234 b.n f202 + edf8: 9b0e ldr r3, [sp, #56] ; 0x38 + edfa: 2b01 cmp r3, #1 + edfc: dc00 bgt.n ee00 + edfe: e234 b.n f26a ret = get_bits(rle_in, rle_rdp, rle_bpp); - ed98: 4ba1 ldr r3, [pc, #644] ; (f020 ) - ed9a: 681b ldr r3, [r3, #0] - ed9c: 001e movs r6, r3 - ed9e: 4ba1 ldr r3, [pc, #644] ; (f024 ) - eda0: 781b ldrb r3, [r3, #0] - eda2: 001a movs r2, r3 - eda4: 9309 str r3, [sp, #36] ; 0x24 + ee00: 4ba1 ldr r3, [pc, #644] ; (f088 ) + ee02: 681b ldr r3, [r3, #0] + ee04: 001e movs r6, r3 + ee06: 4ba1 ldr r3, [pc, #644] ; (f08c ) + ee08: 781b ldrb r3, [r3, #0] + ee0a: 001a movs r2, r3 + ee0c: 9309 str r3, [sp, #36] ; 0x24 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - eda6: 2301 movs r3, #1 - eda8: 4093 lsls r3, r2 - edaa: 3b01 subs r3, #1 - edac: b2db uxtb r3, r3 - edae: 9312 str r3, [sp, #72] ; 0x48 + ee0e: 2301 movs r3, #1 + ee10: 4093 lsls r3, r2 + ee12: 3b01 subs r3, #1 + ee14: b2db uxtb r3, r3 + ee16: 9312 str r3, [sp, #72] ; 0x48 if(bit_pos + len >= 8) { - edb0: 4692 mov sl, r2 - edb2: 4b98 ldr r3, [pc, #608] ; (f014 ) - edb4: 781b ldrb r3, [r3, #0] - edb6: 4698 mov r8, r3 - edb8: 2308 movs r3, #8 - edba: 1a9b subs r3, r3, r2 - edbc: 930c str r3, [sp, #48] ; 0x30 - edbe: 2310 movs r3, #16 - edc0: 1a9b subs r3, r3, r2 - edc2: 930e str r3, [sp, #56] ; 0x38 - edc4: 4b94 ldr r3, [pc, #592] ; (f018 ) - edc6: 781b ldrb r3, [r3, #0] - edc8: 9302 str r3, [sp, #8] - edca: 4b90 ldr r3, [pc, #576] ; (f00c ) - edcc: 6818 ldr r0, [r3, #0] - edce: 4b90 ldr r3, [pc, #576] ; (f010 ) - edd0: 7819 ldrb r1, [r3, #0] - edd2: 9b10 ldr r3, [sp, #64] ; 0x40 - edd4: 3b02 subs r3, #2 - edd6: b29b uxth r3, r3 - edd8: 3301 adds r3, #1 - edda: 9313 str r3, [sp, #76] ; 0x4c - eddc: 9c06 ldr r4, [sp, #24] - edde: 9404 str r4, [sp, #16] - ede0: 9b0d ldr r3, [sp, #52] ; 0x34 - ede2: 3b01 subs r3, #1 - ede4: b29b uxth r3, r3 - ede6: 001d movs r5, r3 - ede8: 9314 str r3, [sp, #80] ; 0x50 - edea: 0023 movs r3, r4 - edec: 436b muls r3, r5 - edee: 9315 str r3, [sp, #84] ; 0x54 - edf0: 2300 movs r3, #0 - edf2: 9310 str r3, [sp, #64] ; 0x40 - edf4: 930b str r3, [sp, #44] ; 0x2c - edf6: 930d str r3, [sp, #52] ; 0x34 - edf8: 9307 str r3, [sp, #28] - edfa: 9308 str r3, [sp, #32] + ee18: 4692 mov sl, r2 + ee1a: 4b98 ldr r3, [pc, #608] ; (f07c ) + ee1c: 781b ldrb r3, [r3, #0] + ee1e: 4698 mov r8, r3 + ee20: 2308 movs r3, #8 + ee22: 1a9b subs r3, r3, r2 + ee24: 930c str r3, [sp, #48] ; 0x30 + ee26: 2310 movs r3, #16 + ee28: 1a9b subs r3, r3, r2 + ee2a: 930e str r3, [sp, #56] ; 0x38 + ee2c: 4b94 ldr r3, [pc, #592] ; (f080 ) + ee2e: 781b ldrb r3, [r3, #0] + ee30: 9302 str r3, [sp, #8] + ee32: 4b90 ldr r3, [pc, #576] ; (f074 ) + ee34: 6818 ldr r0, [r3, #0] + ee36: 4b90 ldr r3, [pc, #576] ; (f078 ) + ee38: 7819 ldrb r1, [r3, #0] + ee3a: 9b10 ldr r3, [sp, #64] ; 0x40 + ee3c: 3b02 subs r3, #2 + ee3e: b29b uxth r3, r3 + ee40: 3301 adds r3, #1 + ee42: 9313 str r3, [sp, #76] ; 0x4c + ee44: 9c06 ldr r4, [sp, #24] + ee46: 9404 str r4, [sp, #16] + ee48: 9b0d ldr r3, [sp, #52] ; 0x34 + ee4a: 3b01 subs r3, #1 + ee4c: b29b uxth r3, r3 + ee4e: 001d movs r5, r3 + ee50: 9314 str r3, [sp, #80] ; 0x50 + ee52: 0023 movs r3, r4 + ee54: 436b muls r3, r5 + ee56: 9315 str r3, [sp, #84] ; 0x54 + ee58: 2300 movs r3, #0 + ee5a: 9310 str r3, [sp, #64] ; 0x40 + ee5c: 930b str r3, [sp, #44] ; 0x2c + ee5e: 930d str r3, [sp, #52] ; 0x34 + ee60: 9307 str r3, [sp, #28] + ee62: 9308 str r3, [sp, #32] switch(len) { - edfc: 0093 lsls r3, r2, #2 - edfe: 930a str r3, [sp, #40] ; 0x28 - ee00: 4a89 ldr r2, [pc, #548] ; (f028 ) - ee02: 469c mov ip, r3 - ee04: 4462 add r2, ip - ee06: 9216 str r2, [sp, #88] ; 0x58 - ee08: 9b11 ldr r3, [sp, #68] ; 0x44 - ee0a: 469b mov fp, r3 - ee0c: 4643 mov r3, r8 - ee0e: 9306 str r3, [sp, #24] - ee10: 9b17 ldr r3, [sp, #92] ; 0x5c - ee12: 001d movs r5, r3 - ee14: 468c mov ip, r1 - ee16: 46b1 mov r9, r6 - ee18: e1cf b.n f1ba + ee64: 0093 lsls r3, r2, #2 + ee66: 930a str r3, [sp, #40] ; 0x28 + ee68: 4a89 ldr r2, [pc, #548] ; (f090 ) + ee6a: 469c mov ip, r3 + ee6c: 4462 add r2, ip + ee6e: 9216 str r2, [sp, #88] ; 0x58 + ee70: 9b11 ldr r3, [sp, #68] ; 0x44 + ee72: 469b mov fp, r3 + ee74: 4643 mov r3, r8 + ee76: 9306 str r3, [sp, #24] + ee78: 9b17 ldr r3, [sp, #92] ; 0x5c + ee7a: 001d movs r5, r3 + ee7c: 468c mov ip, r1 + ee7e: 46b1 mov r9, r6 + ee80: e1cf b.n f222 for(i = 0; i < w; i++) { - ee1a: 2300 movs r3, #0 - ee1c: 930f str r3, [sp, #60] ; 0x3c - ee1e: e7b7 b.n ed90 + ee82: 2300 movs r3, #0 + ee84: 930f str r3, [sp, #60] ; 0x3c + ee86: e7b7 b.n edf8 bit_mask = 0x3; - ee20: 2303 movs r3, #3 - ee22: e008 b.n ee36 + ee88: 2303 movs r3, #3 + ee8a: e008 b.n ee9e bit_mask = 0x7; - ee24: 2307 movs r3, #7 - ee26: e006 b.n ee36 + ee8c: 2307 movs r3, #7 + ee8e: e006 b.n ee9e bit_mask = 0xF; - ee28: 230f movs r3, #15 - ee2a: e004 b.n ee36 + ee90: 230f movs r3, #15 + ee92: e004 b.n ee9e bit_mask = 0xFF; - ee2c: 23ff movs r3, #255 ; 0xff - ee2e: e002 b.n ee36 + ee94: 23ff movs r3, #255 ; 0xff + ee96: e002 b.n ee9e bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - ee30: 9b12 ldr r3, [sp, #72] ; 0x48 - ee32: e000 b.n ee36 + ee98: 9b12 ldr r3, [sp, #72] ; 0x48 + ee9a: e000 b.n ee9e bit_mask = 0x1; - ee34: 2301 movs r3, #1 + ee9c: 2301 movs r3, #1 uint32_t byte_pos = bit_pos >> 3; - ee36: 08c5 lsrs r5, r0, #3 + ee9e: 08c5 lsrs r5, r0, #3 bit_pos = bit_pos & 0x7; - ee38: 2207 movs r2, #7 - ee3a: 4002 ands r2, r0 + eea0: 2207 movs r2, #7 + eea2: 4002 ands r2, r0 if(bit_pos + len >= 8) { - ee3c: 1997 adds r7, r2, r6 - ee3e: 2f07 cmp r7, #7 - ee40: d81f bhi.n ee82 + eea4: 1997 adds r7, r2, r6 + eea6: 2f07 cmp r7, #7 + eea8: d81f bhi.n eeea return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - ee42: 464f mov r7, r9 - ee44: 5d7d ldrb r5, [r7, r5] - ee46: 9f0c ldr r7, [sp, #48] ; 0x30 - ee48: 1aba subs r2, r7, r2 - ee4a: 4115 asrs r5, r2 - ee4c: 402b ands r3, r5 - ee4e: b2db uxtb r3, r3 + eeaa: 464f mov r7, r9 + eeac: 5d7d ldrb r5, [r7, r5] + eeae: 9f0c ldr r7, [sp, #48] ; 0x30 + eeb0: 1aba subs r2, r7, r2 + eeb2: 4115 asrs r5, r2 + eeb4: 402b ands r3, r5 + eeb6: b2db uxtb r3, r3 if(rle_rdp != 0 && rle_prev_v == ret) { - ee50: 2800 cmp r0, #0 - ee52: d002 beq.n ee5a - ee54: 9a02 ldr r2, [sp, #8] - ee56: 429a cmp r2, r3 - ee58: d021 beq.n ee9e + eeb8: 2800 cmp r0, #0 + eeba: d002 beq.n eec2 + eebc: 9a02 ldr r2, [sp, #8] + eebe: 429a cmp r2, r3 + eec0: d021 beq.n ef06 rle_rdp += rle_bpp; - ee5a: 1980 adds r0, r0, r6 + eec2: 1980 adds r0, r0, r6 rle_prev_v = ret; - ee5c: 9302 str r3, [sp, #8] + eec4: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - ee5e: 2201 movs r2, #1 - ee60: 9207 str r2, [sp, #28] - ee62: 9208 str r2, [sp, #32] + eec6: 2201 movs r2, #1 + eec8: 9207 str r2, [sp, #28] + eeca: 9208 str r2, [sp, #32] out[i] = rle_next(); - ee64: 7023 strb r3, [r4, #0] - ee66: 3401 adds r4, #1 + eecc: 7023 strb r3, [r4, #0] + eece: 3401 adds r4, #1 for(i = 0; i < w; i++) { - ee68: 4564 cmp r4, ip - ee6a: d100 bne.n ee6e - ee6c: e141 b.n f0f2 + eed0: 4564 cmp r4, ip + eed2: d100 bne.n eed6 + eed4: e141 b.n f15a if(rle_state == RLE_STATE_SINGLE) { - ee6e: 2900 cmp r1, #0 - ee70: d11d bne.n eeae + eed6: 2900 cmp r1, #0 + eed8: d11d bne.n ef16 switch(len) { - ee72: 9b09 ldr r3, [sp, #36] ; 0x24 - ee74: 2b08 cmp r3, #8 - ee76: d8db bhi.n ee30 - ee78: 9b0a ldr r3, [sp, #40] ; 0x28 - ee7a: 4a6c ldr r2, [pc, #432] ; (f02c ) - ee7c: 58d3 ldr r3, [r2, r3] - ee7e: 9305 str r3, [sp, #20] - ee80: 469f mov pc, r3 + eeda: 9b09 ldr r3, [sp, #36] ; 0x24 + eedc: 2b08 cmp r3, #8 + eede: d8db bhi.n ee98 + eee0: 9b0a ldr r3, [sp, #40] ; 0x28 + eee2: 4a6c ldr r2, [pc, #432] ; (f094 ) + eee4: 58d3 ldr r3, [r2, r3] + eee6: 9305 str r3, [sp, #20] + eee8: 469f mov pc, r3 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - ee82: 464f mov r7, r9 - ee84: 5d7f ldrb r7, [r7, r5] - ee86: 023f lsls r7, r7, #8 - ee88: 46ba mov sl, r7 - ee8a: 444d add r5, r9 - ee8c: 786d ldrb r5, [r5, #1] - ee8e: 4455 add r5, sl + eeea: 464f mov r7, r9 + eeec: 5d7f ldrb r7, [r7, r5] + eeee: 023f lsls r7, r7, #8 + eef0: 46ba mov sl, r7 + eef2: 444d add r5, r9 + eef4: 786d ldrb r5, [r5, #1] + eef6: 4455 add r5, sl return (in16 >> (16 - bit_pos - len)) & bit_mask; - ee90: b2ad uxth r5, r5 - ee92: 9f0e ldr r7, [sp, #56] ; 0x38 - ee94: 1aba subs r2, r7, r2 - ee96: 4115 asrs r5, r2 - ee98: 402b ands r3, r5 - ee9a: b2db uxtb r3, r3 - ee9c: e7d8 b.n ee50 + eef8: b2ad uxth r5, r5 + eefa: 9f0e ldr r7, [sp, #56] ; 0x38 + eefc: 1aba subs r2, r7, r2 + eefe: 4115 asrs r5, r2 + ef00: 402b ands r3, r5 + ef02: b2db uxtb r3, r3 + ef04: e7d8 b.n eeb8 if(rle_rdp != 0 && rle_prev_v == ret) { - ee9e: 2201 movs r2, #1 - eea0: 920b str r2, [sp, #44] ; 0x2c + ef06: 2201 movs r2, #1 + ef08: 920b str r2, [sp, #44] ; 0x2c rle_cnt = 0; - eea2: 2200 movs r2, #0 - eea4: 9206 str r2, [sp, #24] + ef0a: 2200 movs r2, #0 + ef0c: 9206 str r2, [sp, #24] if(rle_rdp != 0 && rle_prev_v == ret) { - eea6: 3201 adds r2, #1 - eea8: 920d str r2, [sp, #52] ; 0x34 + ef0e: 3201 adds r2, #1 + ef10: 920d str r2, [sp, #52] ; 0x34 rle_state = RLE_STATE_REPEATE; - eeaa: 2101 movs r1, #1 - eeac: e7d5 b.n ee5a + ef12: 2101 movs r1, #1 + ef14: e7d5 b.n eec2 else if(rle_state == RLE_STATE_REPEATE) { - eeae: 2901 cmp r1, #1 - eeb0: d011 beq.n eed6 + ef16: 2901 cmp r1, #1 + ef18: d011 beq.n ef3e uint8_t ret = 0; - eeb2: 2300 movs r3, #0 + ef1a: 2300 movs r3, #0 else if(rle_state == RLE_STATE_COUNTER) { - eeb4: 2902 cmp r1, #2 - eeb6: d1d5 bne.n ee64 + ef1c: 2902 cmp r1, #2 + ef1e: d1d5 bne.n eecc rle_cnt--; - eeb8: 9b06 ldr r3, [sp, #24] - eeba: 3b01 subs r3, #1 - eebc: b2db uxtb r3, r3 - eebe: 9306 str r3, [sp, #24] + ef20: 9b06 ldr r3, [sp, #24] + ef22: 3b01 subs r3, #1 + ef24: b2db uxtb r3, r3 + ef26: 9306 str r3, [sp, #24] if(rle_cnt == 0) { - eec0: 2b00 cmp r3, #0 - eec2: d000 beq.n eec6 - eec4: e111 b.n f0ea + ef28: 2b00 cmp r3, #0 + ef2a: d000 beq.n ef2e + ef2c: e111 b.n f152 switch(len) { - eec6: 9b09 ldr r3, [sp, #36] ; 0x24 - eec8: 2b08 cmp r3, #8 - eeca: d900 bls.n eece - eecc: e0e0 b.n f090 - eece: 9b16 ldr r3, [sp, #88] ; 0x58 - eed0: 681b ldr r3, [r3, #0] - eed2: 9302 str r3, [sp, #8] - eed4: 469f mov pc, r3 + ef2e: 9b09 ldr r3, [sp, #36] ; 0x24 + ef30: 2b08 cmp r3, #8 + ef32: d900 bls.n ef36 + ef34: e0e0 b.n f0f8 + ef36: 9b16 ldr r3, [sp, #88] ; 0x58 + ef38: 681b ldr r3, [r3, #0] + ef3a: 9302 str r3, [sp, #8] + ef3c: 469f mov pc, r3 uint32_t byte_pos = bit_pos >> 3; - eed6: 08c3 lsrs r3, r0, #3 + ef3e: 08c3 lsrs r3, r0, #3 bit_pos = bit_pos & 0x7; - eed8: 2207 movs r2, #7 - eeda: 4002 ands r2, r0 + ef40: 2207 movs r2, #7 + ef42: 4002 ands r2, r0 if(bit_pos + len >= 8) { - eedc: 1c55 adds r5, r2, #1 - eede: 2d07 cmp r5, #7 - eee0: d816 bhi.n ef10 + ef44: 1c55 adds r5, r2, #1 + ef46: 2d07 cmp r5, #7 + ef48: d816 bhi.n ef78 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - eee2: 464d mov r5, r9 - eee4: 5ceb ldrb r3, [r5, r3] - eee6: 43d2 mvns r2, r2 - eee8: 3208 adds r2, #8 - eeea: 4113 asrs r3, r2 - eeec: 2201 movs r2, #1 - eeee: 4013 ands r3, r2 + ef4a: 464d mov r5, r9 + ef4c: 5ceb ldrb r3, [r5, r3] + ef4e: 43d2 mvns r2, r2 + ef50: 3208 adds r2, #8 + ef52: 4113 asrs r3, r2 + ef54: 2201 movs r2, #1 + ef56: 4013 ands r3, r2 rle_cnt++; - eef0: 9a06 ldr r2, [sp, #24] - eef2: 3201 adds r2, #1 - eef4: b2d2 uxtb r2, r2 - eef6: 9206 str r2, [sp, #24] + ef58: 9a06 ldr r2, [sp, #24] + ef5a: 3201 adds r2, #1 + ef5c: b2d2 uxtb r2, r2 + ef5e: 9206 str r2, [sp, #24] rle_rdp += 1; - eef8: 1c45 adds r5, r0, #1 + ef60: 1c45 adds r5, r0, #1 if(v == 1) { - eefa: 2b01 cmp r3, #1 - eefc: d015 beq.n ef2a + ef62: 2b01 cmp r3, #1 + ef64: d015 beq.n ef92 switch(len) { - eefe: 9b09 ldr r3, [sp, #36] ; 0x24 - ef00: 2b08 cmp r3, #8 - ef02: d900 bls.n ef06 - ef04: e080 b.n f008 - ef06: 4b4a ldr r3, [pc, #296] ; (f030 ) - ef08: 9a0a ldr r2, [sp, #40] ; 0x28 - ef0a: 589b ldr r3, [r3, r2] - ef0c: 9302 str r3, [sp, #8] - ef0e: 469f mov pc, r3 + ef66: 9b09 ldr r3, [sp, #36] ; 0x24 + ef68: 2b08 cmp r3, #8 + ef6a: d900 bls.n ef6e + ef6c: e080 b.n f070 + ef6e: 4b4a ldr r3, [pc, #296] ; (f098 ) + ef70: 9a0a ldr r2, [sp, #40] ; 0x28 + ef72: 589b ldr r3, [r3, r2] + ef74: 9302 str r3, [sp, #8] + ef76: 469f mov pc, r3 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - ef10: 464d mov r5, r9 - ef12: 5ced ldrb r5, [r5, r3] - ef14: 022d lsls r5, r5, #8 - ef16: 444b add r3, r9 - ef18: 785b ldrb r3, [r3, #1] - ef1a: 195b adds r3, r3, r5 + ef78: 464d mov r5, r9 + ef7a: 5ced ldrb r5, [r5, r3] + ef7c: 022d lsls r5, r5, #8 + ef7e: 444b add r3, r9 + ef80: 785b ldrb r3, [r3, #1] + ef82: 195b adds r3, r3, r5 return (in16 >> (16 - bit_pos - len)) & bit_mask; - ef1c: b29b uxth r3, r3 - ef1e: 43d2 mvns r2, r2 - ef20: 3210 adds r2, #16 - ef22: 4113 asrs r3, r2 - ef24: 2201 movs r2, #1 - ef26: 4013 ands r3, r2 - ef28: e7e2 b.n eef0 + ef84: b29b uxth r3, r3 + ef86: 43d2 mvns r2, r2 + ef88: 3210 adds r2, #16 + ef8a: 4113 asrs r3, r2 + ef8c: 2201 movs r2, #1 + ef8e: 4013 ands r3, r2 + ef90: e7e2 b.n ef58 if(rle_cnt == 11) { - ef2a: 2a0b cmp r2, #11 - ef2c: d005 beq.n ef3a + ef92: 2a0b cmp r2, #11 + ef94: d005 beq.n efa2 rle_rdp += 1; - ef2e: 0028 movs r0, r5 + ef96: 0028 movs r0, r5 ret = rle_prev_v; - ef30: 9b02 ldr r3, [sp, #8] + ef98: 9b02 ldr r3, [sp, #8] if(rle_cnt == 11) { - ef32: 2201 movs r2, #1 - ef34: 920b str r2, [sp, #44] ; 0x2c - ef36: 9207 str r2, [sp, #28] - ef38: e794 b.n ee64 + ef9a: 2201 movs r2, #1 + ef9c: 920b str r2, [sp, #44] ; 0x2c + ef9e: 9207 str r2, [sp, #28] + efa0: e794 b.n eecc uint32_t byte_pos = bit_pos >> 3; - ef3a: 08eb lsrs r3, r5, #3 + efa2: 08eb lsrs r3, r5, #3 bit_pos = bit_pos & 0x7; - ef3c: 2207 movs r2, #7 - ef3e: 4015 ands r5, r2 + efa4: 2207 movs r2, #7 + efa6: 4015 ands r5, r2 if(bit_pos + len >= 8) { - ef40: 1daa adds r2, r5, #6 - ef42: 2a07 cmp r2, #7 - ef44: d814 bhi.n ef70 + efa8: 1daa adds r2, r5, #6 + efaa: 2a07 cmp r2, #7 + efac: d814 bhi.n efd8 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - ef46: 464a mov r2, r9 - ef48: 5cd3 ldrb r3, [r2, r3] - ef4a: 2202 movs r2, #2 - ef4c: 1b55 subs r5, r2, r5 - ef4e: 412b asrs r3, r5 - ef50: 323d adds r2, #61 ; 0x3d - ef52: 401a ands r2, r3 - ef54: 9206 str r2, [sp, #24] + efae: 464a mov r2, r9 + efb0: 5cd3 ldrb r3, [r2, r3] + efb2: 2202 movs r2, #2 + efb4: 1b55 subs r5, r2, r5 + efb6: 412b asrs r3, r5 + efb8: 323d adds r2, #61 ; 0x3d + efba: 401a ands r2, r3 + efbc: 9206 str r2, [sp, #24] rle_rdp += 6; - ef56: 3007 adds r0, #7 + efbe: 3007 adds r0, #7 if(rle_cnt != 0) { - ef58: 9b06 ldr r3, [sp, #24] - ef5a: 2b00 cmp r3, #0 - ef5c: d000 beq.n ef60 - ef5e: e0bd b.n f0dc + efc0: 9b06 ldr r3, [sp, #24] + efc2: 2b00 cmp r3, #0 + efc4: d000 beq.n efc8 + efc6: e0bd b.n f144 switch(len) { - ef60: 9b09 ldr r3, [sp, #36] ; 0x24 - ef62: 2b08 cmp r3, #8 - ef64: d834 bhi.n efd0 - ef66: 4b33 ldr r3, [pc, #204] ; (f034 ) - ef68: 9a0a ldr r2, [sp, #40] ; 0x28 - ef6a: 589b ldr r3, [r3, r2] - ef6c: 9302 str r3, [sp, #8] - ef6e: 469f mov pc, r3 + efc8: 9b09 ldr r3, [sp, #36] ; 0x24 + efca: 2b08 cmp r3, #8 + efcc: d834 bhi.n f038 + efce: 4b33 ldr r3, [pc, #204] ; (f09c ) + efd0: 9a0a ldr r2, [sp, #40] ; 0x28 + efd2: 589b ldr r3, [r3, r2] + efd4: 9302 str r3, [sp, #8] + efd6: 469f mov pc, r3 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - ef70: 464a mov r2, r9 - ef72: 5cd2 ldrb r2, [r2, r3] - ef74: 0212 lsls r2, r2, #8 - ef76: 444b add r3, r9 - ef78: 785b ldrb r3, [r3, #1] - ef7a: 189b adds r3, r3, r2 + efd8: 464a mov r2, r9 + efda: 5cd2 ldrb r2, [r2, r3] + efdc: 0212 lsls r2, r2, #8 + efde: 444b add r3, r9 + efe0: 785b ldrb r3, [r3, #1] + efe2: 189b adds r3, r3, r2 return (in16 >> (16 - bit_pos - len)) & bit_mask; - ef7c: b29b uxth r3, r3 - ef7e: 220a movs r2, #10 - ef80: 1b55 subs r5, r2, r5 - ef82: 412b asrs r3, r5 - ef84: 3235 adds r2, #53 ; 0x35 - ef86: 401a ands r2, r3 - ef88: 9206 str r2, [sp, #24] - ef8a: e7e4 b.n ef56 + efe4: b29b uxth r3, r3 + efe6: 220a movs r2, #10 + efe8: 1b55 subs r5, r2, r5 + efea: 412b asrs r3, r5 + efec: 3235 adds r2, #53 ; 0x35 + efee: 401a ands r2, r3 + eff0: 9206 str r2, [sp, #24] + eff2: e7e4 b.n efbe bit_mask = 0x3; - ef8c: 2303 movs r3, #3 - ef8e: 469a mov sl, r3 + eff4: 2303 movs r3, #3 + eff6: 469a mov sl, r3 uint32_t byte_pos = bit_pos >> 3; - ef90: 08c5 lsrs r5, r0, #3 + eff8: 08c5 lsrs r5, r0, #3 bit_pos = bit_pos & 0x7; - ef92: 2307 movs r3, #7 - ef94: 4003 ands r3, r0 + effa: 2307 movs r3, #7 + effc: 4003 ands r3, r0 if(bit_pos + len >= 8) { - ef96: 199a adds r2, r3, r6 - ef98: 2a07 cmp r2, #7 - ef9a: d81f bhi.n efdc + effe: 199a adds r2, r3, r6 + f000: 2a07 cmp r2, #7 + f002: d81f bhi.n f044 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - ef9c: 464a mov r2, r9 - ef9e: 5d52 ldrb r2, [r2, r5] - efa0: 990c ldr r1, [sp, #48] ; 0x30 - efa2: 1acb subs r3, r1, r3 - efa4: 411a asrs r2, r3 - efa6: 4653 mov r3, sl - efa8: 4013 ands r3, r2 - efaa: b2db uxtb r3, r3 + f004: 464a mov r2, r9 + f006: 5d52 ldrb r2, [r2, r5] + f008: 990c ldr r1, [sp, #48] ; 0x30 + f00a: 1acb subs r3, r1, r3 + f00c: 411a asrs r2, r3 + f00e: 4653 mov r3, sl + f010: 4013 ands r3, r2 + f012: b2db uxtb r3, r3 rle_rdp += rle_bpp; - efac: 1980 adds r0, r0, r6 + f014: 1980 adds r0, r0, r6 rle_prev_v = ret; - efae: 9302 str r3, [sp, #8] + f016: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - efb0: 2201 movs r2, #1 - efb2: 920b str r2, [sp, #44] ; 0x2c - efb4: 920d str r2, [sp, #52] ; 0x34 + f018: 2201 movs r2, #1 + f01a: 920b str r2, [sp, #44] ; 0x2c + f01c: 920d str r2, [sp, #52] ; 0x34 rle_state = RLE_STATE_SINGLE; - efb6: 2100 movs r1, #0 + f01e: 2100 movs r1, #0 rle_rdp += rle_bpp; - efb8: 9207 str r2, [sp, #28] - efba: 9208 str r2, [sp, #32] - efbc: e752 b.n ee64 + f020: 9207 str r2, [sp, #28] + f022: 9208 str r2, [sp, #32] + f024: e752 b.n eecc bit_mask = 0x7; - efbe: 2307 movs r3, #7 - efc0: 469a mov sl, r3 - efc2: e7e5 b.n ef90 + f026: 2307 movs r3, #7 + f028: 469a mov sl, r3 + f02a: e7e5 b.n eff8 bit_mask = 0xF; - efc4: 230f movs r3, #15 - efc6: 469a mov sl, r3 - efc8: e7e2 b.n ef90 + f02c: 230f movs r3, #15 + f02e: 469a mov sl, r3 + f030: e7e2 b.n eff8 bit_mask = 0xFF; - efca: 23ff movs r3, #255 ; 0xff - efcc: 469a mov sl, r3 - efce: e7df b.n ef90 + f032: 23ff movs r3, #255 ; 0xff + f034: 469a mov sl, r3 + f036: e7df b.n eff8 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - efd0: 9b12 ldr r3, [sp, #72] ; 0x48 - efd2: 469a mov sl, r3 - efd4: e7dc b.n ef90 + f038: 9b12 ldr r3, [sp, #72] ; 0x48 + f03a: 469a mov sl, r3 + f03c: e7dc b.n eff8 bit_mask = 0x1; - efd6: 2301 movs r3, #1 - efd8: 469a mov sl, r3 - efda: e7d9 b.n ef90 + f03e: 2301 movs r3, #1 + f040: 469a mov sl, r3 + f042: e7d9 b.n eff8 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - efdc: 464a mov r2, r9 - efde: 5d51 ldrb r1, [r2, r5] - efe0: 0209 lsls r1, r1, #8 - efe2: 444d add r5, r9 - efe4: 786a ldrb r2, [r5, #1] - efe6: 1852 adds r2, r2, r1 + f044: 464a mov r2, r9 + f046: 5d51 ldrb r1, [r2, r5] + f048: 0209 lsls r1, r1, #8 + f04a: 444d add r5, r9 + f04c: 786a ldrb r2, [r5, #1] + f04e: 1852 adds r2, r2, r1 return (in16 >> (16 - bit_pos - len)) & bit_mask; - efe8: b292 uxth r2, r2 - efea: 990e ldr r1, [sp, #56] ; 0x38 - efec: 1acb subs r3, r1, r3 - efee: 411a asrs r2, r3 - eff0: 4653 mov r3, sl - eff2: 4013 ands r3, r2 - eff4: b2db uxtb r3, r3 - eff6: e7d9 b.n efac + f050: b292 uxth r2, r2 + f052: 990e ldr r1, [sp, #56] ; 0x38 + f054: 1acb subs r3, r1, r3 + f056: 411a asrs r2, r3 + f058: 4653 mov r3, sl + f05a: 4013 ands r3, r2 + f05c: b2db uxtb r3, r3 + f05e: e7d9 b.n f014 bit_mask = 0x3; - eff8: 2303 movs r3, #3 - effa: e01e b.n f03a + f060: 2303 movs r3, #3 + f062: e01e b.n f0a2 bit_mask = 0x7; - effc: 2307 movs r3, #7 - effe: e01c b.n f03a + f064: 2307 movs r3, #7 + f066: e01c b.n f0a2 bit_mask = 0xF; - f000: 230f movs r3, #15 - f002: e01a b.n f03a + f068: 230f movs r3, #15 + f06a: e01a b.n f0a2 bit_mask = 0xFF; - f004: 23ff movs r3, #255 ; 0xff - f006: e018 b.n f03a + f06c: 23ff movs r3, #255 ; 0xff + f06e: e018 b.n f0a2 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - f008: 9b12 ldr r3, [sp, #72] ; 0x48 - f00a: e016 b.n f03a - f00c: 20002bc8 .word 0x20002bc8 - f010: 20002bcc .word 0x20002bcc - f014: 20002bbd .word 0x20002bbd - f018: 20002bc4 .word 0x20002bc4 - f01c: 00018ad0 .word 0x00018ad0 - f020: 20002bc0 .word 0x20002bc0 - f024: 20002bbc .word 0x20002bbc - f028: 00018b14 .word 0x00018b14 - f02c: 00018af0 .word 0x00018af0 - f030: 00018b38 .word 0x00018b38 - f034: 00018b5c .word 0x00018b5c + f070: 9b12 ldr r3, [sp, #72] ; 0x48 + f072: e016 b.n f0a2 + f074: 20002bc8 .word 0x20002bc8 + f078: 20002bcc .word 0x20002bcc + f07c: 20002bbd .word 0x20002bbd + f080: 20002bc4 .word 0x20002bc4 + f084: 00018b60 .word 0x00018b60 + f088: 20002bc0 .word 0x20002bc0 + f08c: 20002bbc .word 0x20002bbc + f090: 00018ba4 .word 0x00018ba4 + f094: 00018b80 .word 0x00018b80 + f098: 00018bc8 .word 0x00018bc8 + f09c: 00018bec .word 0x00018bec bit_mask = 0x1; - f038: 2301 movs r3, #1 + f0a0: 2301 movs r3, #1 uint32_t byte_pos = bit_pos >> 3; - f03a: 08e9 lsrs r1, r5, #3 + f0a2: 08e9 lsrs r1, r5, #3 bit_pos = bit_pos & 0x7; - f03c: 2207 movs r2, #7 - f03e: 402a ands r2, r5 + f0a4: 2207 movs r2, #7 + f0a6: 402a ands r2, r5 if(bit_pos + len >= 8) { - f040: 1990 adds r0, r2, r6 - f042: 2807 cmp r0, #7 - f044: d80f bhi.n f066 + f0a8: 1990 adds r0, r2, r6 + f0aa: 2807 cmp r0, #7 + f0ac: d80f bhi.n f0ce return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - f046: 4648 mov r0, r9 - f048: 5c41 ldrb r1, [r0, r1] - f04a: 980c ldr r0, [sp, #48] ; 0x30 - f04c: 1a82 subs r2, r0, r2 - f04e: 4111 asrs r1, r2 - f050: 400b ands r3, r1 - f052: b2db uxtb r3, r3 + f0ae: 4648 mov r0, r9 + f0b0: 5c41 ldrb r1, [r0, r1] + f0b2: 980c ldr r0, [sp, #48] ; 0x30 + f0b4: 1a82 subs r2, r0, r2 + f0b6: 4111 asrs r1, r2 + f0b8: 400b ands r3, r1 + f0ba: b2db uxtb r3, r3 rle_rdp += rle_bpp; - f054: 19a8 adds r0, r5, r6 + f0bc: 19a8 adds r0, r5, r6 rle_prev_v = ret; - f056: 9302 str r3, [sp, #8] + f0be: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - f058: 2201 movs r2, #1 - f05a: 920b str r2, [sp, #44] ; 0x2c - f05c: 920d str r2, [sp, #52] ; 0x34 + f0c0: 2201 movs r2, #1 + f0c2: 920b str r2, [sp, #44] ; 0x2c + f0c4: 920d str r2, [sp, #52] ; 0x34 rle_state = RLE_STATE_SINGLE; - f05e: 2100 movs r1, #0 + f0c6: 2100 movs r1, #0 rle_rdp += rle_bpp; - f060: 9207 str r2, [sp, #28] - f062: 9208 str r2, [sp, #32] - f064: e6fe b.n ee64 + f0c8: 9207 str r2, [sp, #28] + f0ca: 9208 str r2, [sp, #32] + f0cc: e6fe b.n eecc uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - f066: 4648 mov r0, r9 - f068: 5c40 ldrb r0, [r0, r1] - f06a: 0200 lsls r0, r0, #8 - f06c: 4449 add r1, r9 - f06e: 7849 ldrb r1, [r1, #1] - f070: 1809 adds r1, r1, r0 + f0ce: 4648 mov r0, r9 + f0d0: 5c40 ldrb r0, [r0, r1] + f0d2: 0200 lsls r0, r0, #8 + f0d4: 4449 add r1, r9 + f0d6: 7849 ldrb r1, [r1, #1] + f0d8: 1809 adds r1, r1, r0 return (in16 >> (16 - bit_pos - len)) & bit_mask; - f072: b289 uxth r1, r1 - f074: 980e ldr r0, [sp, #56] ; 0x38 - f076: 1a82 subs r2, r0, r2 - f078: 4111 asrs r1, r2 - f07a: 400b ands r3, r1 - f07c: b2db uxtb r3, r3 - f07e: e7e9 b.n f054 + f0da: b289 uxth r1, r1 + f0dc: 980e ldr r0, [sp, #56] ; 0x38 + f0de: 1a82 subs r2, r0, r2 + f0e0: 4111 asrs r1, r2 + f0e2: 400b ands r3, r1 + f0e4: b2db uxtb r3, r3 + f0e6: e7e9 b.n f0bc bit_mask = 0x3; - f080: 2303 movs r3, #3 - f082: e008 b.n f096 + f0e8: 2303 movs r3, #3 + f0ea: e008 b.n f0fe bit_mask = 0x7; - f084: 2307 movs r3, #7 - f086: e006 b.n f096 + f0ec: 2307 movs r3, #7 + f0ee: e006 b.n f0fe bit_mask = 0xF; - f088: 230f movs r3, #15 - f08a: e004 b.n f096 + f0f0: 230f movs r3, #15 + f0f2: e004 b.n f0fe bit_mask = 0xFF; - f08c: 23ff movs r3, #255 ; 0xff - f08e: e002 b.n f096 + f0f4: 23ff movs r3, #255 ; 0xff + f0f6: e002 b.n f0fe bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - f090: 9b12 ldr r3, [sp, #72] ; 0x48 - f092: e000 b.n f096 + f0f8: 9b12 ldr r3, [sp, #72] ; 0x48 + f0fa: e000 b.n f0fe bit_mask = 0x1; - f094: 2301 movs r3, #1 + f0fc: 2301 movs r3, #1 uint32_t byte_pos = bit_pos >> 3; - f096: 08c1 lsrs r1, r0, #3 + f0fe: 08c1 lsrs r1, r0, #3 bit_pos = bit_pos & 0x7; - f098: 2207 movs r2, #7 - f09a: 4002 ands r2, r0 + f100: 2207 movs r2, #7 + f102: 4002 ands r2, r0 if(bit_pos + len >= 8) { - f09c: 1995 adds r5, r2, r6 - f09e: 2d07 cmp r5, #7 - f0a0: d80f bhi.n f0c2 + f104: 1995 adds r5, r2, r6 + f106: 2d07 cmp r5, #7 + f108: d80f bhi.n f12a return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - f0a2: 464d mov r5, r9 - f0a4: 5c69 ldrb r1, [r5, r1] - f0a6: 9d0c ldr r5, [sp, #48] ; 0x30 - f0a8: 1aaa subs r2, r5, r2 - f0aa: 4111 asrs r1, r2 - f0ac: 400b ands r3, r1 - f0ae: b2db uxtb r3, r3 + f10a: 464d mov r5, r9 + f10c: 5c69 ldrb r1, [r5, r1] + f10e: 9d0c ldr r5, [sp, #48] ; 0x30 + f110: 1aaa subs r2, r5, r2 + f112: 4111 asrs r1, r2 + f114: 400b ands r3, r1 + f116: b2db uxtb r3, r3 rle_rdp += rle_bpp; - f0b0: 1980 adds r0, r0, r6 + f118: 1980 adds r0, r0, r6 rle_prev_v = ret; - f0b2: 9302 str r3, [sp, #8] + f11a: 9302 str r3, [sp, #8] rle_rdp += rle_bpp; - f0b4: 2201 movs r2, #1 - f0b6: 920b str r2, [sp, #44] ; 0x2c - f0b8: 920d str r2, [sp, #52] ; 0x34 + f11c: 2201 movs r2, #1 + f11e: 920b str r2, [sp, #44] ; 0x2c + f120: 920d str r2, [sp, #52] ; 0x34 rle_state = RLE_STATE_SINGLE; - f0ba: 2100 movs r1, #0 + f122: 2100 movs r1, #0 rle_rdp += rle_bpp; - f0bc: 9207 str r2, [sp, #28] - f0be: 9208 str r2, [sp, #32] - f0c0: e6d0 b.n ee64 + f124: 9207 str r2, [sp, #28] + f126: 9208 str r2, [sp, #32] + f128: e6d0 b.n eecc uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - f0c2: 464d mov r5, r9 - f0c4: 5c6d ldrb r5, [r5, r1] - f0c6: 022d lsls r5, r5, #8 - f0c8: 4449 add r1, r9 - f0ca: 7849 ldrb r1, [r1, #1] - f0cc: 1949 adds r1, r1, r5 + f12a: 464d mov r5, r9 + f12c: 5c6d ldrb r5, [r5, r1] + f12e: 022d lsls r5, r5, #8 + f130: 4449 add r1, r9 + f132: 7849 ldrb r1, [r1, #1] + f134: 1949 adds r1, r1, r5 return (in16 >> (16 - bit_pos - len)) & bit_mask; - f0ce: b289 uxth r1, r1 - f0d0: 9d0e ldr r5, [sp, #56] ; 0x38 - f0d2: 1aaa subs r2, r5, r2 - f0d4: 4111 asrs r1, r2 - f0d6: 400b ands r3, r1 - f0d8: b2db uxtb r3, r3 - f0da: e7e9 b.n f0b0 + f136: b289 uxth r1, r1 + f138: 9d0e ldr r5, [sp, #56] ; 0x38 + f13a: 1aaa subs r2, r5, r2 + f13c: 4111 asrs r1, r2 + f13e: 400b ands r3, r1 + f140: b2db uxtb r3, r3 + f142: e7e9 b.n f118 ret = rle_prev_v; - f0dc: 9b02 ldr r3, [sp, #8] + f144: 9b02 ldr r3, [sp, #8] if(rle_cnt != 0) { - f0de: 2201 movs r2, #1 - f0e0: 920b str r2, [sp, #44] ; 0x2c - f0e2: 920d str r2, [sp, #52] ; 0x34 + f146: 2201 movs r2, #1 + f148: 920b str r2, [sp, #44] ; 0x2c + f14a: 920d str r2, [sp, #52] ; 0x34 rle_state = RLE_STATE_COUNTER; - f0e4: 2102 movs r1, #2 + f14c: 2102 movs r1, #2 if(rle_cnt != 0) { - f0e6: 9207 str r2, [sp, #28] - f0e8: e6bc b.n ee64 + f14e: 9207 str r2, [sp, #28] + f150: e6bc b.n eecc ret = rle_prev_v; - f0ea: 9b02 ldr r3, [sp, #8] + f152: 9b02 ldr r3, [sp, #8] if(rle_cnt == 0) { - f0ec: 2201 movs r2, #1 - f0ee: 920b str r2, [sp, #44] ; 0x2c - f0f0: e6b8 b.n ee64 - f0f2: 468c mov ip, r1 - f0f4: 46b2 mov sl, r6 + f154: 2201 movs r2, #1 + f156: 920b str r2, [sp, #44] ; 0x2c + f158: e6b8 b.n eecc + f15a: 468c mov ip, r1 + f15c: 46b2 mov sl, r6 for(i = 0; i < w; i++) { - f0f6: 990f ldr r1, [sp, #60] ; 0x3c - f0f8: 2700 movs r7, #0 + f15e: 990f ldr r1, [sp, #60] ; 0x3c + f160: 2700 movs r7, #0 if(len == 3) { - f0fa: 9b00 ldr r3, [sp, #0] - f0fc: 9305 str r3, [sp, #20] + f162: 9b00 ldr r3, [sp, #0] + f164: 9305 str r3, [sp, #20] val = 6; - f0fe: 0003 movs r3, r0 - f100: 4640 mov r0, r8 - f102: 4662 mov r2, ip - f104: 9211 str r2, [sp, #68] ; 0x44 - f106: 4698 mov r8, r3 - f108: e01e b.n f148 + f166: 0003 movs r3, r0 + f168: 4640 mov r0, r8 + f16a: 4662 mov r2, ip + f16c: 9211 str r2, [sp, #68] ; 0x44 + f16e: 4698 mov r8, r3 + f170: e01e b.n f1b0 len = 4; - f10a: 2304 movs r3, #4 + f172: 2304 movs r3, #4 val = 0; - f10c: 2400 movs r4, #0 + f174: 2400 movs r4, #0 bit_pos = bit_pos & 0x7; - f10e: 2207 movs r2, #7 - f110: 400a ands r2, r1 - f112: 2608 movs r6, #8 - f114: 1ab6 subs r6, r6, r2 + f176: 2207 movs r2, #7 + f178: 400a ands r2, r1 + f17a: 2608 movs r6, #8 + f17c: 1ab6 subs r6, r6, r2 bit_pos = 8 - bit_pos - len; - f116: 1af6 subs r6, r6, r3 + f17e: 1af6 subs r6, r6, r3 out[byte_pos] &= ((~bit_mask) << bit_pos); - f118: 034d lsls r5, r1, #13 - f11a: 0c2d lsrs r5, r5, #16 - f11c: 9a03 ldr r2, [sp, #12] - f11e: 4694 mov ip, r2 - f120: 4465 add r5, ip + f180: 034d lsls r5, r1, #13 + f182: 0c2d lsrs r5, r5, #16 + f184: 9a03 ldr r2, [sp, #12] + f186: 4694 mov ip, r2 + f188: 4465 add r5, ip uint8_t bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - f122: 2201 movs r2, #1 - f124: 409a lsls r2, r3 - f126: 0013 movs r3, r2 - f128: 3b01 subs r3, #1 + f18a: 2201 movs r2, #1 + f18c: 409a lsls r2, r3 + f18e: 0013 movs r3, r2 + f190: 3b01 subs r3, #1 out[byte_pos] &= ((~bit_mask) << bit_pos); - f12a: b2db uxtb r3, r3 - f12c: 43db mvns r3, r3 - f12e: 40b3 lsls r3, r6 - f130: 782a ldrb r2, [r5, #0] - f132: 4013 ands r3, r2 + f192: b2db uxtb r3, r3 + f194: 43db mvns r3, r3 + f196: 40b3 lsls r3, r6 + f198: 782a ldrb r2, [r5, #0] + f19a: 4013 ands r3, r2 out[byte_pos] |= (val << bit_pos); - f134: 40b4 lsls r4, r6 - f136: 4323 orrs r3, r4 - f138: 702b strb r3, [r5, #0] - f13a: 9b04 ldr r3, [sp, #16] - f13c: 469c mov ip, r3 - f13e: 4461 add r1, ip - f140: 3701 adds r7, #1 + f19c: 40b4 lsls r4, r6 + f19e: 4323 orrs r3, r4 + f1a0: 702b strb r3, [r5, #0] + f1a2: 9b04 ldr r3, [sp, #16] + f1a4: 469c mov ip, r3 + f1a6: 4461 add r1, ip + f1a8: 3701 adds r7, #1 for(x = 0; x < w; x++) { - f142: b23b sxth r3, r7 - f144: 459b cmp fp, r3 - f146: dd25 ble.n f194 + f1aa: b23b sxth r3, r7 + f1ac: 459b cmp fp, r3 + f1ae: dd25 ble.n f1fc line_buf1[x] = line_buf2[x] ^ line_buf1[x]; - f148: 9b01 ldr r3, [sp, #4] - f14a: 5ddc ldrb r4, [r3, r7] - f14c: 5dc3 ldrb r3, [r0, r7] - f14e: 405c eors r4, r3 - f150: 55c4 strb r4, [r0, r7] + f1b0: 9b01 ldr r3, [sp, #4] + f1b2: 5ddc ldrb r4, [r3, r7] + f1b4: 5dc3 ldrb r3, [r0, r7] + f1b6: 405c eors r4, r3 + f1b8: 55c4 strb r4, [r0, r7] if(len == 3) { - f152: 9b05 ldr r3, [sp, #20] - f154: 9a00 ldr r2, [sp, #0] - f156: 2a03 cmp r2, #3 - f158: d1d9 bne.n f10e + f1ba: 9b05 ldr r3, [sp, #20] + f1bc: 9a00 ldr r2, [sp, #0] + f1be: 2a03 cmp r2, #3 + f1c0: d1d9 bne.n f176 switch(val) { - f15a: 2c07 cmp r4, #7 - f15c: d818 bhi.n f190 - f15e: 00a4 lsls r4, r4, #2 - f160: 4b35 ldr r3, [pc, #212] ; (f238 ) - f162: 591b ldr r3, [r3, r4] - f164: 469f mov pc, r3 + f1c2: 2c07 cmp r4, #7 + f1c4: d818 bhi.n f1f8 + f1c6: 00a4 lsls r4, r4, #2 + f1c8: 4b35 ldr r3, [pc, #212] ; (f2a0 ) + f1ca: 591b ldr r3, [r3, r4] + f1cc: 469f mov pc, r3 len = 4; - f166: 2304 movs r3, #4 + f1ce: 2304 movs r3, #4 val = 2; - f168: 2402 movs r4, #2 - f16a: e7d0 b.n f10e + f1d0: 2402 movs r4, #2 + f1d2: e7d0 b.n f176 len = 4; - f16c: 2304 movs r3, #4 + f1d4: 2304 movs r3, #4 val = 4; - f16e: 2404 movs r4, #4 - f170: e7cd b.n f10e + f1d6: 2404 movs r4, #4 + f1d8: e7cd b.n f176 len = 4; - f172: 2304 movs r3, #4 + f1da: 2304 movs r3, #4 val = 6; - f174: 2406 movs r4, #6 - f176: e7ca b.n f10e + f1dc: 2406 movs r4, #6 + f1de: e7ca b.n f176 len = 4; - f178: 2304 movs r3, #4 + f1e0: 2304 movs r3, #4 val = 9; - f17a: 2409 movs r4, #9 - f17c: e7c7 b.n f10e + f1e2: 2409 movs r4, #9 + f1e4: e7c7 b.n f176 len = 4; - f17e: 2304 movs r3, #4 + f1e6: 2304 movs r3, #4 val = 11; - f180: 240b movs r4, #11 - f182: e7c4 b.n f10e + f1e8: 240b movs r4, #11 + f1ea: e7c4 b.n f176 len = 4; - f184: 2304 movs r3, #4 + f1ec: 2304 movs r3, #4 val = 13; - f186: 240d movs r4, #13 - f188: e7c1 b.n f10e + f1ee: 240d movs r4, #13 + f1f0: e7c1 b.n f176 len = 4; - f18a: 2304 movs r3, #4 + f1f2: 2304 movs r3, #4 val = 15; - f18c: 240f movs r4, #15 - f18e: e7be b.n f10e + f1f4: 240f movs r4, #15 + f1f6: e7be b.n f176 len = 4; - f190: 2304 movs r3, #4 - f192: e7bc b.n f10e - f194: 0005 movs r5, r0 - f196: 9a11 ldr r2, [sp, #68] ; 0x44 - f198: 4694 mov ip, r2 - f19a: 4640 mov r0, r8 - f19c: 9b15 ldr r3, [sp, #84] ; 0x54 - f19e: 9a04 ldr r2, [sp, #16] - f1a0: 4690 mov r8, r2 - f1a2: 4443 add r3, r8 - f1a4: 9a0f ldr r2, [sp, #60] ; 0x3c - f1a6: 4690 mov r8, r2 - f1a8: 4498 add r8, r3 - f1aa: 4643 mov r3, r8 - f1ac: 930f str r3, [sp, #60] ; 0x3c - f1ae: 9b10 ldr r3, [sp, #64] ; 0x40 - f1b0: 3301 adds r3, #1 - f1b2: 9310 str r3, [sp, #64] ; 0x40 + f1f8: 2304 movs r3, #4 + f1fa: e7bc b.n f176 + f1fc: 0005 movs r5, r0 + f1fe: 9a11 ldr r2, [sp, #68] ; 0x44 + f200: 4694 mov ip, r2 + f202: 4640 mov r0, r8 + f204: 9b15 ldr r3, [sp, #84] ; 0x54 + f206: 9a04 ldr r2, [sp, #16] + f208: 4690 mov r8, r2 + f20a: 4443 add r3, r8 + f20c: 9a0f ldr r2, [sp, #60] ; 0x3c + f20e: 4690 mov r8, r2 + f210: 4498 add r8, r3 + f212: 4643 mov r3, r8 + f214: 930f str r3, [sp, #60] ; 0x3c + f216: 9b10 ldr r3, [sp, #64] ; 0x40 + f218: 3301 adds r3, #1 + f21a: 9310 str r3, [sp, #64] ; 0x40 for(y = 1; y < h; y++) { - f1b4: 9a13 ldr r2, [sp, #76] ; 0x4c - f1b6: 4293 cmp r3, r2 - f1b8: d00d beq.n f1d6 + f21c: 9a13 ldr r2, [sp, #76] ; 0x4c + f21e: 4293 cmp r3, r2 + f220: d00d beq.n f23e for(i = 0; i < w; i++) { - f1ba: 465b mov r3, fp - f1bc: 2b00 cmp r3, #0 - f1be: ddf6 ble.n f1ae - f1c0: 9b01 ldr r3, [sp, #4] - f1c2: 4698 mov r8, r3 - f1c4: 001c movs r4, r3 - f1c6: 9b14 ldr r3, [sp, #80] ; 0x50 - f1c8: 1c5e adds r6, r3, #1 - f1ca: 4446 add r6, r8 - f1cc: 46a8 mov r8, r5 - f1ce: 4661 mov r1, ip - f1d0: 46b4 mov ip, r6 - f1d2: 4656 mov r6, sl - f1d4: e64b b.n ee6e - f1d6: 9b06 ldr r3, [sp, #24] - f1d8: 4698 mov r8, r3 - f1da: 4661 mov r1, ip - f1dc: 9b08 ldr r3, [sp, #32] - f1de: 2b00 cmp r3, #0 - f1e0: d118 bne.n f214 - f1e2: 9b07 ldr r3, [sp, #28] - f1e4: 2b00 cmp r3, #0 - f1e6: d001 beq.n f1ec - f1e8: 4b14 ldr r3, [pc, #80] ; (f23c ) - f1ea: 6018 str r0, [r3, #0] - f1ec: 9b0d ldr r3, [sp, #52] ; 0x34 - f1ee: 2b00 cmp r3, #0 - f1f0: d001 beq.n f1f6 - f1f2: 4b13 ldr r3, [pc, #76] ; (f240 ) - f1f4: 7019 strb r1, [r3, #0] - f1f6: 9b0b ldr r3, [sp, #44] ; 0x2c - f1f8: 2b00 cmp r3, #0 - f1fa: d002 beq.n f202 - f1fc: 4b11 ldr r3, [pc, #68] ; (f244 ) - f1fe: 4642 mov r2, r8 - f200: 701a strb r2, [r3, #0] + f222: 465b mov r3, fp + f224: 2b00 cmp r3, #0 + f226: ddf6 ble.n f216 + f228: 9b01 ldr r3, [sp, #4] + f22a: 4698 mov r8, r3 + f22c: 001c movs r4, r3 + f22e: 9b14 ldr r3, [sp, #80] ; 0x50 + f230: 1c5e adds r6, r3, #1 + f232: 4446 add r6, r8 + f234: 46a8 mov r8, r5 + f236: 4661 mov r1, ip + f238: 46b4 mov ip, r6 + f23a: 4656 mov r6, sl + f23c: e64b b.n eed6 + f23e: 9b06 ldr r3, [sp, #24] + f240: 4698 mov r8, r3 + f242: 4661 mov r1, ip + f244: 9b08 ldr r3, [sp, #32] + f246: 2b00 cmp r3, #0 + f248: d118 bne.n f27c + f24a: 9b07 ldr r3, [sp, #28] + f24c: 2b00 cmp r3, #0 + f24e: d001 beq.n f254 + f250: 4b14 ldr r3, [pc, #80] ; (f2a4 ) + f252: 6018 str r0, [r3, #0] + f254: 9b0d ldr r3, [sp, #52] ; 0x34 + f256: 2b00 cmp r3, #0 + f258: d001 beq.n f25e + f25a: 4b13 ldr r3, [pc, #76] ; (f2a8 ) + f25c: 7019 strb r1, [r3, #0] + f25e: 9b0b ldr r3, [sp, #44] ; 0x2c + f260: 2b00 cmp r3, #0 + f262: d002 beq.n f26a + f264: 4b11 ldr r3, [pc, #68] ; (f2ac ) + f266: 4642 mov r2, r8 + f268: 701a strb r2, [r3, #0] _lv_mem_buf_release(line_buf1); - f202: 9817 ldr r0, [sp, #92] ; 0x5c - f204: 4c10 ldr r4, [pc, #64] ; (f248 ) - f206: 47a0 blx r4 + f26a: 9817 ldr r0, [sp, #92] ; 0x5c + f26c: 4c10 ldr r4, [pc, #64] ; (f2b0 ) + f26e: 47a0 blx r4 _lv_mem_buf_release(line_buf2); - f208: 9801 ldr r0, [sp, #4] - f20a: 47a0 blx r4 + f270: 9801 ldr r0, [sp, #4] + f272: 47a0 blx r4 return decompr_buf; - f20c: 4b0f ldr r3, [pc, #60] ; (f24c ) - f20e: 6818 ldr r0, [r3, #0] - f210: f7ff fb39 bl e886 - f214: 4b0e ldr r3, [pc, #56] ; (f250 ) - f216: 466a mov r2, sp - f218: 7a12 ldrb r2, [r2, #8] - f21a: 701a strb r2, [r3, #0] - f21c: e7e1 b.n f1e2 + f274: 4b0f ldr r3, [pc, #60] ; (f2b4 ) + f276: 6818 ldr r0, [r3, #0] + f278: f7ff fb39 bl e8ee + f27c: 4b0e ldr r3, [pc, #56] ; (f2b8 ) + f27e: 466a mov r2, sp + f280: 7a12 ldrb r2, [r2, #8] + f282: 701a strb r2, [r3, #0] + f284: e7e1 b.n f24a if(!gid) return NULL; - f21e: 2000 movs r0, #0 - f220: f7ff fb31 bl e886 + f286: 2000 movs r0, #0 + f288: f7ff fb31 bl e8ee return NULL; - f224: 2000 movs r0, #0 - f226: f7ff fb2e bl e886 + f28c: 2000 movs r0, #0 + f28e: f7ff fb2e bl e8ee if(gsize == 0) return NULL; - f22a: 2000 movs r0, #0 - f22c: f7ff fb2b bl e886 + f292: 2000 movs r0, #0 + f294: f7ff fb2b bl e8ee if(decompr_buf == NULL) return NULL; - f230: 2000 movs r0, #0 - f232: f7ff fb28 bl e886 - f236: 46c0 nop ; (mov r8, r8) - f238: 00018b80 .word 0x00018b80 - f23c: 20002bc8 .word 0x20002bc8 - f240: 20002bcc .word 0x20002bcc - f244: 20002bbd .word 0x20002bbd - f248: 00010b6d .word 0x00010b6d - f24c: 20002bb8 .word 0x20002bb8 - f250: 20002bc4 .word 0x20002bc4 - -0000f254 : -{ - f254: b5f0 push {r4, r5, r6, r7, lr} - f256: 46de mov lr, fp - f258: 4657 mov r7, sl - f25a: 464e mov r6, r9 - f25c: 4645 mov r5, r8 - f25e: b5e0 push {r5, r6, r7, lr} - f260: b085 sub sp, #20 - f262: 4681 mov r9, r0 - f264: 000c movs r4, r1 - f266: 001f movs r7, r3 + f298: 2000 movs r0, #0 + f29a: f7ff fb28 bl e8ee + f29e: 46c0 nop ; (mov r8, r8) + f2a0: 00018c10 .word 0x00018c10 + f2a4: 20002bc8 .word 0x20002bc8 + f2a8: 20002bcc .word 0x20002bcc + f2ac: 20002bbd .word 0x20002bbd + f2b0: 00010bd5 .word 0x00010bd5 + f2b4: 20002bb8 .word 0x20002bb8 + f2b8: 20002bc4 .word 0x20002bc4 + +0000f2bc : +{ + f2bc: b5f0 push {r4, r5, r6, r7, lr} + f2be: 46de mov lr, fp + f2c0: 4657 mov r7, sl + f2c2: 464e mov r6, r9 + f2c4: 4645 mov r5, r8 + f2c6: b5e0 push {r5, r6, r7, lr} + f2c8: b085 sub sp, #20 + f2ca: 4681 mov r9, r0 + f2cc: 000c movs r4, r1 + f2ce: 001f movs r7, r3 bool is_tab = false; - f268: 2500 movs r5, #0 + f2d0: 2500 movs r5, #0 if(unicode_letter == '\t') { - f26a: 2a09 cmp r2, #9 - f26c: d03a beq.n f2e4 + f2d2: 2a09 cmp r2, #9 + f2d4: d03a beq.n f34c lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - f26e: 464b mov r3, r9 - f270: 691e ldr r6, [r3, #16] + f2d6: 464b mov r3, r9 + f2d8: 691e ldr r6, [r3, #16] uint32_t gid = get_glyph_dsc_id(font, unicode_letter); - f272: 0011 movs r1, r2 - f274: 4648 mov r0, r9 - f276: 4b53 ldr r3, [pc, #332] ; (f3c4 ) - f278: 4798 blx r3 - f27a: 4683 mov fp, r0 + f2da: 0011 movs r1, r2 + f2dc: 4648 mov r0, r9 + f2de: 4b53 ldr r3, [pc, #332] ; (f42c ) + f2e0: 4798 blx r3 + f2e2: 4683 mov fp, r0 if(!gid) return false; - f27c: 2800 cmp r0, #0 - f27e: d100 bne.n f282 - f280: e094 b.n f3ac + f2e4: 2800 cmp r0, #0 + f2e6: d100 bne.n f2ea + f2e8: e094 b.n f414 if(fdsc->kern_dsc) { - f282: 68f3 ldr r3, [r6, #12] - f284: 2b00 cmp r3, #0 - f286: d100 bne.n f28a - f288: e08e b.n f3a8 + f2ea: 68f3 ldr r3, [r6, #12] + f2ec: 2b00 cmp r3, #0 + f2ee: d100 bne.n f2f2 + f2f0: e08e b.n f410 uint32_t gid_next = get_glyph_dsc_id(font, unicode_letter_next); - f28a: 0039 movs r1, r7 - f28c: 4648 mov r0, r9 - f28e: 4b4d ldr r3, [pc, #308] ; (f3c4 ) - f290: 4798 blx r3 + f2f2: 0039 movs r1, r7 + f2f4: 4648 mov r0, r9 + f2f6: 4b4d ldr r3, [pc, #308] ; (f42c ) + f2f8: 4798 blx r3 int8_t kvalue = 0; - f292: 2300 movs r3, #0 + f2fa: 2300 movs r3, #0 if(gid_next) { - f294: 2800 cmp r0, #0 - f296: d128 bne.n f2ea + f2fc: 2800 cmp r0, #0 + f2fe: d128 bne.n f352 const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - f298: 465a mov r2, fp - f29a: 00d0 lsls r0, r2, #3 - f29c: 6872 ldr r2, [r6, #4] - f29e: 4694 mov ip, r2 - f2a0: 4460 add r0, ip + f300: 465a mov r2, fp + f302: 00d0 lsls r0, r2, #3 + f304: 6872 ldr r2, [r6, #4] + f306: 4694 mov ip, r2 + f308: 4460 add r0, ip int32_t kv = ((int32_t)((int32_t)kvalue * fdsc->kern_scale) >> 4); - f2a2: 8a32 ldrh r2, [r6, #16] - f2a4: 435a muls r2, r3 - f2a6: 1112 asrs r2, r2, #4 + f30a: 8a32 ldrh r2, [r6, #16] + f30c: 435a muls r2, r3 + f30e: 1112 asrs r2, r2, #4 uint32_t adv_w = gdsc->adv_w; - f2a8: 8841 ldrh r1, [r0, #2] - f2aa: 0909 lsrs r1, r1, #4 + f310: 8841 ldrh r1, [r0, #2] + f312: 0909 lsrs r1, r1, #4 if(is_tab) adv_w *= 2; - f2ac: 2d00 cmp r5, #0 - f2ae: d000 beq.n f2b2 - f2b0: 0049 lsls r1, r1, #1 + f314: 2d00 cmp r5, #0 + f316: d000 beq.n f31a + f318: 0049 lsls r1, r1, #1 adv_w = (adv_w + (1 << 3)) >> 4; - f2b2: 0013 movs r3, r2 - f2b4: 3308 adds r3, #8 - f2b6: 185b adds r3, r3, r1 - f2b8: 091b lsrs r3, r3, #4 + f31a: 0013 movs r3, r2 + f31c: 3308 adds r3, #8 + f31e: 185b adds r3, r3, r1 + f320: 091b lsrs r3, r3, #4 dsc_out->adv_w = adv_w; - f2ba: 8023 strh r3, [r4, #0] + f322: 8023 strh r3, [r4, #0] dsc_out->box_h = gdsc->box_h; - f2bc: 7943 ldrb r3, [r0, #5] - f2be: 80a3 strh r3, [r4, #4] + f324: 7943 ldrb r3, [r0, #5] + f326: 80a3 strh r3, [r4, #4] dsc_out->box_w = gdsc->box_w; - f2c0: 7902 ldrb r2, [r0, #4] - f2c2: 8062 strh r2, [r4, #2] + f328: 7902 ldrb r2, [r0, #4] + f32a: 8062 strh r2, [r4, #2] dsc_out->ofs_x = gdsc->ofs_x; - f2c4: 2306 movs r3, #6 - f2c6: 56c3 ldrsb r3, [r0, r3] - f2c8: 80e3 strh r3, [r4, #6] + f32c: 2306 movs r3, #6 + f32e: 56c3 ldrsb r3, [r0, r3] + f330: 80e3 strh r3, [r4, #6] dsc_out->ofs_y = gdsc->ofs_y; - f2ca: 2307 movs r3, #7 - f2cc: 56c3 ldrsb r3, [r0, r3] - f2ce: 8123 strh r3, [r4, #8] + f332: 2307 movs r3, #7 + f334: 56c3 ldrsb r3, [r0, r3] + f336: 8123 strh r3, [r4, #8] dsc_out->bpp = (uint8_t)fdsc->bpp; - f2d0: 7cf3 ldrb r3, [r6, #19] - f2d2: 069b lsls r3, r3, #26 - f2d4: 0f1b lsrs r3, r3, #28 - f2d6: 72a3 strb r3, [r4, #10] + f338: 7cf3 ldrb r3, [r6, #19] + f33a: 069b lsls r3, r3, #26 + f33c: 0f1b lsrs r3, r3, #28 + f33e: 72a3 strb r3, [r4, #10] if(is_tab) dsc_out->box_w = dsc_out->box_w * 2; - f2d8: 2d00 cmp r5, #0 - f2da: d100 bne.n f2de - f2dc: e06f b.n f3be - f2de: 0052 lsls r2, r2, #1 - f2e0: 8062 strh r2, [r4, #2] - f2e2: e064 b.n f3ae + f340: 2d00 cmp r5, #0 + f342: d100 bne.n f346 + f344: e06f b.n f426 + f346: 0052 lsls r2, r2, #1 + f348: 8062 strh r2, [r4, #2] + f34a: e064 b.n f416 is_tab = true; - f2e4: 3501 adds r5, #1 + f34c: 3501 adds r5, #1 unicode_letter = ' '; - f2e6: 3217 adds r2, #23 - f2e8: e7c1 b.n f26e + f34e: 3217 adds r2, #23 + f350: e7c1 b.n f2d6 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - f2ea: 464b mov r3, r9 - f2ec: 691b ldr r3, [r3, #16] + f352: 464b mov r3, r9 + f354: 691b ldr r3, [r3, #16] if(fdsc->kern_classes == 0) { - f2ee: 7cda ldrb r2, [r3, #19] - f2f0: 0652 lsls r2, r2, #25 - f2f2: d442 bmi.n f37a + f356: 7cda ldrb r2, [r3, #19] + f358: 0652 lsls r2, r2, #25 + f35a: d442 bmi.n f3e2 const lv_font_fmt_txt_kern_pair_t * kdsc = fdsc->kern_dsc; - f2f4: 68db ldr r3, [r3, #12] - f2f6: 4698 mov r8, r3 + f35c: 68db ldr r3, [r3, #12] + f35e: 4698 mov r8, r3 if(kdsc->glyph_ids_size == 0) { - f2f8: 7adb ldrb r3, [r3, #11] - f2fa: 2203 movs r2, #3 - f2fc: 401a ands r2, r3 - f2fe: d01c beq.n f33a + f360: 7adb ldrb r3, [r3, #11] + f362: 2203 movs r2, #3 + f364: 401a ands r2, r3 + f366: d01c beq.n f3a2 int8_t value = 0; - f300: 2300 movs r3, #0 + f368: 2300 movs r3, #0 else if(kdsc->glyph_ids_size == 1) { - f302: 2a01 cmp r2, #1 - f304: d1c8 bne.n f298 + f36a: 2a01 cmp r2, #1 + f36c: d1c8 bne.n f300 const uint16_t * g_ids = kdsc->glyph_ids; - f306: 4643 mov r3, r8 - f308: 681b ldr r3, [r3, #0] - f30a: 4699 mov r9, r3 + f36e: 4643 mov r3, r8 + f370: 681b ldr r3, [r3, #0] + f372: 4699 mov r9, r3 lv_uintptr_t g_id_both = (uint32_t)((uint32_t)gid_right << 8) + gid_left; /*Create one number from the ids*/ - f30c: 0200 lsls r0, r0, #8 - f30e: 4458 add r0, fp - f310: 9003 str r0, [sp, #12] + f374: 0200 lsls r0, r0, #8 + f376: 4458 add r0, fp + f378: 9003 str r0, [sp, #12] uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 4, kern_pair_16_compare); - f312: 4643 mov r3, r8 - f314: 689b ldr r3, [r3, #8] - f316: 021a lsls r2, r3, #8 - f318: 0a12 lsrs r2, r2, #8 - f31a: 4b2b ldr r3, [pc, #172] ; (f3c8 ) - f31c: 9300 str r3, [sp, #0] - f31e: 2304 movs r3, #4 - f320: 4649 mov r1, r9 - f322: a803 add r0, sp, #12 - f324: 4f29 ldr r7, [pc, #164] ; (f3cc ) - f326: 47b8 blx r7 + f37a: 4643 mov r3, r8 + f37c: 689b ldr r3, [r3, #8] + f37e: 021a lsls r2, r3, #8 + f380: 0a12 lsrs r2, r2, #8 + f382: 4b2b ldr r3, [pc, #172] ; (f430 ) + f384: 9300 str r3, [sp, #0] + f386: 2304 movs r3, #4 + f388: 4649 mov r1, r9 + f38a: a803 add r0, sp, #12 + f38c: 4f29 ldr r7, [pc, #164] ; (f434 ) + f38e: 47b8 blx r7 if(kid_p) { - f328: 2800 cmp r0, #0 - f32a: d024 beq.n f376 + f390: 2800 cmp r0, #0 + f392: d024 beq.n f3de lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - (const uint8_t *)g_ids); - f32c: 464b mov r3, r9 - f32e: 1ac0 subs r0, r0, r3 + f394: 464b mov r3, r9 + f396: 1ac0 subs r0, r0, r3 ofs = ofs >> 4; /*ofs is 4 byte pairs, divide by 4 to refer as a single value*/ - f330: 0900 lsrs r0, r0, #4 + f398: 0900 lsrs r0, r0, #4 value = kdsc->values[ofs]; - f332: 4643 mov r3, r8 - f334: 685b ldr r3, [r3, #4] - f336: 561b ldrsb r3, [r3, r0] - f338: e7ae b.n f298 + f39a: 4643 mov r3, r8 + f39c: 685b ldr r3, [r3, #4] + f39e: 561b ldrsb r3, [r3, r0] + f3a0: e7ae b.n f300 const uint8_t * g_ids = kdsc->glyph_ids; - f33a: 4643 mov r3, r8 - f33c: 681b ldr r3, [r3, #0] - f33e: 4699 mov r9, r3 + f3a2: 4643 mov r3, r8 + f3a4: 681b ldr r3, [r3, #0] + f3a6: 4699 mov r9, r3 uint16_t g_id_both = (gid_right << 8) + gid_left; /*Create one number from the ids*/ - f340: ab03 add r3, sp, #12 - f342: 469c mov ip, r3 - f344: 0200 lsls r0, r0, #8 - f346: 4458 add r0, fp - f348: 8018 strh r0, [r3, #0] + f3a8: ab03 add r3, sp, #12 + f3aa: 469c mov ip, r3 + f3ac: 0200 lsls r0, r0, #8 + f3ae: 4458 add r0, fp + f3b0: 8018 strh r0, [r3, #0] uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 2, kern_pair_8_compare); - f34a: 4643 mov r3, r8 - f34c: 689b ldr r3, [r3, #8] - f34e: 021a lsls r2, r3, #8 - f350: 0a12 lsrs r2, r2, #8 - f352: 4b1f ldr r3, [pc, #124] ; (f3d0 ) - f354: 9300 str r3, [sp, #0] - f356: 2302 movs r3, #2 - f358: 4649 mov r1, r9 - f35a: 4660 mov r0, ip - f35c: 4f1b ldr r7, [pc, #108] ; (f3cc ) - f35e: 47b8 blx r7 + f3b2: 4643 mov r3, r8 + f3b4: 689b ldr r3, [r3, #8] + f3b6: 021a lsls r2, r3, #8 + f3b8: 0a12 lsrs r2, r2, #8 + f3ba: 4b1f ldr r3, [pc, #124] ; (f438 ) + f3bc: 9300 str r3, [sp, #0] + f3be: 2302 movs r3, #2 + f3c0: 4649 mov r1, r9 + f3c2: 4660 mov r0, ip + f3c4: 4f1b ldr r7, [pc, #108] ; (f434 ) + f3c6: 47b8 blx r7 if(kid_p) { - f360: 2800 cmp r0, #0 - f362: d006 beq.n f372 + f3c8: 2800 cmp r0, #0 + f3ca: d006 beq.n f3da lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - g_ids); - f364: 464b mov r3, r9 - f366: 1ac0 subs r0, r0, r3 + f3cc: 464b mov r3, r9 + f3ce: 1ac0 subs r0, r0, r3 ofs = ofs >> 1; /*ofs is for pair, divide by 2 to refer as a single value*/ - f368: 0840 lsrs r0, r0, #1 + f3d0: 0840 lsrs r0, r0, #1 value = kdsc->values[ofs]; - f36a: 4643 mov r3, r8 - f36c: 685b ldr r3, [r3, #4] - f36e: 561b ldrsb r3, [r3, r0] - f370: e792 b.n f298 + f3d2: 4643 mov r3, r8 + f3d4: 685b ldr r3, [r3, #4] + f3d6: 561b ldrsb r3, [r3, r0] + f3d8: e792 b.n f300 int8_t value = 0; - f372: 2300 movs r3, #0 - f374: e790 b.n f298 - f376: 2300 movs r3, #0 - f378: e78e b.n f298 + f3da: 2300 movs r3, #0 + f3dc: e790 b.n f300 + f3de: 2300 movs r3, #0 + f3e0: e78e b.n f300 const lv_font_fmt_txt_kern_classes_t * kdsc = fdsc->kern_dsc; - f37a: 68da ldr r2, [r3, #12] + f3e2: 68da ldr r2, [r3, #12] uint8_t left_class = kdsc->left_class_mapping[gid_left]; - f37c: 6853 ldr r3, [r2, #4] - f37e: 4659 mov r1, fp - f380: 5c59 ldrb r1, [r3, r1] + f3e4: 6853 ldr r3, [r2, #4] + f3e6: 4659 mov r1, fp + f3e8: 5c59 ldrb r1, [r3, r1] int8_t value = 0; - f382: 2300 movs r3, #0 + f3ea: 2300 movs r3, #0 if(left_class > 0 && right_class > 0) { - f384: 2900 cmp r1, #0 - f386: d087 beq.n f298 + f3ec: 2900 cmp r1, #0 + f3ee: d087 beq.n f300 uint8_t right_class = kdsc->right_class_mapping[gid_right]; - f388: 6893 ldr r3, [r2, #8] - f38a: 5c18 ldrb r0, [r3, r0] + f3f0: 6893 ldr r3, [r2, #8] + f3f2: 5c18 ldrb r0, [r3, r0] int8_t value = 0; - f38c: 2300 movs r3, #0 + f3f4: 2300 movs r3, #0 if(left_class > 0 && right_class > 0) { - f38e: 2800 cmp r0, #0 - f390: d100 bne.n f394 - f392: e781 b.n f298 + f3f6: 2800 cmp r0, #0 + f3f8: d100 bne.n f3fc + f3fa: e781 b.n f300 value = kdsc->class_pair_values[(left_class - 1) * kdsc->right_class_cnt + (right_class - 1)]; - f394: 3901 subs r1, #1 - f396: 7b53 ldrb r3, [r2, #13] - f398: 434b muls r3, r1 - f39a: 6811 ldr r1, [r2, #0] - f39c: 1809 adds r1, r1, r0 - f39e: 18c9 adds r1, r1, r3 - f3a0: 3901 subs r1, #1 - f3a2: 2300 movs r3, #0 - f3a4: 56cb ldrsb r3, [r1, r3] - f3a6: e777 b.n f298 + f3fc: 3901 subs r1, #1 + f3fe: 7b53 ldrb r3, [r2, #13] + f400: 434b muls r3, r1 + f402: 6811 ldr r1, [r2, #0] + f404: 1809 adds r1, r1, r0 + f406: 18c9 adds r1, r1, r3 + f408: 3901 subs r1, #1 + f40a: 2300 movs r3, #0 + f40c: 56cb ldrsb r3, [r1, r3] + f40e: e777 b.n f300 int8_t kvalue = 0; - f3a8: 2300 movs r3, #0 - f3aa: e775 b.n f298 + f410: 2300 movs r3, #0 + f412: e775 b.n f300 if(!gid) return false; - f3ac: 2500 movs r5, #0 -} - f3ae: 0028 movs r0, r5 - f3b0: b005 add sp, #20 - f3b2: bc3c pop {r2, r3, r4, r5} - f3b4: 4690 mov r8, r2 - f3b6: 4699 mov r9, r3 - f3b8: 46a2 mov sl, r4 - f3ba: 46ab mov fp, r5 - f3bc: bdf0 pop {r4, r5, r6, r7, pc} + f414: 2500 movs r5, #0 +} + f416: 0028 movs r0, r5 + f418: b005 add sp, #20 + f41a: bc3c pop {r2, r3, r4, r5} + f41c: 4690 mov r8, r2 + f41e: 4699 mov r9, r3 + f420: 46a2 mov sl, r4 + f422: 46ab mov fp, r5 + f424: bdf0 pop {r4, r5, r6, r7, pc} return true; - f3be: 2501 movs r5, #1 - f3c0: e7f5 b.n f3ae - f3c2: 46c0 nop ; (mov r8, r8) - f3c4: 0000e755 .word 0x0000e755 - f3c8: 0000e739 .word 0x0000e739 - f3cc: 00011b89 .word 0x00011b89 - f3d0: 0000e725 .word 0x0000e725 + f426: 2501 movs r5, #1 + f428: e7f5 b.n f416 + f42a: 46c0 nop ; (mov r8, r8) + f42c: 0000e7bd .word 0x0000e7bd + f430: 0000e7a1 .word 0x0000e7a1 + f434: 00011bf1 .word 0x00011bf1 + f438: 0000e78d .word 0x0000e78d -0000f3d4 <_lv_font_clean_up_fmt_txt>: +0000f43c <_lv_font_clean_up_fmt_txt>: { - f3d4: b510 push {r4, lr} + f43c: b510 push {r4, lr} if(decompr_buf) { - f3d6: 4b05 ldr r3, [pc, #20] ; (f3ec <_lv_font_clean_up_fmt_txt+0x18>) - f3d8: 6818 ldr r0, [r3, #0] - f3da: 2800 cmp r0, #0 - f3dc: d004 beq.n f3e8 <_lv_font_clean_up_fmt_txt+0x14> + f43e: 4b05 ldr r3, [pc, #20] ; (f454 <_lv_font_clean_up_fmt_txt+0x18>) + f440: 6818 ldr r0, [r3, #0] + f442: 2800 cmp r0, #0 + f444: d004 beq.n f450 <_lv_font_clean_up_fmt_txt+0x14> lv_mem_free(decompr_buf); - f3de: 4b04 ldr r3, [pc, #16] ; (f3f0 <_lv_font_clean_up_fmt_txt+0x1c>) - f3e0: 4798 blx r3 + f446: 4b04 ldr r3, [pc, #16] ; (f458 <_lv_font_clean_up_fmt_txt+0x1c>) + f448: 4798 blx r3 decompr_buf = NULL; - f3e2: 2200 movs r2, #0 - f3e4: 4b01 ldr r3, [pc, #4] ; (f3ec <_lv_font_clean_up_fmt_txt+0x18>) - f3e6: 601a str r2, [r3, #0] + f44a: 2200 movs r2, #0 + f44c: 4b01 ldr r3, [pc, #4] ; (f454 <_lv_font_clean_up_fmt_txt+0x18>) + f44e: 601a str r2, [r3, #0] } - f3e8: bd10 pop {r4, pc} - f3ea: 46c0 nop ; (mov r8, r8) - f3ec: 20002bb8 .word 0x20002bb8 - f3f0: 00010ad1 .word 0x00010ad1 + f450: bd10 pop {r4, pc} + f452: 46c0 nop ; (mov r8, r8) + f454: 20002bb8 .word 0x20002bb8 + f458: 00010b39 .word 0x00010b39 -0000f3f4 : +0000f45c : * It is used to surly have known values in the fields ant not memory junk. * After it you can set the fields. * @param driver pointer to driver variable to initialize */ void lv_disp_drv_init(lv_disp_drv_t * driver) { - f3f4: b510 push {r4, lr} - f3f6: 0004 movs r4, r0 + f45c: b510 push {r4, lr} + f45e: 0004 movs r4, r0 _lv_memset_00(driver, sizeof(lv_disp_drv_t)); - f3f8: 212c movs r1, #44 ; 0x2c - f3fa: 4b15 ldr r3, [pc, #84] ; (f450 ) - f3fc: 4798 blx r3 + f460: 212c movs r1, #44 ; 0x2c + f462: 4b15 ldr r3, [pc, #84] ; (f4b8 ) + f464: 4798 blx r3 driver->flush_cb = NULL; - f3fe: 2200 movs r2, #0 - f400: 60e2 str r2, [r4, #12] + f466: 2200 movs r2, #0 + f468: 60e2 str r2, [r4, #12] driver->hor_res = LV_HOR_RES_MAX; - f402: 23f0 movs r3, #240 ; 0xf0 - f404: 005b lsls r3, r3, #1 - f406: 8023 strh r3, [r4, #0] + f46a: 23f0 movs r3, #240 ; 0xf0 + f46c: 005b lsls r3, r3, #1 + f46e: 8023 strh r3, [r4, #0] driver->ver_res = LV_VER_RES_MAX; - f408: 3ba0 subs r3, #160 ; 0xa0 - f40a: 8063 strh r3, [r4, #2] + f470: 3ba0 subs r3, #160 ; 0xa0 + f472: 8063 strh r3, [r4, #2] driver->buffer = NULL; - f40c: 6062 str r2, [r4, #4] + f474: 6062 str r2, [r4, #4] driver->rotated = 0; - f40e: 7a23 ldrb r3, [r4, #8] - f410: 2102 movs r1, #2 - f412: 438b bics r3, r1 - f414: 7223 strb r3, [r4, #8] + f476: 7a23 ldrb r3, [r4, #8] + f478: 2102 movs r1, #2 + f47a: 438b bics r3, r1 + f47c: 7223 strb r3, [r4, #8] driver->color_chroma_key = LV_COLOR_TRANSP; - f416: 3126 adds r1, #38 ; 0x26 - f418: 5c63 ldrb r3, [r4, r1] - f41a: 201f movs r0, #31 - f41c: 4383 bics r3, r0 - f41e: 5463 strb r3, [r4, r1] - f420: 8d21 ldrh r1, [r4, #40] ; 0x28 - f422: 23fc movs r3, #252 ; 0xfc - f424: 00db lsls r3, r3, #3 - f426: 430b orrs r3, r1 - f428: 8523 strh r3, [r4, #40] ; 0x28 - f42a: 0021 movs r1, r4 - f42c: 3128 adds r1, #40 ; 0x28 - f42e: 055b lsls r3, r3, #21 - f430: 0f5b lsrs r3, r3, #29 - f432: 704b strb r3, [r1, #1] + f47e: 3126 adds r1, #38 ; 0x26 + f480: 5c63 ldrb r3, [r4, r1] + f482: 201f movs r0, #31 + f484: 4383 bics r3, r0 + f486: 5463 strb r3, [r4, r1] + f488: 8d21 ldrh r1, [r4, #40] ; 0x28 + f48a: 23fc movs r3, #252 ; 0xfc + f48c: 00db lsls r3, r3, #3 + f48e: 430b orrs r3, r1 + f490: 8523 strh r3, [r4, #40] ; 0x28 + f492: 0021 movs r1, r4 + f494: 3128 adds r1, #40 ; 0x28 + f496: 055b lsls r3, r3, #21 + f498: 0f5b lsrs r3, r3, #29 + f49a: 704b strb r3, [r1, #1] driver->dpi = LV_DPI; - f434: 8923 ldrh r3, [r4, #8] - f436: 4907 ldr r1, [pc, #28] ; (f454 ) - f438: 4019 ands r1, r3 - f43a: 2382 movs r3, #130 ; 0x82 - f43c: 009b lsls r3, r3, #2 - f43e: 430b orrs r3, r1 - f440: 8123 strh r3, [r4, #8] + f49c: 8923 ldrh r3, [r4, #8] + f49e: 4907 ldr r1, [pc, #28] ; (f4bc ) + f4a0: 4019 ands r1, r3 + f4a2: 2382 movs r3, #130 ; 0x82 + f4a4: 009b lsls r3, r3, #2 + f4a6: 430b orrs r3, r1 + f4a8: 8123 strh r3, [r4, #8] #if LV_ANTIALIAS driver->antialiasing = true; - f442: 2101 movs r1, #1 - f444: 430b orrs r3, r1 - f446: 7223 strb r3, [r4, #8] + f4aa: 2101 movs r1, #1 + f4ac: 430b orrs r3, r1 + f4ae: 7223 strb r3, [r4, #8] #if LV_COLOR_SCREEN_TRANSP driver->screen_transp = 1; #endif #if LV_USE_GPU driver->gpu_blend_cb = NULL; - f448: 6222 str r2, [r4, #32] + f4b0: 6222 str r2, [r4, #32] driver->gpu_fill_cb = NULL; - f44a: 6262 str r2, [r4, #36] ; 0x24 + f4b2: 6262 str r2, [r4, #36] ; 0x24 #if LV_USE_USER_DATA driver->user_data = NULL; #endif driver->set_px_cb = NULL; - f44c: 6162 str r2, [r4, #20] + f4b4: 6162 str r2, [r4, #20] } - f44e: bd10 pop {r4, pc} - f450: 00010fe5 .word 0x00010fe5 - f454: fffff003 .word 0xfffff003 + f4b6: bd10 pop {r4, pc} + f4b8: 0001104d .word 0x0001104d + f4bc: fffff003 .word 0xfffff003 -0000f458 : +0000f4c0 : * It lets LVGL to render next frame into the other buffer while previous is being * sent. Set to `NULL` if unused. * @param size_in_px_cnt size of the `buf1` and `buf2` in pixel count. */ void lv_disp_buf_init(lv_disp_buf_t * disp_buf, void * buf1, void * buf2, uint32_t size_in_px_cnt) { - f458: b5f8 push {r3, r4, r5, r6, r7, lr} - f45a: 0004 movs r4, r0 - f45c: 000d movs r5, r1 - f45e: 0017 movs r7, r2 - f460: 001e movs r6, r3 + f4c0: b5f8 push {r3, r4, r5, r6, r7, lr} + f4c2: 0004 movs r4, r0 + f4c4: 000d movs r5, r1 + f4c6: 0017 movs r7, r2 + f4c8: 001e movs r6, r3 _lv_memset_00(disp_buf, sizeof(lv_disp_buf_t)); - f462: 2124 movs r1, #36 ; 0x24 - f464: 4b03 ldr r3, [pc, #12] ; (f474 ) - f466: 4798 blx r3 + f4ca: 2124 movs r1, #36 ; 0x24 + f4cc: 4b03 ldr r3, [pc, #12] ; (f4dc ) + f4ce: 4798 blx r3 disp_buf->buf1 = buf1; - f468: 6025 str r5, [r4, #0] + f4d0: 6025 str r5, [r4, #0] disp_buf->buf2 = buf2; - f46a: 6067 str r7, [r4, #4] + f4d2: 6067 str r7, [r4, #4] disp_buf->buf_act = disp_buf->buf1; - f46c: 60a5 str r5, [r4, #8] + f4d4: 60a5 str r5, [r4, #8] disp_buf->size = size_in_px_cnt; - f46e: 60e6 str r6, [r4, #12] + f4d6: 60e6 str r6, [r4, #12] } - f470: bdf8 pop {r3, r4, r5, r6, r7, pc} - f472: 46c0 nop ; (mov r8, r8) - f474: 00010fe5 .word 0x00010fe5 + f4d8: bdf8 pop {r3, r4, r5, r6, r7, pc} + f4da: 46c0 nop ; (mov r8, r8) + f4dc: 0001104d .word 0x0001104d -0000f478 : +0000f4e0 : * Automatically set the first display as active. * @param driver pointer to an initialized 'lv_disp_drv_t' variable (can be local variable) * @return pointer to the new display or NULL on error */ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) { - f478: b570 push {r4, r5, r6, lr} - f47a: 0005 movs r5, r0 + f4e0: b570 push {r4, r5, r6, lr} + f4e2: 0005 movs r5, r0 lv_disp_t * disp = _lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll)); - f47c: 4838 ldr r0, [pc, #224] ; (f560 ) - f47e: 4b39 ldr r3, [pc, #228] ; (f564 ) - f480: 4798 blx r3 - f482: 1e04 subs r4, r0, #0 + f4e4: 4838 ldr r0, [pc, #224] ; (f5c8 ) + f4e6: 4b39 ldr r3, [pc, #228] ; (f5cc ) + f4e8: 4798 blx r3 + f4ea: 1e04 subs r4, r0, #0 if(!disp) { - f484: d055 beq.n f532 + f4ec: d055 beq.n f59a LV_ASSERT_MEM(disp); return NULL; } _lv_memset_00(disp, sizeof(lv_disp_t)); - f486: 21b8 movs r1, #184 ; 0xb8 - f488: 0049 lsls r1, r1, #1 - f48a: 4b37 ldr r3, [pc, #220] ; (f568 ) - f48c: 4798 blx r3 + f4ee: 21b8 movs r1, #184 ; 0xb8 + f4f0: 0049 lsls r1, r1, #1 + f4f2: 4b37 ldr r3, [pc, #220] ; (f5d0 ) + f4f4: 4798 blx r3 _lv_memcpy(&disp->driver, driver, sizeof(lv_disp_drv_t)); - f48e: 222c movs r2, #44 ; 0x2c - f490: 0029 movs r1, r5 - f492: 0020 movs r0, r4 - f494: 4b35 ldr r3, [pc, #212] ; (f56c ) - f496: 4798 blx r3 + f4f6: 222c movs r2, #44 ; 0x2c + f4f8: 0029 movs r1, r5 + f4fa: 0020 movs r0, r4 + f4fc: 4b35 ldr r3, [pc, #212] ; (f5d4 ) + f4fe: 4798 blx r3 _lv_ll_init(&disp->scr_ll, sizeof(lv_obj_t)); - f498: 0020 movs r0, r4 - f49a: 3030 adds r0, #48 ; 0x30 - f49c: 214c movs r1, #76 ; 0x4c - f49e: 4b34 ldr r3, [pc, #208] ; (f570 ) - f4a0: 4798 blx r3 + f500: 0020 movs r0, r4 + f502: 3030 adds r0, #48 ; 0x30 + f504: 214c movs r1, #76 ; 0x4c + f506: 4b34 ldr r3, [pc, #208] ; (f5d8 ) + f508: 4798 blx r3 disp->last_activity_time = 0; - f4a2: 2200 movs r2, #0 - f4a4: 23b6 movs r3, #182 ; 0xb6 - f4a6: 005b lsls r3, r3, #1 - f4a8: 50e2 str r2, [r4, r3] + f50a: 2200 movs r2, #0 + f50c: 23b6 movs r3, #182 ; 0xb6 + f50e: 005b lsls r3, r3, #1 + f510: 50e2 str r2, [r4, r3] if(disp_def == NULL) disp_def = disp; - f4aa: 4b32 ldr r3, [pc, #200] ; (f574 ) - f4ac: 681b ldr r3, [r3, #0] - f4ae: 2b00 cmp r3, #0 - f4b0: d04a beq.n f548 + f512: 4b32 ldr r3, [pc, #200] ; (f5dc ) + f514: 681b ldr r3, [r3, #0] + f516: 2b00 cmp r3, #0 + f518: d04a beq.n f5b0 lv_disp_t * disp_def_tmp = disp_def; - f4b2: 4b30 ldr r3, [pc, #192] ; (f574 ) - f4b4: 681e ldr r6, [r3, #0] + f51a: 4b30 ldr r3, [pc, #192] ; (f5dc ) + f51c: 681e ldr r6, [r3, #0] disp_def = disp; /*Temporarily change the default screen to create the default screens on the - f4b6: 601c str r4, [r3, #0] + f51e: 601c str r4, [r3, #0] new display*/ /*Create a refresh task*/ disp->refr_task = lv_task_create(_lv_disp_refr_task, LV_DISP_DEF_REFR_PERIOD, LV_REFR_TASK_PRIO, disp); - f4b8: 0023 movs r3, r4 - f4ba: 2203 movs r2, #3 - f4bc: 211e movs r1, #30 - f4be: 482e ldr r0, [pc, #184] ; (f578 ) - f4c0: 4d2e ldr r5, [pc, #184] ; (f57c ) - f4c2: 47a8 blx r5 - f4c4: 62e0 str r0, [r4, #44] ; 0x2c + f520: 0023 movs r3, r4 + f522: 2203 movs r2, #3 + f524: 211e movs r1, #30 + f526: 482e ldr r0, [pc, #184] ; (f5e0 ) + f528: 4d2e ldr r5, [pc, #184] ; (f5e4 ) + f52a: 47a8 blx r5 + f52c: 62e0 str r0, [r4, #44] ; 0x2c LV_ASSERT_MEM(disp->refr_task); - f4c6: 4b2e ldr r3, [pc, #184] ; (f580 ) - f4c8: 4798 blx r3 - f4ca: 2800 cmp r0, #0 - f4cc: d03f beq.n f54e + f52e: 4b2e ldr r3, [pc, #184] ; (f5e8 ) + f530: 4798 blx r3 + f532: 2800 cmp r0, #0 + f534: d03f beq.n f5b6 if(disp->refr_task == NULL) return NULL; - f4ce: 6ae3 ldr r3, [r4, #44] ; 0x2c - f4d0: 2b00 cmp r3, #0 - f4d2: d042 beq.n f55a + f536: 6ae3 ldr r3, [r4, #44] ; 0x2c + f538: 2b00 cmp r3, #0 + f53a: d042 beq.n f5c2 disp->inv_p = 0; - f4d4: 22b4 movs r2, #180 ; 0xb4 - f4d6: 0052 lsls r2, r2, #1 - f4d8: 5aa3 ldrh r3, [r4, r2] - f4da: 0a9b lsrs r3, r3, #10 - f4dc: 029b lsls r3, r3, #10 - f4de: 52a3 strh r3, [r4, r2] + f53c: 22b4 movs r2, #180 ; 0xb4 + f53e: 0052 lsls r2, r2, #1 + f540: 5aa3 ldrh r3, [r4, r2] + f542: 0a9b lsrs r3, r3, #10 + f544: 029b lsls r3, r3, #10 + f546: 52a3 strh r3, [r4, r2] disp->last_activity_time = 0; - f4e0: 2200 movs r2, #0 - f4e2: 23b6 movs r3, #182 ; 0xb6 - f4e4: 005b lsls r3, r3, #1 - f4e6: 50e2 str r2, [r4, r3] + f548: 2200 movs r2, #0 + f54a: 23b6 movs r3, #182 ; 0xb6 + f54c: 005b lsls r3, r3, #1 + f54e: 50e2 str r2, [r4, r3] disp->act_scr = lv_obj_create(NULL, NULL); /*Create a default screen on the display*/ - f4e8: 2100 movs r1, #0 - f4ea: 2000 movs r0, #0 - f4ec: 4d25 ldr r5, [pc, #148] ; (f584 ) - f4ee: 47a8 blx r5 - f4f0: 63e0 str r0, [r4, #60] ; 0x3c + f550: 2100 movs r1, #0 + f552: 2000 movs r0, #0 + f554: 4d25 ldr r5, [pc, #148] ; (f5ec ) + f556: 47a8 blx r5 + f558: 63e0 str r0, [r4, #60] ; 0x3c disp->top_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/ - f4f2: 2100 movs r1, #0 - f4f4: 2000 movs r0, #0 - f4f6: 47a8 blx r5 - f4f8: 6420 str r0, [r4, #64] ; 0x40 + f55a: 2100 movs r1, #0 + f55c: 2000 movs r0, #0 + f55e: 47a8 blx r5 + f560: 6420 str r0, [r4, #64] ; 0x40 disp->sys_layer = lv_obj_create(NULL, NULL); /*Create sys layer on the display*/ - f4fa: 2100 movs r1, #0 - f4fc: 2000 movs r0, #0 - f4fe: 47a8 blx r5 - f500: 6460 str r0, [r4, #68] ; 0x44 + f562: 2100 movs r1, #0 + f564: 2000 movs r0, #0 + f566: 47a8 blx r5 + f568: 6460 str r0, [r4, #68] ; 0x44 lv_obj_reset_style_list(disp->top_layer, LV_OBJ_PART_MAIN); - f502: 2100 movs r1, #0 - f504: 6c20 ldr r0, [r4, #64] ; 0x40 - f506: 4d20 ldr r5, [pc, #128] ; (f588 ) - f508: 47a8 blx r5 + f56a: 2100 movs r1, #0 + f56c: 6c20 ldr r0, [r4, #64] ; 0x40 + f56e: 4d20 ldr r5, [pc, #128] ; (f5f0 ) + f570: 47a8 blx r5 lv_obj_reset_style_list(disp->sys_layer, LV_OBJ_PART_MAIN); - f50a: 2100 movs r1, #0 - f50c: 6c60 ldr r0, [r4, #68] ; 0x44 - f50e: 47a8 blx r5 + f572: 2100 movs r1, #0 + f574: 6c60 ldr r0, [r4, #68] ; 0x44 + f576: 47a8 blx r5 lv_obj_set_click(disp->top_layer, false); - f510: 2100 movs r1, #0 - f512: 6c20 ldr r0, [r4, #64] ; 0x40 - f514: 4d1d ldr r5, [pc, #116] ; (f58c ) - f516: 47a8 blx r5 + f578: 2100 movs r1, #0 + f57a: 6c20 ldr r0, [r4, #64] ; 0x40 + f57c: 4d1d ldr r5, [pc, #116] ; (f5f4 ) + f57e: 47a8 blx r5 lv_obj_set_click(disp->sys_layer, false); - f518: 2100 movs r1, #0 - f51a: 6c60 ldr r0, [r4, #68] ; 0x44 - f51c: 47a8 blx r5 + f580: 2100 movs r1, #0 + f582: 6c60 ldr r0, [r4, #68] ; 0x44 + f584: 47a8 blx r5 lv_obj_invalidate(disp->act_scr); - f51e: 6be0 ldr r0, [r4, #60] ; 0x3c - f520: 4b1b ldr r3, [pc, #108] ; (f590 ) - f522: 4798 blx r3 + f586: 6be0 ldr r0, [r4, #60] ; 0x3c + f588: 4b1b ldr r3, [pc, #108] ; (f5f8 ) + f58a: 4798 blx r3 disp_def = disp_def_tmp; /*Revert the default display*/ - f524: 4b13 ldr r3, [pc, #76] ; (f574 ) - f526: 601e str r6, [r3, #0] + f58c: 4b13 ldr r3, [pc, #76] ; (f5dc ) + f58e: 601e str r6, [r3, #0] lv_task_ready(disp->refr_task); /*Be sure the screen will be refreshed immediately on start up*/ - f528: 6ae0 ldr r0, [r4, #44] ; 0x2c - f52a: 4b1a ldr r3, [pc, #104] ; (f594 ) - f52c: 4798 blx r3 + f590: 6ae0 ldr r0, [r4, #44] ; 0x2c + f592: 4b1a ldr r3, [pc, #104] ; (f5fc ) + f594: 4798 blx r3 return disp; } - f52e: 0020 movs r0, r4 - f530: bd70 pop {r4, r5, r6, pc} + f596: 0020 movs r0, r4 + f598: bd70 pop {r4, r5, r6, pc} LV_ASSERT_MEM(disp); - f532: 2000 movs r0, #0 - f534: 4b12 ldr r3, [pc, #72] ; (f580 ) - f536: 4798 blx r3 - f538: 2800 cmp r0, #0 - f53a: d1f8 bne.n f52e - f53c: 2200 movs r2, #0 - f53e: 2300 movs r3, #0 - f540: 4815 ldr r0, [pc, #84] ; (f598 ) - f542: 4916 ldr r1, [pc, #88] ; (f59c ) - f544: 4788 blx r1 - f546: e7fe b.n f546 + f59a: 2000 movs r0, #0 + f59c: 4b12 ldr r3, [pc, #72] ; (f5e8 ) + f59e: 4798 blx r3 + f5a0: 2800 cmp r0, #0 + f5a2: d1f8 bne.n f596 + f5a4: 2200 movs r2, #0 + f5a6: 2300 movs r3, #0 + f5a8: 4815 ldr r0, [pc, #84] ; (f600 ) + f5aa: 4916 ldr r1, [pc, #88] ; (f604 ) + f5ac: 4788 blx r1 + f5ae: e7fe b.n f5ae if(disp_def == NULL) disp_def = disp; - f548: 4b0a ldr r3, [pc, #40] ; (f574 ) - f54a: 601c str r4, [r3, #0] - f54c: e7b1 b.n f4b2 + f5b0: 4b0a ldr r3, [pc, #40] ; (f5dc ) + f5b2: 601c str r4, [r3, #0] + f5b4: e7b1 b.n f51a LV_ASSERT_MEM(disp->refr_task); - f54e: 6ae2 ldr r2, [r4, #44] ; 0x2c - f550: 2300 movs r3, #0 - f552: 4811 ldr r0, [pc, #68] ; (f598 ) - f554: 4911 ldr r1, [pc, #68] ; (f59c ) - f556: 4788 blx r1 - f558: e7fe b.n f558 + f5b6: 6ae2 ldr r2, [r4, #44] ; 0x2c + f5b8: 2300 movs r3, #0 + f5ba: 4811 ldr r0, [pc, #68] ; (f600 ) + f5bc: 4911 ldr r1, [pc, #68] ; (f604 ) + f5be: 4788 blx r1 + f5c0: e7fe b.n f5c0 if(disp->refr_task == NULL) return NULL; - f55a: 2400 movs r4, #0 - f55c: e7e7 b.n f52e - f55e: 46c0 nop ; (mov r8, r8) - f560: 20004cc4 .word 0x20004cc4 - f564: 00010565 .word 0x00010565 - f568: 00010fe5 .word 0x00010fe5 - f56c: 00010c25 .word 0x00010c25 - f570: 00010551 .word 0x00010551 - f574: 20002bd0 .word 0x20002bd0 - f578: 00004355 .word 0x00004355 - f57c: 00011571 .word 0x00011571 - f580: 00001415 .word 0x00001415 - f584: 0000287d .word 0x0000287d - f588: 00002611 .word 0x00002611 - f58c: 000018ad .word 0x000018ad - f590: 00001f49 .word 0x00001f49 - f594: 000115c5 .word 0x000115c5 - f598: 00018804 .word 0x00018804 - f59c: 0000141d .word 0x0000141d - -0000f5a0 : + f5c2: 2400 movs r4, #0 + f5c4: e7e7 b.n f596 + f5c6: 46c0 nop ; (mov r8, r8) + f5c8: 20004cc4 .word 0x20004cc4 + f5cc: 000105cd .word 0x000105cd + f5d0: 0001104d .word 0x0001104d + f5d4: 00010c8d .word 0x00010c8d + f5d8: 000105b9 .word 0x000105b9 + f5dc: 20002bd0 .word 0x20002bd0 + f5e0: 000043bd .word 0x000043bd + f5e4: 000115d9 .word 0x000115d9 + f5e8: 0000147d .word 0x0000147d + f5ec: 000028e5 .word 0x000028e5 + f5f0: 00002679 .word 0x00002679 + f5f4: 00001915 .word 0x00001915 + f5f8: 00001fb1 .word 0x00001fb1 + f5fc: 0001162d .word 0x0001162d + f600: 00018894 .word 0x00018894 + f604: 00001485 .word 0x00001485 + +0000f608 : * Get the default display * @return pointer to the default display */ lv_disp_t * lv_disp_get_default(void) { return disp_def; - f5a0: 4b01 ldr r3, [pc, #4] ; (f5a8 ) - f5a2: 6818 ldr r0, [r3, #0] + f608: 4b01 ldr r3, [pc, #4] ; (f610 ) + f60a: 6818 ldr r0, [r3, #0] } - f5a4: 4770 bx lr - f5a6: 46c0 nop ; (mov r8, r8) - f5a8: 20002bd0 .word 0x20002bd0 + f60c: 4770 bx lr + f60e: 46c0 nop ; (mov r8, r8) + f610: 20002bd0 .word 0x20002bd0 -0000f5ac : +0000f614 : * Get the horizontal resolution of a display * @param disp pointer to a display (NULL to use the default display) * @return the horizontal resolution of the display */ lv_coord_t lv_disp_get_hor_res(lv_disp_t * disp) { - f5ac: 1e03 subs r3, r0, #0 + f614: 1e03 subs r3, r0, #0 if(disp == NULL) disp = lv_disp_get_default(); - f5ae: d005 beq.n f5bc + f616: d005 beq.n f624 if(disp == NULL) return LV_HOR_RES_MAX; else return disp->driver.rotated == 0 ? disp->driver.hor_res : disp->driver.ver_res; - f5b0: 7a1a ldrb r2, [r3, #8] - f5b2: 0792 lsls r2, r2, #30 - f5b4: d509 bpl.n f5ca - f5b6: 2002 movs r0, #2 - f5b8: 5e18 ldrsh r0, [r3, r0] + f618: 7a1a ldrb r2, [r3, #8] + f61a: 0792 lsls r2, r2, #30 + f61c: d509 bpl.n f632 + f61e: 2002 movs r0, #2 + f620: 5e18 ldrsh r0, [r3, r0] } - f5ba: 4770 bx lr + f622: 4770 bx lr return disp_def; - f5bc: 4b04 ldr r3, [pc, #16] ; (f5d0 ) - f5be: 681b ldr r3, [r3, #0] + f624: 4b04 ldr r3, [pc, #16] ; (f638 ) + f626: 681b ldr r3, [r3, #0] return LV_HOR_RES_MAX; - f5c0: 20f0 movs r0, #240 ; 0xf0 - f5c2: 0040 lsls r0, r0, #1 + f628: 20f0 movs r0, #240 ; 0xf0 + f62a: 0040 lsls r0, r0, #1 if(disp == NULL) - f5c4: 2b00 cmp r3, #0 - f5c6: d0f8 beq.n f5ba - f5c8: e7f2 b.n f5b0 + f62c: 2b00 cmp r3, #0 + f62e: d0f8 beq.n f622 + f630: e7f2 b.n f618 return disp->driver.rotated == 0 ? disp->driver.hor_res : disp->driver.ver_res; - f5ca: 2000 movs r0, #0 - f5cc: 5e18 ldrsh r0, [r3, r0] - f5ce: e7f4 b.n f5ba - f5d0: 20002bd0 .word 0x20002bd0 + f632: 2000 movs r0, #0 + f634: 5e18 ldrsh r0, [r3, r0] + f636: e7f4 b.n f622 + f638: 20002bd0 .word 0x20002bd0 -0000f5d4 : +0000f63c : * Get the vertical resolution of a display * @param disp pointer to a display (NULL to use the default display) * @return the vertical resolution of the display */ lv_coord_t lv_disp_get_ver_res(lv_disp_t * disp) { - f5d4: 1e03 subs r3, r0, #0 + f63c: 1e03 subs r3, r0, #0 if(disp == NULL) disp = lv_disp_get_default(); - f5d6: d005 beq.n f5e4 + f63e: d005 beq.n f64c if(disp == NULL) return LV_VER_RES_MAX; else return disp->driver.rotated == 0 ? disp->driver.ver_res : disp->driver.hor_res; - f5d8: 7a1a ldrb r2, [r3, #8] - f5da: 0792 lsls r2, r2, #30 - f5dc: d509 bpl.n f5f2 - f5de: 2000 movs r0, #0 - f5e0: 5e18 ldrsh r0, [r3, r0] + f640: 7a1a ldrb r2, [r3, #8] + f642: 0792 lsls r2, r2, #30 + f644: d509 bpl.n f65a + f646: 2000 movs r0, #0 + f648: 5e18 ldrsh r0, [r3, r0] } - f5e2: 4770 bx lr + f64a: 4770 bx lr return disp_def; - f5e4: 4b04 ldr r3, [pc, #16] ; (f5f8 ) - f5e6: 681b ldr r3, [r3, #0] + f64c: 4b04 ldr r3, [pc, #16] ; (f660 ) + f64e: 681b ldr r3, [r3, #0] return LV_VER_RES_MAX; - f5e8: 20a0 movs r0, #160 ; 0xa0 - f5ea: 0040 lsls r0, r0, #1 + f650: 20a0 movs r0, #160 ; 0xa0 + f652: 0040 lsls r0, r0, #1 if(disp == NULL) - f5ec: 2b00 cmp r3, #0 - f5ee: d0f8 beq.n f5e2 - f5f0: e7f2 b.n f5d8 + f654: 2b00 cmp r3, #0 + f656: d0f8 beq.n f64a + f658: e7f2 b.n f640 return disp->driver.rotated == 0 ? disp->driver.ver_res : disp->driver.hor_res; - f5f2: 2002 movs r0, #2 - f5f4: 5e18 ldrsh r0, [r3, r0] - f5f6: e7f4 b.n f5e2 - f5f8: 20002bd0 .word 0x20002bd0 + f65a: 2002 movs r0, #2 + f65c: 5e18 ldrsh r0, [r3, r0] + f65e: e7f4 b.n f64a + f660: 20002bd0 .word 0x20002bd0 -0000f5fc : +0000f664 : * Get the DPI of the display * @param disp pointer to a display (NULL to use the default display) * @return dpi of the display */ uint32_t lv_disp_get_dpi(lv_disp_t * disp) { - f5fc: 1e03 subs r3, r0, #0 + f664: 1e03 subs r3, r0, #0 if(disp == NULL) disp = lv_disp_get_default(); - f5fe: d003 beq.n f608 + f666: d003 beq.n f670 if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/ return disp->driver.dpi; - f600: 8918 ldrh r0, [r3, #8] - f602: 0500 lsls r0, r0, #20 - f604: 0d80 lsrs r0, r0, #22 + f668: 8918 ldrh r0, [r3, #8] + f66a: 0500 lsls r0, r0, #20 + f66c: 0d80 lsrs r0, r0, #22 } - f606: 4770 bx lr + f66e: 4770 bx lr return disp_def; - f608: 4b02 ldr r3, [pc, #8] ; (f614 ) - f60a: 681b ldr r3, [r3, #0] - f60c: 2082 movs r0, #130 ; 0x82 + f670: 4b02 ldr r3, [pc, #8] ; (f67c ) + f672: 681b ldr r3, [r3, #0] + f674: 2082 movs r0, #130 ; 0x82 if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/ - f60e: 2b00 cmp r3, #0 - f610: d0f9 beq.n f606 - f612: e7f5 b.n f600 - f614: 20002bd0 .word 0x20002bd0 + f676: 2b00 cmp r3, #0 + f678: d0f9 beq.n f66e + f67a: e7f5 b.n f668 + f67c: 20002bd0 .word 0x20002bd0 -0000f618 : +0000f680 : * Get the size category of the display based on it's hor. res. and dpi. * @param disp pointer to a display (NULL to use the default display) * @return LV_DISP_SIZE_SMALL/MEDIUM/LARGE/EXTRA_LARGE */ lv_disp_size_t lv_disp_get_size_category(lv_disp_t * disp) { - f618: b570 push {r4, r5, r6, lr} - f61a: 1e05 subs r5, r0, #0 + f680: b570 push {r4, r5, r6, lr} + f682: 1e05 subs r5, r0, #0 if(disp == NULL) disp = lv_disp_get_default(); - f61c: d019 beq.n f652 + f684: d019 beq.n f6ba uint32_t w; if(disp == NULL) w = LV_HOR_RES_MAX; else w = lv_disp_get_hor_res(disp); - f61e: 0028 movs r0, r5 - f620: 4b0f ldr r3, [pc, #60] ; (f660 ) - f622: 4798 blx r3 - f624: 0004 movs r4, r0 + f686: 0028 movs r0, r5 + f688: 4b0f ldr r3, [pc, #60] ; (f6c8 ) + f68a: 4798 blx r3 + f68c: 0004 movs r4, r0 uint32_t dpi = lv_disp_get_dpi(disp); - f626: 0028 movs r0, r5 - f628: 4b0e ldr r3, [pc, #56] ; (f664 ) - f62a: 4798 blx r3 - f62c: 0001 movs r1, r0 + f68e: 0028 movs r0, r5 + f690: 4b0e ldr r3, [pc, #56] ; (f6cc ) + f692: 4798 blx r3 + f694: 0001 movs r1, r0 w = w * 10 / dpi; - f62e: 00a0 lsls r0, r4, #2 - f630: 1900 adds r0, r0, r4 - f632: 0040 lsls r0, r0, #1 - f634: 4b0c ldr r3, [pc, #48] ; (f668 ) - f636: 4798 blx r3 - f638: 0002 movs r2, r0 + f696: 00a0 lsls r0, r4, #2 + f698: 1900 adds r0, r0, r4 + f69a: 0040 lsls r0, r0, #1 + f69c: 4b0c ldr r3, [pc, #48] ; (f6d0 ) + f69e: 4798 blx r3 + f6a0: 0002 movs r2, r0 if(w < LV_DISP_SMALL_LIMIT) return LV_DISP_SIZE_SMALL; - f63a: 2000 movs r0, #0 - f63c: 2a1d cmp r2, #29 - f63e: d907 bls.n f650 + f6a2: 2000 movs r0, #0 + f6a4: 2a1d cmp r2, #29 + f6a6: d907 bls.n f6b8 if(w < LV_DISP_MEDIUM_LIMIT) return LV_DISP_SIZE_MEDIUM; - f640: 3001 adds r0, #1 - f642: 2a31 cmp r2, #49 ; 0x31 - f644: d904 bls.n f650 + f6a8: 3001 adds r0, #1 + f6aa: 2a31 cmp r2, #49 ; 0x31 + f6ac: d904 bls.n f6b8 if(w < LV_DISP_LARGE_LIMIT) return LV_DISP_SIZE_LARGE; else return LV_DISP_SIZE_EXTRA_LARGE; - f646: 3044 adds r0, #68 ; 0x44 - f648: 4290 cmp r0, r2 - f64a: 4180 sbcs r0, r0 - f64c: 4240 negs r0, r0 - f64e: 3002 adds r0, #2 + f6ae: 3044 adds r0, #68 ; 0x44 + f6b0: 4290 cmp r0, r2 + f6b2: 4180 sbcs r0, r0 + f6b4: 4240 negs r0, r0 + f6b6: 3002 adds r0, #2 } - f650: bd70 pop {r4, r5, r6, pc} + f6b8: bd70 pop {r4, r5, r6, pc} return disp_def; - f652: 4b06 ldr r3, [pc, #24] ; (f66c ) - f654: 681d ldr r5, [r3, #0] - f656: 24f0 movs r4, #240 ; 0xf0 - f658: 0064 lsls r4, r4, #1 + f6ba: 4b06 ldr r3, [pc, #24] ; (f6d4 ) + f6bc: 681d ldr r5, [r3, #0] + f6be: 24f0 movs r4, #240 ; 0xf0 + f6c0: 0064 lsls r4, r4, #1 if(disp == NULL) w = LV_HOR_RES_MAX; - f65a: 2d00 cmp r5, #0 - f65c: d0e3 beq.n f626 - f65e: e7de b.n f61e - f660: 0000f5ad .word 0x0000f5ad - f664: 0000f5fd .word 0x0000f5fd - f668: 00017961 .word 0x00017961 - f66c: 20002bd0 .word 0x20002bd0 - -0000f670 : + f6c2: 2d00 cmp r5, #0 + f6c4: d0e3 beq.n f68e + f6c6: e7de b.n f686 + f6c8: 0000f615 .word 0x0000f615 + f6cc: 0000f665 .word 0x0000f665 + f6d0: 000179f1 .word 0x000179f1 + f6d4: 20002bd0 .word 0x20002bd0 + +0000f6d8 : if(disp_drv->screen_transp) { _lv_memset_00(disp_drv->buffer->buf_act, disp_drv->buffer->size * sizeof(lv_color32_t)); } #endif disp_drv->buffer->flushing = 0; - f670: 6842 ldr r2, [r0, #4] - f672: 2300 movs r3, #0 - f674: 6193 str r3, [r2, #24] + f6d8: 6842 ldr r2, [r0, #4] + f6da: 2300 movs r3, #0 + f6dc: 6193 str r3, [r2, #24] disp_drv->buffer->flushing_last = 0; - f676: 6842 ldr r2, [r0, #4] - f678: 61d3 str r3, [r2, #28] + f6de: 6842 ldr r2, [r0, #4] + f6e0: 61d3 str r3, [r2, #28] } - f67a: 4770 bx lr + f6e2: 4770 bx lr -0000f67c : +0000f6e4 : * Get the next display. * @param disp pointer to the current display. NULL to initialize. * @return the next display or NULL if no more. Give the first display when the parameter is NULL */ lv_disp_t * lv_disp_get_next(lv_disp_t * disp) { - f67c: b510 push {r4, lr} + f6e4: b510 push {r4, lr} if(disp == NULL) - f67e: 2800 cmp r0, #0 - f680: d004 beq.n f68c + f6e6: 2800 cmp r0, #0 + f6e8: d004 beq.n f6f4 return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll)); else return _lv_ll_get_next(&LV_GC_ROOT(_lv_disp_ll), disp); - f682: 0001 movs r1, r0 - f684: 4803 ldr r0, [pc, #12] ; (f694 ) - f686: 4b04 ldr r3, [pc, #16] ; (f698 ) - f688: 4798 blx r3 + f6ea: 0001 movs r1, r0 + f6ec: 4803 ldr r0, [pc, #12] ; (f6fc ) + f6ee: 4b04 ldr r3, [pc, #16] ; (f700 ) + f6f0: 4798 blx r3 } - f68a: bd10 pop {r4, pc} + f6f2: bd10 pop {r4, pc} return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll)); - f68c: 4801 ldr r0, [pc, #4] ; (f694 ) - f68e: 4b03 ldr r3, [pc, #12] ; (f69c ) - f690: 4798 blx r3 - f692: e7fa b.n f68a - f694: 20004cc4 .word 0x20004cc4 - f698: 0001061d .word 0x0001061d - f69c: 00010605 .word 0x00010605 - -0000f6a0 : + f6f4: 4801 ldr r0, [pc, #4] ; (f6fc ) + f6f6: 4b03 ldr r3, [pc, #12] ; (f704 ) + f6f8: 4798 blx r3 + f6fa: e7fa b.n f6f2 + f6fc: 20004cc4 .word 0x20004cc4 + f700: 00010685 .word 0x00010685 + f704: 0001066d .word 0x0001066d + +0000f708 : * @param disp pointer to a display * @return pointer to the internal buffers */ lv_disp_buf_t * lv_disp_get_buf(lv_disp_t * disp) { return disp->driver.buffer; - f6a0: 6840 ldr r0, [r0, #4] + f708: 6840 ldr r0, [r0, #4] } - f6a2: 4770 bx lr + f70a: 4770 bx lr -0000f6a4 : +0000f70c : * @param disp pointer to to display to check * @return true: double buffered; false: not double buffered */ bool lv_disp_is_double_buf(lv_disp_t * disp) { if(disp->driver.buffer->buf1 && disp->driver.buffer->buf2) - f6a4: 6843 ldr r3, [r0, #4] - f6a6: 681a ldr r2, [r3, #0] - f6a8: 2a00 cmp r2, #0 - f6aa: d004 beq.n f6b6 - f6ac: 6858 ldr r0, [r3, #4] - f6ae: 1e43 subs r3, r0, #1 - f6b0: 4198 sbcs r0, r3 - f6b2: b2c0 uxtb r0, r0 + f70c: 6843 ldr r3, [r0, #4] + f70e: 681a ldr r2, [r3, #0] + f710: 2a00 cmp r2, #0 + f712: d004 beq.n f71e + f714: 6858 ldr r0, [r3, #4] + f716: 1e43 subs r3, r0, #1 + f718: 4198 sbcs r0, r3 + f71a: b2c0 uxtb r0, r0 return true; else return false; } - f6b4: 4770 bx lr + f71c: 4770 bx lr return false; - f6b6: 2000 movs r0, #0 - f6b8: e7fc b.n f6b4 + f71e: 2000 movs r0, #0 + f720: e7fc b.n f71c ... -0000f6bc : +0000f724 : * `size` is screen sized) * @param disp pointer to to display to check * @return true: double buffered; false: not double buffered */ bool lv_disp_is_true_double_buf(lv_disp_t * disp) { - f6bc: b510 push {r4, lr} - f6be: 0004 movs r4, r0 + f724: b510 push {r4, lr} + f726: 0004 movs r4, r0 uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res; if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) { - f6c0: 4b07 ldr r3, [pc, #28] ; (f6e0 ) - f6c2: 4798 blx r3 - f6c4: 2800 cmp r0, #0 - f6c6: d00a beq.n f6de + f728: 4b07 ldr r3, [pc, #28] ; (f748 ) + f72a: 4798 blx r3 + f72c: 2800 cmp r0, #0 + f72e: d00a beq.n f746 uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res; - f6c8: 2200 movs r2, #0 - f6ca: 5ea3 ldrsh r3, [r4, r2] - f6cc: 2202 movs r2, #2 - f6ce: 5ea0 ldrsh r0, [r4, r2] - f6d0: 4358 muls r0, r3 + f730: 2200 movs r2, #0 + f732: 5ea3 ldrsh r3, [r4, r2] + f734: 2202 movs r2, #2 + f736: 5ea0 ldrsh r0, [r4, r2] + f738: 4358 muls r0, r3 if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) { - f6d2: 6863 ldr r3, [r4, #4] - f6d4: 68db ldr r3, [r3, #12] - f6d6: 1ac0 subs r0, r0, r3 - f6d8: 4243 negs r3, r0 - f6da: 4158 adcs r0, r3 - f6dc: b2c0 uxtb r0, r0 + f73a: 6863 ldr r3, [r4, #4] + f73c: 68db ldr r3, [r3, #12] + f73e: 1ac0 subs r0, r0, r3 + f740: 4243 negs r3, r0 + f742: 4158 adcs r0, r3 + f744: b2c0 uxtb r0, r0 return true; } else { return false; } } - f6de: bd10 pop {r4, pc} - f6e0: 0000f6a5 .word 0x0000f6a5 + f746: bd10 pop {r4, pc} + f748: 0000f70d .word 0x0000f70d -0000f6e4 : +0000f74c : * @param indev pointer to the current input device. NULL to initialize. * @return the next input devise or NULL if no more. Give the first input device when the parameter * is NULL */ lv_indev_t * lv_indev_get_next(lv_indev_t * indev) { - f6e4: b510 push {r4, lr} + f74c: b510 push {r4, lr} if(indev == NULL) - f6e6: 2800 cmp r0, #0 - f6e8: d004 beq.n f6f4 + f74e: 2800 cmp r0, #0 + f750: d004 beq.n f75c return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll)); else return _lv_ll_get_next(&LV_GC_ROOT(_lv_indev_ll), indev); - f6ea: 0001 movs r1, r0 - f6ec: 4803 ldr r0, [pc, #12] ; (f6fc ) - f6ee: 4b04 ldr r3, [pc, #16] ; (f700 ) - f6f0: 4798 blx r3 + f752: 0001 movs r1, r0 + f754: 4803 ldr r0, [pc, #12] ; (f764 ) + f756: 4b04 ldr r3, [pc, #16] ; (f768 ) + f758: 4798 blx r3 } - f6f2: bd10 pop {r4, pc} + f75a: bd10 pop {r4, pc} return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll)); - f6f4: 4801 ldr r0, [pc, #4] ; (f6fc ) - f6f6: 4b03 ldr r3, [pc, #12] ; (f704 ) - f6f8: 4798 blx r3 - f6fa: e7fa b.n f6f2 - f6fc: 20004cb8 .word 0x20004cb8 - f700: 0001061d .word 0x0001061d - f704: 00010605 .word 0x00010605 + f75c: 4801 ldr r0, [pc, #4] ; (f764 ) + f75e: 4b03 ldr r3, [pc, #12] ; (f76c ) + f760: 4798 blx r3 + f762: e7fa b.n f75a + f764: 20004cb8 .word 0x20004cb8 + f768: 00010685 .word 0x00010685 + f76c: 0001066d .word 0x0001066d -0000f708 : +0000f770 : * You have to call this function periodically * @param tick_period the call period of this function in milliseconds */ LV_ATTRIBUTE_TICK_INC void lv_tick_inc(uint32_t tick_period) { tick_irq_flag = 0; - f708: 2200 movs r2, #0 - f70a: 4b04 ldr r3, [pc, #16] ; (f71c ) - f70c: 701a strb r2, [r3, #0] + f770: 2200 movs r2, #0 + f772: 4b04 ldr r3, [pc, #16] ; (f784 ) + f774: 701a strb r2, [r3, #0] sys_time += tick_period; - f70e: 4b04 ldr r3, [pc, #16] ; (f720 ) - f710: 681a ldr r2, [r3, #0] - f712: 4694 mov ip, r2 - f714: 4460 add r0, ip - f716: 6018 str r0, [r3, #0] -} - f718: 4770 bx lr - f71a: 46c0 nop ; (mov r8, r8) - f71c: 20002bd8 .word 0x20002bd8 - f720: 20002bd4 .word 0x20002bd4 - -0000f724 : + f776: 4b04 ldr r3, [pc, #16] ; (f788 ) + f778: 681a ldr r2, [r3, #0] + f77a: 4694 mov ip, r2 + f77c: 4460 add r0, ip + f77e: 6018 str r0, [r3, #0] +} + f780: 4770 bx lr + f782: 46c0 nop ; (mov r8, r8) + f784: 20002bd8 .word 0x20002bd8 + f788: 20002bd4 .word 0x20002bd4 + +0000f78c : uint32_t lv_tick_get(void) { #if LV_TICK_CUSTOM == 0 uint32_t result; do { tick_irq_flag = 1; - f724: 4b04 ldr r3, [pc, #16] ; (f738 ) - f726: 2101 movs r1, #1 - f728: 7019 strb r1, [r3, #0] + f78c: 4b04 ldr r3, [pc, #16] ; (f7a0 ) + f78e: 2101 movs r1, #1 + f790: 7019 strb r1, [r3, #0] result = sys_time; } while(!tick_irq_flag); /*'lv_tick_inc()' clears this flag which can be in an interrupt. - f72a: 781a ldrb r2, [r3, #0] - f72c: 2a00 cmp r2, #0 - f72e: d0fb beq.n f728 + f792: 781a ldrb r2, [r3, #0] + f794: 2a00 cmp r2, #0 + f796: d0fb beq.n f790 result = sys_time; - f730: 4b02 ldr r3, [pc, #8] ; (f73c ) + f798: 4b02 ldr r3, [pc, #8] ; (f7a4 ) Continue until make a non interrupted cycle */ return result; - f732: 6818 ldr r0, [r3, #0] + f79a: 6818 ldr r0, [r3, #0] #else return LV_TICK_CUSTOM_SYS_TIME_EXPR; #endif } - f734: 4770 bx lr - f736: 46c0 nop ; (mov r8, r8) - f738: 20002bd8 .word 0x20002bd8 - f73c: 20002bd4 .word 0x20002bd4 + f79c: 4770 bx lr + f79e: 46c0 nop ; (mov r8, r8) + f7a0: 20002bd8 .word 0x20002bd8 + f7a4: 20002bd4 .word 0x20002bd4 -0000f740 : +0000f7a8 : * Get the elapsed milliseconds since a previous time stamp * @param prev_tick a previous time stamp (return value of systick_get() ) * @return the elapsed milliseconds since 'prev_tick' */ uint32_t lv_tick_elaps(uint32_t prev_tick) { - f740: b510 push {r4, lr} - f742: 0004 movs r4, r0 + f7a8: b510 push {r4, lr} + f7aa: 0004 movs r4, r0 uint32_t act_time = lv_tick_get(); - f744: 4b01 ldr r3, [pc, #4] ; (f74c ) - f746: 4798 blx r3 + f7ac: 4b01 ldr r3, [pc, #4] ; (f7b4 ) + f7ae: 4798 blx r3 if(act_time >= prev_tick) { prev_tick = act_time - prev_tick; } else { prev_tick = UINT32_MAX - prev_tick + 1; prev_tick += act_time; - f748: 1b00 subs r0, r0, r4 + f7b0: 1b00 subs r0, r0, r4 } return prev_tick; } - f74a: bd10 pop {r4, pc} - f74c: 0000f725 .word 0x0000f725 + f7b2: bd10 pop {r4, pc} + f7b4: 0000f78d .word 0x0000f78d -0000f750 : +0000f7b8 : * Calculate the current value of an animation applying linear characteristic * @param a pointer to an animation * @return the current value to set */ lv_anim_value_t lv_anim_path_linear(const lv_anim_path_t * path, const lv_anim_t * a) { - f750: b510 push {r4, lr} - f752: 000c movs r4, r1 + f7b8: b510 push {r4, lr} + f7ba: 000c movs r4, r1 /*Calculate the current step*/ uint32_t step; if(a->time == a->act_time) { - f754: 6a09 ldr r1, [r1, #32] - f756: 6a60 ldr r0, [r4, #36] ; 0x24 - f758: 4281 cmp r1, r0 - f75a: d00a beq.n f772 + f7bc: 6a09 ldr r1, [r1, #32] + f7be: 6a60 ldr r0, [r4, #36] ; 0x24 + f7c0: 4281 cmp r1, r0 + f7c2: d00a beq.n f7da step = LV_ANIM_RESOLUTION; /*Use the last value if the time fully elapsed*/ } else { step = ((int32_t)a->act_time * LV_ANIM_RESOLUTION) / a->time; - f75c: 0280 lsls r0, r0, #10 - f75e: 4b06 ldr r3, [pc, #24] ; (f778 ) - f760: 4798 blx r3 + f7c4: 0280 lsls r0, r0, #10 + f7c6: 4b06 ldr r3, [pc, #24] ; (f7e0 ) + f7c8: 4798 blx r3 } /* Get the new value which will be proportional to `step` * and the `start` and `end` values*/ int32_t new_value; new_value = (int32_t)step * (a->end - a->start); - f762: 69a3 ldr r3, [r4, #24] - f764: 69e2 ldr r2, [r4, #28] - f766: 1ad2 subs r2, r2, r3 - f768: 4350 muls r0, r2 + f7ca: 69a3 ldr r3, [r4, #24] + f7cc: 69e2 ldr r2, [r4, #28] + f7ce: 1ad2 subs r2, r2, r3 + f7d0: 4350 muls r0, r2 new_value = new_value >> LV_ANIM_RES_SHIFT; - f76a: 1280 asrs r0, r0, #10 + f7d2: 1280 asrs r0, r0, #10 new_value += a->start; - f76c: 1818 adds r0, r3, r0 + f7d4: 1818 adds r0, r3, r0 return (lv_anim_value_t)new_value; - f76e: b200 sxth r0, r0 + f7d6: b200 sxth r0, r0 } - f770: bd10 pop {r4, pc} + f7d8: bd10 pop {r4, pc} step = LV_ANIM_RESOLUTION; /*Use the last value if the time fully elapsed*/ - f772: 2080 movs r0, #128 ; 0x80 - f774: 00c0 lsls r0, r0, #3 - f776: e7f4 b.n f762 - f778: 00017961 .word 0x00017961 + f7da: 2080 movs r0, #128 ; 0x80 + f7dc: 00c0 lsls r0, r0, #3 + f7de: e7f4 b.n f7ca + f7e0: 000179f1 .word 0x000179f1 -0000f77c : +0000f7e4 : } return anim_list_changed; } static void anim_mark_list_change(void) { - f77c: b510 push {r4, lr} + f7e4: b510 push {r4, lr} anim_list_changed = true; - f77e: 2201 movs r2, #1 - f780: 4b09 ldr r3, [pc, #36] ; (f7a8 ) - f782: 701a strb r2, [r3, #0] + f7e6: 2201 movs r2, #1 + f7e8: 4b09 ldr r3, [pc, #36] ; (f810 ) + f7ea: 701a strb r2, [r3, #0] if(_lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)) == NULL) - f784: 4809 ldr r0, [pc, #36] ; (f7ac ) - f786: 4b0a ldr r3, [pc, #40] ; (f7b0 ) - f788: 4798 blx r3 - f78a: 2800 cmp r0, #0 - f78c: d005 beq.n f79a + f7ec: 4809 ldr r0, [pc, #36] ; (f814 ) + f7ee: 4b0a ldr r3, [pc, #40] ; (f818 ) + f7f0: 4798 blx r3 + f7f2: 2800 cmp r0, #0 + f7f4: d005 beq.n f802 lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF); else lv_task_set_prio(_lv_anim_task, LV_ANIM_TASK_PRIO); - f78e: 4b09 ldr r3, [pc, #36] ; (f7b4 ) - f790: 6818 ldr r0, [r3, #0] - f792: 2104 movs r1, #4 - f794: 4b08 ldr r3, [pc, #32] ; (f7b8 ) - f796: 4798 blx r3 + f7f6: 4b09 ldr r3, [pc, #36] ; (f81c ) + f7f8: 6818 ldr r0, [r3, #0] + f7fa: 2104 movs r1, #4 + f7fc: 4b08 ldr r3, [pc, #32] ; (f820 ) + f7fe: 4798 blx r3 } - f798: bd10 pop {r4, pc} + f800: bd10 pop {r4, pc} lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF); - f79a: 4b06 ldr r3, [pc, #24] ; (f7b4 ) - f79c: 6818 ldr r0, [r3, #0] - f79e: 2100 movs r1, #0 - f7a0: 4b05 ldr r3, [pc, #20] ; (f7b8 ) - f7a2: 4798 blx r3 - f7a4: e7f8 b.n f798 - f7a6: 46c0 nop ; (mov r8, r8) - f7a8: 20002be0 .word 0x20002be0 - f7ac: 20004d88 .word 0x20004d88 - f7b0: 00010605 .word 0x00010605 - f7b4: 20002bdc .word 0x20002bdc - f7b8: 000114e1 .word 0x000114e1 - -0000f7bc : -{ - f7bc: b5f0 push {r4, r5, r6, r7, lr} - f7be: 46ce mov lr, r9 - f7c0: 4647 mov r7, r8 - f7c2: b580 push {r7, lr} - f7c4: b091 sub sp, #68 ; 0x44 + f802: 4b06 ldr r3, [pc, #24] ; (f81c ) + f804: 6818 ldr r0, [r3, #0] + f806: 2100 movs r1, #0 + f808: 4b05 ldr r3, [pc, #20] ; (f820 ) + f80a: 4798 blx r3 + f80c: e7f8 b.n f800 + f80e: 46c0 nop ; (mov r8, r8) + f810: 20002be0 .word 0x20002be0 + f814: 20004d88 .word 0x20004d88 + f818: 0001066d .word 0x0001066d + f81c: 20002bdc .word 0x20002bdc + f820: 00011549 .word 0x00011549 + +0000f824 : +{ + f824: b5f0 push {r4, r5, r6, r7, lr} + f826: 46ce mov lr, r9 + f828: 4647 mov r7, r8 + f82a: b580 push {r7, lr} + f82c: b091 sub sp, #68 ; 0x44 _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - f7c6: 4865 ldr r0, [pc, #404] ; (f95c ) - f7c8: 4b65 ldr r3, [pc, #404] ; (f960 ) - f7ca: 4798 blx r3 - f7cc: 2800 cmp r0, #0 - f7ce: d00b beq.n f7e8 + f82e: 4865 ldr r0, [pc, #404] ; (f9c4 ) + f830: 4b65 ldr r3, [pc, #404] ; (f9c8 ) + f832: 4798 blx r3 + f834: 2800 cmp r0, #0 + f836: d00b beq.n f850 a->has_run = 0; - f7d0: 253c movs r5, #60 ; 0x3c + f838: 253c movs r5, #60 ; 0x3c _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - f7d2: 4c62 ldr r4, [pc, #392] ; (f95c ) - f7d4: 4e63 ldr r6, [pc, #396] ; (f964 ) + f83a: 4c62 ldr r4, [pc, #392] ; (f9c4 ) + f83c: 4e63 ldr r6, [pc, #396] ; (f9cc ) a->has_run = 0; - f7d6: 5d43 ldrb r3, [r0, r5] - f7d8: 2202 movs r2, #2 - f7da: 4393 bics r3, r2 - f7dc: 5543 strb r3, [r0, r5] + f83e: 5d43 ldrb r3, [r0, r5] + f840: 2202 movs r2, #2 + f842: 4393 bics r3, r2 + f844: 5543 strb r3, [r0, r5] _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - f7de: 0001 movs r1, r0 - f7e0: 0020 movs r0, r4 - f7e2: 47b0 blx r6 - f7e4: 2800 cmp r0, #0 - f7e6: d1f6 bne.n f7d6 + f846: 0001 movs r1, r0 + f848: 0020 movs r0, r4 + f84a: 47b0 blx r6 + f84c: 2800 cmp r0, #0 + f84e: d1f6 bne.n f83e uint32_t elaps = lv_tick_elaps(last_task_run); - f7e8: 4b5f ldr r3, [pc, #380] ; (f968 ) - f7ea: 6818 ldr r0, [r3, #0] - f7ec: 4b5f ldr r3, [pc, #380] ; (f96c ) - f7ee: 4798 blx r3 - f7f0: 0007 movs r7, r0 + f850: 4b5f ldr r3, [pc, #380] ; (f9d0 ) + f852: 6818 ldr r0, [r3, #0] + f854: 4b5f ldr r3, [pc, #380] ; (f9d4 ) + f856: 4798 blx r3 + f858: 0007 movs r7, r0 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - f7f2: 485a ldr r0, [pc, #360] ; (f95c ) - f7f4: 4b5a ldr r3, [pc, #360] ; (f960 ) - f7f6: 4798 blx r3 - f7f8: 1e04 subs r4, r0, #0 + f85a: 485a ldr r0, [pc, #360] ; (f9c4 ) + f85c: 4b5a ldr r3, [pc, #360] ; (f9c8 ) + f85e: 4798 blx r3 + f860: 1e04 subs r4, r0, #0 while(a != NULL) { - f7fa: d100 bne.n f7fe - f7fc: e08c b.n f918 + f862: d100 bne.n f866 + f864: e08c b.n f980 anim_list_changed = false; - f7fe: 4e5c ldr r6, [pc, #368] ; (f970 ) - f800: 2500 movs r5, #0 + f866: 4e5c ldr r6, [pc, #368] ; (f9d8 ) + f868: 2500 movs r5, #0 if(anim_list_changed) - f802: 46b0 mov r8, r6 - f804: e026 b.n f854 + f86a: 46b0 mov r8, r6 + f86c: e026 b.n f8bc int32_t new_act_time = a->act_time + elaps; - f806: 19db adds r3, r3, r7 + f86e: 19db adds r3, r3, r7 if(a->act_time <= 0 && new_act_time >= 0) { - f808: 2b00 cmp r3, #0 - f80a: da00 bge.n f80e - f80c: e08d b.n f92a + f870: 2b00 cmp r3, #0 + f872: da00 bge.n f876 + f874: e08d b.n f992 if(a->start_cb) a->start_cb(a); - f80e: 68a2 ldr r2, [r4, #8] - f810: 2a00 cmp r2, #0 - f812: d100 bne.n f816 - f814: e090 b.n f938 - f816: 0020 movs r0, r4 - f818: 4790 blx r2 - f81a: e028 b.n f86e + f876: 68a2 ldr r2, [r4, #8] + f878: 2a00 cmp r2, #0 + f87a: d100 bne.n f87e + f87c: e090 b.n f9a0 + f87e: 0020 movs r0, r4 + f880: 4790 blx r2 + f882: e028 b.n f8d6 if(a->path.cb) new_value = a->path.cb(&a->path, a); - f81c: 6923 ldr r3, [r4, #16] - f81e: 2b00 cmp r3, #0 - f820: d02f beq.n f882 - f822: 0020 movs r0, r4 - f824: 3010 adds r0, #16 - f826: 0021 movs r1, r4 - f828: 4798 blx r3 + f884: 6923 ldr r3, [r4, #16] + f886: 2b00 cmp r3, #0 + f888: d02f beq.n f8ea + f88a: 0020 movs r0, r4 + f88c: 3010 adds r0, #16 + f88e: 0021 movs r1, r4 + f890: 4798 blx r3 if(a->exec_cb) a->exec_cb(a->var, new_value); - f82a: 6863 ldr r3, [r4, #4] - f82c: 2b00 cmp r3, #0 - f82e: d002 beq.n f836 - f830: b201 sxth r1, r0 - f832: 6820 ldr r0, [r4, #0] - f834: 4798 blx r3 + f892: 6863 ldr r3, [r4, #4] + f894: 2b00 cmp r3, #0 + f896: d002 beq.n f89e + f898: b201 sxth r1, r0 + f89a: 6820 ldr r0, [r4, #0] + f89c: 4798 blx r3 if(a->act_time >= a->time) { - f836: 6a63 ldr r3, [r4, #36] ; 0x24 - f838: 6a22 ldr r2, [r4, #32] - f83a: 4293 cmp r3, r2 - f83c: d227 bcs.n f88e + f89e: 6a63 ldr r3, [r4, #36] ; 0x24 + f8a0: 6a22 ldr r2, [r4, #32] + f8a2: 4293 cmp r3, r2 + f8a4: d227 bcs.n f8f6 if(anim_list_changed) - f83e: 4643 mov r3, r8 - f840: 781b ldrb r3, [r3, #0] - f842: 2b00 cmp r3, #0 - f844: d100 bne.n f848 - f846: e071 b.n f92c + f8a6: 4643 mov r3, r8 + f8a8: 781b ldrb r3, [r3, #0] + f8aa: 2b00 cmp r3, #0 + f8ac: d100 bne.n f8b0 + f8ae: e071 b.n f994 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - f848: 4844 ldr r0, [pc, #272] ; (f95c ) - f84a: 4b45 ldr r3, [pc, #276] ; (f960 ) - f84c: 4798 blx r3 - f84e: 0004 movs r4, r0 + f8b0: 4844 ldr r0, [pc, #272] ; (f9c4 ) + f8b2: 4b45 ldr r3, [pc, #276] ; (f9c8 ) + f8b4: 4798 blx r3 + f8b6: 0004 movs r4, r0 while(a != NULL) { - f850: 2c00 cmp r4, #0 - f852: d061 beq.n f918 + f8b8: 2c00 cmp r4, #0 + f8ba: d061 beq.n f980 anim_list_changed = false; - f854: 7035 strb r5, [r6, #0] + f8bc: 7035 strb r5, [r6, #0] if(!a->has_run) { - f856: 233c movs r3, #60 ; 0x3c - f858: 5ce3 ldrb r3, [r4, r3] - f85a: 079b lsls r3, r3, #30 - f85c: d466 bmi.n f92c + f8be: 233c movs r3, #60 ; 0x3c + f8c0: 5ce3 ldrb r3, [r4, r3] + f8c2: 079b lsls r3, r3, #30 + f8c4: d466 bmi.n f994 a->has_run = 1; /*The list readying might be reseted so need to know which anim has run already*/ - f85e: 223c movs r2, #60 ; 0x3c - f860: 5ca3 ldrb r3, [r4, r2] - f862: 2102 movs r1, #2 - f864: 430b orrs r3, r1 - f866: 54a3 strb r3, [r4, r2] + f8c6: 223c movs r2, #60 ; 0x3c + f8c8: 5ca3 ldrb r3, [r4, r2] + f8ca: 2102 movs r1, #2 + f8cc: 430b orrs r3, r1 + f8ce: 54a3 strb r3, [r4, r2] int32_t new_act_time = a->act_time + elaps; - f868: 6a63 ldr r3, [r4, #36] ; 0x24 + f8d0: 6a63 ldr r3, [r4, #36] ; 0x24 if(a->act_time <= 0 && new_act_time >= 0) { - f86a: 2b00 cmp r3, #0 - f86c: ddcb ble.n f806 + f8d2: 2b00 cmp r3, #0 + f8d4: ddcb ble.n f86e a->act_time += elaps; - f86e: 6a63 ldr r3, [r4, #36] ; 0x24 - f870: 18fb adds r3, r7, r3 - f872: 6263 str r3, [r4, #36] ; 0x24 + f8d6: 6a63 ldr r3, [r4, #36] ; 0x24 + f8d8: 18fb adds r3, r7, r3 + f8da: 6263 str r3, [r4, #36] ; 0x24 if(a->act_time >= 0) { - f874: 2b00 cmp r3, #0 - f876: dbe2 blt.n f83e + f8dc: 2b00 cmp r3, #0 + f8de: dbe2 blt.n f8a6 if(a->act_time > a->time) a->act_time = a->time; - f878: 6a22 ldr r2, [r4, #32] - f87a: 429a cmp r2, r3 - f87c: d2ce bcs.n f81c - f87e: 6262 str r2, [r4, #36] ; 0x24 - f880: e7cc b.n f81c + f8e0: 6a22 ldr r2, [r4, #32] + f8e2: 429a cmp r2, r3 + f8e4: d2ce bcs.n f884 + f8e6: 6262 str r2, [r4, #36] ; 0x24 + f8e8: e7cc b.n f884 else new_value = lv_anim_path_linear(&a->path, a); - f882: 0020 movs r0, r4 - f884: 3010 adds r0, #16 - f886: 0021 movs r1, r4 - f888: 4b3a ldr r3, [pc, #232] ; (f974 ) - f88a: 4798 blx r3 - f88c: e7cd b.n f82a + f8ea: 0020 movs r0, r4 + f8ec: 3010 adds r0, #16 + f8ee: 0021 movs r1, r4 + f8f0: 4b3a ldr r3, [pc, #232] ; (f9dc ) + f8f2: 4798 blx r3 + f8f4: e7cd b.n f892 if(a->playback_now == 0 && a->repeat_cnt > 0 && a->repeat_cnt != LV_ANIM_REPEAT_INFINITE) { - f88e: 233c movs r3, #60 ; 0x3c - f890: 5ce3 ldrb r3, [r4, r3] - f892: 2201 movs r2, #1 - f894: 4013 ands r3, r2 - f896: 1e18 subs r0, r3, #0 - f898: d107 bne.n f8aa - f89a: 8ea2 ldrh r2, [r4, #52] ; 0x34 - f89c: 2a00 cmp r2, #0 - f89e: d04d beq.n f93c - f8a0: 4935 ldr r1, [pc, #212] ; (f978 ) - f8a2: 428a cmp r2, r1 - f8a4: d051 beq.n f94a + f8f6: 233c movs r3, #60 ; 0x3c + f8f8: 5ce3 ldrb r3, [r4, r3] + f8fa: 2201 movs r2, #1 + f8fc: 4013 ands r3, r2 + f8fe: 1e18 subs r0, r3, #0 + f900: d107 bne.n f912 + f902: 8ea2 ldrh r2, [r4, #52] ; 0x34 + f904: 2a00 cmp r2, #0 + f906: d04d beq.n f9a4 + f908: 4935 ldr r1, [pc, #212] ; (f9e0 ) + f90a: 428a cmp r2, r1 + f90c: d051 beq.n f9b2 a->repeat_cnt--; - f8a6: 3a01 subs r2, #1 - f8a8: 86a2 strh r2, [r4, #52] ; 0x34 + f90e: 3a01 subs r2, #1 + f910: 86a2 strh r2, [r4, #52] ; 0x34 if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - f8aa: 8ea2 ldrh r2, [r4, #52] ; 0x34 - f8ac: 2a00 cmp r2, #0 - f8ae: d01a beq.n f8e6 + f912: 8ea2 ldrh r2, [r4, #52] ; 0x34 + f914: 2a00 cmp r2, #0 + f916: d01a beq.n f94e a->act_time = -a->repeat_delay; /*Restart the animation*/ - f8b0: 6b23 ldr r3, [r4, #48] ; 0x30 - f8b2: 425a negs r2, r3 - f8b4: 6262 str r2, [r4, #36] ; 0x24 + f918: 6b23 ldr r3, [r4, #48] ; 0x30 + f91a: 425a negs r2, r3 + f91c: 6262 str r2, [r4, #36] ; 0x24 if(a->playback_time != 0) { - f8b6: 6ae2 ldr r2, [r4, #44] ; 0x2c - f8b8: 2a00 cmp r2, #0 - f8ba: d0c0 beq.n f83e + f91e: 6ae2 ldr r2, [r4, #44] ; 0x2c + f920: 2a00 cmp r2, #0 + f922: d0c0 beq.n f8a6 if(a->playback_now == 0) a->act_time = -a->playback_delay; - f8bc: 2800 cmp r0, #0 - f8be: d040 beq.n f942 + f924: 2800 cmp r0, #0 + f926: d040 beq.n f9aa a->playback_now = a->playback_now == 0 ? 1 : 0; - f8c0: 4243 negs r3, r0 - f8c2: 4143 adcs r3, r0 - f8c4: 4699 mov r9, r3 - f8c6: 203c movs r0, #60 ; 0x3c - f8c8: 5c21 ldrb r1, [r4, r0] - f8ca: 2301 movs r3, #1 - f8cc: 4399 bics r1, r3 - f8ce: 464b mov r3, r9 - f8d0: 430b orrs r3, r1 - f8d2: 5423 strb r3, [r4, r0] + f928: 4243 negs r3, r0 + f92a: 4143 adcs r3, r0 + f92c: 4699 mov r9, r3 + f92e: 203c movs r0, #60 ; 0x3c + f930: 5c21 ldrb r1, [r4, r0] + f932: 2301 movs r3, #1 + f934: 4399 bics r1, r3 + f936: 464b mov r3, r9 + f938: 430b orrs r3, r1 + f93a: 5423 strb r3, [r4, r0] tmp = a->start; - f8d4: 69a1 ldr r1, [r4, #24] + f93c: 69a1 ldr r1, [r4, #24] a->start = a->end; - f8d6: 69e0 ldr r0, [r4, #28] - f8d8: 61a0 str r0, [r4, #24] + f93e: 69e0 ldr r0, [r4, #28] + f940: 61a0 str r0, [r4, #24] a->end = tmp; - f8da: 61e1 str r1, [r4, #28] + f942: 61e1 str r1, [r4, #28] a->time = a->playback_now == 0 ? a->time_orig : a->playback_time; - f8dc: 07db lsls r3, r3, #31 - f8de: d400 bmi.n f8e2 - f8e0: 6ba2 ldr r2, [r4, #56] ; 0x38 - f8e2: 6222 str r2, [r4, #32] - f8e4: e7ab b.n f83e + f944: 07db lsls r3, r3, #31 + f946: d400 bmi.n f94a + f948: 6ba2 ldr r2, [r4, #56] ; 0x38 + f94a: 6222 str r2, [r4, #32] + f94c: e7ab b.n f8a6 if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - f8e6: 6ae2 ldr r2, [r4, #44] ; 0x2c - f8e8: 2a00 cmp r2, #0 - f8ea: d001 beq.n f8f0 - f8ec: 2800 cmp r0, #0 - f8ee: d028 beq.n f942 + f94e: 6ae2 ldr r2, [r4, #44] ; 0x2c + f950: 2a00 cmp r2, #0 + f952: d001 beq.n f958 + f954: 2800 cmp r0, #0 + f956: d028 beq.n f9aa _lv_memcpy(&a_tmp, a, sizeof(lv_anim_t)); - f8f0: 2240 movs r2, #64 ; 0x40 - f8f2: 0021 movs r1, r4 - f8f4: 4668 mov r0, sp - f8f6: 4b21 ldr r3, [pc, #132] ; (f97c ) - f8f8: 4798 blx r3 + f958: 2240 movs r2, #64 ; 0x40 + f95a: 0021 movs r1, r4 + f95c: 4668 mov r0, sp + f95e: 4b21 ldr r3, [pc, #132] ; (f9e4 ) + f960: 4798 blx r3 _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); - f8fa: 0021 movs r1, r4 - f8fc: 4817 ldr r0, [pc, #92] ; (f95c ) - f8fe: 4b20 ldr r3, [pc, #128] ; (f980 ) - f900: 4798 blx r3 + f962: 0021 movs r1, r4 + f964: 4817 ldr r0, [pc, #92] ; (f9c4 ) + f966: 4b20 ldr r3, [pc, #128] ; (f9e8 ) + f968: 4798 blx r3 lv_mem_free(a); - f902: 0020 movs r0, r4 - f904: 4b1f ldr r3, [pc, #124] ; (f984 ) - f906: 4798 blx r3 + f96a: 0020 movs r0, r4 + f96c: 4b1f ldr r3, [pc, #124] ; (f9ec ) + f96e: 4798 blx r3 anim_mark_list_change(); - f908: 4b1f ldr r3, [pc, #124] ; (f988 ) - f90a: 4798 blx r3 + f970: 4b1f ldr r3, [pc, #124] ; (f9f0 ) + f972: 4798 blx r3 if(a_tmp.ready_cb != NULL) a_tmp.ready_cb(&a_tmp); - f90c: 9b03 ldr r3, [sp, #12] - f90e: 2b00 cmp r3, #0 - f910: d095 beq.n f83e - f912: 4668 mov r0, sp - f914: 4798 blx r3 - f916: e792 b.n f83e + f974: 9b03 ldr r3, [sp, #12] + f976: 2b00 cmp r3, #0 + f978: d095 beq.n f8a6 + f97a: 4668 mov r0, sp + f97c: 4798 blx r3 + f97e: e792 b.n f8a6 last_task_run = lv_tick_get(); - f918: 4b1c ldr r3, [pc, #112] ; (f98c ) - f91a: 4798 blx r3 - f91c: 4b12 ldr r3, [pc, #72] ; (f968 ) - f91e: 6018 str r0, [r3, #0] -} - f920: b011 add sp, #68 ; 0x44 - f922: bc0c pop {r2, r3} - f924: 4690 mov r8, r2 - f926: 4699 mov r9, r3 - f928: bdf0 pop {r4, r5, r6, r7, pc} + f980: 4b1c ldr r3, [pc, #112] ; (f9f4 ) + f982: 4798 blx r3 + f984: 4b12 ldr r3, [pc, #72] ; (f9d0 ) + f986: 6018 str r0, [r3, #0] +} + f988: b011 add sp, #68 ; 0x44 + f98a: bc0c pop {r2, r3} + f98c: 4690 mov r8, r2 + f98e: 4699 mov r9, r3 + f990: bdf0 pop {r4, r5, r6, r7, pc} a->act_time += elaps; - f92a: 6263 str r3, [r4, #36] ; 0x24 + f992: 6263 str r3, [r4, #36] ; 0x24 a = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - f92c: 0021 movs r1, r4 - f92e: 480b ldr r0, [pc, #44] ; (f95c ) - f930: 4b0c ldr r3, [pc, #48] ; (f964 ) - f932: 4798 blx r3 - f934: 0004 movs r4, r0 - f936: e78b b.n f850 + f994: 0021 movs r1, r4 + f996: 480b ldr r0, [pc, #44] ; (f9c4 ) + f998: 4b0c ldr r3, [pc, #48] ; (f9cc ) + f99a: 4798 blx r3 + f99c: 0004 movs r4, r0 + f99e: e78b b.n f8b8 a->act_time += elaps; - f938: 6263 str r3, [r4, #36] ; 0x24 - f93a: e79d b.n f878 + f9a0: 6263 str r3, [r4, #36] ; 0x24 + f9a2: e79d b.n f8e0 if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - f93c: 6ae2 ldr r2, [r4, #44] ; 0x2c - f93e: 2a00 cmp r2, #0 - f940: d0d6 beq.n f8f0 + f9a4: 6ae2 ldr r2, [r4, #44] ; 0x2c + f9a6: 2a00 cmp r2, #0 + f9a8: d0d6 beq.n f958 if(a->playback_now == 0) a->act_time = -a->playback_delay; - f942: 6aa3 ldr r3, [r4, #40] ; 0x28 - f944: 4259 negs r1, r3 - f946: 6261 str r1, [r4, #36] ; 0x24 - f948: e7ba b.n f8c0 + f9aa: 6aa3 ldr r3, [r4, #40] ; 0x28 + f9ac: 4259 negs r1, r3 + f9ae: 6261 str r1, [r4, #36] ; 0x24 + f9b0: e7ba b.n f928 a->act_time = -a->repeat_delay; /*Restart the animation*/ - f94a: 6b23 ldr r3, [r4, #48] ; 0x30 - f94c: 425a negs r2, r3 - f94e: 6262 str r2, [r4, #36] ; 0x24 + f9b2: 6b23 ldr r3, [r4, #48] ; 0x30 + f9b4: 425a negs r2, r3 + f9b6: 6262 str r2, [r4, #36] ; 0x24 if(a->playback_time != 0) { - f950: 6ae2 ldr r2, [r4, #44] ; 0x2c - f952: 2a00 cmp r2, #0 - f954: d100 bne.n f958 - f956: e772 b.n f83e - f958: e7f3 b.n f942 - f95a: 46c0 nop ; (mov r8, r8) - f95c: 20004d88 .word 0x20004d88 - f960: 00010605 .word 0x00010605 - f964: 0001061d .word 0x0001061d - f968: 20002be4 .word 0x20002be4 - f96c: 0000f741 .word 0x0000f741 - f970: 20002be0 .word 0x20002be0 - f974: 0000f751 .word 0x0000f751 - f978: 0000ffff .word 0x0000ffff - f97c: 00010c25 .word 0x00010c25 - f980: 000106ed .word 0x000106ed - f984: 00010ad1 .word 0x00010ad1 - f988: 0000f77d .word 0x0000f77d - f98c: 0000f725 .word 0x0000f725 - -0000f990 <_lv_anim_core_init>: -{ - f990: b510 push {r4, lr} + f9b8: 6ae2 ldr r2, [r4, #44] ; 0x2c + f9ba: 2a00 cmp r2, #0 + f9bc: d100 bne.n f9c0 + f9be: e772 b.n f8a6 + f9c0: e7f3 b.n f9aa + f9c2: 46c0 nop ; (mov r8, r8) + f9c4: 20004d88 .word 0x20004d88 + f9c8: 0001066d .word 0x0001066d + f9cc: 00010685 .word 0x00010685 + f9d0: 20002be4 .word 0x20002be4 + f9d4: 0000f7a9 .word 0x0000f7a9 + f9d8: 20002be0 .word 0x20002be0 + f9dc: 0000f7b9 .word 0x0000f7b9 + f9e0: 0000ffff .word 0x0000ffff + f9e4: 00010c8d .word 0x00010c8d + f9e8: 00010755 .word 0x00010755 + f9ec: 00010b39 .word 0x00010b39 + f9f0: 0000f7e5 .word 0x0000f7e5 + f9f4: 0000f78d .word 0x0000f78d + +0000f9f8 <_lv_anim_core_init>: +{ + f9f8: b510 push {r4, lr} _lv_ll_init(&LV_GC_ROOT(_lv_anim_ll), sizeof(lv_anim_t)); - f992: 2140 movs r1, #64 ; 0x40 - f994: 480a ldr r0, [pc, #40] ; (f9c0 <_lv_anim_core_init+0x30>) - f996: 4b0b ldr r3, [pc, #44] ; (f9c4 <_lv_anim_core_init+0x34>) - f998: 4798 blx r3 + f9fa: 2140 movs r1, #64 ; 0x40 + f9fc: 480a ldr r0, [pc, #40] ; (fa28 <_lv_anim_core_init+0x30>) + f9fe: 4b0b ldr r3, [pc, #44] ; (fa2c <_lv_anim_core_init+0x34>) + fa00: 4798 blx r3 last_task_run = lv_tick_get(); - f99a: 4b0b ldr r3, [pc, #44] ; (f9c8 <_lv_anim_core_init+0x38>) - f99c: 4798 blx r3 - f99e: 4b0b ldr r3, [pc, #44] ; (f9cc <_lv_anim_core_init+0x3c>) - f9a0: 6018 str r0, [r3, #0] + fa02: 4b0b ldr r3, [pc, #44] ; (fa30 <_lv_anim_core_init+0x38>) + fa04: 4798 blx r3 + fa06: 4b0b ldr r3, [pc, #44] ; (fa34 <_lv_anim_core_init+0x3c>) + fa08: 6018 str r0, [r3, #0] _lv_anim_task = lv_task_create(anim_task, LV_DISP_DEF_REFR_PERIOD, LV_ANIM_TASK_PRIO, NULL); - f9a2: 2300 movs r3, #0 - f9a4: 2204 movs r2, #4 - f9a6: 211e movs r1, #30 - f9a8: 4809 ldr r0, [pc, #36] ; (f9d0 <_lv_anim_core_init+0x40>) - f9aa: 4c0a ldr r4, [pc, #40] ; (f9d4 <_lv_anim_core_init+0x44>) - f9ac: 47a0 blx r4 - f9ae: 4b0a ldr r3, [pc, #40] ; (f9d8 <_lv_anim_core_init+0x48>) - f9b0: 6018 str r0, [r3, #0] + fa0a: 2300 movs r3, #0 + fa0c: 2204 movs r2, #4 + fa0e: 211e movs r1, #30 + fa10: 4809 ldr r0, [pc, #36] ; (fa38 <_lv_anim_core_init+0x40>) + fa12: 4c0a ldr r4, [pc, #40] ; (fa3c <_lv_anim_core_init+0x44>) + fa14: 47a0 blx r4 + fa16: 4b0a ldr r3, [pc, #40] ; (fa40 <_lv_anim_core_init+0x48>) + fa18: 6018 str r0, [r3, #0] anim_mark_list_change(); /*Turn off the animation task*/ - f9b2: 4b0a ldr r3, [pc, #40] ; (f9dc <_lv_anim_core_init+0x4c>) - f9b4: 4798 blx r3 + fa1a: 4b0a ldr r3, [pc, #40] ; (fa44 <_lv_anim_core_init+0x4c>) + fa1c: 4798 blx r3 anim_list_changed = false; /*The list has not actaully changed*/ - f9b6: 2200 movs r2, #0 - f9b8: 4b09 ldr r3, [pc, #36] ; (f9e0 <_lv_anim_core_init+0x50>) - f9ba: 701a strb r2, [r3, #0] -} - f9bc: bd10 pop {r4, pc} - f9be: 46c0 nop ; (mov r8, r8) - f9c0: 20004d88 .word 0x20004d88 - f9c4: 00010551 .word 0x00010551 - f9c8: 0000f725 .word 0x0000f725 - f9cc: 20002be4 .word 0x20002be4 - f9d0: 0000f7bd .word 0x0000f7bd - f9d4: 00011571 .word 0x00011571 - f9d8: 20002bdc .word 0x20002bdc - f9dc: 0000f77d .word 0x0000f77d - f9e0: 20002be0 .word 0x20002be0 - -0000f9e4 : -{ - f9e4: b510 push {r4, lr} - f9e6: 0004 movs r4, r0 + fa1e: 2200 movs r2, #0 + fa20: 4b09 ldr r3, [pc, #36] ; (fa48 <_lv_anim_core_init+0x50>) + fa22: 701a strb r2, [r3, #0] +} + fa24: bd10 pop {r4, pc} + fa26: 46c0 nop ; (mov r8, r8) + fa28: 20004d88 .word 0x20004d88 + fa2c: 000105b9 .word 0x000105b9 + fa30: 0000f78d .word 0x0000f78d + fa34: 20002be4 .word 0x20002be4 + fa38: 0000f825 .word 0x0000f825 + fa3c: 000115d9 .word 0x000115d9 + fa40: 20002bdc .word 0x20002bdc + fa44: 0000f7e5 .word 0x0000f7e5 + fa48: 20002be0 .word 0x20002be0 + +0000fa4c : +{ + fa4c: b510 push {r4, lr} + fa4e: 0004 movs r4, r0 _lv_memset_00(a, sizeof(lv_anim_t)); - f9e8: 2140 movs r1, #64 ; 0x40 - f9ea: 4b0d ldr r3, [pc, #52] ; (fa20 ) - f9ec: 4798 blx r3 + fa50: 2140 movs r1, #64 ; 0x40 + fa52: 4b0d ldr r3, [pc, #52] ; (fa88 ) + fa54: 4798 blx r3 a->time = 500; - f9ee: 23fa movs r3, #250 ; 0xfa - f9f0: 005b lsls r3, r3, #1 - f9f2: 6223 str r3, [r4, #32] + fa56: 23fa movs r3, #250 ; 0xfa + fa58: 005b lsls r3, r3, #1 + fa5a: 6223 str r3, [r4, #32] a->start = 0; - f9f4: 2300 movs r3, #0 - f9f6: 61a3 str r3, [r4, #24] + fa5c: 2300 movs r3, #0 + fa5e: 61a3 str r3, [r4, #24] a->end = 100; - f9f8: 3364 adds r3, #100 ; 0x64 - f9fa: 61e3 str r3, [r4, #28] + fa60: 3364 adds r3, #100 ; 0x64 + fa62: 61e3 str r3, [r4, #28] { uint8_t * d8 = (uint8_t *)dst; const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - f9fc: 4b09 ldr r3, [pc, #36] ; (fa24 ) - f9fe: 781a ldrb r2, [r3, #0] - fa00: 7422 strb r2, [r4, #16] - fa02: 785a ldrb r2, [r3, #1] - fa04: 7462 strb r2, [r4, #17] - fa06: 789a ldrb r2, [r3, #2] - fa08: 74a2 strb r2, [r4, #18] - fa0a: 78db ldrb r3, [r3, #3] - fa0c: 74e3 strb r3, [r4, #19] + fa64: 4b09 ldr r3, [pc, #36] ; (fa8c ) + fa66: 781a ldrb r2, [r3, #0] + fa68: 7422 strb r2, [r4, #16] + fa6a: 785a ldrb r2, [r3, #1] + fa6c: 7462 strb r2, [r4, #17] + fa6e: 789a ldrb r2, [r3, #2] + fa70: 74a2 strb r2, [r4, #18] + fa72: 78db ldrb r3, [r3, #3] + fa74: 74e3 strb r3, [r4, #19] a->repeat_cnt = 1; - fa0e: 2301 movs r3, #1 - fa10: 86a3 strh r3, [r4, #52] ; 0x34 + fa76: 2301 movs r3, #1 + fa78: 86a3 strh r3, [r4, #52] ; 0x34 a->early_apply = 1; - fa12: 2236 movs r2, #54 ; 0x36 - fa14: 5ca3 ldrb r3, [r4, r2] - fa16: 2101 movs r1, #1 - fa18: 430b orrs r3, r1 - fa1a: 54a3 strb r3, [r4, r2] -} - fa1c: bd10 pop {r4, pc} - fa1e: 46c0 nop ; (mov r8, r8) - fa20: 00010fe5 .word 0x00010fe5 - fa24: 0001c848 .word 0x0001c848 - -0000fa28 : -{ - fa28: b5f0 push {r4, r5, r6, r7, lr} - fa2a: 46d6 mov lr, sl - fa2c: b500 push {lr} - fa2e: b082 sub sp, #8 - fa30: 0006 movs r6, r0 - fa32: 468a mov sl, r1 + fa7a: 2236 movs r2, #54 ; 0x36 + fa7c: 5ca3 ldrb r3, [r4, r2] + fa7e: 2101 movs r1, #1 + fa80: 430b orrs r3, r1 + fa82: 54a3 strb r3, [r4, r2] +} + fa84: bd10 pop {r4, pc} + fa86: 46c0 nop ; (mov r8, r8) + fa88: 0001104d .word 0x0001104d + fa8c: 0001c8d8 .word 0x0001c8d8 + +0000fa90 : +{ + fa90: b5f0 push {r4, r5, r6, r7, lr} + fa92: 46d6 mov lr, sl + fa94: b500 push {lr} + fa96: b082 sub sp, #8 + fa98: 0006 movs r6, r0 + fa9a: 468a mov sl, r1 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - fa34: 4815 ldr r0, [pc, #84] ; (fa8c ) - fa36: 4b16 ldr r3, [pc, #88] ; (fa90 ) - fa38: 4798 blx r3 - fa3a: 1e04 subs r4, r0, #0 + fa9c: 4815 ldr r0, [pc, #84] ; (faf4 ) + fa9e: 4b16 ldr r3, [pc, #88] ; (faf8 ) + faa0: 4798 blx r3 + faa2: 1e04 subs r4, r0, #0 while(a != NULL) { - fa3c: d01e beq.n fa7c - fa3e: 2300 movs r3, #0 - fa40: 9301 str r3, [sp, #4] + faa4: d01e beq.n fae4 + faa6: 2300 movs r3, #0 + faa8: 9301 str r3, [sp, #4] a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - fa42: 4f14 ldr r7, [pc, #80] ; (fa94 ) - fa44: e00c b.n fa60 + faaa: 4f14 ldr r7, [pc, #80] ; (fafc ) + faac: e00c b.n fac8 _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); - fa46: 0021 movs r1, r4 - fa48: 4810 ldr r0, [pc, #64] ; (fa8c ) - fa4a: 4b13 ldr r3, [pc, #76] ; (fa98 ) - fa4c: 4798 blx r3 + faae: 0021 movs r1, r4 + fab0: 4810 ldr r0, [pc, #64] ; (faf4 ) + fab2: 4b13 ldr r3, [pc, #76] ; (fb00 ) + fab4: 4798 blx r3 lv_mem_free(a); - fa4e: 0020 movs r0, r4 - fa50: 4b12 ldr r3, [pc, #72] ; (fa9c ) - fa52: 4798 blx r3 + fab6: 0020 movs r0, r4 + fab8: 4b12 ldr r3, [pc, #72] ; (fb04 ) + faba: 4798 blx r3 anim_mark_list_change(); /*Read by `anim_task`. It need to know if a delete occurred in - fa54: 4b12 ldr r3, [pc, #72] ; (faa0 ) - fa56: 4798 blx r3 + fabc: 4b12 ldr r3, [pc, #72] ; (fb08 ) + fabe: 4798 blx r3 del = true; - fa58: 2301 movs r3, #1 - fa5a: 9301 str r3, [sp, #4] - fa5c: 1e2c subs r4, r5, #0 + fac0: 2301 movs r3, #1 + fac2: 9301 str r3, [sp, #4] + fac4: 1e2c subs r4, r5, #0 while(a != NULL) { - fa5e: d00f beq.n fa80 + fac6: d00f beq.n fae8 a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - fa60: 0021 movs r1, r4 - fa62: 480a ldr r0, [pc, #40] ; (fa8c ) - fa64: 47b8 blx r7 - fa66: 0005 movs r5, r0 + fac8: 0021 movs r1, r4 + faca: 480a ldr r0, [pc, #40] ; (faf4 ) + facc: 47b8 blx r7 + face: 0005 movs r5, r0 if(a->var == var && (a->exec_cb == exec_cb || exec_cb == NULL)) { - fa68: 6823 ldr r3, [r4, #0] - fa6a: 42b3 cmp r3, r6 - fa6c: d1f6 bne.n fa5c - fa6e: 6863 ldr r3, [r4, #4] - fa70: 4553 cmp r3, sl - fa72: d0e8 beq.n fa46 - fa74: 4653 mov r3, sl - fa76: 2b00 cmp r3, #0 - fa78: d1f0 bne.n fa5c - fa7a: e7e4 b.n fa46 + fad0: 6823 ldr r3, [r4, #0] + fad2: 42b3 cmp r3, r6 + fad4: d1f6 bne.n fac4 + fad6: 6863 ldr r3, [r4, #4] + fad8: 4553 cmp r3, sl + fada: d0e8 beq.n faae + fadc: 4653 mov r3, sl + fade: 2b00 cmp r3, #0 + fae0: d1f0 bne.n fac4 + fae2: e7e4 b.n faae bool del = false; - fa7c: 2300 movs r3, #0 - fa7e: 9301 str r3, [sp, #4] -} - fa80: 9801 ldr r0, [sp, #4] - fa82: b002 add sp, #8 - fa84: bc04 pop {r2} - fa86: 4692 mov sl, r2 - fa88: bdf0 pop {r4, r5, r6, r7, pc} - fa8a: 46c0 nop ; (mov r8, r8) - fa8c: 20004d88 .word 0x20004d88 - fa90: 00010605 .word 0x00010605 - fa94: 0001061d .word 0x0001061d - fa98: 000106ed .word 0x000106ed - fa9c: 00010ad1 .word 0x00010ad1 - faa0: 0000f77d .word 0x0000f77d - -0000faa4 : -{ - faa4: b570 push {r4, r5, r6, lr} - faa6: 0005 movs r5, r0 + fae4: 2300 movs r3, #0 + fae6: 9301 str r3, [sp, #4] +} + fae8: 9801 ldr r0, [sp, #4] + faea: b002 add sp, #8 + faec: bc04 pop {r2} + faee: 4692 mov sl, r2 + faf0: bdf0 pop {r4, r5, r6, r7, pc} + faf2: 46c0 nop ; (mov r8, r8) + faf4: 20004d88 .word 0x20004d88 + faf8: 0001066d .word 0x0001066d + fafc: 00010685 .word 0x00010685 + fb00: 00010755 .word 0x00010755 + fb04: 00010b39 .word 0x00010b39 + fb08: 0000f7e5 .word 0x0000f7e5 + +0000fb0c : +{ + fb0c: b570 push {r4, r5, r6, lr} + fb0e: 0005 movs r5, r0 if(a->exec_cb != NULL) lv_anim_del(a->var, a->exec_cb); /*fp == NULL would delete all animations of var*/ - faa8: 6841 ldr r1, [r0, #4] - faaa: 2900 cmp r1, #0 - faac: d002 beq.n fab4 - faae: 6800 ldr r0, [r0, #0] - fab0: 4b19 ldr r3, [pc, #100] ; (fb18 ) - fab2: 4798 blx r3 + fb10: 6841 ldr r1, [r0, #4] + fb12: 2900 cmp r1, #0 + fb14: d002 beq.n fb1c + fb16: 6800 ldr r0, [r0, #0] + fb18: 4b19 ldr r3, [pc, #100] ; (fb80 ) + fb1a: 4798 blx r3 if(_lv_ll_is_empty(&LV_GC_ROOT(_lv_anim_ll))) { - fab4: 4819 ldr r0, [pc, #100] ; (fb1c ) - fab6: 4b1a ldr r3, [pc, #104] ; (fb20 ) - fab8: 4798 blx r3 - faba: 2800 cmp r0, #0 - fabc: d120 bne.n fb00 + fb1c: 4819 ldr r0, [pc, #100] ; (fb84 ) + fb1e: 4b1a ldr r3, [pc, #104] ; (fb88 ) + fb20: 4798 blx r3 + fb22: 2800 cmp r0, #0 + fb24: d120 bne.n fb68 lv_anim_t * new_anim = _lv_ll_ins_head(&LV_GC_ROOT(_lv_anim_ll)); - fabe: 4817 ldr r0, [pc, #92] ; (fb1c ) - fac0: 4b18 ldr r3, [pc, #96] ; (fb24 ) - fac2: 4798 blx r3 - fac4: 0004 movs r4, r0 + fb26: 4817 ldr r0, [pc, #92] ; (fb84 ) + fb28: 4b18 ldr r3, [pc, #96] ; (fb8c ) + fb2a: 4798 blx r3 + fb2c: 0004 movs r4, r0 LV_ASSERT_MEM(new_anim); - fac6: 4b18 ldr r3, [pc, #96] ; (fb28 ) - fac8: 4798 blx r3 - faca: 2800 cmp r0, #0 - facc: d01e beq.n fb0c + fb2e: 4b18 ldr r3, [pc, #96] ; (fb90 ) + fb30: 4798 blx r3 + fb32: 2800 cmp r0, #0 + fb34: d01e beq.n fb74 if(new_anim == NULL) return; - face: 2c00 cmp r4, #0 - fad0: d015 beq.n fafe + fb36: 2c00 cmp r4, #0 + fb38: d015 beq.n fb66 a->time_orig = a->time; - fad2: 6a2b ldr r3, [r5, #32] - fad4: 63ab str r3, [r5, #56] ; 0x38 + fb3a: 6a2b ldr r3, [r5, #32] + fb3c: 63ab str r3, [r5, #56] ; 0x38 _lv_memcpy(new_anim, a, sizeof(lv_anim_t)); - fad6: 2240 movs r2, #64 ; 0x40 - fad8: 0029 movs r1, r5 - fada: 0020 movs r0, r4 - fadc: 4b13 ldr r3, [pc, #76] ; (fb2c ) - fade: 4798 blx r3 + fb3e: 2240 movs r2, #64 ; 0x40 + fb40: 0029 movs r1, r5 + fb42: 0020 movs r0, r4 + fb44: 4b13 ldr r3, [pc, #76] ; (fb94 ) + fb46: 4798 blx r3 if(new_anim->early_apply) { - fae0: 2336 movs r3, #54 ; 0x36 - fae2: 5ce3 ldrb r3, [r4, r3] - fae4: 07db lsls r3, r3, #31 - fae6: d508 bpl.n fafa + fb48: 2336 movs r3, #54 ; 0x36 + fb4a: 5ce3 ldrb r3, [r4, r3] + fb4c: 07db lsls r3, r3, #31 + fb4e: d508 bpl.n fb62 if(new_anim->exec_cb && new_anim->var) new_anim->exec_cb(new_anim->var, new_anim->start); - fae8: 6863 ldr r3, [r4, #4] - faea: 2b00 cmp r3, #0 - faec: d005 beq.n fafa - faee: 6820 ldr r0, [r4, #0] - faf0: 2800 cmp r0, #0 - faf2: d002 beq.n fafa - faf4: 2218 movs r2, #24 - faf6: 5ea1 ldrsh r1, [r4, r2] - faf8: 4798 blx r3 + fb50: 6863 ldr r3, [r4, #4] + fb52: 2b00 cmp r3, #0 + fb54: d005 beq.n fb62 + fb56: 6820 ldr r0, [r4, #0] + fb58: 2800 cmp r0, #0 + fb5a: d002 beq.n fb62 + fb5c: 2218 movs r2, #24 + fb5e: 5ea1 ldrsh r1, [r4, r2] + fb60: 4798 blx r3 anim_mark_list_change(); - fafa: 4b0d ldr r3, [pc, #52] ; (fb30 ) - fafc: 4798 blx r3 + fb62: 4b0d ldr r3, [pc, #52] ; (fb98 ) + fb64: 4798 blx r3 } - fafe: bd70 pop {r4, r5, r6, pc} + fb66: bd70 pop {r4, r5, r6, pc} last_task_run = lv_tick_get() - 1; - fb00: 4b0c ldr r3, [pc, #48] ; (fb34 ) - fb02: 4798 blx r3 - fb04: 3801 subs r0, #1 - fb06: 4b0c ldr r3, [pc, #48] ; (fb38 ) - fb08: 6018 str r0, [r3, #0] - fb0a: e7d8 b.n fabe + fb68: 4b0c ldr r3, [pc, #48] ; (fb9c ) + fb6a: 4798 blx r3 + fb6c: 3801 subs r0, #1 + fb6e: 4b0c ldr r3, [pc, #48] ; (fba0 ) + fb70: 6018 str r0, [r3, #0] + fb72: e7d8 b.n fb26 LV_ASSERT_MEM(new_anim); - fb0c: 0022 movs r2, r4 - fb0e: 2300 movs r3, #0 - fb10: 480a ldr r0, [pc, #40] ; (fb3c ) - fb12: 490b ldr r1, [pc, #44] ; (fb40 ) - fb14: 4788 blx r1 - fb16: e7fe b.n fb16 - fb18: 0000fa29 .word 0x0000fa29 - fb1c: 20004d88 .word 0x20004d88 - fb20: 000108ad .word 0x000108ad - fb24: 00010565 .word 0x00010565 - fb28: 00001415 .word 0x00001415 - fb2c: 00010c25 .word 0x00010c25 - fb30: 0000f77d .word 0x0000f77d - fb34: 0000f725 .word 0x0000f725 - fb38: 20002be4 .word 0x20002be4 - fb3c: 00018804 .word 0x00018804 - fb40: 0000141d .word 0x0000141d - -0000fb44 : + fb74: 0022 movs r2, r4 + fb76: 2300 movs r3, #0 + fb78: 480a ldr r0, [pc, #40] ; (fba4 ) + fb7a: 490b ldr r1, [pc, #44] ; (fba8 ) + fb7c: 4788 blx r1 + fb7e: e7fe b.n fb7e + fb80: 0000fa91 .word 0x0000fa91 + fb84: 20004d88 .word 0x20004d88 + fb88: 00010915 .word 0x00010915 + fb8c: 000105cd .word 0x000105cd + fb90: 0000147d .word 0x0000147d + fb94: 00010c8d .word 0x00010c8d + fb98: 0000f7e5 .word 0x0000f7e5 + fb9c: 0000f78d .word 0x0000f78d + fba0: 20002be4 .word 0x20002be4 + fba4: 00018894 .word 0x00018894 + fba8: 00001485 .word 0x00001485 + +0000fbac : /********************** * STATIC FUNCTIONS **********************/ static bool lv_point_within_circle(const lv_area_t * area, const lv_point_t * p) { - fb44: b570 push {r4, r5, r6, lr} + fbac: b570 push {r4, r5, r6, lr} lv_coord_t r = (area->x2 - area->x1) / 2; - fb46: 2300 movs r3, #0 - fb48: 5ec6 ldrsh r6, [r0, r3] - fb4a: 2304 movs r3, #4 - fb4c: 5ec2 ldrsh r2, [r0, r3] - fb4e: 1b92 subs r2, r2, r6 - fb50: 0fd4 lsrs r4, r2, #31 - fb52: 18a4 adds r4, r4, r2 - fb54: 1064 asrs r4, r4, #1 + fbae: 2300 movs r3, #0 + fbb0: 5ec6 ldrsh r6, [r0, r3] + fbb2: 2304 movs r3, #4 + fbb4: 5ec2 ldrsh r2, [r0, r3] + fbb6: 1b92 subs r2, r2, r6 + fbb8: 0fd4 lsrs r4, r2, #31 + fbba: 18a4 adds r4, r4, r2 + fbbc: 1064 asrs r4, r4, #1 /* Circle center */ lv_coord_t cx = area->x1 + r; - fb56: b2a5 uxth r5, r4 + fbbe: b2a5 uxth r5, r4 /*Simplify the code by moving everything to (0, 0) */ lv_coord_t px = p->x - cx; lv_coord_t py = p->y - cy; int32_t r_sqrd = r * r; - fb58: b224 sxth r4, r4 + fbc0: b224 sxth r4, r4 lv_coord_t px = p->x - cx; - fb5a: 880b ldrh r3, [r1, #0] - fb5c: 1b9b subs r3, r3, r6 - fb5e: 1b5b subs r3, r3, r5 + fbc2: 880b ldrh r3, [r1, #0] + fbc4: 1b9b subs r3, r3, r6 + fbc6: 1b5b subs r3, r3, r5 int32_t dist = (px * px) + (py * py); - fb60: b21b sxth r3, r3 + fbc8: b21b sxth r3, r3 lv_coord_t py = p->y - cy; - fb62: 884a ldrh r2, [r1, #2] - fb64: 8841 ldrh r1, [r0, #2] - fb66: 1a52 subs r2, r2, r1 - fb68: 1b52 subs r2, r2, r5 + fbca: 884a ldrh r2, [r1, #2] + fbcc: 8841 ldrh r1, [r0, #2] + fbce: 1a52 subs r2, r2, r1 + fbd0: 1b52 subs r2, r2, r5 int32_t dist = (px * px) + (py * py); - fb6a: b212 sxth r2, r2 + fbd2: b212 sxth r2, r2 int32_t r_sqrd = r * r; - fb6c: 4364 muls r4, r4 + fbd4: 4364 muls r4, r4 int32_t dist = (px * px) + (py * py); - fb6e: 435b muls r3, r3 - fb70: 4352 muls r2, r2 - fb72: 189b adds r3, r3, r2 + fbd6: 435b muls r3, r3 + fbd8: 4352 muls r2, r2 + fbda: 189b adds r3, r3, r2 if(dist <= r_sqrd) - fb74: 17e0 asrs r0, r4, #31 - fb76: 0fda lsrs r2, r3, #31 - fb78: 429c cmp r4, r3 - fb7a: 4150 adcs r0, r2 - fb7c: b2c0 uxtb r0, r0 + fbdc: 17e0 asrs r0, r4, #31 + fbde: 0fda lsrs r2, r3, #31 + fbe0: 429c cmp r4, r3 + fbe2: 4150 adcs r0, r2 + fbe4: b2c0 uxtb r0, r0 return true; else return false; } - fb7e: bd70 pop {r4, r5, r6, pc} + fbe6: bd70 pop {r4, r5, r6, pc} -0000fb80 : +0000fbe8 : area_p->y2 = area_p->y1 + h - 1; - fb80: 1e4b subs r3, r1, #1 - fb82: 8841 ldrh r1, [r0, #2] - fb84: 18c9 adds r1, r1, r3 - fb86: 80c1 strh r1, [r0, #6] + fbe8: 1e4b subs r3, r1, #1 + fbea: 8841 ldrh r1, [r0, #2] + fbec: 18c9 adds r1, r1, r3 + fbee: 80c1 strh r1, [r0, #6] } - fb88: 4770 bx lr + fbf0: 4770 bx lr -0000fb8a : +0000fbf2 : size = (uint32_t)(area_p->x2 - area_p->x1 + 1) * (area_p->y2 - area_p->y1 + 1); - fb8a: 2304 movs r3, #4 - fb8c: 5ec2 ldrsh r2, [r0, r3] - fb8e: 2100 movs r1, #0 - fb90: 5e43 ldrsh r3, [r0, r1] - fb92: 1ad2 subs r2, r2, r3 - fb94: 3201 adds r2, #1 - fb96: 2106 movs r1, #6 - fb98: 5e43 ldrsh r3, [r0, r1] - fb9a: 2102 movs r1, #2 - fb9c: 5e40 ldrsh r0, [r0, r1] - fb9e: 1a18 subs r0, r3, r0 - fba0: 3001 adds r0, #1 - fba2: 4350 muls r0, r2 -} - fba4: 4770 bx lr - -0000fba6 <_lv_area_intersect>: -{ - fba6: b5f0 push {r4, r5, r6, r7, lr} - fba8: 46c6 mov lr, r8 - fbaa: b500 push {lr} + fbf2: 2304 movs r3, #4 + fbf4: 5ec2 ldrsh r2, [r0, r3] + fbf6: 2100 movs r1, #0 + fbf8: 5e43 ldrsh r3, [r0, r1] + fbfa: 1ad2 subs r2, r2, r3 + fbfc: 3201 adds r2, #1 + fbfe: 2106 movs r1, #6 + fc00: 5e43 ldrsh r3, [r0, r1] + fc02: 2102 movs r1, #2 + fc04: 5e40 ldrsh r0, [r0, r1] + fc06: 1a18 subs r0, r3, r0 + fc08: 3001 adds r0, #1 + fc0a: 4350 muls r0, r2 +} + fc0c: 4770 bx lr + +0000fc0e <_lv_area_intersect>: +{ + fc0e: b5f0 push {r4, r5, r6, r7, lr} + fc10: 46c6 mov lr, r8 + fc12: b500 push {lr} res_p->x1 = LV_MATH_MAX(a1_p->x1, a2_p->x1); - fbac: 880d ldrh r5, [r1, #0] - fbae: 8813 ldrh r3, [r2, #0] - fbb0: 1c1c adds r4, r3, #0 - fbb2: b21b sxth r3, r3 - fbb4: b22e sxth r6, r5 - fbb6: 42b3 cmp r3, r6 - fbb8: da00 bge.n fbbc <_lv_area_intersect+0x16> - fbba: 1c2c adds r4, r5, #0 - fbbc: b226 sxth r6, r4 - fbbe: 8004 strh r4, [r0, #0] + fc14: 880d ldrh r5, [r1, #0] + fc16: 8813 ldrh r3, [r2, #0] + fc18: 1c1c adds r4, r3, #0 + fc1a: b21b sxth r3, r3 + fc1c: b22e sxth r6, r5 + fc1e: 42b3 cmp r3, r6 + fc20: da00 bge.n fc24 <_lv_area_intersect+0x16> + fc22: 1c2c adds r4, r5, #0 + fc24: b226 sxth r6, r4 + fc26: 8004 strh r4, [r0, #0] res_p->y1 = LV_MATH_MAX(a1_p->y1, a2_p->y1); - fbc0: 884d ldrh r5, [r1, #2] - fbc2: 8853 ldrh r3, [r2, #2] - fbc4: 1c1c adds r4, r3, #0 - fbc6: b21b sxth r3, r3 - fbc8: b22f sxth r7, r5 - fbca: 42bb cmp r3, r7 - fbcc: da00 bge.n fbd0 <_lv_area_intersect+0x2a> - fbce: 1c2c adds r4, r5, #0 - fbd0: b227 sxth r7, r4 - fbd2: 8044 strh r4, [r0, #2] + fc28: 884d ldrh r5, [r1, #2] + fc2a: 8853 ldrh r3, [r2, #2] + fc2c: 1c1c adds r4, r3, #0 + fc2e: b21b sxth r3, r3 + fc30: b22f sxth r7, r5 + fc32: 42bb cmp r3, r7 + fc34: da00 bge.n fc38 <_lv_area_intersect+0x2a> + fc36: 1c2c adds r4, r5, #0 + fc38: b227 sxth r7, r4 + fc3a: 8044 strh r4, [r0, #2] res_p->x2 = LV_MATH_MIN(a1_p->x2, a2_p->x2); - fbd4: 888d ldrh r5, [r1, #4] - fbd6: 8893 ldrh r3, [r2, #4] - fbd8: 1c1c adds r4, r3, #0 - fbda: b21b sxth r3, r3 - fbdc: 4698 mov r8, r3 - fbde: b22b sxth r3, r5 - fbe0: 4598 cmp r8, r3 - fbe2: dd00 ble.n fbe6 <_lv_area_intersect+0x40> - fbe4: 1c2c adds r4, r5, #0 - fbe6: b225 sxth r5, r4 - fbe8: 8084 strh r4, [r0, #4] + fc3c: 888d ldrh r5, [r1, #4] + fc3e: 8893 ldrh r3, [r2, #4] + fc40: 1c1c adds r4, r3, #0 + fc42: b21b sxth r3, r3 + fc44: 4698 mov r8, r3 + fc46: b22b sxth r3, r5 + fc48: 4598 cmp r8, r3 + fc4a: dd00 ble.n fc4e <_lv_area_intersect+0x40> + fc4c: 1c2c adds r4, r5, #0 + fc4e: b225 sxth r5, r4 + fc50: 8084 strh r4, [r0, #4] res_p->y2 = LV_MATH_MIN(a1_p->y2, a2_p->y2); - fbea: 88c9 ldrh r1, [r1, #6] - fbec: 88d3 ldrh r3, [r2, #6] - fbee: 1c1a adds r2, r3, #0 - fbf0: b21b sxth r3, r3 - fbf2: b20c sxth r4, r1 - fbf4: 42a3 cmp r3, r4 - fbf6: dd00 ble.n fbfa <_lv_area_intersect+0x54> - fbf8: 1c0a adds r2, r1, #0 - fbfa: b213 sxth r3, r2 - fbfc: 80c2 strh r2, [r0, #6] + fc52: 88c9 ldrh r1, [r1, #6] + fc54: 88d3 ldrh r3, [r2, #6] + fc56: 1c1a adds r2, r3, #0 + fc58: b21b sxth r3, r3 + fc5a: b20c sxth r4, r1 + fc5c: 42a3 cmp r3, r4 + fc5e: dd00 ble.n fc62 <_lv_area_intersect+0x54> + fc60: 1c0a adds r2, r1, #0 + fc62: b213 sxth r3, r2 + fc64: 80c2 strh r2, [r0, #6] union_ok = false; - fbfe: 2000 movs r0, #0 + fc66: 2000 movs r0, #0 if((res_p->x1 > res_p->x2) || (res_p->y1 > res_p->y2)) { - fc00: 42ae cmp r6, r5 - fc02: dc04 bgt.n fc0e <_lv_area_intersect+0x68> - fc04: 0ff8 lsrs r0, r7, #31 - fc06: 17da asrs r2, r3, #31 - fc08: 42bb cmp r3, r7 - fc0a: 4150 adcs r0, r2 - fc0c: b2c0 uxtb r0, r0 + fc68: 42ae cmp r6, r5 + fc6a: dc04 bgt.n fc76 <_lv_area_intersect+0x68> + fc6c: 0ff8 lsrs r0, r7, #31 + fc6e: 17da asrs r2, r3, #31 + fc70: 42bb cmp r3, r7 + fc72: 4150 adcs r0, r2 + fc74: b2c0 uxtb r0, r0 } - fc0e: bc04 pop {r2} - fc10: 4690 mov r8, r2 - fc12: bdf0 pop {r4, r5, r6, r7, pc} + fc76: bc04 pop {r2} + fc78: 4690 mov r8, r2 + fc7a: bdf0 pop {r4, r5, r6, r7, pc} -0000fc14 <_lv_area_join>: +0000fc7c <_lv_area_join>: { - fc14: b570 push {r4, r5, r6, lr} + fc7c: b570 push {r4, r5, r6, lr} a_res_p->x1 = LV_MATH_MIN(a1_p->x1, a2_p->x1); - fc16: 880d ldrh r5, [r1, #0] - fc18: 8813 ldrh r3, [r2, #0] - fc1a: 1c1c adds r4, r3, #0 - fc1c: b21b sxth r3, r3 - fc1e: b22e sxth r6, r5 - fc20: 42b3 cmp r3, r6 - fc22: dd00 ble.n fc26 <_lv_area_join+0x12> - fc24: 1c2c adds r4, r5, #0 - fc26: 8004 strh r4, [r0, #0] + fc7e: 880d ldrh r5, [r1, #0] + fc80: 8813 ldrh r3, [r2, #0] + fc82: 1c1c adds r4, r3, #0 + fc84: b21b sxth r3, r3 + fc86: b22e sxth r6, r5 + fc88: 42b3 cmp r3, r6 + fc8a: dd00 ble.n fc8e <_lv_area_join+0x12> + fc8c: 1c2c adds r4, r5, #0 + fc8e: 8004 strh r4, [r0, #0] a_res_p->y1 = LV_MATH_MIN(a1_p->y1, a2_p->y1); - fc28: 884d ldrh r5, [r1, #2] - fc2a: 8853 ldrh r3, [r2, #2] - fc2c: 1c1c adds r4, r3, #0 - fc2e: b21b sxth r3, r3 - fc30: b22e sxth r6, r5 - fc32: 42b3 cmp r3, r6 - fc34: dd00 ble.n fc38 <_lv_area_join+0x24> - fc36: 1c2c adds r4, r5, #0 - fc38: 8044 strh r4, [r0, #2] + fc90: 884d ldrh r5, [r1, #2] + fc92: 8853 ldrh r3, [r2, #2] + fc94: 1c1c adds r4, r3, #0 + fc96: b21b sxth r3, r3 + fc98: b22e sxth r6, r5 + fc9a: 42b3 cmp r3, r6 + fc9c: dd00 ble.n fca0 <_lv_area_join+0x24> + fc9e: 1c2c adds r4, r5, #0 + fca0: 8044 strh r4, [r0, #2] a_res_p->x2 = LV_MATH_MAX(a1_p->x2, a2_p->x2); - fc3a: 888d ldrh r5, [r1, #4] - fc3c: 8893 ldrh r3, [r2, #4] - fc3e: 1c1c adds r4, r3, #0 - fc40: b21b sxth r3, r3 - fc42: b22e sxth r6, r5 - fc44: 42b3 cmp r3, r6 - fc46: da00 bge.n fc4a <_lv_area_join+0x36> - fc48: 1c2c adds r4, r5, #0 - fc4a: 8084 strh r4, [r0, #4] + fca2: 888d ldrh r5, [r1, #4] + fca4: 8893 ldrh r3, [r2, #4] + fca6: 1c1c adds r4, r3, #0 + fca8: b21b sxth r3, r3 + fcaa: b22e sxth r6, r5 + fcac: 42b3 cmp r3, r6 + fcae: da00 bge.n fcb2 <_lv_area_join+0x36> + fcb0: 1c2c adds r4, r5, #0 + fcb2: 8084 strh r4, [r0, #4] a_res_p->y2 = LV_MATH_MAX(a1_p->y2, a2_p->y2); - fc4c: 88c9 ldrh r1, [r1, #6] - fc4e: 88d3 ldrh r3, [r2, #6] - fc50: 1c1a adds r2, r3, #0 - fc52: b21b sxth r3, r3 - fc54: b20c sxth r4, r1 - fc56: 42a3 cmp r3, r4 - fc58: da00 bge.n fc5c <_lv_area_join+0x48> - fc5a: 1c0a adds r2, r1, #0 - fc5c: 80c2 strh r2, [r0, #6] -} - fc5e: bd70 pop {r4, r5, r6, pc} - -0000fc60 <_lv_area_is_point_on>: -{ - fc60: b5f0 push {r4, r5, r6, r7, lr} - fc62: 46de mov lr, fp - fc64: 4657 mov r7, sl - fc66: 464e mov r6, r9 - fc68: 4645 mov r5, r8 - fc6a: b5e0 push {r5, r6, r7, lr} - fc6c: b085 sub sp, #20 - fc6e: 000e movs r6, r1 + fcb4: 88c9 ldrh r1, [r1, #6] + fcb6: 88d3 ldrh r3, [r2, #6] + fcb8: 1c1a adds r2, r3, #0 + fcba: b21b sxth r3, r3 + fcbc: b20c sxth r4, r1 + fcbe: 42a3 cmp r3, r4 + fcc0: da00 bge.n fcc4 <_lv_area_join+0x48> + fcc2: 1c0a adds r2, r1, #0 + fcc4: 80c2 strh r2, [r0, #6] +} + fcc6: bd70 pop {r4, r5, r6, pc} + +0000fcc8 <_lv_area_is_point_on>: +{ + fcc8: b5f0 push {r4, r5, r6, r7, lr} + fcca: 46de mov lr, fp + fccc: 4657 mov r7, sl + fcce: 464e mov r6, r9 + fcd0: 4645 mov r5, r8 + fcd2: b5e0 push {r5, r6, r7, lr} + fcd4: b085 sub sp, #20 + fcd6: 000e movs r6, r1 if((p_p->x >= a_p->x1 && p_p->x <= a_p->x2) && ((p_p->y >= a_p->y1 && p_p->y <= a_p->y2))) { - fc70: 2300 movs r3, #0 - fc72: 5ecc ldrsh r4, [r1, r3] - fc74: 2300 movs r3, #0 - fc76: 5ec1 ldrsh r1, [r0, r3] + fcd8: 2300 movs r3, #0 + fcda: 5ecc ldrsh r4, [r1, r3] + fcdc: 2300 movs r3, #0 + fcde: 5ec1 ldrsh r1, [r0, r3] return false; - fc78: 2300 movs r3, #0 + fce0: 2300 movs r3, #0 if((p_p->x >= a_p->x1 && p_p->x <= a_p->x2) && ((p_p->y >= a_p->y1 && p_p->y <= a_p->y2))) { - fc7a: 428c cmp r4, r1 - fc7c: db5e blt.n fd3c <_lv_area_is_point_on+0xdc> - fc7e: 2504 movs r5, #4 - fc80: 5f43 ldrsh r3, [r0, r5] - fc82: 4698 mov r8, r3 + fce2: 428c cmp r4, r1 + fce4: db5e blt.n fda4 <_lv_area_is_point_on+0xdc> + fce6: 2504 movs r5, #4 + fce8: 5f43 ldrsh r3, [r0, r5] + fcea: 4698 mov r8, r3 return false; - fc84: 2300 movs r3, #0 + fcec: 2300 movs r3, #0 if((p_p->x >= a_p->x1 && p_p->x <= a_p->x2) && ((p_p->y >= a_p->y1 && p_p->y <= a_p->y2))) { - fc86: 4544 cmp r4, r8 - fc88: dc58 bgt.n fd3c <_lv_area_is_point_on+0xdc> - fc8a: 2302 movs r3, #2 - fc8c: 5ef4 ldrsh r4, [r6, r3] - fc8e: 2502 movs r5, #2 - fc90: 5f43 ldrsh r3, [r0, r5] - fc92: 469a mov sl, r3 + fcee: 4544 cmp r4, r8 + fcf0: dc58 bgt.n fda4 <_lv_area_is_point_on+0xdc> + fcf2: 2302 movs r3, #2 + fcf4: 5ef4 ldrsh r4, [r6, r3] + fcf6: 2502 movs r5, #2 + fcf8: 5f43 ldrsh r3, [r0, r5] + fcfa: 469a mov sl, r3 return false; - fc94: 2300 movs r3, #0 + fcfc: 2300 movs r3, #0 if((p_p->x >= a_p->x1 && p_p->x <= a_p->x2) && ((p_p->y >= a_p->y1 && p_p->y <= a_p->y2))) { - fc96: 4554 cmp r4, sl - fc98: db50 blt.n fd3c <_lv_area_is_point_on+0xdc> - fc9a: 2306 movs r3, #6 - fc9c: 5ec3 ldrsh r3, [r0, r3] - fc9e: 001d movs r5, r3 - fca0: 9301 str r3, [sp, #4] + fcfe: 4554 cmp r4, sl + fd00: db50 blt.n fda4 <_lv_area_is_point_on+0xdc> + fd02: 2306 movs r3, #6 + fd04: 5ec3 ldrsh r3, [r0, r3] + fd06: 001d movs r5, r3 + fd08: 9301 str r3, [sp, #4] return false; - fca2: 2300 movs r3, #0 + fd0a: 2300 movs r3, #0 if(!is_on_rect) - fca4: 42ac cmp r4, r5 - fca6: dc49 bgt.n fd3c <_lv_area_is_point_on+0xdc> + fd0c: 42ac cmp r4, r5 + fd0e: dc49 bgt.n fda4 <_lv_area_is_point_on+0xdc> if(radius <= 0) { - fca8: 2a00 cmp r2, #0 - fcaa: dc00 bgt.n fcae <_lv_area_is_point_on+0x4e> - fcac: e09b b.n fde6 <_lv_area_is_point_on+0x186> + fd10: 2a00 cmp r2, #0 + fd12: dc00 bgt.n fd16 <_lv_area_is_point_on+0x4e> + fd14: e09b b.n fe4e <_lv_area_is_point_on+0x186> * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - fcae: 4643 mov r3, r8 - fcb0: 4668 mov r0, sp - fcb2: 8003 strh r3, [r0, #0] - fcb4: 8803 ldrh r3, [r0, #0] - fcb6: 4699 mov r9, r3 - fcb8: b28c uxth r4, r1 + fd16: 4643 mov r3, r8 + fd18: 4668 mov r0, sp + fd1a: 8003 strh r3, [r0, #0] + fd1c: 8803 ldrh r3, [r0, #0] + fd1e: 4699 mov r9, r3 + fd20: b28c uxth r4, r1 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - fcba: b2af uxth r7, r5 - fcbc: 4653 mov r3, sl - fcbe: 8003 strh r3, [r0, #0] - fcc0: 8800 ldrh r0, [r0, #0] + fd22: b2af uxth r7, r5 + fd24: 4653 mov r3, sl + fd26: 8003 strh r3, [r0, #0] + fd28: 8800 ldrh r0, [r0, #0] corner_area.x1 = a_p->x1; - fcc2: ab02 add r3, sp, #8 - fcc4: 8019 strh r1, [r3, #0] + fd2a: ab02 add r3, sp, #8 + fd2c: 8019 strh r1, [r3, #0] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - fcc6: 464b mov r3, r9 - fcc8: 3301 adds r3, #1 - fcca: 1b1b subs r3, r3, r4 + fd2e: 464b mov r3, r9 + fd30: 3301 adds r3, #1 + fd32: 1b1b subs r3, r3, r4 lv_coord_t w = lv_area_get_width(a_p) / 2; - fccc: b21b sxth r3, r3 - fcce: 0fd9 lsrs r1, r3, #31 - fcd0: 18cb adds r3, r1, r3 - fcd2: 105b asrs r3, r3, #1 + fd34: b21b sxth r3, r3 + fd36: 0fd9 lsrs r1, r3, #31 + fd38: 18cb adds r3, r1, r3 + fd3a: 105b asrs r3, r3, #1 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - fcd4: 1c79 adds r1, r7, #1 - fcd6: 1a09 subs r1, r1, r0 + fd3c: 1c79 adds r1, r7, #1 + fd3e: 1a09 subs r1, r1, r0 lv_coord_t h = lv_area_get_height(a_p) / 2; - fcd8: b209 sxth r1, r1 - fcda: 0fcd lsrs r5, r1, #31 - fcdc: 186d adds r5, r5, r1 - fcde: 106d asrs r5, r5, #1 + fd40: b209 sxth r1, r1 + fd42: 0fcd lsrs r5, r1, #31 + fd44: 186d adds r5, r5, r1 + fd46: 106d asrs r5, r5, #1 lv_coord_t max_radius = LV_MATH_MIN(w, h); - fce0: 1c19 adds r1, r3, #0 - fce2: b21b sxth r3, r3 - fce4: 42ab cmp r3, r5 - fce6: dd00 ble.n fcea <_lv_area_is_point_on+0x8a> - fce8: 1c29 adds r1, r5, #0 + fd48: 1c19 adds r1, r3, #0 + fd4a: b21b sxth r3, r3 + fd4c: 42ab cmp r3, r5 + fd4e: dd00 ble.n fd52 <_lv_area_is_point_on+0x8a> + fd50: 1c29 adds r1, r5, #0 corner_area.x2 = a_p->x1 + radius; - fcea: 1c0d adds r5, r1, #0 - fcec: b209 sxth r1, r1 - fcee: 4291 cmp r1, r2 - fcf0: dd00 ble.n fcf4 <_lv_area_is_point_on+0x94> - fcf2: 1c15 adds r5, r2, #0 - fcf4: b2ad uxth r5, r5 - fcf6: 192c adds r4, r5, r4 - fcf8: b2a4 uxth r4, r4 - fcfa: ab02 add r3, sp, #8 - fcfc: 809c strh r4, [r3, #4] + fd52: 1c0d adds r5, r1, #0 + fd54: b209 sxth r1, r1 + fd56: 4291 cmp r1, r2 + fd58: dd00 ble.n fd5c <_lv_area_is_point_on+0x94> + fd5a: 1c15 adds r5, r2, #0 + fd5c: b2ad uxth r5, r5 + fd5e: 192c adds r4, r5, r4 + fd60: b2a4 uxth r4, r4 + fd62: ab02 add r3, sp, #8 + fd64: 809c strh r4, [r3, #4] corner_area.y1 = a_p->y1; - fcfe: 4652 mov r2, sl - fd00: 805a strh r2, [r3, #2] + fd66: 4652 mov r2, sl + fd68: 805a strh r2, [r3, #2] corner_area.y2 = a_p->y1 + radius; - fd02: 1828 adds r0, r5, r0 - fd04: b283 uxth r3, r0 - fd06: 9300 str r3, [sp, #0] - fd08: 466b mov r3, sp - fd0a: 2100 movs r1, #0 - fd0c: 5e5a ldrsh r2, [r3, r1] - fd0e: 4693 mov fp, r2 - fd10: aa02 add r2, sp, #8 - fd12: 4659 mov r1, fp - fd14: 80d1 strh r1, [r2, #6] + fd6a: 1828 adds r0, r5, r0 + fd6c: b283 uxth r3, r0 + fd6e: 9300 str r3, [sp, #0] + fd70: 466b mov r3, sp + fd72: 2100 movs r1, #0 + fd74: 5e5a ldrsh r2, [r3, r1] + fd76: 4693 mov fp, r2 + fd78: aa02 add r2, sp, #8 + fd7a: 4659 mov r1, fp + fd7c: 80d1 strh r1, [r2, #6] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - fd16: 2200 movs r2, #0 - fd18: 0031 movs r1, r6 - fd1a: a802 add r0, sp, #8 - fd1c: f7ff ffa0 bl fc60 <_lv_area_is_point_on> - fd20: 2800 cmp r0, #0 - fd22: d013 beq.n fd4c <_lv_area_is_point_on+0xec> + fd7e: 2200 movs r2, #0 + fd80: 0031 movs r1, r6 + fd82: a802 add r0, sp, #8 + fd84: f7ff ffa0 bl fcc8 <_lv_area_is_point_on> + fd88: 2800 cmp r0, #0 + fd8a: d013 beq.n fdb4 <_lv_area_is_point_on+0xec> corner_area.x2 += radius; - fd24: 192c adds r4, r5, r4 - fd26: aa02 add r2, sp, #8 - fd28: 8094 strh r4, [r2, #4] + fd8c: 192c adds r4, r5, r4 + fd8e: aa02 add r2, sp, #8 + fd90: 8094 strh r4, [r2, #4] corner_area.y2 += radius; - fd2a: 9b00 ldr r3, [sp, #0] - fd2c: 469c mov ip, r3 - fd2e: 4465 add r5, ip - fd30: 80d5 strh r5, [r2, #6] + fd92: 9b00 ldr r3, [sp, #0] + fd94: 469c mov ip, r3 + fd96: 4465 add r5, ip + fd98: 80d5 strh r5, [r2, #6] return lv_point_within_circle(&corner_area, p_p); - fd32: 0031 movs r1, r6 - fd34: 0010 movs r0, r2 - fd36: 4b2d ldr r3, [pc, #180] ; (fdec <_lv_area_is_point_on+0x18c>) - fd38: 4798 blx r3 - fd3a: 0003 movs r3, r0 -} - fd3c: 0018 movs r0, r3 - fd3e: b005 add sp, #20 - fd40: bc3c pop {r2, r3, r4, r5} - fd42: 4690 mov r8, r2 - fd44: 4699 mov r9, r3 - fd46: 46a2 mov sl, r4 - fd48: 46ab mov fp, r5 - fd4a: bdf0 pop {r4, r5, r6, r7, pc} + fd9a: 0031 movs r1, r6 + fd9c: 0010 movs r0, r2 + fd9e: 4b2d ldr r3, [pc, #180] ; (fe54 <_lv_area_is_point_on+0x18c>) + fda0: 4798 blx r3 + fda2: 0003 movs r3, r0 +} + fda4: 0018 movs r0, r3 + fda6: b005 add sp, #20 + fda8: bc3c pop {r2, r3, r4, r5} + fdaa: 4690 mov r8, r2 + fdac: 4699 mov r9, r3 + fdae: 46a2 mov sl, r4 + fdb0: 46ab mov fp, r5 + fdb2: bdf0 pop {r4, r5, r6, r7, pc} corner_area.y1 = a_p->y2 - radius; - fd4c: 1b7f subs r7, r7, r5 - fd4e: b2bf uxth r7, r7 - fd50: ab02 add r3, sp, #8 - fd52: 805f strh r7, [r3, #2] + fdb4: 1b7f subs r7, r7, r5 + fdb6: b2bf uxth r7, r7 + fdb8: ab02 add r3, sp, #8 + fdba: 805f strh r7, [r3, #2] corner_area.y2 = a_p->y2; - fd54: 466a mov r2, sp - fd56: 8892 ldrh r2, [r2, #4] - fd58: 80da strh r2, [r3, #6] + fdbc: 466a mov r2, sp + fdbe: 8892 ldrh r2, [r2, #4] + fdc0: 80da strh r2, [r3, #6] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - fd5a: 2200 movs r2, #0 - fd5c: 0031 movs r1, r6 - fd5e: 0018 movs r0, r3 - fd60: f7ff ff7e bl fc60 <_lv_area_is_point_on> - fd64: 2800 cmp r0, #0 - fd66: d00a beq.n fd7e <_lv_area_is_point_on+0x11e> + fdc2: 2200 movs r2, #0 + fdc4: 0031 movs r1, r6 + fdc6: 0018 movs r0, r3 + fdc8: f7ff ff7e bl fcc8 <_lv_area_is_point_on> + fdcc: 2800 cmp r0, #0 + fdce: d00a beq.n fde6 <_lv_area_is_point_on+0x11e> corner_area.x2 += radius; - fd68: 192c adds r4, r5, r4 - fd6a: ab02 add r3, sp, #8 - fd6c: 809c strh r4, [r3, #4] + fdd0: 192c adds r4, r5, r4 + fdd2: ab02 add r3, sp, #8 + fdd4: 809c strh r4, [r3, #4] corner_area.y1 -= radius; - fd6e: 1b7d subs r5, r7, r5 - fd70: 805d strh r5, [r3, #2] + fdd6: 1b7d subs r5, r7, r5 + fdd8: 805d strh r5, [r3, #2] return lv_point_within_circle(&corner_area, p_p); - fd72: 0031 movs r1, r6 - fd74: 0018 movs r0, r3 - fd76: 4b1d ldr r3, [pc, #116] ; (fdec <_lv_area_is_point_on+0x18c>) - fd78: 4798 blx r3 - fd7a: 0003 movs r3, r0 - fd7c: e7de b.n fd3c <_lv_area_is_point_on+0xdc> + fdda: 0031 movs r1, r6 + fddc: 0018 movs r0, r3 + fdde: 4b1d ldr r3, [pc, #116] ; (fe54 <_lv_area_is_point_on+0x18c>) + fde0: 4798 blx r3 + fde2: 0003 movs r3, r0 + fde4: e7de b.n fda4 <_lv_area_is_point_on+0xdc> corner_area.x1 = a_p->x2 - radius; - fd7e: 464b mov r3, r9 - fd80: 1b5c subs r4, r3, r5 - fd82: b2a4 uxth r4, r4 - fd84: ab02 add r3, sp, #8 - fd86: 801c strh r4, [r3, #0] + fde6: 464b mov r3, r9 + fde8: 1b5c subs r4, r3, r5 + fdea: b2a4 uxth r4, r4 + fdec: ab02 add r3, sp, #8 + fdee: 801c strh r4, [r3, #0] corner_area.x2 = a_p->x2; - fd88: 4642 mov r2, r8 - fd8a: 809a strh r2, [r3, #4] + fdf0: 4642 mov r2, r8 + fdf2: 809a strh r2, [r3, #4] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - fd8c: 2200 movs r2, #0 - fd8e: 0031 movs r1, r6 - fd90: 0018 movs r0, r3 - fd92: f7ff ff65 bl fc60 <_lv_area_is_point_on> - fd96: 2800 cmp r0, #0 - fd98: d00a beq.n fdb0 <_lv_area_is_point_on+0x150> + fdf4: 2200 movs r2, #0 + fdf6: 0031 movs r1, r6 + fdf8: 0018 movs r0, r3 + fdfa: f7ff ff65 bl fcc8 <_lv_area_is_point_on> + fdfe: 2800 cmp r0, #0 + fe00: d00a beq.n fe18 <_lv_area_is_point_on+0x150> corner_area.x1 -= radius; - fd9a: 1b64 subs r4, r4, r5 - fd9c: ab02 add r3, sp, #8 - fd9e: 801c strh r4, [r3, #0] + fe02: 1b64 subs r4, r4, r5 + fe04: ab02 add r3, sp, #8 + fe06: 801c strh r4, [r3, #0] corner_area.y1 -= radius; - fda0: 1b7d subs r5, r7, r5 - fda2: 805d strh r5, [r3, #2] + fe08: 1b7d subs r5, r7, r5 + fe0a: 805d strh r5, [r3, #2] return lv_point_within_circle(&corner_area, p_p); - fda4: 0031 movs r1, r6 - fda6: 0018 movs r0, r3 - fda8: 4b10 ldr r3, [pc, #64] ; (fdec <_lv_area_is_point_on+0x18c>) - fdaa: 4798 blx r3 - fdac: 0003 movs r3, r0 - fdae: e7c5 b.n fd3c <_lv_area_is_point_on+0xdc> + fe0c: 0031 movs r1, r6 + fe0e: 0018 movs r0, r3 + fe10: 4b10 ldr r3, [pc, #64] ; (fe54 <_lv_area_is_point_on+0x18c>) + fe12: 4798 blx r3 + fe14: 0003 movs r3, r0 + fe16: e7c5 b.n fda4 <_lv_area_is_point_on+0xdc> corner_area.y1 = a_p->y1; - fdb0: ab02 add r3, sp, #8 - fdb2: 4652 mov r2, sl - fdb4: 805a strh r2, [r3, #2] + fe18: ab02 add r3, sp, #8 + fe1a: 4652 mov r2, sl + fe1c: 805a strh r2, [r3, #2] corner_area.y2 = a_p->y1 + radius; - fdb6: 465a mov r2, fp - fdb8: 80da strh r2, [r3, #6] + fe1e: 465a mov r2, fp + fe20: 80da strh r2, [r3, #6] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - fdba: 2200 movs r2, #0 - fdbc: 0031 movs r1, r6 - fdbe: 0018 movs r0, r3 - fdc0: f7ff ff4e bl fc60 <_lv_area_is_point_on> + fe22: 2200 movs r2, #0 + fe24: 0031 movs r1, r6 + fe26: 0018 movs r0, r3 + fe28: f7ff ff4e bl fcc8 <_lv_area_is_point_on> return true; - fdc4: 2301 movs r3, #1 + fe2c: 2301 movs r3, #1 if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - fdc6: 2800 cmp r0, #0 - fdc8: d0b8 beq.n fd3c <_lv_area_is_point_on+0xdc> + fe2e: 2800 cmp r0, #0 + fe30: d0b8 beq.n fda4 <_lv_area_is_point_on+0xdc> corner_area.x1 -= radius; - fdca: 1b64 subs r4, r4, r5 - fdcc: ab02 add r3, sp, #8 - fdce: 801c strh r4, [r3, #0] + fe32: 1b64 subs r4, r4, r5 + fe34: ab02 add r3, sp, #8 + fe36: 801c strh r4, [r3, #0] corner_area.y2 += radius; - fdd0: 9b00 ldr r3, [sp, #0] - fdd2: 469c mov ip, r3 - fdd4: 4465 add r5, ip - fdd6: ab02 add r3, sp, #8 - fdd8: 80dd strh r5, [r3, #6] + fe38: 9b00 ldr r3, [sp, #0] + fe3a: 469c mov ip, r3 + fe3c: 4465 add r5, ip + fe3e: ab02 add r3, sp, #8 + fe40: 80dd strh r5, [r3, #6] return lv_point_within_circle(&corner_area, p_p); - fdda: 0031 movs r1, r6 - fddc: 0018 movs r0, r3 - fdde: 4b03 ldr r3, [pc, #12] ; (fdec <_lv_area_is_point_on+0x18c>) - fde0: 4798 blx r3 - fde2: 0003 movs r3, r0 - fde4: e7aa b.n fd3c <_lv_area_is_point_on+0xdc> + fe42: 0031 movs r1, r6 + fe44: 0018 movs r0, r3 + fe46: 4b03 ldr r3, [pc, #12] ; (fe54 <_lv_area_is_point_on+0x18c>) + fe48: 4798 blx r3 + fe4a: 0003 movs r3, r0 + fe4c: e7aa b.n fda4 <_lv_area_is_point_on+0xdc> return true; - fde6: 2301 movs r3, #1 - fde8: e7a8 b.n fd3c <_lv_area_is_point_on+0xdc> - fdea: 46c0 nop ; (mov r8, r8) - fdec: 0000fb45 .word 0x0000fb45 + fe4e: 2301 movs r3, #1 + fe50: e7a8 b.n fda4 <_lv_area_is_point_on+0xdc> + fe52: 46c0 nop ; (mov r8, r8) + fe54: 0000fbad .word 0x0000fbad -0000fdf0 <_lv_area_is_on>: +0000fe58 <_lv_area_is_on>: { - fdf0: b510 push {r4, lr} + fe58: b510 push {r4, lr} if((a1_p->x1 <= a2_p->x2) && (a1_p->x2 >= a2_p->x1) && (a1_p->y1 <= a2_p->y2) && (a1_p->y2 >= a2_p->y1)) { - fdf2: 2300 movs r3, #0 - fdf4: 5ec4 ldrsh r4, [r0, r3] - fdf6: 2304 movs r3, #4 - fdf8: 5eca ldrsh r2, [r1, r3] + fe5a: 2300 movs r3, #0 + fe5c: 5ec4 ldrsh r4, [r0, r3] + fe5e: 2304 movs r3, #4 + fe60: 5eca ldrsh r2, [r1, r3] return false; - fdfa: 2300 movs r3, #0 + fe62: 2300 movs r3, #0 if((a1_p->x1 <= a2_p->x2) && (a1_p->x2 >= a2_p->x1) && (a1_p->y1 <= a2_p->y2) && (a1_p->y2 >= a2_p->y1)) { - fdfc: 4294 cmp r4, r2 - fdfe: dc16 bgt.n fe2e <_lv_area_is_on+0x3e> - fe00: 2304 movs r3, #4 - fe02: 5ec4 ldrsh r4, [r0, r3] - fe04: 2300 movs r3, #0 - fe06: 5eca ldrsh r2, [r1, r3] + fe64: 4294 cmp r4, r2 + fe66: dc16 bgt.n fe96 <_lv_area_is_on+0x3e> + fe68: 2304 movs r3, #4 + fe6a: 5ec4 ldrsh r4, [r0, r3] + fe6c: 2300 movs r3, #0 + fe6e: 5eca ldrsh r2, [r1, r3] return false; - fe08: 2300 movs r3, #0 + fe70: 2300 movs r3, #0 if((a1_p->x1 <= a2_p->x2) && (a1_p->x2 >= a2_p->x1) && (a1_p->y1 <= a2_p->y2) && (a1_p->y2 >= a2_p->y1)) { - fe0a: 4294 cmp r4, r2 - fe0c: db0f blt.n fe2e <_lv_area_is_on+0x3e> - fe0e: 2302 movs r3, #2 - fe10: 5ec4 ldrsh r4, [r0, r3] - fe12: 2306 movs r3, #6 - fe14: 5eca ldrsh r2, [r1, r3] + fe72: 4294 cmp r4, r2 + fe74: db0f blt.n fe96 <_lv_area_is_on+0x3e> + fe76: 2302 movs r3, #2 + fe78: 5ec4 ldrsh r4, [r0, r3] + fe7a: 2306 movs r3, #6 + fe7c: 5eca ldrsh r2, [r1, r3] return false; - fe16: 2300 movs r3, #0 + fe7e: 2300 movs r3, #0 if((a1_p->x1 <= a2_p->x2) && (a1_p->x2 >= a2_p->x1) && (a1_p->y1 <= a2_p->y2) && (a1_p->y2 >= a2_p->y1)) { - fe18: 4294 cmp r4, r2 - fe1a: dc08 bgt.n fe2e <_lv_area_is_on+0x3e> - fe1c: 2306 movs r3, #6 - fe1e: 5ec4 ldrsh r4, [r0, r3] - fe20: 2302 movs r3, #2 - fe22: 5eca ldrsh r2, [r1, r3] - fe24: 17e3 asrs r3, r4, #31 - fe26: 0fd0 lsrs r0, r2, #31 - fe28: 4294 cmp r4, r2 - fe2a: 4143 adcs r3, r0 - fe2c: b2db uxtb r3, r3 -} - fe2e: 0018 movs r0, r3 - fe30: bd10 pop {r4, pc} + fe80: 4294 cmp r4, r2 + fe82: dc08 bgt.n fe96 <_lv_area_is_on+0x3e> + fe84: 2306 movs r3, #6 + fe86: 5ec4 ldrsh r4, [r0, r3] + fe88: 2302 movs r3, #2 + fe8a: 5eca ldrsh r2, [r1, r3] + fe8c: 17e3 asrs r3, r4, #31 + fe8e: 0fd0 lsrs r0, r2, #31 + fe90: 4294 cmp r4, r2 + fe92: 4143 adcs r3, r0 + fe94: b2db uxtb r3, r3 +} + fe96: 0018 movs r0, r3 + fe98: bd10 pop {r4, pc} ... -0000fe34 <_lv_area_is_in>: +0000fe9c <_lv_area_is_in>: { - fe34: b5f0 push {r4, r5, r6, r7, lr} - fe36: 46c6 mov lr, r8 - fe38: b500 push {lr} - fe3a: b082 sub sp, #8 - fe3c: 0005 movs r5, r0 - fe3e: 000c movs r4, r1 - fe40: 0016 movs r6, r2 + fe9c: b5f0 push {r4, r5, r6, r7, lr} + fe9e: 46c6 mov lr, r8 + fea0: b500 push {lr} + fea2: b082 sub sp, #8 + fea4: 0005 movs r5, r0 + fea6: 000c movs r4, r1 + fea8: 0016 movs r6, r2 if(ain_p->x1 >= aholder_p->x1 && ain_p->y1 >= aholder_p->y1 && ain_p->x2 <= aholder_p->x2 && - fe42: 2300 movs r3, #0 - fe44: 5ec7 ldrsh r7, [r0, r3] - fe46: 2200 movs r2, #0 - fe48: 5e8b ldrsh r3, [r1, r2] + feaa: 2300 movs r3, #0 + feac: 5ec7 ldrsh r7, [r0, r3] + feae: 2200 movs r2, #0 + feb0: 5e8b ldrsh r3, [r1, r2] bool is_in = false; - fe4a: 2000 movs r0, #0 + feb2: 2000 movs r0, #0 if(ain_p->x1 >= aholder_p->x1 && ain_p->y1 >= aholder_p->y1 && ain_p->x2 <= aholder_p->x2 && - fe4c: 42bb cmp r3, r7 - fe4e: dc14 bgt.n fe7a <_lv_area_is_in+0x46> - fe50: 2302 movs r3, #2 - fe52: 5eea ldrsh r2, [r5, r3] - fe54: 2102 movs r1, #2 - fe56: 5e63 ldrsh r3, [r4, r1] - fe58: 429a cmp r2, r3 - fe5a: db0e blt.n fe7a <_lv_area_is_in+0x46> - fe5c: 2304 movs r3, #4 - fe5e: 5eea ldrsh r2, [r5, r3] - fe60: 2104 movs r1, #4 - fe62: 5e63 ldrsh r3, [r4, r1] - fe64: 429a cmp r2, r3 - fe66: dc08 bgt.n fe7a <_lv_area_is_in+0x46> - fe68: 2206 movs r2, #6 - fe6a: 5eab ldrsh r3, [r5, r2] - fe6c: 2106 movs r1, #6 - fe6e: 5e62 ldrsh r2, [r4, r1] - fe70: 0fd8 lsrs r0, r3, #31 - fe72: 17d1 asrs r1, r2, #31 - fe74: 429a cmp r2, r3 - fe76: 4148 adcs r0, r1 - fe78: b2c0 uxtb r0, r0 + feb4: 42bb cmp r3, r7 + feb6: dc14 bgt.n fee2 <_lv_area_is_in+0x46> + feb8: 2302 movs r3, #2 + feba: 5eea ldrsh r2, [r5, r3] + febc: 2102 movs r1, #2 + febe: 5e63 ldrsh r3, [r4, r1] + fec0: 429a cmp r2, r3 + fec2: db0e blt.n fee2 <_lv_area_is_in+0x46> + fec4: 2304 movs r3, #4 + fec6: 5eea ldrsh r2, [r5, r3] + fec8: 2104 movs r1, #4 + feca: 5e63 ldrsh r3, [r4, r1] + fecc: 429a cmp r2, r3 + fece: dc08 bgt.n fee2 <_lv_area_is_in+0x46> + fed0: 2206 movs r2, #6 + fed2: 5eab ldrsh r3, [r5, r2] + fed4: 2106 movs r1, #6 + fed6: 5e62 ldrsh r2, [r4, r1] + fed8: 0fd8 lsrs r0, r3, #31 + feda: 17d1 asrs r1, r2, #31 + fedc: 429a cmp r2, r3 + fede: 4148 adcs r0, r1 + fee0: b2c0 uxtb r0, r0 if(radius == 0) return is_in; - fe7a: 2e00 cmp r6, #0 - fe7c: d103 bne.n fe86 <_lv_area_is_in+0x52> + fee2: 2e00 cmp r6, #0 + fee4: d103 bne.n feee <_lv_area_is_in+0x52> } - fe7e: b002 add sp, #8 - fe80: bc04 pop {r2} - fe82: 4690 mov r8, r2 - fe84: bdf0 pop {r4, r5, r6, r7, pc} + fee6: b002 add sp, #8 + fee8: bc04 pop {r2} + feea: 4690 mov r8, r2 + feec: bdf0 pop {r4, r5, r6, r7, pc} p.x = ain_p->x1; - fe86: a901 add r1, sp, #4 - fe88: 800f strh r7, [r1, #0] + feee: a901 add r1, sp, #4 + fef0: 800f strh r7, [r1, #0] p.y = ain_p->y1; - fe8a: 886b ldrh r3, [r5, #2] - fe8c: 804b strh r3, [r1, #2] + fef2: 886b ldrh r3, [r5, #2] + fef4: 804b strh r3, [r1, #2] if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - fe8e: 0032 movs r2, r6 - fe90: 0020 movs r0, r4 - fe92: 4b10 ldr r3, [pc, #64] ; (fed4 <_lv_area_is_in+0xa0>) - fe94: 4798 blx r3 - fe96: 2800 cmp r0, #0 - fe98: d0f1 beq.n fe7e <_lv_area_is_in+0x4a> + fef6: 0032 movs r2, r6 + fef8: 0020 movs r0, r4 + fefa: 4b10 ldr r3, [pc, #64] ; (ff3c <_lv_area_is_in+0xa0>) + fefc: 4798 blx r3 + fefe: 2800 cmp r0, #0 + ff00: d0f1 beq.n fee6 <_lv_area_is_in+0x4a> p.x = ain_p->x2; - fe9a: 2204 movs r2, #4 - fe9c: 5eab ldrsh r3, [r5, r2] - fe9e: 4698 mov r8, r3 - fea0: a901 add r1, sp, #4 - fea2: 800b strh r3, [r1, #0] + ff02: 2204 movs r2, #4 + ff04: 5eab ldrsh r3, [r5, r2] + ff06: 4698 mov r8, r3 + ff08: a901 add r1, sp, #4 + ff0a: 800b strh r3, [r1, #0] if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - fea4: 0032 movs r2, r6 - fea6: 0020 movs r0, r4 - fea8: 4b0a ldr r3, [pc, #40] ; (fed4 <_lv_area_is_in+0xa0>) - feaa: 4798 blx r3 - feac: 2800 cmp r0, #0 - feae: d0e6 beq.n fe7e <_lv_area_is_in+0x4a> + ff0c: 0032 movs r2, r6 + ff0e: 0020 movs r0, r4 + ff10: 4b0a ldr r3, [pc, #40] ; (ff3c <_lv_area_is_in+0xa0>) + ff12: 4798 blx r3 + ff14: 2800 cmp r0, #0 + ff16: d0e6 beq.n fee6 <_lv_area_is_in+0x4a> p.x = ain_p->x1; - feb0: a901 add r1, sp, #4 - feb2: 800f strh r7, [r1, #0] + ff18: a901 add r1, sp, #4 + ff1a: 800f strh r7, [r1, #0] p.y = ain_p->y2; - feb4: 88eb ldrh r3, [r5, #6] - feb6: 804b strh r3, [r1, #2] + ff1c: 88eb ldrh r3, [r5, #6] + ff1e: 804b strh r3, [r1, #2] if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - feb8: 0032 movs r2, r6 - feba: 0020 movs r0, r4 - febc: 4b05 ldr r3, [pc, #20] ; (fed4 <_lv_area_is_in+0xa0>) - febe: 4798 blx r3 - fec0: 2800 cmp r0, #0 - fec2: d0dc beq.n fe7e <_lv_area_is_in+0x4a> + ff20: 0032 movs r2, r6 + ff22: 0020 movs r0, r4 + ff24: 4b05 ldr r3, [pc, #20] ; (ff3c <_lv_area_is_in+0xa0>) + ff26: 4798 blx r3 + ff28: 2800 cmp r0, #0 + ff2a: d0dc beq.n fee6 <_lv_area_is_in+0x4a> p.x = ain_p->x2; - fec4: a901 add r1, sp, #4 - fec6: 4643 mov r3, r8 - fec8: 800b strh r3, [r1, #0] + ff2c: a901 add r1, sp, #4 + ff2e: 4643 mov r3, r8 + ff30: 800b strh r3, [r1, #0] if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - feca: 0032 movs r2, r6 - fecc: 0020 movs r0, r4 - fece: 4b01 ldr r3, [pc, #4] ; (fed4 <_lv_area_is_in+0xa0>) - fed0: 4798 blx r3 - fed2: e7d4 b.n fe7e <_lv_area_is_in+0x4a> - fed4: 0000fc61 .word 0x0000fc61 + ff32: 0032 movs r2, r6 + ff34: 0020 movs r0, r4 + ff36: 4b01 ldr r3, [pc, #4] ; (ff3c <_lv_area_is_in+0xa0>) + ff38: 4798 blx r3 + ff3a: e7d4 b.n fee6 <_lv_area_is_in+0x4a> + ff3c: 0000fcc9 .word 0x0000fcc9 -0000fed8 <_lv_area_align>: +0000ff40 <_lv_area_align>: { - fed8: b530 push {r4, r5, lr} + ff40: b530 push {r4, r5, lr} switch(align) { - feda: 2a14 cmp r2, #20 - fedc: d827 bhi.n ff2e <_lv_area_align+0x56> - fede: 0092 lsls r2, r2, #2 - fee0: 4cb2 ldr r4, [pc, #712] ; (101ac <_lv_area_align+0x2d4>) - fee2: 58a2 ldr r2, [r4, r2] - fee4: 4697 mov pc, r2 + ff42: 2a14 cmp r2, #20 + ff44: d827 bhi.n ff96 <_lv_area_align+0x56> + ff46: 0092 lsls r2, r2, #2 + ff48: 4cb2 ldr r4, [pc, #712] ; (10214 <_lv_area_align+0x2d4>) + ff4a: 58a2 ldr r2, [r4, r2] + ff4c: 4697 mov pc, r2 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - fee6: 8882 ldrh r2, [r0, #4] - fee8: 3201 adds r2, #1 - feea: 8804 ldrh r4, [r0, #0] - feec: 1b12 subs r2, r2, r4 + ff4e: 8882 ldrh r2, [r0, #4] + ff50: 3201 adds r2, #1 + ff52: 8804 ldrh r4, [r0, #0] + ff54: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - feee: b212 sxth r2, r2 - fef0: 0fd4 lsrs r4, r2, #31 - fef2: 18a4 adds r4, r4, r2 - fef4: 1064 asrs r4, r4, #1 - fef6: 888a ldrh r2, [r1, #4] - fef8: 3201 adds r2, #1 - fefa: 880d ldrh r5, [r1, #0] - fefc: 1b52 subs r2, r2, r5 - fefe: b212 sxth r2, r2 - ff00: 0fd5 lsrs r5, r2, #31 - ff02: 18aa adds r2, r5, r2 - ff04: 1052 asrs r2, r2, #1 - ff06: 1aa2 subs r2, r4, r2 - ff08: 801a strh r2, [r3, #0] + ff56: b212 sxth r2, r2 + ff58: 0fd4 lsrs r4, r2, #31 + ff5a: 18a4 adds r4, r4, r2 + ff5c: 1064 asrs r4, r4, #1 + ff5e: 888a ldrh r2, [r1, #4] + ff60: 3201 adds r2, #1 + ff62: 880d ldrh r5, [r1, #0] + ff64: 1b52 subs r2, r2, r5 + ff66: b212 sxth r2, r2 + ff68: 0fd5 lsrs r5, r2, #31 + ff6a: 18aa adds r2, r5, r2 + ff6c: 1052 asrs r2, r2, #1 + ff6e: 1aa2 subs r2, r4, r2 + ff70: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - ff0a: 88c2 ldrh r2, [r0, #6] - ff0c: 3201 adds r2, #1 - ff0e: 8844 ldrh r4, [r0, #2] - ff10: 1b12 subs r2, r2, r4 + ff72: 88c2 ldrh r2, [r0, #6] + ff74: 3201 adds r2, #1 + ff76: 8844 ldrh r4, [r0, #2] + ff78: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - ff12: b212 sxth r2, r2 - ff14: 0fd4 lsrs r4, r2, #31 - ff16: 18a4 adds r4, r4, r2 - ff18: 1064 asrs r4, r4, #1 - ff1a: 88ca ldrh r2, [r1, #6] - ff1c: 3201 adds r2, #1 - ff1e: 8849 ldrh r1, [r1, #2] - ff20: 1a52 subs r2, r2, r1 - ff22: b212 sxth r2, r2 - ff24: 0fd1 lsrs r1, r2, #31 - ff26: 188a adds r2, r1, r2 - ff28: 1052 asrs r2, r2, #1 - ff2a: 1aa2 subs r2, r4, r2 - ff2c: 805a strh r2, [r3, #2] + ff7a: b212 sxth r2, r2 + ff7c: 0fd4 lsrs r4, r2, #31 + ff7e: 18a4 adds r4, r4, r2 + ff80: 1064 asrs r4, r4, #1 + ff82: 88ca ldrh r2, [r1, #6] + ff84: 3201 adds r2, #1 + ff86: 8849 ldrh r1, [r1, #2] + ff88: 1a52 subs r2, r2, r1 + ff8a: b212 sxth r2, r2 + ff8c: 0fd1 lsrs r1, r2, #31 + ff8e: 188a adds r2, r1, r2 + ff90: 1052 asrs r2, r2, #1 + ff92: 1aa2 subs r2, r4, r2 + ff94: 805a strh r2, [r3, #2] res->x += base->x1; - ff2e: 881a ldrh r2, [r3, #0] - ff30: 8801 ldrh r1, [r0, #0] - ff32: 1852 adds r2, r2, r1 - ff34: 801a strh r2, [r3, #0] + ff96: 881a ldrh r2, [r3, #0] + ff98: 8801 ldrh r1, [r0, #0] + ff9a: 1852 adds r2, r2, r1 + ff9c: 801a strh r2, [r3, #0] res->y += base->y1; - ff36: 885a ldrh r2, [r3, #2] - ff38: 8841 ldrh r1, [r0, #2] - ff3a: 1852 adds r2, r2, r1 - ff3c: 805a strh r2, [r3, #2] + ff9e: 885a ldrh r2, [r3, #2] + ffa0: 8841 ldrh r1, [r0, #2] + ffa2: 1852 adds r2, r2, r1 + ffa4: 805a strh r2, [r3, #2] } - ff3e: bd30 pop {r4, r5, pc} + ffa6: bd30 pop {r4, r5, pc} res->x = 0; - ff40: 2200 movs r2, #0 - ff42: 801a strh r2, [r3, #0] + ffa8: 2200 movs r2, #0 + ffaa: 801a strh r2, [r3, #0] res->y = 0; - ff44: 805a strh r2, [r3, #2] + ffac: 805a strh r2, [r3, #2] break; - ff46: e7f2 b.n ff2e <_lv_area_align+0x56> + ffae: e7f2 b.n ff96 <_lv_area_align+0x56> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - ff48: 8882 ldrh r2, [r0, #4] - ff4a: 3201 adds r2, #1 - ff4c: 8804 ldrh r4, [r0, #0] - ff4e: 1b12 subs r2, r2, r4 + ffb0: 8882 ldrh r2, [r0, #4] + ffb2: 3201 adds r2, #1 + ffb4: 8804 ldrh r4, [r0, #0] + ffb6: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - ff50: b212 sxth r2, r2 - ff52: 0fd4 lsrs r4, r2, #31 - ff54: 18a4 adds r4, r4, r2 - ff56: 1064 asrs r4, r4, #1 - ff58: 888a ldrh r2, [r1, #4] - ff5a: 3201 adds r2, #1 - ff5c: 8809 ldrh r1, [r1, #0] - ff5e: 1a52 subs r2, r2, r1 - ff60: b212 sxth r2, r2 - ff62: 0fd1 lsrs r1, r2, #31 - ff64: 188a adds r2, r1, r2 - ff66: 1052 asrs r2, r2, #1 - ff68: 1aa2 subs r2, r4, r2 - ff6a: 801a strh r2, [r3, #0] + ffb8: b212 sxth r2, r2 + ffba: 0fd4 lsrs r4, r2, #31 + ffbc: 18a4 adds r4, r4, r2 + ffbe: 1064 asrs r4, r4, #1 + ffc0: 888a ldrh r2, [r1, #4] + ffc2: 3201 adds r2, #1 + ffc4: 8809 ldrh r1, [r1, #0] + ffc6: 1a52 subs r2, r2, r1 + ffc8: b212 sxth r2, r2 + ffca: 0fd1 lsrs r1, r2, #31 + ffcc: 188a adds r2, r1, r2 + ffce: 1052 asrs r2, r2, #1 + ffd0: 1aa2 subs r2, r4, r2 + ffd2: 801a strh r2, [r3, #0] res->y = 0; - ff6c: 2200 movs r2, #0 - ff6e: 805a strh r2, [r3, #2] + ffd4: 2200 movs r2, #0 + ffd6: 805a strh r2, [r3, #2] break; - ff70: e7dd b.n ff2e <_lv_area_align+0x56> + ffd8: e7dd b.n ff96 <_lv_area_align+0x56> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - ff72: 8882 ldrh r2, [r0, #4] - ff74: 888c ldrh r4, [r1, #4] - ff76: 1b12 subs r2, r2, r4 - ff78: 8804 ldrh r4, [r0, #0] - ff7a: 1b12 subs r2, r2, r4 - ff7c: 8809 ldrh r1, [r1, #0] - ff7e: 1852 adds r2, r2, r1 - ff80: 801a strh r2, [r3, #0] + ffda: 8882 ldrh r2, [r0, #4] + ffdc: 888c ldrh r4, [r1, #4] + ffde: 1b12 subs r2, r2, r4 + ffe0: 8804 ldrh r4, [r0, #0] + ffe2: 1b12 subs r2, r2, r4 + ffe4: 8809 ldrh r1, [r1, #0] + ffe6: 1852 adds r2, r2, r1 + ffe8: 801a strh r2, [r3, #0] res->y = 0; - ff82: 2200 movs r2, #0 - ff84: 805a strh r2, [r3, #2] + ffea: 2200 movs r2, #0 + ffec: 805a strh r2, [r3, #2] break; - ff86: e7d2 b.n ff2e <_lv_area_align+0x56> + ffee: e7d2 b.n ff96 <_lv_area_align+0x56> res->x = 0; - ff88: 2200 movs r2, #0 - ff8a: 801a strh r2, [r3, #0] + fff0: 2200 movs r2, #0 + fff2: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - ff8c: 88c2 ldrh r2, [r0, #6] - ff8e: 88cc ldrh r4, [r1, #6] - ff90: 1b12 subs r2, r2, r4 - ff92: 8844 ldrh r4, [r0, #2] - ff94: 1b12 subs r2, r2, r4 - ff96: 8849 ldrh r1, [r1, #2] - ff98: 1852 adds r2, r2, r1 - ff9a: 805a strh r2, [r3, #2] + fff4: 88c2 ldrh r2, [r0, #6] + fff6: 88cc ldrh r4, [r1, #6] + fff8: 1b12 subs r2, r2, r4 + fffa: 8844 ldrh r4, [r0, #2] + fffc: 1b12 subs r2, r2, r4 + fffe: 8849 ldrh r1, [r1, #2] + 10000: 1852 adds r2, r2, r1 + 10002: 805a strh r2, [r3, #2] break; - ff9c: e7c7 b.n ff2e <_lv_area_align+0x56> - ff9e: 8882 ldrh r2, [r0, #4] - ffa0: 3201 adds r2, #1 - ffa2: 8804 ldrh r4, [r0, #0] - ffa4: 1b12 subs r2, r2, r4 + 10004: e7c7 b.n ff96 <_lv_area_align+0x56> + 10006: 8882 ldrh r2, [r0, #4] + 10008: 3201 adds r2, #1 + 1000a: 8804 ldrh r4, [r0, #0] + 1000c: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - ffa6: b212 sxth r2, r2 - ffa8: 0fd4 lsrs r4, r2, #31 - ffaa: 18a4 adds r4, r4, r2 - ffac: 1064 asrs r4, r4, #1 - ffae: 888a ldrh r2, [r1, #4] - ffb0: 3201 adds r2, #1 - ffb2: 880d ldrh r5, [r1, #0] - ffb4: 1b52 subs r2, r2, r5 - ffb6: b212 sxth r2, r2 - ffb8: 0fd5 lsrs r5, r2, #31 - ffba: 18aa adds r2, r5, r2 - ffbc: 1052 asrs r2, r2, #1 - ffbe: 1aa2 subs r2, r4, r2 - ffc0: 801a strh r2, [r3, #0] + 1000e: b212 sxth r2, r2 + 10010: 0fd4 lsrs r4, r2, #31 + 10012: 18a4 adds r4, r4, r2 + 10014: 1064 asrs r4, r4, #1 + 10016: 888a ldrh r2, [r1, #4] + 10018: 3201 adds r2, #1 + 1001a: 880d ldrh r5, [r1, #0] + 1001c: 1b52 subs r2, r2, r5 + 1001e: b212 sxth r2, r2 + 10020: 0fd5 lsrs r5, r2, #31 + 10022: 18aa adds r2, r5, r2 + 10024: 1052 asrs r2, r2, #1 + 10026: 1aa2 subs r2, r4, r2 + 10028: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - ffc2: 88c2 ldrh r2, [r0, #6] - ffc4: 88cc ldrh r4, [r1, #6] - ffc6: 1b12 subs r2, r2, r4 - ffc8: 8844 ldrh r4, [r0, #2] - ffca: 1b12 subs r2, r2, r4 - ffcc: 8849 ldrh r1, [r1, #2] - ffce: 1852 adds r2, r2, r1 - ffd0: 805a strh r2, [r3, #2] + 1002a: 88c2 ldrh r2, [r0, #6] + 1002c: 88cc ldrh r4, [r1, #6] + 1002e: 1b12 subs r2, r2, r4 + 10030: 8844 ldrh r4, [r0, #2] + 10032: 1b12 subs r2, r2, r4 + 10034: 8849 ldrh r1, [r1, #2] + 10036: 1852 adds r2, r2, r1 + 10038: 805a strh r2, [r3, #2] break; - ffd2: e7ac b.n ff2e <_lv_area_align+0x56> + 1003a: e7ac b.n ff96 <_lv_area_align+0x56> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - ffd4: 8882 ldrh r2, [r0, #4] - ffd6: 888c ldrh r4, [r1, #4] - ffd8: 1b12 subs r2, r2, r4 - ffda: 8804 ldrh r4, [r0, #0] - ffdc: 1b12 subs r2, r2, r4 - ffde: 880c ldrh r4, [r1, #0] - ffe0: 1912 adds r2, r2, r4 - ffe2: 801a strh r2, [r3, #0] + 1003c: 8882 ldrh r2, [r0, #4] + 1003e: 888c ldrh r4, [r1, #4] + 10040: 1b12 subs r2, r2, r4 + 10042: 8804 ldrh r4, [r0, #0] + 10044: 1b12 subs r2, r2, r4 + 10046: 880c ldrh r4, [r1, #0] + 10048: 1912 adds r2, r2, r4 + 1004a: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - ffe4: 88c2 ldrh r2, [r0, #6] - ffe6: 88cc ldrh r4, [r1, #6] - ffe8: 1b12 subs r2, r2, r4 - ffea: 8844 ldrh r4, [r0, #2] - ffec: 1b12 subs r2, r2, r4 - ffee: 8849 ldrh r1, [r1, #2] - fff0: 1852 adds r2, r2, r1 - fff2: 805a strh r2, [r3, #2] + 1004c: 88c2 ldrh r2, [r0, #6] + 1004e: 88cc ldrh r4, [r1, #6] + 10050: 1b12 subs r2, r2, r4 + 10052: 8844 ldrh r4, [r0, #2] + 10054: 1b12 subs r2, r2, r4 + 10056: 8849 ldrh r1, [r1, #2] + 10058: 1852 adds r2, r2, r1 + 1005a: 805a strh r2, [r3, #2] break; - fff4: e79b b.n ff2e <_lv_area_align+0x56> + 1005c: e79b b.n ff96 <_lv_area_align+0x56> res->x = 0; - fff6: 2200 movs r2, #0 - fff8: 801a strh r2, [r3, #0] + 1005e: 2200 movs r2, #0 + 10060: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - fffa: 88c2 ldrh r2, [r0, #6] - fffc: 3201 adds r2, #1 - fffe: 8844 ldrh r4, [r0, #2] - 10000: 1b12 subs r2, r2, r4 + 10062: 88c2 ldrh r2, [r0, #6] + 10064: 3201 adds r2, #1 + 10066: 8844 ldrh r4, [r0, #2] + 10068: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 10002: b212 sxth r2, r2 - 10004: 0fd4 lsrs r4, r2, #31 - 10006: 18a4 adds r4, r4, r2 - 10008: 1064 asrs r4, r4, #1 - 1000a: 88ca ldrh r2, [r1, #6] - 1000c: 3201 adds r2, #1 - 1000e: 8849 ldrh r1, [r1, #2] - 10010: 1a52 subs r2, r2, r1 - 10012: b212 sxth r2, r2 - 10014: 0fd1 lsrs r1, r2, #31 - 10016: 188a adds r2, r1, r2 - 10018: 1052 asrs r2, r2, #1 - 1001a: 1aa2 subs r2, r4, r2 - 1001c: 805a strh r2, [r3, #2] + 1006a: b212 sxth r2, r2 + 1006c: 0fd4 lsrs r4, r2, #31 + 1006e: 18a4 adds r4, r4, r2 + 10070: 1064 asrs r4, r4, #1 + 10072: 88ca ldrh r2, [r1, #6] + 10074: 3201 adds r2, #1 + 10076: 8849 ldrh r1, [r1, #2] + 10078: 1a52 subs r2, r2, r1 + 1007a: b212 sxth r2, r2 + 1007c: 0fd1 lsrs r1, r2, #31 + 1007e: 188a adds r2, r1, r2 + 10080: 1052 asrs r2, r2, #1 + 10082: 1aa2 subs r2, r4, r2 + 10084: 805a strh r2, [r3, #2] break; - 1001e: e786 b.n ff2e <_lv_area_align+0x56> + 10086: e786 b.n ff96 <_lv_area_align+0x56> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 10020: 8882 ldrh r2, [r0, #4] - 10022: 888c ldrh r4, [r1, #4] - 10024: 1b12 subs r2, r2, r4 - 10026: 8804 ldrh r4, [r0, #0] - 10028: 1b12 subs r2, r2, r4 - 1002a: 880c ldrh r4, [r1, #0] - 1002c: 1912 adds r2, r2, r4 - 1002e: 801a strh r2, [r3, #0] - 10030: 88c2 ldrh r2, [r0, #6] - 10032: 3201 adds r2, #1 - 10034: 8844 ldrh r4, [r0, #2] - 10036: 1b12 subs r2, r2, r4 + 10088: 8882 ldrh r2, [r0, #4] + 1008a: 888c ldrh r4, [r1, #4] + 1008c: 1b12 subs r2, r2, r4 + 1008e: 8804 ldrh r4, [r0, #0] + 10090: 1b12 subs r2, r2, r4 + 10092: 880c ldrh r4, [r1, #0] + 10094: 1912 adds r2, r2, r4 + 10096: 801a strh r2, [r3, #0] + 10098: 88c2 ldrh r2, [r0, #6] + 1009a: 3201 adds r2, #1 + 1009c: 8844 ldrh r4, [r0, #2] + 1009e: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 10038: b212 sxth r2, r2 - 1003a: 0fd4 lsrs r4, r2, #31 - 1003c: 18a4 adds r4, r4, r2 - 1003e: 1064 asrs r4, r4, #1 - 10040: 88ca ldrh r2, [r1, #6] - 10042: 3201 adds r2, #1 - 10044: 8849 ldrh r1, [r1, #2] - 10046: 1a52 subs r2, r2, r1 - 10048: b212 sxth r2, r2 - 1004a: 0fd1 lsrs r1, r2, #31 - 1004c: 188a adds r2, r1, r2 - 1004e: 1052 asrs r2, r2, #1 - 10050: 1aa2 subs r2, r4, r2 - 10052: 805a strh r2, [r3, #2] + 100a0: b212 sxth r2, r2 + 100a2: 0fd4 lsrs r4, r2, #31 + 100a4: 18a4 adds r4, r4, r2 + 100a6: 1064 asrs r4, r4, #1 + 100a8: 88ca ldrh r2, [r1, #6] + 100aa: 3201 adds r2, #1 + 100ac: 8849 ldrh r1, [r1, #2] + 100ae: 1a52 subs r2, r2, r1 + 100b0: b212 sxth r2, r2 + 100b2: 0fd1 lsrs r1, r2, #31 + 100b4: 188a adds r2, r1, r2 + 100b6: 1052 asrs r2, r2, #1 + 100b8: 1aa2 subs r2, r4, r2 + 100ba: 805a strh r2, [r3, #2] break; - 10054: e76b b.n ff2e <_lv_area_align+0x56> + 100bc: e76b b.n ff96 <_lv_area_align+0x56> res->x = 0; - 10056: 2200 movs r2, #0 - 10058: 801a strh r2, [r3, #0] - 1005a: 88ca ldrh r2, [r1, #6] - 1005c: 8849 ldrh r1, [r1, #2] - 1005e: 1a52 subs r2, r2, r1 + 100be: 2200 movs r2, #0 + 100c0: 801a strh r2, [r3, #0] + 100c2: 88ca ldrh r2, [r1, #6] + 100c4: 8849 ldrh r1, [r1, #2] + 100c6: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 10060: 43d2 mvns r2, r2 - 10062: 805a strh r2, [r3, #2] + 100c8: 43d2 mvns r2, r2 + 100ca: 805a strh r2, [r3, #2] break; - 10064: e763 b.n ff2e <_lv_area_align+0x56> + 100cc: e763 b.n ff96 <_lv_area_align+0x56> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 10066: 8882 ldrh r2, [r0, #4] - 10068: 3201 adds r2, #1 - 1006a: 8804 ldrh r4, [r0, #0] - 1006c: 1b12 subs r2, r2, r4 + 100ce: 8882 ldrh r2, [r0, #4] + 100d0: 3201 adds r2, #1 + 100d2: 8804 ldrh r4, [r0, #0] + 100d4: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 1006e: b212 sxth r2, r2 - 10070: 0fd4 lsrs r4, r2, #31 - 10072: 18a4 adds r4, r4, r2 - 10074: 1064 asrs r4, r4, #1 - 10076: 888a ldrh r2, [r1, #4] - 10078: 3201 adds r2, #1 - 1007a: 880d ldrh r5, [r1, #0] - 1007c: 1b52 subs r2, r2, r5 - 1007e: b212 sxth r2, r2 - 10080: 0fd5 lsrs r5, r2, #31 - 10082: 18aa adds r2, r5, r2 - 10084: 1052 asrs r2, r2, #1 - 10086: 1aa2 subs r2, r4, r2 - 10088: 801a strh r2, [r3, #0] + 100d6: b212 sxth r2, r2 + 100d8: 0fd4 lsrs r4, r2, #31 + 100da: 18a4 adds r4, r4, r2 + 100dc: 1064 asrs r4, r4, #1 + 100de: 888a ldrh r2, [r1, #4] + 100e0: 3201 adds r2, #1 + 100e2: 880d ldrh r5, [r1, #0] + 100e4: 1b52 subs r2, r2, r5 + 100e6: b212 sxth r2, r2 + 100e8: 0fd5 lsrs r5, r2, #31 + 100ea: 18aa adds r2, r5, r2 + 100ec: 1052 asrs r2, r2, #1 + 100ee: 1aa2 subs r2, r4, r2 + 100f0: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1008a: 88ca ldrh r2, [r1, #6] - 1008c: 8849 ldrh r1, [r1, #2] - 1008e: 1a52 subs r2, r2, r1 + 100f2: 88ca ldrh r2, [r1, #6] + 100f4: 8849 ldrh r1, [r1, #2] + 100f6: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 10090: 43d2 mvns r2, r2 - 10092: 805a strh r2, [r3, #2] + 100f8: 43d2 mvns r2, r2 + 100fa: 805a strh r2, [r3, #2] break; - 10094: e74b b.n ff2e <_lv_area_align+0x56> + 100fc: e74b b.n ff96 <_lv_area_align+0x56> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 10096: 8882 ldrh r2, [r0, #4] - 10098: 888c ldrh r4, [r1, #4] - 1009a: 1b12 subs r2, r2, r4 - 1009c: 8804 ldrh r4, [r0, #0] - 1009e: 1b12 subs r2, r2, r4 - 100a0: 880c ldrh r4, [r1, #0] - 100a2: 1912 adds r2, r2, r4 - 100a4: 801a strh r2, [r3, #0] - 100a6: 88ca ldrh r2, [r1, #6] - 100a8: 8849 ldrh r1, [r1, #2] - 100aa: 1a52 subs r2, r2, r1 + 100fe: 8882 ldrh r2, [r0, #4] + 10100: 888c ldrh r4, [r1, #4] + 10102: 1b12 subs r2, r2, r4 + 10104: 8804 ldrh r4, [r0, #0] + 10106: 1b12 subs r2, r2, r4 + 10108: 880c ldrh r4, [r1, #0] + 1010a: 1912 adds r2, r2, r4 + 1010c: 801a strh r2, [r3, #0] + 1010e: 88ca ldrh r2, [r1, #6] + 10110: 8849 ldrh r1, [r1, #2] + 10112: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 100ac: 43d2 mvns r2, r2 - 100ae: 805a strh r2, [r3, #2] + 10114: 43d2 mvns r2, r2 + 10116: 805a strh r2, [r3, #2] break; - 100b0: e73d b.n ff2e <_lv_area_align+0x56> + 10118: e73d b.n ff96 <_lv_area_align+0x56> res->x = 0; - 100b2: 2200 movs r2, #0 - 100b4: 801a strh r2, [r3, #0] - 100b6: 88c2 ldrh r2, [r0, #6] - 100b8: 3201 adds r2, #1 - 100ba: 8841 ldrh r1, [r0, #2] - 100bc: 1a52 subs r2, r2, r1 + 1011a: 2200 movs r2, #0 + 1011c: 801a strh r2, [r3, #0] + 1011e: 88c2 ldrh r2, [r0, #6] + 10120: 3201 adds r2, #1 + 10122: 8841 ldrh r1, [r0, #2] + 10124: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 100be: 805a strh r2, [r3, #2] + 10126: 805a strh r2, [r3, #2] break; - 100c0: e735 b.n ff2e <_lv_area_align+0x56> + 10128: e735 b.n ff96 <_lv_area_align+0x56> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 100c2: 8882 ldrh r2, [r0, #4] - 100c4: 3201 adds r2, #1 - 100c6: 8804 ldrh r4, [r0, #0] - 100c8: 1b12 subs r2, r2, r4 + 1012a: 8882 ldrh r2, [r0, #4] + 1012c: 3201 adds r2, #1 + 1012e: 8804 ldrh r4, [r0, #0] + 10130: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 100ca: b212 sxth r2, r2 - 100cc: 0fd4 lsrs r4, r2, #31 - 100ce: 18a4 adds r4, r4, r2 - 100d0: 1064 asrs r4, r4, #1 - 100d2: 888a ldrh r2, [r1, #4] - 100d4: 3201 adds r2, #1 - 100d6: 8809 ldrh r1, [r1, #0] - 100d8: 1a52 subs r2, r2, r1 - 100da: b212 sxth r2, r2 - 100dc: 0fd1 lsrs r1, r2, #31 - 100de: 188a adds r2, r1, r2 - 100e0: 1052 asrs r2, r2, #1 - 100e2: 1aa2 subs r2, r4, r2 - 100e4: 801a strh r2, [r3, #0] + 10132: b212 sxth r2, r2 + 10134: 0fd4 lsrs r4, r2, #31 + 10136: 18a4 adds r4, r4, r2 + 10138: 1064 asrs r4, r4, #1 + 1013a: 888a ldrh r2, [r1, #4] + 1013c: 3201 adds r2, #1 + 1013e: 8809 ldrh r1, [r1, #0] + 10140: 1a52 subs r2, r2, r1 + 10142: b212 sxth r2, r2 + 10144: 0fd1 lsrs r1, r2, #31 + 10146: 188a adds r2, r1, r2 + 10148: 1052 asrs r2, r2, #1 + 1014a: 1aa2 subs r2, r4, r2 + 1014c: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 100e6: 88c2 ldrh r2, [r0, #6] - 100e8: 3201 adds r2, #1 - 100ea: 8841 ldrh r1, [r0, #2] - 100ec: 1a52 subs r2, r2, r1 + 1014e: 88c2 ldrh r2, [r0, #6] + 10150: 3201 adds r2, #1 + 10152: 8841 ldrh r1, [r0, #2] + 10154: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 100ee: 805a strh r2, [r3, #2] + 10156: 805a strh r2, [r3, #2] break; - 100f0: e71d b.n ff2e <_lv_area_align+0x56> + 10158: e71d b.n ff96 <_lv_area_align+0x56> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 100f2: 8882 ldrh r2, [r0, #4] - 100f4: 888c ldrh r4, [r1, #4] - 100f6: 1b12 subs r2, r2, r4 - 100f8: 8804 ldrh r4, [r0, #0] - 100fa: 1b12 subs r2, r2, r4 - 100fc: 8809 ldrh r1, [r1, #0] - 100fe: 1852 adds r2, r2, r1 - 10100: 801a strh r2, [r3, #0] - 10102: 88c2 ldrh r2, [r0, #6] - 10104: 3201 adds r2, #1 - 10106: 8841 ldrh r1, [r0, #2] - 10108: 1a52 subs r2, r2, r1 + 1015a: 8882 ldrh r2, [r0, #4] + 1015c: 888c ldrh r4, [r1, #4] + 1015e: 1b12 subs r2, r2, r4 + 10160: 8804 ldrh r4, [r0, #0] + 10162: 1b12 subs r2, r2, r4 + 10164: 8809 ldrh r1, [r1, #0] + 10166: 1852 adds r2, r2, r1 + 10168: 801a strh r2, [r3, #0] + 1016a: 88c2 ldrh r2, [r0, #6] + 1016c: 3201 adds r2, #1 + 1016e: 8841 ldrh r1, [r0, #2] + 10170: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 1010a: 805a strh r2, [r3, #2] + 10172: 805a strh r2, [r3, #2] break; - 1010c: e70f b.n ff2e <_lv_area_align+0x56> + 10174: e70f b.n ff96 <_lv_area_align+0x56> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1010e: 888a ldrh r2, [r1, #4] - 10110: 8809 ldrh r1, [r1, #0] - 10112: 1a52 subs r2, r2, r1 + 10176: 888a ldrh r2, [r1, #4] + 10178: 8809 ldrh r1, [r1, #0] + 1017a: 1a52 subs r2, r2, r1 res->x = -lv_area_get_width(to_align); - 10114: 43d2 mvns r2, r2 - 10116: 801a strh r2, [r3, #0] + 1017c: 43d2 mvns r2, r2 + 1017e: 801a strh r2, [r3, #0] res->y = 0; - 10118: 2200 movs r2, #0 - 1011a: 805a strh r2, [r3, #2] + 10180: 2200 movs r2, #0 + 10182: 805a strh r2, [r3, #2] break; - 1011c: e707 b.n ff2e <_lv_area_align+0x56> - 1011e: 888a ldrh r2, [r1, #4] - 10120: 880c ldrh r4, [r1, #0] - 10122: 1b12 subs r2, r2, r4 + 10184: e707 b.n ff96 <_lv_area_align+0x56> + 10186: 888a ldrh r2, [r1, #4] + 10188: 880c ldrh r4, [r1, #0] + 1018a: 1b12 subs r2, r2, r4 res->x = -lv_area_get_width(to_align); - 10124: 43d2 mvns r2, r2 - 10126: 801a strh r2, [r3, #0] + 1018c: 43d2 mvns r2, r2 + 1018e: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 10128: 88c2 ldrh r2, [r0, #6] - 1012a: 3201 adds r2, #1 - 1012c: 8844 ldrh r4, [r0, #2] - 1012e: 1b12 subs r2, r2, r4 + 10190: 88c2 ldrh r2, [r0, #6] + 10192: 3201 adds r2, #1 + 10194: 8844 ldrh r4, [r0, #2] + 10196: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 10130: b212 sxth r2, r2 - 10132: 0fd4 lsrs r4, r2, #31 - 10134: 18a4 adds r4, r4, r2 - 10136: 1064 asrs r4, r4, #1 - 10138: 88ca ldrh r2, [r1, #6] - 1013a: 3201 adds r2, #1 - 1013c: 8849 ldrh r1, [r1, #2] - 1013e: 1a52 subs r2, r2, r1 - 10140: b212 sxth r2, r2 - 10142: 0fd1 lsrs r1, r2, #31 - 10144: 188a adds r2, r1, r2 - 10146: 1052 asrs r2, r2, #1 - 10148: 1aa2 subs r2, r4, r2 - 1014a: 805a strh r2, [r3, #2] + 10198: b212 sxth r2, r2 + 1019a: 0fd4 lsrs r4, r2, #31 + 1019c: 18a4 adds r4, r4, r2 + 1019e: 1064 asrs r4, r4, #1 + 101a0: 88ca ldrh r2, [r1, #6] + 101a2: 3201 adds r2, #1 + 101a4: 8849 ldrh r1, [r1, #2] + 101a6: 1a52 subs r2, r2, r1 + 101a8: b212 sxth r2, r2 + 101aa: 0fd1 lsrs r1, r2, #31 + 101ac: 188a adds r2, r1, r2 + 101ae: 1052 asrs r2, r2, #1 + 101b0: 1aa2 subs r2, r4, r2 + 101b2: 805a strh r2, [r3, #2] break; - 1014c: e6ef b.n ff2e <_lv_area_align+0x56> + 101b4: e6ef b.n ff96 <_lv_area_align+0x56> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1014e: 888a ldrh r2, [r1, #4] - 10150: 880c ldrh r4, [r1, #0] - 10152: 1b12 subs r2, r2, r4 + 101b6: 888a ldrh r2, [r1, #4] + 101b8: 880c ldrh r4, [r1, #0] + 101ba: 1b12 subs r2, r2, r4 res->x = -lv_area_get_width(to_align); - 10154: 43d2 mvns r2, r2 - 10156: 801a strh r2, [r3, #0] + 101bc: 43d2 mvns r2, r2 + 101be: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 10158: 88c2 ldrh r2, [r0, #6] - 1015a: 88cc ldrh r4, [r1, #6] - 1015c: 1b12 subs r2, r2, r4 - 1015e: 8844 ldrh r4, [r0, #2] - 10160: 1b12 subs r2, r2, r4 - 10162: 8849 ldrh r1, [r1, #2] - 10164: 1852 adds r2, r2, r1 - 10166: 805a strh r2, [r3, #2] + 101c0: 88c2 ldrh r2, [r0, #6] + 101c2: 88cc ldrh r4, [r1, #6] + 101c4: 1b12 subs r2, r2, r4 + 101c6: 8844 ldrh r4, [r0, #2] + 101c8: 1b12 subs r2, r2, r4 + 101ca: 8849 ldrh r1, [r1, #2] + 101cc: 1852 adds r2, r2, r1 + 101ce: 805a strh r2, [r3, #2] break; - 10168: e6e1 b.n ff2e <_lv_area_align+0x56> - 1016a: 8882 ldrh r2, [r0, #4] - 1016c: 3201 adds r2, #1 - 1016e: 8801 ldrh r1, [r0, #0] - 10170: 1a52 subs r2, r2, r1 + 101d0: e6e1 b.n ff96 <_lv_area_align+0x56> + 101d2: 8882 ldrh r2, [r0, #4] + 101d4: 3201 adds r2, #1 + 101d6: 8801 ldrh r1, [r0, #0] + 101d8: 1a52 subs r2, r2, r1 res->x = lv_area_get_width(base); - 10172: 801a strh r2, [r3, #0] + 101da: 801a strh r2, [r3, #0] res->y = 0; - 10174: 2200 movs r2, #0 - 10176: 805a strh r2, [r3, #2] + 101dc: 2200 movs r2, #0 + 101de: 805a strh r2, [r3, #2] break; - 10178: e6d9 b.n ff2e <_lv_area_align+0x56> - 1017a: 8882 ldrh r2, [r0, #4] - 1017c: 3201 adds r2, #1 - 1017e: 8804 ldrh r4, [r0, #0] - 10180: 1b12 subs r2, r2, r4 + 101e0: e6d9 b.n ff96 <_lv_area_align+0x56> + 101e2: 8882 ldrh r2, [r0, #4] + 101e4: 3201 adds r2, #1 + 101e6: 8804 ldrh r4, [r0, #0] + 101e8: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base); - 10182: 801a strh r2, [r3, #0] + 101ea: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 10184: 88c2 ldrh r2, [r0, #6] - 10186: 3201 adds r2, #1 - 10188: 8844 ldrh r4, [r0, #2] - 1018a: 1b12 subs r2, r2, r4 + 101ec: 88c2 ldrh r2, [r0, #6] + 101ee: 3201 adds r2, #1 + 101f0: 8844 ldrh r4, [r0, #2] + 101f2: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 1018c: b212 sxth r2, r2 - 1018e: 0fd4 lsrs r4, r2, #31 - 10190: 18a4 adds r4, r4, r2 - 10192: 1064 asrs r4, r4, #1 - 10194: 88ca ldrh r2, [r1, #6] - 10196: 3201 adds r2, #1 - 10198: 8849 ldrh r1, [r1, #2] - 1019a: 1a52 subs r2, r2, r1 - 1019c: b212 sxth r2, r2 - 1019e: 0fd1 lsrs r1, r2, #31 - 101a0: 188a adds r2, r1, r2 - 101a2: 1052 asrs r2, r2, #1 - 101a4: 1aa2 subs r2, r4, r2 - 101a6: 805a strh r2, [r3, #2] + 101f4: b212 sxth r2, r2 + 101f6: 0fd4 lsrs r4, r2, #31 + 101f8: 18a4 adds r4, r4, r2 + 101fa: 1064 asrs r4, r4, #1 + 101fc: 88ca ldrh r2, [r1, #6] + 101fe: 3201 adds r2, #1 + 10200: 8849 ldrh r1, [r1, #2] + 10202: 1a52 subs r2, r2, r1 + 10204: b212 sxth r2, r2 + 10206: 0fd1 lsrs r1, r2, #31 + 10208: 188a adds r2, r1, r2 + 1020a: 1052 asrs r2, r2, #1 + 1020c: 1aa2 subs r2, r4, r2 + 1020e: 805a strh r2, [r3, #2] break; - 101a8: e6c1 b.n ff2e <_lv_area_align+0x56> - 101aa: 46c0 nop ; (mov r8, r8) - 101ac: 0001c850 .word 0x0001c850 + 10210: e6c1 b.n ff96 <_lv_area_align+0x56> + 10212: 46c0 nop ; (mov r8, r8) + 10214: 0001c8e0 .word 0x0001c8e0 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 101b0: 8882 ldrh r2, [r0, #4] - 101b2: 3201 adds r2, #1 - 101b4: 8804 ldrh r4, [r0, #0] - 101b6: 1b12 subs r2, r2, r4 + 10218: 8882 ldrh r2, [r0, #4] + 1021a: 3201 adds r2, #1 + 1021c: 8804 ldrh r4, [r0, #0] + 1021e: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base); - 101b8: 801a strh r2, [r3, #0] + 10220: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 101ba: 88c2 ldrh r2, [r0, #6] - 101bc: 88cc ldrh r4, [r1, #6] - 101be: 1b12 subs r2, r2, r4 - 101c0: 8844 ldrh r4, [r0, #2] - 101c2: 1b12 subs r2, r2, r4 - 101c4: 8849 ldrh r1, [r1, #2] - 101c6: 1852 adds r2, r2, r1 - 101c8: 805a strh r2, [r3, #2] + 10222: 88c2 ldrh r2, [r0, #6] + 10224: 88cc ldrh r4, [r1, #6] + 10226: 1b12 subs r2, r2, r4 + 10228: 8844 ldrh r4, [r0, #2] + 1022a: 1b12 subs r2, r2, r4 + 1022c: 8849 ldrh r1, [r1, #2] + 1022e: 1852 adds r2, r2, r1 + 10230: 805a strh r2, [r3, #2] break; - 101ca: e6b0 b.n ff2e <_lv_area_align+0x56> + 10232: e6b0 b.n ff96 <_lv_area_align+0x56> -000101cc : +00010234 : /********************** * STATIC FUNCTIONS **********************/ LV_ATTRIBUTE_FAST_MEM void lv_color_fill(lv_color_t * buf, lv_color_t color, uint32_t px_num) { - 101cc: b530 push {r4, r5, lr} - 101ce: b28d uxth r5, r1 + 10234: b530 push {r4, r5, lr} + 10236: b28d uxth r5, r1 #if LV_COLOR_DEPTH == 16 uintptr_t buf_int = (uintptr_t) buf; if(buf_int & 0x3) { - 101d0: 0783 lsls r3, r0, #30 - 101d2: d002 beq.n 101da + 10238: 0783 lsls r3, r0, #30 + 1023a: d002 beq.n 10242 *buf = color; - 101d4: 8001 strh r1, [r0, #0] + 1023c: 8001 strh r1, [r0, #0] buf++; - 101d6: 3002 adds r0, #2 + 1023e: 3002 adds r0, #2 px_num--; - 101d8: 3a01 subs r2, #1 + 10240: 3a01 subs r2, #1 } uint32_t c32 = color.full + (color.full << 16); - 101da: 0429 lsls r1, r5, #16 - 101dc: 1949 adds r1, r1, r5 + 10242: 0429 lsls r1, r5, #16 + 10244: 1949 adds r1, r1, r5 uint32_t * buf32 = (uint32_t *)buf; while(px_num > 16) { - 101de: 2a10 cmp r2, #16 - 101e0: d916 bls.n 10210 - 101e2: 0003 movs r3, r0 - 101e4: 0014 movs r4, r2 + 10246: 2a10 cmp r2, #16 + 10248: d916 bls.n 10278 + 1024a: 0003 movs r3, r0 + 1024c: 0014 movs r4, r2 *buf32 = c32; - 101e6: 6019 str r1, [r3, #0] + 1024e: 6019 str r1, [r3, #0] buf32++; *buf32 = c32; - 101e8: 6059 str r1, [r3, #4] + 10250: 6059 str r1, [r3, #4] buf32++; *buf32 = c32; - 101ea: 6099 str r1, [r3, #8] + 10252: 6099 str r1, [r3, #8] buf32++; *buf32 = c32; - 101ec: 60d9 str r1, [r3, #12] + 10254: 60d9 str r1, [r3, #12] buf32++; *buf32 = c32; - 101ee: 6119 str r1, [r3, #16] + 10256: 6119 str r1, [r3, #16] buf32++; *buf32 = c32; - 101f0: 6159 str r1, [r3, #20] + 10258: 6159 str r1, [r3, #20] buf32++; *buf32 = c32; - 101f2: 6199 str r1, [r3, #24] + 1025a: 6199 str r1, [r3, #24] buf32++; *buf32 = c32; - 101f4: 61d9 str r1, [r3, #28] - 101f6: 3320 adds r3, #32 + 1025c: 61d9 str r1, [r3, #28] + 1025e: 3320 adds r3, #32 buf32++; px_num -= 16; - 101f8: 3c10 subs r4, #16 + 10260: 3c10 subs r4, #16 while(px_num > 16) { - 101fa: 2c10 cmp r4, #16 - 101fc: d8f3 bhi.n 101e6 - 101fe: 0011 movs r1, r2 - 10200: 3911 subs r1, #17 - 10202: 0909 lsrs r1, r1, #4 - 10204: 1c4c adds r4, r1, #1 - 10206: 0164 lsls r4, r4, #5 - 10208: 3a10 subs r2, #16 - 1020a: 0109 lsls r1, r1, #4 - 1020c: 1a52 subs r2, r2, r1 + 10262: 2c10 cmp r4, #16 + 10264: d8f3 bhi.n 1024e + 10266: 0011 movs r1, r2 + 10268: 3911 subs r1, #17 + 1026a: 0909 lsrs r1, r1, #4 + 1026c: 1c4c adds r4, r1, #1 + 1026e: 0164 lsls r4, r4, #5 + 10270: 3a10 subs r2, #16 + 10272: 0109 lsls r1, r1, #4 + 10274: 1a52 subs r2, r2, r1 buf32++; - 1020e: 1900 adds r0, r0, r4 + 10276: 1900 adds r0, r0, r4 } buf = (lv_color_t *)buf32; while(px_num) { - 10210: 2a00 cmp r2, #0 - 10212: d004 beq.n 1021e + 10278: 2a00 cmp r2, #0 + 1027a: d004 beq.n 10286 *buf = color; - 10214: 8005 strh r5, [r0, #0] + 1027c: 8005 strh r5, [r0, #0] buf++; - 10216: 3002 adds r0, #2 + 1027e: 3002 adds r0, #2 px_num --; - 10218: 3a01 subs r2, #1 + 10280: 3a01 subs r2, #1 while(px_num) { - 1021a: 2a00 cmp r2, #0 - 1021c: d1fa bne.n 10214 + 10282: 2a00 cmp r2, #0 + 10284: d1fa bne.n 1027c *buf = color; buf++; px_num --; } #endif } - 1021e: bd30 pop {r4, r5, pc} + 10286: bd30 pop {r4, r5, pc} -00010220 : +00010288 : lv_color_t lv_color_lighten(lv_color_t c, lv_opa_t lvl) { - 10220: b570 push {r4, r5, r6, lr} + 10288: b570 push {r4, r5, r6, lr} LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 10222: 014a lsls r2, r1, #5 - 10224: 1a52 subs r2, r2, r1 - 10226: 24ff movs r4, #255 ; 0xff - 10228: 1a64 subs r4, r4, r1 - 1022a: 0403 lsls r3, r0, #16 - 1022c: 0edb lsrs r3, r3, #27 - 1022e: 4363 muls r3, r4 - 10230: 189d adds r5, r3, r2 - 10232: 022b lsls r3, r5, #8 - 10234: 195b adds r3, r3, r5 - 10236: 01db lsls r3, r3, #7 - 10238: 195b adds r3, r3, r5 - 1023a: 011b lsls r3, r3, #4 - 1023c: 0edb lsrs r3, r3, #27 + 1028a: 014a lsls r2, r1, #5 + 1028c: 1a52 subs r2, r2, r1 + 1028e: 24ff movs r4, #255 ; 0xff + 10290: 1a64 subs r4, r4, r1 + 10292: 0403 lsls r3, r0, #16 + 10294: 0edb lsrs r3, r3, #27 + 10296: 4363 muls r3, r4 + 10298: 189d adds r5, r3, r2 + 1029a: 022b lsls r3, r5, #8 + 1029c: 195b adds r3, r3, r5 + 1029e: 01db lsls r3, r3, #7 + 102a0: 195b adds r3, r3, r5 + 102a2: 011b lsls r3, r3, #4 + 102a4: 0edb lsrs r3, r3, #27 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 1023e: 0545 lsls r5, r0, #21 - 10240: 0ead lsrs r5, r5, #26 - 10242: 4365 muls r5, r4 - 10244: 018e lsls r6, r1, #6 - 10246: 1a71 subs r1, r6, r1 - 10248: 186d adds r5, r5, r1 - 1024a: 0229 lsls r1, r5, #8 - 1024c: 1949 adds r1, r1, r5 - 1024e: 01c9 lsls r1, r1, #7 - 10250: 1949 adds r1, r1, r5 - 10252: 00c9 lsls r1, r1, #3 + 102a6: 0545 lsls r5, r0, #21 + 102a8: 0ead lsrs r5, r5, #26 + 102aa: 4365 muls r5, r4 + 102ac: 018e lsls r6, r1, #6 + 102ae: 1a71 subs r1, r6, r1 + 102b0: 186d adds r5, r5, r1 + 102b2: 0229 lsls r1, r5, #8 + 102b4: 1949 adds r1, r1, r5 + 102b6: 01c9 lsls r1, r1, #7 + 102b8: 1949 adds r1, r1, r5 + 102ba: 00c9 lsls r1, r1, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 10254: 06c0 lsls r0, r0, #27 - 10256: 0ec0 lsrs r0, r0, #27 - 10258: 4360 muls r0, r4 - 1025a: 1882 adds r2, r0, r2 - 1025c: 0210 lsls r0, r2, #8 - 1025e: 1880 adds r0, r0, r2 - 10260: 01c0 lsls r0, r0, #7 - 10262: 1880 adds r0, r0, r2 - 10264: 0100 lsls r0, r0, #4 - 10266: 0e89 lsrs r1, r1, #26 - 10268: 0149 lsls r1, r1, #5 - 1026a: 0ec0 lsrs r0, r0, #27 - 1026c: 02db lsls r3, r3, #11 - 1026e: 4308 orrs r0, r1 - 10270: 4318 orrs r0, r3 + 102bc: 06c0 lsls r0, r0, #27 + 102be: 0ec0 lsrs r0, r0, #27 + 102c0: 4360 muls r0, r4 + 102c2: 1882 adds r2, r0, r2 + 102c4: 0210 lsls r0, r2, #8 + 102c6: 1880 adds r0, r0, r2 + 102c8: 01c0 lsls r0, r0, #7 + 102ca: 1880 adds r0, r0, r2 + 102cc: 0100 lsls r0, r0, #4 + 102ce: 0e89 lsrs r1, r1, #26 + 102d0: 0149 lsls r1, r1, #5 + 102d2: 0ec0 lsrs r0, r0, #27 + 102d4: 02db lsls r3, r3, #11 + 102d6: 4308 orrs r0, r1 + 102d8: 4318 orrs r0, r3 return lv_color_mix(LV_COLOR_WHITE, c, lvl); } - 10272: bd70 pop {r4, r5, r6, pc} + 102da: bd70 pop {r4, r5, r6, pc} -00010274 : +000102dc : lv_color_t lv_color_darken(lv_color_t c, lv_opa_t lvl) { - 10274: b510 push {r4, lr} + 102dc: b510 push {r4, lr} LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 10276: 23ff movs r3, #255 ; 0xff - 10278: 1a59 subs r1, r3, r1 - 1027a: 0403 lsls r3, r0, #16 - 1027c: 0edb lsrs r3, r3, #27 - 1027e: 434b muls r3, r1 - 10280: 001a movs r2, r3 - 10282: 021b lsls r3, r3, #8 - 10284: 189b adds r3, r3, r2 - 10286: 01db lsls r3, r3, #7 - 10288: 189b adds r3, r3, r2 - 1028a: 011b lsls r3, r3, #4 - 1028c: 0edb lsrs r3, r3, #27 + 102de: 23ff movs r3, #255 ; 0xff + 102e0: 1a59 subs r1, r3, r1 + 102e2: 0403 lsls r3, r0, #16 + 102e4: 0edb lsrs r3, r3, #27 + 102e6: 434b muls r3, r1 + 102e8: 001a movs r2, r3 + 102ea: 021b lsls r3, r3, #8 + 102ec: 189b adds r3, r3, r2 + 102ee: 01db lsls r3, r3, #7 + 102f0: 189b adds r3, r3, r2 + 102f2: 011b lsls r3, r3, #4 + 102f4: 0edb lsrs r3, r3, #27 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 1028e: 0542 lsls r2, r0, #21 - 10290: 0e92 lsrs r2, r2, #26 - 10292: 434a muls r2, r1 - 10294: 0014 movs r4, r2 - 10296: 0212 lsls r2, r2, #8 - 10298: 1912 adds r2, r2, r4 - 1029a: 01d2 lsls r2, r2, #7 - 1029c: 1912 adds r2, r2, r4 - 1029e: 00d2 lsls r2, r2, #3 + 102f6: 0542 lsls r2, r0, #21 + 102f8: 0e92 lsrs r2, r2, #26 + 102fa: 434a muls r2, r1 + 102fc: 0014 movs r4, r2 + 102fe: 0212 lsls r2, r2, #8 + 10300: 1912 adds r2, r2, r4 + 10302: 01d2 lsls r2, r2, #7 + 10304: 1912 adds r2, r2, r4 + 10306: 00d2 lsls r2, r2, #3 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 102a0: 06c0 lsls r0, r0, #27 - 102a2: 0ec0 lsrs r0, r0, #27 - 102a4: 4341 muls r1, r0 - 102a6: 0208 lsls r0, r1, #8 - 102a8: 1840 adds r0, r0, r1 - 102aa: 01c0 lsls r0, r0, #7 - 102ac: 1840 adds r0, r0, r1 - 102ae: 0100 lsls r0, r0, #4 - 102b0: 0e92 lsrs r2, r2, #26 - 102b2: 0152 lsls r2, r2, #5 - 102b4: 0ec0 lsrs r0, r0, #27 - 102b6: 02db lsls r3, r3, #11 - 102b8: 4310 orrs r0, r2 - 102ba: 4318 orrs r0, r3 + 10308: 06c0 lsls r0, r0, #27 + 1030a: 0ec0 lsrs r0, r0, #27 + 1030c: 4341 muls r1, r0 + 1030e: 0208 lsls r0, r1, #8 + 10310: 1840 adds r0, r0, r1 + 10312: 01c0 lsls r0, r0, #7 + 10314: 1840 adds r0, r0, r1 + 10316: 0100 lsls r0, r0, #4 + 10318: 0e92 lsrs r2, r2, #26 + 1031a: 0152 lsls r2, r2, #5 + 1031c: 0ec0 lsrs r0, r0, #27 + 1031e: 02db lsls r3, r3, #11 + 10320: 4310 orrs r0, r2 + 10322: 4318 orrs r0, r3 return lv_color_mix(LV_COLOR_BLACK, c, lvl); } - 102bc: bd10 pop {r4, pc} + 10324: bd10 pop {r4, pc} -000102be : +00010326 : static const char * lv_fs_get_real_path(const char * path) { /* Example path: "S:/folder/file.txt" * Leave the letter and the : / \ characters*/ path++; /*Ignore the driver letter*/ - 102be: 1c42 adds r2, r0, #1 + 10326: 1c42 adds r2, r0, #1 while(*path != '\0') { - 102c0: 7843 ldrb r3, [r0, #1] - 102c2: 2b00 cmp r3, #0 - 102c4: d104 bne.n 102d0 - 102c6: e009 b.n 102dc + 10328: 7843 ldrb r3, [r0, #1] + 1032a: 2b00 cmp r3, #0 + 1032c: d104 bne.n 10338 + 1032e: e009 b.n 10344 if(*path == ':' || *path == '\\' || *path == '/') { path++; - 102c8: 3201 adds r2, #1 + 10330: 3201 adds r2, #1 while(*path != '\0') { - 102ca: 7813 ldrb r3, [r2, #0] - 102cc: 2b00 cmp r3, #0 - 102ce: d005 beq.n 102dc + 10332: 7813 ldrb r3, [r2, #0] + 10334: 2b00 cmp r3, #0 + 10336: d005 beq.n 10344 if(*path == ':' || *path == '\\' || *path == '/') { - 102d0: 2b3a cmp r3, #58 ; 0x3a - 102d2: d0f9 beq.n 102c8 - 102d4: 2b5c cmp r3, #92 ; 0x5c - 102d6: d0f7 beq.n 102c8 - 102d8: 2b2f cmp r3, #47 ; 0x2f - 102da: d0f5 beq.n 102c8 + 10338: 2b3a cmp r3, #58 ; 0x3a + 1033a: d0f9 beq.n 10330 + 1033c: 2b5c cmp r3, #92 ; 0x5c + 1033e: d0f7 beq.n 10330 + 10340: 2b2f cmp r3, #47 ; 0x2f + 10342: d0f5 beq.n 10330 break; } } return path; } - 102dc: 0010 movs r0, r2 - 102de: 4770 bx lr + 10344: 0010 movs r0, r2 + 10346: 4770 bx lr -000102e0 <_lv_fs_init>: +00010348 <_lv_fs_init>: { - 102e0: b510 push {r4, lr} + 10348: b510 push {r4, lr} _lv_ll_init(&LV_GC_ROOT(_lv_drv_ll), sizeof(lv_fs_drv_t)); - 102e2: 2144 movs r1, #68 ; 0x44 - 102e4: 4801 ldr r0, [pc, #4] ; (102ec <_lv_fs_init+0xc>) - 102e6: 4b02 ldr r3, [pc, #8] ; (102f0 <_lv_fs_init+0x10>) - 102e8: 4798 blx r3 + 1034a: 2144 movs r1, #68 ; 0x44 + 1034c: 4801 ldr r0, [pc, #4] ; (10354 <_lv_fs_init+0xc>) + 1034e: 4b02 ldr r3, [pc, #8] ; (10358 <_lv_fs_init+0x10>) + 10350: 4798 blx r3 } - 102ea: bd10 pop {r4, pc} - 102ec: 20004d5c .word 0x20004d5c - 102f0: 00010551 .word 0x00010551 + 10352: bd10 pop {r4, pc} + 10354: 20004d5c .word 0x20004d5c + 10358: 000105b9 .word 0x000105b9 -000102f4 : +0001035c : { - 102f4: b570 push {r4, r5, r6, lr} - 102f6: 0004 movs r4, r0 + 1035c: b570 push {r4, r5, r6, lr} + 1035e: 0004 movs r4, r0 if(file_p->drv == NULL) { - 102f8: 6840 ldr r0, [r0, #4] - 102fa: 2800 cmp r0, #0 - 102fc: d00e beq.n 1031c + 10360: 6840 ldr r0, [r0, #4] + 10362: 2800 cmp r0, #0 + 10364: d00e beq.n 10384 if(file_p->drv->close_cb == NULL) { - 102fe: 6903 ldr r3, [r0, #16] + 10366: 6903 ldr r3, [r0, #16] return LV_FS_RES_NOT_IMP; - 10300: 2509 movs r5, #9 + 10368: 2509 movs r5, #9 if(file_p->drv->close_cb == NULL) { - 10302: 2b00 cmp r3, #0 - 10304: d008 beq.n 10318 + 1036a: 2b00 cmp r3, #0 + 1036c: d008 beq.n 10380 lv_fs_res_t res = file_p->drv->close_cb(file_p->drv, file_p->file_d); - 10306: 6821 ldr r1, [r4, #0] - 10308: 4798 blx r3 - 1030a: 0005 movs r5, r0 + 1036e: 6821 ldr r1, [r4, #0] + 10370: 4798 blx r3 + 10372: 0005 movs r5, r0 lv_mem_free(file_p->file_d); /*Clean up*/ - 1030c: 6820 ldr r0, [r4, #0] - 1030e: 4b04 ldr r3, [pc, #16] ; (10320 ) - 10310: 4798 blx r3 + 10374: 6820 ldr r0, [r4, #0] + 10376: 4b04 ldr r3, [pc, #16] ; (10388 ) + 10378: 4798 blx r3 file_p->file_d = NULL; - 10312: 2300 movs r3, #0 - 10314: 6023 str r3, [r4, #0] + 1037a: 2300 movs r3, #0 + 1037c: 6023 str r3, [r4, #0] file_p->drv = NULL; - 10316: 6063 str r3, [r4, #4] + 1037e: 6063 str r3, [r4, #4] } - 10318: 0028 movs r0, r5 - 1031a: bd70 pop {r4, r5, r6, pc} + 10380: 0028 movs r0, r5 + 10382: bd70 pop {r4, r5, r6, pc} return LV_FS_RES_INV_PARAM; - 1031c: 250b movs r5, #11 - 1031e: e7fb b.n 10318 - 10320: 00010ad1 .word 0x00010ad1 + 10384: 250b movs r5, #11 + 10386: e7fb b.n 10380 + 10388: 00010b39 .word 0x00010b39 -00010324 : +0001038c : { - 10324: b570 push {r4, r5, r6, lr} - 10326: b084 sub sp, #16 - 10328: 1e1c subs r4, r3, #0 + 1038c: b570 push {r4, r5, r6, lr} + 1038e: b084 sub sp, #16 + 10390: 1e1c subs r4, r3, #0 if(br != NULL) *br = 0; - 1032a: d001 beq.n 10330 - 1032c: 2300 movs r3, #0 - 1032e: 6023 str r3, [r4, #0] + 10392: d001 beq.n 10398 + 10394: 2300 movs r3, #0 + 10396: 6023 str r3, [r4, #0] if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM; - 10330: 6845 ldr r5, [r0, #4] - 10332: 2d00 cmp r5, #0 - 10334: d015 beq.n 10362 + 10398: 6845 ldr r5, [r0, #4] + 1039a: 2d00 cmp r5, #0 + 1039c: d015 beq.n 103ca if(file_p->drv->read_cb == NULL) return LV_FS_RES_NOT_IMP; - 10336: 69ae ldr r6, [r5, #24] - 10338: 2309 movs r3, #9 - 1033a: 2e00 cmp r6, #0 - 1033c: d00e beq.n 1035c + 1039e: 69ae ldr r6, [r5, #24] + 103a0: 2309 movs r3, #9 + 103a2: 2e00 cmp r6, #0 + 103a4: d00e beq.n 103c4 uint32_t br_tmp = 0; - 1033e: 2300 movs r3, #0 - 10340: 9303 str r3, [sp, #12] + 103a6: 2300 movs r3, #0 + 103a8: 9303 str r3, [sp, #12] lv_fs_res_t res = file_p->drv->read_cb(file_p->drv, file_p->file_d, buf, btr, &br_tmp); - 10342: 6800 ldr r0, [r0, #0] - 10344: ab03 add r3, sp, #12 - 10346: 9300 str r3, [sp, #0] - 10348: 0013 movs r3, r2 - 1034a: 000a movs r2, r1 - 1034c: 0001 movs r1, r0 - 1034e: 0028 movs r0, r5 - 10350: 47b0 blx r6 - 10352: 0003 movs r3, r0 + 103aa: 6800 ldr r0, [r0, #0] + 103ac: ab03 add r3, sp, #12 + 103ae: 9300 str r3, [sp, #0] + 103b0: 0013 movs r3, r2 + 103b2: 000a movs r2, r1 + 103b4: 0001 movs r1, r0 + 103b6: 0028 movs r0, r5 + 103b8: 47b0 blx r6 + 103ba: 0003 movs r3, r0 if(br != NULL) *br = br_tmp; - 10354: 2c00 cmp r4, #0 - 10356: d001 beq.n 1035c - 10358: 9a03 ldr r2, [sp, #12] - 1035a: 6022 str r2, [r4, #0] -} - 1035c: 0018 movs r0, r3 - 1035e: b004 add sp, #16 - 10360: bd70 pop {r4, r5, r6, pc} + 103bc: 2c00 cmp r4, #0 + 103be: d001 beq.n 103c4 + 103c0: 9a03 ldr r2, [sp, #12] + 103c2: 6022 str r2, [r4, #0] +} + 103c4: 0018 movs r0, r3 + 103c6: b004 add sp, #16 + 103c8: bd70 pop {r4, r5, r6, pc} if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM; - 10362: 230b movs r3, #11 - 10364: e7fa b.n 1035c + 103ca: 230b movs r3, #11 + 103cc: e7fa b.n 103c4 -00010366 : +000103ce : { - 10366: b570 push {r4, r5, r6, lr} - 10368: 000a movs r2, r1 + 103ce: b570 push {r4, r5, r6, lr} + 103d0: 000a movs r2, r1 if(file_p->drv == NULL) { - 1036a: 6844 ldr r4, [r0, #4] - 1036c: 2c00 cmp r4, #0 - 1036e: d009 beq.n 10384 + 103d2: 6844 ldr r4, [r0, #4] + 103d4: 2c00 cmp r4, #0 + 103d6: d009 beq.n 103ec if(file_p->drv->seek_cb == NULL) { - 10370: 6a25 ldr r5, [r4, #32] + 103d8: 6a25 ldr r5, [r4, #32] return LV_FS_RES_NOT_IMP; - 10372: 2309 movs r3, #9 + 103da: 2309 movs r3, #9 if(file_p->drv->seek_cb == NULL) { - 10374: 2d00 cmp r5, #0 - 10376: d003 beq.n 10380 + 103dc: 2d00 cmp r5, #0 + 103de: d003 beq.n 103e8 lv_fs_res_t res = file_p->drv->seek_cb(file_p->drv, file_p->file_d, pos); - 10378: 6801 ldr r1, [r0, #0] - 1037a: 0020 movs r0, r4 - 1037c: 47a8 blx r5 - 1037e: 0003 movs r3, r0 + 103e0: 6801 ldr r1, [r0, #0] + 103e2: 0020 movs r0, r4 + 103e4: 47a8 blx r5 + 103e6: 0003 movs r3, r0 } - 10380: 0018 movs r0, r3 - 10382: bd70 pop {r4, r5, r6, pc} + 103e8: 0018 movs r0, r3 + 103ea: bd70 pop {r4, r5, r6, pc} return LV_FS_RES_INV_PARAM; - 10384: 230b movs r3, #11 - 10386: e7fb b.n 10380 + 103ec: 230b movs r3, #11 + 103ee: e7fb b.n 103e8 -00010388 : +000103f0 : { - 10388: b570 push {r4, r5, r6, lr} - 1038a: 0004 movs r4, r0 + 103f0: b570 push {r4, r5, r6, lr} + 103f2: 0004 movs r4, r0 _LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) { - 1038c: 4809 ldr r0, [pc, #36] ; (103b4 ) - 1038e: 4b0a ldr r3, [pc, #40] ; (103b8 ) - 10390: 4798 blx r3 - 10392: 2800 cmp r0, #0 - 10394: d00c beq.n 103b0 + 103f4: 4809 ldr r0, [pc, #36] ; (1041c ) + 103f6: 4b0a ldr r3, [pc, #40] ; (10420 ) + 103f8: 4798 blx r3 + 103fa: 2800 cmp r0, #0 + 103fc: d00c beq.n 10418 if(drv->letter == letter) { - 10396: 7803 ldrb r3, [r0, #0] - 10398: 42a3 cmp r3, r4 - 1039a: d009 beq.n 103b0 + 103fe: 7803 ldrb r3, [r0, #0] + 10400: 42a3 cmp r3, r4 + 10402: d009 beq.n 10418 _LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) { - 1039c: 4d05 ldr r5, [pc, #20] ; (103b4 ) - 1039e: 4e07 ldr r6, [pc, #28] ; (103bc ) - 103a0: 0001 movs r1, r0 - 103a2: 0028 movs r0, r5 - 103a4: 47b0 blx r6 - 103a6: 2800 cmp r0, #0 - 103a8: d002 beq.n 103b0 + 10404: 4d05 ldr r5, [pc, #20] ; (1041c ) + 10406: 4e07 ldr r6, [pc, #28] ; (10424 ) + 10408: 0001 movs r1, r0 + 1040a: 0028 movs r0, r5 + 1040c: 47b0 blx r6 + 1040e: 2800 cmp r0, #0 + 10410: d002 beq.n 10418 if(drv->letter == letter) { - 103aa: 7803 ldrb r3, [r0, #0] - 103ac: 42a3 cmp r3, r4 - 103ae: d1f7 bne.n 103a0 -} - 103b0: bd70 pop {r4, r5, r6, pc} - 103b2: 46c0 nop ; (mov r8, r8) - 103b4: 20004d5c .word 0x20004d5c - 103b8: 00010605 .word 0x00010605 - 103bc: 0001061d .word 0x0001061d - -000103c0 : -{ - 103c0: b5f0 push {r4, r5, r6, r7, lr} - 103c2: 46d6 mov lr, sl - 103c4: 464f mov r7, r9 - 103c6: b580 push {r7, lr} - 103c8: b083 sub sp, #12 - 103ca: 0004 movs r4, r0 - 103cc: 000f movs r7, r1 - 103ce: 9201 str r2, [sp, #4] + 10412: 7803 ldrb r3, [r0, #0] + 10414: 42a3 cmp r3, r4 + 10416: d1f7 bne.n 10408 +} + 10418: bd70 pop {r4, r5, r6, pc} + 1041a: 46c0 nop ; (mov r8, r8) + 1041c: 20004d5c .word 0x20004d5c + 10420: 0001066d .word 0x0001066d + 10424: 00010685 .word 0x00010685 + +00010428 : +{ + 10428: b5f0 push {r4, r5, r6, r7, lr} + 1042a: 46d6 mov lr, sl + 1042c: 464f mov r7, r9 + 1042e: b580 push {r7, lr} + 10430: b083 sub sp, #12 + 10432: 0004 movs r4, r0 + 10434: 000f movs r7, r1 + 10436: 9201 str r2, [sp, #4] file_p->drv = NULL; - 103d0: 2300 movs r3, #0 - 103d2: 6043 str r3, [r0, #4] + 10438: 2300 movs r3, #0 + 1043a: 6043 str r3, [r0, #4] file_p->file_d = NULL; - 103d4: 6003 str r3, [r0, #0] + 1043c: 6003 str r3, [r0, #0] if(path == NULL) return LV_FS_RES_INV_PARAM; - 103d6: 2900 cmp r1, #0 - 103d8: d041 beq.n 1045e + 1043e: 2900 cmp r1, #0 + 10440: d041 beq.n 104c6 file_p->drv = lv_fs_get_drv(letter); - 103da: 7808 ldrb r0, [r1, #0] - 103dc: 4b23 ldr r3, [pc, #140] ; (1046c ) - 103de: 4798 blx r3 - 103e0: 6060 str r0, [r4, #4] + 10442: 7808 ldrb r0, [r1, #0] + 10444: 4b23 ldr r3, [pc, #140] ; (104d4 ) + 10446: 4798 blx r3 + 10448: 6060 str r0, [r4, #4] if(file_p->drv == NULL) { - 103e2: 2800 cmp r0, #0 - 103e4: d00a beq.n 103fc + 1044a: 2800 cmp r0, #0 + 1044c: d00a beq.n 10464 if(file_p->drv->ready_cb != NULL) { - 103e6: 6883 ldr r3, [r0, #8] - 103e8: 2b00 cmp r3, #0 - 103ea: d00b beq.n 10404 + 1044e: 6883 ldr r3, [r0, #8] + 10450: 2b00 cmp r3, #0 + 10452: d00b beq.n 1046c if(file_p->drv->ready_cb(file_p->drv) == false) { - 103ec: 4798 blx r3 - 103ee: 2800 cmp r0, #0 - 103f0: d108 bne.n 10404 + 10454: 4798 blx r3 + 10456: 2800 cmp r0, #0 + 10458: d108 bne.n 1046c file_p->drv = NULL; - 103f2: 2300 movs r3, #0 - 103f4: 6063 str r3, [r4, #4] + 1045a: 2300 movs r3, #0 + 1045c: 6063 str r3, [r4, #4] file_p->file_d = NULL; - 103f6: 6023 str r3, [r4, #0] + 1045e: 6023 str r3, [r4, #0] return LV_FS_RES_HW_ERR; - 103f8: 2501 movs r5, #1 - 103fa: e031 b.n 10460 + 10460: 2501 movs r5, #1 + 10462: e031 b.n 104c8 file_p->file_d = NULL; - 103fc: 2300 movs r3, #0 - 103fe: 6023 str r3, [r4, #0] + 10464: 2300 movs r3, #0 + 10466: 6023 str r3, [r4, #0] return LV_FS_RES_NOT_EX; - 10400: 2503 movs r5, #3 - 10402: e02d b.n 10460 + 10468: 2503 movs r5, #3 + 1046a: e02d b.n 104c8 file_p->file_d = lv_mem_alloc(file_p->drv->file_size); - 10404: 6863 ldr r3, [r4, #4] - 10406: 8858 ldrh r0, [r3, #2] - 10408: 4b19 ldr r3, [pc, #100] ; (10470 ) - 1040a: 4798 blx r3 - 1040c: 6020 str r0, [r4, #0] + 1046c: 6863 ldr r3, [r4, #4] + 1046e: 8858 ldrh r0, [r3, #2] + 10470: 4b19 ldr r3, [pc, #100] ; (104d8 ) + 10472: 4798 blx r3 + 10474: 6020 str r0, [r4, #0] LV_ASSERT_MEM(file_p->file_d); - 1040e: 4b19 ldr r3, [pc, #100] ; (10474 ) - 10410: 4798 blx r3 - 10412: 2800 cmp r0, #0 - 10414: d006 beq.n 10424 + 10476: 4b19 ldr r3, [pc, #100] ; (104dc ) + 10478: 4798 blx r3 + 1047a: 2800 cmp r0, #0 + 1047c: d006 beq.n 1048c if(file_p->file_d == NULL) { - 10416: 6823 ldr r3, [r4, #0] - 10418: 469a mov sl, r3 - 1041a: 2b00 cmp r3, #0 - 1041c: d108 bne.n 10430 + 1047e: 6823 ldr r3, [r4, #0] + 10480: 469a mov sl, r3 + 10482: 2b00 cmp r3, #0 + 10484: d108 bne.n 10498 file_p->drv = NULL; - 1041e: 6063 str r3, [r4, #4] + 10486: 6063 str r3, [r4, #4] return LV_FS_RES_OUT_OF_MEM; /* Out of memory */ - 10420: 250a movs r5, #10 - 10422: e01d b.n 10460 + 10488: 250a movs r5, #10 + 1048a: e01d b.n 104c8 LV_ASSERT_MEM(file_p->file_d); - 10424: 6822 ldr r2, [r4, #0] - 10426: 2300 movs r3, #0 - 10428: 4813 ldr r0, [pc, #76] ; (10478 ) - 1042a: 4914 ldr r1, [pc, #80] ; (1047c ) - 1042c: 4788 blx r1 - 1042e: e7fe b.n 1042e + 1048c: 6822 ldr r2, [r4, #0] + 1048e: 2300 movs r3, #0 + 10490: 4813 ldr r0, [pc, #76] ; (104e0 ) + 10492: 4914 ldr r1, [pc, #80] ; (104e4 ) + 10494: 4788 blx r1 + 10496: e7fe b.n 10496 if(file_p->drv->open_cb == NULL) { - 10430: 6863 ldr r3, [r4, #4] - 10432: 4699 mov r9, r3 - 10434: 68de ldr r6, [r3, #12] + 10498: 6863 ldr r3, [r4, #4] + 1049a: 4699 mov r9, r3 + 1049c: 68de ldr r6, [r3, #12] return LV_FS_RES_NOT_IMP; - 10436: 2509 movs r5, #9 + 1049e: 2509 movs r5, #9 if(file_p->drv->open_cb == NULL) { - 10438: 2e00 cmp r6, #0 - 1043a: d011 beq.n 10460 + 104a0: 2e00 cmp r6, #0 + 104a2: d011 beq.n 104c8 const char * real_path = lv_fs_get_real_path(path); - 1043c: 0038 movs r0, r7 - 1043e: 4b10 ldr r3, [pc, #64] ; (10480 ) - 10440: 4798 blx r3 - 10442: 0002 movs r2, r0 + 104a4: 0038 movs r0, r7 + 104a6: 4b10 ldr r3, [pc, #64] ; (104e8 ) + 104a8: 4798 blx r3 + 104aa: 0002 movs r2, r0 lv_fs_res_t res = file_p->drv->open_cb(file_p->drv, file_p->file_d, real_path, mode); - 10444: 9b01 ldr r3, [sp, #4] - 10446: 4651 mov r1, sl - 10448: 4648 mov r0, r9 - 1044a: 47b0 blx r6 - 1044c: 1e05 subs r5, r0, #0 + 104ac: 9b01 ldr r3, [sp, #4] + 104ae: 4651 mov r1, sl + 104b0: 4648 mov r0, r9 + 104b2: 47b0 blx r6 + 104b4: 1e05 subs r5, r0, #0 if(res != LV_FS_RES_OK) { - 1044e: d007 beq.n 10460 + 104b6: d007 beq.n 104c8 lv_mem_free(file_p->file_d); - 10450: 6820 ldr r0, [r4, #0] - 10452: 4b0c ldr r3, [pc, #48] ; (10484 ) - 10454: 4798 blx r3 + 104b8: 6820 ldr r0, [r4, #0] + 104ba: 4b0c ldr r3, [pc, #48] ; (104ec ) + 104bc: 4798 blx r3 file_p->file_d = NULL; - 10456: 2300 movs r3, #0 - 10458: 6023 str r3, [r4, #0] + 104be: 2300 movs r3, #0 + 104c0: 6023 str r3, [r4, #0] file_p->drv = NULL; - 1045a: 6063 str r3, [r4, #4] - 1045c: e000 b.n 10460 + 104c2: 6063 str r3, [r4, #4] + 104c4: e000 b.n 104c8 if(path == NULL) return LV_FS_RES_INV_PARAM; - 1045e: 250b movs r5, #11 -} - 10460: 0028 movs r0, r5 - 10462: b003 add sp, #12 - 10464: bc0c pop {r2, r3} - 10466: 4691 mov r9, r2 - 10468: 469a mov sl, r3 - 1046a: bdf0 pop {r4, r5, r6, r7, pc} - 1046c: 00010389 .word 0x00010389 - 10470: 00010a09 .word 0x00010a09 - 10474: 00001415 .word 0x00001415 - 10478: 00018804 .word 0x00018804 - 1047c: 0000141d .word 0x0000141d - 10480: 000102bf .word 0x000102bf - 10484: 00010ad1 .word 0x00010ad1 - -00010488 : -{ - 10488: b510 push {r4, lr} - 1048a: 0004 movs r4, r0 + 104c6: 250b movs r5, #11 +} + 104c8: 0028 movs r0, r5 + 104ca: b003 add sp, #12 + 104cc: bc0c pop {r2, r3} + 104ce: 4691 mov r9, r2 + 104d0: 469a mov sl, r3 + 104d2: bdf0 pop {r4, r5, r6, r7, pc} + 104d4: 000103f1 .word 0x000103f1 + 104d8: 00010a71 .word 0x00010a71 + 104dc: 0000147d .word 0x0000147d + 104e0: 00018894 .word 0x00018894 + 104e4: 00001485 .word 0x00001485 + 104e8: 00010327 .word 0x00010327 + 104ec: 00010b39 .word 0x00010b39 + +000104f0 : +{ + 104f0: b510 push {r4, lr} + 104f2: 0004 movs r4, r0 for(i = strlen(fn); i > 0; i--) { - 1048c: 4b11 ldr r3, [pc, #68] ; (104d4 ) - 1048e: 4798 blx r3 - 10490: 1e03 subs r3, r0, #0 - 10492: d017 beq.n 104c4 + 104f4: 4b11 ldr r3, [pc, #68] ; (1053c ) + 104f6: 4798 blx r3 + 104f8: 1e03 subs r3, r0, #0 + 104fa: d017 beq.n 1052c if(fn[i] == '.') { - 10494: 5c22 ldrb r2, [r4, r0] - 10496: 2a2e cmp r2, #46 ; 0x2e - 10498: d00f beq.n 104ba + 104fc: 5c22 ldrb r2, [r4, r0] + 104fe: 2a2e cmp r2, #46 ; 0x2e + 10500: d00f beq.n 10522 else if(fn[i] == '/' || fn[i] == '\\') { - 1049a: 2a2f cmp r2, #47 ; 0x2f - 1049c: d014 beq.n 104c8 - 1049e: 2a5c cmp r2, #92 ; 0x5c - 104a0: d014 beq.n 104cc + 10502: 2a2f cmp r2, #47 ; 0x2f + 10504: d014 beq.n 10530 + 10506: 2a5c cmp r2, #92 ; 0x5c + 10508: d014 beq.n 10534 for(i = strlen(fn); i > 0; i--) { - 104a2: 3b01 subs r3, #1 - 104a4: 2b00 cmp r3, #0 - 104a6: d00b beq.n 104c0 + 1050a: 3b01 subs r3, #1 + 1050c: 2b00 cmp r3, #0 + 1050e: d00b beq.n 10528 if(fn[i] == '.') { - 104a8: 5ce2 ldrb r2, [r4, r3] - 104aa: 2a2e cmp r2, #46 ; 0x2e - 104ac: d005 beq.n 104ba + 10510: 5ce2 ldrb r2, [r4, r3] + 10512: 2a2e cmp r2, #46 ; 0x2e + 10514: d005 beq.n 10522 else if(fn[i] == '/' || fn[i] == '\\') { - 104ae: 2a2f cmp r2, #47 ; 0x2f - 104b0: d00e beq.n 104d0 - 104b2: 2a5c cmp r2, #92 ; 0x5c - 104b4: d1f5 bne.n 104a2 + 10516: 2a2f cmp r2, #47 ; 0x2f + 10518: d00e beq.n 10538 + 1051a: 2a5c cmp r2, #92 ; 0x5c + 1051c: d1f5 bne.n 1050a return ""; /*No extension if a '\' or '/' found*/ - 104b6: 4808 ldr r0, [pc, #32] ; (104d8 ) - 104b8: e001 b.n 104be + 1051e: 4808 ldr r0, [pc, #32] ; (10540 ) + 10520: e001 b.n 10526 return &fn[i + 1]; - 104ba: 3301 adds r3, #1 - 104bc: 18e0 adds r0, r4, r3 + 10522: 3301 adds r3, #1 + 10524: 18e0 adds r0, r4, r3 } - 104be: bd10 pop {r4, pc} + 10526: bd10 pop {r4, pc} return ""; /*Empty string if no '.' in the file name. */ - 104c0: 4805 ldr r0, [pc, #20] ; (104d8 ) - 104c2: e7fc b.n 104be - 104c4: 4804 ldr r0, [pc, #16] ; (104d8 ) - 104c6: e7fa b.n 104be + 10528: 4805 ldr r0, [pc, #20] ; (10540 ) + 1052a: e7fc b.n 10526 + 1052c: 4804 ldr r0, [pc, #16] ; (10540 ) + 1052e: e7fa b.n 10526 return ""; /*No extension if a '\' or '/' found*/ - 104c8: 4803 ldr r0, [pc, #12] ; (104d8 ) - 104ca: e7f8 b.n 104be - 104cc: 4802 ldr r0, [pc, #8] ; (104d8 ) - 104ce: e7f6 b.n 104be - 104d0: 4801 ldr r0, [pc, #4] ; (104d8 ) - 104d2: e7f4 b.n 104be - 104d4: 00017f61 .word 0x00017f61 - 104d8: 0001ca28 .word 0x0001ca28 - -000104dc : + 10530: 4803 ldr r0, [pc, #12] ; (10540 ) + 10532: e7f8 b.n 10526 + 10534: 4802 ldr r0, [pc, #8] ; (10540 ) + 10536: e7f6 b.n 10526 + 10538: 4801 ldr r0, [pc, #4] ; (10540 ) + 1053a: e7f4 b.n 10526 + 1053c: 00017ff1 .word 0x00017ff1 + 10540: 0001cab8 .word 0x0001cab8 + +00010544 : * @param ll_p pointer to linked list * @param act pointer to a node which next node pointer should be set * @param next pointer to a node which should be the next node before 'act' */ static void node_set_next(lv_ll_t * ll_p, lv_ll_node_t * act, lv_ll_node_t * next) { - 104dc: b500 push {lr} - 104de: b083 sub sp, #12 - 104e0: 9201 str r2, [sp, #4] + 10544: b500 push {lr} + 10546: b083 sub sp, #12 + 10548: 9201 str r2, [sp, #4] if(act == NULL) return; /*Can't set the next node of `NULL`*/ - 104e2: 2900 cmp r1, #0 - 104e4: d00d beq.n 10502 + 1054a: 2900 cmp r1, #0 + 1054c: d00d beq.n 1056a uint32_t node_p_size = sizeof(lv_ll_node_t *); if(next) - 104e6: 2a00 cmp r2, #0 - 104e8: d00d beq.n 10506 + 1054e: 2a00 cmp r2, #0 + 10550: d00d beq.n 1056e _lv_memcpy_small(act + LL_NEXT_P_OFFSET(ll_p), &next, node_p_size); - 104ea: 6800 ldr r0, [r0, #0] - 104ec: 3004 adds r0, #4 - 104ee: 1809 adds r1, r1, r0 - 104f0: ab01 add r3, sp, #4 - 104f2: 781a ldrb r2, [r3, #0] - 104f4: 700a strb r2, [r1, #0] - 104f6: 785a ldrb r2, [r3, #1] - 104f8: 704a strb r2, [r1, #1] - 104fa: 789a ldrb r2, [r3, #2] - 104fc: 708a strb r2, [r1, #2] - 104fe: 78db ldrb r3, [r3, #3] - 10500: 70cb strb r3, [r1, #3] + 10552: 6800 ldr r0, [r0, #0] + 10554: 3004 adds r0, #4 + 10556: 1809 adds r1, r1, r0 + 10558: ab01 add r3, sp, #4 + 1055a: 781a ldrb r2, [r3, #0] + 1055c: 700a strb r2, [r1, #0] + 1055e: 785a ldrb r2, [r3, #1] + 10560: 704a strb r2, [r1, #1] + 10562: 789a ldrb r2, [r3, #2] + 10564: 708a strb r2, [r1, #2] + 10566: 78db ldrb r3, [r3, #3] + 10568: 70cb strb r3, [r1, #3] else _lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size); } - 10502: b003 add sp, #12 - 10504: bd00 pop {pc} + 1056a: b003 add sp, #12 + 1056c: bd00 pop {pc} _lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size); - 10506: 6800 ldr r0, [r0, #0] - 10508: 3004 adds r0, #4 - 1050a: 1808 adds r0, r1, r0 - 1050c: 2104 movs r1, #4 - 1050e: 4b01 ldr r3, [pc, #4] ; (10514 ) - 10510: 4798 blx r3 - 10512: e7f6 b.n 10502 - 10514: 00010fe5 .word 0x00010fe5 - -00010518 : -{ - 10518: b500 push {lr} - 1051a: b083 sub sp, #12 - 1051c: 9201 str r2, [sp, #4] + 1056e: 6800 ldr r0, [r0, #0] + 10570: 3004 adds r0, #4 + 10572: 1808 adds r0, r1, r0 + 10574: 2104 movs r1, #4 + 10576: 4b01 ldr r3, [pc, #4] ; (1057c ) + 10578: 4798 blx r3 + 1057a: e7f6 b.n 1056a + 1057c: 0001104d .word 0x0001104d + +00010580 : +{ + 10580: b500 push {lr} + 10582: b083 sub sp, #12 + 10584: 9201 str r2, [sp, #4] if(act == NULL) return; /*Can't set the prev node of `NULL`*/ - 1051e: 2900 cmp r1, #0 - 10520: d00c beq.n 1053c + 10586: 2900 cmp r1, #0 + 10588: d00c beq.n 105a4 if(prev) - 10522: 2a00 cmp r2, #0 - 10524: d00c beq.n 10540 + 1058a: 2a00 cmp r2, #0 + 1058c: d00c beq.n 105a8 _lv_memcpy_small(act + LL_PREV_P_OFFSET(ll_p), &prev, node_p_size); - 10526: 6800 ldr r0, [r0, #0] - 10528: 1809 adds r1, r1, r0 - 1052a: ab01 add r3, sp, #4 - 1052c: 781a ldrb r2, [r3, #0] - 1052e: 700a strb r2, [r1, #0] - 10530: 785a ldrb r2, [r3, #1] - 10532: 704a strb r2, [r1, #1] - 10534: 789a ldrb r2, [r3, #2] - 10536: 708a strb r2, [r1, #2] - 10538: 78db ldrb r3, [r3, #3] - 1053a: 70cb strb r3, [r1, #3] -} - 1053c: b003 add sp, #12 - 1053e: bd00 pop {pc} + 1058e: 6800 ldr r0, [r0, #0] + 10590: 1809 adds r1, r1, r0 + 10592: ab01 add r3, sp, #4 + 10594: 781a ldrb r2, [r3, #0] + 10596: 700a strb r2, [r1, #0] + 10598: 785a ldrb r2, [r3, #1] + 1059a: 704a strb r2, [r1, #1] + 1059c: 789a ldrb r2, [r3, #2] + 1059e: 708a strb r2, [r1, #2] + 105a0: 78db ldrb r3, [r3, #3] + 105a2: 70cb strb r3, [r1, #3] +} + 105a4: b003 add sp, #12 + 105a6: bd00 pop {pc} _lv_memset_00(act + LL_PREV_P_OFFSET(ll_p), node_p_size); - 10540: 6800 ldr r0, [r0, #0] - 10542: 1808 adds r0, r1, r0 - 10544: 2104 movs r1, #4 - 10546: 4b01 ldr r3, [pc, #4] ; (1054c ) - 10548: 4798 blx r3 - 1054a: e7f7 b.n 1053c - 1054c: 00010fe5 .word 0x00010fe5 - -00010550 <_lv_ll_init>: + 105a8: 6800 ldr r0, [r0, #0] + 105aa: 1808 adds r0, r1, r0 + 105ac: 2104 movs r1, #4 + 105ae: 4b01 ldr r3, [pc, #4] ; (105b4 ) + 105b0: 4798 blx r3 + 105b2: e7f7 b.n 105a4 + 105b4: 0001104d .word 0x0001104d + +000105b8 <_lv_ll_init>: ll_p->head = NULL; - 10550: 2300 movs r3, #0 - 10552: 6043 str r3, [r0, #4] + 105b8: 2300 movs r3, #0 + 105ba: 6043 str r3, [r0, #4] ll_p->tail = NULL; - 10554: 6083 str r3, [r0, #8] + 105bc: 6083 str r3, [r0, #8] if(node_size & 0x3) { - 10556: 078b lsls r3, r1, #30 - 10558: d002 beq.n 10560 <_lv_ll_init+0x10> + 105be: 078b lsls r3, r1, #30 + 105c0: d002 beq.n 105c8 <_lv_ll_init+0x10> node_size = node_size & (~0x3); - 1055a: 2303 movs r3, #3 - 1055c: 4399 bics r1, r3 + 105c2: 2303 movs r3, #3 + 105c4: 4399 bics r1, r3 node_size += 4; - 1055e: 3104 adds r1, #4 + 105c6: 3104 adds r1, #4 ll_p->n_size = node_size; - 10560: 6001 str r1, [r0, #0] + 105c8: 6001 str r1, [r0, #0] } - 10562: 4770 bx lr + 105ca: 4770 bx lr -00010564 <_lv_ll_ins_head>: +000105cc <_lv_ll_ins_head>: { - 10564: b570 push {r4, r5, r6, lr} - 10566: 0004 movs r4, r0 + 105cc: b570 push {r4, r5, r6, lr} + 105ce: 0004 movs r4, r0 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 10568: 6800 ldr r0, [r0, #0] - 1056a: 3008 adds r0, #8 - 1056c: 4b0e ldr r3, [pc, #56] ; (105a8 <_lv_ll_ins_head+0x44>) - 1056e: 4798 blx r3 - 10570: 1e05 subs r5, r0, #0 + 105d0: 6800 ldr r0, [r0, #0] + 105d2: 3008 adds r0, #8 + 105d4: 4b0e ldr r3, [pc, #56] ; (10610 <_lv_ll_ins_head+0x44>) + 105d6: 4798 blx r3 + 105d8: 1e05 subs r5, r0, #0 if(n_new != NULL) { - 10572: d014 beq.n 1059e <_lv_ll_ins_head+0x3a> + 105da: d014 beq.n 10606 <_lv_ll_ins_head+0x3a> node_set_prev(ll_p, n_new, NULL); /*No prev. before the new head*/ - 10574: 2200 movs r2, #0 - 10576: 0001 movs r1, r0 - 10578: 0020 movs r0, r4 - 1057a: 4b0c ldr r3, [pc, #48] ; (105ac <_lv_ll_ins_head+0x48>) - 1057c: 4798 blx r3 + 105dc: 2200 movs r2, #0 + 105de: 0001 movs r1, r0 + 105e0: 0020 movs r0, r4 + 105e2: 4b0c ldr r3, [pc, #48] ; (10614 <_lv_ll_ins_head+0x48>) + 105e4: 4798 blx r3 node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/ - 1057e: 6862 ldr r2, [r4, #4] - 10580: 0029 movs r1, r5 - 10582: 0020 movs r0, r4 - 10584: 4b0a ldr r3, [pc, #40] ; (105b0 <_lv_ll_ins_head+0x4c>) - 10586: 4798 blx r3 + 105e6: 6862 ldr r2, [r4, #4] + 105e8: 0029 movs r1, r5 + 105ea: 0020 movs r0, r4 + 105ec: 4b0a ldr r3, [pc, #40] ; (10618 <_lv_ll_ins_head+0x4c>) + 105ee: 4798 blx r3 if(ll_p->head != NULL) { /*If there is old head then before it goes the new*/ - 10588: 6861 ldr r1, [r4, #4] - 1058a: 2900 cmp r1, #0 - 1058c: d003 beq.n 10596 <_lv_ll_ins_head+0x32> + 105f0: 6861 ldr r1, [r4, #4] + 105f2: 2900 cmp r1, #0 + 105f4: d003 beq.n 105fe <_lv_ll_ins_head+0x32> node_set_prev(ll_p, ll_p->head, n_new); - 1058e: 002a movs r2, r5 - 10590: 0020 movs r0, r4 - 10592: 4b06 ldr r3, [pc, #24] ; (105ac <_lv_ll_ins_head+0x48>) - 10594: 4798 blx r3 + 105f6: 002a movs r2, r5 + 105f8: 0020 movs r0, r4 + 105fa: 4b06 ldr r3, [pc, #24] ; (10614 <_lv_ll_ins_head+0x48>) + 105fc: 4798 blx r3 ll_p->head = n_new; /*Set the new head in the dsc.*/ - 10596: 6065 str r5, [r4, #4] + 105fe: 6065 str r5, [r4, #4] if(ll_p->tail == NULL) { /*If there is no tail (1. node) set the tail too*/ - 10598: 68a3 ldr r3, [r4, #8] - 1059a: 2b00 cmp r3, #0 - 1059c: d001 beq.n 105a2 <_lv_ll_ins_head+0x3e> + 10600: 68a3 ldr r3, [r4, #8] + 10602: 2b00 cmp r3, #0 + 10604: d001 beq.n 1060a <_lv_ll_ins_head+0x3e> } - 1059e: 0028 movs r0, r5 - 105a0: bd70 pop {r4, r5, r6, pc} + 10606: 0028 movs r0, r5 + 10608: bd70 pop {r4, r5, r6, pc} ll_p->tail = n_new; - 105a2: 60a5 str r5, [r4, #8] - 105a4: e7fb b.n 1059e <_lv_ll_ins_head+0x3a> - 105a6: 46c0 nop ; (mov r8, r8) - 105a8: 00010a09 .word 0x00010a09 - 105ac: 00010519 .word 0x00010519 - 105b0: 000104dd .word 0x000104dd + 1060a: 60a5 str r5, [r4, #8] + 1060c: e7fb b.n 10606 <_lv_ll_ins_head+0x3a> + 1060e: 46c0 nop ; (mov r8, r8) + 10610: 00010a71 .word 0x00010a71 + 10614: 00010581 .word 0x00010581 + 10618: 00010545 .word 0x00010545 -000105b4 <_lv_ll_ins_tail>: +0001061c <_lv_ll_ins_tail>: { - 105b4: b570 push {r4, r5, r6, lr} - 105b6: 0004 movs r4, r0 + 1061c: b570 push {r4, r5, r6, lr} + 1061e: 0004 movs r4, r0 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 105b8: 6800 ldr r0, [r0, #0] - 105ba: 3008 adds r0, #8 - 105bc: 4b0e ldr r3, [pc, #56] ; (105f8 <_lv_ll_ins_tail+0x44>) - 105be: 4798 blx r3 - 105c0: 1e05 subs r5, r0, #0 + 10620: 6800 ldr r0, [r0, #0] + 10622: 3008 adds r0, #8 + 10624: 4b0e ldr r3, [pc, #56] ; (10660 <_lv_ll_ins_tail+0x44>) + 10626: 4798 blx r3 + 10628: 1e05 subs r5, r0, #0 if(n_new != NULL) { - 105c2: d014 beq.n 105ee <_lv_ll_ins_tail+0x3a> + 1062a: d014 beq.n 10656 <_lv_ll_ins_tail+0x3a> node_set_next(ll_p, n_new, NULL); /*No next after the new tail*/ - 105c4: 2200 movs r2, #0 - 105c6: 0001 movs r1, r0 - 105c8: 0020 movs r0, r4 - 105ca: 4b0c ldr r3, [pc, #48] ; (105fc <_lv_ll_ins_tail+0x48>) - 105cc: 4798 blx r3 + 1062c: 2200 movs r2, #0 + 1062e: 0001 movs r1, r0 + 10630: 0020 movs r0, r4 + 10632: 4b0c ldr r3, [pc, #48] ; (10664 <_lv_ll_ins_tail+0x48>) + 10634: 4798 blx r3 node_set_prev(ll_p, n_new, ll_p->tail); /*The prev. before new is tho old tail*/ - 105ce: 68a2 ldr r2, [r4, #8] - 105d0: 0029 movs r1, r5 - 105d2: 0020 movs r0, r4 - 105d4: 4b0a ldr r3, [pc, #40] ; (10600 <_lv_ll_ins_tail+0x4c>) - 105d6: 4798 blx r3 + 10636: 68a2 ldr r2, [r4, #8] + 10638: 0029 movs r1, r5 + 1063a: 0020 movs r0, r4 + 1063c: 4b0a ldr r3, [pc, #40] ; (10668 <_lv_ll_ins_tail+0x4c>) + 1063e: 4798 blx r3 if(ll_p->tail != NULL) { /*If there is old tail then the new comes after it*/ - 105d8: 68a1 ldr r1, [r4, #8] - 105da: 2900 cmp r1, #0 - 105dc: d003 beq.n 105e6 <_lv_ll_ins_tail+0x32> + 10640: 68a1 ldr r1, [r4, #8] + 10642: 2900 cmp r1, #0 + 10644: d003 beq.n 1064e <_lv_ll_ins_tail+0x32> node_set_next(ll_p, ll_p->tail, n_new); - 105de: 002a movs r2, r5 - 105e0: 0020 movs r0, r4 - 105e2: 4b06 ldr r3, [pc, #24] ; (105fc <_lv_ll_ins_tail+0x48>) - 105e4: 4798 blx r3 + 10646: 002a movs r2, r5 + 10648: 0020 movs r0, r4 + 1064a: 4b06 ldr r3, [pc, #24] ; (10664 <_lv_ll_ins_tail+0x48>) + 1064c: 4798 blx r3 ll_p->tail = n_new; /*Set the new tail in the dsc.*/ - 105e6: 60a5 str r5, [r4, #8] + 1064e: 60a5 str r5, [r4, #8] if(ll_p->head == NULL) { /*If there is no head (1. node) set the head too*/ - 105e8: 6863 ldr r3, [r4, #4] - 105ea: 2b00 cmp r3, #0 - 105ec: d001 beq.n 105f2 <_lv_ll_ins_tail+0x3e> + 10650: 6863 ldr r3, [r4, #4] + 10652: 2b00 cmp r3, #0 + 10654: d001 beq.n 1065a <_lv_ll_ins_tail+0x3e> } - 105ee: 0028 movs r0, r5 - 105f0: bd70 pop {r4, r5, r6, pc} + 10656: 0028 movs r0, r5 + 10658: bd70 pop {r4, r5, r6, pc} ll_p->head = n_new; - 105f2: 6065 str r5, [r4, #4] - 105f4: e7fb b.n 105ee <_lv_ll_ins_tail+0x3a> - 105f6: 46c0 nop ; (mov r8, r8) - 105f8: 00010a09 .word 0x00010a09 - 105fc: 000104dd .word 0x000104dd - 10600: 00010519 .word 0x00010519 - -00010604 <_lv_ll_get_head>: + 1065a: 6065 str r5, [r4, #4] + 1065c: e7fb b.n 10656 <_lv_ll_ins_tail+0x3a> + 1065e: 46c0 nop ; (mov r8, r8) + 10660: 00010a71 .word 0x00010a71 + 10664: 00010545 .word 0x00010545 + 10668: 00010581 .word 0x00010581 + +0001066c <_lv_ll_get_head>: if(ll_p != NULL) { - 10604: 2800 cmp r0, #0 - 10606: d001 beq.n 1060c <_lv_ll_get_head+0x8> + 1066c: 2800 cmp r0, #0 + 1066e: d001 beq.n 10674 <_lv_ll_get_head+0x8> head = ll_p->head; - 10608: 6840 ldr r0, [r0, #4] + 10670: 6840 ldr r0, [r0, #4] } - 1060a: 4770 bx lr + 10672: 4770 bx lr void * head = NULL; - 1060c: 2000 movs r0, #0 + 10674: 2000 movs r0, #0 return head; - 1060e: e7fc b.n 1060a <_lv_ll_get_head+0x6> + 10676: e7fc b.n 10672 <_lv_ll_get_head+0x6> -00010610 <_lv_ll_get_tail>: +00010678 <_lv_ll_get_tail>: if(ll_p != NULL) { - 10610: 2800 cmp r0, #0 - 10612: d001 beq.n 10618 <_lv_ll_get_tail+0x8> + 10678: 2800 cmp r0, #0 + 1067a: d001 beq.n 10680 <_lv_ll_get_tail+0x8> tail = ll_p->tail; - 10614: 6880 ldr r0, [r0, #8] + 1067c: 6880 ldr r0, [r0, #8] } - 10616: 4770 bx lr + 1067e: 4770 bx lr void * tail = NULL; - 10618: 2000 movs r0, #0 + 10680: 2000 movs r0, #0 return tail; - 1061a: e7fc b.n 10616 <_lv_ll_get_tail+0x6> + 10682: e7fc b.n 1067e <_lv_ll_get_tail+0x6> -0001061c <_lv_ll_get_next>: +00010684 <_lv_ll_get_next>: { - 1061c: b082 sub sp, #8 + 10684: b082 sub sp, #8 void * next = NULL; - 1061e: 2300 movs r3, #0 - 10620: 9301 str r3, [sp, #4] + 10686: 2300 movs r3, #0 + 10688: 9301 str r3, [sp, #4] if(ll_p != NULL) { - 10622: 2800 cmp r0, #0 - 10624: d00b beq.n 1063e <_lv_ll_get_next+0x22> + 1068a: 2800 cmp r0, #0 + 1068c: d00b beq.n 106a6 <_lv_ll_get_next+0x22> _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); - 10626: 6803 ldr r3, [r0, #0] - 10628: 3304 adds r3, #4 - 1062a: 18c9 adds r1, r1, r3 - 1062c: ab01 add r3, sp, #4 - 1062e: 780a ldrb r2, [r1, #0] - 10630: 701a strb r2, [r3, #0] - 10632: 784a ldrb r2, [r1, #1] - 10634: 705a strb r2, [r3, #1] - 10636: 788a ldrb r2, [r1, #2] - 10638: 709a strb r2, [r3, #2] - 1063a: 78ca ldrb r2, [r1, #3] - 1063c: 70da strb r2, [r3, #3] -} - 1063e: 9801 ldr r0, [sp, #4] - 10640: b002 add sp, #8 - 10642: 4770 bx lr - -00010644 <_lv_ll_get_prev>: -{ - 10644: b082 sub sp, #8 + 1068e: 6803 ldr r3, [r0, #0] + 10690: 3304 adds r3, #4 + 10692: 18c9 adds r1, r1, r3 + 10694: ab01 add r3, sp, #4 + 10696: 780a ldrb r2, [r1, #0] + 10698: 701a strb r2, [r3, #0] + 1069a: 784a ldrb r2, [r1, #1] + 1069c: 705a strb r2, [r3, #1] + 1069e: 788a ldrb r2, [r1, #2] + 106a0: 709a strb r2, [r3, #2] + 106a2: 78ca ldrb r2, [r1, #3] + 106a4: 70da strb r2, [r3, #3] +} + 106a6: 9801 ldr r0, [sp, #4] + 106a8: b002 add sp, #8 + 106aa: 4770 bx lr + +000106ac <_lv_ll_get_prev>: +{ + 106ac: b082 sub sp, #8 void * prev = NULL; - 10646: 2300 movs r3, #0 - 10648: 9301 str r3, [sp, #4] + 106ae: 2300 movs r3, #0 + 106b0: 9301 str r3, [sp, #4] if(ll_p != NULL) { - 1064a: 2800 cmp r0, #0 - 1064c: d00a beq.n 10664 <_lv_ll_get_prev+0x20> + 106b2: 2800 cmp r0, #0 + 106b4: d00a beq.n 106cc <_lv_ll_get_prev+0x20> _lv_memcpy_small(&prev, n_act_d + LL_PREV_P_OFFSET(ll_p), sizeof(void *)); - 1064e: 6803 ldr r3, [r0, #0] - 10650: 18c9 adds r1, r1, r3 - 10652: ab01 add r3, sp, #4 - 10654: 780a ldrb r2, [r1, #0] - 10656: 701a strb r2, [r3, #0] - 10658: 784a ldrb r2, [r1, #1] - 1065a: 705a strb r2, [r3, #1] - 1065c: 788a ldrb r2, [r1, #2] - 1065e: 709a strb r2, [r3, #2] - 10660: 78ca ldrb r2, [r1, #3] - 10662: 70da strb r2, [r3, #3] -} - 10664: 9801 ldr r0, [sp, #4] - 10666: b002 add sp, #8 - 10668: 4770 bx lr + 106b6: 6803 ldr r3, [r0, #0] + 106b8: 18c9 adds r1, r1, r3 + 106ba: ab01 add r3, sp, #4 + 106bc: 780a ldrb r2, [r1, #0] + 106be: 701a strb r2, [r3, #0] + 106c0: 784a ldrb r2, [r1, #1] + 106c2: 705a strb r2, [r3, #1] + 106c4: 788a ldrb r2, [r1, #2] + 106c6: 709a strb r2, [r3, #2] + 106c8: 78ca ldrb r2, [r1, #3] + 106ca: 70da strb r2, [r3, #3] +} + 106cc: 9801 ldr r0, [sp, #4] + 106ce: b002 add sp, #8 + 106d0: 4770 bx lr ... -0001066c <_lv_ll_ins_prev>: +000106d4 <_lv_ll_ins_prev>: { - 1066c: b5f0 push {r4, r5, r6, r7, lr} - 1066e: 46c6 mov lr, r8 - 10670: b500 push {lr} - 10672: 0004 movs r4, r0 - 10674: 000e movs r6, r1 + 106d4: b5f0 push {r4, r5, r6, r7, lr} + 106d6: 46c6 mov lr, r8 + 106d8: b500 push {lr} + 106da: 0004 movs r4, r0 + 106dc: 000e movs r6, r1 if(NULL == ll_p || NULL == n_act) return NULL; - 10676: 2800 cmp r0, #0 - 10678: d029 beq.n 106ce <_lv_ll_ins_prev+0x62> - 1067a: 2900 cmp r1, #0 - 1067c: d029 beq.n 106d2 <_lv_ll_ins_prev+0x66> + 106de: 2800 cmp r0, #0 + 106e0: d029 beq.n 10736 <_lv_ll_ins_prev+0x62> + 106e2: 2900 cmp r1, #0 + 106e4: d029 beq.n 1073a <_lv_ll_ins_prev+0x66> if(_lv_ll_get_head(ll_p) == n_act) { - 1067e: 6843 ldr r3, [r0, #4] - 10680: 4299 cmp r1, r3 - 10682: d021 beq.n 106c8 <_lv_ll_ins_prev+0x5c> + 106e6: 6843 ldr r3, [r0, #4] + 106e8: 4299 cmp r1, r3 + 106ea: d021 beq.n 10730 <_lv_ll_ins_prev+0x5c> n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 10684: 6800 ldr r0, [r0, #0] - 10686: 3008 adds r0, #8 - 10688: 4b13 ldr r3, [pc, #76] ; (106d8 <_lv_ll_ins_prev+0x6c>) - 1068a: 4798 blx r3 - 1068c: 1e05 subs r5, r0, #0 + 106ec: 6800 ldr r0, [r0, #0] + 106ee: 3008 adds r0, #8 + 106f0: 4b13 ldr r3, [pc, #76] ; (10740 <_lv_ll_ins_prev+0x6c>) + 106f2: 4798 blx r3 + 106f4: 1e05 subs r5, r0, #0 if(n_new == NULL) return NULL; - 1068e: d018 beq.n 106c2 <_lv_ll_ins_prev+0x56> + 106f6: d018 beq.n 1072a <_lv_ll_ins_prev+0x56> n_prev = _lv_ll_get_prev(ll_p, n_act); - 10690: 0031 movs r1, r6 - 10692: 0020 movs r0, r4 - 10694: 4b11 ldr r3, [pc, #68] ; (106dc <_lv_ll_ins_prev+0x70>) - 10696: 4798 blx r3 - 10698: 0007 movs r7, r0 + 106f8: 0031 movs r1, r6 + 106fa: 0020 movs r0, r4 + 106fc: 4b11 ldr r3, [pc, #68] ; (10744 <_lv_ll_ins_prev+0x70>) + 106fe: 4798 blx r3 + 10700: 0007 movs r7, r0 node_set_next(ll_p, n_prev, n_new); - 1069a: 002a movs r2, r5 - 1069c: 0001 movs r1, r0 - 1069e: 0020 movs r0, r4 - 106a0: 4b0f ldr r3, [pc, #60] ; (106e0 <_lv_ll_ins_prev+0x74>) - 106a2: 4698 mov r8, r3 - 106a4: 4798 blx r3 + 10702: 002a movs r2, r5 + 10704: 0001 movs r1, r0 + 10706: 0020 movs r0, r4 + 10708: 4b0f ldr r3, [pc, #60] ; (10748 <_lv_ll_ins_prev+0x74>) + 1070a: 4698 mov r8, r3 + 1070c: 4798 blx r3 node_set_prev(ll_p, n_new, n_prev); - 106a6: 003a movs r2, r7 - 106a8: 0029 movs r1, r5 - 106aa: 0020 movs r0, r4 - 106ac: 4f0d ldr r7, [pc, #52] ; (106e4 <_lv_ll_ins_prev+0x78>) - 106ae: 47b8 blx r7 + 1070e: 003a movs r2, r7 + 10710: 0029 movs r1, r5 + 10712: 0020 movs r0, r4 + 10714: 4f0d ldr r7, [pc, #52] ; (1074c <_lv_ll_ins_prev+0x78>) + 10716: 47b8 blx r7 node_set_prev(ll_p, n_act, n_new); - 106b0: 002a movs r2, r5 - 106b2: 0031 movs r1, r6 - 106b4: 0020 movs r0, r4 - 106b6: 47b8 blx r7 + 10718: 002a movs r2, r5 + 1071a: 0031 movs r1, r6 + 1071c: 0020 movs r0, r4 + 1071e: 47b8 blx r7 node_set_next(ll_p, n_new, n_act); - 106b8: 0032 movs r2, r6 - 106ba: 0029 movs r1, r5 - 106bc: 0020 movs r0, r4 - 106be: 47c0 blx r8 + 10720: 0032 movs r2, r6 + 10722: 0029 movs r1, r5 + 10724: 0020 movs r0, r4 + 10726: 47c0 blx r8 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 106c0: 0028 movs r0, r5 + 10728: 0028 movs r0, r5 } - 106c2: bc04 pop {r2} - 106c4: 4690 mov r8, r2 - 106c6: bdf0 pop {r4, r5, r6, r7, pc} + 1072a: bc04 pop {r2} + 1072c: 4690 mov r8, r2 + 1072e: bdf0 pop {r4, r5, r6, r7, pc} n_new = _lv_ll_ins_head(ll_p); - 106c8: 4b07 ldr r3, [pc, #28] ; (106e8 <_lv_ll_ins_prev+0x7c>) - 106ca: 4798 blx r3 - 106cc: e7f9 b.n 106c2 <_lv_ll_ins_prev+0x56> + 10730: 4b07 ldr r3, [pc, #28] ; (10750 <_lv_ll_ins_prev+0x7c>) + 10732: 4798 blx r3 + 10734: e7f9 b.n 1072a <_lv_ll_ins_prev+0x56> if(NULL == ll_p || NULL == n_act) return NULL; - 106ce: 2000 movs r0, #0 - 106d0: e7f7 b.n 106c2 <_lv_ll_ins_prev+0x56> - 106d2: 0008 movs r0, r1 - 106d4: e7f5 b.n 106c2 <_lv_ll_ins_prev+0x56> - 106d6: 46c0 nop ; (mov r8, r8) - 106d8: 00010a09 .word 0x00010a09 - 106dc: 00010645 .word 0x00010645 - 106e0: 000104dd .word 0x000104dd - 106e4: 00010519 .word 0x00010519 - 106e8: 00010565 .word 0x00010565 - -000106ec <_lv_ll_remove>: -{ - 106ec: b570 push {r4, r5, r6, lr} - 106ee: 0004 movs r4, r0 - 106f0: 000d movs r5, r1 + 10736: 2000 movs r0, #0 + 10738: e7f7 b.n 1072a <_lv_ll_ins_prev+0x56> + 1073a: 0008 movs r0, r1 + 1073c: e7f5 b.n 1072a <_lv_ll_ins_prev+0x56> + 1073e: 46c0 nop ; (mov r8, r8) + 10740: 00010a71 .word 0x00010a71 + 10744: 000106ad .word 0x000106ad + 10748: 00010545 .word 0x00010545 + 1074c: 00010581 .word 0x00010581 + 10750: 000105cd .word 0x000105cd + +00010754 <_lv_ll_remove>: +{ + 10754: b570 push {r4, r5, r6, lr} + 10756: 0004 movs r4, r0 + 10758: 000d movs r5, r1 if(ll_p != NULL) { - 106f2: 2800 cmp r0, #0 - 106f4: d02b beq.n 1074e <_lv_ll_remove+0x62> + 1075a: 2800 cmp r0, #0 + 1075c: d02b beq.n 107b6 <_lv_ll_remove+0x62> if(_lv_ll_get_head(ll_p) == node_p) { - 106f6: 6843 ldr r3, [r0, #4] - 106f8: 4299 cmp r1, r3 - 106fa: d02a beq.n 10752 <_lv_ll_remove+0x66> + 1075e: 6843 ldr r3, [r0, #4] + 10760: 4299 cmp r1, r3 + 10762: d02a beq.n 107ba <_lv_ll_remove+0x66> else if(_lv_ll_get_tail(ll_p) == node_p) { - 106fc: 6883 ldr r3, [r0, #8] - 106fe: 4299 cmp r1, r3 - 10700: d017 beq.n 10732 <_lv_ll_remove+0x46> + 10764: 6883 ldr r3, [r0, #8] + 10766: 4299 cmp r1, r3 + 10768: d017 beq.n 1079a <_lv_ll_remove+0x46> lv_ll_node_t * n_prev = _lv_ll_get_prev(ll_p, node_p); - 10702: 0029 movs r1, r5 - 10704: 0020 movs r0, r4 - 10706: 4b19 ldr r3, [pc, #100] ; (1076c <_lv_ll_remove+0x80>) - 10708: 4798 blx r3 - 1070a: 0006 movs r6, r0 + 1076a: 0029 movs r1, r5 + 1076c: 0020 movs r0, r4 + 1076e: 4b19 ldr r3, [pc, #100] ; (107d4 <_lv_ll_remove+0x80>) + 10770: 4798 blx r3 + 10772: 0006 movs r6, r0 lv_ll_node_t * n_next = _lv_ll_get_next(ll_p, node_p); - 1070c: 0029 movs r1, r5 - 1070e: 0020 movs r0, r4 - 10710: 4b17 ldr r3, [pc, #92] ; (10770 <_lv_ll_remove+0x84>) - 10712: 4798 blx r3 - 10714: 0005 movs r5, r0 + 10774: 0029 movs r1, r5 + 10776: 0020 movs r0, r4 + 10778: 4b17 ldr r3, [pc, #92] ; (107d8 <_lv_ll_remove+0x84>) + 1077a: 4798 blx r3 + 1077c: 0005 movs r5, r0 node_set_next(ll_p, n_prev, n_next); - 10716: 0002 movs r2, r0 - 10718: 0031 movs r1, r6 - 1071a: 0020 movs r0, r4 - 1071c: 4b15 ldr r3, [pc, #84] ; (10774 <_lv_ll_remove+0x88>) - 1071e: 4798 blx r3 + 1077e: 0002 movs r2, r0 + 10780: 0031 movs r1, r6 + 10782: 0020 movs r0, r4 + 10784: 4b15 ldr r3, [pc, #84] ; (107dc <_lv_ll_remove+0x88>) + 10786: 4798 blx r3 node_set_prev(ll_p, n_next, n_prev); - 10720: 0032 movs r2, r6 - 10722: 0029 movs r1, r5 - 10724: 0020 movs r0, r4 - 10726: 4b14 ldr r3, [pc, #80] ; (10778 <_lv_ll_remove+0x8c>) - 10728: 4798 blx r3 + 10788: 0032 movs r2, r6 + 1078a: 0029 movs r1, r5 + 1078c: 0020 movs r0, r4 + 1078e: 4b14 ldr r3, [pc, #80] ; (107e0 <_lv_ll_remove+0x8c>) + 10790: 4798 blx r3 } - 1072a: bd70 pop {r4, r5, r6, pc} + 10792: bd70 pop {r4, r5, r6, pc} ll_p->tail = NULL; - 1072c: 2300 movs r3, #0 - 1072e: 60a3 str r3, [r4, #8] - 10730: e7fb b.n 1072a <_lv_ll_remove+0x3e> + 10794: 2300 movs r3, #0 + 10796: 60a3 str r3, [r4, #8] + 10798: e7fb b.n 10792 <_lv_ll_remove+0x3e> ll_p->tail = _lv_ll_get_prev(ll_p, node_p); - 10732: 4b0e ldr r3, [pc, #56] ; (1076c <_lv_ll_remove+0x80>) - 10734: 4798 blx r3 - 10736: 60a0 str r0, [r4, #8] + 1079a: 4b0e ldr r3, [pc, #56] ; (107d4 <_lv_ll_remove+0x80>) + 1079c: 4798 blx r3 + 1079e: 60a0 str r0, [r4, #8] if(ll_p->tail == NULL) { - 10738: 2800 cmp r0, #0 - 1073a: d005 beq.n 10748 <_lv_ll_remove+0x5c> + 107a0: 2800 cmp r0, #0 + 107a2: d005 beq.n 107b0 <_lv_ll_remove+0x5c> node_set_next(ll_p, ll_p->tail, NULL); - 1073c: 2200 movs r2, #0 - 1073e: 0001 movs r1, r0 - 10740: 0020 movs r0, r4 - 10742: 4b0c ldr r3, [pc, #48] ; (10774 <_lv_ll_remove+0x88>) - 10744: 4798 blx r3 - 10746: e7f0 b.n 1072a <_lv_ll_remove+0x3e> + 107a4: 2200 movs r2, #0 + 107a6: 0001 movs r1, r0 + 107a8: 0020 movs r0, r4 + 107aa: 4b0c ldr r3, [pc, #48] ; (107dc <_lv_ll_remove+0x88>) + 107ac: 4798 blx r3 + 107ae: e7f0 b.n 10792 <_lv_ll_remove+0x3e> ll_p->head = NULL; - 10748: 2300 movs r3, #0 - 1074a: 6063 str r3, [r4, #4] - 1074c: e7ed b.n 1072a <_lv_ll_remove+0x3e> + 107b0: 2300 movs r3, #0 + 107b2: 6063 str r3, [r4, #4] + 107b4: e7ed b.n 10792 <_lv_ll_remove+0x3e> if(_lv_ll_get_head(ll_p) == node_p) { - 1074e: 2900 cmp r1, #0 - 10750: d1d7 bne.n 10702 <_lv_ll_remove+0x16> + 107b6: 2900 cmp r1, #0 + 107b8: d1d7 bne.n 1076a <_lv_ll_remove+0x16> ll_p->head = _lv_ll_get_next(ll_p, node_p); - 10752: 0029 movs r1, r5 - 10754: 0020 movs r0, r4 - 10756: 4b06 ldr r3, [pc, #24] ; (10770 <_lv_ll_remove+0x84>) - 10758: 4798 blx r3 - 1075a: 6060 str r0, [r4, #4] + 107ba: 0029 movs r1, r5 + 107bc: 0020 movs r0, r4 + 107be: 4b06 ldr r3, [pc, #24] ; (107d8 <_lv_ll_remove+0x84>) + 107c0: 4798 blx r3 + 107c2: 6060 str r0, [r4, #4] if(ll_p->head == NULL) { - 1075c: 2800 cmp r0, #0 - 1075e: d0e5 beq.n 1072c <_lv_ll_remove+0x40> + 107c4: 2800 cmp r0, #0 + 107c6: d0e5 beq.n 10794 <_lv_ll_remove+0x40> node_set_prev(ll_p, ll_p->head, NULL); - 10760: 2200 movs r2, #0 - 10762: 0001 movs r1, r0 - 10764: 0020 movs r0, r4 - 10766: 4b04 ldr r3, [pc, #16] ; (10778 <_lv_ll_remove+0x8c>) - 10768: 4798 blx r3 - 1076a: e7de b.n 1072a <_lv_ll_remove+0x3e> - 1076c: 00010645 .word 0x00010645 - 10770: 0001061d .word 0x0001061d - 10774: 000104dd .word 0x000104dd - 10778: 00010519 .word 0x00010519 - -0001077c <_lv_ll_chg_list>: -{ - 1077c: b570 push {r4, r5, r6, lr} - 1077e: 000c movs r4, r1 - 10780: 0015 movs r5, r2 - 10782: 001e movs r6, r3 + 107c8: 2200 movs r2, #0 + 107ca: 0001 movs r1, r0 + 107cc: 0020 movs r0, r4 + 107ce: 4b04 ldr r3, [pc, #16] ; (107e0 <_lv_ll_remove+0x8c>) + 107d0: 4798 blx r3 + 107d2: e7de b.n 10792 <_lv_ll_remove+0x3e> + 107d4: 000106ad .word 0x000106ad + 107d8: 00010685 .word 0x00010685 + 107dc: 00010545 .word 0x00010545 + 107e0: 00010581 .word 0x00010581 + +000107e4 <_lv_ll_chg_list>: +{ + 107e4: b570 push {r4, r5, r6, lr} + 107e6: 000c movs r4, r1 + 107e8: 0015 movs r5, r2 + 107ea: 001e movs r6, r3 _lv_ll_remove(ll_ori_p, node); - 10784: 0011 movs r1, r2 - 10786: 4b19 ldr r3, [pc, #100] ; (107ec <_lv_ll_chg_list+0x70>) - 10788: 4798 blx r3 + 107ec: 0011 movs r1, r2 + 107ee: 4b19 ldr r3, [pc, #100] ; (10854 <_lv_ll_chg_list+0x70>) + 107f0: 4798 blx r3 if(head) { - 1078a: 2e00 cmp r6, #0 - 1078c: d017 beq.n 107be <_lv_ll_chg_list+0x42> + 107f2: 2e00 cmp r6, #0 + 107f4: d017 beq.n 10826 <_lv_ll_chg_list+0x42> node_set_prev(ll_new_p, node, NULL); - 1078e: 2200 movs r2, #0 - 10790: 0029 movs r1, r5 - 10792: 0020 movs r0, r4 - 10794: 4b16 ldr r3, [pc, #88] ; (107f0 <_lv_ll_chg_list+0x74>) - 10796: 4798 blx r3 + 107f6: 2200 movs r2, #0 + 107f8: 0029 movs r1, r5 + 107fa: 0020 movs r0, r4 + 107fc: 4b16 ldr r3, [pc, #88] ; (10858 <_lv_ll_chg_list+0x74>) + 107fe: 4798 blx r3 node_set_next(ll_new_p, node, ll_new_p->head); - 10798: 6862 ldr r2, [r4, #4] - 1079a: 0029 movs r1, r5 - 1079c: 0020 movs r0, r4 - 1079e: 4b15 ldr r3, [pc, #84] ; (107f4 <_lv_ll_chg_list+0x78>) - 107a0: 4798 blx r3 + 10800: 6862 ldr r2, [r4, #4] + 10802: 0029 movs r1, r5 + 10804: 0020 movs r0, r4 + 10806: 4b15 ldr r3, [pc, #84] ; (1085c <_lv_ll_chg_list+0x78>) + 10808: 4798 blx r3 if(ll_new_p->head != NULL) { /*If there is old head then before it goes the new*/ - 107a2: 6861 ldr r1, [r4, #4] - 107a4: 2900 cmp r1, #0 - 107a6: d003 beq.n 107b0 <_lv_ll_chg_list+0x34> + 1080a: 6861 ldr r1, [r4, #4] + 1080c: 2900 cmp r1, #0 + 1080e: d003 beq.n 10818 <_lv_ll_chg_list+0x34> node_set_prev(ll_new_p, ll_new_p->head, node); - 107a8: 002a movs r2, r5 - 107aa: 0020 movs r0, r4 - 107ac: 4b10 ldr r3, [pc, #64] ; (107f0 <_lv_ll_chg_list+0x74>) - 107ae: 4798 blx r3 + 10810: 002a movs r2, r5 + 10812: 0020 movs r0, r4 + 10814: 4b10 ldr r3, [pc, #64] ; (10858 <_lv_ll_chg_list+0x74>) + 10816: 4798 blx r3 ll_new_p->head = node; /*Set the new head in the dsc.*/ - 107b0: 6065 str r5, [r4, #4] + 10818: 6065 str r5, [r4, #4] if(ll_new_p->tail == NULL) { /*If there is no tail (first node) set the tail too*/ - 107b2: 68a3 ldr r3, [r4, #8] - 107b4: 2b00 cmp r3, #0 - 107b6: d000 beq.n 107ba <_lv_ll_chg_list+0x3e> + 1081a: 68a3 ldr r3, [r4, #8] + 1081c: 2b00 cmp r3, #0 + 1081e: d000 beq.n 10822 <_lv_ll_chg_list+0x3e> } - 107b8: bd70 pop {r4, r5, r6, pc} + 10820: bd70 pop {r4, r5, r6, pc} ll_new_p->tail = node; - 107ba: 60a5 str r5, [r4, #8] - 107bc: e7fc b.n 107b8 <_lv_ll_chg_list+0x3c> + 10822: 60a5 str r5, [r4, #8] + 10824: e7fc b.n 10820 <_lv_ll_chg_list+0x3c> node_set_prev(ll_new_p, node, ll_new_p->tail); - 107be: 68a2 ldr r2, [r4, #8] - 107c0: 0029 movs r1, r5 - 107c2: 0020 movs r0, r4 - 107c4: 4b0a ldr r3, [pc, #40] ; (107f0 <_lv_ll_chg_list+0x74>) - 107c6: 4798 blx r3 + 10826: 68a2 ldr r2, [r4, #8] + 10828: 0029 movs r1, r5 + 1082a: 0020 movs r0, r4 + 1082c: 4b0a ldr r3, [pc, #40] ; (10858 <_lv_ll_chg_list+0x74>) + 1082e: 4798 blx r3 node_set_next(ll_new_p, node, NULL); - 107c8: 2200 movs r2, #0 - 107ca: 0029 movs r1, r5 - 107cc: 0020 movs r0, r4 - 107ce: 4b09 ldr r3, [pc, #36] ; (107f4 <_lv_ll_chg_list+0x78>) - 107d0: 4798 blx r3 + 10830: 2200 movs r2, #0 + 10832: 0029 movs r1, r5 + 10834: 0020 movs r0, r4 + 10836: 4b09 ldr r3, [pc, #36] ; (1085c <_lv_ll_chg_list+0x78>) + 10838: 4798 blx r3 if(ll_new_p->tail != NULL) { /*If there is old tail then after it goes the new*/ - 107d2: 68a1 ldr r1, [r4, #8] - 107d4: 2900 cmp r1, #0 - 107d6: d003 beq.n 107e0 <_lv_ll_chg_list+0x64> + 1083a: 68a1 ldr r1, [r4, #8] + 1083c: 2900 cmp r1, #0 + 1083e: d003 beq.n 10848 <_lv_ll_chg_list+0x64> node_set_next(ll_new_p, ll_new_p->tail, node); - 107d8: 002a movs r2, r5 - 107da: 0020 movs r0, r4 - 107dc: 4b05 ldr r3, [pc, #20] ; (107f4 <_lv_ll_chg_list+0x78>) - 107de: 4798 blx r3 + 10840: 002a movs r2, r5 + 10842: 0020 movs r0, r4 + 10844: 4b05 ldr r3, [pc, #20] ; (1085c <_lv_ll_chg_list+0x78>) + 10846: 4798 blx r3 ll_new_p->tail = node; /*Set the new tail in the dsc.*/ - 107e0: 60a5 str r5, [r4, #8] + 10848: 60a5 str r5, [r4, #8] if(ll_new_p->head == NULL) { /*If there is no head (first node) set the head too*/ - 107e2: 6863 ldr r3, [r4, #4] - 107e4: 2b00 cmp r3, #0 - 107e6: d1e7 bne.n 107b8 <_lv_ll_chg_list+0x3c> + 1084a: 6863 ldr r3, [r4, #4] + 1084c: 2b00 cmp r3, #0 + 1084e: d1e7 bne.n 10820 <_lv_ll_chg_list+0x3c> ll_new_p->head = node; - 107e8: 6065 str r5, [r4, #4] -} - 107ea: e7e5 b.n 107b8 <_lv_ll_chg_list+0x3c> - 107ec: 000106ed .word 0x000106ed - 107f0: 00010519 .word 0x00010519 - 107f4: 000104dd .word 0x000104dd - -000107f8 <_lv_ll_move_before>: -{ - 107f8: b5f8 push {r3, r4, r5, r6, r7, lr} - 107fa: 46ce mov lr, r9 - 107fc: 4647 mov r7, r8 - 107fe: b580 push {r7, lr} - 10800: 0005 movs r5, r0 - 10802: 000c movs r4, r1 - 10804: 0016 movs r6, r2 + 10850: 6065 str r5, [r4, #4] +} + 10852: e7e5 b.n 10820 <_lv_ll_chg_list+0x3c> + 10854: 00010755 .word 0x00010755 + 10858: 00010581 .word 0x00010581 + 1085c: 00010545 .word 0x00010545 + +00010860 <_lv_ll_move_before>: +{ + 10860: b5f8 push {r3, r4, r5, r6, r7, lr} + 10862: 46ce mov lr, r9 + 10864: 4647 mov r7, r8 + 10866: b580 push {r7, lr} + 10868: 0005 movs r5, r0 + 1086a: 000c movs r4, r1 + 1086c: 0016 movs r6, r2 if(n_act == n_after) return; /*Can't move before itself*/ - 10806: 4291 cmp r1, r2 - 10808: d021 beq.n 1084e <_lv_ll_move_before+0x56> + 1086e: 4291 cmp r1, r2 + 10870: d021 beq.n 108b6 <_lv_ll_move_before+0x56> if(n_after != NULL) - 1080a: 2a00 cmp r2, #0 - 1080c: d023 beq.n 10856 <_lv_ll_move_before+0x5e> + 10872: 2a00 cmp r2, #0 + 10874: d023 beq.n 108be <_lv_ll_move_before+0x5e> n_before = _lv_ll_get_prev(ll_p, n_after); - 1080e: 0011 movs r1, r2 - 10810: 4b22 ldr r3, [pc, #136] ; (1089c <_lv_ll_move_before+0xa4>) - 10812: 4798 blx r3 - 10814: 0007 movs r7, r0 + 10876: 0011 movs r1, r2 + 10878: 4b22 ldr r3, [pc, #136] ; (10904 <_lv_ll_move_before+0xa4>) + 1087a: 4798 blx r3 + 1087c: 0007 movs r7, r0 if(n_act == n_before) return; /*Already before `n_after`*/ - 10816: 4284 cmp r4, r0 - 10818: d019 beq.n 1084e <_lv_ll_move_before+0x56> + 1087e: 4284 cmp r4, r0 + 10880: d019 beq.n 108b6 <_lv_ll_move_before+0x56> _lv_ll_remove(ll_p, n_act); - 1081a: 0021 movs r1, r4 - 1081c: 0028 movs r0, r5 - 1081e: 4b20 ldr r3, [pc, #128] ; (108a0 <_lv_ll_move_before+0xa8>) - 10820: 4798 blx r3 + 10882: 0021 movs r1, r4 + 10884: 0028 movs r0, r5 + 10886: 4b20 ldr r3, [pc, #128] ; (10908 <_lv_ll_move_before+0xa8>) + 10888: 4798 blx r3 node_set_next(ll_p, n_before, n_act); - 10822: 0022 movs r2, r4 - 10824: 0039 movs r1, r7 - 10826: 0028 movs r0, r5 - 10828: 4b1e ldr r3, [pc, #120] ; (108a4 <_lv_ll_move_before+0xac>) - 1082a: 4698 mov r8, r3 - 1082c: 4798 blx r3 + 1088a: 0022 movs r2, r4 + 1088c: 0039 movs r1, r7 + 1088e: 0028 movs r0, r5 + 10890: 4b1e ldr r3, [pc, #120] ; (1090c <_lv_ll_move_before+0xac>) + 10892: 4698 mov r8, r3 + 10894: 4798 blx r3 node_set_prev(ll_p, n_act, n_before); - 1082e: 003a movs r2, r7 - 10830: 0021 movs r1, r4 - 10832: 0028 movs r0, r5 - 10834: 4b1c ldr r3, [pc, #112] ; (108a8 <_lv_ll_move_before+0xb0>) - 10836: 4699 mov r9, r3 - 10838: 4798 blx r3 + 10896: 003a movs r2, r7 + 10898: 0021 movs r1, r4 + 1089a: 0028 movs r0, r5 + 1089c: 4b1c ldr r3, [pc, #112] ; (10910 <_lv_ll_move_before+0xb0>) + 1089e: 4699 mov r9, r3 + 108a0: 4798 blx r3 node_set_prev(ll_p, n_after, n_act); - 1083a: 0022 movs r2, r4 - 1083c: 0031 movs r1, r6 - 1083e: 0028 movs r0, r5 - 10840: 47c8 blx r9 + 108a2: 0022 movs r2, r4 + 108a4: 0031 movs r1, r6 + 108a6: 0028 movs r0, r5 + 108a8: 47c8 blx r9 node_set_next(ll_p, n_act, n_after); - 10842: 0032 movs r2, r6 - 10844: 0021 movs r1, r4 - 10846: 0028 movs r0, r5 - 10848: 47c0 blx r8 + 108aa: 0032 movs r2, r6 + 108ac: 0021 movs r1, r4 + 108ae: 0028 movs r0, r5 + 108b0: 47c0 blx r8 if(n_before == NULL) ll_p->head = n_act; - 1084a: 2f00 cmp r7, #0 - 1084c: d021 beq.n 10892 <_lv_ll_move_before+0x9a> + 108b2: 2f00 cmp r7, #0 + 108b4: d021 beq.n 108fa <_lv_ll_move_before+0x9a> } - 1084e: bc0c pop {r2, r3} - 10850: 4690 mov r8, r2 - 10852: 4699 mov r9, r3 - 10854: bdf8 pop {r3, r4, r5, r6, r7, pc} + 108b6: bc0c pop {r2, r3} + 108b8: 4690 mov r8, r2 + 108ba: 4699 mov r9, r3 + 108bc: bdf8 pop {r3, r4, r5, r6, r7, pc} if(ll_p != NULL) { - 10856: 2800 cmp r0, #0 - 10858: d01d beq.n 10896 <_lv_ll_move_before+0x9e> + 108be: 2800 cmp r0, #0 + 108c0: d01d beq.n 108fe <_lv_ll_move_before+0x9e> tail = ll_p->tail; - 1085a: 6887 ldr r7, [r0, #8] + 108c2: 6887 ldr r7, [r0, #8] if(n_act == n_before) return; /*Already before `n_after`*/ - 1085c: 42bc cmp r4, r7 - 1085e: d0f6 beq.n 1084e <_lv_ll_move_before+0x56> + 108c4: 42bc cmp r4, r7 + 108c6: d0f6 beq.n 108b6 <_lv_ll_move_before+0x56> _lv_ll_remove(ll_p, n_act); - 10860: 0021 movs r1, r4 - 10862: 0028 movs r0, r5 - 10864: 4b0e ldr r3, [pc, #56] ; (108a0 <_lv_ll_move_before+0xa8>) - 10866: 4798 blx r3 + 108c8: 0021 movs r1, r4 + 108ca: 0028 movs r0, r5 + 108cc: 4b0e ldr r3, [pc, #56] ; (10908 <_lv_ll_move_before+0xa8>) + 108ce: 4798 blx r3 node_set_next(ll_p, n_before, n_act); - 10868: 0022 movs r2, r4 - 1086a: 0039 movs r1, r7 - 1086c: 0028 movs r0, r5 - 1086e: 4e0d ldr r6, [pc, #52] ; (108a4 <_lv_ll_move_before+0xac>) - 10870: 47b0 blx r6 + 108d0: 0022 movs r2, r4 + 108d2: 0039 movs r1, r7 + 108d4: 0028 movs r0, r5 + 108d6: 4e0d ldr r6, [pc, #52] ; (1090c <_lv_ll_move_before+0xac>) + 108d8: 47b0 blx r6 node_set_prev(ll_p, n_act, n_before); - 10872: 003a movs r2, r7 - 10874: 0021 movs r1, r4 - 10876: 0028 movs r0, r5 - 10878: 4b0b ldr r3, [pc, #44] ; (108a8 <_lv_ll_move_before+0xb0>) - 1087a: 4698 mov r8, r3 - 1087c: 4798 blx r3 + 108da: 003a movs r2, r7 + 108dc: 0021 movs r1, r4 + 108de: 0028 movs r0, r5 + 108e0: 4b0b ldr r3, [pc, #44] ; (10910 <_lv_ll_move_before+0xb0>) + 108e2: 4698 mov r8, r3 + 108e4: 4798 blx r3 node_set_prev(ll_p, n_after, n_act); - 1087e: 0022 movs r2, r4 - 10880: 2100 movs r1, #0 - 10882: 0028 movs r0, r5 - 10884: 47c0 blx r8 + 108e6: 0022 movs r2, r4 + 108e8: 2100 movs r1, #0 + 108ea: 0028 movs r0, r5 + 108ec: 47c0 blx r8 node_set_next(ll_p, n_act, n_after); - 10886: 2200 movs r2, #0 - 10888: 0021 movs r1, r4 - 1088a: 0028 movs r0, r5 - 1088c: 47b0 blx r6 + 108ee: 2200 movs r2, #0 + 108f0: 0021 movs r1, r4 + 108f2: 0028 movs r0, r5 + 108f4: 47b0 blx r6 if(n_after == NULL) ll_p->tail = n_act; - 1088e: 60ac str r4, [r5, #8] - 10890: e7db b.n 1084a <_lv_ll_move_before+0x52> + 108f6: 60ac str r4, [r5, #8] + 108f8: e7db b.n 108b2 <_lv_ll_move_before+0x52> if(n_before == NULL) ll_p->head = n_act; - 10892: 606c str r4, [r5, #4] - 10894: e7db b.n 1084e <_lv_ll_move_before+0x56> + 108fa: 606c str r4, [r5, #4] + 108fc: e7db b.n 108b6 <_lv_ll_move_before+0x56> void * tail = NULL; - 10896: 0017 movs r7, r2 - 10898: e7e0 b.n 1085c <_lv_ll_move_before+0x64> - 1089a: 46c0 nop ; (mov r8, r8) - 1089c: 00010645 .word 0x00010645 - 108a0: 000106ed .word 0x000106ed - 108a4: 000104dd .word 0x000104dd - 108a8: 00010519 .word 0x00010519 - -000108ac <_lv_ll_is_empty>: + 108fe: 0017 movs r7, r2 + 10900: e7e0 b.n 108c4 <_lv_ll_move_before+0x64> + 10902: 46c0 nop ; (mov r8, r8) + 10904: 000106ad .word 0x000106ad + 10908: 00010755 .word 0x00010755 + 1090c: 00010545 .word 0x00010545 + 10910: 00010581 .word 0x00010581 + +00010914 <_lv_ll_is_empty>: if(ll_p == NULL) return true; - 108ac: 2800 cmp r0, #0 - 108ae: d00a beq.n 108c6 <_lv_ll_is_empty+0x1a> + 10914: 2800 cmp r0, #0 + 10916: d00a beq.n 1092e <_lv_ll_is_empty+0x1a> return false; - 108b0: 2300 movs r3, #0 + 10918: 2300 movs r3, #0 if(ll_p->head == NULL && ll_p->tail == NULL) return true; - 108b2: 6842 ldr r2, [r0, #4] - 108b4: 2a00 cmp r2, #0 - 108b6: d001 beq.n 108bc <_lv_ll_is_empty+0x10> + 1091a: 6842 ldr r2, [r0, #4] + 1091c: 2a00 cmp r2, #0 + 1091e: d001 beq.n 10924 <_lv_ll_is_empty+0x10> } - 108b8: 0018 movs r0, r3 - 108ba: 4770 bx lr + 10920: 0018 movs r0, r3 + 10922: 4770 bx lr if(ll_p->head == NULL && ll_p->tail == NULL) return true; - 108bc: 6882 ldr r2, [r0, #8] - 108be: 4253 negs r3, r2 - 108c0: 4153 adcs r3, r2 - 108c2: b2db uxtb r3, r3 - 108c4: e7f8 b.n 108b8 <_lv_ll_is_empty+0xc> + 10924: 6882 ldr r2, [r0, #8] + 10926: 4253 negs r3, r2 + 10928: 4153 adcs r3, r2 + 1092a: b2db uxtb r3, r3 + 1092c: e7f8 b.n 10920 <_lv_ll_is_empty+0xc> if(ll_p == NULL) return true; - 108c6: 2301 movs r3, #1 - 108c8: e7f6 b.n 108b8 <_lv_ll_is_empty+0xc> + 1092e: 2301 movs r3, #1 + 10930: e7f6 b.n 10920 <_lv_ll_is_empty+0xc> ... -000108cc <_lv_trigo_sin>: +00010934 <_lv_trigo_sin>: * Return with sinus of an angle * @param angle * @return sinus of 'angle'. sin(-90) = -32767, sin(90) = 32767 */ LV_ATTRIBUTE_FAST_MEM int16_t _lv_trigo_sin(int16_t angle) { - 108cc: b510 push {r4, lr} + 10934: b510 push {r4, lr} int16_t ret = 0; angle = angle % 360; - 108ce: 21b4 movs r1, #180 ; 0xb4 - 108d0: 0049 lsls r1, r1, #1 - 108d2: 4b19 ldr r3, [pc, #100] ; (10938 <_lv_trigo_sin+0x6c>) - 108d4: 4798 blx r3 - 108d6: b209 sxth r1, r1 + 10936: 21b4 movs r1, #180 ; 0xb4 + 10938: 0049 lsls r1, r1, #1 + 1093a: 4b19 ldr r3, [pc, #100] ; (109a0 <_lv_trigo_sin+0x6c>) + 1093c: 4798 blx r3 + 1093e: b209 sxth r1, r1 if(angle < 0) angle = 360 + angle; - 108d8: 2900 cmp r1, #0 - 108da: db16 blt.n 1090a <_lv_trigo_sin+0x3e> + 10940: 2900 cmp r1, #0 + 10942: db16 blt.n 10972 <_lv_trigo_sin+0x3e> if(angle < 90) { - 108dc: 2959 cmp r1, #89 ; 0x59 - 108de: dd18 ble.n 10912 <_lv_trigo_sin+0x46> + 10944: 2959 cmp r1, #89 ; 0x59 + 10946: dd18 ble.n 1097a <_lv_trigo_sin+0x46> ret = sin0_90_table[angle]; } else if(angle >= 90 && angle < 180) { - 108e0: b289 uxth r1, r1 - 108e2: 000b movs r3, r1 - 108e4: 3b5a subs r3, #90 ; 0x5a - 108e6: b29b uxth r3, r3 - 108e8: 2b59 cmp r3, #89 ; 0x59 - 108ea: d916 bls.n 1091a <_lv_trigo_sin+0x4e> + 10948: b289 uxth r1, r1 + 1094a: 000b movs r3, r1 + 1094c: 3b5a subs r3, #90 ; 0x5a + 1094e: b29b uxth r3, r3 + 10950: 2b59 cmp r3, #89 ; 0x59 + 10952: d916 bls.n 10982 <_lv_trigo_sin+0x4e> angle = 180 - angle; ret = sin0_90_table[angle]; } else if(angle >= 180 && angle < 270) { - 108ec: 000b movs r3, r1 - 108ee: 3bb4 subs r3, #180 ; 0xb4 - 108f0: b29b uxth r3, r3 - 108f2: 2b59 cmp r3, #89 ; 0x59 - 108f4: d918 bls.n 10928 <_lv_trigo_sin+0x5c> + 10954: 000b movs r3, r1 + 10956: 3bb4 subs r3, #180 ; 0xb4 + 10958: b29b uxth r3, r3 + 1095a: 2b59 cmp r3, #89 ; 0x59 + 1095c: d918 bls.n 10990 <_lv_trigo_sin+0x5c> angle = angle - 180; ret = -sin0_90_table[angle]; } else { /*angle >=270*/ angle = 360 - angle; - 108f6: 23b4 movs r3, #180 ; 0xb4 - 108f8: 005b lsls r3, r3, #1 - 108fa: 1a59 subs r1, r3, r1 + 1095e: 23b4 movs r3, #180 ; 0xb4 + 10960: 005b lsls r3, r3, #1 + 10962: 1a59 subs r1, r3, r1 ret = -sin0_90_table[angle]; - 108fc: b209 sxth r1, r1 - 108fe: 0049 lsls r1, r1, #1 - 10900: 4b0e ldr r3, [pc, #56] ; (1093c <_lv_trigo_sin+0x70>) - 10902: 5ac8 ldrh r0, [r1, r3] - 10904: 4240 negs r0, r0 - 10906: b200 sxth r0, r0 - 10908: e006 b.n 10918 <_lv_trigo_sin+0x4c> + 10964: b209 sxth r1, r1 + 10966: 0049 lsls r1, r1, #1 + 10968: 4b0e ldr r3, [pc, #56] ; (109a4 <_lv_trigo_sin+0x70>) + 1096a: 5ac8 ldrh r0, [r1, r3] + 1096c: 4240 negs r0, r0 + 1096e: b200 sxth r0, r0 + 10970: e006 b.n 10980 <_lv_trigo_sin+0x4c> if(angle < 0) angle = 360 + angle; - 1090a: 3169 adds r1, #105 ; 0x69 - 1090c: 31ff adds r1, #255 ; 0xff - 1090e: b209 sxth r1, r1 - 10910: e7e4 b.n 108dc <_lv_trigo_sin+0x10> + 10972: 3169 adds r1, #105 ; 0x69 + 10974: 31ff adds r1, #255 ; 0xff + 10976: b209 sxth r1, r1 + 10978: e7e4 b.n 10944 <_lv_trigo_sin+0x10> ret = sin0_90_table[angle]; - 10912: 0049 lsls r1, r1, #1 - 10914: 4b09 ldr r3, [pc, #36] ; (1093c <_lv_trigo_sin+0x70>) - 10916: 5ec8 ldrsh r0, [r1, r3] + 1097a: 0049 lsls r1, r1, #1 + 1097c: 4b09 ldr r3, [pc, #36] ; (109a4 <_lv_trigo_sin+0x70>) + 1097e: 5ec8 ldrsh r0, [r1, r3] } return ret; } - 10918: bd10 pop {r4, pc} + 10980: bd10 pop {r4, pc} angle = 180 - angle; - 1091a: 23b4 movs r3, #180 ; 0xb4 - 1091c: 1a59 subs r1, r3, r1 + 10982: 23b4 movs r3, #180 ; 0xb4 + 10984: 1a59 subs r1, r3, r1 ret = sin0_90_table[angle]; - 1091e: b209 sxth r1, r1 - 10920: 0049 lsls r1, r1, #1 - 10922: 4b06 ldr r3, [pc, #24] ; (1093c <_lv_trigo_sin+0x70>) - 10924: 5ec8 ldrsh r0, [r1, r3] - 10926: e7f7 b.n 10918 <_lv_trigo_sin+0x4c> + 10986: b209 sxth r1, r1 + 10988: 0049 lsls r1, r1, #1 + 1098a: 4b06 ldr r3, [pc, #24] ; (109a4 <_lv_trigo_sin+0x70>) + 1098c: 5ec8 ldrsh r0, [r1, r3] + 1098e: e7f7 b.n 10980 <_lv_trigo_sin+0x4c> ret = -sin0_90_table[angle]; - 10928: b21b sxth r3, r3 - 1092a: 005b lsls r3, r3, #1 - 1092c: 4a03 ldr r2, [pc, #12] ; (1093c <_lv_trigo_sin+0x70>) - 1092e: 5a98 ldrh r0, [r3, r2] - 10930: 4240 negs r0, r0 - 10932: b200 sxth r0, r0 - 10934: e7f0 b.n 10918 <_lv_trigo_sin+0x4c> - 10936: 46c0 nop ; (mov r8, r8) - 10938: 00017c41 .word 0x00017c41 - 1093c: 0001c8a4 .word 0x0001c8a4 - -00010940 <_lv_sqrt>: + 10990: b21b sxth r3, r3 + 10992: 005b lsls r3, r3, #1 + 10994: 4a03 ldr r2, [pc, #12] ; (109a4 <_lv_trigo_sin+0x70>) + 10996: 5a98 ldrh r0, [r3, r2] + 10998: 4240 negs r0, r0 + 1099a: b200 sxth r0, r0 + 1099c: e7f0 b.n 10980 <_lv_trigo_sin+0x4c> + 1099e: 46c0 nop ; (mov r8, r8) + 109a0: 00017cd1 .word 0x00017cd1 + 109a4: 0001c934 .word 0x0001c934 + +000109a8 <_lv_sqrt>: * If root < 16: mask = 0x80 * If root < 256: mask = 0x800 * Else: mask = 0x8000 */ LV_ATTRIBUTE_FAST_MEM void _lv_sqrt(uint32_t x, lv_sqrt_res_t * q, uint32_t mask) { - 10940: b530 push {r4, r5, lr} + 109a8: b530 push {r4, r5, lr} x = x << 8; /*To get 4 bit precision. (sqrt(256) = 16 = 4 bit)*/ - 10942: 0200 lsls r0, r0, #8 + 109aa: 0200 lsls r0, r0, #8 uint32_t root = 0; - 10944: 2500 movs r5, #0 - 10946: e001 b.n 1094c <_lv_sqrt+0xc> + 109ac: 2500 movs r5, #0 + 109ae: e001 b.n 109b4 <_lv_sqrt+0xc> uint32_t trial; // http://ww1.microchip.com/...en/AppNotes/91040a.pdf do { trial = root + mask; if((uint32_t)trial * trial <= x) root = trial; mask = mask >> 1; - 10948: 0852 lsrs r2, r2, #1 + 109b0: 0852 lsrs r2, r2, #1 } while(mask); - 1094a: d006 beq.n 1095a <_lv_sqrt+0x1a> + 109b2: d006 beq.n 109c2 <_lv_sqrt+0x1a> trial = root + mask; - 1094c: 1953 adds r3, r2, r5 + 109b4: 1953 adds r3, r2, r5 if((uint32_t)trial * trial <= x) root = trial; - 1094e: 001c movs r4, r3 - 10950: 435c muls r4, r3 - 10952: 42a0 cmp r0, r4 - 10954: d3f8 bcc.n 10948 <_lv_sqrt+0x8> - 10956: 001d movs r5, r3 - 10958: e7f6 b.n 10948 <_lv_sqrt+0x8> + 109b6: 001c movs r4, r3 + 109b8: 435c muls r4, r3 + 109ba: 42a0 cmp r0, r4 + 109bc: d3f8 bcc.n 109b0 <_lv_sqrt+0x8> + 109be: 001d movs r5, r3 + 109c0: e7f6 b.n 109b0 <_lv_sqrt+0x8> q->i = (uint32_t) root >> 4; - 1095a: 092b lsrs r3, r5, #4 - 1095c: 800b strh r3, [r1, #0] + 109c2: 092b lsrs r3, r5, #4 + 109c4: 800b strh r3, [r1, #0] q->f = (uint32_t)(root & 0xf) << 4; - 1095e: 012d lsls r5, r5, #4 - 10960: 23ff movs r3, #255 ; 0xff - 10962: 401d ands r5, r3 - 10964: 804d strh r5, [r1, #2] + 109c6: 012d lsls r5, r5, #4 + 109c8: 23ff movs r3, #255 ; 0xff + 109ca: 401d ands r5, r3 + 109cc: 804d strh r5, [r1, #2] } - 10966: bd30 pop {r4, r5, pc} + 109ce: bd30 pop {r4, r5, pc} -00010968 : +000109d0 : */ static lv_mem_ent_t * ent_get_next(lv_mem_ent_t * act_e) { lv_mem_ent_t * next_e = NULL; if(act_e == NULL) { /*NULL means: get the first entry*/ - 10968: 2800 cmp r0, #0 - 1096a: d00e beq.n 1098a + 109d0: 2800 cmp r0, #0 + 109d2: d00e beq.n 109f2 next_e = (lv_mem_ent_t *)work_mem; } else { /*Get the next entry */ uint8_t * data = &act_e->first_data; - 1096c: 1d03 adds r3, r0, #4 + 109d4: 1d03 adds r3, r0, #4 next_e = (lv_mem_ent_t *)&data[act_e->header.s.d_size]; - 1096e: 6800 ldr r0, [r0, #0] - 10970: 0840 lsrs r0, r0, #1 - 10972: 1818 adds r0, r3, r0 + 109d6: 6800 ldr r0, [r0, #0] + 109d8: 0840 lsrs r0, r0, #1 + 109da: 1818 adds r0, r3, r0 if(&next_e->first_data >= &work_mem[LV_MEM_SIZE]) next_e = NULL; - 10974: 1d02 adds r2, r0, #4 - 10976: 4b06 ldr r3, [pc, #24] ; (10990 ) - 10978: 681b ldr r3, [r3, #0] - 1097a: 2180 movs r1, #128 ; 0x80 - 1097c: 0189 lsls r1, r1, #6 - 1097e: 468c mov ip, r1 - 10980: 4463 add r3, ip - 10982: 429a cmp r2, r3 - 10984: 419b sbcs r3, r3 - 10986: 4018 ands r0, r3 + 109dc: 1d02 adds r2, r0, #4 + 109de: 4b06 ldr r3, [pc, #24] ; (109f8 ) + 109e0: 681b ldr r3, [r3, #0] + 109e2: 2180 movs r1, #128 ; 0x80 + 109e4: 0189 lsls r1, r1, #6 + 109e6: 468c mov ip, r1 + 109e8: 4463 add r3, ip + 109ea: 429a cmp r2, r3 + 109ec: 419b sbcs r3, r3 + 109ee: 4018 ands r0, r3 } return next_e; } - 10988: 4770 bx lr + 109f0: 4770 bx lr next_e = (lv_mem_ent_t *)work_mem; - 1098a: 4b01 ldr r3, [pc, #4] ; (10990 ) - 1098c: 6818 ldr r0, [r3, #0] - 1098e: e7fb b.n 10988 - 10990: 20002c0c .word 0x20002c0c + 109f2: 4b01 ldr r3, [pc, #4] ; (109f8 ) + 109f4: 6818 ldr r0, [r3, #0] + 109f6: e7fb b.n 109f0 + 109f8: 20002c0c .word 0x20002c0c -00010994 : +000109fc : * Truncate the data of entry to the given size * @param e Pointer to an entry * @param size new size in bytes */ static void ent_trunc(lv_mem_ent_t * e, size_t size) { - 10994: b530 push {r4, r5, lr} + 109fc: b530 push {r4, r5, lr} size = size & (~0x7); size += 8; } #else /*Round the size up to 4*/ if(size & 0x3) { - 10996: 078b lsls r3, r1, #30 - 10998: d002 beq.n 109a0 + 109fe: 078b lsls r3, r1, #30 + 10a00: d002 beq.n 10a08 size = size & (~0x3); - 1099a: 2303 movs r3, #3 - 1099c: 4399 bics r1, r3 + 10a02: 2303 movs r3, #3 + 10a04: 4399 bics r1, r3 size += 4; - 1099e: 3104 adds r1, #4 + 10a06: 3104 adds r1, #4 } #endif /*Don't let empty space only for a header without data*/ if(e->header.s.d_size == size + sizeof(lv_mem_header_t)) { - 109a0: 6803 ldr r3, [r0, #0] - 109a2: 085b lsrs r3, r3, #1 - 109a4: 1d0a adds r2, r1, #4 - 109a6: 4293 cmp r3, r2 - 109a8: d017 beq.n 109da + 10a08: 6803 ldr r3, [r0, #0] + 10a0a: 085b lsrs r3, r3, #1 + 10a0c: 1d0a adds r2, r1, #4 + 10a0e: 4293 cmp r3, r2 + 10a10: d017 beq.n 10a42 size = e->header.s.d_size; } /* Create the new entry after the current if there is space for it */ if(e->header.s.d_size != size) { - 109aa: 4299 cmp r1, r3 - 109ac: d00e beq.n 109cc + 10a12: 4299 cmp r1, r3 + 10a14: d00e beq.n 10a34 uint8_t * e_data = &e->first_data; - 109ae: 1d02 adds r2, r0, #4 + 10a16: 1d02 adds r2, r0, #4 lv_mem_ent_t * after_new_e = (lv_mem_ent_t *)&e_data[size]; - 109b0: 1852 adds r2, r2, r1 + 10a18: 1852 adds r2, r2, r1 after_new_e->header.s.used = 0; - 109b2: 7813 ldrb r3, [r2, #0] - 109b4: 2401 movs r4, #1 - 109b6: 43a3 bics r3, r4 - 109b8: 7013 strb r3, [r2, #0] + 10a1a: 7813 ldrb r3, [r2, #0] + 10a1c: 2401 movs r4, #1 + 10a1e: 43a3 bics r3, r4 + 10a20: 7013 strb r3, [r2, #0] after_new_e->header.s.d_size = (uint32_t)e->header.s.d_size - size - sizeof(lv_mem_header_t); - 109ba: 6803 ldr r3, [r0, #0] - 109bc: 085b lsrs r3, r3, #1 - 109be: 3b04 subs r3, #4 - 109c0: 1a5b subs r3, r3, r1 - 109c2: 005b lsls r3, r3, #1 - 109c4: 6815 ldr r5, [r2, #0] - 109c6: 402c ands r4, r5 - 109c8: 4323 orrs r3, r4 - 109ca: 6013 str r3, [r2, #0] + 10a22: 6803 ldr r3, [r0, #0] + 10a24: 085b lsrs r3, r3, #1 + 10a26: 3b04 subs r3, #4 + 10a28: 1a5b subs r3, r3, r1 + 10a2a: 005b lsls r3, r3, #1 + 10a2c: 6815 ldr r5, [r2, #0] + 10a2e: 402c ands r4, r5 + 10a30: 4323 orrs r3, r4 + 10a32: 6013 str r3, [r2, #0] } /* Set the new size for the original entry */ e->header.s.d_size = (uint32_t)size; - 109cc: 0049 lsls r1, r1, #1 - 109ce: 2301 movs r3, #1 - 109d0: 6802 ldr r2, [r0, #0] - 109d2: 4013 ands r3, r2 - 109d4: 4319 orrs r1, r3 - 109d6: 6001 str r1, [r0, #0] -} - 109d8: bd30 pop {r4, r5, pc} + 10a34: 0049 lsls r1, r1, #1 + 10a36: 2301 movs r3, #1 + 10a38: 6802 ldr r2, [r0, #0] + 10a3a: 4013 ands r3, r2 + 10a3c: 4319 orrs r1, r3 + 10a3e: 6001 str r1, [r0, #0] +} + 10a40: bd30 pop {r4, r5, pc} size = e->header.s.d_size; - 109da: 0011 movs r1, r2 - 109dc: e7f6 b.n 109cc + 10a42: 0011 movs r1, r2 + 10a44: e7f6 b.n 10a34 ... -000109e0 <_lv_mem_init>: +00010a48 <_lv_mem_init>: work_mem = (uint8_t *)work_mem_int; - 109e0: 4b06 ldr r3, [pc, #24] ; (109fc <_lv_mem_init+0x1c>) - 109e2: 4a07 ldr r2, [pc, #28] ; (10a00 <_lv_mem_init+0x20>) - 109e4: 6013 str r3, [r2, #0] + 10a48: 4b06 ldr r3, [pc, #24] ; (10a64 <_lv_mem_init+0x1c>) + 10a4a: 4a07 ldr r2, [pc, #28] ; (10a68 <_lv_mem_init+0x20>) + 10a4c: 6013 str r3, [r2, #0] full->header.s.used = 0; - 109e6: 7819 ldrb r1, [r3, #0] - 109e8: 2201 movs r2, #1 - 109ea: 4391 bics r1, r2 - 109ec: 7019 strb r1, [r3, #0] + 10a4e: 7819 ldrb r1, [r3, #0] + 10a50: 2201 movs r2, #1 + 10a52: 4391 bics r1, r2 + 10a54: 7019 strb r1, [r3, #0] full->header.s.d_size = LV_MEM_SIZE - sizeof(lv_mem_header_t); - 109ee: 6819 ldr r1, [r3, #0] - 109f0: 400a ands r2, r1 - 109f2: 4904 ldr r1, [pc, #16] ; (10a04 <_lv_mem_init+0x24>) - 109f4: 430a orrs r2, r1 - 109f6: 601a str r2, [r3, #0] -} - 109f8: 4770 bx lr - 109fa: 46c0 nop ; (mov r8, r8) - 109fc: 20002c10 .word 0x20002c10 - 10a00: 20002c0c .word 0x20002c0c - 10a04: 00003ff8 .word 0x00003ff8 - -00010a08 : -{ - 10a08: b5f0 push {r4, r5, r6, r7, lr} - 10a0a: 46c6 mov lr, r8 - 10a0c: b500 push {lr} - 10a0e: 1e05 subs r5, r0, #0 + 10a56: 6819 ldr r1, [r3, #0] + 10a58: 400a ands r2, r1 + 10a5a: 4904 ldr r1, [pc, #16] ; (10a6c <_lv_mem_init+0x24>) + 10a5c: 430a orrs r2, r1 + 10a5e: 601a str r2, [r3, #0] +} + 10a60: 4770 bx lr + 10a62: 46c0 nop ; (mov r8, r8) + 10a64: 20002c10 .word 0x20002c10 + 10a68: 20002c0c .word 0x20002c0c + 10a6c: 00003ff8 .word 0x00003ff8 + +00010a70 : +{ + 10a70: b5f0 push {r4, r5, r6, r7, lr} + 10a72: 46c6 mov lr, r8 + 10a74: b500 push {lr} + 10a76: 1e05 subs r5, r0, #0 if(size == 0) { - 10a10: d020 beq.n 10a54 + 10a78: d020 beq.n 10abc if(size & 0x3) { - 10a12: 0783 lsls r3, r0, #30 - 10a14: d002 beq.n 10a1c + 10a7a: 0783 lsls r3, r0, #30 + 10a7c: d002 beq.n 10a84 size = size & (~0x3); - 10a16: 2303 movs r3, #3 - 10a18: 439d bics r5, r3 + 10a7e: 2303 movs r3, #3 + 10a80: 439d bics r5, r3 size += 4; - 10a1a: 3504 adds r5, #4 + 10a82: 3504 adds r5, #4 lv_mem_ent_t * e = NULL; - 10a1c: 2400 movs r4, #0 + 10a84: 2400 movs r4, #0 e = ent_get_next(e); - 10a1e: 4e10 ldr r6, [pc, #64] ; (10a60 ) + 10a86: 4e10 ldr r6, [pc, #64] ; (10ac8 ) if(e->header.s.used == 0 && e->header.s.d_size >= size) { - 10a20: 2301 movs r3, #1 - 10a22: 4698 mov r8, r3 + 10a88: 2301 movs r3, #1 + 10a8a: 4698 mov r8, r3 ent_trunc(e, size); - 10a24: 4f0f ldr r7, [pc, #60] ; (10a64 ) - 10a26: e008 b.n 10a3a - 10a28: 0029 movs r1, r5 - 10a2a: 47b8 blx r7 + 10a8c: 4f0f ldr r7, [pc, #60] ; (10acc ) + 10a8e: e008 b.n 10aa2 + 10a90: 0029 movs r1, r5 + 10a92: 47b8 blx r7 e->header.s.used = 1; - 10a2c: 7823 ldrb r3, [r4, #0] - 10a2e: 2201 movs r2, #1 - 10a30: 4313 orrs r3, r2 - 10a32: 7023 strb r3, [r4, #0] + 10a94: 7823 ldrb r3, [r4, #0] + 10a96: 2201 movs r2, #1 + 10a98: 4313 orrs r3, r2 + 10a9a: 7023 strb r3, [r4, #0] alloc = &e->first_data; - 10a34: 1d20 adds r0, r4, #4 + 10a9c: 1d20 adds r0, r4, #4 } while(e != NULL && alloc == NULL); - 10a36: 2800 cmp r0, #0 - 10a38: d10f bne.n 10a5a + 10a9e: 2800 cmp r0, #0 + 10aa0: d10f bne.n 10ac2 e = ent_get_next(e); - 10a3a: 0020 movs r0, r4 - 10a3c: 47b0 blx r6 - 10a3e: 1e04 subs r4, r0, #0 + 10aa2: 0020 movs r0, r4 + 10aa4: 47b0 blx r6 + 10aa6: 1e04 subs r4, r0, #0 if(e != NULL) { - 10a40: d00a beq.n 10a58 + 10aa8: d00a beq.n 10ac0 if(e->header.s.used == 0 && e->header.s.d_size >= size) { - 10a42: 7803 ldrb r3, [r0, #0] - 10a44: 4642 mov r2, r8 - 10a46: 421a tst r2, r3 - 10a48: d1f7 bne.n 10a3a - 10a4a: 6803 ldr r3, [r0, #0] - 10a4c: 085b lsrs r3, r3, #1 - 10a4e: 429d cmp r5, r3 - 10a50: d9ea bls.n 10a28 - 10a52: e7f2 b.n 10a3a + 10aaa: 7803 ldrb r3, [r0, #0] + 10aac: 4642 mov r2, r8 + 10aae: 421a tst r2, r3 + 10ab0: d1f7 bne.n 10aa2 + 10ab2: 6803 ldr r3, [r0, #0] + 10ab4: 085b lsrs r3, r3, #1 + 10ab6: 429d cmp r5, r3 + 10ab8: d9ea bls.n 10a90 + 10aba: e7f2 b.n 10aa2 return &zero_mem; - 10a54: 4804 ldr r0, [pc, #16] ; (10a68 ) - 10a56: e000 b.n 10a5a - 10a58: 2000 movs r0, #0 -} - 10a5a: bc04 pop {r2} - 10a5c: 4690 mov r8, r2 - 10a5e: bdf0 pop {r4, r5, r6, r7, pc} - 10a60: 00010969 .word 0x00010969 - 10a64: 00010995 .word 0x00010995 - 10a68: 20004c10 .word 0x20004c10 - -00010a6c : -{ - 10a6c: b5f0 push {r4, r5, r6, r7, lr} - 10a6e: 46c6 mov lr, r8 - 10a70: b500 push {lr} + 10abc: 4804 ldr r0, [pc, #16] ; (10ad0 ) + 10abe: e000 b.n 10ac2 + 10ac0: 2000 movs r0, #0 +} + 10ac2: bc04 pop {r2} + 10ac4: 4690 mov r8, r2 + 10ac6: bdf0 pop {r4, r5, r6, r7, pc} + 10ac8: 000109d1 .word 0x000109d1 + 10acc: 000109fd .word 0x000109fd + 10ad0: 20004c10 .word 0x20004c10 + +00010ad4 : +{ + 10ad4: b5f0 push {r4, r5, r6, r7, lr} + 10ad6: 46c6 mov lr, r8 + 10ad8: b500 push {lr} e_free = ent_get_next(NULL); - 10a72: 2000 movs r0, #0 - 10a74: 4b15 ldr r3, [pc, #84] ; (10acc ) - 10a76: 4798 blx r3 - 10a78: 0004 movs r4, r0 + 10ada: 2000 movs r0, #0 + 10adc: 4b15 ldr r3, [pc, #84] ; (10b34 ) + 10ade: 4798 blx r3 + 10ae0: 0004 movs r4, r0 if(e_free->header.s.used != 0) { - 10a7a: 2501 movs r5, #1 + 10ae2: 2501 movs r5, #1 e_next = ent_get_next(e_free); - 10a7c: 4f13 ldr r7, [pc, #76] ; (10acc ) + 10ae4: 4f13 ldr r7, [pc, #76] ; (10b34 ) e_next = ent_get_next(e_next); - 10a7e: 003e movs r6, r7 + 10ae6: 003e movs r6, r7 e_free = ent_get_next(e_free); - 10a80: 46b8 mov r8, r7 - 10a82: e017 b.n 10ab4 + 10ae8: 46b8 mov r8, r7 + 10aea: e017 b.n 10b1c e_next = ent_get_next(e_free); - 10a84: 0020 movs r0, r4 - 10a86: 47b8 blx r7 + 10aec: 0020 movs r0, r4 + 10aee: 47b8 blx r7 while(e_next != NULL) { - 10a88: 2800 cmp r0, #0 - 10a8a: d01c beq.n 10ac6 + 10af0: 2800 cmp r0, #0 + 10af2: d01c beq.n 10b2e if(e_next->header.s.used == 0) { - 10a8c: 7803 ldrb r3, [r0, #0] - 10a8e: 421d tst r5, r3 - 10a90: d10f bne.n 10ab2 + 10af4: 7803 ldrb r3, [r0, #0] + 10af6: 421d tst r5, r3 + 10af8: d10f bne.n 10b1a e_free->header.s.d_size += e_next->header.s.d_size + sizeof(e_next->header); - 10a92: 6822 ldr r2, [r4, #0] - 10a94: 0853 lsrs r3, r2, #1 - 10a96: 3304 adds r3, #4 - 10a98: 6801 ldr r1, [r0, #0] - 10a9a: 0849 lsrs r1, r1, #1 - 10a9c: 185b adds r3, r3, r1 - 10a9e: 005b lsls r3, r3, #1 - 10aa0: 402a ands r2, r5 - 10aa2: 4313 orrs r3, r2 - 10aa4: 6023 str r3, [r4, #0] + 10afa: 6822 ldr r2, [r4, #0] + 10afc: 0853 lsrs r3, r2, #1 + 10afe: 3304 adds r3, #4 + 10b00: 6801 ldr r1, [r0, #0] + 10b02: 0849 lsrs r1, r1, #1 + 10b04: 185b adds r3, r3, r1 + 10b06: 005b lsls r3, r3, #1 + 10b08: 402a ands r2, r5 + 10b0a: 4313 orrs r3, r2 + 10b0c: 6023 str r3, [r4, #0] e_next = ent_get_next(e_next); - 10aa6: 47b0 blx r6 + 10b0e: 47b0 blx r6 while(e_next != NULL) { - 10aa8: 2800 cmp r0, #0 - 10aaa: d00c beq.n 10ac6 + 10b10: 2800 cmp r0, #0 + 10b12: d00c beq.n 10b2e if(e_next->header.s.used == 0) { - 10aac: 7803 ldrb r3, [r0, #0] - 10aae: 421d tst r5, r3 - 10ab0: d0ef beq.n 10a92 + 10b14: 7803 ldrb r3, [r0, #0] + 10b16: 421d tst r5, r3 + 10b18: d0ef beq.n 10afa { - 10ab2: 0004 movs r4, r0 + 10b1a: 0004 movs r4, r0 while(e_free != NULL) { - 10ab4: 2c00 cmp r4, #0 - 10ab6: d006 beq.n 10ac6 + 10b1c: 2c00 cmp r4, #0 + 10b1e: d006 beq.n 10b2e if(e_free->header.s.used != 0) { - 10ab8: 7823 ldrb r3, [r4, #0] - 10aba: 421d tst r5, r3 - 10abc: d0e2 beq.n 10a84 + 10b20: 7823 ldrb r3, [r4, #0] + 10b22: 421d tst r5, r3 + 10b24: d0e2 beq.n 10aec e_free = ent_get_next(e_free); - 10abe: 0020 movs r0, r4 - 10ac0: 47c0 blx r8 - 10ac2: 0004 movs r4, r0 - 10ac4: e7f6 b.n 10ab4 + 10b26: 0020 movs r0, r4 + 10b28: 47c0 blx r8 + 10b2a: 0004 movs r4, r0 + 10b2c: e7f6 b.n 10b1c } - 10ac6: bc04 pop {r2} - 10ac8: 4690 mov r8, r2 - 10aca: bdf0 pop {r4, r5, r6, r7, pc} - 10acc: 00010969 .word 0x00010969 + 10b2e: bc04 pop {r2} + 10b30: 4690 mov r8, r2 + 10b32: bdf0 pop {r4, r5, r6, r7, pc} + 10b34: 000109d1 .word 0x000109d1 -00010ad0 : +00010b38 : { - 10ad0: b570 push {r4, r5, r6, lr} - 10ad2: 0004 movs r4, r0 + 10b38: b570 push {r4, r5, r6, lr} + 10b3a: 0004 movs r4, r0 if(data == &zero_mem) return; - 10ad4: 4b19 ldr r3, [pc, #100] ; (10b3c ) - 10ad6: 4298 cmp r0, r3 - 10ad8: d028 beq.n 10b2c + 10b3c: 4b19 ldr r3, [pc, #100] ; (10ba4 ) + 10b3e: 4298 cmp r0, r3 + 10b40: d028 beq.n 10b94 if(data == NULL) return; - 10ada: 2800 cmp r0, #0 - 10adc: d026 beq.n 10b2c + 10b42: 2800 cmp r0, #0 + 10b44: d026 beq.n 10b94 e->header.s.used = 0; - 10ade: 1f02 subs r2, r0, #4 - 10ae0: 7813 ldrb r3, [r2, #0] - 10ae2: 2101 movs r1, #1 - 10ae4: 438b bics r3, r1 - 10ae6: 7013 strb r3, [r2, #0] + 10b46: 1f02 subs r2, r0, #4 + 10b48: 7813 ldrb r3, [r2, #0] + 10b4a: 2101 movs r1, #1 + 10b4c: 438b bics r3, r1 + 10b4e: 7013 strb r3, [r2, #0] full_defrag_cnt++; - 10ae8: 4a15 ldr r2, [pc, #84] ; (10b40 ) - 10aea: 8813 ldrh r3, [r2, #0] - 10aec: 3301 adds r3, #1 - 10aee: b29b uxth r3, r3 - 10af0: 8013 strh r3, [r2, #0] + 10b50: 4a15 ldr r2, [pc, #84] ; (10ba8 ) + 10b52: 8813 ldrh r3, [r2, #0] + 10b54: 3301 adds r3, #1 + 10b56: b29b uxth r3, r3 + 10b58: 8013 strh r3, [r2, #0] if(full_defrag_cnt < LV_MEM_FULL_DEFRAG_CNT) { - 10af2: 2b0f cmp r3, #15 - 10af4: d81b bhi.n 10b2e + 10b5a: 2b0f cmp r3, #15 + 10b5c: d81b bhi.n 10b96 lv_mem_ent_t * e = (lv_mem_ent_t *)((uint8_t *)data - sizeof(lv_mem_header_t)); - 10af6: 3804 subs r0, #4 + 10b5e: 3804 subs r0, #4 e_next = ent_get_next(e); - 10af8: 4b12 ldr r3, [pc, #72] ; (10b44 ) - 10afa: 4798 blx r3 + 10b60: 4b12 ldr r3, [pc, #72] ; (10bac ) + 10b62: 4798 blx r3 while(e_next != NULL) { - 10afc: 2800 cmp r0, #0 - 10afe: d015 beq.n 10b2c + 10b64: 2800 cmp r0, #0 + 10b66: d015 beq.n 10b94 if(e_next->header.s.used == 0) { - 10b00: 7803 ldrb r3, [r0, #0] - 10b02: 07db lsls r3, r3, #31 - 10b04: d412 bmi.n 10b2c + 10b68: 7803 ldrb r3, [r0, #0] + 10b6a: 07db lsls r3, r3, #31 + 10b6c: d412 bmi.n 10b94 e->header.s.d_size += e_next->header.s.d_size + sizeof(e->header); - 10b06: 3c04 subs r4, #4 - 10b08: 2501 movs r5, #1 + 10b6e: 3c04 subs r4, #4 + 10b70: 2501 movs r5, #1 e_next = ent_get_next(e_next); - 10b0a: 4e0e ldr r6, [pc, #56] ; (10b44 ) + 10b72: 4e0e ldr r6, [pc, #56] ; (10bac ) e->header.s.d_size += e_next->header.s.d_size + sizeof(e->header); - 10b0c: 6822 ldr r2, [r4, #0] - 10b0e: 0853 lsrs r3, r2, #1 - 10b10: 3304 adds r3, #4 - 10b12: 6801 ldr r1, [r0, #0] - 10b14: 0849 lsrs r1, r1, #1 - 10b16: 185b adds r3, r3, r1 - 10b18: 005b lsls r3, r3, #1 - 10b1a: 402a ands r2, r5 - 10b1c: 4313 orrs r3, r2 - 10b1e: 6023 str r3, [r4, #0] + 10b74: 6822 ldr r2, [r4, #0] + 10b76: 0853 lsrs r3, r2, #1 + 10b78: 3304 adds r3, #4 + 10b7a: 6801 ldr r1, [r0, #0] + 10b7c: 0849 lsrs r1, r1, #1 + 10b7e: 185b adds r3, r3, r1 + 10b80: 005b lsls r3, r3, #1 + 10b82: 402a ands r2, r5 + 10b84: 4313 orrs r3, r2 + 10b86: 6023 str r3, [r4, #0] e_next = ent_get_next(e_next); - 10b20: 47b0 blx r6 + 10b88: 47b0 blx r6 while(e_next != NULL) { - 10b22: 2800 cmp r0, #0 - 10b24: d002 beq.n 10b2c + 10b8a: 2800 cmp r0, #0 + 10b8c: d002 beq.n 10b94 if(e_next->header.s.used == 0) { - 10b26: 7803 ldrb r3, [r0, #0] - 10b28: 421d tst r5, r3 - 10b2a: d0ef beq.n 10b0c + 10b8e: 7803 ldrb r3, [r0, #0] + 10b90: 421d tst r5, r3 + 10b92: d0ef beq.n 10b74 } - 10b2c: bd70 pop {r4, r5, r6, pc} + 10b94: bd70 pop {r4, r5, r6, pc} full_defrag_cnt = 0; - 10b2e: 2200 movs r2, #0 - 10b30: 4b03 ldr r3, [pc, #12] ; (10b40 ) - 10b32: 801a strh r2, [r3, #0] + 10b96: 2200 movs r2, #0 + 10b98: 4b03 ldr r3, [pc, #12] ; (10ba8 ) + 10b9a: 801a strh r2, [r3, #0] lv_mem_defrag(); - 10b34: 4b04 ldr r3, [pc, #16] ; (10b48 ) - 10b36: 4798 blx r3 - 10b38: e7f8 b.n 10b2c - 10b3a: 46c0 nop ; (mov r8, r8) - 10b3c: 20004c10 .word 0x20004c10 - 10b40: 20002be8 .word 0x20002be8 - 10b44: 00010969 .word 0x00010969 - 10b48: 00010a6d .word 0x00010a6d - -00010b4c <_lv_mem_get_size>: + 10b9c: 4b04 ldr r3, [pc, #16] ; (10bb0 ) + 10b9e: 4798 blx r3 + 10ba0: e7f8 b.n 10b94 + 10ba2: 46c0 nop ; (mov r8, r8) + 10ba4: 20004c10 .word 0x20004c10 + 10ba8: 20002be8 .word 0x20002be8 + 10bac: 000109d1 .word 0x000109d1 + 10bb0: 00010ad5 .word 0x00010ad5 + +00010bb4 <_lv_mem_get_size>: if(data == NULL) return 0; - 10b4c: 2800 cmp r0, #0 - 10b4e: d006 beq.n 10b5e <_lv_mem_get_size+0x12> + 10bb4: 2800 cmp r0, #0 + 10bb6: d006 beq.n 10bc6 <_lv_mem_get_size+0x12> if(data == &zero_mem) return 0; - 10b50: 4b05 ldr r3, [pc, #20] ; (10b68 <_lv_mem_get_size+0x1c>) - 10b52: 4298 cmp r0, r3 - 10b54: d005 beq.n 10b62 <_lv_mem_get_size+0x16> + 10bb8: 4b05 ldr r3, [pc, #20] ; (10bd0 <_lv_mem_get_size+0x1c>) + 10bba: 4298 cmp r0, r3 + 10bbc: d005 beq.n 10bca <_lv_mem_get_size+0x16> return e->header.s.d_size; - 10b56: 3804 subs r0, #4 - 10b58: 6800 ldr r0, [r0, #0] - 10b5a: 0840 lsrs r0, r0, #1 + 10bbe: 3804 subs r0, #4 + 10bc0: 6800 ldr r0, [r0, #0] + 10bc2: 0840 lsrs r0, r0, #1 } - 10b5c: 4770 bx lr + 10bc4: 4770 bx lr if(data == NULL) return 0; - 10b5e: 2000 movs r0, #0 - 10b60: e7fc b.n 10b5c <_lv_mem_get_size+0x10> + 10bc6: 2000 movs r0, #0 + 10bc8: e7fc b.n 10bc4 <_lv_mem_get_size+0x10> if(data == &zero_mem) return 0; - 10b62: 2000 movs r0, #0 - 10b64: e7fa b.n 10b5c <_lv_mem_get_size+0x10> - 10b66: 46c0 nop ; (mov r8, r8) - 10b68: 20004c10 .word 0x20004c10 + 10bca: 2000 movs r0, #0 + 10bcc: e7fa b.n 10bc4 <_lv_mem_get_size+0x10> + 10bce: 46c0 nop ; (mov r8, r8) + 10bd0: 20004c10 .word 0x20004c10 -00010b6c <_lv_mem_buf_release>: +00010bd4 <_lv_mem_buf_release>: { - 10b6c: b510 push {r4, lr} + 10bd4: b510 push {r4, lr} if(mem_buf_small[i].p == p) { - 10b6e: 4b15 ldr r3, [pc, #84] ; (10bc4 <_lv_mem_buf_release+0x58>) - 10b70: 681b ldr r3, [r3, #0] - 10b72: 4298 cmp r0, r3 - 10b74: d013 beq.n 10b9e <_lv_mem_buf_release+0x32> - 10b76: 4b13 ldr r3, [pc, #76] ; (10bc4 <_lv_mem_buf_release+0x58>) - 10b78: 689b ldr r3, [r3, #8] - 10b7a: 2201 movs r2, #1 - 10b7c: 4283 cmp r3, r0 - 10b7e: d00f beq.n 10ba0 <_lv_mem_buf_release+0x34> + 10bd6: 4b15 ldr r3, [pc, #84] ; (10c2c <_lv_mem_buf_release+0x58>) + 10bd8: 681b ldr r3, [r3, #0] + 10bda: 4298 cmp r0, r3 + 10bdc: d013 beq.n 10c06 <_lv_mem_buf_release+0x32> + 10bde: 4b13 ldr r3, [pc, #76] ; (10c2c <_lv_mem_buf_release+0x58>) + 10be0: 689b ldr r3, [r3, #8] + 10be2: 2201 movs r2, #1 + 10be4: 4283 cmp r3, r0 + 10be6: d00f beq.n 10c08 <_lv_mem_buf_release+0x34> if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) { - 10b80: 4b11 ldr r3, [pc, #68] ; (10bc8 <_lv_mem_buf_release+0x5c>) - 10b82: 681b ldr r3, [r3, #0] - 10b84: 4298 cmp r0, r3 - 10b86: d013 beq.n 10bb0 <_lv_mem_buf_release+0x44> - 10b88: 2301 movs r3, #1 - 10b8a: 4c0f ldr r4, [pc, #60] ; (10bc8 <_lv_mem_buf_release+0x5c>) - 10b8c: 0019 movs r1, r3 - 10b8e: 00da lsls r2, r3, #3 - 10b90: 58a2 ldr r2, [r4, r2] - 10b92: 4290 cmp r0, r2 - 10b94: d00d beq.n 10bb2 <_lv_mem_buf_release+0x46> - 10b96: 3301 adds r3, #1 + 10be8: 4b11 ldr r3, [pc, #68] ; (10c30 <_lv_mem_buf_release+0x5c>) + 10bea: 681b ldr r3, [r3, #0] + 10bec: 4298 cmp r0, r3 + 10bee: d013 beq.n 10c18 <_lv_mem_buf_release+0x44> + 10bf0: 2301 movs r3, #1 + 10bf2: 4c0f ldr r4, [pc, #60] ; (10c30 <_lv_mem_buf_release+0x5c>) + 10bf4: 0019 movs r1, r3 + 10bf6: 00da lsls r2, r3, #3 + 10bf8: 58a2 ldr r2, [r4, r2] + 10bfa: 4290 cmp r0, r2 + 10bfc: d00d beq.n 10c1a <_lv_mem_buf_release+0x46> + 10bfe: 3301 adds r3, #1 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 10b98: 2b10 cmp r3, #16 - 10b9a: d1f7 bne.n 10b8c <_lv_mem_buf_release+0x20> + 10c00: 2b10 cmp r3, #16 + 10c02: d1f7 bne.n 10bf4 <_lv_mem_buf_release+0x20> } - 10b9c: bd10 pop {r4, pc} + 10c04: bd10 pop {r4, pc} if(mem_buf_small[i].p == p) { - 10b9e: 2200 movs r2, #0 + 10c06: 2200 movs r2, #0 mem_buf_small[i].used = 0; - 10ba0: 00d2 lsls r2, r2, #3 - 10ba2: 4b08 ldr r3, [pc, #32] ; (10bc4 <_lv_mem_buf_release+0x58>) - 10ba4: 189b adds r3, r3, r2 - 10ba6: 799a ldrb r2, [r3, #6] - 10ba8: 2101 movs r1, #1 - 10baa: 438a bics r2, r1 - 10bac: 719a strb r2, [r3, #6] + 10c08: 00d2 lsls r2, r2, #3 + 10c0a: 4b08 ldr r3, [pc, #32] ; (10c2c <_lv_mem_buf_release+0x58>) + 10c0c: 189b adds r3, r3, r2 + 10c0e: 799a ldrb r2, [r3, #6] + 10c10: 2101 movs r1, #1 + 10c12: 438a bics r2, r1 + 10c14: 719a strb r2, [r3, #6] return; - 10bae: e7f5 b.n 10b9c <_lv_mem_buf_release+0x30> + 10c16: e7f5 b.n 10c04 <_lv_mem_buf_release+0x30> if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) { - 10bb0: 2100 movs r1, #0 + 10c18: 2100 movs r1, #0 LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 10bb2: 00c9 lsls r1, r1, #3 - 10bb4: 4b04 ldr r3, [pc, #16] ; (10bc8 <_lv_mem_buf_release+0x5c>) - 10bb6: 1859 adds r1, r3, r1 - 10bb8: 798b ldrb r3, [r1, #6] - 10bba: 2201 movs r2, #1 - 10bbc: 4393 bics r3, r2 - 10bbe: 718b strb r3, [r1, #6] + 10c1a: 00c9 lsls r1, r1, #3 + 10c1c: 4b04 ldr r3, [pc, #16] ; (10c30 <_lv_mem_buf_release+0x5c>) + 10c1e: 1859 adds r1, r3, r1 + 10c20: 798b ldrb r3, [r1, #6] + 10c22: 2201 movs r2, #1 + 10c24: 4393 bics r3, r2 + 10c26: 718b strb r3, [r1, #6] return; - 10bc0: e7ec b.n 10b9c <_lv_mem_buf_release+0x30> - 10bc2: 46c0 nop ; (mov r8, r8) - 10bc4: 20000044 .word 0x20000044 - 10bc8: 20004cdc .word 0x20004cdc + 10c28: e7ec b.n 10c04 <_lv_mem_buf_release+0x30> + 10c2a: 46c0 nop ; (mov r8, r8) + 10c2c: 20000044 .word 0x20000044 + 10c30: 20004cdc .word 0x20004cdc -00010bcc <_lv_mem_buf_free_all>: +00010c34 <_lv_mem_buf_free_all>: { - 10bcc: b5f0 push {r4, r5, r6, r7, lr} - 10bce: 46c6 mov lr, r8 - 10bd0: b500 push {lr} + 10c34: b5f0 push {r4, r5, r6, r7, lr} + 10c36: 46c6 mov lr, r8 + 10c38: b500 push {lr} mem_buf_small[i].used = 0; - 10bd2: 4b11 ldr r3, [pc, #68] ; (10c18 <_lv_mem_buf_free_all+0x4c>) - 10bd4: 799a ldrb r2, [r3, #6] - 10bd6: 2101 movs r1, #1 - 10bd8: 438a bics r2, r1 - 10bda: 719a strb r2, [r3, #6] - 10bdc: 7b9a ldrb r2, [r3, #14] - 10bde: 438a bics r2, r1 - 10be0: 739a strb r2, [r3, #14] - 10be2: 4c0e ldr r4, [pc, #56] ; (10c1c <_lv_mem_buf_free_all+0x50>) - 10be4: 2500 movs r5, #0 + 10c3a: 4b11 ldr r3, [pc, #68] ; (10c80 <_lv_mem_buf_free_all+0x4c>) + 10c3c: 799a ldrb r2, [r3, #6] + 10c3e: 2101 movs r1, #1 + 10c40: 438a bics r2, r1 + 10c42: 719a strb r2, [r3, #6] + 10c44: 7b9a ldrb r2, [r3, #14] + 10c46: 438a bics r2, r1 + 10c48: 739a strb r2, [r3, #14] + 10c4a: 4c0e ldr r4, [pc, #56] ; (10c84 <_lv_mem_buf_free_all+0x50>) + 10c4c: 2500 movs r5, #0 lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p); - 10be6: 4b0e ldr r3, [pc, #56] ; (10c20 <_lv_mem_buf_free_all+0x54>) - 10be8: 4698 mov r8, r3 + 10c4e: 4b0e ldr r3, [pc, #56] ; (10c88 <_lv_mem_buf_free_all+0x54>) + 10c50: 4698 mov r8, r3 LV_GC_ROOT(_lv_mem_buf[i]).p = NULL; - 10bea: 2600 movs r6, #0 + 10c52: 2600 movs r6, #0 LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 10bec: 0027 movs r7, r4 - 10bee: e003 b.n 10bf8 <_lv_mem_buf_free_all+0x2c> - 10bf0: 3501 adds r5, #1 - 10bf2: 3408 adds r4, #8 + 10c54: 0027 movs r7, r4 + 10c56: e003 b.n 10c60 <_lv_mem_buf_free_all+0x2c> + 10c58: 3501 adds r5, #1 + 10c5a: 3408 adds r4, #8 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 10bf4: 2d10 cmp r5, #16 - 10bf6: d00c beq.n 10c12 <_lv_mem_buf_free_all+0x46> + 10c5c: 2d10 cmp r5, #16 + 10c5e: d00c beq.n 10c7a <_lv_mem_buf_free_all+0x46> if(LV_GC_ROOT(_lv_mem_buf[i]).p) { - 10bf8: 6820 ldr r0, [r4, #0] - 10bfa: 2800 cmp r0, #0 - 10bfc: d0f8 beq.n 10bf0 <_lv_mem_buf_free_all+0x24> + 10c60: 6820 ldr r0, [r4, #0] + 10c62: 2800 cmp r0, #0 + 10c64: d0f8 beq.n 10c58 <_lv_mem_buf_free_all+0x24> lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p); - 10bfe: 47c0 blx r8 + 10c66: 47c0 blx r8 LV_GC_ROOT(_lv_mem_buf[i]).p = NULL; - 10c00: 6026 str r6, [r4, #0] + 10c68: 6026 str r6, [r4, #0] LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 10c02: 00eb lsls r3, r5, #3 - 10c04: 18fb adds r3, r7, r3 - 10c06: 799a ldrb r2, [r3, #6] - 10c08: 2101 movs r1, #1 - 10c0a: 438a bics r2, r1 - 10c0c: 719a strb r2, [r3, #6] + 10c6a: 00eb lsls r3, r5, #3 + 10c6c: 18fb adds r3, r7, r3 + 10c6e: 799a ldrb r2, [r3, #6] + 10c70: 2101 movs r1, #1 + 10c72: 438a bics r2, r1 + 10c74: 719a strb r2, [r3, #6] LV_GC_ROOT(_lv_mem_buf[i]).size = 0; - 10c0e: 80a6 strh r6, [r4, #4] - 10c10: e7ee b.n 10bf0 <_lv_mem_buf_free_all+0x24> + 10c76: 80a6 strh r6, [r4, #4] + 10c78: e7ee b.n 10c58 <_lv_mem_buf_free_all+0x24> } - 10c12: bc04 pop {r2} - 10c14: 4690 mov r8, r2 - 10c16: bdf0 pop {r4, r5, r6, r7, pc} - 10c18: 20000044 .word 0x20000044 - 10c1c: 20004cdc .word 0x20004cdc - 10c20: 00010ad1 .word 0x00010ad1 + 10c7a: bc04 pop {r2} + 10c7c: 4690 mov r8, r2 + 10c7e: bdf0 pop {r4, r5, r6, r7, pc} + 10c80: 20000044 .word 0x20000044 + 10c84: 20004cdc .word 0x20004cdc + 10c88: 00010b39 .word 0x00010b39 -00010c24 <_lv_memcpy>: +00010c8c <_lv_memcpy>: { - 10c24: b5f0 push {r4, r5, r6, r7, lr} - 10c26: 46c6 mov lr, r8 - 10c28: b500 push {lr} + 10c8c: b5f0 push {r4, r5, r6, r7, lr} + 10c8e: 46c6 mov lr, r8 + 10c90: b500 push {lr} lv_uintptr_t d_align = (lv_uintptr_t)d8 & ALIGN_MASK; - 10c2a: 2303 movs r3, #3 - 10c2c: 001c movs r4, r3 - 10c2e: 4004 ands r4, r0 + 10c92: 2303 movs r3, #3 + 10c94: 001c movs r4, r3 + 10c96: 4004 ands r4, r0 lv_uintptr_t s_align = (lv_uintptr_t)s8 & ALIGN_MASK; - 10c30: 400b ands r3, r1 + 10c98: 400b ands r3, r1 if(s_align != d_align) { - 10c32: 429c cmp r4, r3 - 10c34: d067 beq.n 10d06 <_lv_memcpy+0xe2> + 10c9a: 429c cmp r4, r3 + 10c9c: d067 beq.n 10d6e <_lv_memcpy+0xe2> while(len > 32) { - 10c36: 2a20 cmp r2, #32 - 10c38: d963 bls.n 10d02 <_lv_memcpy+0xde> - 10c3a: 2321 movs r3, #33 ; 0x21 - 10c3c: 425b negs r3, r3 - 10c3e: 469c mov ip, r3 - 10c40: 4494 add ip, r2 - 10c42: 4663 mov r3, ip - 10c44: 095f lsrs r7, r3, #5 - 10c46: 1c7b adds r3, r7, #1 - 10c48: 015b lsls r3, r3, #5 - 10c4a: 18c5 adds r5, r0, r3 - 10c4c: 000c movs r4, r1 - 10c4e: 0003 movs r3, r0 + 10c9e: 2a20 cmp r2, #32 + 10ca0: d963 bls.n 10d6a <_lv_memcpy+0xde> + 10ca2: 2321 movs r3, #33 ; 0x21 + 10ca4: 425b negs r3, r3 + 10ca6: 469c mov ip, r3 + 10ca8: 4494 add ip, r2 + 10caa: 4663 mov r3, ip + 10cac: 095f lsrs r7, r3, #5 + 10cae: 1c7b adds r3, r7, #1 + 10cb0: 015b lsls r3, r3, #5 + 10cb2: 18c5 adds r5, r0, r3 + 10cb4: 000c movs r4, r1 + 10cb6: 0003 movs r3, r0 REPEAT8(COPY8); - 10c50: 7826 ldrb r6, [r4, #0] - 10c52: 701e strb r6, [r3, #0] - 10c54: 7866 ldrb r6, [r4, #1] - 10c56: 705e strb r6, [r3, #1] - 10c58: 78a6 ldrb r6, [r4, #2] - 10c5a: 709e strb r6, [r3, #2] - 10c5c: 78e6 ldrb r6, [r4, #3] - 10c5e: 70de strb r6, [r3, #3] - 10c60: 7926 ldrb r6, [r4, #4] - 10c62: 711e strb r6, [r3, #4] - 10c64: 7966 ldrb r6, [r4, #5] - 10c66: 715e strb r6, [r3, #5] - 10c68: 79a6 ldrb r6, [r4, #6] - 10c6a: 719e strb r6, [r3, #6] - 10c6c: 79e6 ldrb r6, [r4, #7] - 10c6e: 71de strb r6, [r3, #7] + 10cb8: 7826 ldrb r6, [r4, #0] + 10cba: 701e strb r6, [r3, #0] + 10cbc: 7866 ldrb r6, [r4, #1] + 10cbe: 705e strb r6, [r3, #1] + 10cc0: 78a6 ldrb r6, [r4, #2] + 10cc2: 709e strb r6, [r3, #2] + 10cc4: 78e6 ldrb r6, [r4, #3] + 10cc6: 70de strb r6, [r3, #3] + 10cc8: 7926 ldrb r6, [r4, #4] + 10cca: 711e strb r6, [r3, #4] + 10ccc: 7966 ldrb r6, [r4, #5] + 10cce: 715e strb r6, [r3, #5] + 10cd0: 79a6 ldrb r6, [r4, #6] + 10cd2: 719e strb r6, [r3, #6] + 10cd4: 79e6 ldrb r6, [r4, #7] + 10cd6: 71de strb r6, [r3, #7] REPEAT8(COPY8); - 10c70: 7a26 ldrb r6, [r4, #8] - 10c72: 721e strb r6, [r3, #8] - 10c74: 7a66 ldrb r6, [r4, #9] - 10c76: 725e strb r6, [r3, #9] - 10c78: 7aa6 ldrb r6, [r4, #10] - 10c7a: 729e strb r6, [r3, #10] - 10c7c: 7ae6 ldrb r6, [r4, #11] - 10c7e: 72de strb r6, [r3, #11] - 10c80: 7b26 ldrb r6, [r4, #12] - 10c82: 731e strb r6, [r3, #12] - 10c84: 7b66 ldrb r6, [r4, #13] - 10c86: 735e strb r6, [r3, #13] - 10c88: 7ba6 ldrb r6, [r4, #14] - 10c8a: 739e strb r6, [r3, #14] - 10c8c: 7be6 ldrb r6, [r4, #15] - 10c8e: 73de strb r6, [r3, #15] + 10cd8: 7a26 ldrb r6, [r4, #8] + 10cda: 721e strb r6, [r3, #8] + 10cdc: 7a66 ldrb r6, [r4, #9] + 10cde: 725e strb r6, [r3, #9] + 10ce0: 7aa6 ldrb r6, [r4, #10] + 10ce2: 729e strb r6, [r3, #10] + 10ce4: 7ae6 ldrb r6, [r4, #11] + 10ce6: 72de strb r6, [r3, #11] + 10ce8: 7b26 ldrb r6, [r4, #12] + 10cea: 731e strb r6, [r3, #12] + 10cec: 7b66 ldrb r6, [r4, #13] + 10cee: 735e strb r6, [r3, #13] + 10cf0: 7ba6 ldrb r6, [r4, #14] + 10cf2: 739e strb r6, [r3, #14] + 10cf4: 7be6 ldrb r6, [r4, #15] + 10cf6: 73de strb r6, [r3, #15] REPEAT8(COPY8); - 10c90: 7c26 ldrb r6, [r4, #16] - 10c92: 741e strb r6, [r3, #16] - 10c94: 7c66 ldrb r6, [r4, #17] - 10c96: 745e strb r6, [r3, #17] - 10c98: 7ca6 ldrb r6, [r4, #18] - 10c9a: 749e strb r6, [r3, #18] - 10c9c: 7ce6 ldrb r6, [r4, #19] - 10c9e: 74de strb r6, [r3, #19] - 10ca0: 7d26 ldrb r6, [r4, #20] - 10ca2: 751e strb r6, [r3, #20] - 10ca4: 7d66 ldrb r6, [r4, #21] - 10ca6: 755e strb r6, [r3, #21] - 10ca8: 7da6 ldrb r6, [r4, #22] - 10caa: 759e strb r6, [r3, #22] - 10cac: 7de6 ldrb r6, [r4, #23] - 10cae: 75de strb r6, [r3, #23] + 10cf8: 7c26 ldrb r6, [r4, #16] + 10cfa: 741e strb r6, [r3, #16] + 10cfc: 7c66 ldrb r6, [r4, #17] + 10cfe: 745e strb r6, [r3, #17] + 10d00: 7ca6 ldrb r6, [r4, #18] + 10d02: 749e strb r6, [r3, #18] + 10d04: 7ce6 ldrb r6, [r4, #19] + 10d06: 74de strb r6, [r3, #19] + 10d08: 7d26 ldrb r6, [r4, #20] + 10d0a: 751e strb r6, [r3, #20] + 10d0c: 7d66 ldrb r6, [r4, #21] + 10d0e: 755e strb r6, [r3, #21] + 10d10: 7da6 ldrb r6, [r4, #22] + 10d12: 759e strb r6, [r3, #22] + 10d14: 7de6 ldrb r6, [r4, #23] + 10d16: 75de strb r6, [r3, #23] REPEAT8(COPY8); - 10cb0: 7e26 ldrb r6, [r4, #24] - 10cb2: 761e strb r6, [r3, #24] - 10cb4: 7e66 ldrb r6, [r4, #25] - 10cb6: 765e strb r6, [r3, #25] - 10cb8: 7ea6 ldrb r6, [r4, #26] - 10cba: 769e strb r6, [r3, #26] - 10cbc: 7ee6 ldrb r6, [r4, #27] - 10cbe: 76de strb r6, [r3, #27] - 10cc0: 7f26 ldrb r6, [r4, #28] - 10cc2: 771e strb r6, [r3, #28] - 10cc4: 7f66 ldrb r6, [r4, #29] - 10cc6: 775e strb r6, [r3, #29] - 10cc8: 7fa6 ldrb r6, [r4, #30] - 10cca: 779e strb r6, [r3, #30] - 10ccc: 7fe6 ldrb r6, [r4, #31] - 10cce: 77de strb r6, [r3, #31] - 10cd0: 3320 adds r3, #32 - 10cd2: 3420 adds r4, #32 + 10d18: 7e26 ldrb r6, [r4, #24] + 10d1a: 761e strb r6, [r3, #24] + 10d1c: 7e66 ldrb r6, [r4, #25] + 10d1e: 765e strb r6, [r3, #25] + 10d20: 7ea6 ldrb r6, [r4, #26] + 10d22: 769e strb r6, [r3, #26] + 10d24: 7ee6 ldrb r6, [r4, #27] + 10d26: 76de strb r6, [r3, #27] + 10d28: 7f26 ldrb r6, [r4, #28] + 10d2a: 771e strb r6, [r3, #28] + 10d2c: 7f66 ldrb r6, [r4, #29] + 10d2e: 775e strb r6, [r3, #29] + 10d30: 7fa6 ldrb r6, [r4, #30] + 10d32: 779e strb r6, [r3, #30] + 10d34: 7fe6 ldrb r6, [r4, #31] + 10d36: 77de strb r6, [r3, #31] + 10d38: 3320 adds r3, #32 + 10d3a: 3420 adds r4, #32 while(len > 32) { - 10cd4: 42ab cmp r3, r5 - 10cd6: d1bb bne.n 10c50 <_lv_memcpy+0x2c> - 10cd8: 231f movs r3, #31 - 10cda: 4665 mov r5, ip - 10cdc: 439d bics r5, r3 - 10cde: 3520 adds r5, #32 - 10ce0: 1943 adds r3, r0, r5 - 10ce2: 1949 adds r1, r1, r5 - 10ce4: 3a20 subs r2, #32 - 10ce6: 017f lsls r7, r7, #5 - 10ce8: 1bd2 subs r2, r2, r7 + 10d3c: 42ab cmp r3, r5 + 10d3e: d1bb bne.n 10cb8 <_lv_memcpy+0x2c> + 10d40: 231f movs r3, #31 + 10d42: 4665 mov r5, ip + 10d44: 439d bics r5, r3 + 10d46: 3520 adds r5, #32 + 10d48: 1943 adds r3, r0, r5 + 10d4a: 1949 adds r1, r1, r5 + 10d4c: 3a20 subs r2, #32 + 10d4e: 017f lsls r7, r7, #5 + 10d50: 1bd2 subs r2, r2, r7 while(len) { - 10cea: 2a00 cmp r2, #0 - 10cec: d006 beq.n 10cfc <_lv_memcpy+0xd8> - 10cee: 189a adds r2, r3, r2 + 10d52: 2a00 cmp r2, #0 + 10d54: d006 beq.n 10d64 <_lv_memcpy+0xd8> + 10d56: 189a adds r2, r3, r2 COPY8 - 10cf0: 780c ldrb r4, [r1, #0] - 10cf2: 701c strb r4, [r3, #0] - 10cf4: 3301 adds r3, #1 - 10cf6: 3101 adds r1, #1 + 10d58: 780c ldrb r4, [r1, #0] + 10d5a: 701c strb r4, [r3, #0] + 10d5c: 3301 adds r3, #1 + 10d5e: 3101 adds r1, #1 while(len) { - 10cf8: 4293 cmp r3, r2 - 10cfa: d1f9 bne.n 10cf0 <_lv_memcpy+0xcc> + 10d60: 4293 cmp r3, r2 + 10d62: d1f9 bne.n 10d58 <_lv_memcpy+0xcc> } - 10cfc: bc04 pop {r2} - 10cfe: 4690 mov r8, r2 - 10d00: bdf0 pop {r4, r5, r6, r7, pc} + 10d64: bc04 pop {r2} + 10d66: 4690 mov r8, r2 + 10d68: bdf0 pop {r4, r5, r6, r7, pc} while(len > 32) { - 10d02: 0003 movs r3, r0 - 10d04: e7f1 b.n 10cea <_lv_memcpy+0xc6> + 10d6a: 0003 movs r3, r0 + 10d6c: e7f1 b.n 10d52 <_lv_memcpy+0xc6> uint8_t * d8 = dst; - 10d06: 0005 movs r5, r0 + 10d6e: 0005 movs r5, r0 if(d_align) { - 10d08: 2c00 cmp r4, #0 - 10d0a: d014 beq.n 10d36 <_lv_memcpy+0x112> + 10d70: 2c00 cmp r4, #0 + 10d72: d014 beq.n 10d9e <_lv_memcpy+0x112> d_align = ALIGN_MASK + 1 - d_align; - 10d0c: 2504 movs r5, #4 - 10d0e: 1b2d subs r5, r5, r4 + 10d74: 2504 movs r5, #4 + 10d76: 1b2d subs r5, r5, r4 while(d_align && len) { - 10d10: d00e beq.n 10d30 <_lv_memcpy+0x10c> - 10d12: 2a00 cmp r2, #0 - 10d14: d05f beq.n 10dd6 <_lv_memcpy+0x1b2> - 10d16: 1945 adds r5, r0, r5 - 10d18: 0003 movs r3, r0 + 10d78: d00e beq.n 10d98 <_lv_memcpy+0x10c> + 10d7a: 2a00 cmp r2, #0 + 10d7c: d05f beq.n 10e3e <_lv_memcpy+0x1b2> + 10d7e: 1945 adds r5, r0, r5 + 10d80: 0003 movs r3, r0 COPY8; - 10d1a: 780c ldrb r4, [r1, #0] - 10d1c: 701c strb r4, [r3, #0] - 10d1e: 3301 adds r3, #1 - 10d20: 3101 adds r1, #1 + 10d82: 780c ldrb r4, [r1, #0] + 10d84: 701c strb r4, [r3, #0] + 10d86: 3301 adds r3, #1 + 10d88: 3101 adds r1, #1 len--; - 10d22: 3a01 subs r2, #1 + 10d8a: 3a01 subs r2, #1 while(d_align && len) { - 10d24: 42ab cmp r3, r5 - 10d26: d005 beq.n 10d34 <_lv_memcpy+0x110> - 10d28: 2a00 cmp r2, #0 - 10d2a: d1f6 bne.n 10d1a <_lv_memcpy+0xf6> + 10d8c: 42ab cmp r3, r5 + 10d8e: d005 beq.n 10d9c <_lv_memcpy+0x110> + 10d90: 2a00 cmp r2, #0 + 10d92: d1f6 bne.n 10d82 <_lv_memcpy+0xf6> while(len > 4) { - 10d2c: 2200 movs r2, #0 - 10d2e: e048 b.n 10dc2 <_lv_memcpy+0x19e> + 10d94: 2200 movs r2, #0 + 10d96: e048 b.n 10e2a <_lv_memcpy+0x19e> uint8_t * d8 = dst; - 10d30: 0005 movs r5, r0 - 10d32: e000 b.n 10d36 <_lv_memcpy+0x112> + 10d98: 0005 movs r5, r0 + 10d9a: e000 b.n 10d9e <_lv_memcpy+0x112> COPY8; - 10d34: 001d movs r5, r3 + 10d9c: 001d movs r5, r3 while(len > 32) { - 10d36: 2a20 cmp r2, #32 - 10d38: d928 bls.n 10d8c <_lv_memcpy+0x168> - 10d3a: 0017 movs r7, r2 - 10d3c: 3f21 subs r7, #33 ; 0x21 - 10d3e: 46b8 mov r8, r7 - 10d40: 097b lsrs r3, r7, #5 - 10d42: 469c mov ip, r3 - 10d44: 1c5e adds r6, r3, #1 - 10d46: 0176 lsls r6, r6, #5 - 10d48: 19ae adds r6, r5, r6 - 10d4a: 000c movs r4, r1 - 10d4c: 002b movs r3, r5 + 10d9e: 2a20 cmp r2, #32 + 10da0: d928 bls.n 10df4 <_lv_memcpy+0x168> + 10da2: 0017 movs r7, r2 + 10da4: 3f21 subs r7, #33 ; 0x21 + 10da6: 46b8 mov r8, r7 + 10da8: 097b lsrs r3, r7, #5 + 10daa: 469c mov ip, r3 + 10dac: 1c5e adds r6, r3, #1 + 10dae: 0176 lsls r6, r6, #5 + 10db0: 19ae adds r6, r5, r6 + 10db2: 000c movs r4, r1 + 10db4: 002b movs r3, r5 REPEAT8(COPY32) - 10d4e: 6827 ldr r7, [r4, #0] - 10d50: 601f str r7, [r3, #0] - 10d52: 6867 ldr r7, [r4, #4] - 10d54: 605f str r7, [r3, #4] - 10d56: 68a7 ldr r7, [r4, #8] - 10d58: 609f str r7, [r3, #8] - 10d5a: 68e7 ldr r7, [r4, #12] - 10d5c: 60df str r7, [r3, #12] - 10d5e: 6927 ldr r7, [r4, #16] - 10d60: 611f str r7, [r3, #16] - 10d62: 6967 ldr r7, [r4, #20] - 10d64: 615f str r7, [r3, #20] - 10d66: 69a7 ldr r7, [r4, #24] - 10d68: 619f str r7, [r3, #24] - 10d6a: 69e7 ldr r7, [r4, #28] - 10d6c: 61df str r7, [r3, #28] - 10d6e: 3320 adds r3, #32 - 10d70: 3420 adds r4, #32 + 10db6: 6827 ldr r7, [r4, #0] + 10db8: 601f str r7, [r3, #0] + 10dba: 6867 ldr r7, [r4, #4] + 10dbc: 605f str r7, [r3, #4] + 10dbe: 68a7 ldr r7, [r4, #8] + 10dc0: 609f str r7, [r3, #8] + 10dc2: 68e7 ldr r7, [r4, #12] + 10dc4: 60df str r7, [r3, #12] + 10dc6: 6927 ldr r7, [r4, #16] + 10dc8: 611f str r7, [r3, #16] + 10dca: 6967 ldr r7, [r4, #20] + 10dcc: 615f str r7, [r3, #20] + 10dce: 69a7 ldr r7, [r4, #24] + 10dd0: 619f str r7, [r3, #24] + 10dd2: 69e7 ldr r7, [r4, #28] + 10dd4: 61df str r7, [r3, #28] + 10dd6: 3320 adds r3, #32 + 10dd8: 3420 adds r4, #32 while(len > 32) { - 10d72: 429e cmp r6, r3 - 10d74: d1eb bne.n 10d4e <_lv_memcpy+0x12a> - 10d76: 231f movs r3, #31 - 10d78: 4647 mov r7, r8 - 10d7a: 439f bics r7, r3 - 10d7c: 3720 adds r7, #32 - 10d7e: 19ed adds r5, r5, r7 - 10d80: 19c9 adds r1, r1, r7 - 10d82: 0013 movs r3, r2 - 10d84: 3b20 subs r3, #32 - 10d86: 4662 mov r2, ip - 10d88: 0152 lsls r2, r2, #5 - 10d8a: 1a9a subs r2, r3, r2 + 10dda: 429e cmp r6, r3 + 10ddc: d1eb bne.n 10db6 <_lv_memcpy+0x12a> + 10dde: 231f movs r3, #31 + 10de0: 4647 mov r7, r8 + 10de2: 439f bics r7, r3 + 10de4: 3720 adds r7, #32 + 10de6: 19ed adds r5, r5, r7 + 10de8: 19c9 adds r1, r1, r7 + 10dea: 0013 movs r3, r2 + 10dec: 3b20 subs r3, #32 + 10dee: 4662 mov r2, ip + 10df0: 0152 lsls r2, r2, #5 + 10df2: 1a9a subs r2, r3, r2 while(len > 4) { - 10d8c: 002b movs r3, r5 - 10d8e: 2a04 cmp r2, #4 - 10d90: d917 bls.n 10dc2 <_lv_memcpy+0x19e> - 10d92: 1f53 subs r3, r2, #5 - 10d94: 469c mov ip, r3 - 10d96: 089b lsrs r3, r3, #2 - 10d98: 4698 mov r8, r3 - 10d9a: 3301 adds r3, #1 - 10d9c: 009b lsls r3, r3, #2 - 10d9e: 18eb adds r3, r5, r3 - 10da0: 000e movs r6, r1 - 10da2: 002c movs r4, r5 + 10df4: 002b movs r3, r5 + 10df6: 2a04 cmp r2, #4 + 10df8: d917 bls.n 10e2a <_lv_memcpy+0x19e> + 10dfa: 1f53 subs r3, r2, #5 + 10dfc: 469c mov ip, r3 + 10dfe: 089b lsrs r3, r3, #2 + 10e00: 4698 mov r8, r3 + 10e02: 3301 adds r3, #1 + 10e04: 009b lsls r3, r3, #2 + 10e06: 18eb adds r3, r5, r3 + 10e08: 000e movs r6, r1 + 10e0a: 002c movs r4, r5 COPY32; - 10da4: ce80 ldmia r6!, {r7} - 10da6: c480 stmia r4!, {r7} + 10e0c: ce80 ldmia r6!, {r7} + 10e0e: c480 stmia r4!, {r7} while(len > 4) { - 10da8: 429c cmp r4, r3 - 10daa: d1fb bne.n 10da4 <_lv_memcpy+0x180> - 10dac: 2303 movs r3, #3 - 10dae: 4664 mov r4, ip - 10db0: 439c bics r4, r3 - 10db2: 0023 movs r3, r4 - 10db4: 3304 adds r3, #4 - 10db6: 1f14 subs r4, r2, #4 - 10db8: 4642 mov r2, r8 - 10dba: 0092 lsls r2, r2, #2 - 10dbc: 1aa2 subs r2, r4, r2 + 10e10: 429c cmp r4, r3 + 10e12: d1fb bne.n 10e0c <_lv_memcpy+0x180> + 10e14: 2303 movs r3, #3 + 10e16: 4664 mov r4, ip + 10e18: 439c bics r4, r3 + 10e1a: 0023 movs r3, r4 + 10e1c: 3304 adds r3, #4 + 10e1e: 1f14 subs r4, r2, #4 + 10e20: 4642 mov r2, r8 + 10e22: 0092 lsls r2, r2, #2 + 10e24: 1aa2 subs r2, r4, r2 COPY32; - 10dbe: 18c9 adds r1, r1, r3 - 10dc0: 18eb adds r3, r5, r3 + 10e26: 18c9 adds r1, r1, r3 + 10e28: 18eb adds r3, r5, r3 while(len) { - 10dc2: 2a00 cmp r2, #0 - 10dc4: d09a beq.n 10cfc <_lv_memcpy+0xd8> - 10dc6: 189a adds r2, r3, r2 + 10e2a: 2a00 cmp r2, #0 + 10e2c: d09a beq.n 10d64 <_lv_memcpy+0xd8> + 10e2e: 189a adds r2, r3, r2 COPY8 - 10dc8: 780c ldrb r4, [r1, #0] - 10dca: 701c strb r4, [r3, #0] - 10dcc: 3301 adds r3, #1 - 10dce: 3101 adds r1, #1 + 10e30: 780c ldrb r4, [r1, #0] + 10e32: 701c strb r4, [r3, #0] + 10e34: 3301 adds r3, #1 + 10e36: 3101 adds r1, #1 while(len) { - 10dd0: 4293 cmp r3, r2 - 10dd2: d1f9 bne.n 10dc8 <_lv_memcpy+0x1a4> - 10dd4: e792 b.n 10cfc <_lv_memcpy+0xd8> + 10e38: 4293 cmp r3, r2 + 10e3a: d1f9 bne.n 10e30 <_lv_memcpy+0x1a4> + 10e3c: e792 b.n 10d64 <_lv_memcpy+0xd8> uint8_t * d8 = dst; - 10dd6: 0003 movs r3, r0 - 10dd8: e7a8 b.n 10d2c <_lv_memcpy+0x108> + 10e3e: 0003 movs r3, r0 + 10e40: e7a8 b.n 10d94 <_lv_memcpy+0x108> ... -00010ddc : +00010e44 : { - 10ddc: b5f8 push {r3, r4, r5, r6, r7, lr} - 10dde: 0005 movs r5, r0 - 10de0: 000c movs r4, r1 + 10e44: b5f8 push {r3, r4, r5, r6, r7, lr} + 10e46: 0005 movs r5, r0 + 10e48: 000c movs r4, r1 if(new_size & 0x3) { - 10de2: 078b lsls r3, r1, #30 - 10de4: d002 beq.n 10dec + 10e4a: 078b lsls r3, r1, #30 + 10e4c: d002 beq.n 10e54 new_size = new_size & (~0x3); - 10de6: 2303 movs r3, #3 - 10de8: 439c bics r4, r3 + 10e4e: 2303 movs r3, #3 + 10e50: 439c bics r4, r3 new_size += 4; - 10dea: 3404 adds r4, #4 + 10e52: 3404 adds r4, #4 if(data_p != NULL) { - 10dec: 2d00 cmp r5, #0 - 10dee: d004 beq.n 10dfa + 10e54: 2d00 cmp r5, #0 + 10e56: d004 beq.n 10e62 if(e->header.s.used == 0) { - 10df0: 1f2b subs r3, r5, #4 - 10df2: 781b ldrb r3, [r3, #0] + 10e58: 1f2b subs r3, r5, #4 + 10e5a: 781b ldrb r3, [r3, #0] data_p = NULL; - 10df4: 07db lsls r3, r3, #31 - 10df6: 17db asrs r3, r3, #31 - 10df8: 401d ands r5, r3 + 10e5c: 07db lsls r3, r3, #31 + 10e5e: 17db asrs r3, r3, #31 + 10e60: 401d ands r5, r3 uint32_t old_size = _lv_mem_get_size(data_p); - 10dfa: 0028 movs r0, r5 - 10dfc: 4b11 ldr r3, [pc, #68] ; (10e44 ) - 10dfe: 4798 blx r3 - 10e00: 0007 movs r7, r0 + 10e62: 0028 movs r0, r5 + 10e64: 4b11 ldr r3, [pc, #68] ; (10eac ) + 10e66: 4798 blx r3 + 10e68: 0007 movs r7, r0 if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/ - 10e02: 4284 cmp r4, r0 - 10e04: d01c beq.n 10e40 + 10e6a: 4284 cmp r4, r0 + 10e6c: d01c beq.n 10ea8 if(new_size < old_size) { - 10e06: d314 bcc.n 10e32 + 10e6e: d314 bcc.n 10e9a new_p = lv_mem_alloc(new_size); - 10e08: 0020 movs r0, r4 - 10e0a: 4b0f ldr r3, [pc, #60] ; (10e48 ) - 10e0c: 4798 blx r3 - 10e0e: 1e06 subs r6, r0, #0 + 10e70: 0020 movs r0, r4 + 10e72: 4b0f ldr r3, [pc, #60] ; (10eb0 ) + 10e74: 4798 blx r3 + 10e76: 1e06 subs r6, r0, #0 if(new_p == NULL) { - 10e10: d014 beq.n 10e3c + 10e78: d014 beq.n 10ea4 if(data_p != NULL) { - 10e12: 2d00 cmp r5, #0 - 10e14: d012 beq.n 10e3c + 10e7a: 2d00 cmp r5, #0 + 10e7c: d012 beq.n 10ea4 if(old_size != 0) { - 10e16: 2f00 cmp r7, #0 - 10e18: d010 beq.n 10e3c + 10e7e: 2f00 cmp r7, #0 + 10e80: d010 beq.n 10ea4 _lv_memcpy(new_p, data_p, LV_MATH_MIN(new_size, old_size)); - 10e1a: 0022 movs r2, r4 - 10e1c: 42bc cmp r4, r7 - 10e1e: d900 bls.n 10e22 - 10e20: 003a movs r2, r7 - 10e22: 0029 movs r1, r5 - 10e24: 0030 movs r0, r6 - 10e26: 4b09 ldr r3, [pc, #36] ; (10e4c ) - 10e28: 4798 blx r3 + 10e82: 0022 movs r2, r4 + 10e84: 42bc cmp r4, r7 + 10e86: d900 bls.n 10e8a + 10e88: 003a movs r2, r7 + 10e8a: 0029 movs r1, r5 + 10e8c: 0030 movs r0, r6 + 10e8e: 4b09 ldr r3, [pc, #36] ; (10eb4 ) + 10e90: 4798 blx r3 lv_mem_free(data_p); - 10e2a: 0028 movs r0, r5 - 10e2c: 4b08 ldr r3, [pc, #32] ; (10e50 ) - 10e2e: 4798 blx r3 - 10e30: e004 b.n 10e3c + 10e92: 0028 movs r0, r5 + 10e94: 4b08 ldr r3, [pc, #32] ; (10eb8 ) + 10e96: 4798 blx r3 + 10e98: e004 b.n 10ea4 lv_mem_ent_t * e = (lv_mem_ent_t *)((uint8_t *)data_p - sizeof(lv_mem_header_t)); - 10e32: 1f28 subs r0, r5, #4 + 10e9a: 1f28 subs r0, r5, #4 ent_trunc(e, new_size); - 10e34: 0021 movs r1, r4 - 10e36: 4b07 ldr r3, [pc, #28] ; (10e54 ) - 10e38: 4798 blx r3 + 10e9c: 0021 movs r1, r4 + 10e9e: 4b07 ldr r3, [pc, #28] ; (10ebc ) + 10ea0: 4798 blx r3 return &e->first_data; - 10e3a: 002e movs r6, r5 + 10ea2: 002e movs r6, r5 } - 10e3c: 0030 movs r0, r6 - 10e3e: bdf8 pop {r3, r4, r5, r6, r7, pc} + 10ea4: 0030 movs r0, r6 + 10ea6: bdf8 pop {r3, r4, r5, r6, r7, pc} if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/ - 10e40: 002e movs r6, r5 - 10e42: e7fb b.n 10e3c - 10e44: 00010b4d .word 0x00010b4d - 10e48: 00010a09 .word 0x00010a09 - 10e4c: 00010c25 .word 0x00010c25 - 10e50: 00010ad1 .word 0x00010ad1 - 10e54: 00010995 .word 0x00010995 + 10ea8: 002e movs r6, r5 + 10eaa: e7fb b.n 10ea4 + 10eac: 00010bb5 .word 0x00010bb5 + 10eb0: 00010a71 .word 0x00010a71 + 10eb4: 00010c8d .word 0x00010c8d + 10eb8: 00010b39 .word 0x00010b39 + 10ebc: 000109fd .word 0x000109fd -00010e58 <_lv_mem_buf_get>: +00010ec0 <_lv_mem_buf_get>: { - 10e58: b5f8 push {r3, r4, r5, r6, r7, lr} + 10ec0: b5f8 push {r3, r4, r5, r6, r7, lr} if(size == 0) return NULL; - 10e5a: 2800 cmp r0, #0 - 10e5c: d100 bne.n 10e60 <_lv_mem_buf_get+0x8> - 10e5e: e068 b.n 10f32 <_lv_mem_buf_get+0xda> + 10ec2: 2800 cmp r0, #0 + 10ec4: d100 bne.n 10ec8 <_lv_mem_buf_get+0x8> + 10ec6: e068 b.n 10f9a <_lv_mem_buf_get+0xda> if(size <= MEM_BUF_SMALL_SIZE) { - 10e60: 2810 cmp r0, #16 - 10e62: d807 bhi.n 10e74 <_lv_mem_buf_get+0x1c> + 10ec8: 2810 cmp r0, #16 + 10eca: d807 bhi.n 10edc <_lv_mem_buf_get+0x1c> if(mem_buf_small[i].used == 0) { - 10e64: 4b34 ldr r3, [pc, #208] ; (10f38 <_lv_mem_buf_get+0xe0>) - 10e66: 799b ldrb r3, [r3, #6] - 10e68: 07db lsls r3, r3, #31 - 10e6a: d513 bpl.n 10e94 <_lv_mem_buf_get+0x3c> - 10e6c: 4b32 ldr r3, [pc, #200] ; (10f38 <_lv_mem_buf_get+0xe0>) - 10e6e: 7b9b ldrb r3, [r3, #14] - 10e70: 07db lsls r3, r3, #31 - 10e72: d505 bpl.n 10e80 <_lv_mem_buf_get+0x28> - 10e74: 4c31 ldr r4, [pc, #196] ; (10f3c <_lv_mem_buf_get+0xe4>) - 10e76: 2300 movs r3, #0 - 10e78: 2601 movs r6, #1 - 10e7a: 4276 negs r6, r6 + 10ecc: 4b34 ldr r3, [pc, #208] ; (10fa0 <_lv_mem_buf_get+0xe0>) + 10ece: 799b ldrb r3, [r3, #6] + 10ed0: 07db lsls r3, r3, #31 + 10ed2: d513 bpl.n 10efc <_lv_mem_buf_get+0x3c> + 10ed4: 4b32 ldr r3, [pc, #200] ; (10fa0 <_lv_mem_buf_get+0xe0>) + 10ed6: 7b9b ldrb r3, [r3, #14] + 10ed8: 07db lsls r3, r3, #31 + 10eda: d505 bpl.n 10ee8 <_lv_mem_buf_get+0x28> + 10edc: 4c31 ldr r4, [pc, #196] ; (10fa4 <_lv_mem_buf_get+0xe4>) + 10ede: 2300 movs r3, #0 + 10ee0: 2601 movs r6, #1 + 10ee2: 4276 negs r6, r6 if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) { - 10e7c: 0027 movs r7, r4 - 10e7e: e019 b.n 10eb4 <_lv_mem_buf_get+0x5c> + 10ee4: 0027 movs r7, r4 + 10ee6: e019 b.n 10f1c <_lv_mem_buf_get+0x5c> if(mem_buf_small[i].used == 0) { - 10e80: 2301 movs r3, #1 + 10ee8: 2301 movs r3, #1 mem_buf_small[i].used = 1; - 10e82: 492d ldr r1, [pc, #180] ; (10f38 <_lv_mem_buf_get+0xe0>) - 10e84: 00db lsls r3, r3, #3 - 10e86: 18c8 adds r0, r1, r3 - 10e88: 7982 ldrb r2, [r0, #6] - 10e8a: 2401 movs r4, #1 - 10e8c: 4322 orrs r2, r4 - 10e8e: 7182 strb r2, [r0, #6] + 10eea: 492d ldr r1, [pc, #180] ; (10fa0 <_lv_mem_buf_get+0xe0>) + 10eec: 00db lsls r3, r3, #3 + 10eee: 18c8 adds r0, r1, r3 + 10ef0: 7982 ldrb r2, [r0, #6] + 10ef2: 2401 movs r4, #1 + 10ef4: 4322 orrs r2, r4 + 10ef6: 7182 strb r2, [r0, #6] return mem_buf_small[i].p; - 10e90: 5858 ldr r0, [r3, r1] - 10e92: e02d b.n 10ef0 <_lv_mem_buf_get+0x98> + 10ef8: 5858 ldr r0, [r3, r1] + 10efa: e02d b.n 10f58 <_lv_mem_buf_get+0x98> if(mem_buf_small[i].used == 0) { - 10e94: 2300 movs r3, #0 - 10e96: e7f4 b.n 10e82 <_lv_mem_buf_get+0x2a> + 10efc: 2300 movs r3, #0 + 10efe: e7f4 b.n 10eea <_lv_mem_buf_get+0x2a> LV_GC_ROOT(_lv_mem_buf[i]).used = 1; - 10e98: 4a28 ldr r2, [pc, #160] ; (10f3c <_lv_mem_buf_get+0xe4>) - 10e9a: 00dd lsls r5, r3, #3 - 10e9c: 1951 adds r1, r2, r5 - 10e9e: 798b ldrb r3, [r1, #6] - 10ea0: 2001 movs r0, #1 - 10ea2: 4303 orrs r3, r0 - 10ea4: 718b strb r3, [r1, #6] + 10f00: 4a28 ldr r2, [pc, #160] ; (10fa4 <_lv_mem_buf_get+0xe4>) + 10f02: 00dd lsls r5, r3, #3 + 10f04: 1951 adds r1, r2, r5 + 10f06: 798b ldrb r3, [r1, #6] + 10f08: 2001 movs r0, #1 + 10f0a: 4303 orrs r3, r0 + 10f0c: 718b strb r3, [r1, #6] return LV_GC_ROOT(_lv_mem_buf[i]).p; - 10ea6: 58a8 ldr r0, [r5, r2] - 10ea8: e022 b.n 10ef0 <_lv_mem_buf_get+0x98> + 10f0e: 58a8 ldr r0, [r5, r2] + 10f10: e022 b.n 10f58 <_lv_mem_buf_get+0x98> i_guess = i; - 10eaa: b25e sxtb r6, r3 - 10eac: 3301 adds r3, #1 - 10eae: 3408 adds r4, #8 + 10f12: b25e sxtb r6, r3 + 10f14: 3301 adds r3, #1 + 10f16: 3408 adds r4, #8 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 10eb0: 2b10 cmp r3, #16 - 10eb2: d013 beq.n 10edc <_lv_mem_buf_get+0x84> + 10f18: 2b10 cmp r3, #16 + 10f1a: d013 beq.n 10f44 <_lv_mem_buf_get+0x84> if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) { - 10eb4: 00da lsls r2, r3, #3 - 10eb6: 18ba adds r2, r7, r2 - 10eb8: 7992 ldrb r2, [r2, #6] - 10eba: 07d2 lsls r2, r2, #31 - 10ebc: d4f6 bmi.n 10eac <_lv_mem_buf_get+0x54> - 10ebe: 88a2 ldrh r2, [r4, #4] - 10ec0: 4290 cmp r0, r2 - 10ec2: d8f3 bhi.n 10eac <_lv_mem_buf_get+0x54> + 10f1c: 00da lsls r2, r3, #3 + 10f1e: 18ba adds r2, r7, r2 + 10f20: 7992 ldrb r2, [r2, #6] + 10f22: 07d2 lsls r2, r2, #31 + 10f24: d4f6 bmi.n 10f14 <_lv_mem_buf_get+0x54> + 10f26: 88a2 ldrh r2, [r4, #4] + 10f28: 4290 cmp r0, r2 + 10f2a: d8f3 bhi.n 10f14 <_lv_mem_buf_get+0x54> if(LV_GC_ROOT(_lv_mem_buf[i]).size == size) { - 10ec4: d0e8 beq.n 10e98 <_lv_mem_buf_get+0x40> + 10f2c: d0e8 beq.n 10f00 <_lv_mem_buf_get+0x40> else if(i_guess < 0) { - 10ec6: 2e00 cmp r6, #0 - 10ec8: dbef blt.n 10eaa <_lv_mem_buf_get+0x52> + 10f2e: 2e00 cmp r6, #0 + 10f30: dbef blt.n 10f12 <_lv_mem_buf_get+0x52> else if(LV_GC_ROOT(_lv_mem_buf[i]).size < LV_GC_ROOT(_lv_mem_buf[i_guess]).size) { - 10eca: 00f1 lsls r1, r6, #3 - 10ecc: 4d1b ldr r5, [pc, #108] ; (10f3c <_lv_mem_buf_get+0xe4>) - 10ece: 46ac mov ip, r5 - 10ed0: 4461 add r1, ip - 10ed2: 8889 ldrh r1, [r1, #4] - 10ed4: 4291 cmp r1, r2 - 10ed6: d9e9 bls.n 10eac <_lv_mem_buf_get+0x54> + 10f32: 00f1 lsls r1, r6, #3 + 10f34: 4d1b ldr r5, [pc, #108] ; (10fa4 <_lv_mem_buf_get+0xe4>) + 10f36: 46ac mov ip, r5 + 10f38: 4461 add r1, ip + 10f3a: 8889 ldrh r1, [r1, #4] + 10f3c: 4291 cmp r1, r2 + 10f3e: d9e9 bls.n 10f14 <_lv_mem_buf_get+0x54> i_guess = i; - 10ed8: b25e sxtb r6, r3 - 10eda: e7e7 b.n 10eac <_lv_mem_buf_get+0x54> + 10f40: b25e sxtb r6, r3 + 10f42: e7e7 b.n 10f14 <_lv_mem_buf_get+0x54> if(i_guess >= 0) { - 10edc: 2e00 cmp r6, #0 - 10ede: db08 blt.n 10ef2 <_lv_mem_buf_get+0x9a> + 10f44: 2e00 cmp r6, #0 + 10f46: db08 blt.n 10f5a <_lv_mem_buf_get+0x9a> LV_GC_ROOT(_lv_mem_buf[i_guess]).used = 1; - 10ee0: 4916 ldr r1, [pc, #88] ; (10f3c <_lv_mem_buf_get+0xe4>) - 10ee2: 00f3 lsls r3, r6, #3 - 10ee4: 18c8 adds r0, r1, r3 - 10ee6: 7982 ldrb r2, [r0, #6] - 10ee8: 2401 movs r4, #1 - 10eea: 4322 orrs r2, r4 - 10eec: 7182 strb r2, [r0, #6] + 10f48: 4916 ldr r1, [pc, #88] ; (10fa4 <_lv_mem_buf_get+0xe4>) + 10f4a: 00f3 lsls r3, r6, #3 + 10f4c: 18c8 adds r0, r1, r3 + 10f4e: 7982 ldrb r2, [r0, #6] + 10f50: 2401 movs r4, #1 + 10f52: 4322 orrs r2, r4 + 10f54: 7182 strb r2, [r0, #6] return LV_GC_ROOT(_lv_mem_buf[i_guess]).p; - 10eee: 5858 ldr r0, [r3, r1] + 10f56: 5858 ldr r0, [r3, r1] } - 10ef0: bdf8 pop {r3, r4, r5, r6, r7, pc} + 10f58: bdf8 pop {r3, r4, r5, r6, r7, pc} if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0) { - 10ef2: 4b12 ldr r3, [pc, #72] ; (10f3c <_lv_mem_buf_get+0xe4>) - 10ef4: 799a ldrb r2, [r3, #6] - 10ef6: 2301 movs r3, #1 - 10ef8: 2400 movs r4, #0 - 10efa: 07d2 lsls r2, r2, #31 - 10efc: d50b bpl.n 10f16 <_lv_mem_buf_get+0xbe> - 10efe: 490f ldr r1, [pc, #60] ; (10f3c <_lv_mem_buf_get+0xe4>) - 10f00: 001c movs r4, r3 - 10f02: 00da lsls r2, r3, #3 - 10f04: 188a adds r2, r1, r2 - 10f06: 7992 ldrb r2, [r2, #6] - 10f08: 07d2 lsls r2, r2, #31 - 10f0a: d504 bpl.n 10f16 <_lv_mem_buf_get+0xbe> - 10f0c: 3301 adds r3, #1 + 10f5a: 4b12 ldr r3, [pc, #72] ; (10fa4 <_lv_mem_buf_get+0xe4>) + 10f5c: 799a ldrb r2, [r3, #6] + 10f5e: 2301 movs r3, #1 + 10f60: 2400 movs r4, #0 + 10f62: 07d2 lsls r2, r2, #31 + 10f64: d50b bpl.n 10f7e <_lv_mem_buf_get+0xbe> + 10f66: 490f ldr r1, [pc, #60] ; (10fa4 <_lv_mem_buf_get+0xe4>) + 10f68: 001c movs r4, r3 + 10f6a: 00da lsls r2, r3, #3 + 10f6c: 188a adds r2, r1, r2 + 10f6e: 7992 ldrb r2, [r2, #6] + 10f70: 07d2 lsls r2, r2, #31 + 10f72: d504 bpl.n 10f7e <_lv_mem_buf_get+0xbe> + 10f74: 3301 adds r3, #1 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 10f0e: 2b10 cmp r3, #16 - 10f10: d1f6 bne.n 10f00 <_lv_mem_buf_get+0xa8> + 10f76: 2b10 cmp r3, #16 + 10f78: d1f6 bne.n 10f68 <_lv_mem_buf_get+0xa8> return NULL; - 10f12: 2000 movs r0, #0 - 10f14: e7ec b.n 10ef0 <_lv_mem_buf_get+0x98> + 10f7a: 2000 movs r0, #0 + 10f7c: e7ec b.n 10f58 <_lv_mem_buf_get+0x98> LV_GC_ROOT(_lv_mem_buf[i]).used = 1; - 10f16: 4d09 ldr r5, [pc, #36] ; (10f3c <_lv_mem_buf_get+0xe4>) - 10f18: 00e4 lsls r4, r4, #3 - 10f1a: 192b adds r3, r5, r4 - 10f1c: 799a ldrb r2, [r3, #6] - 10f1e: 2101 movs r1, #1 - 10f20: 430a orrs r2, r1 - 10f22: 719a strb r2, [r3, #6] + 10f7e: 4d09 ldr r5, [pc, #36] ; (10fa4 <_lv_mem_buf_get+0xe4>) + 10f80: 00e4 lsls r4, r4, #3 + 10f82: 192b adds r3, r5, r4 + 10f84: 799a ldrb r2, [r3, #6] + 10f86: 2101 movs r1, #1 + 10f88: 430a orrs r2, r1 + 10f8a: 719a strb r2, [r3, #6] LV_GC_ROOT(_lv_mem_buf[i]).size = size; - 10f24: 8098 strh r0, [r3, #4] + 10f8c: 8098 strh r0, [r3, #4] LV_GC_ROOT(_lv_mem_buf[i]).p = lv_mem_realloc(LV_GC_ROOT(_lv_mem_buf[i]).p, size); - 10f26: 0001 movs r1, r0 - 10f28: 5960 ldr r0, [r4, r5] - 10f2a: 4b05 ldr r3, [pc, #20] ; (10f40 <_lv_mem_buf_get+0xe8>) - 10f2c: 4798 blx r3 - 10f2e: 5160 str r0, [r4, r5] + 10f8e: 0001 movs r1, r0 + 10f90: 5960 ldr r0, [r4, r5] + 10f92: 4b05 ldr r3, [pc, #20] ; (10fa8 <_lv_mem_buf_get+0xe8>) + 10f94: 4798 blx r3 + 10f96: 5160 str r0, [r4, r5] return LV_GC_ROOT(_lv_mem_buf[i]).p; - 10f30: e7de b.n 10ef0 <_lv_mem_buf_get+0x98> + 10f98: e7de b.n 10f58 <_lv_mem_buf_get+0x98> if(size == 0) return NULL; - 10f32: 2000 movs r0, #0 - 10f34: e7dc b.n 10ef0 <_lv_mem_buf_get+0x98> - 10f36: 46c0 nop ; (mov r8, r8) - 10f38: 20000044 .word 0x20000044 - 10f3c: 20004cdc .word 0x20004cdc - 10f40: 00010ddd .word 0x00010ddd + 10f9a: 2000 movs r0, #0 + 10f9c: e7dc b.n 10f58 <_lv_mem_buf_get+0x98> + 10f9e: 46c0 nop ; (mov r8, r8) + 10fa0: 20000044 .word 0x20000044 + 10fa4: 20004cdc .word 0x20004cdc + 10fa8: 00010e45 .word 0x00010e45 -00010f44 <_lv_memset>: +00010fac <_lv_memset>: { - 10f44: b5f0 push {r4, r5, r6, r7, lr} + 10fac: b5f0 push {r4, r5, r6, r7, lr} uintptr_t d_align = (lv_uintptr_t) d8 & ALIGN_MASK; - 10f46: 2403 movs r4, #3 - 10f48: 4004 ands r4, r0 + 10fae: 2403 movs r4, #3 + 10fb0: 4004 ands r4, r0 if(d_align) { - 10f4a: d00e beq.n 10f6a <_lv_memset+0x26> + 10fb2: d00e beq.n 10fd2 <_lv_memset+0x26> d_align = ALIGN_MASK + 1 - d_align; - 10f4c: 2304 movs r3, #4 - 10f4e: 1b1b subs r3, r3, r4 + 10fb4: 2304 movs r3, #4 + 10fb6: 1b1b subs r3, r3, r4 while(d_align && len) { - 10f50: d00b beq.n 10f6a <_lv_memset+0x26> - 10f52: 2a00 cmp r2, #0 - 10f54: d007 beq.n 10f66 <_lv_memset+0x22> - 10f56: 18c3 adds r3, r0, r3 + 10fb8: d00b beq.n 10fd2 <_lv_memset+0x26> + 10fba: 2a00 cmp r2, #0 + 10fbc: d007 beq.n 10fce <_lv_memset+0x22> + 10fbe: 18c3 adds r3, r0, r3 *d8 = v; - 10f58: 7001 strb r1, [r0, #0] + 10fc0: 7001 strb r1, [r0, #0] d8++; - 10f5a: 3001 adds r0, #1 + 10fc2: 3001 adds r0, #1 len--; - 10f5c: 3a01 subs r2, #1 + 10fc4: 3a01 subs r2, #1 while(d_align && len) { - 10f5e: 4298 cmp r0, r3 - 10f60: d003 beq.n 10f6a <_lv_memset+0x26> - 10f62: 2a00 cmp r2, #0 - 10f64: d1f8 bne.n 10f58 <_lv_memset+0x14> + 10fc6: 4298 cmp r0, r3 + 10fc8: d003 beq.n 10fd2 <_lv_memset+0x26> + 10fca: 2a00 cmp r2, #0 + 10fcc: d1f8 bne.n 10fc0 <_lv_memset+0x14> while(len > 4) { - 10f66: 2200 movs r2, #0 - 10f68: e034 b.n 10fd4 <_lv_memset+0x90> + 10fce: 2200 movs r2, #0 + 10fd0: e034 b.n 1103c <_lv_memset+0x90> uint32_t v32 = v + (v << 8) + (v << 16) + (v << 24); - 10f6a: 020c lsls r4, r1, #8 - 10f6c: 1864 adds r4, r4, r1 - 10f6e: 040b lsls r3, r1, #16 - 10f70: 18e4 adds r4, r4, r3 - 10f72: 060b lsls r3, r1, #24 - 10f74: 18e4 adds r4, r4, r3 + 10fd2: 020c lsls r4, r1, #8 + 10fd4: 1864 adds r4, r4, r1 + 10fd6: 040b lsls r3, r1, #16 + 10fd8: 18e4 adds r4, r4, r3 + 10fda: 060b lsls r3, r1, #24 + 10fdc: 18e4 adds r4, r4, r3 while(len > 32) { - 10f76: 0006 movs r6, r0 - 10f78: 2a20 cmp r2, #32 - 10f7a: d918 bls.n 10fae <_lv_memset+0x6a> - 10f7c: 0016 movs r6, r2 - 10f7e: 3e21 subs r6, #33 ; 0x21 - 10f80: 0977 lsrs r7, r6, #5 - 10f82: 1c7d adds r5, r7, #1 - 10f84: 016d lsls r5, r5, #5 - 10f86: 1945 adds r5, r0, r5 - 10f88: 0003 movs r3, r0 + 10fde: 0006 movs r6, r0 + 10fe0: 2a20 cmp r2, #32 + 10fe2: d918 bls.n 11016 <_lv_memset+0x6a> + 10fe4: 0016 movs r6, r2 + 10fe6: 3e21 subs r6, #33 ; 0x21 + 10fe8: 0977 lsrs r7, r6, #5 + 10fea: 1c7d adds r5, r7, #1 + 10fec: 016d lsls r5, r5, #5 + 10fee: 1945 adds r5, r0, r5 + 10ff0: 0003 movs r3, r0 SET32(v32); - 10f8a: 601c str r4, [r3, #0] + 10ff2: 601c str r4, [r3, #0] SET32(v32); - 10f8c: 605c str r4, [r3, #4] + 10ff4: 605c str r4, [r3, #4] SET32(v32); - 10f8e: 609c str r4, [r3, #8] + 10ff6: 609c str r4, [r3, #8] SET32(v32); - 10f90: 60dc str r4, [r3, #12] + 10ff8: 60dc str r4, [r3, #12] SET32(v32); - 10f92: 611c str r4, [r3, #16] + 10ffa: 611c str r4, [r3, #16] SET32(v32); - 10f94: 615c str r4, [r3, #20] + 10ffc: 615c str r4, [r3, #20] SET32(v32); - 10f96: 619c str r4, [r3, #24] + 10ffe: 619c str r4, [r3, #24] SET32(v32); - 10f98: 61dc str r4, [r3, #28] - 10f9a: 3320 adds r3, #32 + 11000: 61dc str r4, [r3, #28] + 11002: 3320 adds r3, #32 while(len > 32) { - 10f9c: 429d cmp r5, r3 - 10f9e: d1f4 bne.n 10f8a <_lv_memset+0x46> - 10fa0: 231f movs r3, #31 - 10fa2: 439e bics r6, r3 - 10fa4: 3620 adds r6, #32 - 10fa6: 1986 adds r6, r0, r6 - 10fa8: 3a20 subs r2, #32 - 10faa: 017f lsls r7, r7, #5 - 10fac: 1bd2 subs r2, r2, r7 + 11004: 429d cmp r5, r3 + 11006: d1f4 bne.n 10ff2 <_lv_memset+0x46> + 11008: 231f movs r3, #31 + 1100a: 439e bics r6, r3 + 1100c: 3620 adds r6, #32 + 1100e: 1986 adds r6, r0, r6 + 11010: 3a20 subs r2, #32 + 11012: 017f lsls r7, r7, #5 + 11014: 1bd2 subs r2, r2, r7 while(len > 4) { - 10fae: 0030 movs r0, r6 - 10fb0: 2a04 cmp r2, #4 - 10fb2: d90f bls.n 10fd4 <_lv_memset+0x90> - 10fb4: 1f50 subs r0, r2, #5 - 10fb6: 0887 lsrs r7, r0, #2 - 10fb8: 1c7d adds r5, r7, #1 - 10fba: 00ad lsls r5, r5, #2 - 10fbc: 1975 adds r5, r6, r5 - 10fbe: 0033 movs r3, r6 + 11016: 0030 movs r0, r6 + 11018: 2a04 cmp r2, #4 + 1101a: d90f bls.n 1103c <_lv_memset+0x90> + 1101c: 1f50 subs r0, r2, #5 + 1101e: 0887 lsrs r7, r0, #2 + 11020: 1c7d adds r5, r7, #1 + 11022: 00ad lsls r5, r5, #2 + 11024: 1975 adds r5, r6, r5 + 11026: 0033 movs r3, r6 SET32(v32); - 10fc0: c310 stmia r3!, {r4} + 11028: c310 stmia r3!, {r4} while(len > 4) { - 10fc2: 42ab cmp r3, r5 - 10fc4: d1fc bne.n 10fc0 <_lv_memset+0x7c> - 10fc6: 2303 movs r3, #3 - 10fc8: 4398 bics r0, r3 - 10fca: 3004 adds r0, #4 - 10fcc: 3a04 subs r2, #4 - 10fce: 00bf lsls r7, r7, #2 - 10fd0: 1bd2 subs r2, r2, r7 + 1102a: 42ab cmp r3, r5 + 1102c: d1fc bne.n 11028 <_lv_memset+0x7c> + 1102e: 2303 movs r3, #3 + 11030: 4398 bics r0, r3 + 11032: 3004 adds r0, #4 + 11034: 3a04 subs r2, #4 + 11036: 00bf lsls r7, r7, #2 + 11038: 1bd2 subs r2, r2, r7 SET32(v32); - 10fd2: 1830 adds r0, r6, r0 + 1103a: 1830 adds r0, r6, r0 while(len) { - 10fd4: 2a00 cmp r2, #0 - 10fd6: d004 beq.n 10fe2 <_lv_memset+0x9e> - 10fd8: 1882 adds r2, r0, r2 + 1103c: 2a00 cmp r2, #0 + 1103e: d004 beq.n 1104a <_lv_memset+0x9e> + 11040: 1882 adds r2, r0, r2 *d8 = v; - 10fda: 7001 strb r1, [r0, #0] + 11042: 7001 strb r1, [r0, #0] d8++; - 10fdc: 3001 adds r0, #1 + 11044: 3001 adds r0, #1 while(len) { - 10fde: 4290 cmp r0, r2 - 10fe0: d1fb bne.n 10fda <_lv_memset+0x96> + 11046: 4290 cmp r0, r2 + 11048: d1fb bne.n 11042 <_lv_memset+0x96> } - 10fe2: bdf0 pop {r4, r5, r6, r7, pc} + 1104a: bdf0 pop {r4, r5, r6, r7, pc} -00010fe4 <_lv_memset_00>: +0001104c <_lv_memset_00>: { - 10fe4: b570 push {r4, r5, r6, lr} + 1104c: b570 push {r4, r5, r6, lr} uintptr_t d_align = (lv_uintptr_t) d8 & ALIGN_MASK; - 10fe6: 2303 movs r3, #3 - 10fe8: 4003 ands r3, r0 + 1104e: 2303 movs r3, #3 + 11050: 4003 ands r3, r0 if(d_align) { - 10fea: d13a bne.n 11062 <_lv_memset_00+0x7e> + 11052: d13a bne.n 110ca <_lv_memset_00+0x7e> while(len > 32) { - 10fec: 2920 cmp r1, #32 - 10fee: d919 bls.n 11024 <_lv_memset_00+0x40> - 10ff0: 000d movs r5, r1 - 10ff2: 3d21 subs r5, #33 ; 0x21 - 10ff4: 096e lsrs r6, r5, #5 - 10ff6: 1c74 adds r4, r6, #1 - 10ff8: 0164 lsls r4, r4, #5 - 10ffa: 1904 adds r4, r0, r4 - 10ffc: 0003 movs r3, r0 + 11054: 2920 cmp r1, #32 + 11056: d919 bls.n 1108c <_lv_memset_00+0x40> + 11058: 000d movs r5, r1 + 1105a: 3d21 subs r5, #33 ; 0x21 + 1105c: 096e lsrs r6, r5, #5 + 1105e: 1c74 adds r4, r6, #1 + 11060: 0164 lsls r4, r4, #5 + 11062: 1904 adds r4, r0, r4 + 11064: 0003 movs r3, r0 SET32(0); - 10ffe: 2200 movs r2, #0 - 11000: 601a str r2, [r3, #0] + 11066: 2200 movs r2, #0 + 11068: 601a str r2, [r3, #0] SET32(0); - 11002: 605a str r2, [r3, #4] + 1106a: 605a str r2, [r3, #4] SET32(0); - 11004: 609a str r2, [r3, #8] + 1106c: 609a str r2, [r3, #8] SET32(0); - 11006: 60da str r2, [r3, #12] + 1106e: 60da str r2, [r3, #12] SET32(0); - 11008: 611a str r2, [r3, #16] + 11070: 611a str r2, [r3, #16] SET32(0); - 1100a: 615a str r2, [r3, #20] + 11072: 615a str r2, [r3, #20] SET32(0); - 1100c: 619a str r2, [r3, #24] + 11074: 619a str r2, [r3, #24] SET32(0); - 1100e: 61da str r2, [r3, #28] - 11010: 3320 adds r3, #32 + 11076: 61da str r2, [r3, #28] + 11078: 3320 adds r3, #32 while(len > 32) { - 11012: 429c cmp r4, r3 - 11014: d1f4 bne.n 11000 <_lv_memset_00+0x1c> - 11016: 231f movs r3, #31 - 11018: 439d bics r5, r3 - 1101a: 3520 adds r5, #32 - 1101c: 1940 adds r0, r0, r5 - 1101e: 3920 subs r1, #32 - 11020: 0176 lsls r6, r6, #5 - 11022: 1b89 subs r1, r1, r6 + 1107a: 429c cmp r4, r3 + 1107c: d1f4 bne.n 11068 <_lv_memset_00+0x1c> + 1107e: 231f movs r3, #31 + 11080: 439d bics r5, r3 + 11082: 3520 adds r5, #32 + 11084: 1940 adds r0, r0, r5 + 11086: 3920 subs r1, #32 + 11088: 0176 lsls r6, r6, #5 + 1108a: 1b89 subs r1, r1, r6 while(len > 4) { - 11024: 0003 movs r3, r0 - 11026: 2904 cmp r1, #4 - 11028: d910 bls.n 1104c <_lv_memset_00+0x68> - 1102a: 1f4b subs r3, r1, #5 - 1102c: 089e lsrs r6, r3, #2 - 1102e: 1c74 adds r4, r6, #1 - 11030: 00a4 lsls r4, r4, #2 - 11032: 1904 adds r4, r0, r4 - 11034: 0002 movs r2, r0 + 1108c: 0003 movs r3, r0 + 1108e: 2904 cmp r1, #4 + 11090: d910 bls.n 110b4 <_lv_memset_00+0x68> + 11092: 1f4b subs r3, r1, #5 + 11094: 089e lsrs r6, r3, #2 + 11096: 1c74 adds r4, r6, #1 + 11098: 00a4 lsls r4, r4, #2 + 1109a: 1904 adds r4, r0, r4 + 1109c: 0002 movs r2, r0 SET32(0); - 11036: 2500 movs r5, #0 - 11038: c220 stmia r2!, {r5} + 1109e: 2500 movs r5, #0 + 110a0: c220 stmia r2!, {r5} while(len > 4) { - 1103a: 42a2 cmp r2, r4 - 1103c: d1fc bne.n 11038 <_lv_memset_00+0x54> - 1103e: 2203 movs r2, #3 - 11040: 4393 bics r3, r2 - 11042: 3304 adds r3, #4 - 11044: 3904 subs r1, #4 - 11046: 00b6 lsls r6, r6, #2 - 11048: 1b89 subs r1, r1, r6 + 110a2: 42a2 cmp r2, r4 + 110a4: d1fc bne.n 110a0 <_lv_memset_00+0x54> + 110a6: 2203 movs r2, #3 + 110a8: 4393 bics r3, r2 + 110aa: 3304 adds r3, #4 + 110ac: 3904 subs r1, #4 + 110ae: 00b6 lsls r6, r6, #2 + 110b0: 1b89 subs r1, r1, r6 SET32(0); - 1104a: 18c3 adds r3, r0, r3 + 110b2: 18c3 adds r3, r0, r3 while(len) { - 1104c: 2900 cmp r1, #0 - 1104e: d005 beq.n 1105c <_lv_memset_00+0x78> - 11050: 1859 adds r1, r3, r1 + 110b4: 2900 cmp r1, #0 + 110b6: d005 beq.n 110c4 <_lv_memset_00+0x78> + 110b8: 1859 adds r1, r3, r1 *d8 = 0; - 11052: 2200 movs r2, #0 - 11054: 701a strb r2, [r3, #0] + 110ba: 2200 movs r2, #0 + 110bc: 701a strb r2, [r3, #0] d8++; - 11056: 3301 adds r3, #1 + 110be: 3301 adds r3, #1 while(len) { - 11058: 428b cmp r3, r1 - 1105a: d1fb bne.n 11054 <_lv_memset_00+0x70> + 110c0: 428b cmp r3, r1 + 110c2: d1fb bne.n 110bc <_lv_memset_00+0x70> } - 1105c: bd70 pop {r4, r5, r6, pc} + 110c4: bd70 pop {r4, r5, r6, pc} d8++; - 1105e: 0018 movs r0, r3 - 11060: e7c4 b.n 10fec <_lv_memset_00+0x8> + 110c6: 0018 movs r0, r3 + 110c8: e7c4 b.n 11054 <_lv_memset_00+0x8> d_align = ALIGN_MASK + 1 - d_align; - 11062: 2204 movs r2, #4 - 11064: 1ad2 subs r2, r2, r3 + 110ca: 2204 movs r2, #4 + 110cc: 1ad2 subs r2, r2, r3 while(d_align && len) { - 11066: d0c1 beq.n 10fec <_lv_memset_00+0x8> - 11068: 2900 cmp r1, #0 - 1106a: d00b beq.n 11084 <_lv_memset_00+0xa0> - 1106c: 1882 adds r2, r0, r2 - 1106e: 0003 movs r3, r0 + 110ce: d0c1 beq.n 11054 <_lv_memset_00+0x8> + 110d0: 2900 cmp r1, #0 + 110d2: d00b beq.n 110ec <_lv_memset_00+0xa0> + 110d4: 1882 adds r2, r0, r2 + 110d6: 0003 movs r3, r0 *d8 = 0x00; - 11070: 2000 movs r0, #0 - 11072: 7018 strb r0, [r3, #0] + 110d8: 2000 movs r0, #0 + 110da: 7018 strb r0, [r3, #0] d8++; - 11074: 3301 adds r3, #1 + 110dc: 3301 adds r3, #1 len--; - 11076: 3901 subs r1, #1 + 110de: 3901 subs r1, #1 while(d_align && len) { - 11078: 4293 cmp r3, r2 - 1107a: d0f0 beq.n 1105e <_lv_memset_00+0x7a> - 1107c: 2900 cmp r1, #0 - 1107e: d1f8 bne.n 11072 <_lv_memset_00+0x8e> + 110e0: 4293 cmp r3, r2 + 110e2: d0f0 beq.n 110c6 <_lv_memset_00+0x7a> + 110e4: 2900 cmp r1, #0 + 110e6: d1f8 bne.n 110da <_lv_memset_00+0x8e> while(len > 4) { - 11080: 2100 movs r1, #0 - 11082: e7e3 b.n 1104c <_lv_memset_00+0x68> + 110e8: 2100 movs r1, #0 + 110ea: e7e3 b.n 110b4 <_lv_memset_00+0x68> uint8_t * d8 = (uint8_t *) dst; - 11084: 0003 movs r3, r0 - 11086: e7fb b.n 11080 <_lv_memset_00+0x9c> + 110ec: 0003 movs r3, r0 + 110ee: e7fb b.n 110e8 <_lv_memset_00+0x9c> -00011088 <_lv_memset_ff>: +000110f0 <_lv_memset_ff>: { - 11088: b570 push {r4, r5, r6, lr} + 110f0: b570 push {r4, r5, r6, lr} uintptr_t d_align = (lv_uintptr_t) d8 & ALIGN_MASK; - 1108a: 2303 movs r3, #3 - 1108c: 4003 ands r3, r0 + 110f2: 2303 movs r3, #3 + 110f4: 4003 ands r3, r0 if(d_align) { - 1108e: d13c bne.n 1110a <_lv_memset_ff+0x82> + 110f6: d13c bne.n 11172 <_lv_memset_ff+0x82> while(len > 32) { - 11090: 2920 cmp r1, #32 - 11092: d91a bls.n 110ca <_lv_memset_ff+0x42> - 11094: 000d movs r5, r1 - 11096: 3d21 subs r5, #33 ; 0x21 - 11098: 096e lsrs r6, r5, #5 - 1109a: 1c74 adds r4, r6, #1 - 1109c: 0164 lsls r4, r4, #5 - 1109e: 1904 adds r4, r0, r4 - 110a0: 0003 movs r3, r0 + 110f8: 2920 cmp r1, #32 + 110fa: d91a bls.n 11132 <_lv_memset_ff+0x42> + 110fc: 000d movs r5, r1 + 110fe: 3d21 subs r5, #33 ; 0x21 + 11100: 096e lsrs r6, r5, #5 + 11102: 1c74 adds r4, r6, #1 + 11104: 0164 lsls r4, r4, #5 + 11106: 1904 adds r4, r0, r4 + 11108: 0003 movs r3, r0 SET32(0xFFFFFFFF); - 110a2: 2201 movs r2, #1 - 110a4: 4252 negs r2, r2 - 110a6: 601a str r2, [r3, #0] + 1110a: 2201 movs r2, #1 + 1110c: 4252 negs r2, r2 + 1110e: 601a str r2, [r3, #0] SET32(0xFFFFFFFF); - 110a8: 605a str r2, [r3, #4] + 11110: 605a str r2, [r3, #4] SET32(0xFFFFFFFF); - 110aa: 609a str r2, [r3, #8] + 11112: 609a str r2, [r3, #8] SET32(0xFFFFFFFF); - 110ac: 60da str r2, [r3, #12] + 11114: 60da str r2, [r3, #12] SET32(0xFFFFFFFF); - 110ae: 611a str r2, [r3, #16] + 11116: 611a str r2, [r3, #16] SET32(0xFFFFFFFF); - 110b0: 615a str r2, [r3, #20] + 11118: 615a str r2, [r3, #20] SET32(0xFFFFFFFF); - 110b2: 619a str r2, [r3, #24] + 1111a: 619a str r2, [r3, #24] SET32(0xFFFFFFFF); - 110b4: 61da str r2, [r3, #28] - 110b6: 3320 adds r3, #32 + 1111c: 61da str r2, [r3, #28] + 1111e: 3320 adds r3, #32 while(len > 32) { - 110b8: 429c cmp r4, r3 - 110ba: d1f4 bne.n 110a6 <_lv_memset_ff+0x1e> - 110bc: 231f movs r3, #31 - 110be: 439d bics r5, r3 - 110c0: 3520 adds r5, #32 - 110c2: 1940 adds r0, r0, r5 - 110c4: 3920 subs r1, #32 - 110c6: 0176 lsls r6, r6, #5 - 110c8: 1b89 subs r1, r1, r6 + 11120: 429c cmp r4, r3 + 11122: d1f4 bne.n 1110e <_lv_memset_ff+0x1e> + 11124: 231f movs r3, #31 + 11126: 439d bics r5, r3 + 11128: 3520 adds r5, #32 + 1112a: 1940 adds r0, r0, r5 + 1112c: 3920 subs r1, #32 + 1112e: 0176 lsls r6, r6, #5 + 11130: 1b89 subs r1, r1, r6 while(len > 4) { - 110ca: 0003 movs r3, r0 - 110cc: 2904 cmp r1, #4 - 110ce: d911 bls.n 110f4 <_lv_memset_ff+0x6c> - 110d0: 1f4b subs r3, r1, #5 - 110d2: 089e lsrs r6, r3, #2 - 110d4: 1c74 adds r4, r6, #1 - 110d6: 00a4 lsls r4, r4, #2 - 110d8: 1904 adds r4, r0, r4 - 110da: 0002 movs r2, r0 + 11132: 0003 movs r3, r0 + 11134: 2904 cmp r1, #4 + 11136: d911 bls.n 1115c <_lv_memset_ff+0x6c> + 11138: 1f4b subs r3, r1, #5 + 1113a: 089e lsrs r6, r3, #2 + 1113c: 1c74 adds r4, r6, #1 + 1113e: 00a4 lsls r4, r4, #2 + 11140: 1904 adds r4, r0, r4 + 11142: 0002 movs r2, r0 SET32(0xFFFFFFFF); - 110dc: 2501 movs r5, #1 - 110de: 426d negs r5, r5 - 110e0: c220 stmia r2!, {r5} + 11144: 2501 movs r5, #1 + 11146: 426d negs r5, r5 + 11148: c220 stmia r2!, {r5} while(len > 4) { - 110e2: 42a2 cmp r2, r4 - 110e4: d1fc bne.n 110e0 <_lv_memset_ff+0x58> - 110e6: 2203 movs r2, #3 - 110e8: 4393 bics r3, r2 - 110ea: 3304 adds r3, #4 - 110ec: 3904 subs r1, #4 - 110ee: 00b6 lsls r6, r6, #2 - 110f0: 1b89 subs r1, r1, r6 + 1114a: 42a2 cmp r2, r4 + 1114c: d1fc bne.n 11148 <_lv_memset_ff+0x58> + 1114e: 2203 movs r2, #3 + 11150: 4393 bics r3, r2 + 11152: 3304 adds r3, #4 + 11154: 3904 subs r1, #4 + 11156: 00b6 lsls r6, r6, #2 + 11158: 1b89 subs r1, r1, r6 SET32(0xFFFFFFFF); - 110f2: 18c3 adds r3, r0, r3 + 1115a: 18c3 adds r3, r0, r3 while(len) { - 110f4: 2900 cmp r1, #0 - 110f6: d005 beq.n 11104 <_lv_memset_ff+0x7c> - 110f8: 1859 adds r1, r3, r1 + 1115c: 2900 cmp r1, #0 + 1115e: d005 beq.n 1116c <_lv_memset_ff+0x7c> + 11160: 1859 adds r1, r3, r1 *d8 = 0xFF; - 110fa: 22ff movs r2, #255 ; 0xff - 110fc: 701a strb r2, [r3, #0] + 11162: 22ff movs r2, #255 ; 0xff + 11164: 701a strb r2, [r3, #0] d8++; - 110fe: 3301 adds r3, #1 + 11166: 3301 adds r3, #1 while(len) { - 11100: 428b cmp r3, r1 - 11102: d1fb bne.n 110fc <_lv_memset_ff+0x74> + 11168: 428b cmp r3, r1 + 1116a: d1fb bne.n 11164 <_lv_memset_ff+0x74> } - 11104: bd70 pop {r4, r5, r6, pc} + 1116c: bd70 pop {r4, r5, r6, pc} d8++; - 11106: 0018 movs r0, r3 - 11108: e7c2 b.n 11090 <_lv_memset_ff+0x8> + 1116e: 0018 movs r0, r3 + 11170: e7c2 b.n 110f8 <_lv_memset_ff+0x8> d_align = ALIGN_MASK + 1 - d_align; - 1110a: 2204 movs r2, #4 - 1110c: 1ad2 subs r2, r2, r3 + 11172: 2204 movs r2, #4 + 11174: 1ad2 subs r2, r2, r3 while(d_align && len) { - 1110e: d0bf beq.n 11090 <_lv_memset_ff+0x8> - 11110: 2900 cmp r1, #0 - 11112: d00b beq.n 1112c <_lv_memset_ff+0xa4> - 11114: 1882 adds r2, r0, r2 - 11116: 0003 movs r3, r0 + 11176: d0bf beq.n 110f8 <_lv_memset_ff+0x8> + 11178: 2900 cmp r1, #0 + 1117a: d00b beq.n 11194 <_lv_memset_ff+0xa4> + 1117c: 1882 adds r2, r0, r2 + 1117e: 0003 movs r3, r0 *d8 = 0xFF; - 11118: 20ff movs r0, #255 ; 0xff - 1111a: 7018 strb r0, [r3, #0] + 11180: 20ff movs r0, #255 ; 0xff + 11182: 7018 strb r0, [r3, #0] d8++; - 1111c: 3301 adds r3, #1 + 11184: 3301 adds r3, #1 len--; - 1111e: 3901 subs r1, #1 + 11186: 3901 subs r1, #1 while(d_align && len) { - 11120: 4293 cmp r3, r2 - 11122: d0f0 beq.n 11106 <_lv_memset_ff+0x7e> - 11124: 2900 cmp r1, #0 - 11126: d1f8 bne.n 1111a <_lv_memset_ff+0x92> + 11188: 4293 cmp r3, r2 + 1118a: d0f0 beq.n 1116e <_lv_memset_ff+0x7e> + 1118c: 2900 cmp r1, #0 + 1118e: d1f8 bne.n 11182 <_lv_memset_ff+0x92> while(len > 4) { - 11128: 2100 movs r1, #0 - 1112a: e7e3 b.n 110f4 <_lv_memset_ff+0x6c> + 11190: 2100 movs r1, #0 + 11192: e7e3 b.n 1115c <_lv_memset_ff+0x6c> uint8_t * d8 = (uint8_t *) dst; - 1112c: 0003 movs r3, r0 - 1112e: e7fb b.n 11128 <_lv_memset_ff+0xa0> + 11194: 0003 movs r3, r0 + 11196: e7fb b.n 11190 <_lv_memset_ff+0xa0> -00011130 <_lv_task_core_init>: +00011198 <_lv_task_core_init>: /** * Init the lv_task module */ void _lv_task_core_init(void) { - 11130: b510 push {r4, lr} + 11198: b510 push {r4, lr} _lv_ll_init(&LV_GC_ROOT(_lv_task_ll), sizeof(lv_task_t)); - 11132: 2118 movs r1, #24 - 11134: 4804 ldr r0, [pc, #16] ; (11148 <_lv_task_core_init+0x18>) - 11136: 4b05 ldr r3, [pc, #20] ; (1114c <_lv_task_core_init+0x1c>) - 11138: 4798 blx r3 + 1119a: 2118 movs r1, #24 + 1119c: 4804 ldr r0, [pc, #16] ; (111b0 <_lv_task_core_init+0x18>) + 1119e: 4b05 ldr r3, [pc, #20] ; (111b4 <_lv_task_core_init+0x1c>) + 111a0: 4798 blx r3 task_list_changed = false; - 1113a: 2200 movs r2, #0 - 1113c: 4b04 ldr r3, [pc, #16] ; (11150 <_lv_task_core_init+0x20>) - 1113e: 701a strb r2, [r3, #0] + 111a2: 2200 movs r2, #0 + 111a4: 4b04 ldr r3, [pc, #16] ; (111b8 <_lv_task_core_init+0x20>) + 111a6: 701a strb r2, [r3, #0] * Enable or disable the whole lv_task handling * @param en: true: lv_task handling is running, false: lv_task handling is suspended */ void lv_task_enable(bool en) { lv_task_run = en; - 11140: 3201 adds r2, #1 - 11142: 4b04 ldr r3, [pc, #16] ; (11154 <_lv_task_core_init+0x24>) - 11144: 701a strb r2, [r3, #0] + 111a8: 3201 adds r2, #1 + 111aa: 4b04 ldr r3, [pc, #16] ; (111bc <_lv_task_core_init+0x24>) + 111ac: 701a strb r2, [r3, #0] } - 11146: bd10 pop {r4, pc} - 11148: 20004cac .word 0x20004cac - 1114c: 00010551 .word 0x00010551 - 11150: 20004c2b .word 0x20004c2b - 11154: 20004c28 .word 0x20004c28 + 111ae: bd10 pop {r4, pc} + 111b0: 20004cac .word 0x20004cac + 111b4: 000105b9 .word 0x000105b9 + 111b8: 20004c2b .word 0x20004c2b + 111bc: 20004c28 .word 0x20004c28 -00011158 : +000111c0 : { - 11158: b570 push {r4, r5, r6, lr} + 111c0: b570 push {r4, r5, r6, lr} tmp = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 1115a: 482f ldr r0, [pc, #188] ; (11218 ) - 1115c: 4b2f ldr r3, [pc, #188] ; (1121c ) - 1115e: 4798 blx r3 - 11160: 1e04 subs r4, r0, #0 + 111c2: 482f ldr r0, [pc, #188] ; (11280 ) + 111c4: 4b2f ldr r3, [pc, #188] ; (11284 ) + 111c6: 4798 blx r3 + 111c8: 1e04 subs r4, r0, #0 if(NULL == tmp) { - 11162: d018 beq.n 11196 + 111ca: d018 beq.n 111fe tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp); - 11164: 4d2e ldr r5, [pc, #184] ; (11220 ) + 111cc: 4d2e ldr r5, [pc, #184] ; (11288 ) if(tmp->prio <= DEF_PRIO) { - 11166: 7d23 ldrb r3, [r4, #20] - 11168: 075b lsls r3, r3, #29 - 1116a: 0f5b lsrs r3, r3, #29 - 1116c: 2b03 cmp r3, #3 - 1116e: dd23 ble.n 111b8 + 111ce: 7d23 ldrb r3, [r4, #20] + 111d0: 075b lsls r3, r3, #29 + 111d2: 0f5b lsrs r3, r3, #29 + 111d4: 2b03 cmp r3, #3 + 111d6: dd23 ble.n 11220 tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp); - 11170: 0021 movs r1, r4 - 11172: 4829 ldr r0, [pc, #164] ; (11218 ) - 11174: 47a8 blx r5 - 11176: 1e04 subs r4, r0, #0 + 111d8: 0021 movs r1, r4 + 111da: 4829 ldr r0, [pc, #164] ; (11280 ) + 111dc: 47a8 blx r5 + 111de: 1e04 subs r4, r0, #0 } while(tmp != NULL); - 11178: d1f5 bne.n 11166 + 111e0: d1f5 bne.n 111ce new_task = _lv_ll_ins_tail(&LV_GC_ROOT(_lv_task_ll)); - 1117a: 4827 ldr r0, [pc, #156] ; (11218 ) - 1117c: 4b29 ldr r3, [pc, #164] ; (11224 ) - 1117e: 4798 blx r3 - 11180: 0005 movs r5, r0 + 111e2: 4827 ldr r0, [pc, #156] ; (11280 ) + 111e4: 4b29 ldr r3, [pc, #164] ; (1128c ) + 111e6: 4798 blx r3 + 111e8: 0005 movs r5, r0 LV_ASSERT_MEM(new_task); - 11182: 4b29 ldr r3, [pc, #164] ; (11228 ) - 11184: 4798 blx r3 - 11186: 2800 cmp r0, #0 - 11188: d142 bne.n 11210 - 1118a: 002a movs r2, r5 - 1118c: 2300 movs r3, #0 - 1118e: 4827 ldr r0, [pc, #156] ; (1122c ) - 11190: 4927 ldr r1, [pc, #156] ; (11230 ) - 11192: 4788 blx r1 - 11194: e7fe b.n 11194 + 111ea: 4b29 ldr r3, [pc, #164] ; (11290 ) + 111ec: 4798 blx r3 + 111ee: 2800 cmp r0, #0 + 111f0: d142 bne.n 11278 + 111f2: 002a movs r2, r5 + 111f4: 2300 movs r3, #0 + 111f6: 4827 ldr r0, [pc, #156] ; (11294 ) + 111f8: 4927 ldr r1, [pc, #156] ; (11298 ) + 111fa: 4788 blx r1 + 111fc: e7fe b.n 111fc new_task = _lv_ll_ins_head(&LV_GC_ROOT(_lv_task_ll)); - 11196: 4820 ldr r0, [pc, #128] ; (11218 ) - 11198: 4b26 ldr r3, [pc, #152] ; (11234 ) - 1119a: 4798 blx r3 - 1119c: 0005 movs r5, r0 + 111fe: 4820 ldr r0, [pc, #128] ; (11280 ) + 11200: 4b26 ldr r3, [pc, #152] ; (1129c ) + 11202: 4798 blx r3 + 11204: 0005 movs r5, r0 LV_ASSERT_MEM(new_task); - 1119e: 4b22 ldr r3, [pc, #136] ; (11228 ) - 111a0: 4798 blx r3 - 111a2: 2800 cmp r0, #0 - 111a4: d105 bne.n 111b2 - 111a6: 002a movs r2, r5 - 111a8: 2300 movs r3, #0 - 111aa: 4820 ldr r0, [pc, #128] ; (1122c ) - 111ac: 4920 ldr r1, [pc, #128] ; (11230 ) - 111ae: 4788 blx r1 - 111b0: e7fe b.n 111b0 + 11206: 4b22 ldr r3, [pc, #136] ; (11290 ) + 11208: 4798 blx r3 + 1120a: 2800 cmp r0, #0 + 1120c: d105 bne.n 1121a + 1120e: 002a movs r2, r5 + 11210: 2300 movs r3, #0 + 11212: 4820 ldr r0, [pc, #128] ; (11294 ) + 11214: 4920 ldr r1, [pc, #128] ; (11298 ) + 11216: 4788 blx r1 + 11218: e7fe b.n 11218 if(new_task == NULL) return NULL; - 111b2: 2d00 cmp r5, #0 - 111b4: d10d bne.n 111d2 - 111b6: e023 b.n 11200 + 1121a: 2d00 cmp r5, #0 + 1121c: d10d bne.n 1123a + 1121e: e023 b.n 11268 new_task = _lv_ll_ins_prev(&LV_GC_ROOT(_lv_task_ll), tmp); - 111b8: 0021 movs r1, r4 - 111ba: 4817 ldr r0, [pc, #92] ; (11218 ) - 111bc: 4b1e ldr r3, [pc, #120] ; (11238 ) - 111be: 4798 blx r3 - 111c0: 0005 movs r5, r0 + 11220: 0021 movs r1, r4 + 11222: 4817 ldr r0, [pc, #92] ; (11280 ) + 11224: 4b1e ldr r3, [pc, #120] ; (112a0 ) + 11226: 4798 blx r3 + 11228: 0005 movs r5, r0 LV_ASSERT_MEM(new_task); - 111c2: 4b19 ldr r3, [pc, #100] ; (11228 ) - 111c4: 4798 blx r3 - 111c6: 2800 cmp r0, #0 - 111c8: d01c beq.n 11204 + 1122a: 4b19 ldr r3, [pc, #100] ; (11290 ) + 1122c: 4798 blx r3 + 1122e: 2800 cmp r0, #0 + 11230: d01c beq.n 1126c if(new_task == NULL) return NULL; - 111ca: 2d00 cmp r5, #0 - 111cc: d018 beq.n 11200 + 11232: 2d00 cmp r5, #0 + 11234: d018 beq.n 11268 if(tmp == NULL) { - 111ce: 2c00 cmp r4, #0 - 111d0: d0d3 beq.n 1117a + 11236: 2c00 cmp r4, #0 + 11238: d0d3 beq.n 111e2 task_list_changed = true; - 111d2: 2401 movs r4, #1 - 111d4: 4b19 ldr r3, [pc, #100] ; (1123c ) - 111d6: 701c strb r4, [r3, #0] + 1123a: 2401 movs r4, #1 + 1123c: 4b19 ldr r3, [pc, #100] ; (112a4 ) + 1123e: 701c strb r4, [r3, #0] new_task->period = DEF_PERIOD; - 111d8: 23fa movs r3, #250 ; 0xfa - 111da: 005b lsls r3, r3, #1 - 111dc: 602b str r3, [r5, #0] + 11240: 23fa movs r3, #250 ; 0xfa + 11242: 005b lsls r3, r3, #1 + 11244: 602b str r3, [r5, #0] new_task->task_cb = NULL; - 111de: 2600 movs r6, #0 - 111e0: 60ae str r6, [r5, #8] + 11246: 2600 movs r6, #0 + 11248: 60ae str r6, [r5, #8] new_task->prio = DEF_PRIO; - 111e2: 7d2b ldrb r3, [r5, #20] - 111e4: 2207 movs r2, #7 - 111e6: 4393 bics r3, r2 - 111e8: 2203 movs r2, #3 - 111ea: 4313 orrs r3, r2 - 111ec: 752b strb r3, [r5, #20] + 1124a: 7d2b ldrb r3, [r5, #20] + 1124c: 2207 movs r2, #7 + 1124e: 4393 bics r3, r2 + 11250: 2203 movs r2, #3 + 11252: 4313 orrs r3, r2 + 11254: 752b strb r3, [r5, #20] new_task->repeat_count = -1; - 111ee: 2301 movs r3, #1 - 111f0: 425b negs r3, r3 - 111f2: 612b str r3, [r5, #16] + 11256: 2301 movs r3, #1 + 11258: 425b negs r3, r3 + 1125a: 612b str r3, [r5, #16] new_task->last_run = lv_tick_get(); - 111f4: 4b12 ldr r3, [pc, #72] ; (11240 ) - 111f6: 4798 blx r3 - 111f8: 6068 str r0, [r5, #4] + 1125c: 4b12 ldr r3, [pc, #72] ; (112a8 ) + 1125e: 4798 blx r3 + 11260: 6068 str r0, [r5, #4] new_task->user_data = NULL; - 111fa: 60ee str r6, [r5, #12] + 11262: 60ee str r6, [r5, #12] task_created = true; - 111fc: 4b11 ldr r3, [pc, #68] ; (11244 ) - 111fe: 701c strb r4, [r3, #0] + 11264: 4b11 ldr r3, [pc, #68] ; (112ac ) + 11266: 701c strb r4, [r3, #0] } - 11200: 0028 movs r0, r5 - 11202: bd70 pop {r4, r5, r6, pc} + 11268: 0028 movs r0, r5 + 1126a: bd70 pop {r4, r5, r6, pc} LV_ASSERT_MEM(new_task); - 11204: 002a movs r2, r5 - 11206: 2300 movs r3, #0 - 11208: 4808 ldr r0, [pc, #32] ; (1122c ) - 1120a: 4909 ldr r1, [pc, #36] ; (11230 ) - 1120c: 4788 blx r1 - 1120e: e7fe b.n 1120e + 1126c: 002a movs r2, r5 + 1126e: 2300 movs r3, #0 + 11270: 4808 ldr r0, [pc, #32] ; (11294 ) + 11272: 4909 ldr r1, [pc, #36] ; (11298 ) + 11274: 4788 blx r1 + 11276: e7fe b.n 11276 if(new_task == NULL) return NULL; - 11210: 2d00 cmp r5, #0 - 11212: d1de bne.n 111d2 - 11214: e7f4 b.n 11200 - 11216: 46c0 nop ; (mov r8, r8) - 11218: 20004cac .word 0x20004cac - 1121c: 00010605 .word 0x00010605 - 11220: 0001061d .word 0x0001061d - 11224: 000105b5 .word 0x000105b5 - 11228: 00001415 .word 0x00001415 - 1122c: 00018804 .word 0x00018804 - 11230: 0000141d .word 0x0000141d - 11234: 00010565 .word 0x00010565 - 11238: 0001066d .word 0x0001066d - 1123c: 20004c2b .word 0x20004c2b - 11240: 0000f725 .word 0x0000f725 - 11244: 20004c29 .word 0x20004c29 - -00011248 : -{ - 11248: b510 push {r4, lr} - 1124a: 0004 movs r4, r0 + 11278: 2d00 cmp r5, #0 + 1127a: d1de bne.n 1123a + 1127c: e7f4 b.n 11268 + 1127e: 46c0 nop ; (mov r8, r8) + 11280: 20004cac .word 0x20004cac + 11284: 0001066d .word 0x0001066d + 11288: 00010685 .word 0x00010685 + 1128c: 0001061d .word 0x0001061d + 11290: 0000147d .word 0x0000147d + 11294: 00018894 .word 0x00018894 + 11298: 00001485 .word 0x00001485 + 1129c: 000105cd .word 0x000105cd + 112a0: 000106d5 .word 0x000106d5 + 112a4: 20004c2b .word 0x20004c2b + 112a8: 0000f78d .word 0x0000f78d + 112ac: 20004c29 .word 0x20004c29 + +000112b0 : +{ + 112b0: b510 push {r4, lr} + 112b2: 0004 movs r4, r0 _lv_ll_remove(&LV_GC_ROOT(_lv_task_ll), task); - 1124c: 0001 movs r1, r0 - 1124e: 4809 ldr r0, [pc, #36] ; (11274 ) - 11250: 4b09 ldr r3, [pc, #36] ; (11278 ) - 11252: 4798 blx r3 + 112b4: 0001 movs r1, r0 + 112b6: 4809 ldr r0, [pc, #36] ; (112dc ) + 112b8: 4b09 ldr r3, [pc, #36] ; (112e0 ) + 112ba: 4798 blx r3 task_list_changed = true; - 11254: 2201 movs r2, #1 - 11256: 4b09 ldr r3, [pc, #36] ; (1127c ) - 11258: 701a strb r2, [r3, #0] + 112bc: 2201 movs r2, #1 + 112be: 4b09 ldr r3, [pc, #36] ; (112e4 ) + 112c0: 701a strb r2, [r3, #0] lv_mem_free(task); - 1125a: 0020 movs r0, r4 - 1125c: 4b08 ldr r3, [pc, #32] ; (11280 ) - 1125e: 4798 blx r3 + 112c2: 0020 movs r0, r4 + 112c4: 4b08 ldr r3, [pc, #32] ; (112e8 ) + 112c6: 4798 blx r3 if(LV_GC_ROOT(_lv_task_act) == task) task_deleted = true; /*The active task was deleted*/ - 11260: 4b08 ldr r3, [pc, #32] ; (11284 ) - 11262: 681b ldr r3, [r3, #0] - 11264: 429c cmp r4, r3 - 11266: d000 beq.n 1126a + 112c8: 4b08 ldr r3, [pc, #32] ; (112ec ) + 112ca: 681b ldr r3, [r3, #0] + 112cc: 429c cmp r4, r3 + 112ce: d000 beq.n 112d2 } - 11268: bd10 pop {r4, pc} + 112d0: bd10 pop {r4, pc} if(LV_GC_ROOT(_lv_task_act) == task) task_deleted = true; /*The active task was deleted*/ - 1126a: 2201 movs r2, #1 - 1126c: 4b06 ldr r3, [pc, #24] ; (11288 ) - 1126e: 701a strb r2, [r3, #0] -} - 11270: e7fa b.n 11268 - 11272: 46c0 nop ; (mov r8, r8) - 11274: 20004cac .word 0x20004cac - 11278: 000106ed .word 0x000106ed - 1127c: 20004c2b .word 0x20004c2b - 11280: 00010ad1 .word 0x00010ad1 - 11284: 20004d78 .word 0x20004d78 - 11288: 20004c2a .word 0x20004c2a - -0001128c : + 112d2: 2201 movs r2, #1 + 112d4: 4b06 ldr r3, [pc, #24] ; (112f0 ) + 112d6: 701a strb r2, [r3, #0] +} + 112d8: e7fa b.n 112d0 + 112da: 46c0 nop ; (mov r8, r8) + 112dc: 20004cac .word 0x20004cac + 112e0: 00010755 .word 0x00010755 + 112e4: 20004c2b .word 0x20004c2b + 112e8: 00010b39 .word 0x00010b39 + 112ec: 20004d78 .word 0x20004d78 + 112f0: 20004c2a .word 0x20004c2a + +000112f4 : * Execute task if its the priority is appropriate * @param task pointer to lv_task * @return true: execute, false: not executed */ static bool lv_task_exec(lv_task_t * task) { - 1128c: b510 push {r4, lr} - 1128e: 0004 movs r4, r0 + 112f4: b510 push {r4, lr} + 112f6: 0004 movs r4, r0 * @return the time remaining, or 0 if it needs to be run again */ static uint32_t lv_task_time_remaining(lv_task_t * task) { /*Check if at least 'period' time elapsed*/ uint32_t elp = lv_tick_elaps(task->last_run); - 11290: 6840 ldr r0, [r0, #4] - 11292: 4b13 ldr r3, [pc, #76] ; (112e0 ) - 11294: 4798 blx r3 + 112f8: 6840 ldr r0, [r0, #4] + 112fa: 4b13 ldr r3, [pc, #76] ; (11348 ) + 112fc: 4798 blx r3 bool exec = false; - 11296: 2300 movs r3, #0 + 112fe: 2300 movs r3, #0 if(elp >= task->period) - 11298: 6822 ldr r2, [r4, #0] - 1129a: 4290 cmp r0, r2 - 1129c: d201 bcs.n 112a2 + 11300: 6822 ldr r2, [r4, #0] + 11302: 4290 cmp r0, r2 + 11304: d201 bcs.n 1130a } - 1129e: 0018 movs r0, r3 - 112a0: bd10 pop {r4, pc} + 11306: 0018 movs r0, r3 + 11308: bd10 pop {r4, pc} task->last_run = lv_tick_get(); - 112a2: 4b10 ldr r3, [pc, #64] ; (112e4 ) - 112a4: 4798 blx r3 - 112a6: 6060 str r0, [r4, #4] + 1130a: 4b10 ldr r3, [pc, #64] ; (1134c ) + 1130c: 4798 blx r3 + 1130e: 6060 str r0, [r4, #4] task_deleted = false; - 112a8: 2300 movs r3, #0 - 112aa: 4a0f ldr r2, [pc, #60] ; (112e8 ) - 112ac: 7013 strb r3, [r2, #0] + 11310: 2300 movs r3, #0 + 11312: 4a0f ldr r2, [pc, #60] ; (11350 ) + 11314: 7013 strb r3, [r2, #0] task_created = false; - 112ae: 4a0f ldr r2, [pc, #60] ; (112ec ) - 112b0: 7013 strb r3, [r2, #0] + 11316: 4a0f ldr r2, [pc, #60] ; (11354 ) + 11318: 7013 strb r3, [r2, #0] if(task->task_cb) task->task_cb(task); - 112b2: 68a3 ldr r3, [r4, #8] - 112b4: 2b00 cmp r3, #0 - 112b6: d005 beq.n 112c4 - 112b8: 0020 movs r0, r4 - 112ba: 4798 blx r3 + 1131a: 68a3 ldr r3, [r4, #8] + 1131c: 2b00 cmp r3, #0 + 1131e: d005 beq.n 1132c + 11320: 0020 movs r0, r4 + 11322: 4798 blx r3 if(task_deleted == false) { /*The task might be deleted by itself as well*/ - 112bc: 4b0a ldr r3, [pc, #40] ; (112e8 ) - 112be: 781b ldrb r3, [r3, #0] - 112c0: 2b00 cmp r3, #0 - 112c2: d1ec bne.n 1129e + 11324: 4b0a ldr r3, [pc, #40] ; (11350 ) + 11326: 781b ldrb r3, [r3, #0] + 11328: 2b00 cmp r3, #0 + 1132a: d1ec bne.n 11306 if(task->repeat_count > 0) { - 112c4: 6923 ldr r3, [r4, #16] - 112c6: 2b00 cmp r3, #0 - 112c8: dd01 ble.n 112ce + 1132c: 6923 ldr r3, [r4, #16] + 1132e: 2b00 cmp r3, #0 + 11330: dd01 ble.n 11336 task->repeat_count--; - 112ca: 3b01 subs r3, #1 - 112cc: 6123 str r3, [r4, #16] + 11332: 3b01 subs r3, #1 + 11334: 6123 str r3, [r4, #16] exec = true; - 112ce: 2301 movs r3, #1 + 11336: 2301 movs r3, #1 if(task->repeat_count == 0) { - 112d0: 6922 ldr r2, [r4, #16] - 112d2: 2a00 cmp r2, #0 - 112d4: d1e3 bne.n 1129e + 11338: 6922 ldr r2, [r4, #16] + 1133a: 2a00 cmp r2, #0 + 1133c: d1e3 bne.n 11306 lv_task_del(task); - 112d6: 0020 movs r0, r4 - 112d8: 4b05 ldr r3, [pc, #20] ; (112f0 ) - 112da: 4798 blx r3 + 1133e: 0020 movs r0, r4 + 11340: 4b05 ldr r3, [pc, #20] ; (11358 ) + 11342: 4798 blx r3 exec = true; - 112dc: 2301 movs r3, #1 - 112de: e7de b.n 1129e - 112e0: 0000f741 .word 0x0000f741 - 112e4: 0000f725 .word 0x0000f725 - 112e8: 20004c2a .word 0x20004c2a - 112ec: 20004c29 .word 0x20004c29 - 112f0: 00011249 .word 0x00011249 - -000112f4 : -{ - 112f4: b5f0 push {r4, r5, r6, r7, lr} - 112f6: 46de mov lr, fp - 112f8: 4657 mov r7, sl - 112fa: 464e mov r6, r9 - 112fc: b5c0 push {r6, r7, lr} + 11344: 2301 movs r3, #1 + 11346: e7de b.n 11306 + 11348: 0000f7a9 .word 0x0000f7a9 + 1134c: 0000f78d .word 0x0000f78d + 11350: 20004c2a .word 0x20004c2a + 11354: 20004c29 .word 0x20004c29 + 11358: 000112b1 .word 0x000112b1 + +0001135c : +{ + 1135c: b5f0 push {r4, r5, r6, r7, lr} + 1135e: 46de mov lr, fp + 11360: 4657 mov r7, sl + 11362: 464e mov r6, r9 + 11364: b5c0 push {r6, r7, lr} if(already_running) return 1; - 112fe: 4b66 ldr r3, [pc, #408] ; (11498 ) - 11300: 781b ldrb r3, [r3, #0] - 11302: 2001 movs r0, #1 - 11304: 2b00 cmp r3, #0 - 11306: d109 bne.n 1131c + 11366: 4b66 ldr r3, [pc, #408] ; (11500 ) + 11368: 781b ldrb r3, [r3, #0] + 1136a: 2001 movs r0, #1 + 1136c: 2b00 cmp r3, #0 + 1136e: d109 bne.n 11384 already_running = true; - 11308: 2201 movs r2, #1 - 1130a: 4b63 ldr r3, [pc, #396] ; (11498 ) - 1130c: 701a strb r2, [r3, #0] + 11370: 2201 movs r2, #1 + 11372: 4b63 ldr r3, [pc, #396] ; (11500 ) + 11374: 701a strb r2, [r3, #0] if(lv_task_run == false) { - 1130e: 4b63 ldr r3, [pc, #396] ; (1149c ) - 11310: 781b ldrb r3, [r3, #0] - 11312: 2b00 cmp r3, #0 - 11314: d107 bne.n 11326 + 11376: 4b63 ldr r3, [pc, #396] ; (11504 ) + 11378: 781b ldrb r3, [r3, #0] + 1137a: 2b00 cmp r3, #0 + 1137c: d107 bne.n 1138e already_running = false; /*Release mutex*/ - 11316: 2200 movs r2, #0 - 11318: 4b5f ldr r3, [pc, #380] ; (11498 ) - 1131a: 701a strb r2, [r3, #0] -} - 1131c: bc1c pop {r2, r3, r4} - 1131e: 4691 mov r9, r2 - 11320: 469a mov sl, r3 - 11322: 46a3 mov fp, r4 - 11324: bdf0 pop {r4, r5, r6, r7, pc} + 1137e: 2200 movs r2, #0 + 11380: 4b5f ldr r3, [pc, #380] ; (11500 ) + 11382: 701a strb r2, [r3, #0] +} + 11384: bc1c pop {r2, r3, r4} + 11386: 4691 mov r9, r2 + 11388: 469a mov sl, r3 + 1138a: 46a3 mov fp, r4 + 1138c: bdf0 pop {r4, r5, r6, r7, pc} handler_start = lv_tick_get(); - 11326: 4b5e ldr r3, [pc, #376] ; (114a0 ) - 11328: 4798 blx r3 - 1132a: 4b5e ldr r3, [pc, #376] ; (114a4 ) - 1132c: 6018 str r0, [r3, #0] + 1138e: 4b5e ldr r3, [pc, #376] ; (11508 ) + 11390: 4798 blx r3 + 11392: 4b5e ldr r3, [pc, #376] ; (1150c ) + 11394: 6018 str r0, [r3, #0] lv_task_t * task_interrupter = NULL; - 1132e: 2400 movs r4, #0 + 11396: 2400 movs r4, #0 task_deleted = false; - 11330: 4b5d ldr r3, [pc, #372] ; (114a8 ) - 11332: 469b mov fp, r3 - 11334: 2300 movs r3, #0 - 11336: 4699 mov r9, r3 + 11398: 4b5d ldr r3, [pc, #372] ; (11510 ) + 1139a: 469b mov fp, r3 + 1139c: 2300 movs r3, #0 + 1139e: 4699 mov r9, r3 task_created = false; - 11338: 4b5c ldr r3, [pc, #368] ; (114ac ) - 1133a: 469a mov sl, r3 - 1133c: e084 b.n 11448 + 113a0: 4b5c ldr r3, [pc, #368] ; (11514 ) + 113a2: 469a mov sl, r3 + 113a4: e084 b.n 114b0 LV_GC_ROOT(_lv_task_act) = next; - 1133e: 4b5c ldr r3, [pc, #368] ; (114b0 ) - 11340: 601d str r5, [r3, #0] + 113a6: 4b5c ldr r3, [pc, #368] ; (11518 ) + 113a8: 601d str r5, [r3, #0] task_interrupter = NULL; /*From this point only task after the interrupter comes, so - 11342: 2400 movs r4, #0 + 113aa: 2400 movs r4, #0 continue; /*Load the next task*/ - 11344: e00f b.n 11366 + 113ac: e00f b.n 113ce lv_task_exec(LV_GC_ROOT(_lv_task_act)); - 11346: 4b5b ldr r3, [pc, #364] ; (114b4 ) - 11348: 4798 blx r3 + 113ae: 4b5b ldr r3, [pc, #364] ; (1151c ) + 113b0: 4798 blx r3 if(task_created || task_deleted) { - 1134a: 4b58 ldr r3, [pc, #352] ; (114ac ) - 1134c: 781b ldrb r3, [r3, #0] - 1134e: 2b00 cmp r3, #0 - 11350: d12f bne.n 113b2 - 11352: 4b55 ldr r3, [pc, #340] ; (114a8 ) - 11354: 781b ldrb r3, [r3, #0] - 11356: 2b00 cmp r3, #0 - 11358: d12b bne.n 113b2 + 113b2: 4b58 ldr r3, [pc, #352] ; (11514 ) + 113b4: 781b ldrb r3, [r3, #0] + 113b6: 2b00 cmp r3, #0 + 113b8: d12f bne.n 1141a + 113ba: 4b55 ldr r3, [pc, #340] ; (11510 ) + 113bc: 781b ldrb r3, [r3, #0] + 113be: 2b00 cmp r3, #0 + 113c0: d12b bne.n 1141a if(task_list_changed) { - 1135a: 4b57 ldr r3, [pc, #348] ; (114b8 ) - 1135c: 781b ldrb r3, [r3, #0] - 1135e: 2b00 cmp r3, #0 - 11360: d16e bne.n 11440 + 113c2: 4b57 ldr r3, [pc, #348] ; (11520 ) + 113c4: 781b ldrb r3, [r3, #0] + 113c6: 2b00 cmp r3, #0 + 113c8: d16e bne.n 114a8 LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/ - 11362: 4b53 ldr r3, [pc, #332] ; (114b0 ) - 11364: 601d str r5, [r3, #0] + 113ca: 4b53 ldr r3, [pc, #332] ; (11518 ) + 113cc: 601d str r5, [r3, #0] while(LV_GC_ROOT(_lv_task_act)) { - 11366: 6831 ldr r1, [r6, #0] - 11368: 2900 cmp r1, #0 - 1136a: d022 beq.n 113b2 + 113ce: 6831 ldr r1, [r6, #0] + 113d0: 2900 cmp r1, #0 + 113d2: d022 beq.n 1141a next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act)); - 1136c: 4853 ldr r0, [pc, #332] ; (114bc ) - 1136e: 47b8 blx r7 - 11370: 0005 movs r5, r0 + 113d4: 4853 ldr r0, [pc, #332] ; (11524 ) + 113d6: 47b8 blx r7 + 113d8: 0005 movs r5, r0 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_OFF) { - 11372: 4b4f ldr r3, [pc, #316] ; (114b0 ) - 11374: 6818 ldr r0, [r3, #0] - 11376: 7d02 ldrb r2, [r0, #20] - 11378: 2307 movs r3, #7 - 1137a: 4013 ands r3, r2 - 1137c: d019 beq.n 113b2 + 113da: 4b4f ldr r3, [pc, #316] ; (11518 ) + 113dc: 6818 ldr r0, [r3, #0] + 113de: 7d02 ldrb r2, [r0, #20] + 113e0: 2307 movs r3, #7 + 113e2: 4013 ands r3, r2 + 113e4: d019 beq.n 1141a if(LV_GC_ROOT(_lv_task_act) == task_interrupter) { - 1137e: 4284 cmp r4, r0 - 11380: d0dd beq.n 1133e + 113e6: 4284 cmp r4, r0 + 113e8: d0dd beq.n 113a6 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_HIGHEST) { - 11382: 2b05 cmp r3, #5 - 11384: d0df beq.n 11346 + 113ea: 2b05 cmp r3, #5 + 113ec: d0df beq.n 113ae else if(task_interrupter) { - 11386: 2c00 cmp r4, #0 - 11388: d04b beq.n 11422 + 113ee: 2c00 cmp r4, #0 + 113f0: d04b beq.n 1148a if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio > task_interrupter->prio) { - 1138a: 7d02 ldrb r2, [r0, #20] - 1138c: 0752 lsls r2, r2, #29 - 1138e: 0f52 lsrs r2, r2, #29 - 11390: 7d23 ldrb r3, [r4, #20] - 11392: 075b lsls r3, r3, #29 - 11394: 0f5b lsrs r3, r3, #29 - 11396: 429a cmp r2, r3 - 11398: ddd7 ble.n 1134a + 113f2: 7d02 ldrb r2, [r0, #20] + 113f4: 0752 lsls r2, r2, #29 + 113f6: 0f52 lsrs r2, r2, #29 + 113f8: 7d23 ldrb r3, [r4, #20] + 113fa: 075b lsls r3, r3, #29 + 113fc: 0f5b lsrs r3, r3, #29 + 113fe: 429a cmp r2, r3 + 11400: ddd7 ble.n 113b2 if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - 1139a: 4b46 ldr r3, [pc, #280] ; (114b4 ) - 1139c: 4798 blx r3 - 1139e: 2800 cmp r0, #0 - 113a0: d0d3 beq.n 1134a + 11402: 4b46 ldr r3, [pc, #280] ; (1151c ) + 11404: 4798 blx r3 + 11406: 2800 cmp r0, #0 + 11408: d0d3 beq.n 113b2 if(!task_created && !task_deleted) { - 113a2: 4b42 ldr r3, [pc, #264] ; (114ac ) - 113a4: 781b ldrb r3, [r3, #0] - 113a6: 2b00 cmp r3, #0 - 113a8: d103 bne.n 113b2 - 113aa: 4b3f ldr r3, [pc, #252] ; (114a8 ) - 113ac: 781b ldrb r3, [r3, #0] - 113ae: 2b00 cmp r3, #0 - 113b0: d034 beq.n 1141c + 1140a: 4b42 ldr r3, [pc, #264] ; (11514 ) + 1140c: 781b ldrb r3, [r3, #0] + 1140e: 2b00 cmp r3, #0 + 11410: d103 bne.n 1141a + 11412: 4b3f ldr r3, [pc, #252] ; (11510 ) + 11414: 781b ldrb r3, [r3, #0] + 11416: 2b00 cmp r3, #0 + 11418: d034 beq.n 11484 busy_time += lv_tick_elaps(handler_start); - 113b2: 4b3c ldr r3, [pc, #240] ; (114a4 ) - 113b4: 6818 ldr r0, [r3, #0] - 113b6: 4c42 ldr r4, [pc, #264] ; (114c0 ) - 113b8: 47a0 blx r4 - 113ba: 4b42 ldr r3, [pc, #264] ; (114c4 ) - 113bc: 681a ldr r2, [r3, #0] - 113be: 4694 mov ip, r2 - 113c0: 4460 add r0, ip - 113c2: 6018 str r0, [r3, #0] + 1141a: 4b3c ldr r3, [pc, #240] ; (1150c ) + 1141c: 6818 ldr r0, [r3, #0] + 1141e: 4c42 ldr r4, [pc, #264] ; (11528 ) + 11420: 47a0 blx r4 + 11422: 4b42 ldr r3, [pc, #264] ; (1152c ) + 11424: 681a ldr r2, [r3, #0] + 11426: 4694 mov ip, r2 + 11428: 4460 add r0, ip + 1142a: 6018 str r0, [r3, #0] uint32_t idle_period_time = lv_tick_elaps(idle_period_start); - 113c4: 4b40 ldr r3, [pc, #256] ; (114c8 ) - 113c6: 6818 ldr r0, [r3, #0] - 113c8: 47a0 blx r4 + 1142c: 4b40 ldr r3, [pc, #256] ; (11530 ) + 1142e: 6818 ldr r0, [r3, #0] + 11430: 47a0 blx r4 if(idle_period_time >= IDLE_MEAS_PERIOD) { - 113ca: 23f4 movs r3, #244 ; 0xf4 - 113cc: 33ff adds r3, #255 ; 0xff - 113ce: 4298 cmp r0, r3 - 113d0: d917 bls.n 11402 + 11432: 23f4 movs r3, #244 ; 0xf4 + 11434: 33ff adds r3, #255 ; 0xff + 11436: 4298 cmp r0, r3 + 11438: d917 bls.n 1146a idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/ - 113d2: 4b3c ldr r3, [pc, #240] ; (114c4 ) - 113d4: 6818 ldr r0, [r3, #0] - 113d6: 2364 movs r3, #100 ; 0x64 - 113d8: 4358 muls r0, r3 - 113da: 21fa movs r1, #250 ; 0xfa - 113dc: 0049 lsls r1, r1, #1 - 113de: 4b3b ldr r3, [pc, #236] ; (114cc ) - 113e0: 4798 blx r3 - 113e2: b2c0 uxtb r0, r0 + 1143a: 4b3c ldr r3, [pc, #240] ; (1152c ) + 1143c: 6818 ldr r0, [r3, #0] + 1143e: 2364 movs r3, #100 ; 0x64 + 11440: 4358 muls r0, r3 + 11442: 21fa movs r1, #250 ; 0xfa + 11444: 0049 lsls r1, r1, #1 + 11446: 4b3b ldr r3, [pc, #236] ; (11534 ) + 11448: 4798 blx r3 + 1144a: b2c0 uxtb r0, r0 idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/ - 113e4: 2300 movs r3, #0 - 113e6: 2864 cmp r0, #100 ; 0x64 - 113e8: d802 bhi.n 113f0 - 113ea: 2364 movs r3, #100 ; 0x64 - 113ec: 1a1b subs r3, r3, r0 - 113ee: b2db uxtb r3, r3 - 113f0: 4a37 ldr r2, [pc, #220] ; (114d0 ) - 113f2: 7013 strb r3, [r2, #0] + 1144c: 2300 movs r3, #0 + 1144e: 2864 cmp r0, #100 ; 0x64 + 11450: d802 bhi.n 11458 + 11452: 2364 movs r3, #100 ; 0x64 + 11454: 1a1b subs r3, r3, r0 + 11456: b2db uxtb r3, r3 + 11458: 4a37 ldr r2, [pc, #220] ; (11538 ) + 1145a: 7013 strb r3, [r2, #0] busy_time = 0; - 113f4: 2200 movs r2, #0 - 113f6: 4b33 ldr r3, [pc, #204] ; (114c4 ) - 113f8: 601a str r2, [r3, #0] + 1145c: 2200 movs r2, #0 + 1145e: 4b33 ldr r3, [pc, #204] ; (1152c ) + 11460: 601a str r2, [r3, #0] idle_period_start = lv_tick_get(); - 113fa: 4b29 ldr r3, [pc, #164] ; (114a0 ) - 113fc: 4798 blx r3 - 113fe: 4b32 ldr r3, [pc, #200] ; (114c8 ) - 11400: 6018 str r0, [r3, #0] + 11462: 4b29 ldr r3, [pc, #164] ; (11508 ) + 11464: 4798 blx r3 + 11466: 4b32 ldr r3, [pc, #200] ; (11530 ) + 11468: 6018 str r0, [r3, #0] time_till_next = LV_NO_TASK_READY; - 11402: 2201 movs r2, #1 - 11404: 4252 negs r2, r2 - 11406: 4b33 ldr r3, [pc, #204] ; (114d4 ) - 11408: 601a str r2, [r3, #0] + 1146a: 2201 movs r2, #1 + 1146c: 4252 negs r2, r2 + 1146e: 4b33 ldr r3, [pc, #204] ; (1153c ) + 11470: 601a str r2, [r3, #0] next = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 1140a: 482c ldr r0, [pc, #176] ; (114bc ) - 1140c: 4b32 ldr r3, [pc, #200] ; (114d8 ) - 1140e: 4798 blx r3 - 11410: 1e04 subs r4, r0, #0 + 11472: 482c ldr r0, [pc, #176] ; (11524 ) + 11474: 4b32 ldr r3, [pc, #200] ; (11540 ) + 11476: 4798 blx r3 + 11478: 1e04 subs r4, r0, #0 while(next) { - 11412: d03b beq.n 1148c + 1147a: d03b beq.n 114f4 uint32_t elp = lv_tick_elaps(task->last_run); - 11414: 4d2a ldr r5, [pc, #168] ; (114c0 ) + 1147c: 4d2a ldr r5, [pc, #168] ; (11528 ) if(delay < time_till_next) - 11416: 4f2f ldr r7, [pc, #188] ; (114d4 ) + 1147e: 4f2f ldr r7, [pc, #188] ; (1153c ) time_till_next = delay; - 11418: 003e movs r6, r7 - 1141a: e028 b.n 1146e + 11480: 003e movs r6, r7 + 11482: e028 b.n 114d6 task_interrupter = LV_GC_ROOT(_lv_task_act); - 1141c: 4b24 ldr r3, [pc, #144] ; (114b0 ) - 1141e: 681c ldr r4, [r3, #0] + 11484: 4b24 ldr r3, [pc, #144] ; (11518 ) + 11486: 681c ldr r4, [r3, #0] break; - 11420: e012 b.n 11448 + 11488: e012 b.n 114b0 if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - 11422: 4b24 ldr r3, [pc, #144] ; (114b4 ) - 11424: 4798 blx r3 - 11426: 2800 cmp r0, #0 - 11428: d08f beq.n 1134a + 1148a: 4b24 ldr r3, [pc, #144] ; (1151c ) + 1148c: 4798 blx r3 + 1148e: 2800 cmp r0, #0 + 11490: d08f beq.n 113b2 if(!task_created && !task_deleted) { - 1142a: 4b20 ldr r3, [pc, #128] ; (114ac ) - 1142c: 781b ldrb r3, [r3, #0] - 1142e: 2b00 cmp r3, #0 - 11430: d1bf bne.n 113b2 - 11432: 4b1d ldr r3, [pc, #116] ; (114a8 ) - 11434: 781b ldrb r3, [r3, #0] - 11436: 2b00 cmp r3, #0 - 11438: d1bb bne.n 113b2 + 11492: 4b20 ldr r3, [pc, #128] ; (11514 ) + 11494: 781b ldrb r3, [r3, #0] + 11496: 2b00 cmp r3, #0 + 11498: d1bf bne.n 1141a + 1149a: 4b1d ldr r3, [pc, #116] ; (11510 ) + 1149c: 781b ldrb r3, [r3, #0] + 1149e: 2b00 cmp r3, #0 + 114a0: d1bb bne.n 1141a task_interrupter = LV_GC_ROOT(_lv_task_act); /*Check all tasks again from the highest priority */ - 1143a: 4b1d ldr r3, [pc, #116] ; (114b0 ) - 1143c: 681c ldr r4, [r3, #0] + 114a2: 4b1d ldr r3, [pc, #116] ; (11518 ) + 114a4: 681c ldr r4, [r3, #0] break; - 1143e: e003 b.n 11448 + 114a6: e003 b.n 114b0 task_list_changed = false; - 11440: 4b1d ldr r3, [pc, #116] ; (114b8 ) - 11442: 2200 movs r2, #0 - 11444: 701a strb r2, [r3, #0] + 114a8: 4b1d ldr r3, [pc, #116] ; (11520 ) + 114aa: 2200 movs r2, #0 + 114ac: 701a strb r2, [r3, #0] task_interrupter = NULL; - 11446: 2400 movs r4, #0 + 114ae: 2400 movs r4, #0 task_deleted = false; - 11448: 465b mov r3, fp - 1144a: 464a mov r2, r9 - 1144c: 701a strb r2, [r3, #0] + 114b0: 465b mov r3, fp + 114b2: 464a mov r2, r9 + 114b4: 701a strb r2, [r3, #0] task_created = false; - 1144e: 4653 mov r3, sl - 11450: 701a strb r2, [r3, #0] + 114b6: 4653 mov r3, sl + 114b8: 701a strb r2, [r3, #0] LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 11452: 481a ldr r0, [pc, #104] ; (114bc ) - 11454: 4b20 ldr r3, [pc, #128] ; (114d8 ) - 11456: 4798 blx r3 - 11458: 4b15 ldr r3, [pc, #84] ; (114b0 ) - 1145a: 6018 str r0, [r3, #0] + 114ba: 481a ldr r0, [pc, #104] ; (11524 ) + 114bc: 4b20 ldr r3, [pc, #128] ; (11540 ) + 114be: 4798 blx r3 + 114c0: 4b15 ldr r3, [pc, #84] ; (11518 ) + 114c2: 6018 str r0, [r3, #0] while(LV_GC_ROOT(_lv_task_act)) { - 1145c: 001e movs r6, r3 + 114c4: 001e movs r6, r3 next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act)); - 1145e: 4f1f ldr r7, [pc, #124] ; (114dc ) + 114c6: 4f1f ldr r7, [pc, #124] ; (11544 ) while(LV_GC_ROOT(_lv_task_act)) { - 11460: e781 b.n 11366 + 114c8: e781 b.n 113ce next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), next); /*Find the next task*/ - 11462: 0021 movs r1, r4 - 11464: 4815 ldr r0, [pc, #84] ; (114bc ) - 11466: 4b1d ldr r3, [pc, #116] ; (114dc ) - 11468: 4798 blx r3 - 1146a: 1e04 subs r4, r0, #0 + 114ca: 0021 movs r1, r4 + 114cc: 4815 ldr r0, [pc, #84] ; (11524 ) + 114ce: 4b1d ldr r3, [pc, #116] ; (11544 ) + 114d0: 4798 blx r3 + 114d2: 1e04 subs r4, r0, #0 while(next) { - 1146c: d00e beq.n 1148c + 114d4: d00e beq.n 114f4 if(next->prio != LV_TASK_PRIO_OFF) { - 1146e: 7d23 ldrb r3, [r4, #20] - 11470: 075b lsls r3, r3, #29 - 11472: d0f6 beq.n 11462 + 114d6: 7d23 ldrb r3, [r4, #20] + 114d8: 075b lsls r3, r3, #29 + 114da: d0f6 beq.n 114ca uint32_t elp = lv_tick_elaps(task->last_run); - 11474: 6860 ldr r0, [r4, #4] - 11476: 47a8 blx r5 + 114dc: 6860 ldr r0, [r4, #4] + 114de: 47a8 blx r5 if(elp >= task->period) - 11478: 6822 ldr r2, [r4, #0] + 114e0: 6822 ldr r2, [r4, #0] return 0; - 1147a: 2300 movs r3, #0 + 114e2: 2300 movs r3, #0 if(elp >= task->period) - 1147c: 4290 cmp r0, r2 - 1147e: d200 bcs.n 11482 + 114e4: 4290 cmp r0, r2 + 114e6: d200 bcs.n 114ea return task->period - elp; - 11480: 1a13 subs r3, r2, r0 + 114e8: 1a13 subs r3, r2, r0 if(delay < time_till_next) - 11482: 683a ldr r2, [r7, #0] - 11484: 429a cmp r2, r3 - 11486: d9ec bls.n 11462 + 114ea: 683a ldr r2, [r7, #0] + 114ec: 429a cmp r2, r3 + 114ee: d9ec bls.n 114ca time_till_next = delay; - 11488: 6033 str r3, [r6, #0] - 1148a: e7ea b.n 11462 + 114f0: 6033 str r3, [r6, #0] + 114f2: e7ea b.n 114ca already_running = false; /*Release the mutex*/ - 1148c: 2200 movs r2, #0 - 1148e: 4b02 ldr r3, [pc, #8] ; (11498 ) - 11490: 701a strb r2, [r3, #0] + 114f4: 2200 movs r2, #0 + 114f6: 4b02 ldr r3, [pc, #8] ; (11500 ) + 114f8: 701a strb r2, [r3, #0] return time_till_next; - 11492: 4b10 ldr r3, [pc, #64] ; (114d4 ) - 11494: 6818 ldr r0, [r3, #0] - 11496: e741 b.n 1131c - 11498: 20004c14 .word 0x20004c14 - 1149c: 20004c28 .word 0x20004c28 - 114a0: 0000f725 .word 0x0000f725 - 114a4: 20004c1c .word 0x20004c1c - 114a8: 20004c2a .word 0x20004c2a - 114ac: 20004c29 .word 0x20004c29 - 114b0: 20004d78 .word 0x20004d78 - 114b4: 0001128d .word 0x0001128d - 114b8: 20004c2b .word 0x20004c2b - 114bc: 20004cac .word 0x20004cac - 114c0: 0000f741 .word 0x0000f741 - 114c4: 20004c18 .word 0x20004c18 - 114c8: 20004c24 .word 0x20004c24 - 114cc: 00017961 .word 0x00017961 - 114d0: 20004c20 .word 0x20004c20 - 114d4: 20004c2c .word 0x20004c2c - 114d8: 00010605 .word 0x00010605 - 114dc: 0001061d .word 0x0001061d - -000114e0 : -{ - 114e0: b5f0 push {r4, r5, r6, r7, lr} - 114e2: 46ce mov lr, r9 - 114e4: b500 push {lr} - 114e6: 0005 movs r5, r0 - 114e8: 4689 mov r9, r1 + 114fa: 4b10 ldr r3, [pc, #64] ; (1153c ) + 114fc: 6818 ldr r0, [r3, #0] + 114fe: e741 b.n 11384 + 11500: 20004c14 .word 0x20004c14 + 11504: 20004c28 .word 0x20004c28 + 11508: 0000f78d .word 0x0000f78d + 1150c: 20004c1c .word 0x20004c1c + 11510: 20004c2a .word 0x20004c2a + 11514: 20004c29 .word 0x20004c29 + 11518: 20004d78 .word 0x20004d78 + 1151c: 000112f5 .word 0x000112f5 + 11520: 20004c2b .word 0x20004c2b + 11524: 20004cac .word 0x20004cac + 11528: 0000f7a9 .word 0x0000f7a9 + 1152c: 20004c18 .word 0x20004c18 + 11530: 20004c24 .word 0x20004c24 + 11534: 000179f1 .word 0x000179f1 + 11538: 20004c20 .word 0x20004c20 + 1153c: 20004c2c .word 0x20004c2c + 11540: 0001066d .word 0x0001066d + 11544: 00010685 .word 0x00010685 + +00011548 : +{ + 11548: b5f0 push {r4, r5, r6, r7, lr} + 1154a: 46ce mov lr, r9 + 1154c: b500 push {lr} + 1154e: 0005 movs r5, r0 + 11550: 4689 mov r9, r1 if(task->prio == prio) return; - 114ea: 000e movs r6, r1 - 114ec: 7d03 ldrb r3, [r0, #20] - 114ee: 075b lsls r3, r3, #29 - 114f0: 0f5b lsrs r3, r3, #29 - 114f2: 428b cmp r3, r1 - 114f4: d028 beq.n 11548 + 11552: 000e movs r6, r1 + 11554: 7d03 ldrb r3, [r0, #20] + 11556: 075b lsls r3, r3, #29 + 11558: 0f5b lsrs r3, r3, #29 + 1155a: 428b cmp r3, r1 + 1155c: d028 beq.n 115b0 _LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) { - 114f6: 4819 ldr r0, [pc, #100] ; (1155c ) - 114f8: 4b19 ldr r3, [pc, #100] ; (11560 ) - 114fa: 4798 blx r3 - 114fc: 1e04 subs r4, r0, #0 - 114fe: d026 beq.n 1154e + 1155e: 4819 ldr r0, [pc, #100] ; (115c4 ) + 11560: 4b19 ldr r3, [pc, #100] ; (115c8 ) + 11562: 4798 blx r3 + 11564: 1e04 subs r4, r0, #0 + 11566: d026 beq.n 115b6 if(i->prio <= prio) { - 11500: 7d03 ldrb r3, [r0, #20] - 11502: 075b lsls r3, r3, #29 - 11504: 0f5b lsrs r3, r3, #29 - 11506: 429e cmp r6, r3 - 11508: da0a bge.n 11520 + 11568: 7d03 ldrb r3, [r0, #20] + 1156a: 075b lsls r3, r3, #29 + 1156c: 0f5b lsrs r3, r3, #29 + 1156e: 429e cmp r6, r3 + 11570: da0a bge.n 11588 _LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) { - 1150a: 4f16 ldr r7, [pc, #88] ; (11564 ) - 1150c: 0021 movs r1, r4 - 1150e: 4813 ldr r0, [pc, #76] ; (1155c ) - 11510: 47b8 blx r7 - 11512: 1e04 subs r4, r0, #0 - 11514: d01b beq.n 1154e + 11572: 4f16 ldr r7, [pc, #88] ; (115cc ) + 11574: 0021 movs r1, r4 + 11576: 4813 ldr r0, [pc, #76] ; (115c4 ) + 11578: 47b8 blx r7 + 1157a: 1e04 subs r4, r0, #0 + 1157c: d01b beq.n 115b6 if(i->prio <= prio) { - 11516: 7d23 ldrb r3, [r4, #20] - 11518: 075b lsls r3, r3, #29 - 1151a: 0f5b lsrs r3, r3, #29 - 1151c: 429e cmp r6, r3 - 1151e: dbf5 blt.n 1150c + 1157e: 7d23 ldrb r3, [r4, #20] + 11580: 075b lsls r3, r3, #29 + 11582: 0f5b lsrs r3, r3, #29 + 11584: 429e cmp r6, r3 + 11586: dbf5 blt.n 11574 if(i != task) _lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, i); - 11520: 42a5 cmp r5, r4 - 11522: d006 beq.n 11532 - 11524: 0022 movs r2, r4 - 11526: 0029 movs r1, r5 - 11528: 480c ldr r0, [pc, #48] ; (1155c ) - 1152a: 4b0f ldr r3, [pc, #60] ; (11568 ) - 1152c: 4798 blx r3 + 11588: 42a5 cmp r5, r4 + 1158a: d006 beq.n 1159a + 1158c: 0022 movs r2, r4 + 1158e: 0029 movs r1, r5 + 11590: 480c ldr r0, [pc, #48] ; (115c4 ) + 11592: 4b0f ldr r3, [pc, #60] ; (115d0 ) + 11594: 4798 blx r3 if(i == NULL) { - 1152e: 2c00 cmp r4, #0 - 11530: d00d beq.n 1154e + 11596: 2c00 cmp r4, #0 + 11598: d00d beq.n 115b6 task_list_changed = true; - 11532: 2201 movs r2, #1 - 11534: 4b0d ldr r3, [pc, #52] ; (1156c ) - 11536: 701a strb r2, [r3, #0] + 1159a: 2201 movs r2, #1 + 1159c: 4b0d ldr r3, [pc, #52] ; (115d4 ) + 1159e: 701a strb r2, [r3, #0] task->prio = prio; - 11538: 3206 adds r2, #6 - 1153a: 464b mov r3, r9 - 1153c: 401a ands r2, r3 - 1153e: 7d2b ldrb r3, [r5, #20] - 11540: 2107 movs r1, #7 - 11542: 438b bics r3, r1 - 11544: 4313 orrs r3, r2 - 11546: 752b strb r3, [r5, #20] -} - 11548: bc04 pop {r2} - 1154a: 4691 mov r9, r2 - 1154c: bdf0 pop {r4, r5, r6, r7, pc} + 115a0: 3206 adds r2, #6 + 115a2: 464b mov r3, r9 + 115a4: 401a ands r2, r3 + 115a6: 7d2b ldrb r3, [r5, #20] + 115a8: 2107 movs r1, #7 + 115aa: 438b bics r3, r1 + 115ac: 4313 orrs r3, r2 + 115ae: 752b strb r3, [r5, #20] +} + 115b0: bc04 pop {r2} + 115b2: 4691 mov r9, r2 + 115b4: bdf0 pop {r4, r5, r6, r7, pc} _lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, NULL); - 1154e: 2200 movs r2, #0 - 11550: 0029 movs r1, r5 - 11552: 4802 ldr r0, [pc, #8] ; (1155c ) - 11554: 4b04 ldr r3, [pc, #16] ; (11568 ) - 11556: 4798 blx r3 - 11558: e7eb b.n 11532 - 1155a: 46c0 nop ; (mov r8, r8) - 1155c: 20004cac .word 0x20004cac - 11560: 00010605 .word 0x00010605 - 11564: 0001061d .word 0x0001061d - 11568: 000107f9 .word 0x000107f9 - 1156c: 20004c2b .word 0x20004c2b - -00011570 : -{ - 11570: b5f0 push {r4, r5, r6, r7, lr} - 11572: b083 sub sp, #12 - 11574: 0006 movs r6, r0 - 11576: 000f movs r7, r1 - 11578: 9201 str r2, [sp, #4] - 1157a: 001d movs r5, r3 + 115b6: 2200 movs r2, #0 + 115b8: 0029 movs r1, r5 + 115ba: 4802 ldr r0, [pc, #8] ; (115c4 ) + 115bc: 4b04 ldr r3, [pc, #16] ; (115d0 ) + 115be: 4798 blx r3 + 115c0: e7eb b.n 1159a + 115c2: 46c0 nop ; (mov r8, r8) + 115c4: 20004cac .word 0x20004cac + 115c8: 0001066d .word 0x0001066d + 115cc: 00010685 .word 0x00010685 + 115d0: 00010861 .word 0x00010861 + 115d4: 20004c2b .word 0x20004c2b + +000115d8 : +{ + 115d8: b5f0 push {r4, r5, r6, r7, lr} + 115da: b083 sub sp, #12 + 115dc: 0006 movs r6, r0 + 115de: 000f movs r7, r1 + 115e0: 9201 str r2, [sp, #4] + 115e2: 001d movs r5, r3 lv_task_t * new_task = lv_task_create_basic(); - 1157c: 4b0c ldr r3, [pc, #48] ; (115b0 ) - 1157e: 4798 blx r3 - 11580: 0004 movs r4, r0 + 115e4: 4b0c ldr r3, [pc, #48] ; (11618 ) + 115e6: 4798 blx r3 + 115e8: 0004 movs r4, r0 LV_ASSERT_MEM(new_task); - 11582: 4b0c ldr r3, [pc, #48] ; (115b4 ) - 11584: 4798 blx r3 - 11586: 2800 cmp r0, #0 - 11588: d00b beq.n 115a2 + 115ea: 4b0c ldr r3, [pc, #48] ; (1161c ) + 115ec: 4798 blx r3 + 115ee: 2800 cmp r0, #0 + 115f0: d00b beq.n 1160a if(new_task == NULL) return NULL; - 1158a: 2c00 cmp r4, #0 - 1158c: d006 beq.n 1159c + 115f2: 2c00 cmp r4, #0 + 115f4: d006 beq.n 11604 task->task_cb = task_cb; - 1158e: 60a6 str r6, [r4, #8] + 115f6: 60a6 str r6, [r4, #8] task->period = period; - 11590: 6027 str r7, [r4, #0] + 115f8: 6027 str r7, [r4, #0] lv_task_set_prio(new_task, prio); - 11592: 9901 ldr r1, [sp, #4] - 11594: 0020 movs r0, r4 - 11596: 4b08 ldr r3, [pc, #32] ; (115b8 ) - 11598: 4798 blx r3 + 115fa: 9901 ldr r1, [sp, #4] + 115fc: 0020 movs r0, r4 + 115fe: 4b08 ldr r3, [pc, #32] ; (11620 ) + 11600: 4798 blx r3 new_task->user_data = user_data; - 1159a: 60e5 str r5, [r4, #12] + 11602: 60e5 str r5, [r4, #12] } - 1159c: 0020 movs r0, r4 - 1159e: b003 add sp, #12 - 115a0: bdf0 pop {r4, r5, r6, r7, pc} + 11604: 0020 movs r0, r4 + 11606: b003 add sp, #12 + 11608: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_MEM(new_task); - 115a2: 0022 movs r2, r4 - 115a4: 2300 movs r3, #0 - 115a6: 4805 ldr r0, [pc, #20] ; (115bc ) - 115a8: 4905 ldr r1, [pc, #20] ; (115c0 ) - 115aa: 4788 blx r1 - 115ac: e7fe b.n 115ac - 115ae: 46c0 nop ; (mov r8, r8) - 115b0: 00011159 .word 0x00011159 - 115b4: 00001415 .word 0x00001415 - 115b8: 000114e1 .word 0x000114e1 - 115bc: 00018804 .word 0x00018804 - 115c0: 0000141d .word 0x0000141d - -000115c4 : -{ - 115c4: b510 push {r4, lr} - 115c6: 0004 movs r4, r0 + 1160a: 0022 movs r2, r4 + 1160c: 2300 movs r3, #0 + 1160e: 4805 ldr r0, [pc, #20] ; (11624 ) + 11610: 4905 ldr r1, [pc, #20] ; (11628 ) + 11612: 4788 blx r1 + 11614: e7fe b.n 11614 + 11616: 46c0 nop ; (mov r8, r8) + 11618: 000111c1 .word 0x000111c1 + 1161c: 0000147d .word 0x0000147d + 11620: 00011549 .word 0x00011549 + 11624: 00018894 .word 0x00018894 + 11628: 00001485 .word 0x00001485 + +0001162c : +{ + 1162c: b510 push {r4, lr} + 1162e: 0004 movs r4, r0 task->last_run = lv_tick_get() - task->period - 1; - 115c8: 4b03 ldr r3, [pc, #12] ; (115d8 ) - 115ca: 4798 blx r3 - 115cc: 6823 ldr r3, [r4, #0] - 115ce: 43db mvns r3, r3 - 115d0: 1818 adds r0, r3, r0 - 115d2: 6060 str r0, [r4, #4] -} - 115d4: bd10 pop {r4, pc} - 115d6: 46c0 nop ; (mov r8, r8) - 115d8: 0000f725 .word 0x0000f725 - -000115dc : + 11630: 4b03 ldr r3, [pc, #12] ; (11640 ) + 11632: 4798 blx r3 + 11634: 6823 ldr r3, [r4, #0] + 11636: 43db mvns r3, r3 + 11638: 1818 adds r0, r3, r0 + 1163a: 6060 str r0, [r4, #4] +} + 1163c: bd10 pop {r4, pc} + 1163e: 46c0 nop ; (mov r8, r8) + 11640: 0000f78d .word 0x0000f78d + +00011644 : * After call it will point to the next UTF-8 char in 'txt'. * NULL to use txt[0] as index * @return the decoded Unicode character or 0 on invalid UTF-8 code */ static uint32_t lv_txt_utf8_next(const char * txt, uint32_t * i) { - 115dc: b5f0 push {r4, r5, r6, r7, lr} - 115de: b083 sub sp, #12 + 11644: b5f0 push {r4, r5, r6, r7, lr} + 11646: b083 sub sp, #12 * */ uint32_t result = 0; /*Dummy 'i' pointer is required*/ uint32_t i_tmp = 0; - 115e0: 2300 movs r3, #0 - 115e2: 9301 str r3, [sp, #4] + 11648: 2300 movs r3, #0 + 1164a: 9301 str r3, [sp, #4] if(i == NULL) i = &i_tmp; - 115e4: 2900 cmp r1, #0 - 115e6: d00a beq.n 115fe + 1164c: 2900 cmp r1, #0 + 1164e: d00a beq.n 11666 /*Normal ASCII*/ if((txt[*i] & 0x80) == 0) { - 115e8: 680b ldr r3, [r1, #0] - 115ea: 5cc2 ldrb r2, [r0, r3] - 115ec: b254 sxtb r4, r2 - 115ee: 2c00 cmp r4, #0 - 115f0: db07 blt.n 11602 + 11650: 680b ldr r3, [r1, #0] + 11652: 5cc2 ldrb r2, [r0, r3] + 11654: b254 sxtb r4, r2 + 11656: 2c00 cmp r4, #0 + 11658: db07 blt.n 1166a result = txt[*i]; - 115f2: 0014 movs r4, r2 + 1165a: 0014 movs r4, r2 (*i)++; - 115f4: 3301 adds r3, #1 - 115f6: 600b str r3, [r1, #0] + 1165c: 3301 adds r3, #1 + 1165e: 600b str r3, [r1, #0] else { (*i)++; /*Not UTF-8 char. Go the next.*/ } } return result; } - 115f8: 0020 movs r0, r4 - 115fa: b003 add sp, #12 - 115fc: bdf0 pop {r4, r5, r6, r7, pc} + 11660: 0020 movs r0, r4 + 11662: b003 add sp, #12 + 11664: bdf0 pop {r4, r5, r6, r7, pc} if(i == NULL) i = &i_tmp; - 115fe: a901 add r1, sp, #4 - 11600: e7f2 b.n 115e8 + 11666: a901 add r1, sp, #4 + 11668: e7f2 b.n 11650 if((txt[*i] & 0xE0) == 0xC0) { - 11602: 241f movs r4, #31 - 11604: 0015 movs r5, r2 - 11606: 43a5 bics r5, r4 - 11608: 2dc0 cmp r5, #192 ; 0xc0 - 1160a: d00d beq.n 11628 + 1166a: 241f movs r4, #31 + 1166c: 0015 movs r5, r2 + 1166e: 43a5 bics r5, r4 + 11670: 2dc0 cmp r5, #192 ; 0xc0 + 11672: d00d beq.n 11690 else if((txt[*i] & 0xF0) == 0xE0) { - 1160c: 240f movs r4, #15 - 1160e: 0015 movs r5, r2 - 11610: 43a5 bics r5, r4 - 11612: 2de0 cmp r5, #224 ; 0xe0 - 11614: d01c beq.n 11650 + 11674: 240f movs r4, #15 + 11676: 0015 movs r5, r2 + 11678: 43a5 bics r5, r4 + 1167a: 2de0 cmp r5, #224 ; 0xe0 + 1167c: d01c beq.n 116b8 else if((txt[*i] & 0xF8) == 0xF0) { - 11616: 2407 movs r4, #7 - 11618: 0015 movs r5, r2 - 1161a: 43a5 bics r5, r4 - 1161c: 2df0 cmp r5, #240 ; 0xf0 - 1161e: d036 beq.n 1168e + 1167e: 2407 movs r4, #7 + 11680: 0015 movs r5, r2 + 11682: 43a5 bics r5, r4 + 11684: 2df0 cmp r5, #240 ; 0xf0 + 11686: d036 beq.n 116f6 (*i)++; /*Not UTF-8 char. Go the next.*/ - 11620: 3301 adds r3, #1 - 11622: 600b str r3, [r1, #0] + 11688: 3301 adds r3, #1 + 1168a: 600b str r3, [r1, #0] uint32_t result = 0; - 11624: 2400 movs r4, #0 - 11626: e7e7 b.n 115f8 + 1168c: 2400 movs r4, #0 + 1168e: e7e7 b.n 11660 (*i)++; - 11628: 1c5c adds r4, r3, #1 - 1162a: 600c str r4, [r1, #0] + 11690: 1c5c adds r4, r3, #1 + 11692: 600c str r4, [r1, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 1162c: 5d05 ldrb r5, [r0, r4] - 1162e: 203f movs r0, #63 ; 0x3f - 11630: 002c movs r4, r5 - 11632: 4384 bics r4, r0 - 11634: 0020 movs r0, r4 - 11636: 2400 movs r4, #0 - 11638: 2880 cmp r0, #128 ; 0x80 - 1163a: d1dd bne.n 115f8 + 11694: 5d05 ldrb r5, [r0, r4] + 11696: 203f movs r0, #63 ; 0x3f + 11698: 002c movs r4, r5 + 1169a: 4384 bics r4, r0 + 1169c: 0020 movs r0, r4 + 1169e: 2400 movs r4, #0 + 116a0: 2880 cmp r0, #128 ; 0x80 + 116a2: d1dd bne.n 11660 result = (uint32_t)(txt[*i] & 0x1F) << 6; - 1163c: 0192 lsls r2, r2, #6 - 1163e: 24f8 movs r4, #248 ; 0xf8 - 11640: 00e4 lsls r4, r4, #3 - 11642: 4022 ands r2, r4 + 116a4: 0192 lsls r2, r2, #6 + 116a6: 24f8 movs r4, #248 ; 0xf8 + 116a8: 00e4 lsls r4, r4, #3 + 116aa: 4022 ands r2, r4 result += (txt[*i] & 0x3F); - 11644: 243f movs r4, #63 ; 0x3f - 11646: 402c ands r4, r5 - 11648: 18a4 adds r4, r4, r2 + 116ac: 243f movs r4, #63 ; 0x3f + 116ae: 402c ands r4, r5 + 116b0: 18a4 adds r4, r4, r2 (*i)++; - 1164a: 3302 adds r3, #2 - 1164c: 600b str r3, [r1, #0] - 1164e: e7d3 b.n 115f8 + 116b2: 3302 adds r3, #2 + 116b4: 600b str r3, [r1, #0] + 116b6: e7d3 b.n 11660 (*i)++; - 11650: 1c5c adds r4, r3, #1 - 11652: 600c str r4, [r1, #0] + 116b8: 1c5c adds r4, r3, #1 + 116ba: 600c str r4, [r1, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 11654: 5d05 ldrb r5, [r0, r4] - 11656: 243f movs r4, #63 ; 0x3f - 11658: 002e movs r6, r5 - 1165a: 43a6 bics r6, r4 - 1165c: 2400 movs r4, #0 - 1165e: 2e80 cmp r6, #128 ; 0x80 - 11660: d1ca bne.n 115f8 + 116bc: 5d05 ldrb r5, [r0, r4] + 116be: 243f movs r4, #63 ; 0x3f + 116c0: 002e movs r6, r5 + 116c2: 43a6 bics r6, r4 + 116c4: 2400 movs r4, #0 + 116c6: 2e80 cmp r6, #128 ; 0x80 + 116c8: d1ca bne.n 11660 (*i)++; - 11662: 1c9c adds r4, r3, #2 - 11664: 600c str r4, [r1, #0] + 116ca: 1c9c adds r4, r3, #2 + 116cc: 600c str r4, [r1, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 11666: 5d00 ldrb r0, [r0, r4] - 11668: 243f movs r4, #63 ; 0x3f - 1166a: 0006 movs r6, r0 - 1166c: 43a6 bics r6, r4 - 1166e: 2400 movs r4, #0 - 11670: 2e80 cmp r6, #128 ; 0x80 - 11672: d1c1 bne.n 115f8 + 116ce: 5d00 ldrb r0, [r0, r4] + 116d0: 243f movs r4, #63 ; 0x3f + 116d2: 0006 movs r6, r0 + 116d4: 43a6 bics r6, r4 + 116d6: 2400 movs r4, #0 + 116d8: 2e80 cmp r6, #128 ; 0x80 + 116da: d1c1 bne.n 11660 result = (uint32_t)(txt[*i] & 0x0F) << 12; - 11674: 0714 lsls r4, r2, #28 - 11676: 0c24 lsrs r4, r4, #16 + 116dc: 0714 lsls r4, r2, #28 + 116de: 0c24 lsrs r4, r4, #16 result += (txt[*i] & 0x3F); - 11678: 223f movs r2, #63 ; 0x3f - 1167a: 4010 ands r0, r2 - 1167c: 1824 adds r4, r4, r0 + 116e0: 223f movs r2, #63 ; 0x3f + 116e2: 4010 ands r0, r2 + 116e4: 1824 adds r4, r4, r0 result += (uint32_t)(txt[*i] & 0x3F) << 6; - 1167e: 01ad lsls r5, r5, #6 - 11680: 20fc movs r0, #252 ; 0xfc - 11682: 0100 lsls r0, r0, #4 - 11684: 4005 ands r5, r0 + 116e6: 01ad lsls r5, r5, #6 + 116e8: 20fc movs r0, #252 ; 0xfc + 116ea: 0100 lsls r0, r0, #4 + 116ec: 4005 ands r5, r0 result += (txt[*i] & 0x3F); - 11686: 192c adds r4, r5, r4 + 116ee: 192c adds r4, r5, r4 (*i)++; - 11688: 3303 adds r3, #3 - 1168a: 600b str r3, [r1, #0] - 1168c: e7b4 b.n 115f8 + 116f0: 3303 adds r3, #3 + 116f2: 600b str r3, [r1, #0] + 116f4: e7b4 b.n 11660 (*i)++; - 1168e: 1c5c adds r4, r3, #1 - 11690: 600c str r4, [r1, #0] + 116f6: 1c5c adds r4, r3, #1 + 116f8: 600c str r4, [r1, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 11692: 5d05 ldrb r5, [r0, r4] - 11694: 243f movs r4, #63 ; 0x3f - 11696: 002e movs r6, r5 - 11698: 43a6 bics r6, r4 - 1169a: 2400 movs r4, #0 - 1169c: 2e80 cmp r6, #128 ; 0x80 - 1169e: d1ab bne.n 115f8 + 116fa: 5d05 ldrb r5, [r0, r4] + 116fc: 243f movs r4, #63 ; 0x3f + 116fe: 002e movs r6, r5 + 11700: 43a6 bics r6, r4 + 11702: 2400 movs r4, #0 + 11704: 2e80 cmp r6, #128 ; 0x80 + 11706: d1ab bne.n 11660 (*i)++; - 116a0: 1c9c adds r4, r3, #2 - 116a2: 600c str r4, [r1, #0] + 11708: 1c9c adds r4, r3, #2 + 1170a: 600c str r4, [r1, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 116a4: 5d06 ldrb r6, [r0, r4] - 116a6: 243f movs r4, #63 ; 0x3f - 116a8: 0037 movs r7, r6 - 116aa: 43a7 bics r7, r4 - 116ac: 2400 movs r4, #0 - 116ae: 2f80 cmp r7, #128 ; 0x80 - 116b0: d1a2 bne.n 115f8 + 1170c: 5d06 ldrb r6, [r0, r4] + 1170e: 243f movs r4, #63 ; 0x3f + 11710: 0037 movs r7, r6 + 11712: 43a7 bics r7, r4 + 11714: 2400 movs r4, #0 + 11716: 2f80 cmp r7, #128 ; 0x80 + 11718: d1a2 bne.n 11660 (*i)++; - 116b2: 1cdc adds r4, r3, #3 - 116b4: 600c str r4, [r1, #0] + 1171a: 1cdc adds r4, r3, #3 + 1171c: 600c str r4, [r1, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 116b6: 5d00 ldrb r0, [r0, r4] - 116b8: 243f movs r4, #63 ; 0x3f - 116ba: 0007 movs r7, r0 - 116bc: 43a7 bics r7, r4 - 116be: 2400 movs r4, #0 - 116c0: 2f80 cmp r7, #128 ; 0x80 - 116c2: d199 bne.n 115f8 + 1171e: 5d00 ldrb r0, [r0, r4] + 11720: 243f movs r4, #63 ; 0x3f + 11722: 0007 movs r7, r0 + 11724: 43a7 bics r7, r4 + 11726: 2400 movs r4, #0 + 11728: 2f80 cmp r7, #128 ; 0x80 + 1172a: d199 bne.n 11660 result = (uint32_t)(txt[*i] & 0x07) << 18; - 116c4: 0492 lsls r2, r2, #18 - 116c6: 24e0 movs r4, #224 ; 0xe0 - 116c8: 0364 lsls r4, r4, #13 - 116ca: 4022 ands r2, r4 + 1172c: 0492 lsls r2, r2, #18 + 1172e: 24e0 movs r4, #224 ; 0xe0 + 11730: 0364 lsls r4, r4, #13 + 11732: 4022 ands r2, r4 result += (uint32_t)(txt[*i] & 0x3F) << 12; - 116cc: 032c lsls r4, r5, #12 - 116ce: 25fc movs r5, #252 ; 0xfc - 116d0: 02ad lsls r5, r5, #10 - 116d2: 402c ands r4, r5 - 116d4: 4322 orrs r2, r4 + 11734: 032c lsls r4, r5, #12 + 11736: 25fc movs r5, #252 ; 0xfc + 11738: 02ad lsls r5, r5, #10 + 1173a: 402c ands r4, r5 + 1173c: 4322 orrs r2, r4 result += (uint32_t)(txt[*i] & 0x3F) << 6; - 116d6: 01b4 lsls r4, r6, #6 - 116d8: 26fc movs r6, #252 ; 0xfc - 116da: 0136 lsls r6, r6, #4 - 116dc: 4034 ands r4, r6 + 1173e: 01b4 lsls r4, r6, #6 + 11740: 26fc movs r6, #252 ; 0xfc + 11742: 0136 lsls r6, r6, #4 + 11744: 4034 ands r4, r6 result += txt[*i] & 0x3F; - 116de: 253f movs r5, #63 ; 0x3f - 116e0: 4028 ands r0, r5 - 116e2: 1824 adds r4, r4, r0 - 116e4: 18a4 adds r4, r4, r2 + 11746: 253f movs r5, #63 ; 0x3f + 11748: 4028 ands r0, r5 + 1174a: 1824 adds r4, r4, r0 + 1174c: 18a4 adds r4, r4, r2 (*i)++; - 116e6: 3304 adds r3, #4 - 116e8: 600b str r3, [r1, #0] - 116ea: e785 b.n 115f8 + 1174e: 3304 adds r3, #4 + 11750: 600b str r3, [r1, #0] + 11752: e785 b.n 11660 -000116ec : +00011754 : * @param txt a '\0' terminated UTF-8 string * @param byte_id byte index * @return character index of the letter at 'byte_id'th position */ static uint32_t lv_txt_utf8_get_char_id(const char * txt, uint32_t byte_id) { - 116ec: b5f0 push {r4, r5, r6, r7, lr} - 116ee: b083 sub sp, #12 - 116f0: 0006 movs r6, r0 - 116f2: 000d movs r5, r1 + 11754: b5f0 push {r4, r5, r6, r7, lr} + 11756: b083 sub sp, #12 + 11758: 0006 movs r6, r0 + 1175a: 000d movs r5, r1 uint32_t i = 0; - 116f4: 2300 movs r3, #0 - 116f6: 9301 str r3, [sp, #4] + 1175c: 2300 movs r3, #0 + 1175e: 9301 str r3, [sp, #4] uint32_t char_cnt = 0; while(i < byte_id) { - 116f8: 2900 cmp r1, #0 - 116fa: d00c beq.n 11716 - 116fc: 2400 movs r4, #0 + 11760: 2900 cmp r1, #0 + 11762: d00c beq.n 1177e + 11764: 2400 movs r4, #0 _lv_txt_encoded_next(txt, &i); /*'i' points to the next letter so use the prev. value*/ - 116fe: 4f07 ldr r7, [pc, #28] ; (1171c ) - 11700: a901 add r1, sp, #4 - 11702: 0030 movs r0, r6 - 11704: 683b ldr r3, [r7, #0] - 11706: 4798 blx r3 + 11766: 4f07 ldr r7, [pc, #28] ; (11784 ) + 11768: a901 add r1, sp, #4 + 1176a: 0030 movs r0, r6 + 1176c: 683b ldr r3, [r7, #0] + 1176e: 4798 blx r3 char_cnt++; - 11708: 3401 adds r4, #1 + 11770: 3401 adds r4, #1 while(i < byte_id) { - 1170a: 9b01 ldr r3, [sp, #4] - 1170c: 42ab cmp r3, r5 - 1170e: d3f7 bcc.n 11700 + 11772: 9b01 ldr r3, [sp, #4] + 11774: 42ab cmp r3, r5 + 11776: d3f7 bcc.n 11768 } return char_cnt; } - 11710: 0020 movs r0, r4 - 11712: b003 add sp, #12 - 11714: bdf0 pop {r4, r5, r6, r7, pc} + 11778: 0020 movs r0, r4 + 1177a: b003 add sp, #12 + 1177c: bdf0 pop {r4, r5, r6, r7, pc} uint32_t char_cnt = 0; - 11716: 000c movs r4, r1 + 1177e: 000c movs r4, r1 return char_cnt; - 11718: e7fa b.n 11710 - 1171a: 46c0 nop ; (mov r8, r8) - 1171c: 20000058 .word 0x20000058 + 11780: e7fa b.n 11778 + 11782: 46c0 nop ; (mov r8, r8) + 11784: 20000058 .word 0x20000058 -00011720 <_lv_txt_is_cmd>: +00011788 <_lv_txt_is_cmd>: if(c == (uint32_t)LV_TXT_COLOR_CMD[0]) { - 11720: 2923 cmp r1, #35 ; 0x23 - 11722: d005 beq.n 11730 <_lv_txt_is_cmd+0x10> + 11788: 2923 cmp r1, #35 ; 0x23 + 1178a: d005 beq.n 11798 <_lv_txt_is_cmd+0x10> if(*state == LV_TXT_CMD_STATE_PAR) { - 11724: 7802 ldrb r2, [r0, #0] + 1178c: 7802 ldrb r2, [r0, #0] bool ret = false; - 11726: 2300 movs r3, #0 + 1178e: 2300 movs r3, #0 if(*state == LV_TXT_CMD_STATE_PAR) { - 11728: 2a01 cmp r2, #1 - 1172a: d012 beq.n 11752 <_lv_txt_is_cmd+0x32> + 11790: 2a01 cmp r2, #1 + 11792: d012 beq.n 117ba <_lv_txt_is_cmd+0x32> } - 1172c: 0018 movs r0, r3 - 1172e: 4770 bx lr + 11794: 0018 movs r0, r3 + 11796: 4770 bx lr if(*state == LV_TXT_CMD_STATE_WAIT) { /*Start char*/ - 11730: 7802 ldrb r2, [r0, #0] - 11732: 2a00 cmp r2, #0 - 11734: d102 bne.n 1173c <_lv_txt_is_cmd+0x1c> + 11798: 7802 ldrb r2, [r0, #0] + 1179a: 2a00 cmp r2, #0 + 1179c: d102 bne.n 117a4 <_lv_txt_is_cmd+0x1c> *state = LV_TXT_CMD_STATE_PAR; - 11736: 2301 movs r3, #1 - 11738: 7003 strb r3, [r0, #0] - 1173a: e7f7 b.n 1172c <_lv_txt_is_cmd+0xc> + 1179e: 2301 movs r3, #1 + 117a0: 7003 strb r3, [r0, #0] + 117a2: e7f7 b.n 11794 <_lv_txt_is_cmd+0xc> else if(*state == LV_TXT_CMD_STATE_PAR) { - 1173c: 2a01 cmp r2, #1 - 1173e: d005 beq.n 1174c <_lv_txt_is_cmd+0x2c> + 117a4: 2a01 cmp r2, #1 + 117a6: d005 beq.n 117b4 <_lv_txt_is_cmd+0x2c> bool ret = false; - 11740: 2300 movs r3, #0 + 117a8: 2300 movs r3, #0 else if(*state == LV_TXT_CMD_STATE_IN) { - 11742: 2a02 cmp r2, #2 - 11744: d1f2 bne.n 1172c <_lv_txt_is_cmd+0xc> + 117aa: 2a02 cmp r2, #2 + 117ac: d1f2 bne.n 11794 <_lv_txt_is_cmd+0xc> *state = LV_TXT_CMD_STATE_WAIT; - 11746: 7003 strb r3, [r0, #0] + 117ae: 7003 strb r3, [r0, #0] ret = true; - 11748: 3301 adds r3, #1 - 1174a: e7ef b.n 1172c <_lv_txt_is_cmd+0xc> + 117b0: 3301 adds r3, #1 + 117b2: e7ef b.n 11794 <_lv_txt_is_cmd+0xc> *state = LV_TXT_CMD_STATE_WAIT; - 1174c: 2300 movs r3, #0 - 1174e: 7003 strb r3, [r0, #0] - 11750: e7ec b.n 1172c <_lv_txt_is_cmd+0xc> + 117b4: 2300 movs r3, #0 + 117b6: 7003 strb r3, [r0, #0] + 117b8: e7ec b.n 11794 <_lv_txt_is_cmd+0xc> ret = true; - 11752: 3301 adds r3, #1 + 117ba: 3301 adds r3, #1 if(c == ' ') { - 11754: 2920 cmp r1, #32 - 11756: d1e9 bne.n 1172c <_lv_txt_is_cmd+0xc> + 117bc: 2920 cmp r1, #32 + 117be: d1e9 bne.n 11794 <_lv_txt_is_cmd+0xc> *state = LV_TXT_CMD_STATE_IN; /*After the parameter the text is in the command*/ - 11758: 3301 adds r3, #1 - 1175a: 7003 strb r3, [r0, #0] + 117c0: 3301 adds r3, #1 + 117c2: 7003 strb r3, [r0, #0] ret = true; - 1175c: 3b01 subs r3, #1 - 1175e: e7e5 b.n 1172c <_lv_txt_is_cmd+0xc> - -00011760 <_lv_txt_get_next_line>: -{ - 11760: b5f0 push {r4, r5, r6, r7, lr} - 11762: 46de mov lr, fp - 11764: 4657 mov r7, sl - 11766: 464e mov r6, r9 - 11768: 4645 mov r5, r8 - 1176a: b5e0 push {r5, r6, r7, lr} - 1176c: b091 sub sp, #68 ; 0x44 - 1176e: 9007 str r0, [sp, #28] - 11770: 9103 str r1, [sp, #12] - 11772: 4692 mov sl, r2 - 11774: 9305 str r3, [sp, #20] - 11776: ab1a add r3, sp, #104 ; 0x68 - 11778: 781b ldrb r3, [r3, #0] - 1177a: 001a movs r2, r3 - 1177c: 930a str r3, [sp, #40] ; 0x28 + 117c4: 3b01 subs r3, #1 + 117c6: e7e5 b.n 11794 <_lv_txt_is_cmd+0xc> + +000117c8 <_lv_txt_get_next_line>: +{ + 117c8: b5f0 push {r4, r5, r6, r7, lr} + 117ca: 46de mov lr, fp + 117cc: 4657 mov r7, sl + 117ce: 464e mov r6, r9 + 117d0: 4645 mov r5, r8 + 117d2: b5e0 push {r5, r6, r7, lr} + 117d4: b091 sub sp, #68 ; 0x44 + 117d6: 9007 str r0, [sp, #28] + 117d8: 9103 str r1, [sp, #12] + 117da: 4692 mov sl, r2 + 117dc: 9305 str r3, [sp, #20] + 117de: ab1a add r3, sp, #104 ; 0x68 + 117e0: 781b ldrb r3, [r3, #0] + 117e2: 001a movs r2, r3 + 117e4: 930a str r3, [sp, #40] ; 0x28 if(txt == NULL) return 0; - 1177e: 2800 cmp r0, #0 - 11780: d100 bne.n 11784 <_lv_txt_get_next_line+0x24> - 11782: e10b b.n 1199c <_lv_txt_get_next_line+0x23c> + 117e6: 2800 cmp r0, #0 + 117e8: d100 bne.n 117ec <_lv_txt_get_next_line+0x24> + 117ea: e10b b.n 11a04 <_lv_txt_get_next_line+0x23c> if(font == NULL) return 0; - 11784: 2900 cmp r1, #0 - 11786: d100 bne.n 1178a <_lv_txt_get_next_line+0x2a> - 11788: e10a b.n 119a0 <_lv_txt_get_next_line+0x240> + 117ec: 2900 cmp r1, #0 + 117ee: d100 bne.n 117f2 <_lv_txt_get_next_line+0x2a> + 117f0: e10a b.n 11a08 <_lv_txt_get_next_line+0x240> if((flag & LV_TXT_FLAG_EXPAND) || (flag & LV_TXT_FLAG_FIT)) { - 1178a: 2312 movs r3, #18 - 1178c: 4213 tst r3, r2 - 1178e: d016 beq.n 117be <_lv_txt_get_next_line+0x5e> + 117f2: 2312 movs r3, #18 + 117f4: 4213 tst r3, r2 + 117f6: d016 beq.n 11826 <_lv_txt_get_next_line+0x5e> for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 11790: 0002 movs r2, r0 - 11792: 7803 ldrb r3, [r0, #0] - 11794: 2b0a cmp r3, #10 - 11796: d100 bne.n 1179a <_lv_txt_get_next_line+0x3a> - 11798: e104 b.n 119a4 <_lv_txt_get_next_line+0x244> - 1179a: 2b0d cmp r3, #13 - 1179c: d100 bne.n 117a0 <_lv_txt_get_next_line+0x40> - 1179e: e10b b.n 119b8 <_lv_txt_get_next_line+0x258> - 117a0: 2b00 cmp r3, #0 - 117a2: d100 bne.n 117a6 <_lv_txt_get_next_line+0x46> - 117a4: e10a b.n 119bc <_lv_txt_get_next_line+0x25c> - 117a6: 2000 movs r0, #0 - 117a8: 3001 adds r0, #1 - 117aa: 5c13 ldrb r3, [r2, r0] - 117ac: 2b0a cmp r3, #10 - 117ae: d100 bne.n 117b2 <_lv_txt_get_next_line+0x52> - 117b0: e0f9 b.n 119a6 <_lv_txt_get_next_line+0x246> - 117b2: 2b0d cmp r3, #13 - 117b4: d100 bne.n 117b8 <_lv_txt_get_next_line+0x58> - 117b6: e0f6 b.n 119a6 <_lv_txt_get_next_line+0x246> - 117b8: 2b00 cmp r3, #0 - 117ba: d1f5 bne.n 117a8 <_lv_txt_get_next_line+0x48> - 117bc: e0f4 b.n 119a8 <_lv_txt_get_next_line+0x248> - 117be: 2302 movs r3, #2 - 117c0: 9a0a ldr r2, [sp, #40] ; 0x28 - 117c2: 401a ands r2, r3 - 117c4: 920b str r2, [sp, #44] ; 0x2c + 117f8: 0002 movs r2, r0 + 117fa: 7803 ldrb r3, [r0, #0] + 117fc: 2b0a cmp r3, #10 + 117fe: d100 bne.n 11802 <_lv_txt_get_next_line+0x3a> + 11800: e104 b.n 11a0c <_lv_txt_get_next_line+0x244> + 11802: 2b0d cmp r3, #13 + 11804: d100 bne.n 11808 <_lv_txt_get_next_line+0x40> + 11806: e10b b.n 11a20 <_lv_txt_get_next_line+0x258> + 11808: 2b00 cmp r3, #0 + 1180a: d100 bne.n 1180e <_lv_txt_get_next_line+0x46> + 1180c: e10a b.n 11a24 <_lv_txt_get_next_line+0x25c> + 1180e: 2000 movs r0, #0 + 11810: 3001 adds r0, #1 + 11812: 5c13 ldrb r3, [r2, r0] + 11814: 2b0a cmp r3, #10 + 11816: d100 bne.n 1181a <_lv_txt_get_next_line+0x52> + 11818: e0f9 b.n 11a0e <_lv_txt_get_next_line+0x246> + 1181a: 2b0d cmp r3, #13 + 1181c: d100 bne.n 11820 <_lv_txt_get_next_line+0x58> + 1181e: e0f6 b.n 11a0e <_lv_txt_get_next_line+0x246> + 11820: 2b00 cmp r3, #0 + 11822: d1f5 bne.n 11810 <_lv_txt_get_next_line+0x48> + 11824: e0f4 b.n 11a10 <_lv_txt_get_next_line+0x248> + 11826: 2302 movs r3, #2 + 11828: 9a0a ldr r2, [sp, #40] ; 0x28 + 1182a: 401a ands r2, r3 + 1182c: 920b str r2, [sp, #44] ; 0x2c if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 117c6: d001 beq.n 117cc <_lv_txt_get_next_line+0x6c> - 117c8: 4b7d ldr r3, [pc, #500] ; (119c0 <_lv_txt_get_next_line+0x260>) - 117ca: 9305 str r3, [sp, #20] + 1182e: d001 beq.n 11834 <_lv_txt_get_next_line+0x6c> + 11830: 4b7d ldr r3, [pc, #500] ; (11a28 <_lv_txt_get_next_line+0x260>) + 11832: 9305 str r3, [sp, #20] lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 117cc: 2300 movs r3, #0 - 117ce: 220f movs r2, #15 - 117d0: a90c add r1, sp, #48 ; 0x30 - 117d2: 468c mov ip, r1 - 117d4: 4462 add r2, ip - 117d6: 7013 strb r3, [r2, #0] + 11834: 2300 movs r3, #0 + 11836: 220f movs r2, #15 + 11838: a90c add r1, sp, #48 ; 0x30 + 1183a: 468c mov ip, r1 + 1183c: 4462 add r2, ip + 1183e: 7013 strb r3, [r2, #0] uint32_t i = 0; /* Iterating index into txt */ - 117d8: 930e str r3, [sp, #56] ; 0x38 + 11840: 930e str r3, [sp, #56] ; 0x38 letter_next = _lv_txt_encoded_next(txt, &i_next_next); - 117da: 4b7a ldr r3, [pc, #488] ; (119c4 <_lv_txt_get_next_line+0x264>) - 117dc: 4699 mov r9, r3 + 11842: 4b7a ldr r3, [pc, #488] ; (11a2c <_lv_txt_get_next_line+0x264>) + 11844: 4699 mov r9, r3 { uint8_t i; bool ret = false; /*Compare the letter to TXT_BREAK_CHARS*/ for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) { - 117de: 4f7a ldr r7, [pc, #488] ; (119c8 <_lv_txt_get_next_line+0x268>) - 117e0: 4653 mov r3, sl - 117e2: 9304 str r3, [sp, #16] + 11846: 4f7a ldr r7, [pc, #488] ; (11a30 <_lv_txt_get_next_line+0x268>) + 11848: 4653 mov r3, sl + 1184a: 9304 str r3, [sp, #16] while(txt[i] != '\0' && max_width > 0) { - 117e4: e083 b.n 118ee <_lv_txt_get_next_line+0x18e> + 1184c: e083 b.n 11956 <_lv_txt_get_next_line+0x18e> letter_w = lv_font_get_glyph_width(font, letter, letter_next); - 117e6: 9a00 ldr r2, [sp, #0] - 117e8: 0021 movs r1, r4 - 117ea: 9803 ldr r0, [sp, #12] - 117ec: 4b77 ldr r3, [pc, #476] ; (119cc <_lv_txt_get_next_line+0x26c>) - 117ee: 4798 blx r3 + 1184e: 9a00 ldr r2, [sp, #0] + 11850: 0021 movs r1, r4 + 11852: 9803 ldr r0, [sp, #12] + 11854: 4b77 ldr r3, [pc, #476] ; (11a34 <_lv_txt_get_next_line+0x26c>) + 11856: 4798 blx r3 cur_w += letter_w; - 117f0: 1945 adds r5, r0, r5 - 117f2: b2ad uxth r5, r5 + 11858: 1945 adds r5, r0, r5 + 1185a: b2ad uxth r5, r5 if(letter_w > 0) { - 117f4: b200 sxth r0, r0 - 117f6: 2800 cmp r0, #0 - 117f8: dd03 ble.n 11802 <_lv_txt_get_next_line+0xa2> + 1185c: b200 sxth r0, r0 + 1185e: 2800 cmp r0, #0 + 11860: dd03 ble.n 1186a <_lv_txt_get_next_line+0xa2> cur_w += letter_space; - 117fa: 9b04 ldr r3, [sp, #16] - 117fc: 469c mov ip, r3 - 117fe: 4465 add r5, ip - 11800: b2ad uxth r5, r5 - 11802: b22d sxth r5, r5 + 11862: 9b04 ldr r3, [sp, #16] + 11864: 469c mov ip, r3 + 11866: 4465 add r5, ip + 11868: b2ad uxth r5, r5 + 1186a: b22d sxth r5, r5 if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) { - 11804: 4643 mov r3, r8 - 11806: 3301 adds r3, #1 - 11808: d039 beq.n 1187e <_lv_txt_get_next_line+0x11e> + 1186c: 4643 mov r3, r8 + 1186e: 3301 adds r3, #1 + 11870: d039 beq.n 118e6 <_lv_txt_get_next_line+0x11e> if(letter == '\n' || letter == '\r' || is_break_char(letter)) { - 1180a: 0022 movs r2, r4 - 1180c: 3a0a subs r2, #10 - 1180e: 2a16 cmp r2, #22 - 11810: d83c bhi.n 1188c <_lv_txt_get_next_line+0x12c> - 11812: 4b6f ldr r3, [pc, #444] ; (119d0 <_lv_txt_get_next_line+0x270>) - 11814: 40d3 lsrs r3, r2 - 11816: 2201 movs r2, #1 - 11818: 421a tst r2, r3 - 1181a: d13a bne.n 11892 <_lv_txt_get_next_line+0x132> - 1181c: 2301 movs r3, #1 - 1181e: 322b adds r2, #43 ; 0x2b + 11872: 0022 movs r2, r4 + 11874: 3a0a subs r2, #10 + 11876: 2a16 cmp r2, #22 + 11878: d83c bhi.n 118f4 <_lv_txt_get_next_line+0x12c> + 1187a: 4b6f ldr r3, [pc, #444] ; (11a38 <_lv_txt_get_next_line+0x270>) + 1187c: 40d3 lsrs r3, r2 + 1187e: 2201 movs r2, #1 + 11880: 421a tst r2, r3 + 11882: d13a bne.n 118fa <_lv_txt_get_next_line+0x132> + 11884: 2301 movs r3, #1 + 11886: 322b adds r2, #43 ; 0x2b if(letter == (uint32_t)LV_TXT_BREAK_CHARS[i]) { - 11820: 4294 cmp r4, r2 - 11822: d038 beq.n 11896 <_lv_txt_get_next_line+0x136> + 11888: 4294 cmp r4, r2 + 1188a: d038 beq.n 118fe <_lv_txt_get_next_line+0x136> for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) { - 11824: 3301 adds r3, #1 - 11826: b2db uxtb r3, r3 - 11828: 5cfa ldrb r2, [r7, r3] - 1182a: 2a00 cmp r2, #0 - 1182c: d1f8 bne.n 11820 <_lv_txt_get_next_line+0xc0> + 1188c: 3301 adds r3, #1 + 1188e: b2db uxtb r3, r3 + 11890: 5cfa ldrb r2, [r7, r3] + 11892: 2a00 cmp r2, #0 + 11894: d1f8 bne.n 11888 <_lv_txt_get_next_line+0xc0> if(word_w_ptr != NULL && break_index == NO_BREAK_FOUND) *word_w_ptr = cur_w; - 1182e: 4643 mov r3, r8 - 11830: 3301 adds r3, #1 - 11832: d100 bne.n 11836 <_lv_txt_get_next_line+0xd6> - 11834: e08d b.n 11952 <_lv_txt_get_next_line+0x1f2> + 11896: 4643 mov r3, r8 + 11898: 3301 adds r3, #1 + 1189a: d100 bne.n 1189e <_lv_txt_get_next_line+0xd6> + 1189c: e08d b.n 119ba <_lv_txt_get_next_line+0x1f2> i = i_next; - 11836: 9e0c ldr r6, [sp, #48] ; 0x30 + 1189e: 9e0c ldr r6, [sp, #48] ; 0x30 i_next = i_next_next; - 11838: 9b0d ldr r3, [sp, #52] ; 0x34 - 1183a: 930c str r3, [sp, #48] ; 0x30 + 118a0: 9b0d ldr r3, [sp, #52] ; 0x34 + 118a2: 930c str r3, [sp, #48] ; 0x30 letter_next = _lv_txt_encoded_next(txt, &i_next_next); - 1183c: 9b02 ldr r3, [sp, #8] - 1183e: 9301 str r3, [sp, #4] - 11840: 9c00 ldr r4, [sp, #0] + 118a4: 9b02 ldr r3, [sp, #8] + 118a6: 9301 str r3, [sp, #4] + 118a8: 9c00 ldr r4, [sp, #0] while(txt[i] != '\0') { - 11842: 4653 mov r3, sl - 11844: 5d9b ldrb r3, [r3, r6] - 11846: 2b00 cmp r3, #0 - 11848: d100 bne.n 1184c <_lv_txt_get_next_line+0xec> - 1184a: e084 b.n 11956 <_lv_txt_get_next_line+0x1f6> + 118aa: 4653 mov r3, sl + 118ac: 5d9b ldrb r3, [r3, r6] + 118ae: 2b00 cmp r3, #0 + 118b0: d100 bne.n 118b4 <_lv_txt_get_next_line+0xec> + 118b2: e084 b.n 119be <_lv_txt_get_next_line+0x1f6> letter_next = _lv_txt_encoded_next(txt, &i_next_next); - 1184c: a90d add r1, sp, #52 ; 0x34 - 1184e: 4650 mov r0, sl - 11850: 464b mov r3, r9 - 11852: 681b ldr r3, [r3, #0] - 11854: 4798 blx r3 - 11856: 9000 str r0, [sp, #0] + 118b4: a90d add r1, sp, #52 ; 0x34 + 118b6: 4650 mov r0, sl + 118b8: 464b mov r3, r9 + 118ba: 681b ldr r3, [r3, #0] + 118bc: 4798 blx r3 + 118be: 9000 str r0, [sp, #0] word_len++; - 11858: 9b01 ldr r3, [sp, #4] - 1185a: 3301 adds r3, #1 - 1185c: 9302 str r3, [sp, #8] + 118c0: 9b01 ldr r3, [sp, #4] + 118c2: 3301 adds r3, #1 + 118c4: 9302 str r3, [sp, #8] if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 1185e: 465b mov r3, fp - 11860: 2b00 cmp r3, #0 - 11862: d0c0 beq.n 117e6 <_lv_txt_get_next_line+0x86> + 118c6: 465b mov r3, fp + 118c8: 2b00 cmp r3, #0 + 118ca: d0c0 beq.n 1184e <_lv_txt_get_next_line+0x86> if(_lv_txt_is_cmd(cmd_state, letter) != false) { - 11864: 0021 movs r1, r4 - 11866: 200f movs r0, #15 - 11868: ab0c add r3, sp, #48 ; 0x30 - 1186a: 469c mov ip, r3 - 1186c: 4460 add r0, ip - 1186e: 4b59 ldr r3, [pc, #356] ; (119d4 <_lv_txt_get_next_line+0x274>) - 11870: 4798 blx r3 - 11872: 2800 cmp r0, #0 - 11874: d0b7 beq.n 117e6 <_lv_txt_get_next_line+0x86> + 118cc: 0021 movs r1, r4 + 118ce: 200f movs r0, #15 + 118d0: ab0c add r3, sp, #48 ; 0x30 + 118d2: 469c mov ip, r3 + 118d4: 4460 add r0, ip + 118d6: 4b59 ldr r3, [pc, #356] ; (11a3c <_lv_txt_get_next_line+0x274>) + 118d8: 4798 blx r3 + 118da: 2800 cmp r0, #0 + 118dc: d0b7 beq.n 1184e <_lv_txt_get_next_line+0x86> i = i_next; - 11876: 9e0c ldr r6, [sp, #48] ; 0x30 + 118de: 9e0c ldr r6, [sp, #48] ; 0x30 i_next = i_next_next; - 11878: 9b0d ldr r3, [sp, #52] ; 0x34 - 1187a: 930c str r3, [sp, #48] ; 0x30 - 1187c: e7de b.n 1183c <_lv_txt_get_next_line+0xdc> + 118e0: 9b0d ldr r3, [sp, #52] ; 0x34 + 118e2: 930c str r3, [sp, #48] ; 0x30 + 118e4: e7de b.n 118a4 <_lv_txt_get_next_line+0xdc> if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) { - 1187e: 9b04 ldr r3, [sp, #16] - 11880: 1aeb subs r3, r5, r3 - 11882: 9a08 ldr r2, [sp, #32] - 11884: 4293 cmp r3, r2 - 11886: ddc0 ble.n 1180a <_lv_txt_get_next_line+0xaa> - 11888: 46b0 mov r8, r6 - 1188a: e7be b.n 1180a <_lv_txt_get_next_line+0xaa> + 118e6: 9b04 ldr r3, [sp, #16] + 118e8: 1aeb subs r3, r5, r3 + 118ea: 9a08 ldr r2, [sp, #32] + 118ec: 4293 cmp r3, r2 + 118ee: ddc0 ble.n 11872 <_lv_txt_get_next_line+0xaa> + 118f0: 46b0 mov r8, r6 + 118f2: e7be b.n 11872 <_lv_txt_get_next_line+0xaa> if(letter == '\n' || letter == '\r' || is_break_char(letter)) { - 1188c: 2301 movs r3, #1 - 1188e: 222c movs r2, #44 ; 0x2c - 11890: e7c6 b.n 11820 <_lv_txt_get_next_line+0xc0> - 11892: 46b2 mov sl, r6 - 11894: e000 b.n 11898 <_lv_txt_get_next_line+0x138> - 11896: 46b2 mov sl, r6 + 118f4: 2301 movs r3, #1 + 118f6: 222c movs r2, #44 ; 0x2c + 118f8: e7c6 b.n 11888 <_lv_txt_get_next_line+0xc0> + 118fa: 46b2 mov sl, r6 + 118fc: e000 b.n 11900 <_lv_txt_get_next_line+0x138> + 118fe: 46b2 mov sl, r6 if(i == 0 && break_index == NO_BREAK_FOUND && word_w_ptr != NULL) *word_w_ptr = cur_w; - 11898: 4653 mov r3, sl - 1189a: 2b00 cmp r3, #0 - 1189c: d15c bne.n 11958 <_lv_txt_get_next_line+0x1f8> - 1189e: 4643 mov r3, r8 - 118a0: 3301 adds r3, #1 - 118a2: d15c bne.n 1195e <_lv_txt_get_next_line+0x1fe> - 118a4: 9506 str r5, [sp, #24] + 11900: 4653 mov r3, sl + 11902: 2b00 cmp r3, #0 + 11904: d15c bne.n 119c0 <_lv_txt_get_next_line+0x1f8> + 11906: 4643 mov r3, r8 + 11908: 3301 adds r3, #1 + 1190a: d15c bne.n 119c6 <_lv_txt_get_next_line+0x1fe> + 1190c: 9506 str r5, [sp, #24] if(word_len == 0 || (letter == '\r' && letter_next == '\n')) i = i_next; - 118a6: 9b01 ldr r3, [sp, #4] - 118a8: 2b00 cmp r3, #0 - 118aa: d004 beq.n 118b6 <_lv_txt_get_next_line+0x156> - 118ac: 2c0d cmp r4, #13 - 118ae: d104 bne.n 118ba <_lv_txt_get_next_line+0x15a> - 118b0: 9b00 ldr r3, [sp, #0] - 118b2: 2b0a cmp r3, #10 - 118b4: d101 bne.n 118ba <_lv_txt_get_next_line+0x15a> - 118b6: 9b0c ldr r3, [sp, #48] ; 0x30 - 118b8: 469a mov sl, r3 + 1190e: 9b01 ldr r3, [sp, #4] + 11910: 2b00 cmp r3, #0 + 11912: d004 beq.n 1191e <_lv_txt_get_next_line+0x156> + 11914: 2c0d cmp r4, #13 + 11916: d104 bne.n 11922 <_lv_txt_get_next_line+0x15a> + 11918: 9b00 ldr r3, [sp, #0] + 1191a: 2b0a cmp r3, #10 + 1191c: d101 bne.n 11922 <_lv_txt_get_next_line+0x15a> + 1191e: 9b0c ldr r3, [sp, #48] ; 0x30 + 11920: 469a mov sl, r3 return i; - 118ba: 4653 mov r3, sl - 118bc: 466a mov r2, sp - 118be: 8013 strh r3, [r2, #0] - 118c0: 8816 ldrh r6, [r2, #0] + 11922: 4653 mov r3, sl + 11924: 466a mov r2, sp + 11926: 8013 strh r3, [r2, #0] + 11928: 8816 ldrh r6, [r2, #0] max_width -= word_w; - 118c2: 9b05 ldr r3, [sp, #20] - 118c4: 9a06 ldr r2, [sp, #24] - 118c6: 1a9b subs r3, r3, r2 - 118c8: b21b sxth r3, r3 - 118ca: 9305 str r3, [sp, #20] + 1192a: 9b05 ldr r3, [sp, #20] + 1192c: 9a06 ldr r2, [sp, #24] + 1192e: 1a9b subs r3, r3, r2 + 11930: b21b sxth r3, r3 + 11932: 9305 str r3, [sp, #20] if(advance == 0) { - 118cc: 2e00 cmp r6, #0 - 118ce: d049 beq.n 11964 <_lv_txt_get_next_line+0x204> + 11934: 2e00 cmp r6, #0 + 11936: d049 beq.n 119cc <_lv_txt_get_next_line+0x204> i += advance; - 118d0: 9b0e ldr r3, [sp, #56] ; 0x38 - 118d2: 469c mov ip, r3 - 118d4: 4466 add r6, ip - 118d6: 960e str r6, [sp, #56] ; 0x38 + 11938: 9b0e ldr r3, [sp, #56] ; 0x38 + 1193a: 469c mov ip, r3 + 1193c: 4466 add r6, ip + 1193e: 960e str r6, [sp, #56] ; 0x38 if(txt[0] == '\n' || txt[0] == '\r') break; - 118d8: 9a07 ldr r2, [sp, #28] - 118da: 7813 ldrb r3, [r2, #0] - 118dc: 2b0a cmp r3, #10 - 118de: d051 beq.n 11984 <_lv_txt_get_next_line+0x224> - 118e0: 2b0d cmp r3, #13 - 118e2: d04f beq.n 11984 <_lv_txt_get_next_line+0x224> + 11940: 9a07 ldr r2, [sp, #28] + 11942: 7813 ldrb r3, [r2, #0] + 11944: 2b0a cmp r3, #10 + 11946: d051 beq.n 119ec <_lv_txt_get_next_line+0x224> + 11948: 2b0d cmp r3, #13 + 1194a: d04f beq.n 119ec <_lv_txt_get_next_line+0x224> if(txt[i] == '\n' || txt[i] == '\r') { - 118e4: 5d93 ldrb r3, [r2, r6] - 118e6: 2b0a cmp r3, #10 - 118e8: d04a beq.n 11980 <_lv_txt_get_next_line+0x220> - 118ea: 2b0d cmp r3, #13 - 118ec: d048 beq.n 11980 <_lv_txt_get_next_line+0x220> + 1194c: 5d93 ldrb r3, [r2, r6] + 1194e: 2b0a cmp r3, #10 + 11950: d04a beq.n 119e8 <_lv_txt_get_next_line+0x220> + 11952: 2b0d cmp r3, #13 + 11954: d048 beq.n 119e8 <_lv_txt_get_next_line+0x220> while(txt[i] != '\0' && max_width > 0) { - 118ee: 9b0e ldr r3, [sp, #56] ; 0x38 - 118f0: 9309 str r3, [sp, #36] ; 0x24 - 118f2: 9a07 ldr r2, [sp, #28] - 118f4: 469c mov ip, r3 - 118f6: 4462 add r2, ip - 118f8: 0016 movs r6, r2 - 118fa: 7813 ldrb r3, [r2, #0] - 118fc: 2b00 cmp r3, #0 - 118fe: d041 beq.n 11984 <_lv_txt_get_next_line+0x224> - 11900: 9b05 ldr r3, [sp, #20] - 11902: 2b00 cmp r3, #0 - 11904: dd3e ble.n 11984 <_lv_txt_get_next_line+0x224> + 11956: 9b0e ldr r3, [sp, #56] ; 0x38 + 11958: 9309 str r3, [sp, #36] ; 0x24 + 1195a: 9a07 ldr r2, [sp, #28] + 1195c: 469c mov ip, r3 + 1195e: 4462 add r2, ip + 11960: 0016 movs r6, r2 + 11962: 7813 ldrb r3, [r2, #0] + 11964: 2b00 cmp r3, #0 + 11966: d041 beq.n 119ec <_lv_txt_get_next_line+0x224> + 11968: 9b05 ldr r3, [sp, #20] + 1196a: 2b00 cmp r3, #0 + 1196c: dd3e ble.n 119ec <_lv_txt_get_next_line+0x224> if(txt == NULL || txt[0] == '\0') return 0; - 11906: 2e00 cmp r6, #0 - 11908: d02c beq.n 11964 <_lv_txt_get_next_line+0x204> + 1196e: 2e00 cmp r6, #0 + 11970: d02c beq.n 119cc <_lv_txt_get_next_line+0x204> if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 1190a: 9b05 ldr r3, [sp, #20] - 1190c: 9308 str r3, [sp, #32] - 1190e: 9b0b ldr r3, [sp, #44] ; 0x2c - 11910: 2b00 cmp r3, #0 - 11912: d001 beq.n 11918 <_lv_txt_get_next_line+0x1b8> - 11914: 4b2a ldr r3, [pc, #168] ; (119c0 <_lv_txt_get_next_line+0x260>) - 11916: 9308 str r3, [sp, #32] + 11972: 9b05 ldr r3, [sp, #20] + 11974: 9308 str r3, [sp, #32] + 11976: 9b0b ldr r3, [sp, #44] ; 0x2c + 11978: 2b00 cmp r3, #0 + 1197a: d001 beq.n 11980 <_lv_txt_get_next_line+0x1b8> + 1197c: 4b2a ldr r3, [pc, #168] ; (11a28 <_lv_txt_get_next_line+0x260>) + 1197e: 9308 str r3, [sp, #32] uint32_t i = 0, i_next = 0, i_next_next = 0; /* Iterating index into txt */ - 11918: 2300 movs r3, #0 - 1191a: 930c str r3, [sp, #48] ; 0x30 - 1191c: 930d str r3, [sp, #52] ; 0x34 + 11980: 2300 movs r3, #0 + 11982: 930c str r3, [sp, #48] ; 0x30 + 11984: 930d str r3, [sp, #52] ; 0x34 letter = _lv_txt_encoded_next(txt, &i_next); - 1191e: a90c add r1, sp, #48 ; 0x30 - 11920: 0030 movs r0, r6 - 11922: 4b28 ldr r3, [pc, #160] ; (119c4 <_lv_txt_get_next_line+0x264>) - 11924: 681b ldr r3, [r3, #0] - 11926: 9300 str r3, [sp, #0] - 11928: 4798 blx r3 - 1192a: 0004 movs r4, r0 + 11986: a90c add r1, sp, #48 ; 0x30 + 11988: 0030 movs r0, r6 + 1198a: 4b28 ldr r3, [pc, #160] ; (11a2c <_lv_txt_get_next_line+0x264>) + 1198c: 681b ldr r3, [r3, #0] + 1198e: 9300 str r3, [sp, #0] + 11990: 4798 blx r3 + 11992: 0004 movs r4, r0 i_next_next = i_next; - 1192c: 9b0c ldr r3, [sp, #48] ; 0x30 - 1192e: 930d str r3, [sp, #52] ; 0x34 + 11994: 9b0c ldr r3, [sp, #48] ; 0x30 + 11996: 930d str r3, [sp, #52] ; 0x34 uint32_t word_w = 0; - 11930: 2300 movs r3, #0 - 11932: 9306 str r3, [sp, #24] + 11998: 2300 movs r3, #0 + 1199a: 9306 str r3, [sp, #24] uint32_t break_index = NO_BREAK_FOUND; /* only used for "long" words */ - 11934: 3b01 subs r3, #1 - 11936: 4698 mov r8, r3 + 1199c: 3b01 subs r3, #1 + 1199e: 4698 mov r8, r3 uint32_t word_len = 0; /* Number of characters in the transversed word */ - 11938: 2300 movs r3, #0 - 1193a: 9301 str r3, [sp, #4] + 119a0: 2300 movs r3, #0 + 119a2: 9301 str r3, [sp, #4] lv_coord_t cur_w = 0; /* Pixel Width of transversed string */ - 1193c: 2500 movs r5, #0 + 119a4: 2500 movs r5, #0 uint32_t letter_next = 0; /* Letter at i_next */ - 1193e: 9300 str r3, [sp, #0] + 119a6: 9300 str r3, [sp, #0] uint32_t i = 0, i_next = 0, i_next_next = 0; /* Iterating index into txt */ - 11940: 469a mov sl, r3 + 119a8: 469a mov sl, r3 if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 11942: 3301 adds r3, #1 - 11944: 9a0a ldr r2, [sp, #40] ; 0x28 - 11946: 4013 ands r3, r2 - 11948: 469b mov fp, r3 - 1194a: 4653 mov r3, sl - 1194c: 46b2 mov sl, r6 - 1194e: 001e movs r6, r3 - 11950: e777 b.n 11842 <_lv_txt_get_next_line+0xe2> + 119aa: 3301 adds r3, #1 + 119ac: 9a0a ldr r2, [sp, #40] ; 0x28 + 119ae: 4013 ands r3, r2 + 119b0: 469b mov fp, r3 + 119b2: 4653 mov r3, sl + 119b4: 46b2 mov sl, r6 + 119b6: 001e movs r6, r3 + 119b8: e777 b.n 118aa <_lv_txt_get_next_line+0xe2> if(word_w_ptr != NULL && break_index == NO_BREAK_FOUND) *word_w_ptr = cur_w; - 11952: 9506 str r5, [sp, #24] - 11954: e76f b.n 11836 <_lv_txt_get_next_line+0xd6> - 11956: 46b2 mov sl, r6 + 119ba: 9506 str r5, [sp, #24] + 119bc: e76f b.n 1189e <_lv_txt_get_next_line+0xd6> + 119be: 46b2 mov sl, r6 if(break_index == NO_BREAK_FOUND) { - 11958: 4643 mov r3, r8 - 1195a: 3301 adds r3, #1 - 1195c: d0a3 beq.n 118a6 <_lv_txt_get_next_line+0x146> + 119c0: 4643 mov r3, r8 + 119c2: 3301 adds r3, #1 + 119c4: d0a3 beq.n 1190e <_lv_txt_get_next_line+0x146> if(force) return break_index; - 1195e: 9b09 ldr r3, [sp, #36] ; 0x24 - 11960: 2b00 cmp r3, #0 - 11962: d008 beq.n 11976 <_lv_txt_get_next_line+0x216> + 119c6: 9b09 ldr r3, [sp, #36] ; 0x24 + 119c8: 2b00 cmp r3, #0 + 119ca: d008 beq.n 119de <_lv_txt_get_next_line+0x216> if(i == 0) _lv_txt_encoded_next(txt, &i); // prevent inf loops - 11964: 9b0e ldr r3, [sp, #56] ; 0x38 - 11966: 2b00 cmp r3, #0 - 11968: d10f bne.n 1198a <_lv_txt_get_next_line+0x22a> - 1196a: 4b16 ldr r3, [pc, #88] ; (119c4 <_lv_txt_get_next_line+0x264>) - 1196c: 681b ldr r3, [r3, #0] - 1196e: a90e add r1, sp, #56 ; 0x38 - 11970: 9807 ldr r0, [sp, #28] - 11972: 4798 blx r3 - 11974: e006 b.n 11984 <_lv_txt_get_next_line+0x224> + 119cc: 9b0e ldr r3, [sp, #56] ; 0x38 + 119ce: 2b00 cmp r3, #0 + 119d0: d10f bne.n 119f2 <_lv_txt_get_next_line+0x22a> + 119d2: 4b16 ldr r3, [pc, #88] ; (11a2c <_lv_txt_get_next_line+0x264>) + 119d4: 681b ldr r3, [r3, #0] + 119d6: a90e add r1, sp, #56 ; 0x38 + 119d8: 9807 ldr r0, [sp, #28] + 119da: 4798 blx r3 + 119dc: e006 b.n 119ec <_lv_txt_get_next_line+0x224> if(force) return break_index; - 11976: 4643 mov r3, r8 - 11978: 466a mov r2, sp - 1197a: 8013 strh r3, [r2, #0] - 1197c: 8816 ldrh r6, [r2, #0] - 1197e: e7a0 b.n 118c2 <_lv_txt_get_next_line+0x162> + 119de: 4643 mov r3, r8 + 119e0: 466a mov r2, sp + 119e2: 8013 strh r3, [r2, #0] + 119e4: 8816 ldrh r6, [r2, #0] + 119e6: e7a0 b.n 1192a <_lv_txt_get_next_line+0x162> i++; /* Include the following newline in the current line */ - 11980: 3601 adds r6, #1 - 11982: 960e str r6, [sp, #56] ; 0x38 + 119e8: 3601 adds r6, #1 + 119ea: 960e str r6, [sp, #56] ; 0x38 if(i == 0) { - 11984: 9b0e ldr r3, [sp, #56] ; 0x38 - 11986: 2b00 cmp r3, #0 - 11988: d002 beq.n 11990 <_lv_txt_get_next_line+0x230> + 119ec: 9b0e ldr r3, [sp, #56] ; 0x38 + 119ee: 2b00 cmp r3, #0 + 119f0: d002 beq.n 119f8 <_lv_txt_get_next_line+0x230> return i; - 1198a: ab0c add r3, sp, #48 ; 0x30 - 1198c: 8918 ldrh r0, [r3, #8] - 1198e: e00c b.n 119aa <_lv_txt_get_next_line+0x24a> + 119f2: ab0c add r3, sp, #48 ; 0x30 + 119f4: 8918 ldrh r0, [r3, #8] + 119f6: e00c b.n 11a12 <_lv_txt_get_next_line+0x24a> _lv_txt_encoded_next(txt, &i); - 11990: 4b0c ldr r3, [pc, #48] ; (119c4 <_lv_txt_get_next_line+0x264>) - 11992: 681b ldr r3, [r3, #0] - 11994: a90e add r1, sp, #56 ; 0x38 - 11996: 9807 ldr r0, [sp, #28] - 11998: 4798 blx r3 - 1199a: e7f6 b.n 1198a <_lv_txt_get_next_line+0x22a> + 119f8: 4b0c ldr r3, [pc, #48] ; (11a2c <_lv_txt_get_next_line+0x264>) + 119fa: 681b ldr r3, [r3, #0] + 119fc: a90e add r1, sp, #56 ; 0x38 + 119fe: 9807 ldr r0, [sp, #28] + 11a00: 4798 blx r3 + 11a02: e7f6 b.n 119f2 <_lv_txt_get_next_line+0x22a> if(txt == NULL) return 0; - 1199c: 2000 movs r0, #0 - 1199e: e004 b.n 119aa <_lv_txt_get_next_line+0x24a> + 11a04: 2000 movs r0, #0 + 11a06: e004 b.n 11a12 <_lv_txt_get_next_line+0x24a> if(font == NULL) return 0; - 119a0: 2000 movs r0, #0 - 119a2: e002 b.n 119aa <_lv_txt_get_next_line+0x24a> + 11a08: 2000 movs r0, #0 + 11a0a: e002 b.n 11a12 <_lv_txt_get_next_line+0x24a> for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 119a4: 2000 movs r0, #0 + 11a0c: 2000 movs r0, #0 if(txt[i] != '\0') i++; /*To go beyond `\n`*/ - 119a6: 3001 adds r0, #1 + 11a0e: 3001 adds r0, #1 return i; - 119a8: b280 uxth r0, r0 -} - 119aa: b011 add sp, #68 ; 0x44 - 119ac: bc3c pop {r2, r3, r4, r5} - 119ae: 4690 mov r8, r2 - 119b0: 4699 mov r9, r3 - 119b2: 46a2 mov sl, r4 - 119b4: 46ab mov fp, r5 - 119b6: bdf0 pop {r4, r5, r6, r7, pc} + 11a10: b280 uxth r0, r0 +} + 11a12: b011 add sp, #68 ; 0x44 + 11a14: bc3c pop {r2, r3, r4, r5} + 11a16: 4690 mov r8, r2 + 11a18: 4699 mov r9, r3 + 11a1a: 46a2 mov sl, r4 + 11a1c: 46ab mov fp, r5 + 11a1e: bdf0 pop {r4, r5, r6, r7, pc} for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 119b8: 2000 movs r0, #0 - 119ba: e7f4 b.n 119a6 <_lv_txt_get_next_line+0x246> - 119bc: 2000 movs r0, #0 - 119be: e7f3 b.n 119a8 <_lv_txt_get_next_line+0x248> - 119c0: 00007c18 .word 0x00007c18 - 119c4: 20000058 .word 0x20000058 - 119c8: 0001c95c .word 0x0001c95c - 119cc: 0000e701 .word 0x0000e701 - 119d0: 00400009 .word 0x00400009 - 119d4: 00011721 .word 0x00011721 - -000119d8 <_lv_txt_get_width>: -{ - 119d8: b5f0 push {r4, r5, r6, r7, lr} - 119da: 46ce mov lr, r9 - 119dc: 4647 mov r7, r8 - 119de: b580 push {r7, lr} - 119e0: b085 sub sp, #20 - 119e2: 0005 movs r5, r0 - 119e4: 4689 mov r9, r1 - 119e6: 9201 str r2, [sp, #4] - 119e8: 4698 mov r8, r3 - 119ea: ab0c add r3, sp, #48 ; 0x30 - 119ec: 781f ldrb r7, [r3, #0] + 11a20: 2000 movs r0, #0 + 11a22: e7f4 b.n 11a0e <_lv_txt_get_next_line+0x246> + 11a24: 2000 movs r0, #0 + 11a26: e7f3 b.n 11a10 <_lv_txt_get_next_line+0x248> + 11a28: 00007c18 .word 0x00007c18 + 11a2c: 20000058 .word 0x20000058 + 11a30: 0001c9ec .word 0x0001c9ec + 11a34: 0000e769 .word 0x0000e769 + 11a38: 00400009 .word 0x00400009 + 11a3c: 00011789 .word 0x00011789 + +00011a40 <_lv_txt_get_width>: +{ + 11a40: b5f0 push {r4, r5, r6, r7, lr} + 11a42: 46ce mov lr, r9 + 11a44: 4647 mov r7, r8 + 11a46: b580 push {r7, lr} + 11a48: b085 sub sp, #20 + 11a4a: 0005 movs r5, r0 + 11a4c: 4689 mov r9, r1 + 11a4e: 9201 str r2, [sp, #4] + 11a50: 4698 mov r8, r3 + 11a52: ab0c add r3, sp, #48 ; 0x30 + 11a54: 781f ldrb r7, [r3, #0] if(txt == NULL) return 0; - 119ee: 2800 cmp r0, #0 - 119f0: d03a beq.n 11a68 <_lv_txt_get_width+0x90> + 11a56: 2800 cmp r0, #0 + 11a58: d03a beq.n 11ad0 <_lv_txt_get_width+0x90> if(font == NULL) return 0; - 119f2: 2a00 cmp r2, #0 - 119f4: d03a beq.n 11a6c <_lv_txt_get_width+0x94> + 11a5a: 2a00 cmp r2, #0 + 11a5c: d03a beq.n 11ad4 <_lv_txt_get_width+0x94> uint32_t i = 0; - 119f6: 2300 movs r3, #0 - 119f8: 9303 str r3, [sp, #12] + 11a5e: 2300 movs r3, #0 + 11a60: 9303 str r3, [sp, #12] lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 119fa: aa02 add r2, sp, #8 - 119fc: 70d3 strb r3, [r2, #3] - 119fe: 2400 movs r4, #0 + 11a62: aa02 add r2, sp, #8 + 11a64: 70d3 strb r3, [r2, #3] + 11a66: 2400 movs r4, #0 if(length != 0) { - 11a00: 2900 cmp r1, #0 - 11a02: d02b beq.n 11a5c <_lv_txt_get_width+0x84> + 11a68: 2900 cmp r1, #0 + 11a6a: d02b beq.n 11ac4 <_lv_txt_get_width+0x84> if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 11a04: 2301 movs r3, #1 - 11a06: 401f ands r7, r3 - 11a08: e00a b.n 11a20 <_lv_txt_get_width+0x48> + 11a6c: 2301 movs r3, #1 + 11a6e: 401f ands r7, r3 + 11a70: e00a b.n 11a88 <_lv_txt_get_width+0x48> lv_coord_t char_width = lv_font_get_glyph_width(font, letter, letter_next); - 11a0a: 0032 movs r2, r6 - 11a0c: 9900 ldr r1, [sp, #0] - 11a0e: 9801 ldr r0, [sp, #4] - 11a10: 4b17 ldr r3, [pc, #92] ; (11a70 <_lv_txt_get_width+0x98>) - 11a12: 4798 blx r3 + 11a72: 0032 movs r2, r6 + 11a74: 9900 ldr r1, [sp, #0] + 11a76: 9801 ldr r0, [sp, #4] + 11a78: 4b17 ldr r3, [pc, #92] ; (11ad8 <_lv_txt_get_width+0x98>) + 11a7a: 4798 blx r3 if(char_width > 0) { - 11a14: b203 sxth r3, r0 - 11a16: 2b00 cmp r3, #0 - 11a18: dd02 ble.n 11a20 <_lv_txt_get_width+0x48> + 11a7c: b203 sxth r3, r0 + 11a7e: 2b00 cmp r3, #0 + 11a80: dd02 ble.n 11a88 <_lv_txt_get_width+0x48> width += letter_space; - 11a1a: 4444 add r4, r8 - 11a1c: 1904 adds r4, r0, r4 - 11a1e: b224 sxth r4, r4 + 11a82: 4444 add r4, r8 + 11a84: 1904 adds r4, r0, r4 + 11a86: b224 sxth r4, r4 while(i < length) { - 11a20: 9b03 ldr r3, [sp, #12] - 11a22: 4599 cmp r9, r3 - 11a24: d915 bls.n 11a52 <_lv_txt_get_width+0x7a> + 11a88: 9b03 ldr r3, [sp, #12] + 11a8a: 4599 cmp r9, r3 + 11a8c: d915 bls.n 11aba <_lv_txt_get_width+0x7a> uint32_t letter = _lv_txt_encoded_next(txt, &i); - 11a26: 4e13 ldr r6, [pc, #76] ; (11a74 <_lv_txt_get_width+0x9c>) - 11a28: a903 add r1, sp, #12 - 11a2a: 0028 movs r0, r5 - 11a2c: 6833 ldr r3, [r6, #0] - 11a2e: 4798 blx r3 - 11a30: 9000 str r0, [sp, #0] + 11a8e: 4e13 ldr r6, [pc, #76] ; (11adc <_lv_txt_get_width+0x9c>) + 11a90: a903 add r1, sp, #12 + 11a92: 0028 movs r0, r5 + 11a94: 6833 ldr r3, [r6, #0] + 11a96: 4798 blx r3 + 11a98: 9000 str r0, [sp, #0] uint32_t letter_next = _lv_txt_encoded_next(&txt[i], NULL); - 11a32: 9b03 ldr r3, [sp, #12] - 11a34: 18e8 adds r0, r5, r3 - 11a36: 6833 ldr r3, [r6, #0] - 11a38: 2100 movs r1, #0 - 11a3a: 4798 blx r3 - 11a3c: 0006 movs r6, r0 + 11a9a: 9b03 ldr r3, [sp, #12] + 11a9c: 18e8 adds r0, r5, r3 + 11a9e: 6833 ldr r3, [r6, #0] + 11aa0: 2100 movs r1, #0 + 11aa2: 4798 blx r3 + 11aa4: 0006 movs r6, r0 if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 11a3e: 2f00 cmp r7, #0 - 11a40: d0e3 beq.n 11a0a <_lv_txt_get_width+0x32> + 11aa6: 2f00 cmp r7, #0 + 11aa8: d0e3 beq.n 11a72 <_lv_txt_get_width+0x32> if(_lv_txt_is_cmd(&cmd_state, letter) != false) { - 11a42: 9900 ldr r1, [sp, #0] - 11a44: ab02 add r3, sp, #8 - 11a46: 1cd8 adds r0, r3, #3 - 11a48: 4b0b ldr r3, [pc, #44] ; (11a78 <_lv_txt_get_width+0xa0>) - 11a4a: 4798 blx r3 - 11a4c: 2800 cmp r0, #0 - 11a4e: d1e7 bne.n 11a20 <_lv_txt_get_width+0x48> - 11a50: e7db b.n 11a0a <_lv_txt_get_width+0x32> + 11aaa: 9900 ldr r1, [sp, #0] + 11aac: ab02 add r3, sp, #8 + 11aae: 1cd8 adds r0, r3, #3 + 11ab0: 4b0b ldr r3, [pc, #44] ; (11ae0 <_lv_txt_get_width+0xa0>) + 11ab2: 4798 blx r3 + 11ab4: 2800 cmp r0, #0 + 11ab6: d1e7 bne.n 11a88 <_lv_txt_get_width+0x48> + 11ab8: e7db b.n 11a72 <_lv_txt_get_width+0x32> if(width > 0) { - 11a52: 2c00 cmp r4, #0 - 11a54: dd02 ble.n 11a5c <_lv_txt_get_width+0x84> + 11aba: 2c00 cmp r4, #0 + 11abc: dd02 ble.n 11ac4 <_lv_txt_get_width+0x84> width -= letter_space; /*Trim the last letter space. Important if the text is center - 11a56: 4643 mov r3, r8 - 11a58: 1ae4 subs r4, r4, r3 - 11a5a: b224 sxth r4, r4 -} - 11a5c: 0020 movs r0, r4 - 11a5e: b005 add sp, #20 - 11a60: bc0c pop {r2, r3} - 11a62: 4690 mov r8, r2 - 11a64: 4699 mov r9, r3 - 11a66: bdf0 pop {r4, r5, r6, r7, pc} + 11abe: 4643 mov r3, r8 + 11ac0: 1ae4 subs r4, r4, r3 + 11ac2: b224 sxth r4, r4 +} + 11ac4: 0020 movs r0, r4 + 11ac6: b005 add sp, #20 + 11ac8: bc0c pop {r2, r3} + 11aca: 4690 mov r8, r2 + 11acc: 4699 mov r9, r3 + 11ace: bdf0 pop {r4, r5, r6, r7, pc} if(txt == NULL) return 0; - 11a68: 2400 movs r4, #0 - 11a6a: e7f7 b.n 11a5c <_lv_txt_get_width+0x84> + 11ad0: 2400 movs r4, #0 + 11ad2: e7f7 b.n 11ac4 <_lv_txt_get_width+0x84> if(font == NULL) return 0; - 11a6c: 2400 movs r4, #0 - 11a6e: e7f5 b.n 11a5c <_lv_txt_get_width+0x84> - 11a70: 0000e701 .word 0x0000e701 - 11a74: 20000058 .word 0x20000058 - 11a78: 00011721 .word 0x00011721 - -00011a7c <_lv_txt_get_size>: -{ - 11a7c: b5f0 push {r4, r5, r6, r7, lr} - 11a7e: 46de mov lr, fp - 11a80: 4657 mov r7, sl - 11a82: 464e mov r6, r9 - 11a84: 4645 mov r5, r8 - 11a86: b5e0 push {r5, r6, r7, lr} - 11a88: b089 sub sp, #36 ; 0x24 - 11a8a: 0004 movs r4, r0 - 11a8c: 4689 mov r9, r1 - 11a8e: 9202 str r2, [sp, #8] - 11a90: 9303 str r3, [sp, #12] - 11a92: ab12 add r3, sp, #72 ; 0x48 - 11a94: 2100 movs r1, #0 - 11a96: 5e5b ldrsh r3, [r3, r1] - 11a98: 9306 str r3, [sp, #24] - 11a9a: ab13 add r3, sp, #76 ; 0x4c - 11a9c: 2100 movs r1, #0 - 11a9e: 5e5b ldrsh r3, [r3, r1] - 11aa0: 9304 str r3, [sp, #16] - 11aa2: ab14 add r3, sp, #80 ; 0x50 - 11aa4: 781f ldrb r7, [r3, #0] + 11ad4: 2400 movs r4, #0 + 11ad6: e7f5 b.n 11ac4 <_lv_txt_get_width+0x84> + 11ad8: 0000e769 .word 0x0000e769 + 11adc: 20000058 .word 0x20000058 + 11ae0: 00011789 .word 0x00011789 + +00011ae4 <_lv_txt_get_size>: +{ + 11ae4: b5f0 push {r4, r5, r6, r7, lr} + 11ae6: 46de mov lr, fp + 11ae8: 4657 mov r7, sl + 11aea: 464e mov r6, r9 + 11aec: 4645 mov r5, r8 + 11aee: b5e0 push {r5, r6, r7, lr} + 11af0: b089 sub sp, #36 ; 0x24 + 11af2: 0004 movs r4, r0 + 11af4: 4689 mov r9, r1 + 11af6: 9202 str r2, [sp, #8] + 11af8: 9303 str r3, [sp, #12] + 11afa: ab12 add r3, sp, #72 ; 0x48 + 11afc: 2100 movs r1, #0 + 11afe: 5e5b ldrsh r3, [r3, r1] + 11b00: 9306 str r3, [sp, #24] + 11b02: ab13 add r3, sp, #76 ; 0x4c + 11b04: 2100 movs r1, #0 + 11b06: 5e5b ldrsh r3, [r3, r1] + 11b08: 9304 str r3, [sp, #16] + 11b0a: ab14 add r3, sp, #80 ; 0x50 + 11b0c: 781f ldrb r7, [r3, #0] size_res->x = 0; - 11aa6: 2300 movs r3, #0 - 11aa8: 8003 strh r3, [r0, #0] + 11b0e: 2300 movs r3, #0 + 11b10: 8003 strh r3, [r0, #0] size_res->y = 0; - 11aaa: 8043 strh r3, [r0, #2] + 11b12: 8043 strh r3, [r0, #2] if(text == NULL) return; - 11aac: 464b mov r3, r9 - 11aae: 2b00 cmp r3, #0 - 11ab0: d051 beq.n 11b56 <_lv_txt_get_size+0xda> + 11b14: 464b mov r3, r9 + 11b16: 2b00 cmp r3, #0 + 11b18: d051 beq.n 11bbe <_lv_txt_get_size+0xda> if(font == NULL) return; - 11ab2: 2a00 cmp r2, #0 - 11ab4: d04f beq.n 11b56 <_lv_txt_get_size+0xda> + 11b1a: 2a00 cmp r2, #0 + 11b1c: d04f beq.n 11bbe <_lv_txt_get_size+0xda> if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 11ab6: 07bb lsls r3, r7, #30 - 11ab8: d501 bpl.n 11abe <_lv_txt_get_size+0x42> - 11aba: 4b2f ldr r3, [pc, #188] ; (11b78 <_lv_txt_get_size+0xfc>) - 11abc: 9304 str r3, [sp, #16] + 11b1e: 07bb lsls r3, r7, #30 + 11b20: d501 bpl.n 11b26 <_lv_txt_get_size+0x42> + 11b22: 4b2f ldr r3, [pc, #188] ; (11be0 <_lv_txt_get_size+0xfc>) + 11b24: 9304 str r3, [sp, #16] * @param font_p pointer to a font * @return the height of a font */ static inline lv_coord_t lv_font_get_line_height(const lv_font_t * font_p) { return font_p->line_height; - 11abe: 9b02 ldr r3, [sp, #8] - 11ac0: 2208 movs r2, #8 - 11ac2: 5e9b ldrsh r3, [r3, r2] - 11ac4: 9307 str r3, [sp, #28] + 11b26: 9b02 ldr r3, [sp, #8] + 11b28: 2208 movs r2, #8 + 11b2a: 5e9b ldrsh r3, [r3, r2] + 11b2c: 9307 str r3, [sp, #28] uint16_t letter_height = lv_font_get_line_height(font); - 11ac6: b29a uxth r2, r3 + 11b2e: b29a uxth r2, r3 while(text[line_start] != '\0') { - 11ac8: 464b mov r3, r9 - 11aca: 781b ldrb r3, [r3, #0] - 11acc: 2b00 cmp r3, #0 - 11ace: d04f beq.n 11b70 <_lv_txt_get_size+0xf4> - 11ad0: 464d mov r5, r9 - 11ad2: 2600 movs r6, #0 + 11b30: 464b mov r3, r9 + 11b32: 781b ldrb r3, [r3, #0] + 11b34: 2b00 cmp r3, #0 + 11b36: d04f beq.n 11bd8 <_lv_txt_get_size+0xf4> + 11b38: 464d mov r5, r9 + 11b3a: 2600 movs r6, #0 new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag); - 11ad4: 4b29 ldr r3, [pc, #164] ; (11b7c <_lv_txt_get_size+0x100>) - 11ad6: 469b mov fp, r3 + 11b3c: 4b29 ldr r3, [pc, #164] ; (11be4 <_lv_txt_get_size+0x100>) + 11b3e: 469b mov fp, r3 if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) { - 11ad8: 9b06 ldr r3, [sp, #24] - 11ada: 469a mov sl, r3 - 11adc: 4492 add sl, r2 - 11ade: 4653 mov r3, sl - 11ae0: 466a mov r2, sp - 11ae2: 8293 strh r3, [r2, #20] - 11ae4: 8a93 ldrh r3, [r2, #20] - 11ae6: 4698 mov r8, r3 - 11ae8: e005 b.n 11af6 <_lv_txt_get_size+0x7a> + 11b40: 9b06 ldr r3, [sp, #24] + 11b42: 469a mov sl, r3 + 11b44: 4492 add sl, r2 + 11b46: 4653 mov r3, sl + 11b48: 466a mov r2, sp + 11b4a: 8293 strh r3, [r2, #20] + 11b4c: 8a93 ldrh r3, [r2, #20] + 11b4e: 4698 mov r8, r3 + 11b50: e005 b.n 11b5e <_lv_txt_get_size+0x7a> size_res->x = LV_MATH_MAX(act_line_length, size_res->x); - 11aea: 8022 strh r2, [r4, #0] + 11b52: 8022 strh r2, [r4, #0] while(text[line_start] != '\0') { - 11aec: 464b mov r3, r9 - 11aee: 199d adds r5, r3, r6 - 11af0: 782b ldrb r3, [r5, #0] - 11af2: 2b00 cmp r3, #0 - 11af4: d01f beq.n 11b36 <_lv_txt_get_size+0xba> + 11b54: 464b mov r3, r9 + 11b56: 199d adds r5, r3, r6 + 11b58: 782b ldrb r3, [r5, #0] + 11b5a: 2b00 cmp r3, #0 + 11b5c: d01f beq.n 11b9e <_lv_txt_get_size+0xba> new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag); - 11af6: 9700 str r7, [sp, #0] - 11af8: 9b04 ldr r3, [sp, #16] - 11afa: 9a03 ldr r2, [sp, #12] - 11afc: 9902 ldr r1, [sp, #8] - 11afe: 0028 movs r0, r5 - 11b00: 47d8 blx fp - 11b02: 1836 adds r6, r6, r0 + 11b5e: 9700 str r7, [sp, #0] + 11b60: 9b04 ldr r3, [sp, #16] + 11b62: 9a03 ldr r2, [sp, #12] + 11b64: 9902 ldr r1, [sp, #8] + 11b66: 0028 movs r0, r5 + 11b68: 47d8 blx fp + 11b6a: 1836 adds r6, r6, r0 if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) { - 11b04: 2102 movs r1, #2 - 11b06: 5e63 ldrsh r3, [r4, r1] - 11b08: 4651 mov r1, sl - 11b0a: 18c9 adds r1, r1, r3 - 11b0c: 4a1c ldr r2, [pc, #112] ; (11b80 <_lv_txt_get_size+0x104>) - 11b0e: 4291 cmp r1, r2 - 11b10: d821 bhi.n 11b56 <_lv_txt_get_size+0xda> - 11b12: 4641 mov r1, r8 - 11b14: 9105 str r1, [sp, #20] + 11b6c: 2102 movs r1, #2 + 11b6e: 5e63 ldrsh r3, [r4, r1] + 11b70: 4651 mov r1, sl + 11b72: 18c9 adds r1, r1, r3 + 11b74: 4a1c ldr r2, [pc, #112] ; (11be8 <_lv_txt_get_size+0x104>) + 11b76: 4291 cmp r1, r2 + 11b78: d821 bhi.n 11bbe <_lv_txt_get_size+0xda> + 11b7a: 4641 mov r1, r8 + 11b7c: 9105 str r1, [sp, #20] size_res->y += line_space; - 11b16: 4443 add r3, r8 - 11b18: 8063 strh r3, [r4, #2] + 11b7e: 4443 add r3, r8 + 11b80: 8063 strh r3, [r4, #2] lv_coord_t act_line_length = _lv_txt_get_width(&text[line_start], new_line_start - line_start, font, letter_space, - 11b1a: 9700 str r7, [sp, #0] - 11b1c: 9b03 ldr r3, [sp, #12] - 11b1e: 9a02 ldr r2, [sp, #8] - 11b20: 0001 movs r1, r0 - 11b22: 0028 movs r0, r5 - 11b24: 4d17 ldr r5, [pc, #92] ; (11b84 <_lv_txt_get_size+0x108>) - 11b26: 47a8 blx r5 + 11b82: 9700 str r7, [sp, #0] + 11b84: 9b03 ldr r3, [sp, #12] + 11b86: 9a02 ldr r2, [sp, #8] + 11b88: 0001 movs r1, r0 + 11b8a: 0028 movs r0, r5 + 11b8c: 4d17 ldr r5, [pc, #92] ; (11bec <_lv_txt_get_size+0x108>) + 11b8e: 47a8 blx r5 size_res->x = LV_MATH_MAX(act_line_length, size_res->x); - 11b28: 8823 ldrh r3, [r4, #0] - 11b2a: 1c1a adds r2, r3, #0 - 11b2c: b21b sxth r3, r3 - 11b2e: 4283 cmp r3, r0 - 11b30: dadb bge.n 11aea <_lv_txt_get_size+0x6e> - 11b32: 1c02 adds r2, r0, #0 - 11b34: e7d9 b.n 11aea <_lv_txt_get_size+0x6e> + 11b90: 8823 ldrh r3, [r4, #0] + 11b92: 1c1a adds r2, r3, #0 + 11b94: b21b sxth r3, r3 + 11b96: 4283 cmp r3, r0 + 11b98: dadb bge.n 11b52 <_lv_txt_get_size+0x6e> + 11b9a: 1c02 adds r2, r0, #0 + 11b9c: e7d9 b.n 11b52 <_lv_txt_get_size+0x6e> if((line_start != 0) && (text[line_start - 1] == '\n' || text[line_start - 1] == '\r')) { - 11b36: 2e00 cmp r6, #0 - 11b38: d006 beq.n 11b48 <_lv_txt_get_size+0xcc> - 11b3a: 002e movs r6, r5 - 11b3c: 3e01 subs r6, #1 - 11b3e: 7833 ldrb r3, [r6, #0] - 11b40: 2b0a cmp r3, #10 - 11b42: d00f beq.n 11b64 <_lv_txt_get_size+0xe8> - 11b44: 2b0d cmp r3, #13 - 11b46: d00d beq.n 11b64 <_lv_txt_get_size+0xe8> + 11b9e: 2e00 cmp r6, #0 + 11ba0: d006 beq.n 11bb0 <_lv_txt_get_size+0xcc> + 11ba2: 002e movs r6, r5 + 11ba4: 3e01 subs r6, #1 + 11ba6: 7833 ldrb r3, [r6, #0] + 11ba8: 2b0a cmp r3, #10 + 11baa: d00f beq.n 11bcc <_lv_txt_get_size+0xe8> + 11bac: 2b0d cmp r3, #13 + 11bae: d00d beq.n 11bcc <_lv_txt_get_size+0xe8> if(size_res->y == 0) - 11b48: 2202 movs r2, #2 - 11b4a: 5ea3 ldrsh r3, [r4, r2] - 11b4c: 2b00 cmp r3, #0 - 11b4e: d00f beq.n 11b70 <_lv_txt_get_size+0xf4> + 11bb0: 2202 movs r2, #2 + 11bb2: 5ea3 ldrsh r3, [r4, r2] + 11bb4: 2b00 cmp r3, #0 + 11bb6: d00f beq.n 11bd8 <_lv_txt_get_size+0xf4> size_res->y -= line_space; - 11b50: 9a06 ldr r2, [sp, #24] - 11b52: 1a9b subs r3, r3, r2 - 11b54: 8063 strh r3, [r4, #2] -} - 11b56: b009 add sp, #36 ; 0x24 - 11b58: bc3c pop {r2, r3, r4, r5} - 11b5a: 4690 mov r8, r2 - 11b5c: 4699 mov r9, r3 - 11b5e: 46a2 mov sl, r4 - 11b60: 46ab mov fp, r5 - 11b62: bdf0 pop {r4, r5, r6, r7, pc} + 11bb8: 9a06 ldr r2, [sp, #24] + 11bba: 1a9b subs r3, r3, r2 + 11bbc: 8063 strh r3, [r4, #2] +} + 11bbe: b009 add sp, #36 ; 0x24 + 11bc0: bc3c pop {r2, r3, r4, r5} + 11bc2: 4690 mov r8, r2 + 11bc4: 4699 mov r9, r3 + 11bc6: 46a2 mov sl, r4 + 11bc8: 46ab mov fp, r5 + 11bca: bdf0 pop {r4, r5, r6, r7, pc} size_res->y += letter_height + line_space; - 11b64: 8863 ldrh r3, [r4, #2] - 11b66: 9a05 ldr r2, [sp, #20] - 11b68: 4694 mov ip, r2 - 11b6a: 4463 add r3, ip - 11b6c: 8063 strh r3, [r4, #2] - 11b6e: e7eb b.n 11b48 <_lv_txt_get_size+0xcc> + 11bcc: 8863 ldrh r3, [r4, #2] + 11bce: 9a05 ldr r2, [sp, #20] + 11bd0: 4694 mov ip, r2 + 11bd2: 4463 add r3, ip + 11bd4: 8063 strh r3, [r4, #2] + 11bd6: e7eb b.n 11bb0 <_lv_txt_get_size+0xcc> size_res->y = letter_height; - 11b70: 466b mov r3, sp - 11b72: 8b9b ldrh r3, [r3, #28] - 11b74: 8063 strh r3, [r4, #2] - 11b76: e7ee b.n 11b56 <_lv_txt_get_size+0xda> - 11b78: 00007c18 .word 0x00007c18 - 11b7c: 00011761 .word 0x00011761 - 11b80: 00007fff .word 0x00007fff - 11b84: 000119d9 .word 0x000119d9 - -00011b88 <_lv_utils_bsearch>: + 11bd8: 466b mov r3, sp + 11bda: 8b9b ldrh r3, [r3, #28] + 11bdc: 8063 strh r3, [r4, #2] + 11bde: e7ee b.n 11bbe <_lv_txt_get_size+0xda> + 11be0: 00007c18 .word 0x00007c18 + 11be4: 000117c9 .word 0x000117c9 + 11be8: 00007fff .word 0x00007fff + 11bec: 00011a41 .word 0x00011a41 + +00011bf0 <_lv_utils_bsearch>: * * @return a pointer to a matching item, or NULL if none exists. */ void * _lv_utils_bsearch(const void * key, const void * base, uint32_t n, uint32_t size, int32_t (*cmp)(const void * pRef, const void * pElement)) { - 11b88: b5f0 push {r4, r5, r6, r7, lr} - 11b8a: 46d6 mov lr, sl - 11b8c: 464f mov r7, r9 - 11b8e: 4646 mov r6, r8 - 11b90: b5c0 push {r6, r7, lr} - 11b92: b082 sub sp, #8 - 11b94: 9001 str r0, [sp, #4] - 11b96: 000f movs r7, r1 - 11b98: 1e14 subs r4, r2, #0 - 11b9a: 4699 mov r9, r3 - 11b9c: 9b0a ldr r3, [sp, #40] ; 0x28 - 11b9e: 469a mov sl, r3 + 11bf0: b5f0 push {r4, r5, r6, r7, lr} + 11bf2: 46d6 mov lr, sl + 11bf4: 464f mov r7, r9 + 11bf6: 4646 mov r6, r8 + 11bf8: b5c0 push {r6, r7, lr} + 11bfa: b082 sub sp, #8 + 11bfc: 9001 str r0, [sp, #4] + 11bfe: 000f movs r7, r1 + 11c00: 1e14 subs r4, r2, #0 + 11c02: 4699 mov r9, r3 + 11c04: 9b0a ldr r3, [sp, #40] ; 0x28 + 11c06: 469a mov sl, r3 const char * middle; int32_t c; for(middle = base; n != 0;) { - 11ba0: d01d beq.n 11bde <_lv_utils_bsearch+0x56> + 11c08: d01d beq.n 11c46 <_lv_utils_bsearch+0x56> middle += (n / 2) * size; if((c = (*cmp)(key, middle)) > 0) { n = (n / 2) - ((n & 1) == 0); - 11ba2: 2301 movs r3, #1 - 11ba4: 4698 mov r8, r3 - 11ba6: e004 b.n 11bb2 <_lv_utils_bsearch+0x2a> + 11c0a: 2301 movs r3, #1 + 11c0c: 4698 mov r8, r3 + 11c0e: e004 b.n 11c1a <_lv_utils_bsearch+0x2a> base = (middle += size); } else if(c < 0) { - 11ba8: 2800 cmp r0, #0 - 11baa: da1a bge.n 11be2 <_lv_utils_bsearch+0x5a> + 11c10: 2800 cmp r0, #0 + 11c12: da1a bge.n 11c4a <_lv_utils_bsearch+0x5a> n /= 2; - 11bac: 0034 movs r4, r6 + 11c14: 0034 movs r4, r6 for(middle = base; n != 0;) { - 11bae: 2c00 cmp r4, #0 - 11bb0: d00e beq.n 11bd0 <_lv_utils_bsearch+0x48> + 11c16: 2c00 cmp r4, #0 + 11c18: d00e beq.n 11c38 <_lv_utils_bsearch+0x48> middle += (n / 2) * size; - 11bb2: 0866 lsrs r6, r4, #1 - 11bb4: 464d mov r5, r9 - 11bb6: 4375 muls r5, r6 - 11bb8: 197d adds r5, r7, r5 + 11c1a: 0866 lsrs r6, r4, #1 + 11c1c: 464d mov r5, r9 + 11c1e: 4375 muls r5, r6 + 11c20: 197d adds r5, r7, r5 if((c = (*cmp)(key, middle)) > 0) { - 11bba: 0029 movs r1, r5 - 11bbc: 9801 ldr r0, [sp, #4] - 11bbe: 47d0 blx sl - 11bc0: 2800 cmp r0, #0 - 11bc2: ddf1 ble.n 11ba8 <_lv_utils_bsearch+0x20> + 11c22: 0029 movs r1, r5 + 11c24: 9801 ldr r0, [sp, #4] + 11c26: 47d0 blx sl + 11c28: 2800 cmp r0, #0 + 11c2a: ddf1 ble.n 11c10 <_lv_utils_bsearch+0x20> n = (n / 2) - ((n & 1) == 0); - 11bc4: 4643 mov r3, r8 - 11bc6: 43a3 bics r3, r4 - 11bc8: 1af4 subs r4, r6, r3 + 11c2c: 4643 mov r3, r8 + 11c2e: 43a3 bics r3, r4 + 11c30: 1af4 subs r4, r6, r3 base = (middle += size); - 11bca: 444d add r5, r9 - 11bcc: 002f movs r7, r5 - 11bce: e7ee b.n 11bae <_lv_utils_bsearch+0x26> + 11c32: 444d add r5, r9 + 11c34: 002f movs r7, r5 + 11c36: e7ee b.n 11c16 <_lv_utils_bsearch+0x26> } else { return (char *)middle; } } return NULL; - 11bd0: 2000 movs r0, #0 -} - 11bd2: b002 add sp, #8 - 11bd4: bc1c pop {r2, r3, r4} - 11bd6: 4690 mov r8, r2 - 11bd8: 4699 mov r9, r3 - 11bda: 46a2 mov sl, r4 - 11bdc: bdf0 pop {r4, r5, r6, r7, pc} + 11c38: 2000 movs r0, #0 +} + 11c3a: b002 add sp, #8 + 11c3c: bc1c pop {r2, r3, r4} + 11c3e: 4690 mov r8, r2 + 11c40: 4699 mov r9, r3 + 11c42: 46a2 mov sl, r4 + 11c44: bdf0 pop {r4, r5, r6, r7, pc} return NULL; - 11bde: 2000 movs r0, #0 - 11be0: e7f7 b.n 11bd2 <_lv_utils_bsearch+0x4a> + 11c46: 2000 movs r0, #0 + 11c48: e7f7 b.n 11c3a <_lv_utils_bsearch+0x4a> middle += (n / 2) * size; - 11be2: 0028 movs r0, r5 - 11be4: e7f5 b.n 11bd2 <_lv_utils_bsearch+0x4a> + 11c4a: 0028 movs r0, r5 + 11c4c: e7f5 b.n 11c3a <_lv_utils_bsearch+0x4a> ... -00011be8 : +00011c50 : * From now, all the created objects will use styles from this theme by default * @param th pointer to theme (return value of: 'lv_theme_init_xxx()') */ void lv_theme_set_act(lv_theme_t * th) { act_theme = th; - 11be8: 4b01 ldr r3, [pc, #4] ; (11bf0 ) - 11bea: 6018 str r0, [r3, #0] + 11c50: 4b01 ldr r3, [pc, #4] ; (11c58 ) + 11c52: 6018 str r0, [r3, #0] } - 11bec: 4770 bx lr - 11bee: 46c0 nop ; (mov r8, r8) - 11bf0: 20004c30 .word 0x20004c30 + 11c54: 4770 bx lr + 11c56: 46c0 nop ; (mov r8, r8) + 11c58: 20004c30 .word 0x20004c30 -00011bf4 : +00011c5c : * Get the normal font of the theme * @return pointer to the font */ const lv_font_t * lv_theme_get_font_normal(void) { return act_theme->font_normal; - 11bf4: 4b01 ldr r3, [pc, #4] ; (11bfc ) - 11bf6: 681b ldr r3, [r3, #0] - 11bf8: 68d8 ldr r0, [r3, #12] + 11c5c: 4b01 ldr r3, [pc, #4] ; (11c64 ) + 11c5e: 681b ldr r3, [r3, #0] + 11c60: 68d8 ldr r0, [r3, #12] } - 11bfa: 4770 bx lr - 11bfc: 20004c30 .word 0x20004c30 + 11c62: 4770 bx lr + 11c64: 20004c30 .word 0x20004c30 -00011c00 : +00011c68 : { return act_theme->flags; } void lv_theme_apply(lv_obj_t * obj, lv_theme_style_t name) { - 11c00: b510 push {r4, lr} + 11c68: b510 push {r4, lr} act_theme->apply_xcb(obj, name); - 11c02: 4b02 ldr r3, [pc, #8] ; (11c0c ) - 11c04: 681b ldr r3, [r3, #0] - 11c06: 681b ldr r3, [r3, #0] - 11c08: 4798 blx r3 + 11c6a: 4b02 ldr r3, [pc, #8] ; (11c74 ) + 11c6c: 681b ldr r3, [r3, #0] + 11c6e: 681b ldr r3, [r3, #0] + 11c70: 4798 blx r3 } - 11c0a: bd10 pop {r4, pc} - 11c0c: 20004c30 .word 0x20004c30 + 11c72: bd10 pop {r4, pc} + 11c74: 20004c30 .word 0x20004c30 -00011c10 : +00011c78 : return &theme; } static void theme_apply(lv_obj_t * obj, lv_theme_style_t name) { - 11c10: b5f0 push {r4, r5, r6, r7, lr} - 11c12: 46ce mov lr, r9 - 11c14: 4647 mov r7, r8 - 11c16: b580 push {r7, lr} - 11c18: b083 sub sp, #12 - 11c1a: 0004 movs r4, r0 + 11c78: b5f0 push {r4, r5, r6, r7, lr} + 11c7a: 46ce mov lr, r9 + 11c7c: 4647 mov r7, r8 + 11c7e: b580 push {r7, lr} + 11c80: b083 sub sp, #12 + 11c82: 0004 movs r4, r0 lv_style_list_t * list; switch(name) { - 11c1c: 2928 cmp r1, #40 ; 0x28 - 11c1e: d80e bhi.n 11c3e - 11c20: 0089 lsls r1, r1, #2 - 11c22: 4be4 ldr r3, [pc, #912] ; (11fb4 ) - 11c24: 585b ldr r3, [r3, r1] - 11c26: 469f mov pc, r3 + 11c84: 2928 cmp r1, #40 ; 0x28 + 11c86: d80e bhi.n 11ca6 + 11c88: 0089 lsls r1, r1, #2 + 11c8a: 4be4 ldr r3, [pc, #912] ; (1201c ) + 11c8c: 585b ldr r3, [r3, r1] + 11c8e: 469f mov pc, r3 case LV_THEME_NONE: break; case LV_THEME_SCR: lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 11c28: 2100 movs r1, #0 - 11c2a: 4be3 ldr r3, [pc, #908] ; (11fb8 ) - 11c2c: 4798 blx r3 + 11c90: 2100 movs r1, #0 + 11c92: 4be3 ldr r3, [pc, #908] ; (12020 ) + 11c94: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN); - 11c2e: 2100 movs r1, #0 - 11c30: 0020 movs r0, r4 - 11c32: 4be2 ldr r3, [pc, #904] ; (11fbc ) - 11c34: 4798 blx r3 + 11c96: 2100 movs r1, #0 + 11c98: 0020 movs r0, r4 + 11c9a: 4be2 ldr r3, [pc, #904] ; (12024 ) + 11c9c: 4798 blx r3 _lv_style_list_add_style(list, &styles->scr); - 11c36: 4be2 ldr r3, [pc, #904] ; (11fc0 ) - 11c38: 6819 ldr r1, [r3, #0] - 11c3a: 4be2 ldr r3, [pc, #904] ; (11fc4 ) - 11c3c: 4798 blx r3 + 11c9e: 4be2 ldr r3, [pc, #904] ; (12028 ) + 11ca0: 6819 ldr r1, [r3, #0] + 11ca2: 4be2 ldr r3, [pc, #904] ; (1202c ) + 11ca4: 4798 blx r3 #endif default: break; } lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 11c3e: 21ff movs r1, #255 ; 0xff - 11c40: 0020 movs r0, r4 - 11c42: 4be1 ldr r3, [pc, #900] ; (11fc8 ) - 11c44: 4798 blx r3 -} - 11c46: b003 add sp, #12 - 11c48: bc0c pop {r2, r3} - 11c4a: 4690 mov r8, r2 - 11c4c: 4699 mov r9, r3 - 11c4e: bdf0 pop {r4, r5, r6, r7, pc} + 11ca6: 21ff movs r1, #255 ; 0xff + 11ca8: 0020 movs r0, r4 + 11caa: 4be1 ldr r3, [pc, #900] ; (12030 ) + 11cac: 4798 blx r3 +} + 11cae: b003 add sp, #12 + 11cb0: bc0c pop {r2, r3} + 11cb2: 4690 mov r8, r2 + 11cb4: 4699 mov r9, r3 + 11cb6: bdf0 pop {r4, r5, r6, r7, pc} lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 11c50: 2100 movs r1, #0 - 11c52: 4bd9 ldr r3, [pc, #868] ; (11fb8 ) - 11c54: 4798 blx r3 + 11cb8: 2100 movs r1, #0 + 11cba: 4bd9 ldr r3, [pc, #868] ; (12020 ) + 11cbc: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN); - 11c56: 2100 movs r1, #0 - 11c58: 0020 movs r0, r4 - 11c5a: 4bd8 ldr r3, [pc, #864] ; (11fbc ) - 11c5c: 4798 blx r3 + 11cbe: 2100 movs r1, #0 + 11cc0: 0020 movs r0, r4 + 11cc2: 4bd8 ldr r3, [pc, #864] ; (12024 ) + 11cc4: 4798 blx r3 _lv_style_list_add_style(list, &styles->bg); - 11c5e: 4bd8 ldr r3, [pc, #864] ; (11fc0 ) - 11c60: 6819 ldr r1, [r3, #0] - 11c62: 3104 adds r1, #4 - 11c64: 4bd7 ldr r3, [pc, #860] ; (11fc4 ) - 11c66: 4798 blx r3 + 11cc6: 4bd8 ldr r3, [pc, #864] ; (12028 ) + 11cc8: 6819 ldr r1, [r3, #0] + 11cca: 3104 adds r1, #4 + 11ccc: 4bd7 ldr r3, [pc, #860] ; (1202c ) + 11cce: 4798 blx r3 break; - 11c68: e7e9 b.n 11c3e + 11cd0: e7e9 b.n 11ca6 lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 11c6a: 2100 movs r1, #0 - 11c6c: 4bd2 ldr r3, [pc, #840] ; (11fb8 ) - 11c6e: 4798 blx r3 + 11cd2: 2100 movs r1, #0 + 11cd4: 4bd2 ldr r3, [pc, #840] ; (12020 ) + 11cd6: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_CONT_PART_MAIN); - 11c70: 2100 movs r1, #0 - 11c72: 0020 movs r0, r4 - 11c74: 4bd1 ldr r3, [pc, #836] ; (11fbc ) - 11c76: 4798 blx r3 + 11cd8: 2100 movs r1, #0 + 11cda: 0020 movs r0, r4 + 11cdc: 4bd1 ldr r3, [pc, #836] ; (12024 ) + 11cde: 4798 blx r3 _lv_style_list_add_style(list, &styles->bg); - 11c78: 4bd1 ldr r3, [pc, #836] ; (11fc0 ) - 11c7a: 6819 ldr r1, [r3, #0] - 11c7c: 3104 adds r1, #4 - 11c7e: 4bd1 ldr r3, [pc, #836] ; (11fc4 ) - 11c80: 4798 blx r3 + 11ce0: 4bd1 ldr r3, [pc, #836] ; (12028 ) + 11ce2: 6819 ldr r1, [r3, #0] + 11ce4: 3104 adds r1, #4 + 11ce6: 4bd1 ldr r3, [pc, #836] ; (1202c ) + 11ce8: 4798 blx r3 break; - 11c82: e7dc b.n 11c3e + 11cea: e7dc b.n 11ca6 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 11c84: 2100 movs r1, #0 - 11c86: 4bcc ldr r3, [pc, #816] ; (11fb8 ) - 11c88: 4798 blx r3 + 11cec: 2100 movs r1, #0 + 11cee: 4bcc ldr r3, [pc, #816] ; (12020 ) + 11cf0: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 11c8a: 2100 movs r1, #0 - 11c8c: 0020 movs r0, r4 - 11c8e: 4bcb ldr r3, [pc, #812] ; (11fbc ) - 11c90: 4798 blx r3 + 11cf2: 2100 movs r1, #0 + 11cf4: 0020 movs r0, r4 + 11cf6: 4bcb ldr r3, [pc, #812] ; (12024 ) + 11cf8: 4798 blx r3 _lv_style_list_add_style(list, &styles->btn); - 11c92: 4bcb ldr r3, [pc, #812] ; (11fc0 ) - 11c94: 6819 ldr r1, [r3, #0] - 11c96: 3110 adds r1, #16 - 11c98: 4bca ldr r3, [pc, #808] ; (11fc4 ) - 11c9a: 4798 blx r3 + 11cfa: 4bcb ldr r3, [pc, #812] ; (12028 ) + 11cfc: 6819 ldr r1, [r3, #0] + 11cfe: 3110 adds r1, #16 + 11d00: 4bca ldr r3, [pc, #808] ; (1202c ) + 11d02: 4798 blx r3 break; - 11c9c: e7cf b.n 11c3e + 11d04: e7cf b.n 11ca6 lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BG); - 11c9e: 2100 movs r1, #0 - 11ca0: 4bc5 ldr r3, [pc, #788] ; (11fb8 ) - 11ca2: 4699 mov r9, r3 - 11ca4: 4798 blx r3 + 11d06: 2100 movs r1, #0 + 11d08: 4bc5 ldr r3, [pc, #788] ; (12020 ) + 11d0a: 4699 mov r9, r3 + 11d0c: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BG); - 11ca6: 2100 movs r1, #0 - 11ca8: 0020 movs r0, r4 - 11caa: 4fc4 ldr r7, [pc, #784] ; (11fbc ) - 11cac: 47b8 blx r7 + 11d0e: 2100 movs r1, #0 + 11d10: 0020 movs r0, r4 + 11d12: 4fc4 ldr r7, [pc, #784] ; (12024 ) + 11d14: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 11cae: 4ec4 ldr r6, [pc, #784] ; (11fc0 ) - 11cb0: 6833 ldr r3, [r6, #0] - 11cb2: 1d19 adds r1, r3, #4 - 11cb4: 9001 str r0, [sp, #4] - 11cb6: 4dc3 ldr r5, [pc, #780] ; (11fc4 ) - 11cb8: 47a8 blx r5 + 11d16: 4ec4 ldr r6, [pc, #784] ; (12028 ) + 11d18: 6833 ldr r3, [r6, #0] + 11d1a: 1d19 adds r1, r3, #4 + 11d1c: 9001 str r0, [sp, #4] + 11d1e: 4dc3 ldr r5, [pc, #780] ; (1202c ) + 11d20: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 11cba: 6831 ldr r1, [r6, #0] - 11cbc: 3118 adds r1, #24 - 11cbe: 9801 ldr r0, [sp, #4] - 11cc0: 47a8 blx r5 + 11d22: 6831 ldr r1, [r6, #0] + 11d24: 3118 adds r1, #24 + 11d26: 9801 ldr r0, [sp, #4] + 11d28: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BTN); - 11cc2: 2101 movs r1, #1 - 11cc4: 0020 movs r0, r4 - 11cc6: 47c8 blx r9 + 11d2a: 2101 movs r1, #1 + 11d2c: 0020 movs r0, r4 + 11d2e: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BTN); - 11cc8: 2101 movs r1, #1 - 11cca: 0020 movs r0, r4 - 11ccc: 47b8 blx r7 - 11cce: 0007 movs r7, r0 + 11d30: 2101 movs r1, #1 + 11d32: 0020 movs r0, r4 + 11d34: 47b8 blx r7 + 11d36: 0007 movs r7, r0 _lv_style_list_add_style(list, &styles->bg); - 11cd0: 6833 ldr r3, [r6, #0] - 11cd2: 1d19 adds r1, r3, #4 - 11cd4: 47a8 blx r5 + 11d38: 6833 ldr r3, [r6, #0] + 11d3a: 1d19 adds r1, r3, #4 + 11d3c: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 11cd6: 6831 ldr r1, [r6, #0] - 11cd8: 3108 adds r1, #8 - 11cda: 0038 movs r0, r7 - 11cdc: 47a8 blx r5 + 11d3e: 6831 ldr r1, [r6, #0] + 11d40: 3108 adds r1, #8 + 11d42: 0038 movs r0, r7 + 11d44: 47a8 blx r5 break; - 11cde: e7ae b.n 11c3e + 11d46: e7ae b.n 11ca6 lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BG); - 11ce0: 2100 movs r1, #0 - 11ce2: 4bb5 ldr r3, [pc, #724] ; (11fb8 ) - 11ce4: 4699 mov r9, r3 - 11ce6: 4798 blx r3 + 11d48: 2100 movs r1, #0 + 11d4a: 4bb5 ldr r3, [pc, #724] ; (12020 ) + 11d4c: 4699 mov r9, r3 + 11d4e: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BG); - 11ce8: 2100 movs r1, #0 - 11cea: 0020 movs r0, r4 - 11cec: 4fb3 ldr r7, [pc, #716] ; (11fbc ) - 11cee: 47b8 blx r7 + 11d50: 2100 movs r1, #0 + 11d52: 0020 movs r0, r4 + 11d54: 4fb3 ldr r7, [pc, #716] ; (12024 ) + 11d56: 47b8 blx r7 _lv_style_list_add_style(list, &styles->scr); - 11cf0: 4eb3 ldr r6, [pc, #716] ; (11fc0 ) - 11cf2: 6831 ldr r1, [r6, #0] - 11cf4: 9001 str r0, [sp, #4] - 11cf6: 4db3 ldr r5, [pc, #716] ; (11fc4 ) - 11cf8: 47a8 blx r5 + 11d58: 4eb3 ldr r6, [pc, #716] ; (12028 ) + 11d5a: 6831 ldr r1, [r6, #0] + 11d5c: 9001 str r0, [sp, #4] + 11d5e: 4db3 ldr r5, [pc, #716] ; (1202c ) + 11d60: 47a8 blx r5 _lv_style_list_add_style(list, &styles->kb_bg); - 11cfa: 6831 ldr r1, [r6, #0] - 11cfc: 3168 adds r1, #104 ; 0x68 - 11cfe: 9801 ldr r0, [sp, #4] - 11d00: 47a8 blx r5 + 11d62: 6831 ldr r1, [r6, #0] + 11d64: 3168 adds r1, #104 ; 0x68 + 11d66: 9801 ldr r0, [sp, #4] + 11d68: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BTN); - 11d02: 2101 movs r1, #1 - 11d04: 0020 movs r0, r4 - 11d06: 47c8 blx r9 + 11d6a: 2101 movs r1, #1 + 11d6c: 0020 movs r0, r4 + 11d6e: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BTN); - 11d08: 2101 movs r1, #1 - 11d0a: 0020 movs r0, r4 - 11d0c: 47b8 blx r7 - 11d0e: 0007 movs r7, r0 + 11d70: 2101 movs r1, #1 + 11d72: 0020 movs r0, r4 + 11d74: 47b8 blx r7 + 11d76: 0007 movs r7, r0 _lv_style_list_add_style(list, &styles->bg); - 11d10: 6833 ldr r3, [r6, #0] - 11d12: 1d19 adds r1, r3, #4 - 11d14: 47a8 blx r5 + 11d78: 6833 ldr r3, [r6, #0] + 11d7a: 1d19 adds r1, r3, #4 + 11d7c: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 11d16: 6831 ldr r1, [r6, #0] - 11d18: 3108 adds r1, #8 - 11d1a: 0038 movs r0, r7 - 11d1c: 47a8 blx r5 + 11d7e: 6831 ldr r1, [r6, #0] + 11d80: 3108 adds r1, #8 + 11d82: 0038 movs r0, r7 + 11d84: 47a8 blx r5 break; - 11d1e: e78e b.n 11c3e + 11d86: e78e b.n 11ca6 lv_obj_clean_style_list(obj, LV_BAR_PART_BG); - 11d20: 2100 movs r1, #0 - 11d22: 4ba5 ldr r3, [pc, #660] ; (11fb8 ) - 11d24: 4698 mov r8, r3 - 11d26: 4798 blx r3 + 11d88: 2100 movs r1, #0 + 11d8a: 4ba5 ldr r3, [pc, #660] ; (12020 ) + 11d8c: 4698 mov r8, r3 + 11d8e: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BAR_PART_BG); - 11d28: 2100 movs r1, #0 - 11d2a: 0020 movs r0, r4 - 11d2c: 4fa3 ldr r7, [pc, #652] ; (11fbc ) - 11d2e: 47b8 blx r7 + 11d90: 2100 movs r1, #0 + 11d92: 0020 movs r0, r4 + 11d94: 4fa3 ldr r7, [pc, #652] ; (12024 ) + 11d96: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_bg); - 11d30: 4ea3 ldr r6, [pc, #652] ; (11fc0 ) - 11d32: 6831 ldr r1, [r6, #0] - 11d34: 3124 adds r1, #36 ; 0x24 - 11d36: 4da3 ldr r5, [pc, #652] ; (11fc4 ) - 11d38: 47a8 blx r5 + 11d98: 4ea3 ldr r6, [pc, #652] ; (12028 ) + 11d9a: 6831 ldr r1, [r6, #0] + 11d9c: 3124 adds r1, #36 ; 0x24 + 11d9e: 4da3 ldr r5, [pc, #652] ; (1202c ) + 11da0: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_BAR_PART_INDIC); - 11d3a: 2101 movs r1, #1 - 11d3c: 0020 movs r0, r4 - 11d3e: 47c0 blx r8 + 11da2: 2101 movs r1, #1 + 11da4: 0020 movs r0, r4 + 11da6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BAR_PART_INDIC); - 11d40: 2101 movs r1, #1 - 11d42: 0020 movs r0, r4 - 11d44: 47b8 blx r7 + 11da8: 2101 movs r1, #1 + 11daa: 0020 movs r0, r4 + 11dac: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 11d46: 6831 ldr r1, [r6, #0] - 11d48: 3128 adds r1, #40 ; 0x28 - 11d4a: 47a8 blx r5 + 11dae: 6831 ldr r1, [r6, #0] + 11db0: 3128 adds r1, #40 ; 0x28 + 11db2: 47a8 blx r5 break; - 11d4c: e777 b.n 11c3e + 11db4: e777 b.n 11ca6 lv_obj_clean_style_list(obj, LV_SWITCH_PART_BG); - 11d4e: 2100 movs r1, #0 - 11d50: 4b99 ldr r3, [pc, #612] ; (11fb8 ) - 11d52: 4698 mov r8, r3 - 11d54: 4798 blx r3 + 11db6: 2100 movs r1, #0 + 11db8: 4b99 ldr r3, [pc, #612] ; (12020 ) + 11dba: 4698 mov r8, r3 + 11dbc: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_BG); - 11d56: 2100 movs r1, #0 - 11d58: 0020 movs r0, r4 - 11d5a: 4f98 ldr r7, [pc, #608] ; (11fbc ) - 11d5c: 47b8 blx r7 + 11dbe: 2100 movs r1, #0 + 11dc0: 0020 movs r0, r4 + 11dc2: 4f98 ldr r7, [pc, #608] ; (12024 ) + 11dc4: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_bg); - 11d5e: 4e98 ldr r6, [pc, #608] ; (11fc0 ) - 11d60: 6831 ldr r1, [r6, #0] - 11d62: 3124 adds r1, #36 ; 0x24 - 11d64: 4d97 ldr r5, [pc, #604] ; (11fc4 ) - 11d66: 47a8 blx r5 + 11dc6: 4e98 ldr r6, [pc, #608] ; (12028 ) + 11dc8: 6831 ldr r1, [r6, #0] + 11dca: 3124 adds r1, #36 ; 0x24 + 11dcc: 4d97 ldr r5, [pc, #604] ; (1202c ) + 11dce: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SWITCH_PART_INDIC); - 11d68: 2101 movs r1, #1 - 11d6a: 0020 movs r0, r4 - 11d6c: 47c0 blx r8 + 11dd0: 2101 movs r1, #1 + 11dd2: 0020 movs r0, r4 + 11dd4: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_INDIC); - 11d6e: 2101 movs r1, #1 - 11d70: 0020 movs r0, r4 - 11d72: 47b8 blx r7 + 11dd6: 2101 movs r1, #1 + 11dd8: 0020 movs r0, r4 + 11dda: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 11d74: 6831 ldr r1, [r6, #0] - 11d76: 3128 adds r1, #40 ; 0x28 - 11d78: 47a8 blx r5 + 11ddc: 6831 ldr r1, [r6, #0] + 11dde: 3128 adds r1, #40 ; 0x28 + 11de0: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SWITCH_PART_KNOB); - 11d7a: 2102 movs r1, #2 - 11d7c: 0020 movs r0, r4 - 11d7e: 47c0 blx r8 + 11de2: 2102 movs r1, #2 + 11de4: 0020 movs r0, r4 + 11de6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_KNOB); - 11d80: 2102 movs r1, #2 - 11d82: 0020 movs r0, r4 - 11d84: 47b8 blx r7 + 11de8: 2102 movs r1, #2 + 11dea: 0020 movs r0, r4 + 11dec: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sw_knob); - 11d86: 6831 ldr r1, [r6, #0] - 11d88: 319c adds r1, #156 ; 0x9c - 11d8a: 47a8 blx r5 + 11dee: 6831 ldr r1, [r6, #0] + 11df0: 319c adds r1, #156 ; 0x9c + 11df2: 47a8 blx r5 break; - 11d8c: e757 b.n 11c3e + 11df4: e757 b.n 11ca6 lv_obj_clean_style_list(obj, LV_CANVAS_PART_MAIN); - 11d8e: 2100 movs r1, #0 - 11d90: 4b89 ldr r3, [pc, #548] ; (11fb8 ) - 11d92: 4798 blx r3 + 11df6: 2100 movs r1, #0 + 11df8: 4b89 ldr r3, [pc, #548] ; (12020 ) + 11dfa: 4798 blx r3 break; - 11d94: e753 b.n 11c3e + 11dfc: e753 b.n 11ca6 lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN); - 11d96: 2100 movs r1, #0 - 11d98: 4b87 ldr r3, [pc, #540] ; (11fb8 ) - 11d9a: 4798 blx r3 + 11dfe: 2100 movs r1, #0 + 11e00: 4b87 ldr r3, [pc, #540] ; (12020 ) + 11e02: 4798 blx r3 break; - 11d9c: e74f b.n 11c3e + 11e04: e74f b.n 11ca6 lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN); - 11d9e: 2100 movs r1, #0 - 11da0: 4b85 ldr r3, [pc, #532] ; (11fb8 ) - 11da2: 4798 blx r3 + 11e06: 2100 movs r1, #0 + 11e08: 4b85 ldr r3, [pc, #532] ; (12020 ) + 11e0a: 4798 blx r3 break; - 11da4: e74b b.n 11c3e + 11e0c: e74b b.n 11ca6 lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN); - 11da6: 2100 movs r1, #0 - 11da8: 4b83 ldr r3, [pc, #524] ; (11fb8 ) - 11daa: 4798 blx r3 + 11e0e: 2100 movs r1, #0 + 11e10: 4b83 ldr r3, [pc, #524] ; (12020 ) + 11e12: 4798 blx r3 break; - 11dac: e747 b.n 11c3e + 11e14: e747 b.n 11ca6 lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN); - 11dae: 2100 movs r1, #0 - 11db0: 4b81 ldr r3, [pc, #516] ; (11fb8 ) - 11db2: 4798 blx r3 + 11e16: 2100 movs r1, #0 + 11e18: 4b81 ldr r3, [pc, #516] ; (12020 ) + 11e1a: 4798 blx r3 break; - 11db4: e743 b.n 11c3e + 11e1c: e743 b.n 11ca6 lv_obj_clean_style_list(obj, LV_ARC_PART_BG); - 11db6: 2100 movs r1, #0 - 11db8: 4b7f ldr r3, [pc, #508] ; (11fb8 ) - 11dba: 4699 mov r9, r3 - 11dbc: 4798 blx r3 + 11e1e: 2100 movs r1, #0 + 11e20: 4b7f ldr r3, [pc, #508] ; (12020 ) + 11e22: 4699 mov r9, r3 + 11e24: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_ARC_PART_BG); - 11dbe: 2100 movs r1, #0 - 11dc0: 0020 movs r0, r4 - 11dc2: 4f7e ldr r7, [pc, #504] ; (11fbc ) - 11dc4: 47b8 blx r7 + 11e26: 2100 movs r1, #0 + 11e28: 0020 movs r0, r4 + 11e2a: 4f7e ldr r7, [pc, #504] ; (12024 ) + 11e2c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 11dc6: 4e7e ldr r6, [pc, #504] ; (11fc0 ) - 11dc8: 6833 ldr r3, [r6, #0] - 11dca: 1d19 adds r1, r3, #4 - 11dcc: 9001 str r0, [sp, #4] - 11dce: 4d7d ldr r5, [pc, #500] ; (11fc4 ) - 11dd0: 47a8 blx r5 + 11e2e: 4e7e ldr r6, [pc, #504] ; (12028 ) + 11e30: 6833 ldr r3, [r6, #0] + 11e32: 1d19 adds r1, r3, #4 + 11e34: 9001 str r0, [sp, #4] + 11e36: 4d7d ldr r5, [pc, #500] ; (1202c ) + 11e38: 47a8 blx r5 _lv_style_list_add_style(list, &styles->arc_bg); - 11dd2: 6831 ldr r1, [r6, #0] - 11dd4: 3120 adds r1, #32 - 11dd6: 9801 ldr r0, [sp, #4] - 11dd8: 47a8 blx r5 + 11e3a: 6831 ldr r1, [r6, #0] + 11e3c: 3120 adds r1, #32 + 11e3e: 9801 ldr r0, [sp, #4] + 11e40: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_ARC_PART_INDIC); - 11dda: 2101 movs r1, #1 - 11ddc: 0020 movs r0, r4 - 11dde: 47c8 blx r9 + 11e42: 2101 movs r1, #1 + 11e44: 0020 movs r0, r4 + 11e46: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_ARC_PART_INDIC); - 11de0: 2101 movs r1, #1 - 11de2: 0020 movs r0, r4 - 11de4: 47b8 blx r7 + 11e48: 2101 movs r1, #1 + 11e4a: 0020 movs r0, r4 + 11e4c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_indic); - 11de6: 6831 ldr r1, [r6, #0] - 11de8: 311c adds r1, #28 - 11dea: 47a8 blx r5 + 11e4e: 6831 ldr r1, [r6, #0] + 11e50: 311c adds r1, #28 + 11e52: 47a8 blx r5 break; - 11dec: e727 b.n 11c3e + 11e54: e727 b.n 11ca6 lv_obj_clean_style_list(obj, LV_SPINNER_PART_BG); - 11dee: 2100 movs r1, #0 - 11df0: 4b71 ldr r3, [pc, #452] ; (11fb8 ) - 11df2: 4698 mov r8, r3 - 11df4: 4798 blx r3 + 11e56: 2100 movs r1, #0 + 11e58: 4b71 ldr r3, [pc, #452] ; (12020 ) + 11e5a: 4698 mov r8, r3 + 11e5c: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_SPINNER_PART_BG); - 11df6: 2100 movs r1, #0 - 11df8: 0020 movs r0, r4 - 11dfa: 4f70 ldr r7, [pc, #448] ; (11fbc ) - 11dfc: 47b8 blx r7 + 11e5e: 2100 movs r1, #0 + 11e60: 0020 movs r0, r4 + 11e62: 4f70 ldr r7, [pc, #448] ; (12024 ) + 11e64: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_bg); - 11dfe: 4e70 ldr r6, [pc, #448] ; (11fc0 ) - 11e00: 6831 ldr r1, [r6, #0] - 11e02: 3120 adds r1, #32 - 11e04: 4d6f ldr r5, [pc, #444] ; (11fc4 ) - 11e06: 47a8 blx r5 + 11e66: 4e70 ldr r6, [pc, #448] ; (12028 ) + 11e68: 6831 ldr r1, [r6, #0] + 11e6a: 3120 adds r1, #32 + 11e6c: 4d6f ldr r5, [pc, #444] ; (1202c ) + 11e6e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SPINNER_PART_INDIC); - 11e08: 2101 movs r1, #1 - 11e0a: 0020 movs r0, r4 - 11e0c: 47c0 blx r8 + 11e70: 2101 movs r1, #1 + 11e72: 0020 movs r0, r4 + 11e74: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINNER_PART_INDIC); - 11e0e: 2101 movs r1, #1 - 11e10: 0020 movs r0, r4 - 11e12: 47b8 blx r7 + 11e76: 2101 movs r1, #1 + 11e78: 0020 movs r0, r4 + 11e7a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_indic); - 11e14: 6831 ldr r1, [r6, #0] - 11e16: 311c adds r1, #28 - 11e18: 47a8 blx r5 + 11e7c: 6831 ldr r1, [r6, #0] + 11e7e: 311c adds r1, #28 + 11e80: 47a8 blx r5 break; - 11e1a: e710 b.n 11c3e + 11e82: e710 b.n 11ca6 lv_obj_clean_style_list(obj, LV_SLIDER_PART_BG); - 11e1c: 2100 movs r1, #0 - 11e1e: 4b66 ldr r3, [pc, #408] ; (11fb8 ) - 11e20: 4699 mov r9, r3 - 11e22: 4798 blx r3 + 11e84: 2100 movs r1, #0 + 11e86: 4b66 ldr r3, [pc, #408] ; (12020 ) + 11e88: 4699 mov r9, r3 + 11e8a: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_BG); - 11e24: 2100 movs r1, #0 - 11e26: 0020 movs r0, r4 - 11e28: 4f64 ldr r7, [pc, #400] ; (11fbc ) - 11e2a: 47b8 blx r7 + 11e8c: 2100 movs r1, #0 + 11e8e: 0020 movs r0, r4 + 11e90: 4f64 ldr r7, [pc, #400] ; (12024 ) + 11e92: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_bg); - 11e2c: 4e64 ldr r6, [pc, #400] ; (11fc0 ) - 11e2e: 6831 ldr r1, [r6, #0] - 11e30: 3124 adds r1, #36 ; 0x24 - 11e32: 9001 str r0, [sp, #4] - 11e34: 4d63 ldr r5, [pc, #396] ; (11fc4 ) - 11e36: 47a8 blx r5 + 11e94: 4e64 ldr r6, [pc, #400] ; (12028 ) + 11e96: 6831 ldr r1, [r6, #0] + 11e98: 3124 adds r1, #36 ; 0x24 + 11e9a: 9001 str r0, [sp, #4] + 11e9c: 4d63 ldr r5, [pc, #396] ; (1202c ) + 11e9e: 47a8 blx r5 _lv_style_list_add_style(list, &styles->slider_bg); - 11e38: 6831 ldr r1, [r6, #0] - 11e3a: 3194 adds r1, #148 ; 0x94 - 11e3c: 9801 ldr r0, [sp, #4] - 11e3e: 47a8 blx r5 + 11ea0: 6831 ldr r1, [r6, #0] + 11ea2: 3194 adds r1, #148 ; 0x94 + 11ea4: 9801 ldr r0, [sp, #4] + 11ea6: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SLIDER_PART_INDIC); - 11e40: 2101 movs r1, #1 - 11e42: 0020 movs r0, r4 - 11e44: 47c8 blx r9 + 11ea8: 2101 movs r1, #1 + 11eaa: 0020 movs r0, r4 + 11eac: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_INDIC); - 11e46: 2101 movs r1, #1 - 11e48: 0020 movs r0, r4 - 11e4a: 47b8 blx r7 + 11eae: 2101 movs r1, #1 + 11eb0: 0020 movs r0, r4 + 11eb2: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 11e4c: 6831 ldr r1, [r6, #0] - 11e4e: 3128 adds r1, #40 ; 0x28 - 11e50: 47a8 blx r5 + 11eb4: 6831 ldr r1, [r6, #0] + 11eb6: 3128 adds r1, #40 ; 0x28 + 11eb8: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SLIDER_PART_KNOB); - 11e52: 2102 movs r1, #2 - 11e54: 0020 movs r0, r4 - 11e56: 47c8 blx r9 + 11eba: 2102 movs r1, #2 + 11ebc: 0020 movs r0, r4 + 11ebe: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_KNOB); - 11e58: 2102 movs r1, #2 - 11e5a: 0020 movs r0, r4 - 11e5c: 47b8 blx r7 + 11ec0: 2102 movs r1, #2 + 11ec2: 0020 movs r0, r4 + 11ec4: 47b8 blx r7 _lv_style_list_add_style(list, &styles->slider_knob); - 11e5e: 6831 ldr r1, [r6, #0] - 11e60: 3190 adds r1, #144 ; 0x90 - 11e62: 47a8 blx r5 + 11ec6: 6831 ldr r1, [r6, #0] + 11ec8: 3190 adds r1, #144 ; 0x90 + 11eca: 47a8 blx r5 break; - 11e64: e6eb b.n 11c3e + 11ecc: e6eb b.n 11ca6 lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BG); - 11e66: 2100 movs r1, #0 - 11e68: 4b53 ldr r3, [pc, #332] ; (11fb8 ) - 11e6a: 4698 mov r8, r3 - 11e6c: 4798 blx r3 + 11ece: 2100 movs r1, #0 + 11ed0: 4b53 ldr r3, [pc, #332] ; (12020 ) + 11ed2: 4698 mov r8, r3 + 11ed4: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BG); - 11e6e: 2100 movs r1, #0 - 11e70: 0020 movs r0, r4 - 11e72: 4e52 ldr r6, [pc, #328] ; (11fbc ) - 11e74: 47b0 blx r6 + 11ed6: 2100 movs r1, #0 + 11ed8: 0020 movs r0, r4 + 11eda: 4e52 ldr r6, [pc, #328] ; (12024 ) + 11edc: 47b0 blx r6 _lv_style_list_add_style(list, &styles->cb_bg); - 11e76: 4f52 ldr r7, [pc, #328] ; (11fc0 ) - 11e78: 6839 ldr r1, [r7, #0] - 11e7a: 314c adds r1, #76 ; 0x4c - 11e7c: 4d51 ldr r5, [pc, #324] ; (11fc4 ) - 11e7e: 47a8 blx r5 + 11ede: 4f52 ldr r7, [pc, #328] ; (12028 ) + 11ee0: 6839 ldr r1, [r7, #0] + 11ee2: 314c adds r1, #76 ; 0x4c + 11ee4: 4d51 ldr r5, [pc, #324] ; (1202c ) + 11ee6: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BULLET); - 11e80: 2140 movs r1, #64 ; 0x40 - 11e82: 0020 movs r0, r4 - 11e84: 47c0 blx r8 + 11ee8: 2140 movs r1, #64 ; 0x40 + 11eea: 0020 movs r0, r4 + 11eec: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BULLET); - 11e86: 2140 movs r1, #64 ; 0x40 - 11e88: 0020 movs r0, r4 - 11e8a: 47b0 blx r6 - 11e8c: 0006 movs r6, r0 + 11eee: 2140 movs r1, #64 ; 0x40 + 11ef0: 0020 movs r0, r4 + 11ef2: 47b0 blx r6 + 11ef4: 0006 movs r6, r0 _lv_style_list_add_style(list, &styles->btn); - 11e8e: 6839 ldr r1, [r7, #0] - 11e90: 3110 adds r1, #16 - 11e92: 47a8 blx r5 + 11ef6: 6839 ldr r1, [r7, #0] + 11ef8: 3110 adds r1, #16 + 11efa: 47a8 blx r5 _lv_style_list_add_style(list, &styles->cb_bullet); - 11e94: 6839 ldr r1, [r7, #0] - 11e96: 3150 adds r1, #80 ; 0x50 - 11e98: 0030 movs r0, r6 - 11e9a: 47a8 blx r5 + 11efc: 6839 ldr r1, [r7, #0] + 11efe: 3150 adds r1, #80 ; 0x50 + 11f00: 0030 movs r0, r6 + 11f02: 47a8 blx r5 break; - 11e9c: e6cf b.n 11c3e + 11f04: e6cf b.n 11ca6 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BG); - 11e9e: 2100 movs r1, #0 - 11ea0: 4b45 ldr r3, [pc, #276] ; (11fb8 ) - 11ea2: 4798 blx r3 + 11f06: 2100 movs r1, #0 + 11f08: 4b45 ldr r3, [pc, #276] ; (12020 ) + 11f0a: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BG); - 11ea4: 2100 movs r1, #0 - 11ea6: 0020 movs r0, r4 - 11ea8: 4b44 ldr r3, [pc, #272] ; (11fbc ) - 11eaa: 4798 blx r3 - 11eac: 0005 movs r5, r0 + 11f0c: 2100 movs r1, #0 + 11f0e: 0020 movs r0, r4 + 11f10: 4b44 ldr r3, [pc, #272] ; (12024 ) + 11f12: 4798 blx r3 + 11f14: 0005 movs r5, r0 _lv_style_list_add_style(list, &styles->bg); - 11eae: 4f44 ldr r7, [pc, #272] ; (11fc0 ) - 11eb0: 683b ldr r3, [r7, #0] - 11eb2: 1d19 adds r1, r3, #4 - 11eb4: 4e43 ldr r6, [pc, #268] ; (11fc4 ) - 11eb6: 47b0 blx r6 + 11f16: 4f44 ldr r7, [pc, #272] ; (12028 ) + 11f18: 683b ldr r3, [r7, #0] + 11f1a: 1d19 adds r1, r3, #4 + 11f1c: 4e43 ldr r6, [pc, #268] ; (1202c ) + 11f1e: 47b0 blx r6 _lv_style_list_add_style(list, &styles->mbox_bg); - 11eb8: 6839 ldr r1, [r7, #0] - 11eba: 317c adds r1, #124 ; 0x7c - 11ebc: 0028 movs r0, r5 - 11ebe: 47b0 blx r6 + 11f20: 6839 ldr r1, [r7, #0] + 11f22: 317c adds r1, #124 ; 0x7c + 11f24: 0028 movs r0, r5 + 11f26: 47b0 blx r6 break; - 11ec0: e6bd b.n 11c3e + 11f28: e6bd b.n 11ca6 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN_BG); - 11ec2: 2140 movs r1, #64 ; 0x40 - 11ec4: 4b3c ldr r3, [pc, #240] ; (11fb8 ) - 11ec6: 4698 mov r8, r3 - 11ec8: 4798 blx r3 + 11f2a: 2140 movs r1, #64 ; 0x40 + 11f2c: 4b3c ldr r3, [pc, #240] ; (12020 ) + 11f2e: 4698 mov r8, r3 + 11f30: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN_BG); - 11eca: 2140 movs r1, #64 ; 0x40 - 11ecc: 0020 movs r0, r4 - 11ece: 4f3b ldr r7, [pc, #236] ; (11fbc ) - 11ed0: 47b8 blx r7 + 11f32: 2140 movs r1, #64 ; 0x40 + 11f34: 0020 movs r0, r4 + 11f36: 4f3b ldr r7, [pc, #236] ; (12024 ) + 11f38: 47b8 blx r7 _lv_style_list_add_style(list, &styles->pad_small); - 11ed2: 4e3b ldr r6, [pc, #236] ; (11fc0 ) - 11ed4: 6831 ldr r1, [r6, #0] - 11ed6: 3118 adds r1, #24 - 11ed8: 4d3a ldr r5, [pc, #232] ; (11fc4 ) - 11eda: 47a8 blx r5 + 11f3a: 4e3b ldr r6, [pc, #236] ; (12028 ) + 11f3c: 6831 ldr r1, [r6, #0] + 11f3e: 3118 adds r1, #24 + 11f40: 4d3a ldr r5, [pc, #232] ; (1202c ) + 11f42: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN); - 11edc: 2141 movs r1, #65 ; 0x41 - 11ede: 0020 movs r0, r4 - 11ee0: 47c0 blx r8 + 11f44: 2141 movs r1, #65 ; 0x41 + 11f46: 0020 movs r0, r4 + 11f48: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN); - 11ee2: 2141 movs r1, #65 ; 0x41 - 11ee4: 0020 movs r0, r4 - 11ee6: 47b8 blx r7 + 11f4a: 2141 movs r1, #65 ; 0x41 + 11f4c: 0020 movs r0, r4 + 11f4e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->btn); - 11ee8: 6831 ldr r1, [r6, #0] - 11eea: 3110 adds r1, #16 - 11eec: 47a8 blx r5 + 11f50: 6831 ldr r1, [r6, #0] + 11f52: 3110 adds r1, #16 + 11f54: 47a8 blx r5 break; - 11eee: e6a6 b.n 11c3e + 11f56: e6a6 b.n 11ca6 lv_obj_clean_style_list(obj, LV_LED_PART_MAIN); - 11ef0: 2100 movs r1, #0 - 11ef2: 4b31 ldr r3, [pc, #196] ; (11fb8 ) - 11ef4: 4798 blx r3 + 11f58: 2100 movs r1, #0 + 11f5a: 4b31 ldr r3, [pc, #196] ; (12020 ) + 11f5c: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_LED_PART_MAIN); - 11ef6: 2100 movs r1, #0 - 11ef8: 0020 movs r0, r4 - 11efa: 4b30 ldr r3, [pc, #192] ; (11fbc ) - 11efc: 4798 blx r3 + 11f5e: 2100 movs r1, #0 + 11f60: 0020 movs r0, r4 + 11f62: 4b30 ldr r3, [pc, #192] ; (12024 ) + 11f64: 4798 blx r3 _lv_style_list_add_style(list, &styles->led); - 11efe: 4b30 ldr r3, [pc, #192] ; (11fc0 ) - 11f00: 6819 ldr r1, [r3, #0] - 11f02: 316c adds r1, #108 ; 0x6c - 11f04: 4b2f ldr r3, [pc, #188] ; (11fc4 ) - 11f06: 4798 blx r3 + 11f66: 4b30 ldr r3, [pc, #192] ; (12028 ) + 11f68: 6819 ldr r1, [r3, #0] + 11f6a: 316c adds r1, #108 ; 0x6c + 11f6c: 4b2f ldr r3, [pc, #188] ; (1202c ) + 11f6e: 4798 blx r3 break; - 11f08: e699 b.n 11c3e + 11f70: e699 b.n 11ca6 lv_obj_clean_style_list(obj, LV_PAGE_PART_BG); - 11f0a: 2100 movs r1, #0 - 11f0c: 4b2a ldr r3, [pc, #168] ; (11fb8 ) - 11f0e: 4698 mov r8, r3 - 11f10: 4798 blx r3 + 11f72: 2100 movs r1, #0 + 11f74: 4b2a ldr r3, [pc, #168] ; (12020 ) + 11f76: 4698 mov r8, r3 + 11f78: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG); - 11f12: 2100 movs r1, #0 - 11f14: 0020 movs r0, r4 - 11f16: 4f29 ldr r7, [pc, #164] ; (11fbc ) - 11f18: 47b8 blx r7 + 11f7a: 2100 movs r1, #0 + 11f7c: 0020 movs r0, r4 + 11f7e: 4f29 ldr r7, [pc, #164] ; (12024 ) + 11f80: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 11f1a: 4e29 ldr r6, [pc, #164] ; (11fc0 ) - 11f1c: 6833 ldr r3, [r6, #0] - 11f1e: 1d19 adds r1, r3, #4 - 11f20: 4d28 ldr r5, [pc, #160] ; (11fc4 ) - 11f22: 47a8 blx r5 + 11f82: 4e29 ldr r6, [pc, #164] ; (12028 ) + 11f84: 6833 ldr r3, [r6, #0] + 11f86: 1d19 adds r1, r3, #4 + 11f88: 4d28 ldr r5, [pc, #160] ; (1202c ) + 11f8a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 11f24: 2140 movs r1, #64 ; 0x40 - 11f26: 0020 movs r0, r4 - 11f28: 47c0 blx r8 + 11f8c: 2140 movs r1, #64 ; 0x40 + 11f8e: 0020 movs r0, r4 + 11f90: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 11f2a: 2140 movs r1, #64 ; 0x40 - 11f2c: 0020 movs r0, r4 - 11f2e: 47b8 blx r7 + 11f92: 2140 movs r1, #64 ; 0x40 + 11f94: 0020 movs r0, r4 + 11f96: 47b8 blx r7 _lv_style_list_add_style(list, &styles->pad_inner); - 11f30: 6831 ldr r1, [r6, #0] - 11f32: 3114 adds r1, #20 - 11f34: 47a8 blx r5 + 11f98: 6831 ldr r1, [r6, #0] + 11f9a: 3114 adds r1, #20 + 11f9c: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLBAR); - 11f36: 2101 movs r1, #1 - 11f38: 0020 movs r0, r4 - 11f3a: 47c0 blx r8 + 11f9e: 2101 movs r1, #1 + 11fa0: 0020 movs r0, r4 + 11fa2: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLBAR); - 11f3c: 2101 movs r1, #1 - 11f3e: 0020 movs r0, r4 - 11f40: 47b8 blx r7 + 11fa4: 2101 movs r1, #1 + 11fa6: 0020 movs r0, r4 + 11fa8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 11f42: 6831 ldr r1, [r6, #0] - 11f44: 3180 adds r1, #128 ; 0x80 - 11f46: 47a8 blx r5 + 11faa: 6831 ldr r1, [r6, #0] + 11fac: 3180 adds r1, #128 ; 0x80 + 11fae: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_EDGE_FLASH); - 11f48: 2102 movs r1, #2 - 11f4a: 0020 movs r0, r4 - 11f4c: 47c0 blx r8 + 11fb0: 2102 movs r1, #2 + 11fb2: 0020 movs r0, r4 + 11fb4: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_EDGE_FLASH); - 11f4e: 2102 movs r1, #2 - 11f50: 0020 movs r0, r4 - 11f52: 47b8 blx r7 + 11fb6: 2102 movs r1, #2 + 11fb8: 0020 movs r0, r4 + 11fba: 47b8 blx r7 _lv_style_list_add_style(list, &styles->edge_flash); - 11f54: 6831 ldr r1, [r6, #0] - 11f56: 3184 adds r1, #132 ; 0x84 - 11f58: 47a8 blx r5 + 11fbc: 6831 ldr r1, [r6, #0] + 11fbe: 3184 adds r1, #132 ; 0x84 + 11fc0: 47a8 blx r5 break; - 11f5a: e670 b.n 11c3e + 11fc2: e670 b.n 11ca6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG); - 11f5c: 2100 movs r1, #0 - 11f5e: 4d16 ldr r5, [pc, #88] ; (11fb8 ) - 11f60: 47a8 blx r5 + 11fc4: 2100 movs r1, #0 + 11fc6: 4d16 ldr r5, [pc, #88] ; (12020 ) + 11fc8: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG); - 11f62: 2100 movs r1, #0 - 11f64: 0020 movs r0, r4 - 11f66: 4b15 ldr r3, [pc, #84] ; (11fbc ) - 11f68: 4698 mov r8, r3 - 11f6a: 4798 blx r3 + 11fca: 2100 movs r1, #0 + 11fcc: 0020 movs r0, r4 + 11fce: 4b15 ldr r3, [pc, #84] ; (12024 ) + 11fd0: 4698 mov r8, r3 + 11fd2: 4798 blx r3 _lv_style_list_add_style(list, &styles->scr); - 11f6c: 4f14 ldr r7, [pc, #80] ; (11fc0 ) - 11f6e: 6839 ldr r1, [r7, #0] - 11f70: 4e14 ldr r6, [pc, #80] ; (11fc4 ) - 11f72: 47b0 blx r6 + 11fd4: 4f14 ldr r7, [pc, #80] ; (12028 ) + 11fd6: 6839 ldr r1, [r7, #0] + 11fd8: 4e14 ldr r6, [pc, #80] ; (1202c ) + 11fda: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG_SCRLLABLE); - 11f74: 2140 movs r1, #64 ; 0x40 - 11f76: 0020 movs r0, r4 - 11f78: 47a8 blx r5 + 11fdc: 2140 movs r1, #64 ; 0x40 + 11fde: 0020 movs r0, r4 + 11fe0: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BG); - 11f7a: 2141 movs r1, #65 ; 0x41 - 11f7c: 0020 movs r0, r4 - 11f7e: 47a8 blx r5 + 11fe2: 2141 movs r1, #65 ; 0x41 + 11fe4: 0020 movs r0, r4 + 11fe6: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BG); - 11f80: 2141 movs r1, #65 ; 0x41 - 11f82: 0020 movs r0, r4 - 11f84: 47c0 blx r8 + 11fe8: 2141 movs r1, #65 ; 0x41 + 11fea: 0020 movs r0, r4 + 11fec: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_btns_bg); - 11f86: 6839 ldr r1, [r7, #0] - 11f88: 31a8 adds r1, #168 ; 0xa8 - 11f8a: 47b0 blx r6 + 11fee: 6839 ldr r1, [r7, #0] + 11ff0: 31a8 adds r1, #168 ; 0xa8 + 11ff2: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_INDIC); - 11f8c: 2143 movs r1, #67 ; 0x43 - 11f8e: 0020 movs r0, r4 - 11f90: 47a8 blx r5 + 11ff4: 2143 movs r1, #67 ; 0x43 + 11ff6: 0020 movs r0, r4 + 11ff8: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_INDIC); - 11f92: 2143 movs r1, #67 ; 0x43 - 11f94: 0020 movs r0, r4 - 11f96: 47c0 blx r8 + 11ffa: 2143 movs r1, #67 ; 0x43 + 11ffc: 0020 movs r0, r4 + 11ffe: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_indic); - 11f98: 6839 ldr r1, [r7, #0] - 11f9a: 31ac adds r1, #172 ; 0xac - 11f9c: 47b0 blx r6 + 12000: 6839 ldr r1, [r7, #0] + 12002: 31ac adds r1, #172 ; 0xac + 12004: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BTN); - 11f9e: 2142 movs r1, #66 ; 0x42 - 11fa0: 0020 movs r0, r4 - 11fa2: 47a8 blx r5 + 12006: 2142 movs r1, #66 ; 0x42 + 12008: 0020 movs r0, r4 + 1200a: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BTN); - 11fa4: 2142 movs r1, #66 ; 0x42 - 11fa6: 0020 movs r0, r4 - 11fa8: 47c0 blx r8 + 1200c: 2142 movs r1, #66 ; 0x42 + 1200e: 0020 movs r0, r4 + 12010: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_btns); - 11faa: 6839 ldr r1, [r7, #0] - 11fac: 31a4 adds r1, #164 ; 0xa4 - 11fae: 47b0 blx r6 + 12012: 6839 ldr r1, [r7, #0] + 12014: 31a4 adds r1, #164 ; 0xa4 + 12016: 47b0 blx r6 break; - 11fb0: e645 b.n 11c3e - 11fb2: 46c0 nop ; (mov r8, r8) - 11fb4: 0001c964 .word 0x0001c964 - 11fb8: 00001d6d .word 0x00001d6d - 11fbc: 00001c91 .word 0x00001c91 - 11fc0: 20004c38 .word 0x20004c38 - 11fc4: 000049b5 .word 0x000049b5 - 11fc8: 00002525 .word 0x00002525 + 12018: e645 b.n 11ca6 + 1201a: 46c0 nop ; (mov r8, r8) + 1201c: 0001c9f4 .word 0x0001c9f4 + 12020: 00001dd5 .word 0x00001dd5 + 12024: 00001cf9 .word 0x00001cf9 + 12028: 20004c38 .word 0x20004c38 + 1202c: 00004a1d .word 0x00004a1d + 12030: 0000258d .word 0x0000258d lv_obj_clean_style_list(obj, LV_PAGE_PART_BG); - 11fcc: 2100 movs r1, #0 - 11fce: 4df3 ldr r5, [pc, #972] ; (1239c ) - 11fd0: 47a8 blx r5 + 12034: 2100 movs r1, #0 + 12036: 4df3 ldr r5, [pc, #972] ; (12404 ) + 12038: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 11fd2: 2140 movs r1, #64 ; 0x40 - 11fd4: 0020 movs r0, r4 - 11fd6: 47a8 blx r5 + 1203a: 2140 movs r1, #64 ; 0x40 + 1203c: 0020 movs r0, r4 + 1203e: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 11fd8: 2140 movs r1, #64 ; 0x40 - 11fda: 0020 movs r0, r4 - 11fdc: 4bf0 ldr r3, [pc, #960] ; (123a0 ) - 11fde: 4798 blx r3 + 12040: 2140 movs r1, #64 ; 0x40 + 12042: 0020 movs r0, r4 + 12044: 4bf0 ldr r3, [pc, #960] ; (12408 ) + 12046: 4798 blx r3 _lv_style_list_add_style(list, &styles->tabview_page_scrl); - 11fe0: 4bf0 ldr r3, [pc, #960] ; (123a4 ) - 11fe2: 6819 ldr r1, [r3, #0] - 11fe4: 31b0 adds r1, #176 ; 0xb0 - 11fe6: 4bf0 ldr r3, [pc, #960] ; (123a8 ) - 11fe8: 4798 blx r3 + 12048: 4bf0 ldr r3, [pc, #960] ; (1240c ) + 1204a: 6819 ldr r1, [r3, #0] + 1204c: 31b0 adds r1, #176 ; 0xb0 + 1204e: 4bf0 ldr r3, [pc, #960] ; (12410 ) + 12050: 4798 blx r3 break; - 11fea: e628 b.n 11c3e + 12052: e628 b.n 11ca6 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_BG); - 11fec: 2100 movs r1, #0 - 11fee: 4beb ldr r3, [pc, #940] ; (1239c ) - 11ff0: 4698 mov r8, r3 - 11ff2: 4798 blx r3 + 12054: 2100 movs r1, #0 + 12056: 4beb ldr r3, [pc, #940] ; (12404 ) + 12058: 4698 mov r8, r3 + 1205a: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_BG); - 11ff4: 2100 movs r1, #0 - 11ff6: 0020 movs r0, r4 - 11ff8: 4fe9 ldr r7, [pc, #932] ; (123a0 ) - 11ffa: 47b8 blx r7 + 1205c: 2100 movs r1, #0 + 1205e: 0020 movs r0, r4 + 12060: 4fe9 ldr r7, [pc, #932] ; (12408 ) + 12062: 47b8 blx r7 _lv_style_list_add_style(list, &styles->scr); - 11ffc: 4ee9 ldr r6, [pc, #932] ; (123a4 ) - 11ffe: 6831 ldr r1, [r6, #0] - 12000: 4de9 ldr r5, [pc, #932] ; (123a8 ) - 12002: 47a8 blx r5 + 12064: 4ee9 ldr r6, [pc, #932] ; (1240c ) + 12066: 6831 ldr r1, [r6, #0] + 12068: 4de9 ldr r5, [pc, #932] ; (12410 ) + 1206a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR); - 12004: 2101 movs r1, #1 - 12006: 0020 movs r0, r4 - 12008: 47c0 blx r8 + 1206c: 2101 movs r1, #1 + 1206e: 0020 movs r0, r4 + 12070: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR); - 1200a: 2101 movs r1, #1 - 1200c: 0020 movs r0, r4 - 1200e: 47b8 blx r7 + 12072: 2101 movs r1, #1 + 12074: 0020 movs r0, r4 + 12076: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 12010: 6831 ldr r1, [r6, #0] - 12012: 3180 adds r1, #128 ; 0x80 - 12014: 47a8 blx r5 + 12078: 6831 ldr r1, [r6, #0] + 1207a: 3180 adds r1, #128 ; 0x80 + 1207c: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH); - 12016: 2102 movs r1, #2 - 12018: 0020 movs r0, r4 - 1201a: 47c0 blx r8 + 1207e: 2102 movs r1, #2 + 12080: 0020 movs r0, r4 + 12082: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH); - 1201c: 2102 movs r1, #2 - 1201e: 0020 movs r0, r4 - 12020: 47b8 blx r7 + 12084: 2102 movs r1, #2 + 12086: 0020 movs r0, r4 + 12088: 47b8 blx r7 _lv_style_list_add_style(list, &styles->edge_flash); - 12022: 6831 ldr r1, [r6, #0] - 12024: 3184 adds r1, #132 ; 0x84 - 12026: 47a8 blx r5 + 1208a: 6831 ldr r1, [r6, #0] + 1208c: 3184 adds r1, #132 ; 0x84 + 1208e: 47a8 blx r5 break; - 12028: e609 b.n 11c3e + 12090: e609 b.n 11ca6 lv_obj_clean_style_list(obj, LV_ROLLER_PART_BG); - 1202a: 2100 movs r1, #0 - 1202c: 4bdb ldr r3, [pc, #876] ; (1239c ) - 1202e: 4699 mov r9, r3 - 12030: 4798 blx r3 + 12092: 2100 movs r1, #0 + 12094: 4bdb ldr r3, [pc, #876] ; (12404 ) + 12096: 4699 mov r9, r3 + 12098: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_ROLLER_PART_BG); - 12032: 2100 movs r1, #0 - 12034: 0020 movs r0, r4 - 12036: 4fda ldr r7, [pc, #872] ; (123a0 ) - 12038: 47b8 blx r7 + 1209a: 2100 movs r1, #0 + 1209c: 0020 movs r0, r4 + 1209e: 4fda ldr r7, [pc, #872] ; (12408 ) + 120a0: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 1203a: 4eda ldr r6, [pc, #872] ; (123a4 ) - 1203c: 6833 ldr r3, [r6, #0] - 1203e: 1d19 adds r1, r3, #4 - 12040: 9001 str r0, [sp, #4] - 12042: 4dd9 ldr r5, [pc, #868] ; (123a8 ) - 12044: 47a8 blx r5 + 120a2: 4eda ldr r6, [pc, #872] ; (1240c ) + 120a4: 6833 ldr r3, [r6, #0] + 120a6: 1d19 adds r1, r3, #4 + 120a8: 9001 str r0, [sp, #4] + 120aa: 4dd9 ldr r5, [pc, #868] ; (12410 ) + 120ac: 47a8 blx r5 _lv_style_list_add_style(list, &styles->roller_bg); - 12046: 6831 ldr r1, [r6, #0] - 12048: 3188 adds r1, #136 ; 0x88 - 1204a: 9801 ldr r0, [sp, #4] - 1204c: 47a8 blx r5 + 120ae: 6831 ldr r1, [r6, #0] + 120b0: 3188 adds r1, #136 ; 0x88 + 120b2: 9801 ldr r0, [sp, #4] + 120b4: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_ROLLER_PART_SELECTED); - 1204e: 2103 movs r1, #3 - 12050: 0020 movs r0, r4 - 12052: 47c8 blx r9 + 120b6: 2103 movs r1, #3 + 120b8: 0020 movs r0, r4 + 120ba: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_ROLLER_PART_SELECTED); - 12054: 2103 movs r1, #3 - 12056: 0020 movs r0, r4 - 12058: 47b8 blx r7 + 120bc: 2103 movs r1, #3 + 120be: 0020 movs r0, r4 + 120c0: 47b8 blx r7 _lv_style_list_add_style(list, &styles->roller_sel); - 1205a: 6831 ldr r1, [r6, #0] - 1205c: 318c adds r1, #140 ; 0x8c - 1205e: 47a8 blx r5 + 120c2: 6831 ldr r1, [r6, #0] + 120c4: 318c adds r1, #140 ; 0x8c + 120c6: 47a8 blx r5 break; - 12060: e5ed b.n 11c3e + 120c8: e5ed b.n 11ca6 lv_obj_clean_style_list(obj, LV_OBJMASK_PART_MAIN); - 12062: 2100 movs r1, #0 - 12064: 4bcd ldr r3, [pc, #820] ; (1239c ) - 12066: 4798 blx r3 + 120ca: 2100 movs r1, #0 + 120cc: 4bcd ldr r3, [pc, #820] ; (12404 ) + 120ce: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJMASK_PART_MAIN); - 12068: 2100 movs r1, #0 - 1206a: 0020 movs r0, r4 - 1206c: 4bcc ldr r3, [pc, #816] ; (123a0 ) - 1206e: 4798 blx r3 + 120d0: 2100 movs r1, #0 + 120d2: 0020 movs r0, r4 + 120d4: 4bcc ldr r3, [pc, #816] ; (12408 ) + 120d6: 4798 blx r3 break; - 12070: e5e5 b.n 11c3e + 120d8: e5e5 b.n 11ca6 lv_obj_clean_style_list(obj, LV_LIST_PART_BG); - 12072: 2100 movs r1, #0 - 12074: 4bc9 ldr r3, [pc, #804] ; (1239c ) - 12076: 4698 mov r8, r3 - 12078: 4798 blx r3 + 120da: 2100 movs r1, #0 + 120dc: 4bc9 ldr r3, [pc, #804] ; (12404 ) + 120de: 4698 mov r8, r3 + 120e0: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_LIST_PART_BG); - 1207a: 2100 movs r1, #0 - 1207c: 0020 movs r0, r4 - 1207e: 4fc8 ldr r7, [pc, #800] ; (123a0 ) - 12080: 47b8 blx r7 + 120e2: 2100 movs r1, #0 + 120e4: 0020 movs r0, r4 + 120e6: 4fc8 ldr r7, [pc, #800] ; (12408 ) + 120e8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 12082: 4ec8 ldr r6, [pc, #800] ; (123a4 ) - 12084: 6833 ldr r3, [r6, #0] - 12086: 1d19 adds r1, r3, #4 - 12088: 9001 str r0, [sp, #4] - 1208a: 4dc7 ldr r5, [pc, #796] ; (123a8 ) - 1208c: 47a8 blx r5 + 120ea: 4ec8 ldr r6, [pc, #800] ; (1240c ) + 120ec: 6833 ldr r3, [r6, #0] + 120ee: 1d19 adds r1, r3, #4 + 120f0: 9001 str r0, [sp, #4] + 120f2: 4dc7 ldr r5, [pc, #796] ; (12410 ) + 120f4: 47a8 blx r5 _lv_style_list_add_style(list, &styles->list_bg); - 1208e: 6831 ldr r1, [r6, #0] - 12090: 3174 adds r1, #116 ; 0x74 - 12092: 9801 ldr r0, [sp, #4] - 12094: 47a8 blx r5 + 120f6: 6831 ldr r1, [r6, #0] + 120f8: 3174 adds r1, #116 ; 0x74 + 120fa: 9801 ldr r0, [sp, #4] + 120fc: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLABLE); - 12096: 2140 movs r1, #64 ; 0x40 - 12098: 0020 movs r0, r4 - 1209a: 47c0 blx r8 + 120fe: 2140 movs r1, #64 ; 0x40 + 12100: 0020 movs r0, r4 + 12102: 47c0 blx r8 lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLBAR); - 1209c: 2101 movs r1, #1 - 1209e: 0020 movs r0, r4 - 120a0: 47c0 blx r8 + 12104: 2101 movs r1, #1 + 12106: 0020 movs r0, r4 + 12108: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_LIST_PART_SCROLLBAR); - 120a2: 2101 movs r1, #1 - 120a4: 0020 movs r0, r4 - 120a6: 47b8 blx r7 + 1210a: 2101 movs r1, #1 + 1210c: 0020 movs r0, r4 + 1210e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 120a8: 6831 ldr r1, [r6, #0] - 120aa: 3180 adds r1, #128 ; 0x80 - 120ac: 47a8 blx r5 + 12110: 6831 ldr r1, [r6, #0] + 12112: 3180 adds r1, #128 ; 0x80 + 12114: 47a8 blx r5 break; - 120ae: e5c6 b.n 11c3e + 12116: e5c6 b.n 11ca6 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 120b0: 2100 movs r1, #0 - 120b2: 4bba ldr r3, [pc, #744] ; (1239c ) - 120b4: 4798 blx r3 + 12118: 2100 movs r1, #0 + 1211a: 4bba ldr r3, [pc, #744] ; (12404 ) + 1211c: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 120b6: 2100 movs r1, #0 - 120b8: 0020 movs r0, r4 - 120ba: 4bb9 ldr r3, [pc, #740] ; (123a0 ) - 120bc: 4798 blx r3 + 1211e: 2100 movs r1, #0 + 12120: 0020 movs r0, r4 + 12122: 4bb9 ldr r3, [pc, #740] ; (12408 ) + 12124: 4798 blx r3 _lv_style_list_add_style(list, &styles->list_btn); - 120be: 4bb9 ldr r3, [pc, #740] ; (123a4 ) - 120c0: 6819 ldr r1, [r3, #0] - 120c2: 3178 adds r1, #120 ; 0x78 - 120c4: 4bb8 ldr r3, [pc, #736] ; (123a8 ) - 120c6: 4798 blx r3 + 12126: 4bb9 ldr r3, [pc, #740] ; (1240c ) + 12128: 6819 ldr r1, [r3, #0] + 1212a: 3178 adds r1, #120 ; 0x78 + 1212c: 4bb8 ldr r3, [pc, #736] ; (12410 ) + 1212e: 4798 blx r3 break; - 120c8: e5b9 b.n 11c3e + 12130: e5b9 b.n 11ca6 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_MAIN); - 120ca: 2100 movs r1, #0 - 120cc: 4bb3 ldr r3, [pc, #716] ; (1239c ) - 120ce: 4699 mov r9, r3 - 120d0: 4798 blx r3 + 12132: 2100 movs r1, #0 + 12134: 4bb3 ldr r3, [pc, #716] ; (12404 ) + 12136: 4699 mov r9, r3 + 12138: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_MAIN); - 120d2: 2100 movs r1, #0 - 120d4: 0020 movs r0, r4 - 120d6: 4fb2 ldr r7, [pc, #712] ; (123a0 ) - 120d8: 47b8 blx r7 + 1213a: 2100 movs r1, #0 + 1213c: 0020 movs r0, r4 + 1213e: 4fb2 ldr r7, [pc, #712] ; (12408 ) + 12140: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 120da: 4eb2 ldr r6, [pc, #712] ; (123a4 ) - 120dc: 6833 ldr r3, [r6, #0] - 120de: 1d19 adds r1, r3, #4 - 120e0: 9001 str r0, [sp, #4] - 120e2: 4db1 ldr r5, [pc, #708] ; (123a8 ) - 120e4: 47a8 blx r5 + 12142: 4eb2 ldr r6, [pc, #712] ; (1240c ) + 12144: 6833 ldr r3, [r6, #0] + 12146: 1d19 adds r1, r3, #4 + 12148: 9001 str r0, [sp, #4] + 1214a: 4db1 ldr r5, [pc, #708] ; (12410 ) + 1214c: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 120e6: 6831 ldr r1, [r6, #0] - 120e8: 3108 adds r1, #8 - 120ea: 9801 ldr r0, [sp, #4] - 120ec: 47a8 blx r5 + 1214e: 6831 ldr r1, [r6, #0] + 12150: 3108 adds r1, #8 + 12152: 9801 ldr r0, [sp, #4] + 12154: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 120ee: 6831 ldr r1, [r6, #0] - 120f0: 3118 adds r1, #24 - 120f2: 9801 ldr r0, [sp, #4] - 120f4: 47a8 blx r5 + 12156: 6831 ldr r1, [r6, #0] + 12158: 3118 adds r1, #24 + 1215a: 9801 ldr r0, [sp, #4] + 1215c: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_LIST); - 120f6: 2140 movs r1, #64 ; 0x40 - 120f8: 0020 movs r0, r4 - 120fa: 47c8 blx r9 + 1215e: 2140 movs r1, #64 ; 0x40 + 12160: 0020 movs r0, r4 + 12162: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_LIST); - 120fc: 2140 movs r1, #64 ; 0x40 - 120fe: 0020 movs r0, r4 - 12100: 47b8 blx r7 + 12164: 2140 movs r1, #64 ; 0x40 + 12166: 0020 movs r0, r4 + 12168: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 12102: 6833 ldr r3, [r6, #0] - 12104: 1d19 adds r1, r3, #4 - 12106: 9001 str r0, [sp, #4] - 12108: 47a8 blx r5 + 1216a: 6833 ldr r3, [r6, #0] + 1216c: 1d19 adds r1, r3, #4 + 1216e: 9001 str r0, [sp, #4] + 12170: 47a8 blx r5 _lv_style_list_add_style(list, &styles->ddlist_page); - 1210a: 6831 ldr r1, [r6, #0] - 1210c: 3154 adds r1, #84 ; 0x54 - 1210e: 9801 ldr r0, [sp, #4] - 12110: 47a8 blx r5 + 12172: 6831 ldr r1, [r6, #0] + 12174: 3154 adds r1, #84 ; 0x54 + 12176: 9801 ldr r0, [sp, #4] + 12178: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR); - 12112: 2141 movs r1, #65 ; 0x41 - 12114: 0020 movs r0, r4 - 12116: 47c8 blx r9 + 1217a: 2141 movs r1, #65 ; 0x41 + 1217c: 0020 movs r0, r4 + 1217e: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR); - 12118: 2141 movs r1, #65 ; 0x41 - 1211a: 0020 movs r0, r4 - 1211c: 47b8 blx r7 + 12180: 2141 movs r1, #65 ; 0x41 + 12182: 0020 movs r0, r4 + 12184: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 1211e: 6831 ldr r1, [r6, #0] - 12120: 3180 adds r1, #128 ; 0x80 - 12122: 47a8 blx r5 + 12186: 6831 ldr r1, [r6, #0] + 12188: 3180 adds r1, #128 ; 0x80 + 1218a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SELECTED); - 12124: 2142 movs r1, #66 ; 0x42 - 12126: 0020 movs r0, r4 - 12128: 47c8 blx r9 + 1218c: 2142 movs r1, #66 ; 0x42 + 1218e: 0020 movs r0, r4 + 12190: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SELECTED); - 1212a: 2142 movs r1, #66 ; 0x42 - 1212c: 0020 movs r0, r4 - 1212e: 47b8 blx r7 + 12192: 2142 movs r1, #66 ; 0x42 + 12194: 0020 movs r0, r4 + 12196: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ddlist_sel); - 12130: 6831 ldr r1, [r6, #0] - 12132: 3158 adds r1, #88 ; 0x58 - 12134: 47a8 blx r5 + 12198: 6831 ldr r1, [r6, #0] + 1219a: 3158 adds r1, #88 ; 0x58 + 1219c: 47a8 blx r5 break; - 12136: e582 b.n 11c3e + 1219e: e582 b.n 11ca6 lv_obj_clean_style_list(obj, LV_CHART_PART_BG); - 12138: 2100 movs r1, #0 - 1213a: 4b98 ldr r3, [pc, #608] ; (1239c ) - 1213c: 4699 mov r9, r3 - 1213e: 4798 blx r3 + 121a0: 2100 movs r1, #0 + 121a2: 4b98 ldr r3, [pc, #608] ; (12404 ) + 121a4: 4699 mov r9, r3 + 121a6: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_CHART_PART_BG); - 12140: 2100 movs r1, #0 - 12142: 0020 movs r0, r4 - 12144: 4f96 ldr r7, [pc, #600] ; (123a0 ) - 12146: 47b8 blx r7 + 121a8: 2100 movs r1, #0 + 121aa: 0020 movs r0, r4 + 121ac: 4f96 ldr r7, [pc, #600] ; (12408 ) + 121ae: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 12148: 4e96 ldr r6, [pc, #600] ; (123a4 ) - 1214a: 6833 ldr r3, [r6, #0] - 1214c: 1d19 adds r1, r3, #4 - 1214e: 9001 str r0, [sp, #4] - 12150: 4d95 ldr r5, [pc, #596] ; (123a8 ) - 12152: 47a8 blx r5 + 121b0: 4e96 ldr r6, [pc, #600] ; (1240c ) + 121b2: 6833 ldr r3, [r6, #0] + 121b4: 1d19 adds r1, r3, #4 + 121b6: 9001 str r0, [sp, #4] + 121b8: 4d95 ldr r5, [pc, #596] ; (12410 ) + 121ba: 47a8 blx r5 _lv_style_list_add_style(list, &styles->chart_bg); - 12154: 6831 ldr r1, [r6, #0] - 12156: 3140 adds r1, #64 ; 0x40 - 12158: 9801 ldr r0, [sp, #4] - 1215a: 47a8 blx r5 + 121bc: 6831 ldr r1, [r6, #0] + 121be: 3140 adds r1, #64 ; 0x40 + 121c0: 9801 ldr r0, [sp, #4] + 121c2: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 1215c: 6831 ldr r1, [r6, #0] - 1215e: 3118 adds r1, #24 - 12160: 9801 ldr r0, [sp, #4] - 12162: 47a8 blx r5 + 121c4: 6831 ldr r1, [r6, #0] + 121c6: 3118 adds r1, #24 + 121c8: 9801 ldr r0, [sp, #4] + 121ca: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES_BG); - 12164: 2101 movs r1, #1 - 12166: 0020 movs r0, r4 - 12168: 47c8 blx r9 + 121cc: 2101 movs r1, #1 + 121ce: 0020 movs r0, r4 + 121d0: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES_BG); - 1216a: 2101 movs r1, #1 - 1216c: 0020 movs r0, r4 - 1216e: 47b8 blx r7 + 121d2: 2101 movs r1, #1 + 121d4: 0020 movs r0, r4 + 121d6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->pad_small); - 12170: 6831 ldr r1, [r6, #0] - 12172: 3118 adds r1, #24 - 12174: 9001 str r0, [sp, #4] - 12176: 47a8 blx r5 + 121d8: 6831 ldr r1, [r6, #0] + 121da: 3118 adds r1, #24 + 121dc: 9001 str r0, [sp, #4] + 121de: 47a8 blx r5 _lv_style_list_add_style(list, &styles->chart_series_bg); - 12178: 6831 ldr r1, [r6, #0] - 1217a: 3144 adds r1, #68 ; 0x44 - 1217c: 9801 ldr r0, [sp, #4] - 1217e: 47a8 blx r5 + 121e0: 6831 ldr r1, [r6, #0] + 121e2: 3144 adds r1, #68 ; 0x44 + 121e4: 9801 ldr r0, [sp, #4] + 121e6: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES); - 12180: 2102 movs r1, #2 - 12182: 0020 movs r0, r4 - 12184: 47c8 blx r9 + 121e8: 2102 movs r1, #2 + 121ea: 0020 movs r0, r4 + 121ec: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES); - 12186: 2102 movs r1, #2 - 12188: 0020 movs r0, r4 - 1218a: 47b8 blx r7 + 121ee: 2102 movs r1, #2 + 121f0: 0020 movs r0, r4 + 121f2: 47b8 blx r7 _lv_style_list_add_style(list, &styles->chart_series); - 1218c: 6831 ldr r1, [r6, #0] - 1218e: 3148 adds r1, #72 ; 0x48 - 12190: 47a8 blx r5 + 121f4: 6831 ldr r1, [r6, #0] + 121f6: 3148 adds r1, #72 ; 0x48 + 121f8: 47a8 blx r5 break; - 12192: e554 b.n 11c3e + 121fa: e554 b.n 11ca6 lv_obj_clean_style_list(obj, LV_TABLE_PART_BG); - 12194: 2100 movs r1, #0 - 12196: 4b81 ldr r3, [pc, #516] ; (1239c ) - 12198: 4698 mov r8, r3 - 1219a: 4798 blx r3 + 121fc: 2100 movs r1, #0 + 121fe: 4b81 ldr r3, [pc, #516] ; (12404 ) + 12200: 4698 mov r8, r3 + 12202: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_TABLE_PART_BG); - 1219c: 2100 movs r1, #0 - 1219e: 0020 movs r0, r4 - 121a0: 4f7f ldr r7, [pc, #508] ; (123a0 ) - 121a2: 47b8 blx r7 + 12204: 2100 movs r1, #0 + 12206: 0020 movs r0, r4 + 12208: 4f7f ldr r7, [pc, #508] ; (12408 ) + 1220a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 121a4: 4e7f ldr r6, [pc, #508] ; (123a4 ) - 121a6: 6833 ldr r3, [r6, #0] - 121a8: 1d19 adds r1, r3, #4 - 121aa: 4d7f ldr r5, [pc, #508] ; (123a8 ) - 121ac: 47a8 blx r5 + 1220c: 4e7f ldr r6, [pc, #508] ; (1240c ) + 1220e: 6833 ldr r3, [r6, #0] + 12210: 1d19 adds r1, r3, #4 + 12212: 4d7f ldr r5, [pc, #508] ; (12410 ) + 12214: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL1); - 121ae: 2101 movs r1, #1 - 121b0: 0020 movs r0, r4 - 121b2: 47c0 blx r8 + 12216: 2101 movs r1, #1 + 12218: 0020 movs r0, r4 + 1221a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL1); - 121b4: 2101 movs r1, #1 - 121b6: 0020 movs r0, r4 - 121b8: 47b8 blx r7 + 1221c: 2101 movs r1, #1 + 1221e: 0020 movs r0, r4 + 12220: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 121ba: 6831 ldr r1, [r6, #0] - 121bc: 31a0 adds r1, #160 ; 0xa0 - 121be: 47a8 blx r5 + 12222: 6831 ldr r1, [r6, #0] + 12224: 31a0 adds r1, #160 ; 0xa0 + 12226: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL2); - 121c0: 2102 movs r1, #2 - 121c2: 0020 movs r0, r4 - 121c4: 47c0 blx r8 + 12228: 2102 movs r1, #2 + 1222a: 0020 movs r0, r4 + 1222c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL2); - 121c6: 2102 movs r1, #2 - 121c8: 0020 movs r0, r4 - 121ca: 47b8 blx r7 + 1222e: 2102 movs r1, #2 + 12230: 0020 movs r0, r4 + 12232: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 121cc: 6831 ldr r1, [r6, #0] - 121ce: 31a0 adds r1, #160 ; 0xa0 - 121d0: 47a8 blx r5 + 12234: 6831 ldr r1, [r6, #0] + 12236: 31a0 adds r1, #160 ; 0xa0 + 12238: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL3); - 121d2: 2103 movs r1, #3 - 121d4: 0020 movs r0, r4 - 121d6: 47c0 blx r8 + 1223a: 2103 movs r1, #3 + 1223c: 0020 movs r0, r4 + 1223e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL3); - 121d8: 2103 movs r1, #3 - 121da: 0020 movs r0, r4 - 121dc: 47b8 blx r7 + 12240: 2103 movs r1, #3 + 12242: 0020 movs r0, r4 + 12244: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 121de: 6831 ldr r1, [r6, #0] - 121e0: 31a0 adds r1, #160 ; 0xa0 - 121e2: 47a8 blx r5 + 12246: 6831 ldr r1, [r6, #0] + 12248: 31a0 adds r1, #160 ; 0xa0 + 1224a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL4); - 121e4: 2104 movs r1, #4 - 121e6: 0020 movs r0, r4 - 121e8: 47c0 blx r8 + 1224c: 2104 movs r1, #4 + 1224e: 0020 movs r0, r4 + 12250: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL4); - 121ea: 2104 movs r1, #4 - 121ec: 0020 movs r0, r4 - 121ee: 47b8 blx r7 + 12252: 2104 movs r1, #4 + 12254: 0020 movs r0, r4 + 12256: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 121f0: 6831 ldr r1, [r6, #0] - 121f2: 31a0 adds r1, #160 ; 0xa0 - 121f4: 47a8 blx r5 + 12258: 6831 ldr r1, [r6, #0] + 1225a: 31a0 adds r1, #160 ; 0xa0 + 1225c: 47a8 blx r5 break; - 121f6: e522 b.n 11c3e + 1225e: e522 b.n 11ca6 lv_obj_clean_style_list(obj, LV_WIN_PART_BG); - 121f8: 2100 movs r1, #0 - 121fa: 4b68 ldr r3, [pc, #416] ; (1239c ) - 121fc: 4698 mov r8, r3 - 121fe: 4798 blx r3 + 12260: 2100 movs r1, #0 + 12262: 4b68 ldr r3, [pc, #416] ; (12404 ) + 12264: 4698 mov r8, r3 + 12266: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_WIN_PART_BG); - 12200: 2100 movs r1, #0 - 12202: 0020 movs r0, r4 - 12204: 4f66 ldr r7, [pc, #408] ; (123a0 ) - 12206: 47b8 blx r7 + 12268: 2100 movs r1, #0 + 1226a: 0020 movs r0, r4 + 1226c: 4f66 ldr r7, [pc, #408] ; (12408 ) + 1226e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->scr); - 12208: 4e66 ldr r6, [pc, #408] ; (123a4 ) - 1220a: 6831 ldr r1, [r6, #0] - 1220c: 4d66 ldr r5, [pc, #408] ; (123a8 ) - 1220e: 47a8 blx r5 + 12270: 4e66 ldr r6, [pc, #408] ; (1240c ) + 12272: 6831 ldr r1, [r6, #0] + 12274: 4d66 ldr r5, [pc, #408] ; (12410 ) + 12276: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_SCROLLBAR); - 12210: 2142 movs r1, #66 ; 0x42 - 12212: 0020 movs r0, r4 - 12214: 47c0 blx r8 + 12278: 2142 movs r1, #66 ; 0x42 + 1227a: 0020 movs r0, r4 + 1227c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_SCROLLBAR); - 12216: 2142 movs r1, #66 ; 0x42 - 12218: 0020 movs r0, r4 - 1221a: 47b8 blx r7 + 1227e: 2142 movs r1, #66 ; 0x42 + 12280: 0020 movs r0, r4 + 12282: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 1221c: 6831 ldr r1, [r6, #0] - 1221e: 3180 adds r1, #128 ; 0x80 - 12220: 47a8 blx r5 + 12284: 6831 ldr r1, [r6, #0] + 12286: 3180 adds r1, #128 ; 0x80 + 12288: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE); - 12222: 2141 movs r1, #65 ; 0x41 - 12224: 0020 movs r0, r4 - 12226: 47c0 blx r8 + 1228a: 2141 movs r1, #65 ; 0x41 + 1228c: 0020 movs r0, r4 + 1228e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE); - 12228: 2141 movs r1, #65 ; 0x41 - 1222a: 0020 movs r0, r4 - 1222c: 47b8 blx r7 + 12290: 2141 movs r1, #65 ; 0x41 + 12292: 0020 movs r0, r4 + 12294: 47b8 blx r7 _lv_style_list_add_style(list, &styles->tabview_page_scrl); - 1222e: 6831 ldr r1, [r6, #0] - 12230: 31b0 adds r1, #176 ; 0xb0 - 12232: 47a8 blx r5 + 12296: 6831 ldr r1, [r6, #0] + 12298: 31b0 adds r1, #176 ; 0xb0 + 1229a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_HEADER); - 12234: 2140 movs r1, #64 ; 0x40 - 12236: 0020 movs r0, r4 - 12238: 47c0 blx r8 + 1229c: 2140 movs r1, #64 ; 0x40 + 1229e: 0020 movs r0, r4 + 122a0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_HEADER); - 1223a: 2140 movs r1, #64 ; 0x40 - 1223c: 0020 movs r0, r4 - 1223e: 47b8 blx r7 + 122a2: 2140 movs r1, #64 ; 0x40 + 122a4: 0020 movs r0, r4 + 122a6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->tabview_btns_bg); - 12240: 6831 ldr r1, [r6, #0] - 12242: 31a8 adds r1, #168 ; 0xa8 - 12244: 47a8 blx r5 + 122a8: 6831 ldr r1, [r6, #0] + 122aa: 31a8 adds r1, #168 ; 0xa8 + 122ac: 47a8 blx r5 break; - 12246: e4fa b.n 11c3e + 122ae: e4fa b.n 11ca6 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 12248: 2100 movs r1, #0 - 1224a: 4b54 ldr r3, [pc, #336] ; (1239c ) - 1224c: 4798 blx r3 + 122b0: 2100 movs r1, #0 + 122b2: 4b54 ldr r3, [pc, #336] ; (12404 ) + 122b4: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 1224e: 2100 movs r1, #0 - 12250: 0020 movs r0, r4 - 12252: 4b53 ldr r3, [pc, #332] ; (123a0 ) - 12254: 4798 blx r3 + 122b6: 2100 movs r1, #0 + 122b8: 0020 movs r0, r4 + 122ba: 4b53 ldr r3, [pc, #332] ; (12408 ) + 122bc: 4798 blx r3 _lv_style_list_add_style(list, &styles->tabview_btns); - 12256: 4b53 ldr r3, [pc, #332] ; (123a4 ) - 12258: 6819 ldr r1, [r3, #0] - 1225a: 31a4 adds r1, #164 ; 0xa4 - 1225c: 4b52 ldr r3, [pc, #328] ; (123a8 ) - 1225e: 4798 blx r3 + 122be: 4b53 ldr r3, [pc, #332] ; (1240c ) + 122c0: 6819 ldr r1, [r3, #0] + 122c2: 31a4 adds r1, #164 ; 0xa4 + 122c4: 4b52 ldr r3, [pc, #328] ; (12410 ) + 122c6: 4798 blx r3 break; - 12260: e4ed b.n 11c3e + 122c8: e4ed b.n 11ca6 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_BG); - 12262: 2100 movs r1, #0 - 12264: 4b4d ldr r3, [pc, #308] ; (1239c ) - 12266: 4699 mov r9, r3 - 12268: 4798 blx r3 + 122ca: 2100 movs r1, #0 + 122cc: 4b4d ldr r3, [pc, #308] ; (12404 ) + 122ce: 4699 mov r9, r3 + 122d0: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG); - 1226a: 2100 movs r1, #0 - 1226c: 0020 movs r0, r4 - 1226e: 4f4c ldr r7, [pc, #304] ; (123a0 ) - 12270: 47b8 blx r7 + 122d2: 2100 movs r1, #0 + 122d4: 0020 movs r0, r4 + 122d6: 4f4c ldr r7, [pc, #304] ; (12408 ) + 122d8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 12272: 4e4c ldr r6, [pc, #304] ; (123a4 ) - 12274: 6833 ldr r3, [r6, #0] - 12276: 1d19 adds r1, r3, #4 - 12278: 9001 str r0, [sp, #4] - 1227a: 4d4b ldr r5, [pc, #300] ; (123a8 ) - 1227c: 47a8 blx r5 + 122da: 4e4c ldr r6, [pc, #304] ; (1240c ) + 122dc: 6833 ldr r3, [r6, #0] + 122de: 1d19 adds r1, r3, #4 + 122e0: 9001 str r0, [sp, #4] + 122e2: 4d4b ldr r5, [pc, #300] ; (12410 ) + 122e4: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 1227e: 6831 ldr r1, [r6, #0] - 12280: 3118 adds r1, #24 - 12282: 9801 ldr r0, [sp, #4] - 12284: 47a8 blx r5 + 122e6: 6831 ldr r1, [r6, #0] + 122e8: 3118 adds r1, #24 + 122ea: 9801 ldr r0, [sp, #4] + 122ec: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER); - 12286: 2104 movs r1, #4 - 12288: 0020 movs r0, r4 - 1228a: 47c8 blx r9 + 122ee: 2104 movs r1, #4 + 122f0: 0020 movs r0, r4 + 122f2: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER); - 1228c: 2104 movs r1, #4 - 1228e: 0020 movs r0, r4 - 12290: 47b8 blx r7 + 122f4: 2104 movs r1, #4 + 122f6: 0020 movs r0, r4 + 122f8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ta_placeholder); - 12292: 6831 ldr r1, [r6, #0] - 12294: 31b8 adds r1, #184 ; 0xb8 - 12296: 47a8 blx r5 + 122fa: 6831 ldr r1, [r6, #0] + 122fc: 31b8 adds r1, #184 ; 0xb8 + 122fe: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_CURSOR); - 12298: 2103 movs r1, #3 - 1229a: 0020 movs r0, r4 - 1229c: 47c8 blx r9 + 12300: 2103 movs r1, #3 + 12302: 0020 movs r0, r4 + 12304: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR); - 1229e: 2103 movs r1, #3 - 122a0: 0020 movs r0, r4 - 122a2: 47b8 blx r7 + 12306: 2103 movs r1, #3 + 12308: 0020 movs r0, r4 + 1230a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ta_cursor); - 122a4: 6831 ldr r1, [r6, #0] - 122a6: 31b4 adds r1, #180 ; 0xb4 - 122a8: 47a8 blx r5 + 1230c: 6831 ldr r1, [r6, #0] + 1230e: 31b4 adds r1, #180 ; 0xb4 + 12310: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR); - 122aa: 2101 movs r1, #1 - 122ac: 0020 movs r0, r4 - 122ae: 47c8 blx r9 + 12312: 2101 movs r1, #1 + 12314: 0020 movs r0, r4 + 12316: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR); - 122b0: 2101 movs r1, #1 - 122b2: 0020 movs r0, r4 - 122b4: 47b8 blx r7 + 12318: 2101 movs r1, #1 + 1231a: 0020 movs r0, r4 + 1231c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 122b6: 6831 ldr r1, [r6, #0] - 122b8: 3180 adds r1, #128 ; 0x80 - 122ba: 47a8 blx r5 + 1231e: 6831 ldr r1, [r6, #0] + 12320: 3180 adds r1, #128 ; 0x80 + 12322: 47a8 blx r5 break; - 122bc: e4bf b.n 11c3e + 12324: e4bf b.n 11ca6 lv_obj_clean_style_list(obj, LV_SPINBOX_PART_BG); - 122be: 2100 movs r1, #0 - 122c0: 4b36 ldr r3, [pc, #216] ; (1239c ) - 122c2: 4699 mov r9, r3 - 122c4: 4798 blx r3 + 12326: 2100 movs r1, #0 + 12328: 4b36 ldr r3, [pc, #216] ; (12404 ) + 1232a: 4699 mov r9, r3 + 1232c: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_BG); - 122c6: 2100 movs r1, #0 - 122c8: 0020 movs r0, r4 - 122ca: 4f35 ldr r7, [pc, #212] ; (123a0 ) - 122cc: 47b8 blx r7 + 1232e: 2100 movs r1, #0 + 12330: 0020 movs r0, r4 + 12332: 4f35 ldr r7, [pc, #212] ; (12408 ) + 12334: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 122ce: 4e35 ldr r6, [pc, #212] ; (123a4 ) - 122d0: 6833 ldr r3, [r6, #0] - 122d2: 1d19 adds r1, r3, #4 - 122d4: 9001 str r0, [sp, #4] - 122d6: 4d34 ldr r5, [pc, #208] ; (123a8 ) - 122d8: 47a8 blx r5 + 12336: 4e35 ldr r6, [pc, #212] ; (1240c ) + 12338: 6833 ldr r3, [r6, #0] + 1233a: 1d19 adds r1, r3, #4 + 1233c: 9001 str r0, [sp, #4] + 1233e: 4d34 ldr r5, [pc, #208] ; (12410 ) + 12340: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 122da: 6831 ldr r1, [r6, #0] - 122dc: 3118 adds r1, #24 - 122de: 9801 ldr r0, [sp, #4] - 122e0: 47a8 blx r5 + 12342: 6831 ldr r1, [r6, #0] + 12344: 3118 adds r1, #24 + 12346: 9801 ldr r0, [sp, #4] + 12348: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SPINBOX_PART_CURSOR); - 122e2: 2103 movs r1, #3 - 122e4: 0020 movs r0, r4 - 122e6: 47c8 blx r9 + 1234a: 2103 movs r1, #3 + 1234c: 0020 movs r0, r4 + 1234e: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_CURSOR); - 122e8: 2103 movs r1, #3 - 122ea: 0020 movs r0, r4 - 122ec: 47b8 blx r7 + 12350: 2103 movs r1, #3 + 12352: 0020 movs r0, r4 + 12354: 47b8 blx r7 _lv_style_list_add_style(list, &styles->spinbox_cursor); - 122ee: 6831 ldr r1, [r6, #0] - 122f0: 3198 adds r1, #152 ; 0x98 - 122f2: 47a8 blx r5 + 12356: 6831 ldr r1, [r6, #0] + 12358: 3198 adds r1, #152 ; 0x98 + 1235a: 47a8 blx r5 break; - 122f4: e4a3 b.n 11c3e + 1235c: e4a3 b.n 11ca6 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 122f6: 2100 movs r1, #0 - 122f8: 4b28 ldr r3, [pc, #160] ; (1239c ) - 122fa: 4798 blx r3 + 1235e: 2100 movs r1, #0 + 12360: 4b28 ldr r3, [pc, #160] ; (12404 ) + 12362: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 122fc: 2100 movs r1, #0 - 122fe: 0020 movs r0, r4 - 12300: 4b27 ldr r3, [pc, #156] ; (123a0 ) - 12302: 4798 blx r3 - 12304: 0005 movs r5, r0 + 12364: 2100 movs r1, #0 + 12366: 0020 movs r0, r4 + 12368: 4b27 ldr r3, [pc, #156] ; (12408 ) + 1236a: 4798 blx r3 + 1236c: 0005 movs r5, r0 _lv_style_list_add_style(list, &styles->bg); - 12306: 4f27 ldr r7, [pc, #156] ; (123a4 ) - 12308: 683b ldr r3, [r7, #0] - 1230a: 1d19 adds r1, r3, #4 - 1230c: 4e26 ldr r6, [pc, #152] ; (123a8 ) - 1230e: 47b0 blx r6 + 1236e: 4f27 ldr r7, [pc, #156] ; (1240c ) + 12370: 683b ldr r3, [r7, #0] + 12372: 1d19 adds r1, r3, #4 + 12374: 4e26 ldr r6, [pc, #152] ; (12410 ) + 12376: 47b0 blx r6 _lv_style_list_add_style(list, &styles->bg_click); - 12310: 6839 ldr r1, [r7, #0] - 12312: 3108 adds r1, #8 - 12314: 0028 movs r0, r5 - 12316: 47b0 blx r6 + 12378: 6839 ldr r1, [r7, #0] + 1237a: 3108 adds r1, #8 + 1237c: 0028 movs r0, r5 + 1237e: 47b0 blx r6 break; - 12318: e491 b.n 11c3e + 12380: e491 b.n 11ca6 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_BG); - 1231a: 2100 movs r1, #0 - 1231c: 4b1f ldr r3, [pc, #124] ; (1239c ) - 1231e: 4698 mov r8, r3 - 12320: 4798 blx r3 + 12382: 2100 movs r1, #0 + 12384: 4b1f ldr r3, [pc, #124] ; (12404 ) + 12386: 4698 mov r8, r3 + 12388: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_BG); - 12322: 2100 movs r1, #0 - 12324: 0020 movs r0, r4 - 12326: 4f1e ldr r7, [pc, #120] ; (123a0 ) - 12328: 47b8 blx r7 + 1238a: 2100 movs r1, #0 + 1238c: 0020 movs r0, r4 + 1238e: 4f1e ldr r7, [pc, #120] ; (12408 ) + 12390: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 1232a: 4e1e ldr r6, [pc, #120] ; (123a4 ) - 1232c: 6833 ldr r3, [r6, #0] - 1232e: 1d19 adds r1, r3, #4 - 12330: 4d1d ldr r5, [pc, #116] ; (123a8 ) - 12332: 47a8 blx r5 + 12392: 4e1e ldr r6, [pc, #120] ; (1240c ) + 12394: 6833 ldr r3, [r6, #0] + 12396: 1d19 adds r1, r3, #4 + 12398: 4d1d ldr r5, [pc, #116] ; (12410 ) + 1239a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DATE); - 12334: 2103 movs r1, #3 - 12336: 0020 movs r0, r4 - 12338: 47c0 blx r8 + 1239c: 2103 movs r1, #3 + 1239e: 0020 movs r0, r4 + 123a0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DATE); - 1233a: 2103 movs r1, #3 - 1233c: 0020 movs r0, r4 - 1233e: 47b8 blx r7 + 123a2: 2103 movs r1, #3 + 123a4: 0020 movs r0, r4 + 123a6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_date_nums); - 12340: 6831 ldr r1, [r6, #0] - 12342: 312c adds r1, #44 ; 0x2c - 12344: 47a8 blx r5 + 123a8: 6831 ldr r1, [r6, #0] + 123aa: 312c adds r1, #44 ; 0x2c + 123ac: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_HEADER); - 12346: 2101 movs r1, #1 - 12348: 0020 movs r0, r4 - 1234a: 47c0 blx r8 + 123ae: 2101 movs r1, #1 + 123b0: 0020 movs r0, r4 + 123b2: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_HEADER); - 1234c: 2101 movs r1, #1 - 1234e: 0020 movs r0, r4 - 12350: 47b8 blx r7 + 123b4: 2101 movs r1, #1 + 123b6: 0020 movs r0, r4 + 123b8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_header); - 12352: 6831 ldr r1, [r6, #0] - 12354: 3130 adds r1, #48 ; 0x30 - 12356: 47a8 blx r5 + 123ba: 6831 ldr r1, [r6, #0] + 123bc: 3130 adds r1, #48 ; 0x30 + 123be: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DAY_NAMES); - 12358: 2102 movs r1, #2 - 1235a: 0020 movs r0, r4 - 1235c: 47c0 blx r8 + 123c0: 2102 movs r1, #2 + 123c2: 0020 movs r0, r4 + 123c4: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DAY_NAMES); - 1235e: 2102 movs r1, #2 - 12360: 0020 movs r0, r4 - 12362: 47b8 blx r7 + 123c6: 2102 movs r1, #2 + 123c8: 0020 movs r0, r4 + 123ca: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_daynames); - 12364: 6831 ldr r1, [r6, #0] - 12366: 3134 adds r1, #52 ; 0x34 - 12368: 47a8 blx r5 + 123cc: 6831 ldr r1, [r6, #0] + 123ce: 3134 adds r1, #52 ; 0x34 + 123d0: 47a8 blx r5 break; - 1236a: e468 b.n 11c3e + 123d2: e468 b.n 11ca6 lv_obj_clean_style_list(obj, LV_CPICKER_PART_MAIN); - 1236c: 2100 movs r1, #0 - 1236e: 4b0b ldr r3, [pc, #44] ; (1239c ) - 12370: 4698 mov r8, r3 - 12372: 4798 blx r3 + 123d4: 2100 movs r1, #0 + 123d6: 4b0b ldr r3, [pc, #44] ; (12404 ) + 123d8: 4698 mov r8, r3 + 123da: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_CPICKER_PART_MAIN); - 12374: 2100 movs r1, #0 - 12376: 0020 movs r0, r4 - 12378: 4f09 ldr r7, [pc, #36] ; (123a0 ) - 1237a: 47b8 blx r7 + 123dc: 2100 movs r1, #0 + 123de: 0020 movs r0, r4 + 123e0: 4f09 ldr r7, [pc, #36] ; (12408 ) + 123e2: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cpicker_bg); - 1237c: 4e09 ldr r6, [pc, #36] ; (123a4 ) - 1237e: 6831 ldr r1, [r6, #0] - 12380: 3138 adds r1, #56 ; 0x38 - 12382: 4d09 ldr r5, [pc, #36] ; (123a8 ) - 12384: 47a8 blx r5 + 123e4: 4e09 ldr r6, [pc, #36] ; (1240c ) + 123e6: 6831 ldr r1, [r6, #0] + 123e8: 3138 adds r1, #56 ; 0x38 + 123ea: 4d09 ldr r5, [pc, #36] ; (12410 ) + 123ec: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CPICKER_PART_KNOB); - 12386: 2101 movs r1, #1 - 12388: 0020 movs r0, r4 - 1238a: 47c0 blx r8 + 123ee: 2101 movs r1, #1 + 123f0: 0020 movs r0, r4 + 123f2: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CPICKER_PART_KNOB); - 1238c: 2101 movs r1, #1 - 1238e: 0020 movs r0, r4 - 12390: 47b8 blx r7 + 123f4: 2101 movs r1, #1 + 123f6: 0020 movs r0, r4 + 123f8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cpicker_indic); - 12392: 6831 ldr r1, [r6, #0] - 12394: 313c adds r1, #60 ; 0x3c - 12396: 47a8 blx r5 + 123fa: 6831 ldr r1, [r6, #0] + 123fc: 313c adds r1, #60 ; 0x3c + 123fe: 47a8 blx r5 break; - 12398: e451 b.n 11c3e - 1239a: 46c0 nop ; (mov r8, r8) - 1239c: 00001d6d .word 0x00001d6d - 123a0: 00001c91 .word 0x00001c91 - 123a4: 20004c38 .word 0x20004c38 - 123a8: 000049b5 .word 0x000049b5 + 12400: e451 b.n 11ca6 + 12402: 46c0 nop ; (mov r8, r8) + 12404: 00001dd5 .word 0x00001dd5 + 12408: 00001cf9 .word 0x00001cf9 + 1240c: 20004c38 .word 0x20004c38 + 12410: 00004a1d .word 0x00004a1d lv_obj_clean_style_list(obj, LV_LINEMETER_PART_MAIN); - 123ac: 2100 movs r1, #0 - 123ae: 4b1b ldr r3, [pc, #108] ; (1241c ) - 123b0: 4798 blx r3 + 12414: 2100 movs r1, #0 + 12416: 4b1b ldr r3, [pc, #108] ; (12484 ) + 12418: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_LINEMETER_PART_MAIN); - 123b2: 2100 movs r1, #0 - 123b4: 0020 movs r0, r4 - 123b6: 4b1a ldr r3, [pc, #104] ; (12420 ) - 123b8: 4798 blx r3 - 123ba: 0005 movs r5, r0 + 1241a: 2100 movs r1, #0 + 1241c: 0020 movs r0, r4 + 1241e: 4b1a ldr r3, [pc, #104] ; (12488 ) + 12420: 4798 blx r3 + 12422: 0005 movs r5, r0 _lv_style_list_add_style(list, &styles->bg); - 123bc: 4f19 ldr r7, [pc, #100] ; (12424 ) - 123be: 683b ldr r3, [r7, #0] - 123c0: 1d19 adds r1, r3, #4 - 123c2: 4e19 ldr r6, [pc, #100] ; (12428 ) - 123c4: 47b0 blx r6 + 12424: 4f19 ldr r7, [pc, #100] ; (1248c ) + 12426: 683b ldr r3, [r7, #0] + 12428: 1d19 adds r1, r3, #4 + 1242a: 4e19 ldr r6, [pc, #100] ; (12490 ) + 1242c: 47b0 blx r6 _lv_style_list_add_style(list, &styles->lmeter); - 123c6: 6839 ldr r1, [r7, #0] - 123c8: 3170 adds r1, #112 ; 0x70 - 123ca: 0028 movs r0, r5 - 123cc: 47b0 blx r6 + 1242e: 6839 ldr r1, [r7, #0] + 12430: 3170 adds r1, #112 ; 0x70 + 12432: 0028 movs r0, r5 + 12434: 47b0 blx r6 break; - 123ce: e436 b.n 11c3e + 12436: e436 b.n 11ca6 lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAIN); - 123d0: 2100 movs r1, #0 - 123d2: 4b12 ldr r3, [pc, #72] ; (1241c ) - 123d4: 4699 mov r9, r3 - 123d6: 4798 blx r3 + 12438: 2100 movs r1, #0 + 1243a: 4b12 ldr r3, [pc, #72] ; (12484 ) + 1243c: 4699 mov r9, r3 + 1243e: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAIN); - 123d8: 2100 movs r1, #0 - 123da: 0020 movs r0, r4 - 123dc: 4f10 ldr r7, [pc, #64] ; (12420 ) - 123de: 47b8 blx r7 + 12440: 2100 movs r1, #0 + 12442: 0020 movs r0, r4 + 12444: 4f10 ldr r7, [pc, #64] ; (12488 ) + 12446: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 123e0: 4e10 ldr r6, [pc, #64] ; (12424 ) - 123e2: 6833 ldr r3, [r6, #0] - 123e4: 1d19 adds r1, r3, #4 - 123e6: 9001 str r0, [sp, #4] - 123e8: 4d0f ldr r5, [pc, #60] ; (12428 ) - 123ea: 47a8 blx r5 + 12448: 4e10 ldr r6, [pc, #64] ; (1248c ) + 1244a: 6833 ldr r3, [r6, #0] + 1244c: 1d19 adds r1, r3, #4 + 1244e: 9001 str r0, [sp, #4] + 12450: 4d0f ldr r5, [pc, #60] ; (12490 ) + 12452: 47a8 blx r5 _lv_style_list_add_style(list, &styles->gauge_main); - 123ec: 6831 ldr r1, [r6, #0] - 123ee: 315c adds r1, #92 ; 0x5c - 123f0: 9801 ldr r0, [sp, #4] - 123f2: 47a8 blx r5 + 12454: 6831 ldr r1, [r6, #0] + 12456: 315c adds r1, #92 ; 0x5c + 12458: 9801 ldr r0, [sp, #4] + 1245a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAJOR); - 123f4: 2101 movs r1, #1 - 123f6: 0020 movs r0, r4 - 123f8: 47c8 blx r9 + 1245c: 2101 movs r1, #1 + 1245e: 0020 movs r0, r4 + 12460: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAJOR); - 123fa: 2101 movs r1, #1 - 123fc: 0020 movs r0, r4 - 123fe: 47b8 blx r7 + 12462: 2101 movs r1, #1 + 12464: 0020 movs r0, r4 + 12466: 47b8 blx r7 _lv_style_list_add_style(list, &styles->gauge_strong); - 12400: 6831 ldr r1, [r6, #0] - 12402: 3160 adds r1, #96 ; 0x60 - 12404: 47a8 blx r5 + 12468: 6831 ldr r1, [r6, #0] + 1246a: 3160 adds r1, #96 ; 0x60 + 1246c: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_GAUGE_PART_NEEDLE); - 12406: 2102 movs r1, #2 - 12408: 0020 movs r0, r4 - 1240a: 47c8 blx r9 + 1246e: 2102 movs r1, #2 + 12470: 0020 movs r0, r4 + 12472: 47c8 blx r9 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_NEEDLE); - 1240c: 2102 movs r1, #2 - 1240e: 0020 movs r0, r4 - 12410: 47b8 blx r7 + 12474: 2102 movs r1, #2 + 12476: 0020 movs r0, r4 + 12478: 47b8 blx r7 _lv_style_list_add_style(list, &styles->gauge_needle); - 12412: 6831 ldr r1, [r6, #0] - 12414: 3164 adds r1, #100 ; 0x64 - 12416: 47a8 blx r5 + 1247a: 6831 ldr r1, [r6, #0] + 1247c: 3164 adds r1, #100 ; 0x64 + 1247e: 47a8 blx r5 break; - 12418: f7ff fc11 bl 11c3e - 1241c: 00001d6d .word 0x00001d6d - 12420: 00001c91 .word 0x00001c91 - 12424: 20004c38 .word 0x20004c38 - 12428: 000049b5 .word 0x000049b5 + 12480: f7ff fc11 bl 11ca6 + 12484: 00001dd5 .word 0x00001dd5 + 12488: 00001cf9 .word 0x00001cf9 + 1248c: 20004c38 .word 0x20004c38 + 12490: 00004a1d .word 0x00004a1d -0001242c : +00012494 : /********************** * STATIC FUNCTIONS **********************/ static void style_init_reset(lv_style_t * style) { - 1242c: b510 push {r4, lr} + 12494: b510 push {r4, lr} if(inited) lv_style_reset(style); - 1242e: 4b05 ldr r3, [pc, #20] ; (12444 ) - 12430: 781b ldrb r3, [r3, #0] - 12432: 2b00 cmp r3, #0 - 12434: d102 bne.n 1243c + 12496: 4b05 ldr r3, [pc, #20] ; (124ac ) + 12498: 781b ldrb r3, [r3, #0] + 1249a: 2b00 cmp r3, #0 + 1249c: d102 bne.n 124a4 else lv_style_init(style); - 12436: 4b04 ldr r3, [pc, #16] ; (12448 ) - 12438: 4798 blx r3 + 1249e: 4b04 ldr r3, [pc, #16] ; (124b0 ) + 124a0: 4798 blx r3 } - 1243a: bd10 pop {r4, pc} + 124a2: bd10 pop {r4, pc} if(inited) lv_style_reset(style); - 1243c: 4b03 ldr r3, [pc, #12] ; (1244c ) - 1243e: 4798 blx r3 - 12440: e7fb b.n 1243a - 12442: 46c0 nop ; (mov r8, r8) - 12444: 20004c34 .word 0x20004c34 - 12448: 000048e5 .word 0x000048e5 - 1244c: 00004ae1 .word 0x00004ae1 - -00012450 : -{ - 12450: b5f8 push {r3, r4, r5, r6, r7, lr} - 12452: 46ce mov lr, r9 - 12454: 4647 mov r7, r8 - 12456: b580 push {r7, lr} + 124a4: 4b03 ldr r3, [pc, #12] ; (124b4 ) + 124a6: 4798 blx r3 + 124a8: e7fb b.n 124a2 + 124aa: 46c0 nop ; (mov r8, r8) + 124ac: 20004c34 .word 0x20004c34 + 124b0: 0000494d .word 0x0000494d + 124b4: 00004b49 .word 0x00004b49 + +000124b8 : +{ + 124b8: b5f8 push {r3, r4, r5, r6, r7, lr} + 124ba: 46ce mov lr, r9 + 124bc: 4647 mov r7, r8 + 124be: b580 push {r7, lr} style_init_reset(&styles->scr); - 12458: 4cf9 ldr r4, [pc, #996] ; (12840 ) - 1245a: 6820 ldr r0, [r4, #0] - 1245c: 4bf9 ldr r3, [pc, #996] ; (12844 ) - 1245e: 4798 blx r3 + 124c0: 4cf9 ldr r4, [pc, #996] ; (128a8 ) + 124c2: 6820 ldr r0, [r4, #0] + 124c4: 4bf9 ldr r3, [pc, #996] ; (128ac ) + 124c6: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 12460: 22ff movs r2, #255 ; 0xff - 12462: 212c movs r1, #44 ; 0x2c - 12464: 6820 ldr r0, [r4, #0] - 12466: 4bf8 ldr r3, [pc, #992] ; (12848 ) - 12468: 4798 blx r3 + 124c8: 22ff movs r2, #255 ; 0xff + 124ca: 212c movs r1, #44 ; 0x2c + 124cc: 6820 ldr r0, [r4, #0] + 124ce: 4bf8 ldr r3, [pc, #992] ; (128b0 ) + 124d0: 4798 blx r3 lv_style_set_bg_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR); - 1246a: 6820 ldr r0, [r4, #0] - 1246c: 4bf7 ldr r3, [pc, #988] ; (1284c ) - 1246e: 699b ldr r3, [r3, #24] - 12470: 079b lsls r3, r3, #30 - 12472: d501 bpl.n 12478 - 12474: f000 fe5d bl 13132 - 12478: 2308 movs r3, #8 - 1247a: 2112 movs r1, #18 - 1247c: 220b movs r2, #11 - 1247e: 0149 lsls r1, r1, #5 - 12480: 02db lsls r3, r3, #11 - 12482: 430a orrs r2, r1 - 12484: 431a orrs r2, r3 + 124d2: 6820 ldr r0, [r4, #0] + 124d4: 4bf7 ldr r3, [pc, #988] ; (128b4 ) + 124d6: 699b ldr r3, [r3, #24] + 124d8: 079b lsls r3, r3, #30 + 124da: d501 bpl.n 124e0 + 124dc: f000 fe5d bl 1319a + 124e0: 2308 movs r3, #8 + 124e2: 2112 movs r1, #18 + 124e4: 220b movs r2, #11 + 124e6: 0149 lsls r1, r1, #5 + 124e8: 02db lsls r3, r3, #11 + 124ea: 430a orrs r2, r1 + 124ec: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 12486: 2129 movs r1, #41 ; 0x29 - 12488: 4bf1 ldr r3, [pc, #964] ; (12850 ) - 1248a: 4798 blx r3 + 124ee: 2129 movs r1, #41 ; 0x29 + 124f0: 4bf1 ldr r3, [pc, #964] ; (128b8 ) + 124f2: 4798 blx r3 lv_style_set_text_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 1248c: 4bec ldr r3, [pc, #944] ; (12840 ) - 1248e: 6818 ldr r0, [r3, #0] - 12490: 4bee ldr r3, [pc, #952] ; (1284c ) - 12492: 699b ldr r3, [r3, #24] - 12494: 079b lsls r3, r3, #30 - 12496: d501 bpl.n 1249c - 12498: f000 fe50 bl 1313c - 1249c: 231c movs r3, #28 - 1249e: 213a movs r1, #58 ; 0x3a - 124a0: 221d movs r2, #29 - 124a2: 0149 lsls r1, r1, #5 - 124a4: 02db lsls r3, r3, #11 - 124a6: 430a orrs r2, r1 - 124a8: 431a orrs r2, r3 + 124f4: 4bec ldr r3, [pc, #944] ; (128a8 ) + 124f6: 6818 ldr r0, [r3, #0] + 124f8: 4bee ldr r3, [pc, #952] ; (128b4 ) + 124fa: 699b ldr r3, [r3, #24] + 124fc: 079b lsls r3, r3, #30 + 124fe: d501 bpl.n 12504 + 12500: f000 fe50 bl 131a4 + 12504: 231c movs r3, #28 + 12506: 213a movs r1, #58 ; 0x3a + 12508: 221d movs r2, #29 + 1250a: 0149 lsls r1, r1, #5 + 1250c: 02db lsls r3, r3, #11 + 1250e: 430a orrs r2, r1 + 12510: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 124aa: 49ea ldr r1, [pc, #936] ; (12854 ) - 124ac: 4be8 ldr r3, [pc, #928] ; (12850 ) - 124ae: 4798 blx r3 + 12512: 49ea ldr r1, [pc, #936] ; (128bc ) + 12514: 4be8 ldr r3, [pc, #928] ; (128b8 ) + 12516: 4798 blx r3 lv_style_set_value_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 124b0: 4be3 ldr r3, [pc, #908] ; (12840 ) - 124b2: 6818 ldr r0, [r3, #0] - 124b4: 4be5 ldr r3, [pc, #916] ; (1284c ) - 124b6: 699b ldr r3, [r3, #24] - 124b8: 079b lsls r3, r3, #30 - 124ba: d501 bpl.n 124c0 - 124bc: f000 fe43 bl 13146 - 124c0: 231c movs r3, #28 - 124c2: 213a movs r1, #58 ; 0x3a - 124c4: 221d movs r2, #29 - 124c6: 0149 lsls r1, r1, #5 - 124c8: 02db lsls r3, r3, #11 - 124ca: 430a orrs r2, r1 - 124cc: 431a orrs r2, r3 + 12518: 4be3 ldr r3, [pc, #908] ; (128a8 ) + 1251a: 6818 ldr r0, [r3, #0] + 1251c: 4be5 ldr r3, [pc, #916] ; (128b4 ) + 1251e: 699b ldr r3, [r3, #24] + 12520: 079b lsls r3, r3, #30 + 12522: d501 bpl.n 12528 + 12524: f000 fe43 bl 131ae + 12528: 231c movs r3, #28 + 1252a: 213a movs r1, #58 ; 0x3a + 1252c: 221d movs r2, #29 + 1252e: 0149 lsls r1, r1, #5 + 12530: 02db lsls r3, r3, #11 + 12532: 430a orrs r2, r1 + 12534: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 124ce: 2179 movs r1, #121 ; 0x79 - 124d0: 4bdf ldr r3, [pc, #892] ; (12850 ) - 124d2: 4798 blx r3 + 12536: 2179 movs r1, #121 ; 0x79 + 12538: 4bdf ldr r3, [pc, #892] ; (128b8 ) + 1253a: 4798 blx r3 lv_style_set_text_font(&styles->scr, LV_STATE_DEFAULT, theme.font_normal); - 124d4: 4edd ldr r6, [pc, #884] ; (1284c ) - 124d6: 4cda ldr r4, [pc, #872] ; (12840 ) + 1253c: 4edd ldr r6, [pc, #884] ; (128b4 ) + 1253e: 4cda ldr r4, [pc, #872] ; (128a8 ) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 124d8: 68f2 ldr r2, [r6, #12] - 124da: 49df ldr r1, [pc, #892] ; (12858 ) - 124dc: 6820 ldr r0, [r4, #0] - 124de: 4ddf ldr r5, [pc, #892] ; (1285c ) - 124e0: 47a8 blx r5 + 12540: 68f2 ldr r2, [r6, #12] + 12542: 49df ldr r1, [pc, #892] ; (128c0 ) + 12544: 6820 ldr r0, [r4, #0] + 12546: 4ddf ldr r5, [pc, #892] ; (128c4 ) + 12548: 47a8 blx r5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 124e2: 68f2 ldr r2, [r6, #12] - 124e4: 217e movs r1, #126 ; 0x7e - 124e6: 6820 ldr r0, [r4, #0] - 124e8: 47a8 blx r5 + 1254a: 68f2 ldr r2, [r6, #12] + 1254c: 217e movs r1, #126 ; 0x7e + 1254e: 6820 ldr r0, [r4, #0] + 12550: 47a8 blx r5 style_init_reset(&styles->bg); - 124ea: 6823 ldr r3, [r4, #0] - 124ec: 1d18 adds r0, r3, #4 - 124ee: 4bd5 ldr r3, [pc, #852] ; (12844 ) - 124f0: 4798 blx r3 + 12552: 6823 ldr r3, [r4, #0] + 12554: 1d18 adds r0, r3, #4 + 12556: 4bd5 ldr r3, [pc, #852] ; (128ac ) + 12558: 4798 blx r3 lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8)); - 124f2: 6824 ldr r4, [r4, #0] - 124f4: 3404 adds r4, #4 - 124f6: 2000 movs r0, #0 - 124f8: 4bd9 ldr r3, [pc, #868] ; (12860 ) - 124fa: 4798 blx r3 - 124fc: 300a adds r0, #10 - 124fe: 00c0 lsls r0, r0, #3 - 12500: 2340 movs r3, #64 ; 0x40 - 12502: 33ff adds r3, #255 ; 0xff - 12504: 2201 movs r2, #1 - 12506: 4298 cmp r0, r3 - 12508: d901 bls.n 1250e - 1250a: f000 fe21 bl 13150 + 1255a: 6824 ldr r4, [r4, #0] + 1255c: 3404 adds r4, #4 + 1255e: 2000 movs r0, #0 + 12560: 4bd9 ldr r3, [pc, #868] ; (128c8 ) + 12562: 4798 blx r3 + 12564: 300a adds r0, #10 + 12566: 00c0 lsls r0, r0, #3 + 12568: 2340 movs r3, #64 ; 0x40 + 1256a: 33ff adds r3, #255 ; 0xff + 1256c: 2201 movs r2, #1 + 1256e: 4298 cmp r0, r3 + 12570: d901 bls.n 12576 + 12572: f000 fe21 bl 131b8 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1250e: 2101 movs r1, #1 - 12510: 0020 movs r0, r4 - 12512: 4bd4 ldr r3, [pc, #848] ; (12864 ) - 12514: 4798 blx r3 + 12576: 2101 movs r1, #1 + 12578: 0020 movs r0, r4 + 1257a: 4bd4 ldr r3, [pc, #848] ; (128cc ) + 1257c: 4798 blx r3 lv_style_set_bg_opa(&styles->bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 12516: 4cca ldr r4, [pc, #808] ; (12840 ) - 12518: 6823 ldr r3, [r4, #0] - 1251a: 1d18 adds r0, r3, #4 + 1257e: 4cca ldr r4, [pc, #808] ; (128a8 ) + 12580: 6823 ldr r3, [r4, #0] + 12582: 1d18 adds r0, r3, #4 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1251c: 22ff movs r2, #255 ; 0xff - 1251e: 212c movs r1, #44 ; 0x2c - 12520: 4bc9 ldr r3, [pc, #804] ; (12848 ) - 12522: 4798 blx r3 + 12584: 22ff movs r2, #255 ; 0xff + 12586: 212c movs r1, #44 ; 0x2c + 12588: 4bc9 ldr r3, [pc, #804] ; (128b0 ) + 1258a: 4798 blx r3 lv_style_set_bg_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG); - 12524: 6820 ldr r0, [r4, #0] - 12526: 3004 adds r0, #4 - 12528: 4bc8 ldr r3, [pc, #800] ; (1284c ) - 1252a: 699b ldr r3, [r3, #24] - 1252c: 079b lsls r3, r3, #30 - 1252e: d501 bpl.n 12534 - 12530: f000 fe19 bl 13166 - 12534: 230b movs r3, #11 - 12536: 2118 movs r1, #24 - 12538: 220e movs r2, #14 - 1253a: 0149 lsls r1, r1, #5 - 1253c: 02db lsls r3, r3, #11 - 1253e: 430a orrs r2, r1 - 12540: 431a orrs r2, r3 + 1258c: 6820 ldr r0, [r4, #0] + 1258e: 3004 adds r0, #4 + 12590: 4bc8 ldr r3, [pc, #800] ; (128b4 ) + 12592: 699b ldr r3, [r3, #24] + 12594: 079b lsls r3, r3, #30 + 12596: d501 bpl.n 1259c + 12598: f000 fe19 bl 131ce + 1259c: 230b movs r3, #11 + 1259e: 2118 movs r1, #24 + 125a0: 220e movs r2, #14 + 125a2: 0149 lsls r1, r1, #5 + 125a4: 02db lsls r3, r3, #11 + 125a6: 430a orrs r2, r1 + 125a8: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 12542: 2129 movs r1, #41 ; 0x29 - 12544: 4bc2 ldr r3, [pc, #776] ; (12850 ) - 12546: 4798 blx r3 + 125aa: 2129 movs r1, #41 ; 0x29 + 125ac: 4bc2 ldr r3, [pc, #776] ; (128b8 ) + 125ae: 4798 blx r3 lv_style_set_border_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 12548: 4bbd ldr r3, [pc, #756] ; (12840 ) - 1254a: 6818 ldr r0, [r3, #0] - 1254c: 3004 adds r0, #4 - 1254e: 4bbf ldr r3, [pc, #764] ; (1284c ) - 12550: 699b ldr r3, [r3, #24] - 12552: 079b lsls r3, r3, #30 - 12554: d501 bpl.n 1255a - 12556: f000 fe0b bl 13170 - 1255a: 2310 movs r3, #16 - 1255c: 2122 movs r1, #34 ; 0x22 - 1255e: 2212 movs r2, #18 - 12560: 0149 lsls r1, r1, #5 - 12562: 02db lsls r3, r3, #11 - 12564: 430a orrs r2, r1 - 12566: 431a orrs r2, r3 + 125b0: 4bbd ldr r3, [pc, #756] ; (128a8 ) + 125b2: 6818 ldr r0, [r3, #0] + 125b4: 3004 adds r0, #4 + 125b6: 4bbf ldr r3, [pc, #764] ; (128b4 ) + 125b8: 699b ldr r3, [r3, #24] + 125ba: 079b lsls r3, r3, #30 + 125bc: d501 bpl.n 125c2 + 125be: f000 fe0b bl 131d8 + 125c2: 2310 movs r3, #16 + 125c4: 2122 movs r1, #34 ; 0x22 + 125c6: 2212 movs r2, #18 + 125c8: 0149 lsls r1, r1, #5 + 125ca: 02db lsls r3, r3, #11 + 125cc: 430a orrs r2, r1 + 125ce: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 12568: 2139 movs r1, #57 ; 0x39 - 1256a: 4db9 ldr r5, [pc, #740] ; (12850 ) - 1256c: 47a8 blx r5 + 125d0: 2139 movs r1, #57 ; 0x39 + 125d2: 4db9 ldr r5, [pc, #740] ; (128b8 ) + 125d4: 47a8 blx r5 lv_style_set_border_color(&styles->bg, LV_STATE_FOCUSED, theme.color_primary); - 1256e: 4cb4 ldr r4, [pc, #720] ; (12840 ) - 12570: 6823 ldr r3, [r4, #0] - 12572: 1d18 adds r0, r3, #4 - 12574: 4eb5 ldr r6, [pc, #724] ; (1284c ) - 12576: 88b2 ldrh r2, [r6, #4] - 12578: 49bb ldr r1, [pc, #748] ; (12868 ) - 1257a: 47a8 blx r5 + 125d6: 4cb4 ldr r4, [pc, #720] ; (128a8 ) + 125d8: 6823 ldr r3, [r4, #0] + 125da: 1d18 adds r0, r3, #4 + 125dc: 4eb5 ldr r6, [pc, #724] ; (128b4 ) + 125de: 88b2 ldrh r2, [r6, #4] + 125e0: 49bb ldr r1, [pc, #748] ; (128d0 ) + 125e2: 47a8 blx r5 lv_style_set_border_color(&styles->bg, LV_STATE_EDITED, theme.color_secondary); - 1257c: 6823 ldr r3, [r4, #0] - 1257e: 1d18 adds r0, r3, #4 - 12580: 88f2 ldrh r2, [r6, #6] - 12582: 49ba ldr r1, [pc, #744] ; (1286c ) - 12584: 47a8 blx r5 + 125e4: 6823 ldr r3, [r4, #0] + 125e6: 1d18 adds r0, r3, #4 + 125e8: 88f2 ldrh r2, [r6, #6] + 125ea: 49ba ldr r1, [pc, #744] ; (128d4 ) + 125ec: 47a8 blx r5 lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); - 12586: 6824 ldr r4, [r4, #0] - 12588: 3404 adds r4, #4 - 1258a: 2000 movs r0, #0 - 1258c: 4bb4 ldr r3, [pc, #720] ; (12860 ) - 1258e: 4798 blx r3 - 12590: 3028 adds r0, #40 ; 0x28 - 12592: 0040 lsls r0, r0, #1 - 12594: 2340 movs r3, #64 ; 0x40 - 12596: 33ff adds r3, #255 ; 0xff - 12598: 2201 movs r2, #1 - 1259a: 4298 cmp r0, r3 - 1259c: d901 bls.n 125a2 - 1259e: f000 fdec bl 1317a + 125ee: 6824 ldr r4, [r4, #0] + 125f0: 3404 adds r4, #4 + 125f2: 2000 movs r0, #0 + 125f4: 4bb4 ldr r3, [pc, #720] ; (128c8 ) + 125f6: 4798 blx r3 + 125f8: 3028 adds r0, #40 ; 0x28 + 125fa: 0040 lsls r0, r0, #1 + 125fc: 2340 movs r3, #64 ; 0x40 + 125fe: 33ff adds r3, #255 ; 0xff + 12600: 2201 movs r2, #1 + 12602: 4298 cmp r0, r3 + 12604: d901 bls.n 1260a + 12606: f000 fdec bl 131e2 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 125a2: 2130 movs r1, #48 ; 0x30 - 125a4: 0020 movs r0, r4 - 125a6: 4daf ldr r5, [pc, #700] ; (12864 ) - 125a8: 47a8 blx r5 + 1260a: 2130 movs r1, #48 ; 0x30 + 1260c: 0020 movs r0, r4 + 1260e: 4daf ldr r5, [pc, #700] ; (128cc ) + 12610: 47a8 blx r5 lv_style_set_border_post(&styles->bg, LV_STATE_DEFAULT, true); - 125aa: 4ca5 ldr r4, [pc, #660] ; (12840 ) - 125ac: 6823 ldr r3, [r4, #0] - 125ae: 1d18 adds r0, r3, #4 + 12612: 4ca5 ldr r4, [pc, #660] ; (128a8 ) + 12614: 6823 ldr r3, [r4, #0] + 12616: 1d18 adds r0, r3, #4 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 125b0: 2201 movs r2, #1 - 125b2: 2133 movs r1, #51 ; 0x33 - 125b4: 47a8 blx r5 + 12618: 2201 movs r2, #1 + 1261a: 2133 movs r1, #51 ; 0x33 + 1261c: 47a8 blx r5 lv_style_set_text_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal); - 125b6: 4da5 ldr r5, [pc, #660] ; (1284c ) - 125b8: 6823 ldr r3, [r4, #0] - 125ba: 1d18 adds r0, r3, #4 + 1261e: 4da5 ldr r5, [pc, #660] ; (128b4 ) + 12620: 6823 ldr r3, [r4, #0] + 12622: 1d18 adds r0, r3, #4 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 125bc: 68ea ldr r2, [r5, #12] - 125be: 49a6 ldr r1, [pc, #664] ; (12858 ) - 125c0: 4ba6 ldr r3, [pc, #664] ; (1285c ) - 125c2: 4798 blx r3 + 12624: 68ea ldr r2, [r5, #12] + 12626: 49a6 ldr r1, [pc, #664] ; (128c0 ) + 12628: 4ba6 ldr r3, [pc, #664] ; (128c4 ) + 1262a: 4798 blx r3 lv_style_set_text_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 125c4: 6820 ldr r0, [r4, #0] - 125c6: 3004 adds r0, #4 - 125c8: 69ab ldr r3, [r5, #24] - 125ca: 079b lsls r3, r3, #30 - 125cc: d501 bpl.n 125d2 - 125ce: f000 fddf bl 13190 - 125d2: 231f movs r3, #31 - 125d4: 213f movs r1, #63 ; 0x3f - 125d6: 221f movs r2, #31 - 125d8: 0149 lsls r1, r1, #5 - 125da: 02db lsls r3, r3, #11 - 125dc: 430a orrs r2, r1 - 125de: 431a orrs r2, r3 + 1262c: 6820 ldr r0, [r4, #0] + 1262e: 3004 adds r0, #4 + 12630: 69ab ldr r3, [r5, #24] + 12632: 079b lsls r3, r3, #30 + 12634: d501 bpl.n 1263a + 12636: f000 fddf bl 131f8 + 1263a: 231f movs r3, #31 + 1263c: 213f movs r1, #63 ; 0x3f + 1263e: 221f movs r2, #31 + 12640: 0149 lsls r1, r1, #5 + 12642: 02db lsls r3, r3, #11 + 12644: 430a orrs r2, r1 + 12646: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 125e0: 499c ldr r1, [pc, #624] ; (12854 ) - 125e2: 4b9b ldr r3, [pc, #620] ; (12850 ) - 125e4: 4798 blx r3 + 12648: 499c ldr r1, [pc, #624] ; (128bc ) + 1264a: 4b9b ldr r3, [pc, #620] ; (128b8 ) + 1264c: 4798 blx r3 lv_style_set_value_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal); - 125e6: 4c99 ldr r4, [pc, #612] ; (1284c ) - 125e8: 4d95 ldr r5, [pc, #596] ; (12840 ) - 125ea: 682b ldr r3, [r5, #0] - 125ec: 1d18 adds r0, r3, #4 + 1264e: 4c99 ldr r4, [pc, #612] ; (128b4 ) + 12650: 4d95 ldr r5, [pc, #596] ; (128a8 ) + 12652: 682b ldr r3, [r5, #0] + 12654: 1d18 adds r0, r3, #4 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 125ee: 68e2 ldr r2, [r4, #12] - 125f0: 217e movs r1, #126 ; 0x7e - 125f2: 4b9a ldr r3, [pc, #616] ; (1285c ) - 125f4: 4798 blx r3 + 12656: 68e2 ldr r2, [r4, #12] + 12658: 217e movs r1, #126 ; 0x7e + 1265a: 4b9a ldr r3, [pc, #616] ; (128c4 ) + 1265c: 4798 blx r3 lv_style_set_value_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 125f6: 6828 ldr r0, [r5, #0] - 125f8: 3004 adds r0, #4 - 125fa: 69a3 ldr r3, [r4, #24] - 125fc: 079b lsls r3, r3, #30 - 125fe: d501 bpl.n 12604 - 12600: f000 fdcb bl 1319a - 12604: 231f movs r3, #31 - 12606: 213f movs r1, #63 ; 0x3f - 12608: 221f movs r2, #31 - 1260a: 0149 lsls r1, r1, #5 - 1260c: 02db lsls r3, r3, #11 - 1260e: 430a orrs r2, r1 - 12610: 431a orrs r2, r3 + 1265e: 6828 ldr r0, [r5, #0] + 12660: 3004 adds r0, #4 + 12662: 69a3 ldr r3, [r4, #24] + 12664: 079b lsls r3, r3, #30 + 12666: d501 bpl.n 1266c + 12668: f000 fdcb bl 13202 + 1266c: 231f movs r3, #31 + 1266e: 213f movs r1, #63 ; 0x3f + 12670: 221f movs r2, #31 + 12672: 0149 lsls r1, r1, #5 + 12674: 02db lsls r3, r3, #11 + 12676: 430a orrs r2, r1 + 12678: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 12612: 2179 movs r1, #121 ; 0x79 - 12614: 4b8e ldr r3, [pc, #568] ; (12850 ) - 12616: 4798 blx r3 + 1267a: 2179 movs r1, #121 ; 0x79 + 1267c: 4b8e ldr r3, [pc, #568] ; (128b8 ) + 1267e: 4798 blx r3 lv_style_set_image_recolor(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 12618: 4b89 ldr r3, [pc, #548] ; (12840 ) - 1261a: 6818 ldr r0, [r3, #0] - 1261c: 3004 adds r0, #4 - 1261e: 4b8b ldr r3, [pc, #556] ; (1284c ) - 12620: 699b ldr r3, [r3, #24] - 12622: 079b lsls r3, r3, #30 - 12624: d501 bpl.n 1262a - 12626: f000 fdbd bl 131a4 - 1262a: 231f movs r3, #31 - 1262c: 213f movs r1, #63 ; 0x3f - 1262e: 221f movs r2, #31 - 12630: 0149 lsls r1, r1, #5 - 12632: 02db lsls r3, r3, #11 - 12634: 430a orrs r2, r1 - 12636: 431a orrs r2, r3 + 12680: 4b89 ldr r3, [pc, #548] ; (128a8 ) + 12682: 6818 ldr r0, [r3, #0] + 12684: 3004 adds r0, #4 + 12686: 4b8b ldr r3, [pc, #556] ; (128b4 ) + 12688: 699b ldr r3, [r3, #24] + 1268a: 079b lsls r3, r3, #30 + 1268c: d501 bpl.n 12692 + 1268e: f000 fdbd bl 1320c + 12692: 231f movs r3, #31 + 12694: 213f movs r1, #63 ; 0x3f + 12696: 221f movs r2, #31 + 12698: 0149 lsls r1, r1, #5 + 1269a: 02db lsls r3, r3, #11 + 1269c: 430a orrs r2, r1 + 1269e: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 12638: 498d ldr r1, [pc, #564] ; (12870 ) - 1263a: 4b85 ldr r3, [pc, #532] ; (12850 ) - 1263c: 4798 blx r3 + 126a0: 498d ldr r1, [pc, #564] ; (128d8 ) + 126a2: 4b85 ldr r3, [pc, #532] ; (128b8 ) + 126a4: 4798 blx r3 lv_style_set_line_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 1263e: 4b80 ldr r3, [pc, #512] ; (12840 ) - 12640: 6818 ldr r0, [r3, #0] - 12642: 3004 adds r0, #4 - 12644: 4b81 ldr r3, [pc, #516] ; (1284c ) - 12646: 699b ldr r3, [r3, #24] - 12648: 079b lsls r3, r3, #30 - 1264a: d501 bpl.n 12650 - 1264c: f000 fdaf bl 131ae - 12650: 231f movs r3, #31 - 12652: 213f movs r1, #63 ; 0x3f - 12654: 221f movs r2, #31 - 12656: 0149 lsls r1, r1, #5 - 12658: 02db lsls r3, r3, #11 - 1265a: 430a orrs r2, r1 - 1265c: 431a orrs r2, r3 + 126a6: 4b80 ldr r3, [pc, #512] ; (128a8 ) + 126a8: 6818 ldr r0, [r3, #0] + 126aa: 3004 adds r0, #4 + 126ac: 4b81 ldr r3, [pc, #516] ; (128b4 ) + 126ae: 699b ldr r3, [r3, #24] + 126b0: 079b lsls r3, r3, #30 + 126b2: d501 bpl.n 126b8 + 126b4: f000 fdaf bl 13216 + 126b8: 231f movs r3, #31 + 126ba: 213f movs r1, #63 ; 0x3f + 126bc: 221f movs r2, #31 + 126be: 0149 lsls r1, r1, #5 + 126c0: 02db lsls r3, r3, #11 + 126c2: 430a orrs r2, r1 + 126c4: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 1265e: 2199 movs r1, #153 ; 0x99 - 12660: 4b7b ldr r3, [pc, #492] ; (12850 ) - 12662: 4798 blx r3 + 126c6: 2199 movs r1, #153 ; 0x99 + 126c8: 4b7b ldr r3, [pc, #492] ; (128b8 ) + 126ca: 4798 blx r3 lv_style_set_line_width(&styles->bg, LV_STATE_DEFAULT, 1); - 12664: 4c76 ldr r4, [pc, #472] ; (12840 ) - 12666: 6823 ldr r3, [r4, #0] - 12668: 1d18 adds r0, r3, #4 + 126cc: 4c76 ldr r4, [pc, #472] ; (128a8 ) + 126ce: 6823 ldr r3, [r4, #0] + 126d0: 1d18 adds r0, r3, #4 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 1266a: 2201 movs r2, #1 - 1266c: 2190 movs r1, #144 ; 0x90 - 1266e: 4b7d ldr r3, [pc, #500] ; (12864 ) - 12670: 4798 blx r3 + 126d2: 2201 movs r2, #1 + 126d4: 2190 movs r1, #144 ; 0x90 + 126d6: 4b7d ldr r3, [pc, #500] ; (128cc ) + 126d8: 4798 blx r3 lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 12672: 6825 ldr r5, [r4, #0] - 12674: 3504 adds r5, #4 - 12676: 2000 movs r0, #0 - 12678: 4b7e ldr r3, [pc, #504] ; (12874 ) - 1267a: 4798 blx r3 - 1267c: 2801 cmp r0, #1 - 1267e: d801 bhi.n 12684 - 12680: f000 fd9a bl 131b8 - 12684: 2000 movs r0, #0 - 12686: 4b76 ldr r3, [pc, #472] ; (12860 ) - 12688: 4798 blx r3 - 1268a: 0103 lsls r3, r0, #4 - 1268c: 1a18 subs r0, r3, r0 - 1268e: 0040 lsls r0, r0, #1 - 12690: 3050 adds r0, #80 ; 0x50 - 12692: 2340 movs r3, #64 ; 0x40 - 12694: 33ff adds r3, #255 ; 0xff - 12696: 2401 movs r4, #1 - 12698: 4298 cmp r0, r3 - 1269a: d901 bls.n 126a0 - 1269c: f000 fda5 bl 131ea - 126a0: 2000 movs r0, #0 - 126a2: 4b6f ldr r3, [pc, #444] ; (12860 ) - 126a4: 4798 blx r3 - 126a6: 0003 movs r3, r0 - 126a8: 3328 adds r3, #40 ; 0x28 - 126aa: 005b lsls r3, r3, #1 - 126ac: 2140 movs r1, #64 ; 0x40 - 126ae: 31ff adds r1, #255 ; 0xff - 126b0: 2201 movs r2, #1 - 126b2: 428b cmp r3, r1 - 126b4: d901 bls.n 126ba - 126b6: f000 fda5 bl 13204 - 126ba: 18a2 adds r2, r4, r2 + 126da: 6825 ldr r5, [r4, #0] + 126dc: 3504 adds r5, #4 + 126de: 2000 movs r0, #0 + 126e0: 4b7e ldr r3, [pc, #504] ; (128dc ) + 126e2: 4798 blx r3 + 126e4: 2801 cmp r0, #1 + 126e6: d801 bhi.n 126ec + 126e8: f000 fd9a bl 13220 + 126ec: 2000 movs r0, #0 + 126ee: 4b76 ldr r3, [pc, #472] ; (128c8 ) + 126f0: 4798 blx r3 + 126f2: 0103 lsls r3, r0, #4 + 126f4: 1a18 subs r0, r3, r0 + 126f6: 0040 lsls r0, r0, #1 + 126f8: 3050 adds r0, #80 ; 0x50 + 126fa: 2340 movs r3, #64 ; 0x40 + 126fc: 33ff adds r3, #255 ; 0xff + 126fe: 2401 movs r4, #1 + 12700: 4298 cmp r0, r3 + 12702: d901 bls.n 12708 + 12704: f000 fda5 bl 13252 + 12708: 2000 movs r0, #0 + 1270a: 4b6f ldr r3, [pc, #444] ; (128c8 ) + 1270c: 4798 blx r3 + 1270e: 0003 movs r3, r0 + 12710: 3328 adds r3, #40 ; 0x28 + 12712: 005b lsls r3, r3, #1 + 12714: 2140 movs r1, #64 ; 0x40 + 12716: 31ff adds r1, #255 ; 0xff + 12718: 2201 movs r2, #1 + 1271a: 428b cmp r3, r1 + 1271c: d901 bls.n 12722 + 1271e: f000 fda5 bl 1326c + 12722: 18a2 adds r2, r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 126bc: b212 sxth r2, r2 - 126be: 2112 movs r1, #18 - 126c0: 0028 movs r0, r5 - 126c2: 4b68 ldr r3, [pc, #416] ; (12864 ) - 126c4: 4798 blx r3 + 12724: b212 sxth r2, r2 + 12726: 2112 movs r1, #18 + 12728: 0028 movs r0, r5 + 1272a: 4b68 ldr r3, [pc, #416] ; (128cc ) + 1272c: 4798 blx r3 lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 126c6: 4b5e ldr r3, [pc, #376] ; (12840 ) - 126c8: 681d ldr r5, [r3, #0] - 126ca: 3504 adds r5, #4 - 126cc: 2000 movs r0, #0 - 126ce: 4b69 ldr r3, [pc, #420] ; (12874 ) - 126d0: 4798 blx r3 - 126d2: 2801 cmp r0, #1 - 126d4: d801 bhi.n 126da - 126d6: f000 fda0 bl 1321a - 126da: 2000 movs r0, #0 - 126dc: 4b60 ldr r3, [pc, #384] ; (12860 ) - 126de: 4798 blx r3 - 126e0: 0103 lsls r3, r0, #4 - 126e2: 1a18 subs r0, r3, r0 - 126e4: 0040 lsls r0, r0, #1 - 126e6: 3050 adds r0, #80 ; 0x50 - 126e8: 2340 movs r3, #64 ; 0x40 - 126ea: 33ff adds r3, #255 ; 0xff - 126ec: 2401 movs r4, #1 - 126ee: 4298 cmp r0, r3 - 126f0: d901 bls.n 126f6 - 126f2: f000 fdab bl 1324c - 126f6: 2000 movs r0, #0 - 126f8: 4b59 ldr r3, [pc, #356] ; (12860 ) - 126fa: 4798 blx r3 - 126fc: 0003 movs r3, r0 - 126fe: 3328 adds r3, #40 ; 0x28 - 12700: 005b lsls r3, r3, #1 - 12702: 2140 movs r1, #64 ; 0x40 - 12704: 31ff adds r1, #255 ; 0xff - 12706: 2201 movs r2, #1 - 12708: 428b cmp r3, r1 - 1270a: d901 bls.n 12710 - 1270c: f000 fdab bl 13266 - 12710: 18a2 adds r2, r4, r2 + 1272e: 4b5e ldr r3, [pc, #376] ; (128a8 ) + 12730: 681d ldr r5, [r3, #0] + 12732: 3504 adds r5, #4 + 12734: 2000 movs r0, #0 + 12736: 4b69 ldr r3, [pc, #420] ; (128dc ) + 12738: 4798 blx r3 + 1273a: 2801 cmp r0, #1 + 1273c: d801 bhi.n 12742 + 1273e: f000 fda0 bl 13282 + 12742: 2000 movs r0, #0 + 12744: 4b60 ldr r3, [pc, #384] ; (128c8 ) + 12746: 4798 blx r3 + 12748: 0103 lsls r3, r0, #4 + 1274a: 1a18 subs r0, r3, r0 + 1274c: 0040 lsls r0, r0, #1 + 1274e: 3050 adds r0, #80 ; 0x50 + 12750: 2340 movs r3, #64 ; 0x40 + 12752: 33ff adds r3, #255 ; 0xff + 12754: 2401 movs r4, #1 + 12756: 4298 cmp r0, r3 + 12758: d901 bls.n 1275e + 1275a: f000 fdab bl 132b4 + 1275e: 2000 movs r0, #0 + 12760: 4b59 ldr r3, [pc, #356] ; (128c8 ) + 12762: 4798 blx r3 + 12764: 0003 movs r3, r0 + 12766: 3328 adds r3, #40 ; 0x28 + 12768: 005b lsls r3, r3, #1 + 1276a: 2140 movs r1, #64 ; 0x40 + 1276c: 31ff adds r1, #255 ; 0xff + 1276e: 2201 movs r2, #1 + 12770: 428b cmp r3, r1 + 12772: d901 bls.n 12778 + 12774: f000 fdab bl 132ce + 12778: 18a2 adds r2, r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 12712: b212 sxth r2, r2 - 12714: 2113 movs r1, #19 - 12716: 0028 movs r0, r5 - 12718: 4b52 ldr r3, [pc, #328] ; (12864 ) - 1271a: 4798 blx r3 + 1277a: b212 sxth r2, r2 + 1277c: 2113 movs r1, #19 + 1277e: 0028 movs r0, r5 + 12780: 4b52 ldr r3, [pc, #328] ; (128cc ) + 12782: 4798 blx r3 lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 1271c: 4b48 ldr r3, [pc, #288] ; (12840 ) - 1271e: 681d ldr r5, [r3, #0] - 12720: 3504 adds r5, #4 - 12722: 2000 movs r0, #0 - 12724: 4b53 ldr r3, [pc, #332] ; (12874 ) - 12726: 4798 blx r3 - 12728: 2801 cmp r0, #1 - 1272a: d801 bhi.n 12730 - 1272c: f000 fda6 bl 1327c - 12730: 2000 movs r0, #0 - 12732: 4b4b ldr r3, [pc, #300] ; (12860 ) - 12734: 4798 blx r3 - 12736: 0103 lsls r3, r0, #4 - 12738: 1a18 subs r0, r3, r0 - 1273a: 0040 lsls r0, r0, #1 - 1273c: 3050 adds r0, #80 ; 0x50 - 1273e: 2340 movs r3, #64 ; 0x40 - 12740: 33ff adds r3, #255 ; 0xff - 12742: 2401 movs r4, #1 - 12744: 4298 cmp r0, r3 - 12746: d901 bls.n 1274c - 12748: f000 fdb1 bl 132ae - 1274c: 2000 movs r0, #0 - 1274e: 4b44 ldr r3, [pc, #272] ; (12860 ) - 12750: 4798 blx r3 - 12752: 0003 movs r3, r0 - 12754: 3328 adds r3, #40 ; 0x28 - 12756: 005b lsls r3, r3, #1 - 12758: 2140 movs r1, #64 ; 0x40 - 1275a: 31ff adds r1, #255 ; 0xff - 1275c: 2201 movs r2, #1 - 1275e: 428b cmp r3, r1 - 12760: d901 bls.n 12766 - 12762: f000 fdb1 bl 132c8 - 12766: 18a2 adds r2, r4, r2 + 12784: 4b48 ldr r3, [pc, #288] ; (128a8 ) + 12786: 681d ldr r5, [r3, #0] + 12788: 3504 adds r5, #4 + 1278a: 2000 movs r0, #0 + 1278c: 4b53 ldr r3, [pc, #332] ; (128dc ) + 1278e: 4798 blx r3 + 12790: 2801 cmp r0, #1 + 12792: d801 bhi.n 12798 + 12794: f000 fda6 bl 132e4 + 12798: 2000 movs r0, #0 + 1279a: 4b4b ldr r3, [pc, #300] ; (128c8 ) + 1279c: 4798 blx r3 + 1279e: 0103 lsls r3, r0, #4 + 127a0: 1a18 subs r0, r3, r0 + 127a2: 0040 lsls r0, r0, #1 + 127a4: 3050 adds r0, #80 ; 0x50 + 127a6: 2340 movs r3, #64 ; 0x40 + 127a8: 33ff adds r3, #255 ; 0xff + 127aa: 2401 movs r4, #1 + 127ac: 4298 cmp r0, r3 + 127ae: d901 bls.n 127b4 + 127b0: f000 fdb1 bl 13316 + 127b4: 2000 movs r0, #0 + 127b6: 4b44 ldr r3, [pc, #272] ; (128c8 ) + 127b8: 4798 blx r3 + 127ba: 0003 movs r3, r0 + 127bc: 3328 adds r3, #40 ; 0x28 + 127be: 005b lsls r3, r3, #1 + 127c0: 2140 movs r1, #64 ; 0x40 + 127c2: 31ff adds r1, #255 ; 0xff + 127c4: 2201 movs r2, #1 + 127c6: 428b cmp r3, r1 + 127c8: d901 bls.n 127ce + 127ca: f000 fdb1 bl 13330 + 127ce: 18a2 adds r2, r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 12768: b212 sxth r2, r2 - 1276a: 2110 movs r1, #16 - 1276c: 0028 movs r0, r5 - 1276e: 4b3d ldr r3, [pc, #244] ; (12864 ) - 12770: 4798 blx r3 + 127d0: b212 sxth r2, r2 + 127d2: 2110 movs r1, #16 + 127d4: 0028 movs r0, r5 + 127d6: 4b3d ldr r3, [pc, #244] ; (128cc ) + 127d8: 4798 blx r3 lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 12772: 4b33 ldr r3, [pc, #204] ; (12840 ) - 12774: 681d ldr r5, [r3, #0] - 12776: 3504 adds r5, #4 - 12778: 2000 movs r0, #0 - 1277a: 4b3e ldr r3, [pc, #248] ; (12874 ) - 1277c: 4798 blx r3 - 1277e: 2801 cmp r0, #1 - 12780: d801 bhi.n 12786 - 12782: f000 fdac bl 132de - 12786: 2000 movs r0, #0 - 12788: 4b35 ldr r3, [pc, #212] ; (12860 ) - 1278a: 4798 blx r3 - 1278c: 0103 lsls r3, r0, #4 - 1278e: 1a18 subs r0, r3, r0 - 12790: 0040 lsls r0, r0, #1 - 12792: 3050 adds r0, #80 ; 0x50 - 12794: 2340 movs r3, #64 ; 0x40 - 12796: 33ff adds r3, #255 ; 0xff - 12798: 2401 movs r4, #1 - 1279a: 4298 cmp r0, r3 - 1279c: d901 bls.n 127a2 - 1279e: f000 fdb7 bl 13310 - 127a2: 2000 movs r0, #0 - 127a4: 4b2e ldr r3, [pc, #184] ; (12860 ) - 127a6: 4798 blx r3 - 127a8: 0003 movs r3, r0 - 127aa: 3328 adds r3, #40 ; 0x28 - 127ac: 005b lsls r3, r3, #1 - 127ae: 2140 movs r1, #64 ; 0x40 - 127b0: 31ff adds r1, #255 ; 0xff - 127b2: 2201 movs r2, #1 - 127b4: 428b cmp r3, r1 - 127b6: d901 bls.n 127bc - 127b8: f000 fdb7 bl 1332a - 127bc: 18a2 adds r2, r4, r2 + 127da: 4b33 ldr r3, [pc, #204] ; (128a8 ) + 127dc: 681d ldr r5, [r3, #0] + 127de: 3504 adds r5, #4 + 127e0: 2000 movs r0, #0 + 127e2: 4b3e ldr r3, [pc, #248] ; (128dc ) + 127e4: 4798 blx r3 + 127e6: 2801 cmp r0, #1 + 127e8: d801 bhi.n 127ee + 127ea: f000 fdac bl 13346 + 127ee: 2000 movs r0, #0 + 127f0: 4b35 ldr r3, [pc, #212] ; (128c8 ) + 127f2: 4798 blx r3 + 127f4: 0103 lsls r3, r0, #4 + 127f6: 1a18 subs r0, r3, r0 + 127f8: 0040 lsls r0, r0, #1 + 127fa: 3050 adds r0, #80 ; 0x50 + 127fc: 2340 movs r3, #64 ; 0x40 + 127fe: 33ff adds r3, #255 ; 0xff + 12800: 2401 movs r4, #1 + 12802: 4298 cmp r0, r3 + 12804: d901 bls.n 1280a + 12806: f000 fdb7 bl 13378 + 1280a: 2000 movs r0, #0 + 1280c: 4b2e ldr r3, [pc, #184] ; (128c8 ) + 1280e: 4798 blx r3 + 12810: 0003 movs r3, r0 + 12812: 3328 adds r3, #40 ; 0x28 + 12814: 005b lsls r3, r3, #1 + 12816: 2140 movs r1, #64 ; 0x40 + 12818: 31ff adds r1, #255 ; 0xff + 1281a: 2201 movs r2, #1 + 1281c: 428b cmp r3, r1 + 1281e: d901 bls.n 12824 + 12820: f000 fdb7 bl 13392 + 12824: 18a2 adds r2, r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 127be: b212 sxth r2, r2 - 127c0: 2111 movs r1, #17 - 127c2: 0028 movs r0, r5 - 127c4: 4b27 ldr r3, [pc, #156] ; (12864 ) - 127c6: 4798 blx r3 + 12826: b212 sxth r2, r2 + 12828: 2111 movs r1, #17 + 1282a: 0028 movs r0, r5 + 1282c: 4b27 ldr r3, [pc, #156] ; (128cc ) + 1282e: 4798 blx r3 lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF); - 127c8: 4b1d ldr r3, [pc, #116] ; (12840 ) - 127ca: 681c ldr r4, [r3, #0] - 127cc: 3404 adds r4, #4 - 127ce: 2000 movs r0, #0 - 127d0: 4b28 ldr r3, [pc, #160] ; (12874 ) - 127d2: 4798 blx r3 - 127d4: 2801 cmp r0, #1 - 127d6: d801 bhi.n 127dc - 127d8: f000 fdb2 bl 13340 - 127dc: 2000 movs r0, #0 - 127de: 4b20 ldr r3, [pc, #128] ; (12860 ) - 127e0: 4798 blx r3 - 127e2: 0103 lsls r3, r0, #4 - 127e4: 1a1b subs r3, r3, r0 - 127e6: 005b lsls r3, r3, #1 - 127e8: 3350 adds r3, #80 ; 0x50 - 127ea: 2140 movs r1, #64 ; 0x40 - 127ec: 31ff adds r1, #255 ; 0xff - 127ee: 2201 movs r2, #1 - 127f0: 428b cmp r3, r1 - 127f2: d901 bls.n 127f8 - 127f4: f000 fdbd bl 13372 + 12830: 4b1d ldr r3, [pc, #116] ; (128a8 ) + 12832: 681c ldr r4, [r3, #0] + 12834: 3404 adds r4, #4 + 12836: 2000 movs r0, #0 + 12838: 4b28 ldr r3, [pc, #160] ; (128dc ) + 1283a: 4798 blx r3 + 1283c: 2801 cmp r0, #1 + 1283e: d801 bhi.n 12844 + 12840: f000 fdb2 bl 133a8 + 12844: 2000 movs r0, #0 + 12846: 4b20 ldr r3, [pc, #128] ; (128c8 ) + 12848: 4798 blx r3 + 1284a: 0103 lsls r3, r0, #4 + 1284c: 1a1b subs r3, r3, r0 + 1284e: 005b lsls r3, r3, #1 + 12850: 3350 adds r3, #80 ; 0x50 + 12852: 2140 movs r1, #64 ; 0x40 + 12854: 31ff adds r1, #255 ; 0xff + 12856: 2201 movs r2, #1 + 12858: 428b cmp r3, r1 + 1285a: d901 bls.n 12860 + 1285c: f000 fdbd bl 133da _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 127f8: 2114 movs r1, #20 - 127fa: 0020 movs r0, r4 - 127fc: 4d19 ldr r5, [pc, #100] ; (12864 ) - 127fe: 47a8 blx r5 + 12860: 2114 movs r1, #20 + 12862: 0020 movs r0, r4 + 12864: 4d19 ldr r5, [pc, #100] ; (128cc ) + 12866: 47a8 blx r5 lv_style_set_transition_time(&styles->bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 12800: 4c0f ldr r4, [pc, #60] ; (12840 ) - 12802: 6823 ldr r3, [r4, #0] - 12804: 1d18 adds r0, r3, #4 + 12868: 4c0f ldr r4, [pc, #60] ; (128a8 ) + 1286a: 6823 ldr r3, [r4, #0] + 1286c: 1d18 adds r0, r3, #4 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 12806: 2296 movs r2, #150 ; 0x96 - 12808: 21b0 movs r1, #176 ; 0xb0 - 1280a: 47a8 blx r5 + 1286e: 2296 movs r2, #150 ; 0x96 + 12870: 21b0 movs r1, #176 ; 0xb0 + 12872: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->bg, LV_STATE_DEFAULT, LV_STYLE_BORDER_COLOR); - 1280c: 6823 ldr r3, [r4, #0] - 1280e: 1d18 adds r0, r3, #4 + 12874: 6823 ldr r3, [r4, #0] + 12876: 1d18 adds r0, r3, #4 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 12810: 2239 movs r2, #57 ; 0x39 - 12812: 21b7 movs r1, #183 ; 0xb7 - 12814: 47a8 blx r5 + 12878: 2239 movs r2, #57 ; 0x39 + 1287a: 21b7 movs r1, #183 ; 0xb7 + 1287c: 47a8 blx r5 style_init_reset(&styles->bg_sec); - 12816: 6820 ldr r0, [r4, #0] - 12818: 300c adds r0, #12 - 1281a: 4b0a ldr r3, [pc, #40] ; (12844 ) - 1281c: 4798 blx r3 + 1287e: 6820 ldr r0, [r4, #0] + 12880: 300c adds r0, #12 + 12882: 4b0a ldr r3, [pc, #40] ; (128ac ) + 12884: 4798 blx r3 lv_style_copy(&styles->bg_sec, &styles->bg); - 1281e: 6820 ldr r0, [r4, #0] - 12820: 1d01 adds r1, r0, #4 - 12822: 300c adds r0, #12 - 12824: 4b14 ldr r3, [pc, #80] ; (12878 ) - 12826: 4798 blx r3 + 12886: 6820 ldr r0, [r4, #0] + 12888: 1d01 adds r1, r0, #4 + 1288a: 300c adds r0, #12 + 1288c: 4b14 ldr r3, [pc, #80] ; (128e0 ) + 1288e: 4798 blx r3 lv_style_set_bg_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC); - 12828: 6820 ldr r0, [r4, #0] - 1282a: 300c adds r0, #12 - 1282c: 4b07 ldr r3, [pc, #28] ; (1284c ) - 1282e: 699b ldr r3, [r3, #24] - 12830: 079b lsls r3, r3, #30 - 12832: d501 bpl.n 12838 - 12834: f000 fdaa bl 1338c - 12838: 2308 movs r3, #8 - 1283a: 2112 movs r1, #18 - 1283c: 2209 movs r2, #9 - 1283e: e01d b.n 1287c - 12840: 20004c38 .word 0x20004c38 - 12844: 0001242d .word 0x0001242d - 12848: 00004f4d .word 0x00004f4d - 1284c: 20004c3c .word 0x20004c3c - 12850: 00004ded .word 0x00004ded - 12854: 00008089 .word 0x00008089 - 12858: 0000808e .word 0x0000808e - 1285c: 000050a1 .word 0x000050a1 - 12860: 0000f5fd .word 0x0000f5fd - 12864: 00004c8d .word 0x00004c8d - 12868: 00000239 .word 0x00000239 - 1286c: 00000439 .word 0x00000439 - 12870: 000080a9 .word 0x000080a9 - 12874: 0000f619 .word 0x0000f619 - 12878: 00004b35 .word 0x00004b35 - 1287c: 0149 lsls r1, r1, #5 - 1287e: 02db lsls r3, r3, #11 - 12880: 430a orrs r2, r1 - 12882: 431a orrs r2, r3 + 12890: 6820 ldr r0, [r4, #0] + 12892: 300c adds r0, #12 + 12894: 4b07 ldr r3, [pc, #28] ; (128b4 ) + 12896: 699b ldr r3, [r3, #24] + 12898: 079b lsls r3, r3, #30 + 1289a: d501 bpl.n 128a0 + 1289c: f000 fdaa bl 133f4 + 128a0: 2308 movs r3, #8 + 128a2: 2112 movs r1, #18 + 128a4: 2209 movs r2, #9 + 128a6: e01d b.n 128e4 + 128a8: 20004c38 .word 0x20004c38 + 128ac: 00012495 .word 0x00012495 + 128b0: 00004fb5 .word 0x00004fb5 + 128b4: 20004c3c .word 0x20004c3c + 128b8: 00004e55 .word 0x00004e55 + 128bc: 00008089 .word 0x00008089 + 128c0: 0000808e .word 0x0000808e + 128c4: 00005109 .word 0x00005109 + 128c8: 0000f665 .word 0x0000f665 + 128cc: 00004cf5 .word 0x00004cf5 + 128d0: 00000239 .word 0x00000239 + 128d4: 00000439 .word 0x00000439 + 128d8: 000080a9 .word 0x000080a9 + 128dc: 0000f681 .word 0x0000f681 + 128e0: 00004b9d .word 0x00004b9d + 128e4: 0149 lsls r1, r1, #5 + 128e6: 02db lsls r3, r3, #11 + 128e8: 430a orrs r2, r1 + 128ea: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 12884: 2129 movs r1, #41 ; 0x29 - 12886: 4bfb ldr r3, [pc, #1004] ; (12c74 ) - 12888: 4798 blx r3 + 128ec: 2129 movs r1, #41 ; 0x29 + 128ee: 4bfb ldr r3, [pc, #1004] ; (12cdc ) + 128f0: 4798 blx r3 lv_style_set_border_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_BORDER); - 1288a: 4bfb ldr r3, [pc, #1004] ; (12c78 ) - 1288c: 6818 ldr r0, [r3, #0] - 1288e: 300c adds r0, #12 - 12890: 4bfa ldr r3, [pc, #1000] ; (12c7c ) - 12892: 699b ldr r3, [r3, #24] - 12894: 079b lsls r3, r3, #30 - 12896: d501 bpl.n 1289c - 12898: f000 fd7d bl 13396 - 1289c: 2308 movs r3, #8 - 1289e: 2110 movs r1, #16 - 128a0: 2208 movs r2, #8 - 128a2: 0149 lsls r1, r1, #5 - 128a4: 02db lsls r3, r3, #11 - 128a6: 430a orrs r2, r1 - 128a8: 431a orrs r2, r3 + 128f2: 4bfb ldr r3, [pc, #1004] ; (12ce0 ) + 128f4: 6818 ldr r0, [r3, #0] + 128f6: 300c adds r0, #12 + 128f8: 4bfa ldr r3, [pc, #1000] ; (12ce4 ) + 128fa: 699b ldr r3, [r3, #24] + 128fc: 079b lsls r3, r3, #30 + 128fe: d501 bpl.n 12904 + 12900: f000 fd7d bl 133fe + 12904: 2308 movs r3, #8 + 12906: 2110 movs r1, #16 + 12908: 2208 movs r2, #8 + 1290a: 0149 lsls r1, r1, #5 + 1290c: 02db lsls r3, r3, #11 + 1290e: 430a orrs r2, r1 + 12910: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 128aa: 2139 movs r1, #57 ; 0x39 - 128ac: 4bf1 ldr r3, [pc, #964] ; (12c74 ) - 128ae: 4798 blx r3 + 12912: 2139 movs r1, #57 ; 0x39 + 12914: 4bf1 ldr r3, [pc, #964] ; (12cdc ) + 12916: 4798 blx r3 lv_style_set_text_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 128b0: 4bf1 ldr r3, [pc, #964] ; (12c78 ) - 128b2: 6818 ldr r0, [r3, #0] - 128b4: 300c adds r0, #12 - 128b6: 4bf1 ldr r3, [pc, #964] ; (12c7c ) - 128b8: 699b ldr r3, [r3, #24] - 128ba: 079b lsls r3, r3, #30 - 128bc: d501 bpl.n 128c2 - 128be: f000 fd6f bl 133a0 - 128c2: 2314 movs r3, #20 - 128c4: 212a movs r1, #42 ; 0x2a - 128c6: 2215 movs r2, #21 - 128c8: 0149 lsls r1, r1, #5 - 128ca: 02db lsls r3, r3, #11 - 128cc: 430a orrs r2, r1 - 128ce: 431a orrs r2, r3 + 12918: 4bf1 ldr r3, [pc, #964] ; (12ce0 ) + 1291a: 6818 ldr r0, [r3, #0] + 1291c: 300c adds r0, #12 + 1291e: 4bf1 ldr r3, [pc, #964] ; (12ce4 ) + 12920: 699b ldr r3, [r3, #24] + 12922: 079b lsls r3, r3, #30 + 12924: d501 bpl.n 1292a + 12926: f000 fd6f bl 13408 + 1292a: 2314 movs r3, #20 + 1292c: 212a movs r1, #42 ; 0x2a + 1292e: 2215 movs r2, #21 + 12930: 0149 lsls r1, r1, #5 + 12932: 02db lsls r3, r3, #11 + 12934: 430a orrs r2, r1 + 12936: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 128d0: 49eb ldr r1, [pc, #940] ; (12c80 ) - 128d2: 4be8 ldr r3, [pc, #928] ; (12c74 ) - 128d4: 4798 blx r3 + 12938: 49eb ldr r1, [pc, #940] ; (12ce8 ) + 1293a: 4be8 ldr r3, [pc, #928] ; (12cdc ) + 1293c: 4798 blx r3 lv_style_set_value_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 128d6: 4be8 ldr r3, [pc, #928] ; (12c78 ) - 128d8: 6818 ldr r0, [r3, #0] - 128da: 300c adds r0, #12 - 128dc: 4be7 ldr r3, [pc, #924] ; (12c7c ) - 128de: 699b ldr r3, [r3, #24] - 128e0: 079b lsls r3, r3, #30 - 128e2: d501 bpl.n 128e8 - 128e4: f000 fd61 bl 133aa - 128e8: 2314 movs r3, #20 - 128ea: 212a movs r1, #42 ; 0x2a - 128ec: 2215 movs r2, #21 - 128ee: 0149 lsls r1, r1, #5 - 128f0: 02db lsls r3, r3, #11 - 128f2: 430a orrs r2, r1 - 128f4: 431a orrs r2, r3 + 1293e: 4be8 ldr r3, [pc, #928] ; (12ce0 ) + 12940: 6818 ldr r0, [r3, #0] + 12942: 300c adds r0, #12 + 12944: 4be7 ldr r3, [pc, #924] ; (12ce4 ) + 12946: 699b ldr r3, [r3, #24] + 12948: 079b lsls r3, r3, #30 + 1294a: d501 bpl.n 12950 + 1294c: f000 fd61 bl 13412 + 12950: 2314 movs r3, #20 + 12952: 212a movs r1, #42 ; 0x2a + 12954: 2215 movs r2, #21 + 12956: 0149 lsls r1, r1, #5 + 12958: 02db lsls r3, r3, #11 + 1295a: 430a orrs r2, r1 + 1295c: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 128f6: 2179 movs r1, #121 ; 0x79 - 128f8: 4bde ldr r3, [pc, #888] ; (12c74 ) - 128fa: 4798 blx r3 + 1295e: 2179 movs r1, #121 ; 0x79 + 12960: 4bde ldr r3, [pc, #888] ; (12cdc ) + 12962: 4798 blx r3 lv_style_set_image_recolor(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 128fc: 4bde ldr r3, [pc, #888] ; (12c78 ) - 128fe: 6818 ldr r0, [r3, #0] - 12900: 300c adds r0, #12 - 12902: 4bde ldr r3, [pc, #888] ; (12c7c ) - 12904: 699b ldr r3, [r3, #24] - 12906: 079b lsls r3, r3, #30 - 12908: d501 bpl.n 1290e - 1290a: f000 fd53 bl 133b4 - 1290e: 2314 movs r3, #20 - 12910: 212a movs r1, #42 ; 0x2a - 12912: 2215 movs r2, #21 - 12914: 0149 lsls r1, r1, #5 - 12916: 02db lsls r3, r3, #11 - 12918: 430a orrs r2, r1 - 1291a: 431a orrs r2, r3 + 12964: 4bde ldr r3, [pc, #888] ; (12ce0 ) + 12966: 6818 ldr r0, [r3, #0] + 12968: 300c adds r0, #12 + 1296a: 4bde ldr r3, [pc, #888] ; (12ce4 ) + 1296c: 699b ldr r3, [r3, #24] + 1296e: 079b lsls r3, r3, #30 + 12970: d501 bpl.n 12976 + 12972: f000 fd53 bl 1341c + 12976: 2314 movs r3, #20 + 12978: 212a movs r1, #42 ; 0x2a + 1297a: 2215 movs r2, #21 + 1297c: 0149 lsls r1, r1, #5 + 1297e: 02db lsls r3, r3, #11 + 12980: 430a orrs r2, r1 + 12982: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 1291c: 49d9 ldr r1, [pc, #868] ; (12c84 ) - 1291e: 4bd5 ldr r3, [pc, #852] ; (12c74 ) - 12920: 4798 blx r3 + 12984: 49d9 ldr r1, [pc, #868] ; (12cec ) + 12986: 4bd5 ldr r3, [pc, #852] ; (12cdc ) + 12988: 4798 blx r3 lv_style_set_line_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 12922: 4bd5 ldr r3, [pc, #852] ; (12c78 ) - 12924: 6818 ldr r0, [r3, #0] - 12926: 300c adds r0, #12 - 12928: 4bd4 ldr r3, [pc, #848] ; (12c7c ) - 1292a: 699b ldr r3, [r3, #24] - 1292c: 079b lsls r3, r3, #30 - 1292e: d501 bpl.n 12934 - 12930: f000 fd45 bl 133be - 12934: 2314 movs r3, #20 - 12936: 212a movs r1, #42 ; 0x2a - 12938: 2215 movs r2, #21 - 1293a: 0149 lsls r1, r1, #5 - 1293c: 02db lsls r3, r3, #11 - 1293e: 430a orrs r2, r1 - 12940: 431a orrs r2, r3 + 1298a: 4bd5 ldr r3, [pc, #852] ; (12ce0 ) + 1298c: 6818 ldr r0, [r3, #0] + 1298e: 300c adds r0, #12 + 12990: 4bd4 ldr r3, [pc, #848] ; (12ce4 ) + 12992: 699b ldr r3, [r3, #24] + 12994: 079b lsls r3, r3, #30 + 12996: d501 bpl.n 1299c + 12998: f000 fd45 bl 13426 + 1299c: 2314 movs r3, #20 + 1299e: 212a movs r1, #42 ; 0x2a + 129a0: 2215 movs r2, #21 + 129a2: 0149 lsls r1, r1, #5 + 129a4: 02db lsls r3, r3, #11 + 129a6: 430a orrs r2, r1 + 129a8: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 12942: 2199 movs r1, #153 ; 0x99 - 12944: 4bcb ldr r3, [pc, #812] ; (12c74 ) - 12946: 4798 blx r3 + 129aa: 2199 movs r1, #153 ; 0x99 + 129ac: 4bcb ldr r3, [pc, #812] ; (12cdc ) + 129ae: 4798 blx r3 style_init_reset(&styles->bg_click); - 12948: 4ccb ldr r4, [pc, #812] ; (12c78 ) - 1294a: 6820 ldr r0, [r4, #0] - 1294c: 3008 adds r0, #8 - 1294e: 4bce ldr r3, [pc, #824] ; (12c88 ) - 12950: 4798 blx r3 + 129b0: 4ccb ldr r4, [pc, #812] ; (12ce0 ) + 129b2: 6820 ldr r0, [r4, #0] + 129b4: 3008 adds r0, #8 + 129b6: 4bce ldr r3, [pc, #824] ; (12cf0 ) + 129b8: 4798 blx r3 lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_PR); - 12952: 6820 ldr r0, [r4, #0] - 12954: 3008 adds r0, #8 - 12956: 4bc9 ldr r3, [pc, #804] ; (12c7c ) - 12958: 699b ldr r3, [r3, #24] - 1295a: 079b lsls r3, r3, #30 - 1295c: d501 bpl.n 12962 - 1295e: f000 fd33 bl 133c8 - 12962: 2309 movs r3, #9 - 12964: 2113 movs r1, #19 - 12966: 220a movs r2, #10 - 12968: 0149 lsls r1, r1, #5 - 1296a: 02db lsls r3, r3, #11 - 1296c: 430a orrs r2, r1 - 1296e: 431a orrs r2, r3 + 129ba: 6820 ldr r0, [r4, #0] + 129bc: 3008 adds r0, #8 + 129be: 4bc9 ldr r3, [pc, #804] ; (12ce4 ) + 129c0: 699b ldr r3, [r3, #24] + 129c2: 079b lsls r3, r3, #30 + 129c4: d501 bpl.n 129ca + 129c6: f000 fd33 bl 13430 + 129ca: 2309 movs r3, #9 + 129cc: 2113 movs r1, #19 + 129ce: 220a movs r2, #10 + 129d0: 0149 lsls r1, r1, #5 + 129d2: 02db lsls r3, r3, #11 + 129d4: 430a orrs r2, r1 + 129d6: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 12970: 49c6 ldr r1, [pc, #792] ; (12c8c ) - 12972: 4fc0 ldr r7, [pc, #768] ; (12c74 ) - 12974: 47b8 blx r7 + 129d8: 49c6 ldr r1, [pc, #792] ; (12cf4 ) + 129da: 4fc0 ldr r7, [pc, #768] ; (12cdc ) + 129dc: 47b8 blx r7 lv_style_set_bg_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_CHK); - 12976: 4ec0 ldr r6, [pc, #768] ; (12c78 ) - 12978: 6830 ldr r0, [r6, #0] - 1297a: 3008 adds r0, #8 - 1297c: 4dbf ldr r5, [pc, #764] ; (12c7c ) - 1297e: 88aa ldrh r2, [r5, #4] - 12980: 212a movs r1, #42 ; 0x2a - 12982: 31ff adds r1, #255 ; 0xff - 12984: 47b8 blx r7 + 129de: 4ec0 ldr r6, [pc, #768] ; (12ce0 ) + 129e0: 6830 ldr r0, [r6, #0] + 129e2: 3008 adds r0, #8 + 129e4: 4dbf ldr r5, [pc, #764] ; (12ce4 ) + 129e6: 88aa ldrh r2, [r5, #4] + 129e8: 212a movs r1, #42 ; 0x2a + 129ea: 31ff adds r1, #255 ; 0xff + 129ec: 47b8 blx r7 lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_PR_CHK); - 12986: 6834 ldr r4, [r6, #0] - 12988: 3408 adds r4, #8 - 1298a: 88a8 ldrh r0, [r5, #4] - 1298c: 2133 movs r1, #51 ; 0x33 - 1298e: 4bc0 ldr r3, [pc, #768] ; (12c90 ) - 12990: 4798 blx r3 - 12992: 1c02 adds r2, r0, #0 - 12994: 49bf ldr r1, [pc, #764] ; (12c94 ) - 12996: 0020 movs r0, r4 - 12998: 47b8 blx r7 + 129ee: 6834 ldr r4, [r6, #0] + 129f0: 3408 adds r4, #8 + 129f2: 88a8 ldrh r0, [r5, #4] + 129f4: 2133 movs r1, #51 ; 0x33 + 129f6: 4bc0 ldr r3, [pc, #768] ; (12cf8 ) + 129f8: 4798 blx r3 + 129fa: 1c02 adds r2, r0, #0 + 129fc: 49bf ldr r1, [pc, #764] ; (12cfc ) + 129fe: 0020 movs r0, r4 + 12a00: 47b8 blx r7 lv_style_set_bg_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_DIS); - 1299a: 6830 ldr r0, [r6, #0] - 1299c: 3008 adds r0, #8 - 1299e: 69ab ldr r3, [r5, #24] - 129a0: 079b lsls r3, r3, #30 - 129a2: d501 bpl.n 129a8 - 129a4: f000 fd15 bl 133d2 - 129a8: 230b movs r3, #11 - 129aa: 2118 movs r1, #24 - 129ac: 220e movs r2, #14 - 129ae: 0149 lsls r1, r1, #5 - 129b0: 02db lsls r3, r3, #11 - 129b2: 430a orrs r2, r1 - 129b4: 431a orrs r2, r3 - 129b6: 49b8 ldr r1, [pc, #736] ; (12c98 ) - 129b8: 4fae ldr r7, [pc, #696] ; (12c74 ) - 129ba: 47b8 blx r7 + 12a02: 6830 ldr r0, [r6, #0] + 12a04: 3008 adds r0, #8 + 12a06: 69ab ldr r3, [r5, #24] + 12a08: 079b lsls r3, r3, #30 + 12a0a: d501 bpl.n 12a10 + 12a0c: f000 fd15 bl 1343a + 12a10: 230b movs r3, #11 + 12a12: 2118 movs r1, #24 + 12a14: 220e movs r2, #14 + 12a16: 0149 lsls r1, r1, #5 + 12a18: 02db lsls r3, r3, #11 + 12a1a: 430a orrs r2, r1 + 12a1c: 431a orrs r2, r3 + 12a1e: 49b8 ldr r1, [pc, #736] ; (12d00 ) + 12a20: 4fae ldr r7, [pc, #696] ; (12cdc ) + 12a22: 47b8 blx r7 lv_style_set_border_width(&styles->bg_click, LV_STATE_CHECKED, 0); - 129bc: 4dae ldr r5, [pc, #696] ; (12c78 ) - 129be: 6828 ldr r0, [r5, #0] - 129c0: 3008 adds r0, #8 + 12a24: 4dae ldr r5, [pc, #696] ; (12ce0 ) + 12a26: 6828 ldr r0, [r5, #0] + 12a28: 3008 adds r0, #8 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 129c2: 2200 movs r2, #0 - 129c4: 2198 movs r1, #152 ; 0x98 - 129c6: 0049 lsls r1, r1, #1 - 129c8: 4bb4 ldr r3, [pc, #720] ; (12c9c ) - 129ca: 4798 blx r3 + 12a2a: 2200 movs r2, #0 + 12a2c: 2198 movs r1, #152 ; 0x98 + 12a2e: 0049 lsls r1, r1, #1 + 12a30: 4bb4 ldr r3, [pc, #720] ; (12d04 ) + 12a32: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_FOCUSED | LV_STATE_PRESSED, lv_color_darken(theme.color_primary, - 129cc: 682c ldr r4, [r5, #0] - 129ce: 3408 adds r4, #8 - 129d0: 4eaa ldr r6, [pc, #680] ; (12c7c ) - 129d2: 88b0 ldrh r0, [r6, #4] - 129d4: 2133 movs r1, #51 ; 0x33 - 129d6: 4bae ldr r3, [pc, #696] ; (12c90 ) - 129d8: 4798 blx r3 - 129da: 1c02 adds r2, r0, #0 + 12a34: 682c ldr r4, [r5, #0] + 12a36: 3408 adds r4, #8 + 12a38: 4eaa ldr r6, [pc, #680] ; (12ce4 ) + 12a3a: 88b0 ldrh r0, [r6, #4] + 12a3c: 2133 movs r1, #51 ; 0x33 + 12a3e: 4bae ldr r3, [pc, #696] ; (12cf8 ) + 12a40: 4798 blx r3 + 12a42: 1c02 adds r2, r0, #0 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 129dc: 49b0 ldr r1, [pc, #704] ; (12ca0 ) - 129de: 0020 movs r0, r4 - 129e0: 47b8 blx r7 + 12a44: 49b0 ldr r1, [pc, #704] ; (12d08 ) + 12a46: 0020 movs r0, r4 + 12a48: 47b8 blx r7 lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_BORDER_PR); - 129e2: 6828 ldr r0, [r5, #0] - 129e4: 3008 adds r0, #8 - 129e6: 69b3 ldr r3, [r6, #24] - 129e8: 079b lsls r3, r3, #30 - 129ea: d501 bpl.n 129f0 - 129ec: f000 fcf6 bl 133dc - 129f0: 230b movs r3, #11 - 129f2: 2119 movs r1, #25 - 129f4: 220d movs r2, #13 - 129f6: 0149 lsls r1, r1, #5 - 129f8: 02db lsls r3, r3, #11 - 129fa: 430a orrs r2, r1 - 129fc: 431a orrs r2, r3 - 129fe: 49a9 ldr r1, [pc, #676] ; (12ca4 ) - 12a00: 4b9c ldr r3, [pc, #624] ; (12c74 ) - 12a02: 4798 blx r3 + 12a4a: 6828 ldr r0, [r5, #0] + 12a4c: 3008 adds r0, #8 + 12a4e: 69b3 ldr r3, [r6, #24] + 12a50: 079b lsls r3, r3, #30 + 12a52: d501 bpl.n 12a58 + 12a54: f000 fcf6 bl 13444 + 12a58: 230b movs r3, #11 + 12a5a: 2119 movs r1, #25 + 12a5c: 220d movs r2, #13 + 12a5e: 0149 lsls r1, r1, #5 + 12a60: 02db lsls r3, r3, #11 + 12a62: 430a orrs r2, r1 + 12a64: 431a orrs r2, r3 + 12a66: 49a9 ldr r1, [pc, #676] ; (12d0c ) + 12a68: 4b9c ldr r3, [pc, #624] ; (12cdc ) + 12a6a: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_BORDER_CHK); - 12a04: 4b9c ldr r3, [pc, #624] ; (12c78 ) - 12a06: 6818 ldr r0, [r3, #0] - 12a08: 3008 adds r0, #8 - 12a0a: 4b9c ldr r3, [pc, #624] ; (12c7c ) - 12a0c: 699b ldr r3, [r3, #24] - 12a0e: 079b lsls r3, r3, #30 - 12a10: d501 bpl.n 12a16 - 12a12: f000 fce8 bl 133e6 - 12a16: 230b movs r3, #11 - 12a18: 2119 movs r1, #25 - 12a1a: 220d movs r2, #13 - 12a1c: 0149 lsls r1, r1, #5 - 12a1e: 02db lsls r3, r3, #11 - 12a20: 430a orrs r2, r1 - 12a22: 431a orrs r2, r3 - 12a24: 213a movs r1, #58 ; 0x3a - 12a26: 31ff adds r1, #255 ; 0xff - 12a28: 4b92 ldr r3, [pc, #584] ; (12c74 ) - 12a2a: 4798 blx r3 + 12a6c: 4b9c ldr r3, [pc, #624] ; (12ce0 ) + 12a6e: 6818 ldr r0, [r3, #0] + 12a70: 3008 adds r0, #8 + 12a72: 4b9c ldr r3, [pc, #624] ; (12ce4 ) + 12a74: 699b ldr r3, [r3, #24] + 12a76: 079b lsls r3, r3, #30 + 12a78: d501 bpl.n 12a7e + 12a7a: f000 fce8 bl 1344e + 12a7e: 230b movs r3, #11 + 12a80: 2119 movs r1, #25 + 12a82: 220d movs r2, #13 + 12a84: 0149 lsls r1, r1, #5 + 12a86: 02db lsls r3, r3, #11 + 12a88: 430a orrs r2, r1 + 12a8a: 431a orrs r2, r3 + 12a8c: 213a movs r1, #58 ; 0x3a + 12a8e: 31ff adds r1, #255 ; 0xff + 12a90: 4b92 ldr r3, [pc, #584] ; (12cdc ) + 12a92: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_BORDER_CHK_PR); - 12a2c: 4b92 ldr r3, [pc, #584] ; (12c78 ) - 12a2e: 6818 ldr r0, [r3, #0] - 12a30: 3008 adds r0, #8 - 12a32: 4b92 ldr r3, [pc, #584] ; (12c7c ) - 12a34: 699b ldr r3, [r3, #24] - 12a36: 079b lsls r3, r3, #30 - 12a38: d501 bpl.n 12a3e - 12a3a: f000 fcd9 bl 133f0 - 12a3e: 230b movs r3, #11 - 12a40: 2119 movs r1, #25 - 12a42: 220d movs r2, #13 - 12a44: 0149 lsls r1, r1, #5 - 12a46: 02db lsls r3, r3, #11 - 12a48: 430a orrs r2, r1 - 12a4a: 431a orrs r2, r3 - 12a4c: 4996 ldr r1, [pc, #600] ; (12ca8 ) - 12a4e: 4b89 ldr r3, [pc, #548] ; (12c74 ) - 12a50: 4798 blx r3 + 12a94: 4b92 ldr r3, [pc, #584] ; (12ce0 ) + 12a96: 6818 ldr r0, [r3, #0] + 12a98: 3008 adds r0, #8 + 12a9a: 4b92 ldr r3, [pc, #584] ; (12ce4 ) + 12a9c: 699b ldr r3, [r3, #24] + 12a9e: 079b lsls r3, r3, #30 + 12aa0: d501 bpl.n 12aa6 + 12aa2: f000 fcd9 bl 13458 + 12aa6: 230b movs r3, #11 + 12aa8: 2119 movs r1, #25 + 12aaa: 220d movs r2, #13 + 12aac: 0149 lsls r1, r1, #5 + 12aae: 02db lsls r3, r3, #11 + 12ab0: 430a orrs r2, r1 + 12ab2: 431a orrs r2, r3 + 12ab4: 4996 ldr r1, [pc, #600] ; (12d10 ) + 12ab6: 4b89 ldr r3, [pc, #548] ; (12cdc ) + 12ab8: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_BORDER_DIS); - 12a52: 4b89 ldr r3, [pc, #548] ; (12c78 ) - 12a54: 6818 ldr r0, [r3, #0] - 12a56: 3008 adds r0, #8 - 12a58: 4b88 ldr r3, [pc, #544] ; (12c7c ) - 12a5a: 699b ldr r3, [r3, #24] - 12a5c: 079b lsls r3, r3, #30 - 12a5e: d501 bpl.n 12a64 - 12a60: f000 fccb bl 133fa - 12a64: 230b movs r3, #11 - 12a66: 2119 movs r1, #25 - 12a68: 220d movs r2, #13 - 12a6a: 0149 lsls r1, r1, #5 - 12a6c: 02db lsls r3, r3, #11 - 12a6e: 430a orrs r2, r1 - 12a70: 431a orrs r2, r3 - 12a72: 498e ldr r1, [pc, #568] ; (12cac ) - 12a74: 4b7f ldr r3, [pc, #508] ; (12c74 ) - 12a76: 4798 blx r3 + 12aba: 4b89 ldr r3, [pc, #548] ; (12ce0 ) + 12abc: 6818 ldr r0, [r3, #0] + 12abe: 3008 adds r0, #8 + 12ac0: 4b88 ldr r3, [pc, #544] ; (12ce4 ) + 12ac2: 699b ldr r3, [r3, #24] + 12ac4: 079b lsls r3, r3, #30 + 12ac6: d501 bpl.n 12acc + 12ac8: f000 fccb bl 13462 + 12acc: 230b movs r3, #11 + 12ace: 2119 movs r1, #25 + 12ad0: 220d movs r2, #13 + 12ad2: 0149 lsls r1, r1, #5 + 12ad4: 02db lsls r3, r3, #11 + 12ad6: 430a orrs r2, r1 + 12ad8: 431a orrs r2, r3 + 12ada: 498e ldr r1, [pc, #568] ; (12d14 ) + 12adc: 4b7f ldr r3, [pc, #508] ; (12cdc ) + 12ade: 4798 blx r3 lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 12a78: 4b7f ldr r3, [pc, #508] ; (12c78 ) - 12a7a: 6818 ldr r0, [r3, #0] - 12a7c: 3008 adds r0, #8 - 12a7e: 4b7f ldr r3, [pc, #508] ; (12c7c ) - 12a80: 699b ldr r3, [r3, #24] - 12a82: 079b lsls r3, r3, #30 - 12a84: d501 bpl.n 12a8a - 12a86: f000 fcbd bl 13404 - 12a8a: 231f movs r3, #31 - 12a8c: 213f movs r1, #63 ; 0x3f - 12a8e: 221f movs r2, #31 - 12a90: 241f movs r4, #31 - 12a92: 46a0 mov r8, r4 - 12a94: 0149 lsls r1, r1, #5 - 12a96: 02db lsls r3, r3, #11 - 12a98: 430a orrs r2, r1 - 12a9a: 431a orrs r2, r3 + 12ae0: 4b7f ldr r3, [pc, #508] ; (12ce0 ) + 12ae2: 6818 ldr r0, [r3, #0] + 12ae4: 3008 adds r0, #8 + 12ae6: 4b7f ldr r3, [pc, #508] ; (12ce4 ) + 12ae8: 699b ldr r3, [r3, #24] + 12aea: 079b lsls r3, r3, #30 + 12aec: d501 bpl.n 12af2 + 12aee: f000 fcbd bl 1346c + 12af2: 231f movs r3, #31 + 12af4: 213f movs r1, #63 ; 0x3f + 12af6: 221f movs r2, #31 + 12af8: 241f movs r4, #31 + 12afa: 46a0 mov r8, r4 + 12afc: 0149 lsls r1, r1, #5 + 12afe: 02db lsls r3, r3, #11 + 12b00: 430a orrs r2, r1 + 12b02: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 12a9c: 4984 ldr r1, [pc, #528] ; (12cb0 ) - 12a9e: 4f75 ldr r7, [pc, #468] ; (12c74 ) - 12aa0: 47b8 blx r7 + 12b04: 4984 ldr r1, [pc, #528] ; (12d18 ) + 12b06: 4f75 ldr r7, [pc, #468] ; (12cdc ) + 12b08: 47b8 blx r7 lv_style_set_text_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 12aa2: 4e75 ldr r6, [pc, #468] ; (12c78 ) - 12aa4: 6830 ldr r0, [r6, #0] - 12aa6: 3008 adds r0, #8 - 12aa8: 25fc movs r5, #252 ; 0xfc - 12aaa: 00ed lsls r5, r5, #3 - 12aac: 4642 mov r2, r8 - 12aae: 432a orrs r2, r5 - 12ab0: 4c80 ldr r4, [pc, #512] ; (12cb4 ) - 12ab2: 4322 orrs r2, r4 - 12ab4: 4980 ldr r1, [pc, #512] ; (12cb8 ) - 12ab6: 47b8 blx r7 + 12b0a: 4e75 ldr r6, [pc, #468] ; (12ce0 ) + 12b0c: 6830 ldr r0, [r6, #0] + 12b0e: 3008 adds r0, #8 + 12b10: 25fc movs r5, #252 ; 0xfc + 12b12: 00ed lsls r5, r5, #3 + 12b14: 4642 mov r2, r8 + 12b16: 432a orrs r2, r5 + 12b18: 4c80 ldr r4, [pc, #512] ; (12d1c ) + 12b1a: 4322 orrs r2, r4 + 12b1c: 4980 ldr r1, [pc, #512] ; (12d20 ) + 12b1e: 47b8 blx r7 lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR); - 12ab8: 6830 ldr r0, [r6, #0] - 12aba: 3008 adds r0, #8 - 12abc: 4642 mov r2, r8 - 12abe: 432a orrs r2, r5 - 12ac0: 4322 orrs r2, r4 - 12ac2: 497e ldr r1, [pc, #504] ; (12cbc ) - 12ac4: 47b8 blx r7 + 12b20: 6830 ldr r0, [r6, #0] + 12b22: 3008 adds r0, #8 + 12b24: 4642 mov r2, r8 + 12b26: 432a orrs r2, r5 + 12b28: 4322 orrs r2, r4 + 12b2a: 497e ldr r1, [pc, #504] ; (12d24 ) + 12b2c: 47b8 blx r7 lv_style_set_text_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 12ac6: 6830 ldr r0, [r6, #0] - 12ac8: 3008 adds r0, #8 - 12aca: 4b6c ldr r3, [pc, #432] ; (12c7c ) - 12acc: 699b ldr r3, [r3, #24] - 12ace: 079b lsls r3, r3, #30 - 12ad0: d501 bpl.n 12ad6 - 12ad2: f000 fc9c bl 1340e - 12ad6: 2226 movs r2, #38 ; 0x26 - 12ad8: 2313 movs r3, #19 - 12ada: 0152 lsls r2, r2, #5 - 12adc: 02d9 lsls r1, r3, #11 - 12ade: 431a orrs r2, r3 - 12ae0: 430a orrs r2, r1 - 12ae2: 4977 ldr r1, [pc, #476] ; (12cc0 ) - 12ae4: 4b63 ldr r3, [pc, #396] ; (12c74 ) - 12ae6: 4798 blx r3 + 12b2e: 6830 ldr r0, [r6, #0] + 12b30: 3008 adds r0, #8 + 12b32: 4b6c ldr r3, [pc, #432] ; (12ce4 ) + 12b34: 699b ldr r3, [r3, #24] + 12b36: 079b lsls r3, r3, #30 + 12b38: d501 bpl.n 12b3e + 12b3a: f000 fc9c bl 13476 + 12b3e: 2226 movs r2, #38 ; 0x26 + 12b40: 2313 movs r3, #19 + 12b42: 0152 lsls r2, r2, #5 + 12b44: 02d9 lsls r1, r3, #11 + 12b46: 431a orrs r2, r3 + 12b48: 430a orrs r2, r1 + 12b4a: 4977 ldr r1, [pc, #476] ; (12d28 ) + 12b4c: 4b63 ldr r3, [pc, #396] ; (12cdc ) + 12b4e: 4798 blx r3 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 12ae8: 4b63 ldr r3, [pc, #396] ; (12c78 ) - 12aea: 6818 ldr r0, [r3, #0] - 12aec: 3008 adds r0, #8 - 12aee: 4b63 ldr r3, [pc, #396] ; (12c7c ) - 12af0: 699b ldr r3, [r3, #24] - 12af2: 079b lsls r3, r3, #30 - 12af4: d501 bpl.n 12afa - 12af6: f000 fc8e bl 13416 - 12afa: 231f movs r3, #31 - 12afc: 213f movs r1, #63 ; 0x3f - 12afe: 221f movs r2, #31 - 12b00: 241f movs r4, #31 - 12b02: 46a0 mov r8, r4 - 12b04: 0149 lsls r1, r1, #5 - 12b06: 02db lsls r3, r3, #11 - 12b08: 430a orrs r2, r1 - 12b0a: 431a orrs r2, r3 + 12b50: 4b63 ldr r3, [pc, #396] ; (12ce0 ) + 12b52: 6818 ldr r0, [r3, #0] + 12b54: 3008 adds r0, #8 + 12b56: 4b63 ldr r3, [pc, #396] ; (12ce4 ) + 12b58: 699b ldr r3, [r3, #24] + 12b5a: 079b lsls r3, r3, #30 + 12b5c: d501 bpl.n 12b62 + 12b5e: f000 fc8e bl 1347e + 12b62: 231f movs r3, #31 + 12b64: 213f movs r1, #63 ; 0x3f + 12b66: 221f movs r2, #31 + 12b68: 241f movs r4, #31 + 12b6a: 46a0 mov r8, r4 + 12b6c: 0149 lsls r1, r1, #5 + 12b6e: 02db lsls r3, r3, #11 + 12b70: 430a orrs r2, r1 + 12b72: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 12b0c: 496d ldr r1, [pc, #436] ; (12cc4 ) - 12b0e: 4f59 ldr r7, [pc, #356] ; (12c74 ) - 12b10: 47b8 blx r7 + 12b74: 496d ldr r1, [pc, #436] ; (12d2c ) + 12b76: 4f59 ldr r7, [pc, #356] ; (12cdc ) + 12b78: 47b8 blx r7 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 12b12: 4e59 ldr r6, [pc, #356] ; (12c78 ) - 12b14: 6830 ldr r0, [r6, #0] - 12b16: 3008 adds r0, #8 - 12b18: 25fc movs r5, #252 ; 0xfc - 12b1a: 00ed lsls r5, r5, #3 - 12b1c: 4642 mov r2, r8 - 12b1e: 432a orrs r2, r5 - 12b20: 4c64 ldr r4, [pc, #400] ; (12cb4 ) - 12b22: 4322 orrs r2, r4 - 12b24: 4968 ldr r1, [pc, #416] ; (12cc8 ) - 12b26: 47b8 blx r7 + 12b7a: 4e59 ldr r6, [pc, #356] ; (12ce0 ) + 12b7c: 6830 ldr r0, [r6, #0] + 12b7e: 3008 adds r0, #8 + 12b80: 25fc movs r5, #252 ; 0xfc + 12b82: 00ed lsls r5, r5, #3 + 12b84: 4642 mov r2, r8 + 12b86: 432a orrs r2, r5 + 12b88: 4c64 ldr r4, [pc, #400] ; (12d1c ) + 12b8a: 4322 orrs r2, r4 + 12b8c: 4968 ldr r1, [pc, #416] ; (12d30 ) + 12b8e: 47b8 blx r7 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR); - 12b28: 6830 ldr r0, [r6, #0] - 12b2a: 3008 adds r0, #8 - 12b2c: 4642 mov r2, r8 - 12b2e: 432a orrs r2, r5 - 12b30: 4322 orrs r2, r4 - 12b32: 4966 ldr r1, [pc, #408] ; (12ccc ) - 12b34: 47b8 blx r7 + 12b90: 6830 ldr r0, [r6, #0] + 12b92: 3008 adds r0, #8 + 12b94: 4642 mov r2, r8 + 12b96: 432a orrs r2, r5 + 12b98: 4322 orrs r2, r4 + 12b9a: 4966 ldr r1, [pc, #408] ; (12d34 ) + 12b9c: 47b8 blx r7 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 12b36: 6830 ldr r0, [r6, #0] - 12b38: 3008 adds r0, #8 - 12b3a: 4b50 ldr r3, [pc, #320] ; (12c7c ) - 12b3c: 699b ldr r3, [r3, #24] - 12b3e: 079b lsls r3, r3, #30 - 12b40: d501 bpl.n 12b46 - 12b42: f000 fc6d bl 13420 - 12b46: 2226 movs r2, #38 ; 0x26 - 12b48: 2313 movs r3, #19 - 12b4a: 0152 lsls r2, r2, #5 - 12b4c: 02d9 lsls r1, r3, #11 - 12b4e: 431a orrs r2, r3 - 12b50: 430a orrs r2, r1 - 12b52: 495f ldr r1, [pc, #380] ; (12cd0 ) - 12b54: 4b47 ldr r3, [pc, #284] ; (12c74 ) - 12b56: 4798 blx r3 + 12b9e: 6830 ldr r0, [r6, #0] + 12ba0: 3008 adds r0, #8 + 12ba2: 4b50 ldr r3, [pc, #320] ; (12ce4 ) + 12ba4: 699b ldr r3, [r3, #24] + 12ba6: 079b lsls r3, r3, #30 + 12ba8: d501 bpl.n 12bae + 12baa: f000 fc6d bl 13488 + 12bae: 2226 movs r2, #38 ; 0x26 + 12bb0: 2313 movs r3, #19 + 12bb2: 0152 lsls r2, r2, #5 + 12bb4: 02d9 lsls r1, r3, #11 + 12bb6: 431a orrs r2, r3 + 12bb8: 430a orrs r2, r1 + 12bba: 495f ldr r1, [pc, #380] ; (12d38 ) + 12bbc: 4b47 ldr r3, [pc, #284] ; (12cdc ) + 12bbe: 4798 blx r3 lv_style_set_transition_prop_5(&styles->bg_click, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 12b58: 4c47 ldr r4, [pc, #284] ; (12c78 ) - 12b5a: 6820 ldr r0, [r4, #0] - 12b5c: 3008 adds r0, #8 + 12bc0: 4c47 ldr r4, [pc, #284] ; (12ce0 ) + 12bc2: 6820 ldr r0, [r4, #0] + 12bc4: 3008 adds r0, #8 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 12b5e: 2229 movs r2, #41 ; 0x29 - 12b60: 21b6 movs r1, #182 ; 0xb6 - 12b62: 4d4e ldr r5, [pc, #312] ; (12c9c ) - 12b64: 47a8 blx r5 + 12bc6: 2229 movs r2, #41 ; 0x29 + 12bc8: 21b6 movs r1, #182 ; 0xb6 + 12bca: 4d4e ldr r5, [pc, #312] ; (12d04 ) + 12bcc: 47a8 blx r5 style_init_reset(&styles->btn); - 12b66: 6820 ldr r0, [r4, #0] - 12b68: 3010 adds r0, #16 - 12b6a: 4b47 ldr r3, [pc, #284] ; (12c88 ) - 12b6c: 4798 blx r3 + 12bce: 6820 ldr r0, [r4, #0] + 12bd0: 3010 adds r0, #16 + 12bd2: 4b47 ldr r3, [pc, #284] ; (12cf0 ) + 12bd4: 4798 blx r3 lv_style_set_radius(&styles->btn, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 12b6e: 6820 ldr r0, [r4, #0] - 12b70: 3010 adds r0, #16 + 12bd6: 6820 ldr r0, [r4, #0] + 12bd8: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 12b72: 4a58 ldr r2, [pc, #352] ; (12cd4 ) - 12b74: 2101 movs r1, #1 - 12b76: 47a8 blx r5 + 12bda: 4a58 ldr r2, [pc, #352] ; (12d3c ) + 12bdc: 2101 movs r1, #1 + 12bde: 47a8 blx r5 lv_style_set_bg_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_COVER); - 12b78: 6820 ldr r0, [r4, #0] - 12b7a: 3010 adds r0, #16 + 12be0: 6820 ldr r0, [r4, #0] + 12be2: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 12b7c: 22ff movs r2, #255 ; 0xff - 12b7e: 212c movs r1, #44 ; 0x2c - 12b80: 4b55 ldr r3, [pc, #340] ; (12cd8 ) - 12b82: 4798 blx r3 + 12be4: 22ff movs r2, #255 ; 0xff + 12be6: 212c movs r1, #44 ; 0x2c + 12be8: 4b55 ldr r3, [pc, #340] ; (12d40 ) + 12bea: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN); - 12b84: 6820 ldr r0, [r4, #0] - 12b86: 3010 adds r0, #16 - 12b88: 4b3c ldr r3, [pc, #240] ; (12c7c ) - 12b8a: 699b ldr r3, [r3, #24] - 12b8c: 079b lsls r3, r3, #30 - 12b8e: d501 bpl.n 12b94 - 12b90: f000 fc4a bl 13428 - 12b94: 230b movs r3, #11 - 12b96: 2118 movs r1, #24 - 12b98: 220e movs r2, #14 - 12b9a: 0149 lsls r1, r1, #5 - 12b9c: 02db lsls r3, r3, #11 - 12b9e: 430a orrs r2, r1 - 12ba0: 431a orrs r2, r3 + 12bec: 6820 ldr r0, [r4, #0] + 12bee: 3010 adds r0, #16 + 12bf0: 4b3c ldr r3, [pc, #240] ; (12ce4 ) + 12bf2: 699b ldr r3, [r3, #24] + 12bf4: 079b lsls r3, r3, #30 + 12bf6: d501 bpl.n 12bfc + 12bf8: f000 fc4a bl 13490 + 12bfc: 230b movs r3, #11 + 12bfe: 2118 movs r1, #24 + 12c00: 220e movs r2, #14 + 12c02: 0149 lsls r1, r1, #5 + 12c04: 02db lsls r3, r3, #11 + 12c06: 430a orrs r2, r1 + 12c08: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 12ba2: 2129 movs r1, #41 ; 0x29 - 12ba4: 4b33 ldr r3, [pc, #204] ; (12c74 ) - 12ba6: 4798 blx r3 + 12c0a: 2129 movs r1, #41 ; 0x29 + 12c0c: 4b33 ldr r3, [pc, #204] ; (12cdc ) + 12c0e: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_PR); - 12ba8: 4b33 ldr r3, [pc, #204] ; (12c78 ) - 12baa: 6818 ldr r0, [r3, #0] - 12bac: 3010 adds r0, #16 - 12bae: 4b33 ldr r3, [pc, #204] ; (12c7c ) - 12bb0: 699b ldr r3, [r3, #24] - 12bb2: 079b lsls r3, r3, #30 - 12bb4: d401 bmi.n 12bba - 12bb6: f000 fc3c bl 13432 + 12c10: 4b33 ldr r3, [pc, #204] ; (12ce0 ) + 12c12: 6818 ldr r0, [r3, #0] + 12c14: 3010 adds r0, #16 + 12c16: 4b33 ldr r3, [pc, #204] ; (12ce4 ) + 12c18: 699b ldr r3, [r3, #24] + 12c1a: 079b lsls r3, r3, #30 + 12c1c: d401 bmi.n 12c22 + 12c1e: f000 fc3c bl 1349a LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 12bba: 4d30 ldr r5, [pc, #192] ; (12c7c ) - 12bbc: 796a ldrb r2, [r5, #5] - 12bbe: 08d2 lsrs r2, r2, #3 - 12bc0: 0093 lsls r3, r2, #2 - 12bc2: 189b adds r3, r3, r2 - 12bc4: 009a lsls r2, r3, #2 - 12bc6: 189b adds r3, r3, r2 - 12bc8: 4a44 ldr r2, [pc, #272] ; (12cdc ) - 12bca: 4694 mov ip, r2 - 12bcc: 4463 add r3, ip - 12bce: 021a lsls r2, r3, #8 - 12bd0: 18d2 adds r2, r2, r3 - 12bd2: 01d2 lsls r2, r2, #7 - 12bd4: 18d2 adds r2, r2, r3 - 12bd6: 0dd2 lsrs r2, r2, #23 - 12bd8: 211f movs r1, #31 - 12bda: 400a ands r2, r1 + 12c22: 4d30 ldr r5, [pc, #192] ; (12ce4 ) + 12c24: 796a ldrb r2, [r5, #5] + 12c26: 08d2 lsrs r2, r2, #3 + 12c28: 0093 lsls r3, r2, #2 + 12c2a: 189b adds r3, r3, r2 + 12c2c: 009a lsls r2, r3, #2 + 12c2e: 189b adds r3, r3, r2 + 12c30: 4a44 ldr r2, [pc, #272] ; (12d44 ) + 12c32: 4694 mov ip, r2 + 12c34: 4463 add r3, ip + 12c36: 021a lsls r2, r3, #8 + 12c38: 18d2 adds r2, r2, r3 + 12c3a: 01d2 lsls r2, r2, #7 + 12c3c: 18d2 adds r2, r2, r3 + 12c3e: 0dd2 lsrs r2, r2, #23 + 12c40: 211f movs r1, #31 + 12c42: 400a ands r2, r1 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 12bdc: 88ac ldrh r4, [r5, #4] - 12bde: 0564 lsls r4, r4, #21 - 12be0: 0ea3 lsrs r3, r4, #26 - 12be2: 009c lsls r4, r3, #2 - 12be4: 18e4 adds r4, r4, r3 - 12be6: 00a3 lsls r3, r4, #2 - 12be8: 18e4 adds r4, r4, r3 - 12bea: 4b3d ldr r3, [pc, #244] ; (12ce0 ) - 12bec: 469c mov ip, r3 - 12bee: 4464 add r4, ip - 12bf0: 0223 lsls r3, r4, #8 - 12bf2: 191b adds r3, r3, r4 - 12bf4: 01db lsls r3, r3, #7 - 12bf6: 191b adds r3, r3, r4 - 12bf8: 00db lsls r3, r3, #3 - 12bfa: 0e9b lsrs r3, r3, #26 + 12c44: 88ac ldrh r4, [r5, #4] + 12c46: 0564 lsls r4, r4, #21 + 12c48: 0ea3 lsrs r3, r4, #26 + 12c4a: 009c lsls r4, r3, #2 + 12c4c: 18e4 adds r4, r4, r3 + 12c4e: 00a3 lsls r3, r4, #2 + 12c50: 18e4 adds r4, r4, r3 + 12c52: 4b3d ldr r3, [pc, #244] ; (12d48 ) + 12c54: 469c mov ip, r3 + 12c56: 4464 add r4, ip + 12c58: 0223 lsls r3, r4, #8 + 12c5a: 191b adds r3, r3, r4 + 12c5c: 01db lsls r3, r3, #7 + 12c5e: 191b adds r3, r3, r4 + 12c60: 00db lsls r3, r3, #3 + 12c62: 0e9b lsrs r3, r3, #26 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 12bfc: 792c ldrb r4, [r5, #4] - 12bfe: 06e4 lsls r4, r4, #27 - 12c00: 0ee5 lsrs r5, r4, #27 - 12c02: 00ac lsls r4, r5, #2 - 12c04: 1964 adds r4, r4, r5 - 12c06: 00a5 lsls r5, r4, #2 - 12c08: 1964 adds r4, r4, r5 - 12c0a: 4d34 ldr r5, [pc, #208] ; (12cdc ) - 12c0c: 46ac mov ip, r5 - 12c0e: 4464 add r4, ip - 12c10: 0225 lsls r5, r4, #8 - 12c12: 192d adds r5, r5, r4 - 12c14: 01ed lsls r5, r5, #7 - 12c16: 192c adds r4, r5, r4 - 12c18: 0de4 lsrs r4, r4, #23 - 12c1a: 4021 ands r1, r4 - 12c1c: 015b lsls r3, r3, #5 - 12c1e: 02d2 lsls r2, r2, #11 - 12c20: 430b orrs r3, r1 - 12c22: 431a orrs r2, r3 - 12c24: 4919 ldr r1, [pc, #100] ; (12c8c ) - 12c26: 4f13 ldr r7, [pc, #76] ; (12c74 ) - 12c28: 47b8 blx r7 + 12c64: 792c ldrb r4, [r5, #4] + 12c66: 06e4 lsls r4, r4, #27 + 12c68: 0ee5 lsrs r5, r4, #27 + 12c6a: 00ac lsls r4, r5, #2 + 12c6c: 1964 adds r4, r4, r5 + 12c6e: 00a5 lsls r5, r4, #2 + 12c70: 1964 adds r4, r4, r5 + 12c72: 4d34 ldr r5, [pc, #208] ; (12d44 ) + 12c74: 46ac mov ip, r5 + 12c76: 4464 add r4, ip + 12c78: 0225 lsls r5, r4, #8 + 12c7a: 192d adds r5, r5, r4 + 12c7c: 01ed lsls r5, r5, #7 + 12c7e: 192c adds r4, r5, r4 + 12c80: 0de4 lsrs r4, r4, #23 + 12c82: 4021 ands r1, r4 + 12c84: 015b lsls r3, r3, #5 + 12c86: 02d2 lsls r2, r2, #11 + 12c88: 430b orrs r3, r1 + 12c8a: 431a orrs r2, r3 + 12c8c: 4919 ldr r1, [pc, #100] ; (12cf4 ) + 12c8e: 4f13 ldr r7, [pc, #76] ; (12cdc ) + 12c90: 47b8 blx r7 lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED, COLOR_BTN_CHK); - 12c2a: 4e13 ldr r6, [pc, #76] ; (12c78 ) - 12c2c: 6830 ldr r0, [r6, #0] - 12c2e: 3010 adds r0, #16 - 12c30: 4d12 ldr r5, [pc, #72] ; (12c7c ) - 12c32: 88aa ldrh r2, [r5, #4] - 12c34: 212a movs r1, #42 ; 0x2a - 12c36: 31ff adds r1, #255 ; 0xff - 12c38: 47b8 blx r7 + 12c92: 4e13 ldr r6, [pc, #76] ; (12ce0 ) + 12c94: 6830 ldr r0, [r6, #0] + 12c96: 3010 adds r0, #16 + 12c98: 4d12 ldr r5, [pc, #72] ; (12ce4 ) + 12c9a: 88aa ldrh r2, [r5, #4] + 12c9c: 212a movs r1, #42 ; 0x2a + 12c9e: 31ff adds r1, #255 ; 0xff + 12ca0: 47b8 blx r7 lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BTN_CHK_PR); - 12c3a: 6834 ldr r4, [r6, #0] - 12c3c: 3410 adds r4, #16 - 12c3e: 88a8 ldrh r0, [r5, #4] - 12c40: 214c movs r1, #76 ; 0x4c - 12c42: 4b13 ldr r3, [pc, #76] ; (12c90 ) - 12c44: 4798 blx r3 - 12c46: 1c02 adds r2, r0, #0 - 12c48: 4912 ldr r1, [pc, #72] ; (12c94 ) - 12c4a: 0020 movs r0, r4 - 12c4c: 47b8 blx r7 + 12ca2: 6834 ldr r4, [r6, #0] + 12ca4: 3410 adds r4, #16 + 12ca6: 88a8 ldrh r0, [r5, #4] + 12ca8: 214c movs r1, #76 ; 0x4c + 12caa: 4b13 ldr r3, [pc, #76] ; (12cf8 ) + 12cac: 4798 blx r3 + 12cae: 1c02 adds r2, r0, #0 + 12cb0: 4912 ldr r1, [pc, #72] ; (12cfc ) + 12cb2: 0020 movs r0, r4 + 12cb4: 47b8 blx r7 lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN); - 12c4e: 6830 ldr r0, [r6, #0] - 12c50: 3010 adds r0, #16 - 12c52: 69ab ldr r3, [r5, #24] - 12c54: 079b lsls r3, r3, #30 - 12c56: d501 bpl.n 12c5c - 12c58: f000 fc15 bl 13486 - 12c5c: 230b movs r3, #11 - 12c5e: 2118 movs r1, #24 - 12c60: 220e movs r2, #14 - 12c62: 0149 lsls r1, r1, #5 - 12c64: 02db lsls r3, r3, #11 - 12c66: 430a orrs r2, r1 - 12c68: 431a orrs r2, r3 - 12c6a: 490b ldr r1, [pc, #44] ; (12c98 ) - 12c6c: 4b01 ldr r3, [pc, #4] ; (12c74 ) - 12c6e: 4798 blx r3 - 12c70: e038 b.n 12ce4 - 12c72: 46c0 nop ; (mov r8, r8) - 12c74: 00004ded .word 0x00004ded - 12c78: 20004c38 .word 0x20004c38 - 12c7c: 20004c3c .word 0x20004c3c - 12c80: 00008089 .word 0x00008089 - 12c84: 000080a9 .word 0x000080a9 - 12c88: 0001242d .word 0x0001242d - 12c8c: 00001029 .word 0x00001029 - 12c90: 00010275 .word 0x00010275 - 12c94: 00001129 .word 0x00001129 - 12c98: 00002029 .word 0x00002029 - 12c9c: 00004c8d .word 0x00004c8d - 12ca0: 00001239 .word 0x00001239 - 12ca4: 00001039 .word 0x00001039 - 12ca8: 00001139 .word 0x00001139 - 12cac: 00002039 .word 0x00002039 - 12cb0: 00009089 .word 0x00009089 - 12cb4: fffff800 .word 0xfffff800 - 12cb8: 00008189 .word 0x00008189 - 12cbc: 00009189 .word 0x00009189 - 12cc0: 0000a089 .word 0x0000a089 - 12cc4: 000090a9 .word 0x000090a9 - 12cc8: 000081a9 .word 0x000081a9 - 12ccc: 000091a9 .word 0x000091a9 - 12cd0: 0000a0a9 .word 0x0000a0a9 - 12cd4: 00007fff .word 0x00007fff - 12cd8: 00004f4d .word 0x00004f4d - 12cdc: 00001bda .word 0x00001bda - 12ce0: 0000389a .word 0x0000389a + 12cb6: 6830 ldr r0, [r6, #0] + 12cb8: 3010 adds r0, #16 + 12cba: 69ab ldr r3, [r5, #24] + 12cbc: 079b lsls r3, r3, #30 + 12cbe: d501 bpl.n 12cc4 + 12cc0: f000 fc15 bl 134ee + 12cc4: 230b movs r3, #11 + 12cc6: 2118 movs r1, #24 + 12cc8: 220e movs r2, #14 + 12cca: 0149 lsls r1, r1, #5 + 12ccc: 02db lsls r3, r3, #11 + 12cce: 430a orrs r2, r1 + 12cd0: 431a orrs r2, r3 + 12cd2: 490b ldr r1, [pc, #44] ; (12d00 ) + 12cd4: 4b01 ldr r3, [pc, #4] ; (12cdc ) + 12cd6: 4798 blx r3 + 12cd8: e038 b.n 12d4c + 12cda: 46c0 nop ; (mov r8, r8) + 12cdc: 00004e55 .word 0x00004e55 + 12ce0: 20004c38 .word 0x20004c38 + 12ce4: 20004c3c .word 0x20004c3c + 12ce8: 00008089 .word 0x00008089 + 12cec: 000080a9 .word 0x000080a9 + 12cf0: 00012495 .word 0x00012495 + 12cf4: 00001029 .word 0x00001029 + 12cf8: 000102dd .word 0x000102dd + 12cfc: 00001129 .word 0x00001129 + 12d00: 00002029 .word 0x00002029 + 12d04: 00004cf5 .word 0x00004cf5 + 12d08: 00001239 .word 0x00001239 + 12d0c: 00001039 .word 0x00001039 + 12d10: 00001139 .word 0x00001139 + 12d14: 00002039 .word 0x00002039 + 12d18: 00009089 .word 0x00009089 + 12d1c: fffff800 .word 0xfffff800 + 12d20: 00008189 .word 0x00008189 + 12d24: 00009189 .word 0x00009189 + 12d28: 0000a089 .word 0x0000a089 + 12d2c: 000090a9 .word 0x000090a9 + 12d30: 000081a9 .word 0x000081a9 + 12d34: 000091a9 .word 0x000091a9 + 12d38: 0000a0a9 .word 0x0000a0a9 + 12d3c: 00007fff .word 0x00007fff + 12d40: 00004fb5 .word 0x00004fb5 + 12d44: 00001bda .word 0x00001bda + 12d48: 0000389a .word 0x0000389a lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED | LV_STATE_CHECKED, COLOR_BTN_DIS); - 12ce4: 4bf1 ldr r3, [pc, #964] ; (130ac ) - 12ce6: 6818 ldr r0, [r3, #0] - 12ce8: 3010 adds r0, #16 - 12cea: 4bf1 ldr r3, [pc, #964] ; (130b0 ) - 12cec: 699b ldr r3, [r3, #24] - 12cee: 079b lsls r3, r3, #30 - 12cf0: d500 bpl.n 12cf4 - 12cf2: e3cd b.n 13490 - 12cf4: 2222 movs r2, #34 ; 0x22 - 12cf6: 2311 movs r3, #17 - 12cf8: 0152 lsls r2, r2, #5 - 12cfa: 02d9 lsls r1, r3, #11 - 12cfc: 431a orrs r2, r3 - 12cfe: 430a orrs r2, r1 - 12d00: 49ec ldr r1, [pc, #944] ; (130b4 ) - 12d02: 4ded ldr r5, [pc, #948] ; (130b8 ) - 12d04: 47a8 blx r5 + 12d4c: 4bf1 ldr r3, [pc, #964] ; (13114 ) + 12d4e: 6818 ldr r0, [r3, #0] + 12d50: 3010 adds r0, #16 + 12d52: 4bf1 ldr r3, [pc, #964] ; (13118 ) + 12d54: 699b ldr r3, [r3, #24] + 12d56: 079b lsls r3, r3, #30 + 12d58: d500 bpl.n 12d5c + 12d5a: e3cd b.n 134f8 + 12d5c: 2222 movs r2, #34 ; 0x22 + 12d5e: 2311 movs r3, #17 + 12d60: 0152 lsls r2, r2, #5 + 12d62: 02d9 lsls r1, r3, #11 + 12d64: 431a orrs r2, r3 + 12d66: 430a orrs r2, r1 + 12d68: 49ec ldr r1, [pc, #944] ; (1311c ) + 12d6a: 4ded ldr r5, [pc, #948] ; (13120 ) + 12d6c: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN_BORDER); - 12d06: 4ce9 ldr r4, [pc, #932] ; (130ac ) - 12d08: 6820 ldr r0, [r4, #0] - 12d0a: 3010 adds r0, #16 - 12d0c: 4ee8 ldr r6, [pc, #928] ; (130b0 ) - 12d0e: 88b2 ldrh r2, [r6, #4] + 12d6e: 4ce9 ldr r4, [pc, #932] ; (13114 ) + 12d70: 6820 ldr r0, [r4, #0] + 12d72: 3010 adds r0, #16 + 12d74: 4ee8 ldr r6, [pc, #928] ; (13118 ) + 12d76: 88b2 ldrh r2, [r6, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 12d10: 2139 movs r1, #57 ; 0x39 - 12d12: 47a8 blx r5 + 12d78: 2139 movs r1, #57 ; 0x39 + 12d7a: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_BORDER_PR); - 12d14: 6820 ldr r0, [r4, #0] - 12d16: 3010 adds r0, #16 - 12d18: 88b2 ldrh r2, [r6, #4] - 12d1a: 49e8 ldr r1, [pc, #928] ; (130bc ) - 12d1c: 47a8 blx r5 + 12d7c: 6820 ldr r0, [r4, #0] + 12d7e: 3010 adds r0, #16 + 12d80: 88b2 ldrh r2, [r6, #4] + 12d82: 49e8 ldr r1, [pc, #928] ; (13124 ) + 12d84: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN_BORDER_INA); - 12d1e: 6820 ldr r0, [r4, #0] - 12d20: 3010 adds r0, #16 - 12d22: 69b3 ldr r3, [r6, #24] - 12d24: 079b lsls r3, r3, #30 - 12d26: d500 bpl.n 12d2a - 12d28: e3b5 b.n 13496 - 12d2a: 2210 movs r2, #16 - 12d2c: 2308 movs r3, #8 - 12d2e: 0152 lsls r2, r2, #5 - 12d30: 02d9 lsls r1, r3, #11 - 12d32: 431a orrs r2, r3 - 12d34: 430a orrs r2, r1 - 12d36: 49e2 ldr r1, [pc, #904] ; (130c0 ) - 12d38: 4bdf ldr r3, [pc, #892] ; (130b8 ) - 12d3a: 4798 blx r3 + 12d86: 6820 ldr r0, [r4, #0] + 12d88: 3010 adds r0, #16 + 12d8a: 69b3 ldr r3, [r6, #24] + 12d8c: 079b lsls r3, r3, #30 + 12d8e: d500 bpl.n 12d92 + 12d90: e3b5 b.n 134fe + 12d92: 2210 movs r2, #16 + 12d94: 2308 movs r3, #8 + 12d96: 0152 lsls r2, r2, #5 + 12d98: 02d9 lsls r1, r3, #11 + 12d9a: 431a orrs r2, r3 + 12d9c: 430a orrs r2, r1 + 12d9e: 49e2 ldr r1, [pc, #904] ; (13128 ) + 12da0: 4bdf ldr r3, [pc, #892] ; (13120 ) + 12da2: 4798 blx r3 lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); - 12d3c: 4bdb ldr r3, [pc, #876] ; (130ac ) - 12d3e: 681c ldr r4, [r3, #0] - 12d40: 3410 adds r4, #16 - 12d42: 2000 movs r0, #0 - 12d44: 4bdf ldr r3, [pc, #892] ; (130c4 ) - 12d46: 4798 blx r3 - 12d48: 3028 adds r0, #40 ; 0x28 - 12d4a: 0040 lsls r0, r0, #1 - 12d4c: 2340 movs r3, #64 ; 0x40 - 12d4e: 33ff adds r3, #255 ; 0xff - 12d50: 2201 movs r2, #1 - 12d52: 4298 cmp r0, r3 - 12d54: d900 bls.n 12d58 - 12d56: e3a1 b.n 1349c + 12da4: 4bdb ldr r3, [pc, #876] ; (13114 ) + 12da6: 681c ldr r4, [r3, #0] + 12da8: 3410 adds r4, #16 + 12daa: 2000 movs r0, #0 + 12dac: 4bdf ldr r3, [pc, #892] ; (1312c ) + 12dae: 4798 blx r3 + 12db0: 3028 adds r0, #40 ; 0x28 + 12db2: 0040 lsls r0, r0, #1 + 12db4: 2340 movs r3, #64 ; 0x40 + 12db6: 33ff adds r3, #255 ; 0xff + 12db8: 2201 movs r2, #1 + 12dba: 4298 cmp r0, r3 + 12dbc: d900 bls.n 12dc0 + 12dbe: e3a1 b.n 13504 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 12d58: 2130 movs r1, #48 ; 0x30 - 12d5a: 0020 movs r0, r4 - 12d5c: 4bda ldr r3, [pc, #872] ; (130c8 ) - 12d5e: 4798 blx r3 + 12dc0: 2130 movs r1, #48 ; 0x30 + 12dc2: 0020 movs r0, r4 + 12dc4: 4bda ldr r3, [pc, #872] ; (13130 ) + 12dc6: 4798 blx r3 lv_style_set_border_opa(&styles->btn, LV_STATE_CHECKED, LV_OPA_TRANSP); - 12d60: 4cd2 ldr r4, [pc, #840] ; (130ac ) - 12d62: 6820 ldr r0, [r4, #0] - 12d64: 3010 adds r0, #16 + 12dc8: 4cd2 ldr r4, [pc, #840] ; (13114 ) + 12dca: 6820 ldr r0, [r4, #0] + 12dcc: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 12d66: 2200 movs r2, #0 - 12d68: 219e movs r1, #158 ; 0x9e - 12d6a: 0049 lsls r1, r1, #1 - 12d6c: 4bd7 ldr r3, [pc, #860] ; (130cc ) - 12d6e: 4798 blx r3 + 12dce: 2200 movs r2, #0 + 12dd0: 219e movs r1, #158 ; 0x9e + 12dd2: 0049 lsls r1, r1, #1 + 12dd4: 4bd7 ldr r3, [pc, #860] ; (13134 ) + 12dd6: 4798 blx r3 lv_style_set_text_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 12d70: 6820 ldr r0, [r4, #0] - 12d72: 3010 adds r0, #16 - 12d74: 4bce ldr r3, [pc, #824] ; (130b0 ) - 12d76: 699b ldr r3, [r3, #24] - 12d78: 079b lsls r3, r3, #30 - 12d7a: d500 bpl.n 12d7e - 12d7c: e398 b.n 134b0 - 12d7e: 231f movs r3, #31 - 12d80: 213f movs r1, #63 ; 0x3f - 12d82: 221f movs r2, #31 - 12d84: 0149 lsls r1, r1, #5 - 12d86: 02db lsls r3, r3, #11 - 12d88: 430a orrs r2, r1 - 12d8a: 431a orrs r2, r3 + 12dd8: 6820 ldr r0, [r4, #0] + 12dda: 3010 adds r0, #16 + 12ddc: 4bce ldr r3, [pc, #824] ; (13118 ) + 12dde: 699b ldr r3, [r3, #24] + 12de0: 079b lsls r3, r3, #30 + 12de2: d500 bpl.n 12de6 + 12de4: e398 b.n 13518 + 12de6: 231f movs r3, #31 + 12de8: 213f movs r1, #63 ; 0x3f + 12dea: 221f movs r2, #31 + 12dec: 0149 lsls r1, r1, #5 + 12dee: 02db lsls r3, r3, #11 + 12df0: 430a orrs r2, r1 + 12df2: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 12d8c: 49d0 ldr r1, [pc, #832] ; (130d0 ) - 12d8e: 4bca ldr r3, [pc, #808] ; (130b8 ) - 12d90: 4798 blx r3 + 12df4: 49d0 ldr r1, [pc, #832] ; (13138 ) + 12df6: 4bca ldr r3, [pc, #808] ; (13120 ) + 12df8: 4798 blx r3 lv_style_set_text_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 12d92: 4bc6 ldr r3, [pc, #792] ; (130ac ) - 12d94: 6818 ldr r0, [r3, #0] - 12d96: 3010 adds r0, #16 - 12d98: 4bc5 ldr r3, [pc, #788] ; (130b0 ) - 12d9a: 699b ldr r3, [r3, #24] - 12d9c: 079b lsls r3, r3, #30 - 12d9e: d500 bpl.n 12da2 - 12da0: e38a b.n 134b8 - 12da2: 231f movs r3, #31 - 12da4: 213f movs r1, #63 ; 0x3f - 12da6: 221f movs r2, #31 - 12da8: 241f movs r4, #31 - 12daa: 46a0 mov r8, r4 - 12dac: 0149 lsls r1, r1, #5 - 12dae: 02db lsls r3, r3, #11 - 12db0: 430a orrs r2, r1 - 12db2: 431a orrs r2, r3 - 12db4: 49c7 ldr r1, [pc, #796] ; (130d4 ) - 12db6: 4dc0 ldr r5, [pc, #768] ; (130b8 ) - 12db8: 47a8 blx r5 + 12dfa: 4bc6 ldr r3, [pc, #792] ; (13114 ) + 12dfc: 6818 ldr r0, [r3, #0] + 12dfe: 3010 adds r0, #16 + 12e00: 4bc5 ldr r3, [pc, #788] ; (13118 ) + 12e02: 699b ldr r3, [r3, #24] + 12e04: 079b lsls r3, r3, #30 + 12e06: d500 bpl.n 12e0a + 12e08: e38a b.n 13520 + 12e0a: 231f movs r3, #31 + 12e0c: 213f movs r1, #63 ; 0x3f + 12e0e: 221f movs r2, #31 + 12e10: 241f movs r4, #31 + 12e12: 46a0 mov r8, r4 + 12e14: 0149 lsls r1, r1, #5 + 12e16: 02db lsls r3, r3, #11 + 12e18: 430a orrs r2, r1 + 12e1a: 431a orrs r2, r3 + 12e1c: 49c7 ldr r1, [pc, #796] ; (1313c ) + 12e1e: 4dc0 ldr r5, [pc, #768] ; (13120 ) + 12e20: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff)); - 12dba: 4cbc ldr r4, [pc, #752] ; (130ac ) - 12dbc: 6820 ldr r0, [r4, #0] - 12dbe: 3010 adds r0, #16 - 12dc0: 27fc movs r7, #252 ; 0xfc - 12dc2: 00ff lsls r7, r7, #3 - 12dc4: 4642 mov r2, r8 - 12dc6: 433a orrs r2, r7 - 12dc8: 4ec3 ldr r6, [pc, #780] ; (130d8 ) - 12dca: 4332 orrs r2, r6 - 12dcc: 49c3 ldr r1, [pc, #780] ; (130dc ) - 12dce: 47a8 blx r5 + 12e22: 4cbc ldr r4, [pc, #752] ; (13114 ) + 12e24: 6820 ldr r0, [r4, #0] + 12e26: 3010 adds r0, #16 + 12e28: 27fc movs r7, #252 ; 0xfc + 12e2a: 00ff lsls r7, r7, #3 + 12e2c: 4642 mov r2, r8 + 12e2e: 433a orrs r2, r7 + 12e30: 4ec3 ldr r6, [pc, #780] ; (13140 ) + 12e32: 4332 orrs r2, r6 + 12e34: 49c3 ldr r1, [pc, #780] ; (13144 ) + 12e36: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 12dd0: 6820 ldr r0, [r4, #0] - 12dd2: 3010 adds r0, #16 - 12dd4: 4642 mov r2, r8 - 12dd6: 433a orrs r2, r7 - 12dd8: 4332 orrs r2, r6 - 12dda: 49c1 ldr r1, [pc, #772] ; (130e0 ) - 12ddc: 47a8 blx r5 + 12e38: 6820 ldr r0, [r4, #0] + 12e3a: 3010 adds r0, #16 + 12e3c: 4642 mov r2, r8 + 12e3e: 433a orrs r2, r7 + 12e40: 4332 orrs r2, r6 + 12e42: 49c1 ldr r1, [pc, #772] ; (13148 ) + 12e44: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 12dde: 6820 ldr r0, [r4, #0] - 12de0: 3010 adds r0, #16 - 12de2: 4bc0 ldr r3, [pc, #768] ; (130e4 ) - 12de4: 881a ldrh r2, [r3, #0] - 12de6: 49c0 ldr r1, [pc, #768] ; (130e8 ) - 12de8: 47a8 blx r5 + 12e46: 6820 ldr r0, [r4, #0] + 12e48: 3010 adds r0, #16 + 12e4a: 4bc0 ldr r3, [pc, #768] ; (1314c ) + 12e4c: 881a ldrh r2, [r3, #0] + 12e4e: 49c0 ldr r1, [pc, #768] ; (13150 ) + 12e50: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 12dea: 6820 ldr r0, [r4, #0] - 12dec: 3010 adds r0, #16 - 12dee: 4bb0 ldr r3, [pc, #704] ; (130b0 ) - 12df0: 699b ldr r3, [r3, #24] - 12df2: 079b lsls r3, r3, #30 - 12df4: d500 bpl.n 12df8 - 12df6: e363 b.n 134c0 - 12df8: 231f movs r3, #31 - 12dfa: 213f movs r1, #63 ; 0x3f - 12dfc: 221f movs r2, #31 - 12dfe: 0149 lsls r1, r1, #5 - 12e00: 02db lsls r3, r3, #11 - 12e02: 430a orrs r2, r1 - 12e04: 431a orrs r2, r3 + 12e52: 6820 ldr r0, [r4, #0] + 12e54: 3010 adds r0, #16 + 12e56: 4bb0 ldr r3, [pc, #704] ; (13118 ) + 12e58: 699b ldr r3, [r3, #24] + 12e5a: 079b lsls r3, r3, #30 + 12e5c: d500 bpl.n 12e60 + 12e5e: e363 b.n 13528 + 12e60: 231f movs r3, #31 + 12e62: 213f movs r1, #63 ; 0x3f + 12e64: 221f movs r2, #31 + 12e66: 0149 lsls r1, r1, #5 + 12e68: 02db lsls r3, r3, #11 + 12e6a: 430a orrs r2, r1 + 12e6c: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 12e06: 49b9 ldr r1, [pc, #740] ; (130ec ) - 12e08: 4bab ldr r3, [pc, #684] ; (130b8 ) - 12e0a: 4798 blx r3 + 12e6e: 49b9 ldr r1, [pc, #740] ; (13154 ) + 12e70: 4bab ldr r3, [pc, #684] ; (13120 ) + 12e72: 4798 blx r3 lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 12e0c: 4ba7 ldr r3, [pc, #668] ; (130ac ) - 12e0e: 6818 ldr r0, [r3, #0] - 12e10: 3010 adds r0, #16 - 12e12: 4ba7 ldr r3, [pc, #668] ; (130b0 ) - 12e14: 699b ldr r3, [r3, #24] - 12e16: 079b lsls r3, r3, #30 - 12e18: d500 bpl.n 12e1c - 12e1a: e355 b.n 134c8 - 12e1c: 231f movs r3, #31 - 12e1e: 213f movs r1, #63 ; 0x3f - 12e20: 221f movs r2, #31 - 12e22: 261f movs r6, #31 - 12e24: 0149 lsls r1, r1, #5 - 12e26: 02db lsls r3, r3, #11 - 12e28: 430a orrs r2, r1 - 12e2a: 431a orrs r2, r3 - 12e2c: 49b0 ldr r1, [pc, #704] ; (130f0 ) - 12e2e: 4da2 ldr r5, [pc, #648] ; (130b8 ) - 12e30: 47a8 blx r5 + 12e74: 4ba7 ldr r3, [pc, #668] ; (13114 ) + 12e76: 6818 ldr r0, [r3, #0] + 12e78: 3010 adds r0, #16 + 12e7a: 4ba7 ldr r3, [pc, #668] ; (13118 ) + 12e7c: 699b ldr r3, [r3, #24] + 12e7e: 079b lsls r3, r3, #30 + 12e80: d500 bpl.n 12e84 + 12e82: e355 b.n 13530 + 12e84: 231f movs r3, #31 + 12e86: 213f movs r1, #63 ; 0x3f + 12e88: 221f movs r2, #31 + 12e8a: 261f movs r6, #31 + 12e8c: 0149 lsls r1, r1, #5 + 12e8e: 02db lsls r3, r3, #11 + 12e90: 430a orrs r2, r1 + 12e92: 431a orrs r2, r3 + 12e94: 49b0 ldr r1, [pc, #704] ; (13158 ) + 12e96: 4da2 ldr r5, [pc, #648] ; (13120 ) + 12e98: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 12e32: 4c9e ldr r4, [pc, #632] ; (130ac ) - 12e34: 6820 ldr r0, [r4, #0] - 12e36: 3010 adds r0, #16 - 12e38: 23fc movs r3, #252 ; 0xfc - 12e3a: 00db lsls r3, r3, #3 - 12e3c: 4699 mov r9, r3 - 12e3e: 001a movs r2, r3 - 12e40: 4332 orrs r2, r6 - 12e42: 4fa5 ldr r7, [pc, #660] ; (130d8 ) - 12e44: 433a orrs r2, r7 - 12e46: 49aa ldr r1, [pc, #680] ; (130f0 ) - 12e48: 47a8 blx r5 + 12e9a: 4c9e ldr r4, [pc, #632] ; (13114 ) + 12e9c: 6820 ldr r0, [r4, #0] + 12e9e: 3010 adds r0, #16 + 12ea0: 23fc movs r3, #252 ; 0xfc + 12ea2: 00db lsls r3, r3, #3 + 12ea4: 4699 mov r9, r3 + 12ea6: 001a movs r2, r3 + 12ea8: 4332 orrs r2, r6 + 12eaa: 4fa5 ldr r7, [pc, #660] ; (13140 ) + 12eac: 433a orrs r2, r7 + 12eae: 49aa ldr r1, [pc, #680] ; (13158 ) + 12eb0: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 12e4a: 6820 ldr r0, [r4, #0] - 12e4c: 3010 adds r0, #16 - 12e4e: 464a mov r2, r9 - 12e50: 4332 orrs r2, r6 - 12e52: 433a orrs r2, r7 - 12e54: 49a7 ldr r1, [pc, #668] ; (130f4 ) - 12e56: 47a8 blx r5 + 12eb2: 6820 ldr r0, [r4, #0] + 12eb4: 3010 adds r0, #16 + 12eb6: 464a mov r2, r9 + 12eb8: 4332 orrs r2, r6 + 12eba: 433a orrs r2, r7 + 12ebc: 49a7 ldr r1, [pc, #668] ; (1315c ) + 12ebe: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 12e58: 6820 ldr r0, [r4, #0] - 12e5a: 3010 adds r0, #16 - 12e5c: 4ba1 ldr r3, [pc, #644] ; (130e4 ) - 12e5e: 881a ldrh r2, [r3, #0] - 12e60: 49a5 ldr r1, [pc, #660] ; (130f8 ) - 12e62: 47a8 blx r5 + 12ec0: 6820 ldr r0, [r4, #0] + 12ec2: 3010 adds r0, #16 + 12ec4: 4ba1 ldr r3, [pc, #644] ; (1314c ) + 12ec6: 881a ldrh r2, [r3, #0] + 12ec8: 49a5 ldr r1, [pc, #660] ; (13160 ) + 12eca: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 12e64: 6820 ldr r0, [r4, #0] - 12e66: 3010 adds r0, #16 - 12e68: 4b91 ldr r3, [pc, #580] ; (130b0 ) - 12e6a: 699b ldr r3, [r3, #24] - 12e6c: 079b lsls r3, r3, #30 - 12e6e: d500 bpl.n 12e72 - 12e70: e32e b.n 134d0 - 12e72: 231f movs r3, #31 - 12e74: 213f movs r1, #63 ; 0x3f - 12e76: 221f movs r2, #31 - 12e78: 0149 lsls r1, r1, #5 - 12e7a: 02db lsls r3, r3, #11 - 12e7c: 430a orrs r2, r1 - 12e7e: 431a orrs r2, r3 + 12ecc: 6820 ldr r0, [r4, #0] + 12ece: 3010 adds r0, #16 + 12ed0: 4b91 ldr r3, [pc, #580] ; (13118 ) + 12ed2: 699b ldr r3, [r3, #24] + 12ed4: 079b lsls r3, r3, #30 + 12ed6: d500 bpl.n 12eda + 12ed8: e32e b.n 13538 + 12eda: 231f movs r3, #31 + 12edc: 213f movs r1, #63 ; 0x3f + 12ede: 221f movs r2, #31 + 12ee0: 0149 lsls r1, r1, #5 + 12ee2: 02db lsls r3, r3, #11 + 12ee4: 430a orrs r2, r1 + 12ee6: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 12e80: 2179 movs r1, #121 ; 0x79 - 12e82: 4b8d ldr r3, [pc, #564] ; (130b8 ) - 12e84: 4798 blx r3 + 12ee8: 2179 movs r1, #121 ; 0x79 + 12eea: 4b8d ldr r3, [pc, #564] ; (13120 ) + 12eec: 4798 blx r3 lv_style_set_value_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 12e86: 4b89 ldr r3, [pc, #548] ; (130ac ) - 12e88: 6818 ldr r0, [r3, #0] - 12e8a: 3010 adds r0, #16 - 12e8c: 4b88 ldr r3, [pc, #544] ; (130b0 ) - 12e8e: 699b ldr r3, [r3, #24] - 12e90: 079b lsls r3, r3, #30 - 12e92: d500 bpl.n 12e96 - 12e94: e320 b.n 134d8 - 12e96: 231f movs r3, #31 - 12e98: 213f movs r1, #63 ; 0x3f - 12e9a: 221f movs r2, #31 - 12e9c: 241f movs r4, #31 - 12e9e: 46a0 mov r8, r4 - 12ea0: 0149 lsls r1, r1, #5 - 12ea2: 02db lsls r3, r3, #11 - 12ea4: 430a orrs r2, r1 - 12ea6: 431a orrs r2, r3 - 12ea8: 4994 ldr r1, [pc, #592] ; (130fc ) - 12eaa: 4d83 ldr r5, [pc, #524] ; (130b8 ) - 12eac: 47a8 blx r5 + 12eee: 4b89 ldr r3, [pc, #548] ; (13114 ) + 12ef0: 6818 ldr r0, [r3, #0] + 12ef2: 3010 adds r0, #16 + 12ef4: 4b88 ldr r3, [pc, #544] ; (13118 ) + 12ef6: 699b ldr r3, [r3, #24] + 12ef8: 079b lsls r3, r3, #30 + 12efa: d500 bpl.n 12efe + 12efc: e320 b.n 13540 + 12efe: 231f movs r3, #31 + 12f00: 213f movs r1, #63 ; 0x3f + 12f02: 221f movs r2, #31 + 12f04: 241f movs r4, #31 + 12f06: 46a0 mov r8, r4 + 12f08: 0149 lsls r1, r1, #5 + 12f0a: 02db lsls r3, r3, #11 + 12f0c: 430a orrs r2, r1 + 12f0e: 431a orrs r2, r3 + 12f10: 4994 ldr r1, [pc, #592] ; (13164 ) + 12f12: 4d83 ldr r5, [pc, #524] ; (13120 ) + 12f14: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff)); - 12eae: 4c7f ldr r4, [pc, #508] ; (130ac ) - 12eb0: 6820 ldr r0, [r4, #0] - 12eb2: 3010 adds r0, #16 - 12eb4: 27fc movs r7, #252 ; 0xfc - 12eb6: 00ff lsls r7, r7, #3 - 12eb8: 4642 mov r2, r8 - 12eba: 433a orrs r2, r7 - 12ebc: 4e86 ldr r6, [pc, #536] ; (130d8 ) - 12ebe: 4332 orrs r2, r6 - 12ec0: 217a movs r1, #122 ; 0x7a - 12ec2: 31ff adds r1, #255 ; 0xff - 12ec4: 47a8 blx r5 + 12f16: 4c7f ldr r4, [pc, #508] ; (13114 ) + 12f18: 6820 ldr r0, [r4, #0] + 12f1a: 3010 adds r0, #16 + 12f1c: 27fc movs r7, #252 ; 0xfc + 12f1e: 00ff lsls r7, r7, #3 + 12f20: 4642 mov r2, r8 + 12f22: 433a orrs r2, r7 + 12f24: 4e86 ldr r6, [pc, #536] ; (13140 ) + 12f26: 4332 orrs r2, r6 + 12f28: 217a movs r1, #122 ; 0x7a + 12f2a: 31ff adds r1, #255 ; 0xff + 12f2c: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 12ec6: 6820 ldr r0, [r4, #0] - 12ec8: 3010 adds r0, #16 - 12eca: 4642 mov r2, r8 - 12ecc: 433a orrs r2, r7 - 12ece: 4332 orrs r2, r6 - 12ed0: 498b ldr r1, [pc, #556] ; (13100 ) - 12ed2: 47a8 blx r5 + 12f2e: 6820 ldr r0, [r4, #0] + 12f30: 3010 adds r0, #16 + 12f32: 4642 mov r2, r8 + 12f34: 433a orrs r2, r7 + 12f36: 4332 orrs r2, r6 + 12f38: 498b ldr r1, [pc, #556] ; (13168 ) + 12f3a: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 12ed4: 6820 ldr r0, [r4, #0] - 12ed6: 3010 adds r0, #16 - 12ed8: 4b82 ldr r3, [pc, #520] ; (130e4 ) - 12eda: 881a ldrh r2, [r3, #0] - 12edc: 4989 ldr r1, [pc, #548] ; (13104 ) - 12ede: 47a8 blx r5 + 12f3c: 6820 ldr r0, [r4, #0] + 12f3e: 3010 adds r0, #16 + 12f40: 4b82 ldr r3, [pc, #520] ; (1314c ) + 12f42: 881a ldrh r2, [r3, #0] + 12f44: 4989 ldr r1, [pc, #548] ; (1316c ) + 12f46: 47a8 blx r5 lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 12ee0: 6824 ldr r4, [r4, #0] - 12ee2: 3410 adds r4, #16 - 12ee4: 2000 movs r0, #0 - 12ee6: 4b77 ldr r3, [pc, #476] ; (130c4 ) - 12ee8: 4798 blx r3 - 12eea: 0083 lsls r3, r0, #2 - 12eec: 181b adds r3, r3, r0 - 12eee: 00db lsls r3, r3, #3 - 12ef0: 3350 adds r3, #80 ; 0x50 - 12ef2: 2140 movs r1, #64 ; 0x40 - 12ef4: 31ff adds r1, #255 ; 0xff - 12ef6: 2201 movs r2, #1 - 12ef8: 428b cmp r3, r1 - 12efa: d900 bls.n 12efe - 12efc: e2f0 b.n 134e0 + 12f48: 6824 ldr r4, [r4, #0] + 12f4a: 3410 adds r4, #16 + 12f4c: 2000 movs r0, #0 + 12f4e: 4b77 ldr r3, [pc, #476] ; (1312c ) + 12f50: 4798 blx r3 + 12f52: 0083 lsls r3, r0, #2 + 12f54: 181b adds r3, r3, r0 + 12f56: 00db lsls r3, r3, #3 + 12f58: 3350 adds r3, #80 ; 0x50 + 12f5a: 2140 movs r1, #64 ; 0x40 + 12f5c: 31ff adds r1, #255 ; 0xff + 12f5e: 2201 movs r2, #1 + 12f60: 428b cmp r3, r1 + 12f62: d900 bls.n 12f66 + 12f64: e2f0 b.n 13548 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 12efe: 2112 movs r1, #18 - 12f00: 0020 movs r0, r4 - 12f02: 4b71 ldr r3, [pc, #452] ; (130c8 ) - 12f04: 4798 blx r3 + 12f66: 2112 movs r1, #18 + 12f68: 0020 movs r0, r4 + 12f6a: 4b71 ldr r3, [pc, #452] ; (13130 ) + 12f6c: 4798 blx r3 lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 12f06: 4b69 ldr r3, [pc, #420] ; (130ac ) - 12f08: 681c ldr r4, [r3, #0] - 12f0a: 3410 adds r4, #16 - 12f0c: 2000 movs r0, #0 - 12f0e: 4b6d ldr r3, [pc, #436] ; (130c4 ) - 12f10: 4798 blx r3 - 12f12: 0083 lsls r3, r0, #2 - 12f14: 181b adds r3, r3, r0 - 12f16: 00db lsls r3, r3, #3 - 12f18: 3350 adds r3, #80 ; 0x50 - 12f1a: 2140 movs r1, #64 ; 0x40 - 12f1c: 31ff adds r1, #255 ; 0xff - 12f1e: 2201 movs r2, #1 - 12f20: 428b cmp r3, r1 - 12f22: d900 bls.n 12f26 - 12f24: e2e9 b.n 134fa + 12f6e: 4b69 ldr r3, [pc, #420] ; (13114 ) + 12f70: 681c ldr r4, [r3, #0] + 12f72: 3410 adds r4, #16 + 12f74: 2000 movs r0, #0 + 12f76: 4b6d ldr r3, [pc, #436] ; (1312c ) + 12f78: 4798 blx r3 + 12f7a: 0083 lsls r3, r0, #2 + 12f7c: 181b adds r3, r3, r0 + 12f7e: 00db lsls r3, r3, #3 + 12f80: 3350 adds r3, #80 ; 0x50 + 12f82: 2140 movs r1, #64 ; 0x40 + 12f84: 31ff adds r1, #255 ; 0xff + 12f86: 2201 movs r2, #1 + 12f88: 428b cmp r3, r1 + 12f8a: d900 bls.n 12f8e + 12f8c: e2e9 b.n 13562 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 12f26: 2113 movs r1, #19 - 12f28: 0020 movs r0, r4 - 12f2a: 4b67 ldr r3, [pc, #412] ; (130c8 ) - 12f2c: 4798 blx r3 + 12f8e: 2113 movs r1, #19 + 12f90: 0020 movs r0, r4 + 12f92: 4b67 ldr r3, [pc, #412] ; (13130 ) + 12f94: 4798 blx r3 lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 12f2e: 4b5f ldr r3, [pc, #380] ; (130ac ) - 12f30: 681c ldr r4, [r3, #0] - 12f32: 3410 adds r4, #16 - 12f34: 2000 movs r0, #0 - 12f36: 4b63 ldr r3, [pc, #396] ; (130c4 ) - 12f38: 4798 blx r3 - 12f3a: 0103 lsls r3, r0, #4 - 12f3c: 1a18 subs r0, r3, r0 - 12f3e: 3050 adds r0, #80 ; 0x50 - 12f40: 2340 movs r3, #64 ; 0x40 - 12f42: 33ff adds r3, #255 ; 0xff - 12f44: 2201 movs r2, #1 - 12f46: 4298 cmp r0, r3 - 12f48: d900 bls.n 12f4c - 12f4a: e2e3 b.n 13514 + 12f96: 4b5f ldr r3, [pc, #380] ; (13114 ) + 12f98: 681c ldr r4, [r3, #0] + 12f9a: 3410 adds r4, #16 + 12f9c: 2000 movs r0, #0 + 12f9e: 4b63 ldr r3, [pc, #396] ; (1312c ) + 12fa0: 4798 blx r3 + 12fa2: 0103 lsls r3, r0, #4 + 12fa4: 1a18 subs r0, r3, r0 + 12fa6: 3050 adds r0, #80 ; 0x50 + 12fa8: 2340 movs r3, #64 ; 0x40 + 12faa: 33ff adds r3, #255 ; 0xff + 12fac: 2201 movs r2, #1 + 12fae: 4298 cmp r0, r3 + 12fb0: d900 bls.n 12fb4 + 12fb2: e2e3 b.n 1357c _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 12f4c: 2110 movs r1, #16 - 12f4e: 0020 movs r0, r4 - 12f50: 4b5d ldr r3, [pc, #372] ; (130c8 ) - 12f52: 4798 blx r3 + 12fb4: 2110 movs r1, #16 + 12fb6: 0020 movs r0, r4 + 12fb8: 4b5d ldr r3, [pc, #372] ; (13130 ) + 12fba: 4798 blx r3 lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 12f54: 4b55 ldr r3, [pc, #340] ; (130ac ) - 12f56: 681c ldr r4, [r3, #0] - 12f58: 3410 adds r4, #16 - 12f5a: 2000 movs r0, #0 - 12f5c: 4b59 ldr r3, [pc, #356] ; (130c4 ) - 12f5e: 4798 blx r3 - 12f60: 0103 lsls r3, r0, #4 - 12f62: 1a18 subs r0, r3, r0 - 12f64: 3050 adds r0, #80 ; 0x50 - 12f66: 2340 movs r3, #64 ; 0x40 - 12f68: 33ff adds r3, #255 ; 0xff - 12f6a: 2201 movs r2, #1 - 12f6c: 4298 cmp r0, r3 - 12f6e: d900 bls.n 12f72 - 12f70: e2e8 b.n 13544 + 12fbc: 4b55 ldr r3, [pc, #340] ; (13114 ) + 12fbe: 681c ldr r4, [r3, #0] + 12fc0: 3410 adds r4, #16 + 12fc2: 2000 movs r0, #0 + 12fc4: 4b59 ldr r3, [pc, #356] ; (1312c ) + 12fc6: 4798 blx r3 + 12fc8: 0103 lsls r3, r0, #4 + 12fca: 1a18 subs r0, r3, r0 + 12fcc: 3050 adds r0, #80 ; 0x50 + 12fce: 2340 movs r3, #64 ; 0x40 + 12fd0: 33ff adds r3, #255 ; 0xff + 12fd2: 2201 movs r2, #1 + 12fd4: 4298 cmp r0, r3 + 12fd6: d900 bls.n 12fda + 12fd8: e2e8 b.n 135ac _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 12f72: 2111 movs r1, #17 - 12f74: 0020 movs r0, r4 - 12f76: 4b54 ldr r3, [pc, #336] ; (130c8 ) - 12f78: 4798 blx r3 + 12fda: 2111 movs r1, #17 + 12fdc: 0020 movs r0, r4 + 12fde: 4b54 ldr r3, [pc, #336] ; (13130 ) + 12fe0: 4798 blx r3 lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20)); - 12f7a: 4b4c ldr r3, [pc, #304] ; (130ac ) - 12f7c: 681c ldr r4, [r3, #0] - 12f7e: 3410 adds r4, #16 - 12f80: 2000 movs r0, #0 - 12f82: 4b50 ldr r3, [pc, #320] ; (130c4 ) - 12f84: 4798 blx r3 - 12f86: 0083 lsls r3, r0, #2 - 12f88: 181b adds r3, r3, r0 - 12f8a: 009b lsls r3, r3, #2 - 12f8c: 3350 adds r3, #80 ; 0x50 - 12f8e: 2140 movs r1, #64 ; 0x40 - 12f90: 31ff adds r1, #255 ; 0xff - 12f92: 2201 movs r2, #1 - 12f94: 428b cmp r3, r1 - 12f96: d900 bls.n 12f9a - 12f98: e2df b.n 1355a + 12fe2: 4b4c ldr r3, [pc, #304] ; (13114 ) + 12fe4: 681c ldr r4, [r3, #0] + 12fe6: 3410 adds r4, #16 + 12fe8: 2000 movs r0, #0 + 12fea: 4b50 ldr r3, [pc, #320] ; (1312c ) + 12fec: 4798 blx r3 + 12fee: 0083 lsls r3, r0, #2 + 12ff0: 181b adds r3, r3, r0 + 12ff2: 009b lsls r3, r3, #2 + 12ff4: 3350 adds r3, #80 ; 0x50 + 12ff6: 2140 movs r1, #64 ; 0x40 + 12ff8: 31ff adds r1, #255 ; 0xff + 12ffa: 2201 movs r2, #1 + 12ffc: 428b cmp r3, r1 + 12ffe: d900 bls.n 13002 + 13000: e2df b.n 135c2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 12f9a: 2114 movs r1, #20 - 12f9c: 0020 movs r0, r4 - 12f9e: 4d4a ldr r5, [pc, #296] ; (130c8 ) - 12fa0: 47a8 blx r5 + 13002: 2114 movs r1, #20 + 13004: 0020 movs r0, r4 + 13006: 4d4a ldr r5, [pc, #296] ; (13130 ) + 13008: 47a8 blx r5 lv_style_set_outline_width(&styles->btn, LV_STATE_DEFAULT, 3); - 12fa2: 4c42 ldr r4, [pc, #264] ; (130ac ) - 12fa4: 6820 ldr r0, [r4, #0] - 12fa6: 3010 adds r0, #16 + 1300a: 4c42 ldr r4, [pc, #264] ; (13114 ) + 1300c: 6820 ldr r0, [r4, #0] + 1300e: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 12fa8: 2203 movs r2, #3 - 12faa: 2140 movs r1, #64 ; 0x40 - 12fac: 47a8 blx r5 + 13010: 2203 movs r2, #3 + 13012: 2140 movs r1, #64 ; 0x40 + 13014: 47a8 blx r5 lv_style_set_outline_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_0); - 12fae: 6820 ldr r0, [r4, #0] - 12fb0: 3010 adds r0, #16 + 13016: 6820 ldr r0, [r4, #0] + 13018: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 12fb2: 2200 movs r2, #0 - 12fb4: 214c movs r1, #76 ; 0x4c - 12fb6: 4e45 ldr r6, [pc, #276] ; (130cc ) - 12fb8: 47b0 blx r6 + 1301a: 2200 movs r2, #0 + 1301c: 214c movs r1, #76 ; 0x4c + 1301e: 4e45 ldr r6, [pc, #276] ; (13134 ) + 13020: 47b0 blx r6 lv_style_set_outline_opa(&styles->btn, LV_STATE_FOCUSED, LV_OPA_50); - 12fba: 6820 ldr r0, [r4, #0] - 12fbc: 3010 adds r0, #16 - 12fbe: 227f movs r2, #127 ; 0x7f - 12fc0: 2193 movs r1, #147 ; 0x93 - 12fc2: 0089 lsls r1, r1, #2 - 12fc4: 47b0 blx r6 + 13022: 6820 ldr r0, [r4, #0] + 13024: 3010 adds r0, #16 + 13026: 227f movs r2, #127 ; 0x7f + 13028: 2193 movs r1, #147 ; 0x93 + 1302a: 0089 lsls r1, r1, #2 + 1302c: 47b0 blx r6 lv_style_set_outline_color(&styles->btn, LV_STATE_DEFAULT, theme.color_primary); - 12fc6: 6820 ldr r0, [r4, #0] - 12fc8: 3010 adds r0, #16 - 12fca: 4f39 ldr r7, [pc, #228] ; (130b0 ) - 12fcc: 88ba ldrh r2, [r7, #4] + 1302e: 6820 ldr r0, [r4, #0] + 13030: 3010 adds r0, #16 + 13032: 4f39 ldr r7, [pc, #228] ; (13118 ) + 13034: 88ba ldrh r2, [r7, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 12fce: 2149 movs r1, #73 ; 0x49 - 12fd0: 4e39 ldr r6, [pc, #228] ; (130b8 ) - 12fd2: 47b0 blx r6 + 13036: 2149 movs r1, #73 ; 0x49 + 13038: 4e39 ldr r6, [pc, #228] ; (13120 ) + 1303a: 47b0 blx r6 lv_style_set_outline_color(&styles->btn, LV_STATE_EDITED, theme.color_secondary); - 12fd4: 6820 ldr r0, [r4, #0] - 12fd6: 3010 adds r0, #16 - 12fd8: 88fa ldrh r2, [r7, #6] - 12fda: 494b ldr r1, [pc, #300] ; (13108 ) - 12fdc: 47b0 blx r6 + 1303c: 6820 ldr r0, [r4, #0] + 1303e: 3010 adds r0, #16 + 13040: 88fa ldrh r2, [r7, #6] + 13042: 494b ldr r1, [pc, #300] ; (13170 ) + 13044: 47b0 blx r6 lv_style_set_transition_time(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 12fde: 6820 ldr r0, [r4, #0] - 12fe0: 3010 adds r0, #16 + 13046: 6820 ldr r0, [r4, #0] + 13048: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 12fe2: 2296 movs r2, #150 ; 0x96 - 12fe4: 21b0 movs r1, #176 ; 0xb0 - 12fe6: 47a8 blx r5 + 1304a: 2296 movs r2, #150 ; 0x96 + 1304c: 21b0 movs r1, #176 ; 0xb0 + 1304e: 47a8 blx r5 lv_style_set_transition_prop_4(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BORDER_OPA); - 12fe8: 6820 ldr r0, [r4, #0] - 12fea: 3010 adds r0, #16 + 13050: 6820 ldr r0, [r4, #0] + 13052: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) - 12fec: 223c movs r2, #60 ; 0x3c - 12fee: 21b5 movs r1, #181 ; 0xb5 - 12ff0: 47a8 blx r5 + 13054: 223c movs r2, #60 ; 0x3c + 13056: 21b5 movs r1, #181 ; 0xb5 + 13058: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 12ff2: 6820 ldr r0, [r4, #0] - 12ff4: 3010 adds r0, #16 + 1305a: 6820 ldr r0, [r4, #0] + 1305c: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 12ff6: 2229 movs r2, #41 ; 0x29 - 12ff8: 21b6 movs r1, #182 ; 0xb6 - 12ffa: 47a8 blx r5 + 1305e: 2229 movs r2, #41 ; 0x29 + 13060: 21b6 movs r1, #182 ; 0xb6 + 13062: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 12ffc: 6820 ldr r0, [r4, #0] - 12ffe: 3010 adds r0, #16 + 13064: 6820 ldr r0, [r4, #0] + 13066: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 13000: 224c movs r2, #76 ; 0x4c - 13002: 21b7 movs r1, #183 ; 0xb7 - 13004: 47a8 blx r5 + 13068: 224c movs r2, #76 ; 0x4c + 1306a: 21b7 movs r1, #183 ; 0xb7 + 1306c: 47a8 blx r5 lv_style_set_transition_delay(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 13006: 6820 ldr r0, [r4, #0] - 13008: 3010 adds r0, #16 + 1306e: 6820 ldr r0, [r4, #0] + 13070: 3010 adds r0, #16 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar) - 1300a: 2296 movs r2, #150 ; 0x96 - 1300c: 21b1 movs r1, #177 ; 0xb1 - 1300e: 47a8 blx r5 + 13072: 2296 movs r2, #150 ; 0x96 + 13074: 21b1 movs r1, #177 ; 0xb1 + 13076: 47a8 blx r5 lv_style_set_transition_delay(&styles->btn, LV_STATE_PRESSED, 0); - 13010: 6820 ldr r0, [r4, #0] - 13012: 3010 adds r0, #16 - 13014: 2200 movs r2, #0 - 13016: 493d ldr r1, [pc, #244] ; (1310c ) - 13018: 47a8 blx r5 + 13078: 6820 ldr r0, [r4, #0] + 1307a: 3010 adds r0, #16 + 1307c: 2200 movs r2, #0 + 1307e: 493d ldr r1, [pc, #244] ; (13174 ) + 13080: 47a8 blx r5 style_init_reset(&styles->pad_inner); - 1301a: 6820 ldr r0, [r4, #0] - 1301c: 3014 adds r0, #20 - 1301e: 4b3c ldr r3, [pc, #240] ; (13110 ) - 13020: 4798 blx r3 + 13082: 6820 ldr r0, [r4, #0] + 13084: 3014 adds r0, #20 + 13086: 4b3c ldr r3, [pc, #240] ; (13178 ) + 13088: 4798 blx r3 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 13022: 6824 ldr r4, [r4, #0] - 13024: 3414 adds r4, #20 + 1308a: 6824 ldr r4, [r4, #0] + 1308c: 3414 adds r4, #20 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 13026: 2000 movs r0, #0 - 13028: 4b3a ldr r3, [pc, #232] ; (13114 ) - 1302a: 4798 blx r3 + 1308e: 2000 movs r0, #0 + 13090: 4b3a ldr r3, [pc, #232] ; (1317c ) + 13092: 4798 blx r3 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 1302c: 2832 cmp r0, #50 ; 0x32 - 1302e: d900 bls.n 13032 - 13030: e2ad b.n 1358e + 13094: 2832 cmp r0, #50 ; 0x32 + 13096: d900 bls.n 1309a + 13098: e2ad b.n 135f6 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 13032: 2000 movs r0, #0 - 13034: 4b23 ldr r3, [pc, #140] ; (130c4 ) - 13036: 4798 blx r3 - 13038: 0083 lsls r3, r0, #2 - 1303a: 181b adds r3, r3, r0 - 1303c: 009b lsls r3, r3, #2 - 1303e: 3350 adds r3, #80 ; 0x50 + 1309a: 2000 movs r0, #0 + 1309c: 4b23 ldr r3, [pc, #140] ; (1312c ) + 1309e: 4798 blx r3 + 130a0: 0083 lsls r3, r0, #2 + 130a2: 181b adds r3, r3, r0 + 130a4: 009b lsls r3, r3, #2 + 130a6: 3350 adds r3, #80 ; 0x50 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 13040: 2140 movs r1, #64 ; 0x40 - 13042: 31ff adds r1, #255 ; 0xff - 13044: 2201 movs r2, #1 - 13046: 428b cmp r3, r1 - 13048: d900 bls.n 1304c - 1304a: e293 b.n 13574 + 130a8: 2140 movs r1, #64 ; 0x40 + 130aa: 31ff adds r1, #255 ; 0xff + 130ac: 2201 movs r2, #1 + 130ae: 428b cmp r3, r1 + 130b0: d900 bls.n 130b4 + 130b2: e293 b.n 135dc _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1304c: 2114 movs r1, #20 - 1304e: 0020 movs r0, r4 - 13050: 4b1d ldr r3, [pc, #116] ; (130c8 ) - 13052: 4798 blx r3 + 130b4: 2114 movs r1, #20 + 130b6: 0020 movs r0, r4 + 130b8: 4b1d ldr r3, [pc, #116] ; (13130 ) + 130ba: 4798 blx r3 style_init_reset(&styles->pad_small); - 13054: 4b15 ldr r3, [pc, #84] ; (130ac ) - 13056: 6818 ldr r0, [r3, #0] - 13058: 3018 adds r0, #24 - 1305a: 4b2d ldr r3, [pc, #180] ; (13110 ) - 1305c: 4798 blx r3 + 130bc: 4b15 ldr r3, [pc, #84] ; (13114 ) + 130be: 6818 ldr r0, [r3, #0] + 130c0: 3018 adds r0, #24 + 130c2: 4b2d ldr r3, [pc, #180] ; (13178 ) + 130c4: 4798 blx r3 lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20); - 1305e: 2000 movs r0, #0 - 13060: 4b2c ldr r3, [pc, #176] ; (13114 ) - 13062: 4798 blx r3 - 13064: 2832 cmp r0, #50 ; 0x32 - 13066: d900 bls.n 1306a - 13068: e2b8 b.n 135dc - 1306a: 2000 movs r0, #0 - 1306c: 4b15 ldr r3, [pc, #84] ; (130c4 ) - 1306e: 4798 blx r3 - 13070: 0003 movs r3, r0 - 13072: 0080 lsls r0, r0, #2 - 13074: 18c0 adds r0, r0, r3 - 13076: 0040 lsls r0, r0, #1 - 13078: 3050 adds r0, #80 ; 0x50 - 1307a: 2340 movs r3, #64 ; 0x40 - 1307c: 33ff adds r3, #255 ; 0xff - 1307e: 2401 movs r4, #1 - 13080: 4298 cmp r0, r3 - 13082: d900 bls.n 13086 - 13084: e29d b.n 135c2 + 130c6: 2000 movs r0, #0 + 130c8: 4b2c ldr r3, [pc, #176] ; (1317c ) + 130ca: 4798 blx r3 + 130cc: 2832 cmp r0, #50 ; 0x32 + 130ce: d900 bls.n 130d2 + 130d0: e2b8 b.n 13644 + 130d2: 2000 movs r0, #0 + 130d4: 4b15 ldr r3, [pc, #84] ; (1312c ) + 130d6: 4798 blx r3 + 130d8: 0003 movs r3, r0 + 130da: 0080 lsls r0, r0, #2 + 130dc: 18c0 adds r0, r0, r3 + 130de: 0040 lsls r0, r0, #1 + 130e0: 3050 adds r0, #80 ; 0x50 + 130e2: 2340 movs r3, #64 ; 0x40 + 130e4: 33ff adds r3, #255 ; 0xff + 130e6: 2401 movs r4, #1 + 130e8: 4298 cmp r0, r3 + 130ea: d900 bls.n 130ee + 130ec: e29d b.n 1362a lv_style_set_pad_left(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 13086: 4e09 ldr r6, [pc, #36] ; (130ac ) - 13088: 6830 ldr r0, [r6, #0] - 1308a: 3018 adds r0, #24 + 130ee: 4e09 ldr r6, [pc, #36] ; (13114 ) + 130f0: 6830 ldr r0, [r6, #0] + 130f2: 3018 adds r0, #24 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1308c: 0022 movs r2, r4 - 1308e: 2112 movs r1, #18 - 13090: 4d0d ldr r5, [pc, #52] ; (130c8 ) - 13092: 47a8 blx r5 + 130f4: 0022 movs r2, r4 + 130f6: 2112 movs r1, #18 + 130f8: 4d0d ldr r5, [pc, #52] ; (13130 ) + 130fa: 47a8 blx r5 lv_style_set_pad_right(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 13094: 6830 ldr r0, [r6, #0] - 13096: 3018 adds r0, #24 + 130fc: 6830 ldr r0, [r6, #0] + 130fe: 3018 adds r0, #24 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 13098: 0022 movs r2, r4 - 1309a: 2113 movs r1, #19 - 1309c: 47a8 blx r5 + 13100: 0022 movs r2, r4 + 13102: 2113 movs r1, #19 + 13104: 47a8 blx r5 lv_style_set_pad_top(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 1309e: 6830 ldr r0, [r6, #0] - 130a0: 3018 adds r0, #24 + 13106: 6830 ldr r0, [r6, #0] + 13108: 3018 adds r0, #24 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 130a2: 0022 movs r2, r4 - 130a4: 2110 movs r1, #16 - 130a6: 47a8 blx r5 + 1310a: 0022 movs r2, r4 + 1310c: 2110 movs r1, #16 + 1310e: 47a8 blx r5 lv_style_set_pad_bottom(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 130a8: 6830 ldr r0, [r6, #0] - 130aa: e035 b.n 13118 - 130ac: 20004c38 .word 0x20004c38 - 130b0: 20004c3c .word 0x20004c3c - 130b4: 00002129 .word 0x00002129 - 130b8: 00004ded .word 0x00004ded - 130bc: 00001039 .word 0x00001039 - 130c0: 00002039 .word 0x00002039 - 130c4: 0000f5fd .word 0x0000f5fd - 130c8: 00004c8d .word 0x00004c8d - 130cc: 00004f4d .word 0x00004f4d - 130d0: 00008089 .word 0x00008089 - 130d4: 00009089 .word 0x00009089 - 130d8: fffff800 .word 0xfffff800 - 130dc: 00008189 .word 0x00008189 - 130e0: 00009189 .word 0x00009189 - 130e4: 0001ca08 .word 0x0001ca08 - 130e8: 0000a089 .word 0x0000a089 - 130ec: 000080a9 .word 0x000080a9 - 130f0: 000090a9 .word 0x000090a9 - 130f4: 000091a9 .word 0x000091a9 - 130f8: 0000a0a9 .word 0x0000a0a9 - 130fc: 00001079 .word 0x00001079 - 13100: 00001179 .word 0x00001179 - 13104: 00002079 .word 0x00002079 - 13108: 00000449 .word 0x00000449 - 1310c: 000010b1 .word 0x000010b1 - 13110: 0001242d .word 0x0001242d - 13114: 0000f619 .word 0x0000f619 - 13118: 3018 adds r0, #24 + 13110: 6830 ldr r0, [r6, #0] + 13112: e035 b.n 13180 + 13114: 20004c38 .word 0x20004c38 + 13118: 20004c3c .word 0x20004c3c + 1311c: 00002129 .word 0x00002129 + 13120: 00004e55 .word 0x00004e55 + 13124: 00001039 .word 0x00001039 + 13128: 00002039 .word 0x00002039 + 1312c: 0000f665 .word 0x0000f665 + 13130: 00004cf5 .word 0x00004cf5 + 13134: 00004fb5 .word 0x00004fb5 + 13138: 00008089 .word 0x00008089 + 1313c: 00009089 .word 0x00009089 + 13140: fffff800 .word 0xfffff800 + 13144: 00008189 .word 0x00008189 + 13148: 00009189 .word 0x00009189 + 1314c: 0001ca98 .word 0x0001ca98 + 13150: 0000a089 .word 0x0000a089 + 13154: 000080a9 .word 0x000080a9 + 13158: 000090a9 .word 0x000090a9 + 1315c: 000091a9 .word 0x000091a9 + 13160: 0000a0a9 .word 0x0000a0a9 + 13164: 00001079 .word 0x00001079 + 13168: 00001179 .word 0x00001179 + 1316c: 00002079 .word 0x00002079 + 13170: 00000449 .word 0x00000449 + 13174: 000010b1 .word 0x000010b1 + 13178: 00012495 .word 0x00012495 + 1317c: 0000f681 .word 0x0000f681 + 13180: 3018 adds r0, #24 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1311a: 0022 movs r2, r4 - 1311c: 2111 movs r1, #17 - 1311e: 47a8 blx r5 + 13182: 0022 movs r2, r4 + 13184: 2111 movs r1, #17 + 13186: 47a8 blx r5 lv_style_set_pad_inner(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 13120: 6830 ldr r0, [r6, #0] - 13122: 3018 adds r0, #24 + 13188: 6830 ldr r0, [r6, #0] + 1318a: 3018 adds r0, #24 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 13124: 0022 movs r2, r4 - 13126: 2114 movs r1, #20 - 13128: 47a8 blx r5 -} - 1312a: bc0c pop {r2, r3} - 1312c: 4690 mov r8, r2 - 1312e: 4699 mov r9, r3 - 13130: bdf8 pop {r3, r4, r5, r6, r7, pc} - 13132: 231d movs r3, #29 - 13134: 213b movs r1, #59 ; 0x3b - 13136: 221e movs r2, #30 - 13138: f7ff f9a1 bl 1247e - 1313c: 2307 movs r3, #7 - 1313e: 210f movs r1, #15 - 13140: 2208 movs r2, #8 - 13142: f7ff f9ae bl 124a2 - 13146: 2307 movs r3, #7 - 13148: 210f movs r1, #15 - 1314a: 2208 movs r2, #8 - 1314c: f7ff f9bb bl 124c6 - lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8)); - 13150: 2000 movs r0, #0 - 13152: 4bf6 ldr r3, [pc, #984] ; (1352c ) - 13154: 4798 blx r3 - 13156: 300a adds r0, #10 - 13158: 00c0 lsls r0, r0, #3 - 1315a: 21a0 movs r1, #160 ; 0xa0 - 1315c: 4bf4 ldr r3, [pc, #976] ; (13530 ) - 1315e: 4798 blx r3 - 13160: b202 sxth r2, r0 - 13162: f7ff f9d4 bl 1250e - 13166: 231f movs r3, #31 - 13168: 213f movs r1, #63 ; 0x3f - 1316a: 221f movs r2, #31 - 1316c: f7ff f9e5 bl 1253a - 13170: 231a movs r3, #26 - 13172: 2137 movs r1, #55 ; 0x37 - 13174: 221c movs r2, #28 - 13176: f7ff f9f3 bl 12560 - lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); - 1317a: 2000 movs r0, #0 - 1317c: 4beb ldr r3, [pc, #940] ; (1352c ) - 1317e: 4798 blx r3 - 13180: 3028 adds r0, #40 ; 0x28 - 13182: 0040 lsls r0, r0, #1 - 13184: 21a0 movs r1, #160 ; 0xa0 - 13186: 4bea ldr r3, [pc, #936] ; (13530 ) - 13188: 4798 blx r3 - 1318a: b202 sxth r2, r0 - 1318c: f7ff fa09 bl 125a2 - 13190: 2307 movs r3, #7 - 13192: 210f movs r1, #15 - 13194: 2208 movs r2, #8 - 13196: f7ff fa1f bl 125d8 - 1319a: 2307 movs r3, #7 - 1319c: 210f movs r1, #15 - 1319e: 2208 movs r2, #8 - 131a0: f7ff fa33 bl 1260a + 1318c: 0022 movs r2, r4 + 1318e: 2114 movs r1, #20 + 13190: 47a8 blx r5 +} + 13192: bc0c pop {r2, r3} + 13194: 4690 mov r8, r2 + 13196: 4699 mov r9, r3 + 13198: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1319a: 231d movs r3, #29 + 1319c: 213b movs r1, #59 ; 0x3b + 1319e: 221e movs r2, #30 + 131a0: f7ff f9a1 bl 124e6 131a4: 2307 movs r3, #7 131a6: 210f movs r1, #15 131a8: 2208 movs r2, #8 - 131aa: f7ff fa41 bl 12630 + 131aa: f7ff f9ae bl 1250a 131ae: 2307 movs r3, #7 131b0: 210f movs r1, #15 131b2: 2208 movs r2, #8 - 131b4: f7ff fa4f bl 12656 - lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); + 131b4: f7ff f9bb bl 1252e + lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8)); 131b8: 2000 movs r0, #0 - 131ba: 4bdc ldr r3, [pc, #880] ; (1352c ) + 131ba: 4bf6 ldr r3, [pc, #984] ; (13594 ) 131bc: 4798 blx r3 - 131be: 0103 lsls r3, r0, #4 - 131c0: 1a18 subs r0, r3, r0 - 131c2: 3050 adds r0, #80 ; 0x50 - 131c4: 2340 movs r3, #64 ; 0x40 - 131c6: 33ff adds r3, #255 ; 0xff - 131c8: 2401 movs r4, #1 - 131ca: 4298 cmp r0, r3 - 131cc: d801 bhi.n 131d2 - 131ce: f7ff fa67 bl 126a0 - 131d2: 2000 movs r0, #0 - 131d4: 4bd5 ldr r3, [pc, #852] ; (1352c ) - 131d6: 4798 blx r3 - 131d8: 0103 lsls r3, r0, #4 - 131da: 1a18 subs r0, r3, r0 - 131dc: 3050 adds r0, #80 ; 0x50 - 131de: 21a0 movs r1, #160 ; 0xa0 - 131e0: 4bd3 ldr r3, [pc, #844] ; (13530 ) - 131e2: 4798 blx r3 - 131e4: b284 uxth r4, r0 - 131e6: f7ff fa5b bl 126a0 - 131ea: 2000 movs r0, #0 - 131ec: 4bcf ldr r3, [pc, #828] ; (1352c ) - 131ee: 4798 blx r3 - 131f0: 0103 lsls r3, r0, #4 - 131f2: 1a18 subs r0, r3, r0 - 131f4: 0040 lsls r0, r0, #1 - 131f6: 3050 adds r0, #80 ; 0x50 - 131f8: 21a0 movs r1, #160 ; 0xa0 - 131fa: 4bcd ldr r3, [pc, #820] ; (13530 ) - 131fc: 4798 blx r3 - 131fe: b284 uxth r4, r0 - 13200: f7ff fa4e bl 126a0 - 13204: 2000 movs r0, #0 - 13206: 4bc9 ldr r3, [pc, #804] ; (1352c ) - 13208: 4798 blx r3 - 1320a: 3028 adds r0, #40 ; 0x28 - 1320c: 0040 lsls r0, r0, #1 - 1320e: 21a0 movs r1, #160 ; 0xa0 - 13210: 4bc7 ldr r3, [pc, #796] ; (13530 ) - 13212: 4798 blx r3 - 13214: b282 uxth r2, r0 - 13216: f7ff fa50 bl 126ba + 131be: 300a adds r0, #10 + 131c0: 00c0 lsls r0, r0, #3 + 131c2: 21a0 movs r1, #160 ; 0xa0 + 131c4: 4bf4 ldr r3, [pc, #976] ; (13598 ) + 131c6: 4798 blx r3 + 131c8: b202 sxth r2, r0 + 131ca: f7ff f9d4 bl 12576 + 131ce: 231f movs r3, #31 + 131d0: 213f movs r1, #63 ; 0x3f + 131d2: 221f movs r2, #31 + 131d4: f7ff f9e5 bl 125a2 + 131d8: 231a movs r3, #26 + 131da: 2137 movs r1, #55 ; 0x37 + 131dc: 221c movs r2, #28 + 131de: f7ff f9f3 bl 125c8 + lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); + 131e2: 2000 movs r0, #0 + 131e4: 4beb ldr r3, [pc, #940] ; (13594 ) + 131e6: 4798 blx r3 + 131e8: 3028 adds r0, #40 ; 0x28 + 131ea: 0040 lsls r0, r0, #1 + 131ec: 21a0 movs r1, #160 ; 0xa0 + 131ee: 4bea ldr r3, [pc, #936] ; (13598 ) + 131f0: 4798 blx r3 + 131f2: b202 sxth r2, r0 + 131f4: f7ff fa09 bl 1260a + 131f8: 2307 movs r3, #7 + 131fa: 210f movs r1, #15 + 131fc: 2208 movs r2, #8 + 131fe: f7ff fa1f bl 12640 + 13202: 2307 movs r3, #7 + 13204: 210f movs r1, #15 + 13206: 2208 movs r2, #8 + 13208: f7ff fa33 bl 12672 + 1320c: 2307 movs r3, #7 + 1320e: 210f movs r1, #15 + 13210: 2208 movs r2, #8 + 13212: f7ff fa41 bl 12698 + 13216: 2307 movs r3, #7 + 13218: 210f movs r1, #15 + 1321a: 2208 movs r2, #8 + 1321c: f7ff fa4f bl 126be + lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); + 13220: 2000 movs r0, #0 + 13222: 4bdc ldr r3, [pc, #880] ; (13594 ) + 13224: 4798 blx r3 + 13226: 0103 lsls r3, r0, #4 + 13228: 1a18 subs r0, r3, r0 + 1322a: 3050 adds r0, #80 ; 0x50 + 1322c: 2340 movs r3, #64 ; 0x40 + 1322e: 33ff adds r3, #255 ; 0xff + 13230: 2401 movs r4, #1 + 13232: 4298 cmp r0, r3 + 13234: d801 bhi.n 1323a + 13236: f7ff fa67 bl 12708 + 1323a: 2000 movs r0, #0 + 1323c: 4bd5 ldr r3, [pc, #852] ; (13594 ) + 1323e: 4798 blx r3 + 13240: 0103 lsls r3, r0, #4 + 13242: 1a18 subs r0, r3, r0 + 13244: 3050 adds r0, #80 ; 0x50 + 13246: 21a0 movs r1, #160 ; 0xa0 + 13248: 4bd3 ldr r3, [pc, #844] ; (13598 ) + 1324a: 4798 blx r3 + 1324c: b284 uxth r4, r0 + 1324e: f7ff fa5b bl 12708 + 13252: 2000 movs r0, #0 + 13254: 4bcf ldr r3, [pc, #828] ; (13594 ) + 13256: 4798 blx r3 + 13258: 0103 lsls r3, r0, #4 + 1325a: 1a18 subs r0, r3, r0 + 1325c: 0040 lsls r0, r0, #1 + 1325e: 3050 adds r0, #80 ; 0x50 + 13260: 21a0 movs r1, #160 ; 0xa0 + 13262: 4bcd ldr r3, [pc, #820] ; (13598 ) + 13264: 4798 blx r3 + 13266: b284 uxth r4, r0 + 13268: f7ff fa4e bl 12708 + 1326c: 2000 movs r0, #0 + 1326e: 4bc9 ldr r3, [pc, #804] ; (13594 ) + 13270: 4798 blx r3 + 13272: 3028 adds r0, #40 ; 0x28 + 13274: 0040 lsls r0, r0, #1 + 13276: 21a0 movs r1, #160 ; 0xa0 + 13278: 4bc7 ldr r3, [pc, #796] ; (13598 ) + 1327a: 4798 blx r3 + 1327c: b282 uxth r2, r0 + 1327e: f7ff fa50 bl 12722 lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 1321a: 2000 movs r0, #0 - 1321c: 4bc3 ldr r3, [pc, #780] ; (1352c ) - 1321e: 4798 blx r3 - 13220: 0103 lsls r3, r0, #4 - 13222: 1a18 subs r0, r3, r0 - 13224: 3050 adds r0, #80 ; 0x50 - 13226: 2340 movs r3, #64 ; 0x40 - 13228: 33ff adds r3, #255 ; 0xff - 1322a: 2401 movs r4, #1 - 1322c: 4298 cmp r0, r3 - 1322e: d801 bhi.n 13234 - 13230: f7ff fa61 bl 126f6 - 13234: 2000 movs r0, #0 - 13236: 4bbd ldr r3, [pc, #756] ; (1352c ) - 13238: 4798 blx r3 - 1323a: 0103 lsls r3, r0, #4 - 1323c: 1a18 subs r0, r3, r0 - 1323e: 3050 adds r0, #80 ; 0x50 - 13240: 21a0 movs r1, #160 ; 0xa0 - 13242: 4bbb ldr r3, [pc, #748] ; (13530 ) - 13244: 4798 blx r3 - 13246: b284 uxth r4, r0 - 13248: f7ff fa55 bl 126f6 - 1324c: 2000 movs r0, #0 - 1324e: 4bb7 ldr r3, [pc, #732] ; (1352c ) - 13250: 4798 blx r3 - 13252: 0103 lsls r3, r0, #4 - 13254: 1a18 subs r0, r3, r0 - 13256: 0040 lsls r0, r0, #1 - 13258: 3050 adds r0, #80 ; 0x50 - 1325a: 21a0 movs r1, #160 ; 0xa0 - 1325c: 4bb4 ldr r3, [pc, #720] ; (13530 ) - 1325e: 4798 blx r3 - 13260: b284 uxth r4, r0 - 13262: f7ff fa48 bl 126f6 - 13266: 2000 movs r0, #0 - 13268: 4bb0 ldr r3, [pc, #704] ; (1352c ) - 1326a: 4798 blx r3 - 1326c: 3028 adds r0, #40 ; 0x28 - 1326e: 0040 lsls r0, r0, #1 - 13270: 21a0 movs r1, #160 ; 0xa0 - 13272: 4baf ldr r3, [pc, #700] ; (13530 ) - 13274: 4798 blx r3 - 13276: b282 uxth r2, r0 - 13278: f7ff fa4a bl 12710 + 13282: 2000 movs r0, #0 + 13284: 4bc3 ldr r3, [pc, #780] ; (13594 ) + 13286: 4798 blx r3 + 13288: 0103 lsls r3, r0, #4 + 1328a: 1a18 subs r0, r3, r0 + 1328c: 3050 adds r0, #80 ; 0x50 + 1328e: 2340 movs r3, #64 ; 0x40 + 13290: 33ff adds r3, #255 ; 0xff + 13292: 2401 movs r4, #1 + 13294: 4298 cmp r0, r3 + 13296: d801 bhi.n 1329c + 13298: f7ff fa61 bl 1275e + 1329c: 2000 movs r0, #0 + 1329e: 4bbd ldr r3, [pc, #756] ; (13594 ) + 132a0: 4798 blx r3 + 132a2: 0103 lsls r3, r0, #4 + 132a4: 1a18 subs r0, r3, r0 + 132a6: 3050 adds r0, #80 ; 0x50 + 132a8: 21a0 movs r1, #160 ; 0xa0 + 132aa: 4bbb ldr r3, [pc, #748] ; (13598 ) + 132ac: 4798 blx r3 + 132ae: b284 uxth r4, r0 + 132b0: f7ff fa55 bl 1275e + 132b4: 2000 movs r0, #0 + 132b6: 4bb7 ldr r3, [pc, #732] ; (13594 ) + 132b8: 4798 blx r3 + 132ba: 0103 lsls r3, r0, #4 + 132bc: 1a18 subs r0, r3, r0 + 132be: 0040 lsls r0, r0, #1 + 132c0: 3050 adds r0, #80 ; 0x50 + 132c2: 21a0 movs r1, #160 ; 0xa0 + 132c4: 4bb4 ldr r3, [pc, #720] ; (13598 ) + 132c6: 4798 blx r3 + 132c8: b284 uxth r4, r0 + 132ca: f7ff fa48 bl 1275e + 132ce: 2000 movs r0, #0 + 132d0: 4bb0 ldr r3, [pc, #704] ; (13594 ) + 132d2: 4798 blx r3 + 132d4: 3028 adds r0, #40 ; 0x28 + 132d6: 0040 lsls r0, r0, #1 + 132d8: 21a0 movs r1, #160 ; 0xa0 + 132da: 4baf ldr r3, [pc, #700] ; (13598 ) + 132dc: 4798 blx r3 + 132de: b282 uxth r2, r0 + 132e0: f7ff fa4a bl 12778 lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 1327c: 2000 movs r0, #0 - 1327e: 4bab ldr r3, [pc, #684] ; (1352c ) - 13280: 4798 blx r3 - 13282: 0103 lsls r3, r0, #4 - 13284: 1a18 subs r0, r3, r0 - 13286: 3050 adds r0, #80 ; 0x50 - 13288: 2340 movs r3, #64 ; 0x40 - 1328a: 33ff adds r3, #255 ; 0xff - 1328c: 2401 movs r4, #1 - 1328e: 4298 cmp r0, r3 - 13290: d801 bhi.n 13296 - 13292: f7ff fa5b bl 1274c - 13296: 2000 movs r0, #0 - 13298: 4ba4 ldr r3, [pc, #656] ; (1352c ) - 1329a: 4798 blx r3 - 1329c: 0103 lsls r3, r0, #4 - 1329e: 1a18 subs r0, r3, r0 - 132a0: 3050 adds r0, #80 ; 0x50 - 132a2: 21a0 movs r1, #160 ; 0xa0 - 132a4: 4ba2 ldr r3, [pc, #648] ; (13530 ) - 132a6: 4798 blx r3 - 132a8: b284 uxth r4, r0 - 132aa: f7ff fa4f bl 1274c - 132ae: 2000 movs r0, #0 - 132b0: 4b9e ldr r3, [pc, #632] ; (1352c ) - 132b2: 4798 blx r3 - 132b4: 0103 lsls r3, r0, #4 - 132b6: 1a18 subs r0, r3, r0 - 132b8: 0040 lsls r0, r0, #1 - 132ba: 3050 adds r0, #80 ; 0x50 - 132bc: 21a0 movs r1, #160 ; 0xa0 - 132be: 4b9c ldr r3, [pc, #624] ; (13530 ) - 132c0: 4798 blx r3 - 132c2: b284 uxth r4, r0 - 132c4: f7ff fa42 bl 1274c - 132c8: 2000 movs r0, #0 - 132ca: 4b98 ldr r3, [pc, #608] ; (1352c ) - 132cc: 4798 blx r3 - 132ce: 3028 adds r0, #40 ; 0x28 - 132d0: 0040 lsls r0, r0, #1 - 132d2: 21a0 movs r1, #160 ; 0xa0 - 132d4: 4b96 ldr r3, [pc, #600] ; (13530 ) - 132d6: 4798 blx r3 - 132d8: b282 uxth r2, r0 - 132da: f7ff fa44 bl 12766 + 132e4: 2000 movs r0, #0 + 132e6: 4bab ldr r3, [pc, #684] ; (13594 ) + 132e8: 4798 blx r3 + 132ea: 0103 lsls r3, r0, #4 + 132ec: 1a18 subs r0, r3, r0 + 132ee: 3050 adds r0, #80 ; 0x50 + 132f0: 2340 movs r3, #64 ; 0x40 + 132f2: 33ff adds r3, #255 ; 0xff + 132f4: 2401 movs r4, #1 + 132f6: 4298 cmp r0, r3 + 132f8: d801 bhi.n 132fe + 132fa: f7ff fa5b bl 127b4 + 132fe: 2000 movs r0, #0 + 13300: 4ba4 ldr r3, [pc, #656] ; (13594 ) + 13302: 4798 blx r3 + 13304: 0103 lsls r3, r0, #4 + 13306: 1a18 subs r0, r3, r0 + 13308: 3050 adds r0, #80 ; 0x50 + 1330a: 21a0 movs r1, #160 ; 0xa0 + 1330c: 4ba2 ldr r3, [pc, #648] ; (13598 ) + 1330e: 4798 blx r3 + 13310: b284 uxth r4, r0 + 13312: f7ff fa4f bl 127b4 + 13316: 2000 movs r0, #0 + 13318: 4b9e ldr r3, [pc, #632] ; (13594 ) + 1331a: 4798 blx r3 + 1331c: 0103 lsls r3, r0, #4 + 1331e: 1a18 subs r0, r3, r0 + 13320: 0040 lsls r0, r0, #1 + 13322: 3050 adds r0, #80 ; 0x50 + 13324: 21a0 movs r1, #160 ; 0xa0 + 13326: 4b9c ldr r3, [pc, #624] ; (13598 ) + 13328: 4798 blx r3 + 1332a: b284 uxth r4, r0 + 1332c: f7ff fa42 bl 127b4 + 13330: 2000 movs r0, #0 + 13332: 4b98 ldr r3, [pc, #608] ; (13594 ) + 13334: 4798 blx r3 + 13336: 3028 adds r0, #40 ; 0x28 + 13338: 0040 lsls r0, r0, #1 + 1333a: 21a0 movs r1, #160 ; 0xa0 + 1333c: 4b96 ldr r3, [pc, #600] ; (13598 ) + 1333e: 4798 blx r3 + 13340: b282 uxth r2, r0 + 13342: f7ff fa44 bl 127ce lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 132de: 2000 movs r0, #0 - 132e0: 4b92 ldr r3, [pc, #584] ; (1352c ) - 132e2: 4798 blx r3 - 132e4: 0103 lsls r3, r0, #4 - 132e6: 1a18 subs r0, r3, r0 - 132e8: 3050 adds r0, #80 ; 0x50 - 132ea: 2340 movs r3, #64 ; 0x40 - 132ec: 33ff adds r3, #255 ; 0xff - 132ee: 2401 movs r4, #1 - 132f0: 4298 cmp r0, r3 - 132f2: d801 bhi.n 132f8 - 132f4: f7ff fa55 bl 127a2 - 132f8: 2000 movs r0, #0 - 132fa: 4b8c ldr r3, [pc, #560] ; (1352c ) - 132fc: 4798 blx r3 - 132fe: 0103 lsls r3, r0, #4 - 13300: 1a18 subs r0, r3, r0 - 13302: 3050 adds r0, #80 ; 0x50 - 13304: 21a0 movs r1, #160 ; 0xa0 - 13306: 4b8a ldr r3, [pc, #552] ; (13530 ) - 13308: 4798 blx r3 - 1330a: b284 uxth r4, r0 - 1330c: f7ff fa49 bl 127a2 - 13310: 2000 movs r0, #0 - 13312: 4b86 ldr r3, [pc, #536] ; (1352c ) - 13314: 4798 blx r3 - 13316: 0103 lsls r3, r0, #4 - 13318: 1a18 subs r0, r3, r0 - 1331a: 0040 lsls r0, r0, #1 - 1331c: 3050 adds r0, #80 ; 0x50 - 1331e: 21a0 movs r1, #160 ; 0xa0 - 13320: 4b83 ldr r3, [pc, #524] ; (13530 ) - 13322: 4798 blx r3 - 13324: b284 uxth r4, r0 - 13326: f7ff fa3c bl 127a2 - 1332a: 2000 movs r0, #0 - 1332c: 4b7f ldr r3, [pc, #508] ; (1352c ) - 1332e: 4798 blx r3 - 13330: 3028 adds r0, #40 ; 0x28 - 13332: 0040 lsls r0, r0, #1 - 13334: 21a0 movs r1, #160 ; 0xa0 - 13336: 4b7e ldr r3, [pc, #504] ; (13530 ) - 13338: 4798 blx r3 - 1333a: b282 uxth r2, r0 - 1333c: f7ff fa3e bl 127bc + 13346: 2000 movs r0, #0 + 13348: 4b92 ldr r3, [pc, #584] ; (13594 ) + 1334a: 4798 blx r3 + 1334c: 0103 lsls r3, r0, #4 + 1334e: 1a18 subs r0, r3, r0 + 13350: 3050 adds r0, #80 ; 0x50 + 13352: 2340 movs r3, #64 ; 0x40 + 13354: 33ff adds r3, #255 ; 0xff + 13356: 2401 movs r4, #1 + 13358: 4298 cmp r0, r3 + 1335a: d801 bhi.n 13360 + 1335c: f7ff fa55 bl 1280a + 13360: 2000 movs r0, #0 + 13362: 4b8c ldr r3, [pc, #560] ; (13594 ) + 13364: 4798 blx r3 + 13366: 0103 lsls r3, r0, #4 + 13368: 1a18 subs r0, r3, r0 + 1336a: 3050 adds r0, #80 ; 0x50 + 1336c: 21a0 movs r1, #160 ; 0xa0 + 1336e: 4b8a ldr r3, [pc, #552] ; (13598 ) + 13370: 4798 blx r3 + 13372: b284 uxth r4, r0 + 13374: f7ff fa49 bl 1280a + 13378: 2000 movs r0, #0 + 1337a: 4b86 ldr r3, [pc, #536] ; (13594 ) + 1337c: 4798 blx r3 + 1337e: 0103 lsls r3, r0, #4 + 13380: 1a18 subs r0, r3, r0 + 13382: 0040 lsls r0, r0, #1 + 13384: 3050 adds r0, #80 ; 0x50 + 13386: 21a0 movs r1, #160 ; 0xa0 + 13388: 4b83 ldr r3, [pc, #524] ; (13598 ) + 1338a: 4798 blx r3 + 1338c: b284 uxth r4, r0 + 1338e: f7ff fa3c bl 1280a + 13392: 2000 movs r0, #0 + 13394: 4b7f ldr r3, [pc, #508] ; (13594 ) + 13396: 4798 blx r3 + 13398: 3028 adds r0, #40 ; 0x28 + 1339a: 0040 lsls r0, r0, #1 + 1339c: 21a0 movs r1, #160 ; 0xa0 + 1339e: 4b7e ldr r3, [pc, #504] ; (13598 ) + 133a0: 4798 blx r3 + 133a2: b282 uxth r2, r0 + 133a4: f7ff fa3e bl 12824 lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF); - 13340: 2000 movs r0, #0 - 13342: 4b7a ldr r3, [pc, #488] ; (1352c ) - 13344: 4798 blx r3 - 13346: 0103 lsls r3, r0, #4 - 13348: 1a18 subs r0, r3, r0 - 1334a: 3050 adds r0, #80 ; 0x50 - 1334c: 2340 movs r3, #64 ; 0x40 - 1334e: 33ff adds r3, #255 ; 0xff - 13350: 2201 movs r2, #1 - 13352: 4298 cmp r0, r3 - 13354: d801 bhi.n 1335a - 13356: f7ff fa4f bl 127f8 - 1335a: 2000 movs r0, #0 - 1335c: 4b73 ldr r3, [pc, #460] ; (1352c ) - 1335e: 4798 blx r3 - 13360: 0103 lsls r3, r0, #4 - 13362: 1a18 subs r0, r3, r0 - 13364: 3050 adds r0, #80 ; 0x50 - 13366: 21a0 movs r1, #160 ; 0xa0 - 13368: 4b71 ldr r3, [pc, #452] ; (13530 ) - 1336a: 4798 blx r3 - 1336c: b202 sxth r2, r0 - 1336e: f7ff fa43 bl 127f8 - 13372: 2000 movs r0, #0 - 13374: 4b6d ldr r3, [pc, #436] ; (1352c ) - 13376: 4798 blx r3 - 13378: 0103 lsls r3, r0, #4 - 1337a: 1a18 subs r0, r3, r0 - 1337c: 0040 lsls r0, r0, #1 - 1337e: 3050 adds r0, #80 ; 0x50 - 13380: 21a0 movs r1, #160 ; 0xa0 - 13382: 4b6b ldr r3, [pc, #428] ; (13530 ) - 13384: 4798 blx r3 - 13386: b202 sxth r2, r0 - 13388: f7ff fa36 bl 127f8 - 1338c: 231a movs r3, #26 - 1338e: 2135 movs r1, #53 ; 0x35 - 13390: 221b movs r2, #27 - 13392: f7ff fa73 bl 1287c - 13396: 231b movs r3, #27 - 13398: 2139 movs r1, #57 ; 0x39 - 1339a: 221d movs r2, #29 - 1339c: f7ff fa81 bl 128a2 - 133a0: 2306 movs r3, #6 - 133a2: 2110 movs r1, #16 - 133a4: 2209 movs r2, #9 - 133a6: f7ff fa8f bl 128c8 - 133aa: 2306 movs r3, #6 - 133ac: 2110 movs r1, #16 - 133ae: 2209 movs r2, #9 - 133b0: f7ff fa9d bl 128ee - 133b4: 2306 movs r3, #6 - 133b6: 2110 movs r1, #16 - 133b8: 2209 movs r2, #9 - 133ba: f7ff faab bl 12914 - 133be: 2306 movs r3, #6 - 133c0: 2110 movs r1, #16 - 133c2: 2209 movs r2, #9 - 133c4: f7ff fab9 bl 1293a - 133c8: 231d movs r3, #29 - 133ca: 213b movs r1, #59 ; 0x3b - 133cc: 221d movs r2, #29 - 133ce: f7ff facb bl 12968 - 133d2: 231f movs r3, #31 - 133d4: 213f movs r1, #63 ; 0x3f - 133d6: 221f movs r2, #31 - 133d8: f7ff fae9 bl 129ae - 133dc: 2319 movs r3, #25 - 133de: 2133 movs r1, #51 ; 0x33 - 133e0: 2219 movs r2, #25 - 133e2: f7ff fb08 bl 129f6 - 133e6: 2307 movs r3, #7 - 133e8: 210f movs r1, #15 - 133ea: 2208 movs r2, #8 - 133ec: f7ff fb16 bl 12a1c - 133f0: 2307 movs r3, #7 - 133f2: 210f movs r1, #15 - 133f4: 2208 movs r2, #8 - 133f6: f7ff fb25 bl 12a44 - 133fa: 231a movs r3, #26 - 133fc: 2137 movs r1, #55 ; 0x37 - 133fe: 221c movs r2, #28 - 13400: f7ff fb33 bl 12a6a - 13404: 2307 movs r3, #7 - 13406: 210f movs r1, #15 - 13408: 2208 movs r2, #8 - 1340a: f7ff fb41 bl 12a90 - 1340e: 222a movs r2, #42 ; 0x2a - 13410: 2315 movs r3, #21 - 13412: f7ff fb62 bl 12ada - 13416: 2307 movs r3, #7 - 13418: 210f movs r1, #15 - 1341a: 2208 movs r2, #8 - 1341c: f7ff fb70 bl 12b00 - 13420: 222a movs r2, #42 ; 0x2a - 13422: 2315 movs r3, #21 - 13424: f7ff fb91 bl 12b4a - 13428: 231f movs r3, #31 - 1342a: 213f movs r1, #63 ; 0x3f - 1342c: 221f movs r2, #31 - 1342e: f7ff fbb4 bl 12b9a + 133a8: 2000 movs r0, #0 + 133aa: 4b7a ldr r3, [pc, #488] ; (13594 ) + 133ac: 4798 blx r3 + 133ae: 0103 lsls r3, r0, #4 + 133b0: 1a18 subs r0, r3, r0 + 133b2: 3050 adds r0, #80 ; 0x50 + 133b4: 2340 movs r3, #64 ; 0x40 + 133b6: 33ff adds r3, #255 ; 0xff + 133b8: 2201 movs r2, #1 + 133ba: 4298 cmp r0, r3 + 133bc: d801 bhi.n 133c2 + 133be: f7ff fa4f bl 12860 + 133c2: 2000 movs r0, #0 + 133c4: 4b73 ldr r3, [pc, #460] ; (13594 ) + 133c6: 4798 blx r3 + 133c8: 0103 lsls r3, r0, #4 + 133ca: 1a18 subs r0, r3, r0 + 133cc: 3050 adds r0, #80 ; 0x50 + 133ce: 21a0 movs r1, #160 ; 0xa0 + 133d0: 4b71 ldr r3, [pc, #452] ; (13598 ) + 133d2: 4798 blx r3 + 133d4: b202 sxth r2, r0 + 133d6: f7ff fa43 bl 12860 + 133da: 2000 movs r0, #0 + 133dc: 4b6d ldr r3, [pc, #436] ; (13594 ) + 133de: 4798 blx r3 + 133e0: 0103 lsls r3, r0, #4 + 133e2: 1a18 subs r0, r3, r0 + 133e4: 0040 lsls r0, r0, #1 + 133e6: 3050 adds r0, #80 ; 0x50 + 133e8: 21a0 movs r1, #160 ; 0xa0 + 133ea: 4b6b ldr r3, [pc, #428] ; (13598 ) + 133ec: 4798 blx r3 + 133ee: b202 sxth r2, r0 + 133f0: f7ff fa36 bl 12860 + 133f4: 231a movs r3, #26 + 133f6: 2135 movs r1, #53 ; 0x35 + 133f8: 221b movs r2, #27 + 133fa: f7ff fa73 bl 128e4 + 133fe: 231b movs r3, #27 + 13400: 2139 movs r1, #57 ; 0x39 + 13402: 221d movs r2, #29 + 13404: f7ff fa81 bl 1290a + 13408: 2306 movs r3, #6 + 1340a: 2110 movs r1, #16 + 1340c: 2209 movs r2, #9 + 1340e: f7ff fa8f bl 12930 + 13412: 2306 movs r3, #6 + 13414: 2110 movs r1, #16 + 13416: 2209 movs r2, #9 + 13418: f7ff fa9d bl 12956 + 1341c: 2306 movs r3, #6 + 1341e: 2110 movs r1, #16 + 13420: 2209 movs r2, #9 + 13422: f7ff faab bl 1297c + 13426: 2306 movs r3, #6 + 13428: 2110 movs r1, #16 + 1342a: 2209 movs r2, #9 + 1342c: f7ff fab9 bl 129a2 + 13430: 231d movs r3, #29 + 13432: 213b movs r1, #59 ; 0x3b + 13434: 221d movs r2, #29 + 13436: f7ff facb bl 129d0 + 1343a: 231f movs r3, #31 + 1343c: 213f movs r1, #63 ; 0x3f + 1343e: 221f movs r2, #31 + 13440: f7ff fae9 bl 12a16 + 13444: 2319 movs r3, #25 + 13446: 2133 movs r1, #51 ; 0x33 + 13448: 2219 movs r2, #25 + 1344a: f7ff fb08 bl 12a5e + 1344e: 2307 movs r3, #7 + 13450: 210f movs r1, #15 + 13452: 2208 movs r2, #8 + 13454: f7ff fb16 bl 12a84 + 13458: 2307 movs r3, #7 + 1345a: 210f movs r1, #15 + 1345c: 2208 movs r2, #8 + 1345e: f7ff fb25 bl 12aac + 13462: 231a movs r3, #26 + 13464: 2137 movs r1, #55 ; 0x37 + 13466: 221c movs r2, #28 + 13468: f7ff fb33 bl 12ad2 + 1346c: 2307 movs r3, #7 + 1346e: 210f movs r1, #15 + 13470: 2208 movs r2, #8 + 13472: f7ff fb41 bl 12af8 + 13476: 222a movs r2, #42 ; 0x2a + 13478: 2315 movs r3, #21 + 1347a: f7ff fb62 bl 12b42 + 1347e: 2307 movs r3, #7 + 13480: 210f movs r1, #15 + 13482: 2208 movs r2, #8 + 13484: f7ff fb70 bl 12b68 + 13488: 222a movs r2, #42 ; 0x2a + 1348a: 2315 movs r3, #21 + 1348c: f7ff fb91 bl 12bb2 + 13490: 231f movs r3, #31 + 13492: 213f movs r1, #63 ; 0x3f + 13494: 221f movs r2, #31 + 13496: f7ff fbb4 bl 12c02 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 13432: 4e40 ldr r6, [pc, #256] ; (13534 ) - 13434: 7972 ldrb r2, [r6, #5] - 13436: 08d2 lsrs r2, r2, #3 - 13438: 254c movs r5, #76 ; 0x4c - 1343a: 436a muls r2, r5 - 1343c: 4b3e ldr r3, [pc, #248] ; (13538 ) - 1343e: 18d3 adds r3, r2, r3 - 13440: 021a lsls r2, r3, #8 - 13442: 18d2 adds r2, r2, r3 - 13444: 01d2 lsls r2, r2, #7 - 13446: 18d2 adds r2, r2, r3 - 13448: 0dd2 lsrs r2, r2, #23 - 1344a: 211f movs r1, #31 - 1344c: 400a ands r2, r1 + 1349a: 4e40 ldr r6, [pc, #256] ; (1359c ) + 1349c: 7972 ldrb r2, [r6, #5] + 1349e: 08d2 lsrs r2, r2, #3 + 134a0: 254c movs r5, #76 ; 0x4c + 134a2: 436a muls r2, r5 + 134a4: 4b3e ldr r3, [pc, #248] ; (135a0 ) + 134a6: 18d3 adds r3, r2, r3 + 134a8: 021a lsls r2, r3, #8 + 134aa: 18d2 adds r2, r2, r3 + 134ac: 01d2 lsls r2, r2, #7 + 134ae: 18d2 adds r2, r2, r3 + 134b0: 0dd2 lsrs r2, r2, #23 + 134b2: 211f movs r1, #31 + 134b4: 400a ands r2, r1 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 1344e: 88b4 ldrh r4, [r6, #4] - 13450: 0564 lsls r4, r4, #21 - 13452: 0ea4 lsrs r4, r4, #26 - 13454: 436c muls r4, r5 - 13456: 4b39 ldr r3, [pc, #228] ; (1353c ) - 13458: 469c mov ip, r3 - 1345a: 4464 add r4, ip - 1345c: 0223 lsls r3, r4, #8 - 1345e: 191b adds r3, r3, r4 - 13460: 01db lsls r3, r3, #7 - 13462: 191b adds r3, r3, r4 - 13464: 00db lsls r3, r3, #3 - 13466: 0e9b lsrs r3, r3, #26 + 134b6: 88b4 ldrh r4, [r6, #4] + 134b8: 0564 lsls r4, r4, #21 + 134ba: 0ea4 lsrs r4, r4, #26 + 134bc: 436c muls r4, r5 + 134be: 4b39 ldr r3, [pc, #228] ; (135a4 ) + 134c0: 469c mov ip, r3 + 134c2: 4464 add r4, ip + 134c4: 0223 lsls r3, r4, #8 + 134c6: 191b adds r3, r3, r4 + 134c8: 01db lsls r3, r3, #7 + 134ca: 191b adds r3, r3, r4 + 134cc: 00db lsls r3, r3, #3 + 134ce: 0e9b lsrs r3, r3, #26 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 13468: 7934 ldrb r4, [r6, #4] - 1346a: 06e4 lsls r4, r4, #27 - 1346c: 0ee4 lsrs r4, r4, #27 - 1346e: 4365 muls r5, r4 - 13470: 4c33 ldr r4, [pc, #204] ; (13540 ) - 13472: 46a4 mov ip, r4 - 13474: 4465 add r5, ip - 13476: 022c lsls r4, r5, #8 - 13478: 1964 adds r4, r4, r5 - 1347a: 01e4 lsls r4, r4, #7 - 1347c: 1964 adds r4, r4, r5 - 1347e: 0de4 lsrs r4, r4, #23 - 13480: 4021 ands r1, r4 - 13482: f7ff fbcb bl 12c1c - 13486: 231f movs r3, #31 - 13488: 213f movs r1, #63 ; 0x3f - 1348a: 221f movs r2, #31 - 1348c: f7ff fbe9 bl 12c62 - 13490: 2233 movs r2, #51 ; 0x33 - 13492: 2319 movs r3, #25 - 13494: e430 b.n 12cf8 - 13496: 2222 movs r2, #34 ; 0x22 - 13498: 2311 movs r3, #17 - 1349a: e448 b.n 12d2e + 134d0: 7934 ldrb r4, [r6, #4] + 134d2: 06e4 lsls r4, r4, #27 + 134d4: 0ee4 lsrs r4, r4, #27 + 134d6: 4365 muls r5, r4 + 134d8: 4c33 ldr r4, [pc, #204] ; (135a8 ) + 134da: 46a4 mov ip, r4 + 134dc: 4465 add r5, ip + 134de: 022c lsls r4, r5, #8 + 134e0: 1964 adds r4, r4, r5 + 134e2: 01e4 lsls r4, r4, #7 + 134e4: 1964 adds r4, r4, r5 + 134e6: 0de4 lsrs r4, r4, #23 + 134e8: 4021 ands r1, r4 + 134ea: f7ff fbcb bl 12c84 + 134ee: 231f movs r3, #31 + 134f0: 213f movs r1, #63 ; 0x3f + 134f2: 221f movs r2, #31 + 134f4: f7ff fbe9 bl 12cca + 134f8: 2233 movs r2, #51 ; 0x33 + 134fa: 2319 movs r3, #25 + 134fc: e430 b.n 12d60 + 134fe: 2222 movs r2, #34 ; 0x22 + 13500: 2311 movs r3, #17 + 13502: e448 b.n 12d96 lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); - 1349c: 2000 movs r0, #0 - 1349e: 4b23 ldr r3, [pc, #140] ; (1352c ) - 134a0: 4798 blx r3 - 134a2: 3028 adds r0, #40 ; 0x28 - 134a4: 0040 lsls r0, r0, #1 - 134a6: 21a0 movs r1, #160 ; 0xa0 - 134a8: 4b21 ldr r3, [pc, #132] ; (13530 ) - 134aa: 4798 blx r3 - 134ac: b202 sxth r2, r0 - 134ae: e453 b.n 12d58 - 134b0: 2306 movs r3, #6 - 134b2: 2110 movs r1, #16 - 134b4: 2209 movs r2, #9 - 134b6: e465 b.n 12d84 - 134b8: 2306 movs r3, #6 - 134ba: 2110 movs r1, #16 - 134bc: 2209 movs r2, #9 - 134be: e473 b.n 12da8 - 134c0: 2306 movs r3, #6 - 134c2: 2110 movs r1, #16 - 134c4: 2209 movs r2, #9 - 134c6: e49a b.n 12dfe - 134c8: 2306 movs r3, #6 - 134ca: 2110 movs r1, #16 - 134cc: 2209 movs r2, #9 - 134ce: e4a8 b.n 12e22 - 134d0: 2306 movs r3, #6 - 134d2: 2110 movs r1, #16 - 134d4: 2209 movs r2, #9 - 134d6: e4cf b.n 12e78 - 134d8: 2306 movs r3, #6 - 134da: 2110 movs r1, #16 - 134dc: 2209 movs r2, #9 - 134de: e4dd b.n 12e9c + 13504: 2000 movs r0, #0 + 13506: 4b23 ldr r3, [pc, #140] ; (13594 ) + 13508: 4798 blx r3 + 1350a: 3028 adds r0, #40 ; 0x28 + 1350c: 0040 lsls r0, r0, #1 + 1350e: 21a0 movs r1, #160 ; 0xa0 + 13510: 4b21 ldr r3, [pc, #132] ; (13598 ) + 13512: 4798 blx r3 + 13514: b202 sxth r2, r0 + 13516: e453 b.n 12dc0 + 13518: 2306 movs r3, #6 + 1351a: 2110 movs r1, #16 + 1351c: 2209 movs r2, #9 + 1351e: e465 b.n 12dec + 13520: 2306 movs r3, #6 + 13522: 2110 movs r1, #16 + 13524: 2209 movs r2, #9 + 13526: e473 b.n 12e10 + 13528: 2306 movs r3, #6 + 1352a: 2110 movs r1, #16 + 1352c: 2209 movs r2, #9 + 1352e: e49a b.n 12e66 + 13530: 2306 movs r3, #6 + 13532: 2110 movs r1, #16 + 13534: 2209 movs r2, #9 + 13536: e4a8 b.n 12e8a + 13538: 2306 movs r3, #6 + 1353a: 2110 movs r1, #16 + 1353c: 2209 movs r2, #9 + 1353e: e4cf b.n 12ee0 + 13540: 2306 movs r3, #6 + 13542: 2110 movs r1, #16 + 13544: 2209 movs r2, #9 + 13546: e4dd b.n 12f04 lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 134e0: 2000 movs r0, #0 - 134e2: 4b12 ldr r3, [pc, #72] ; (1352c ) - 134e4: 4798 blx r3 - 134e6: 0003 movs r3, r0 - 134e8: 0080 lsls r0, r0, #2 - 134ea: 18c0 adds r0, r0, r3 - 134ec: 00c0 lsls r0, r0, #3 - 134ee: 3050 adds r0, #80 ; 0x50 - 134f0: 21a0 movs r1, #160 ; 0xa0 - 134f2: 4b0f ldr r3, [pc, #60] ; (13530 ) - 134f4: 4798 blx r3 - 134f6: b202 sxth r2, r0 - 134f8: e501 b.n 12efe + 13548: 2000 movs r0, #0 + 1354a: 4b12 ldr r3, [pc, #72] ; (13594 ) + 1354c: 4798 blx r3 + 1354e: 0003 movs r3, r0 + 13550: 0080 lsls r0, r0, #2 + 13552: 18c0 adds r0, r0, r3 + 13554: 00c0 lsls r0, r0, #3 + 13556: 3050 adds r0, #80 ; 0x50 + 13558: 21a0 movs r1, #160 ; 0xa0 + 1355a: 4b0f ldr r3, [pc, #60] ; (13598 ) + 1355c: 4798 blx r3 + 1355e: b202 sxth r2, r0 + 13560: e501 b.n 12f66 lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 134fa: 2000 movs r0, #0 - 134fc: 4b0b ldr r3, [pc, #44] ; (1352c ) - 134fe: 4798 blx r3 - 13500: 0003 movs r3, r0 - 13502: 0080 lsls r0, r0, #2 - 13504: 18c0 adds r0, r0, r3 - 13506: 00c0 lsls r0, r0, #3 - 13508: 3050 adds r0, #80 ; 0x50 - 1350a: 21a0 movs r1, #160 ; 0xa0 - 1350c: 4b08 ldr r3, [pc, #32] ; (13530 ) - 1350e: 4798 blx r3 - 13510: b202 sxth r2, r0 - 13512: e508 b.n 12f26 + 13562: 2000 movs r0, #0 + 13564: 4b0b ldr r3, [pc, #44] ; (13594 ) + 13566: 4798 blx r3 + 13568: 0003 movs r3, r0 + 1356a: 0080 lsls r0, r0, #2 + 1356c: 18c0 adds r0, r0, r3 + 1356e: 00c0 lsls r0, r0, #3 + 13570: 3050 adds r0, #80 ; 0x50 + 13572: 21a0 movs r1, #160 ; 0xa0 + 13574: 4b08 ldr r3, [pc, #32] ; (13598 ) + 13576: 4798 blx r3 + 13578: b202 sxth r2, r0 + 1357a: e508 b.n 12f8e lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 13514: 2000 movs r0, #0 - 13516: 4b05 ldr r3, [pc, #20] ; (1352c ) - 13518: 4798 blx r3 - 1351a: 0103 lsls r3, r0, #4 - 1351c: 1a18 subs r0, r3, r0 - 1351e: 3050 adds r0, #80 ; 0x50 - 13520: 21a0 movs r1, #160 ; 0xa0 - 13522: 4b03 ldr r3, [pc, #12] ; (13530 ) - 13524: 4798 blx r3 - 13526: b202 sxth r2, r0 - 13528: e510 b.n 12f4c - 1352a: 46c0 nop ; (mov r8, r8) - 1352c: 0000f5fd .word 0x0000f5fd - 13530: 00017961 .word 0x00017961 - 13534: 20004c3c .word 0x20004c3c - 13538: 000007b1 .word 0x000007b1 - 1353c: 000010c8 .word 0x000010c8 - 13540: 000009ca .word 0x000009ca + 1357c: 2000 movs r0, #0 + 1357e: 4b05 ldr r3, [pc, #20] ; (13594 ) + 13580: 4798 blx r3 + 13582: 0103 lsls r3, r0, #4 + 13584: 1a18 subs r0, r3, r0 + 13586: 3050 adds r0, #80 ; 0x50 + 13588: 21a0 movs r1, #160 ; 0xa0 + 1358a: 4b03 ldr r3, [pc, #12] ; (13598 ) + 1358c: 4798 blx r3 + 1358e: b202 sxth r2, r0 + 13590: e510 b.n 12fb4 + 13592: 46c0 nop ; (mov r8, r8) + 13594: 0000f665 .word 0x0000f665 + 13598: 000179f1 .word 0x000179f1 + 1359c: 20004c3c .word 0x20004c3c + 135a0: 000007b1 .word 0x000007b1 + 135a4: 000010c8 .word 0x000010c8 + 135a8: 000009ca .word 0x000009ca lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 13544: 2000 movs r0, #0 - 13546: 4b33 ldr r3, [pc, #204] ; (13614 ) - 13548: 4798 blx r3 - 1354a: 0103 lsls r3, r0, #4 - 1354c: 1a18 subs r0, r3, r0 - 1354e: 3050 adds r0, #80 ; 0x50 - 13550: 21a0 movs r1, #160 ; 0xa0 - 13552: 4b31 ldr r3, [pc, #196] ; (13618 ) - 13554: 4798 blx r3 - 13556: b202 sxth r2, r0 - 13558: e50b b.n 12f72 - lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20)); - 1355a: 2000 movs r0, #0 - 1355c: 4b2d ldr r3, [pc, #180] ; (13614 ) - 1355e: 4798 blx r3 - 13560: 0003 movs r3, r0 - 13562: 0080 lsls r0, r0, #2 - 13564: 18c0 adds r0, r0, r3 - 13566: 0080 lsls r0, r0, #2 - 13568: 3050 adds r0, #80 ; 0x50 - 1356a: 21a0 movs r1, #160 ; 0xa0 - 1356c: 4b2a ldr r3, [pc, #168] ; (13618 ) - 1356e: 4798 blx r3 - 13570: b202 sxth r2, r0 - 13572: e512 b.n 12f9a - lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 13574: 2000 movs r0, #0 - 13576: 4b27 ldr r3, [pc, #156] ; (13614 ) - 13578: 4798 blx r3 - 1357a: 0003 movs r3, r0 - 1357c: 0080 lsls r0, r0, #2 - 1357e: 18c0 adds r0, r0, r3 - 13580: 0080 lsls r0, r0, #2 - 13582: 3050 adds r0, #80 ; 0x50 - 13584: 21a0 movs r1, #160 ; 0xa0 - 13586: 4b24 ldr r3, [pc, #144] ; (13618 ) - 13588: 4798 blx r3 - lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 1358a: b202 sxth r2, r0 - 1358c: e55e b.n 1304c - lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 1358e: 2000 movs r0, #0 - 13590: 4b20 ldr r3, [pc, #128] ; (13614 ) - 13592: 4798 blx r3 - 13594: 0083 lsls r3, r0, #2 - 13596: 181b adds r3, r3, r0 - 13598: 00db lsls r3, r3, #3 - 1359a: 3350 adds r3, #80 ; 0x50 - lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 1359c: 2140 movs r1, #64 ; 0x40 - 1359e: 31ff adds r1, #255 ; 0xff - 135a0: 2201 movs r2, #1 - 135a2: 428b cmp r3, r1 - 135a4: d800 bhi.n 135a8 - 135a6: e551 b.n 1304c - lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 135a8: 2000 movs r0, #0 - 135aa: 4b1a ldr r3, [pc, #104] ; (13614 ) - 135ac: 4798 blx r3 - 135ae: 0003 movs r3, r0 - 135b0: 0080 lsls r0, r0, #2 - 135b2: 18c0 adds r0, r0, r3 - 135b4: 00c0 lsls r0, r0, #3 + 135ac: 2000 movs r0, #0 + 135ae: 4b33 ldr r3, [pc, #204] ; (1367c ) + 135b0: 4798 blx r3 + 135b2: 0103 lsls r3, r0, #4 + 135b4: 1a18 subs r0, r3, r0 135b6: 3050 adds r0, #80 ; 0x50 135b8: 21a0 movs r1, #160 ; 0xa0 - 135ba: 4b17 ldr r3, [pc, #92] ; (13618 ) + 135ba: 4b31 ldr r3, [pc, #196] ; (13680 ) 135bc: 4798 blx r3 - lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, 135be: b202 sxth r2, r0 - 135c0: e544 b.n 1304c - lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20); + 135c0: e50b b.n 12fda + lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20)); 135c2: 2000 movs r0, #0 - 135c4: 4b13 ldr r3, [pc, #76] ; (13614 ) + 135c4: 4b2d ldr r3, [pc, #180] ; (1367c ) 135c6: 4798 blx r3 135c8: 0003 movs r3, r0 135ca: 0080 lsls r0, r0, #2 135cc: 18c0 adds r0, r0, r3 - 135ce: 0040 lsls r0, r0, #1 + 135ce: 0080 lsls r0, r0, #2 135d0: 3050 adds r0, #80 ; 0x50 135d2: 21a0 movs r1, #160 ; 0xa0 - 135d4: 4b10 ldr r3, [pc, #64] ; (13618 ) + 135d4: 4b2a ldr r3, [pc, #168] ; (13680 ) 135d6: 4798 blx r3 - 135d8: b204 sxth r4, r0 - 135da: e554 b.n 13086 + 135d8: b202 sxth r2, r0 + 135da: e512 b.n 13002 + lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); 135dc: 2000 movs r0, #0 - 135de: 4b0d ldr r3, [pc, #52] ; (13614 ) + 135de: 4b27 ldr r3, [pc, #156] ; (1367c ) 135e0: 4798 blx r3 135e2: 0003 movs r3, r0 135e4: 0080 lsls r0, r0, #2 135e6: 18c0 adds r0, r0, r3 135e8: 0080 lsls r0, r0, #2 135ea: 3050 adds r0, #80 ; 0x50 - 135ec: 2340 movs r3, #64 ; 0x40 - 135ee: 33ff adds r3, #255 ; 0xff - 135f0: 2401 movs r4, #1 - 135f2: 4298 cmp r0, r3 - 135f4: d800 bhi.n 135f8 - 135f6: e546 b.n 13086 - 135f8: 2000 movs r0, #0 - 135fa: 4b06 ldr r3, [pc, #24] ; (13614 ) - 135fc: 4798 blx r3 - 135fe: 0003 movs r3, r0 - 13600: 0080 lsls r0, r0, #2 - 13602: 18c0 adds r0, r0, r3 - 13604: 0080 lsls r0, r0, #2 - 13606: 3050 adds r0, #80 ; 0x50 - 13608: 21a0 movs r1, #160 ; 0xa0 - 1360a: 4b03 ldr r3, [pc, #12] ; (13618 ) - 1360c: 4798 blx r3 - 1360e: b204 sxth r4, r0 - 13610: e539 b.n 13086 - 13612: 46c0 nop ; (mov r8, r8) - 13614: 0000f5fd .word 0x0000f5fd - 13618: 00017961 .word 0x00017961 - -0001361c : -{ - 1361c: b5f0 push {r4, r5, r6, r7, lr} - 1361e: 46c6 mov lr, r8 - 13620: b500 push {lr} + 135ec: 21a0 movs r1, #160 ; 0xa0 + 135ee: 4b24 ldr r3, [pc, #144] ; (13680 ) + 135f0: 4798 blx r3 + lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, + 135f2: b202 sxth r2, r0 + 135f4: e55e b.n 130b4 + lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); + 135f6: 2000 movs r0, #0 + 135f8: 4b20 ldr r3, [pc, #128] ; (1367c ) + 135fa: 4798 blx r3 + 135fc: 0083 lsls r3, r0, #2 + 135fe: 181b adds r3, r3, r0 + 13600: 00db lsls r3, r3, #3 + 13602: 3350 adds r3, #80 ; 0x50 + lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, + 13604: 2140 movs r1, #64 ; 0x40 + 13606: 31ff adds r1, #255 ; 0xff + 13608: 2201 movs r2, #1 + 1360a: 428b cmp r3, r1 + 1360c: d800 bhi.n 13610 + 1360e: e551 b.n 130b4 + lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); + 13610: 2000 movs r0, #0 + 13612: 4b1a ldr r3, [pc, #104] ; (1367c ) + 13614: 4798 blx r3 + 13616: 0003 movs r3, r0 + 13618: 0080 lsls r0, r0, #2 + 1361a: 18c0 adds r0, r0, r3 + 1361c: 00c0 lsls r0, r0, #3 + 1361e: 3050 adds r0, #80 ; 0x50 + 13620: 21a0 movs r1, #160 ; 0xa0 + 13622: 4b17 ldr r3, [pc, #92] ; (13680 ) + 13624: 4798 blx r3 + lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, + 13626: b202 sxth r2, r0 + 13628: e544 b.n 130b4 + lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20); + 1362a: 2000 movs r0, #0 + 1362c: 4b13 ldr r3, [pc, #76] ; (1367c ) + 1362e: 4798 blx r3 + 13630: 0003 movs r3, r0 + 13632: 0080 lsls r0, r0, #2 + 13634: 18c0 adds r0, r0, r3 + 13636: 0040 lsls r0, r0, #1 + 13638: 3050 adds r0, #80 ; 0x50 + 1363a: 21a0 movs r1, #160 ; 0xa0 + 1363c: 4b10 ldr r3, [pc, #64] ; (13680 ) + 1363e: 4798 blx r3 + 13640: b204 sxth r4, r0 + 13642: e554 b.n 130ee + 13644: 2000 movs r0, #0 + 13646: 4b0d ldr r3, [pc, #52] ; (1367c ) + 13648: 4798 blx r3 + 1364a: 0003 movs r3, r0 + 1364c: 0080 lsls r0, r0, #2 + 1364e: 18c0 adds r0, r0, r3 + 13650: 0080 lsls r0, r0, #2 + 13652: 3050 adds r0, #80 ; 0x50 + 13654: 2340 movs r3, #64 ; 0x40 + 13656: 33ff adds r3, #255 ; 0xff + 13658: 2401 movs r4, #1 + 1365a: 4298 cmp r0, r3 + 1365c: d800 bhi.n 13660 + 1365e: e546 b.n 130ee + 13660: 2000 movs r0, #0 + 13662: 4b06 ldr r3, [pc, #24] ; (1367c ) + 13664: 4798 blx r3 + 13666: 0003 movs r3, r0 + 13668: 0080 lsls r0, r0, #2 + 1366a: 18c0 adds r0, r0, r3 + 1366c: 0080 lsls r0, r0, #2 + 1366e: 3050 adds r0, #80 ; 0x50 + 13670: 21a0 movs r1, #160 ; 0xa0 + 13672: 4b03 ldr r3, [pc, #12] ; (13680 ) + 13674: 4798 blx r3 + 13676: b204 sxth r4, r0 + 13678: e539 b.n 130ee + 1367a: 46c0 nop ; (mov r8, r8) + 1367c: 0000f665 .word 0x0000f665 + 13680: 000179f1 .word 0x000179f1 + +00013684 : +{ + 13684: b5f0 push {r4, r5, r6, r7, lr} + 13686: 46c6 mov lr, r8 + 13688: b500 push {lr} style_init_reset(&styles->bar_bg); - 13622: 4c49 ldr r4, [pc, #292] ; (13748 ) - 13624: 6820 ldr r0, [r4, #0] - 13626: 3024 adds r0, #36 ; 0x24 - 13628: 4b48 ldr r3, [pc, #288] ; (1374c ) - 1362a: 4798 blx r3 + 1368a: 4c49 ldr r4, [pc, #292] ; (137b0 ) + 1368c: 6820 ldr r0, [r4, #0] + 1368e: 3024 adds r0, #36 ; 0x24 + 13690: 4b48 ldr r3, [pc, #288] ; (137b4 ) + 13692: 4798 blx r3 lv_style_set_radius(&styles->bar_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 1362c: 6820 ldr r0, [r4, #0] - 1362e: 3024 adds r0, #36 ; 0x24 + 13694: 6820 ldr r0, [r4, #0] + 13696: 3024 adds r0, #36 ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 13630: 4a47 ldr r2, [pc, #284] ; (13750 ) - 13632: 2101 movs r1, #1 - 13634: 4b47 ldr r3, [pc, #284] ; (13754 ) - 13636: 4798 blx r3 + 13698: 4a47 ldr r2, [pc, #284] ; (137b8 ) + 1369a: 2101 movs r1, #1 + 1369c: 4b47 ldr r3, [pc, #284] ; (137bc ) + 1369e: 4798 blx r3 lv_style_set_bg_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 13638: 6820 ldr r0, [r4, #0] - 1363a: 3024 adds r0, #36 ; 0x24 + 136a0: 6820 ldr r0, [r4, #0] + 136a2: 3024 adds r0, #36 ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1363c: 22ff movs r2, #255 ; 0xff - 1363e: 212c movs r1, #44 ; 0x2c - 13640: 4b45 ldr r3, [pc, #276] ; (13758 ) - 13642: 4798 blx r3 + 136a4: 22ff movs r2, #255 ; 0xff + 136a6: 212c movs r1, #44 ; 0x2c + 136a8: 4b45 ldr r3, [pc, #276] ; (137c0 ) + 136aa: 4798 blx r3 lv_style_set_bg_color(&styles->bar_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); - 13644: 6820 ldr r0, [r4, #0] - 13646: 3024 adds r0, #36 ; 0x24 - 13648: 4b44 ldr r3, [pc, #272] ; (1375c ) - 1364a: 699b ldr r3, [r3, #24] - 1364c: 079b lsls r3, r3, #30 - 1364e: d500 bpl.n 13652 - 13650: e06e b.n 13730 - 13652: 2308 movs r3, #8 - 13654: 2112 movs r1, #18 - 13656: 2209 movs r2, #9 - 13658: 0149 lsls r1, r1, #5 - 1365a: 02db lsls r3, r3, #11 - 1365c: 430a orrs r2, r1 - 1365e: 431a orrs r2, r3 + 136ac: 6820 ldr r0, [r4, #0] + 136ae: 3024 adds r0, #36 ; 0x24 + 136b0: 4b44 ldr r3, [pc, #272] ; (137c4 ) + 136b2: 699b ldr r3, [r3, #24] + 136b4: 079b lsls r3, r3, #30 + 136b6: d500 bpl.n 136ba + 136b8: e06e b.n 13798 + 136ba: 2308 movs r3, #8 + 136bc: 2112 movs r1, #18 + 136be: 2209 movs r2, #9 + 136c0: 0149 lsls r1, r1, #5 + 136c2: 02db lsls r3, r3, #11 + 136c4: 430a orrs r2, r1 + 136c6: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 13660: 2129 movs r1, #41 ; 0x29 - 13662: 4b3f ldr r3, [pc, #252] ; (13760 ) - 13664: 4798 blx r3 + 136c8: 2129 movs r1, #41 ; 0x29 + 136ca: 4b3f ldr r3, [pc, #252] ; (137c8 ) + 136cc: 4798 blx r3 lv_style_set_value_color(&styles->bar_bg, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 13666: 4b38 ldr r3, [pc, #224] ; (13748 ) - 13668: 6818 ldr r0, [r3, #0] - 1366a: 3024 adds r0, #36 ; 0x24 - 1366c: 4b3b ldr r3, [pc, #236] ; (1375c ) - 1366e: 699b ldr r3, [r3, #24] - 13670: 079b lsls r3, r3, #30 - 13672: d461 bmi.n 13738 - 13674: 231f movs r3, #31 - 13676: 213f movs r1, #63 ; 0x3f - 13678: 221f movs r2, #31 - 1367a: 0149 lsls r1, r1, #5 - 1367c: 02db lsls r3, r3, #11 - 1367e: 430a orrs r2, r1 - 13680: 431a orrs r2, r3 + 136ce: 4b38 ldr r3, [pc, #224] ; (137b0 ) + 136d0: 6818 ldr r0, [r3, #0] + 136d2: 3024 adds r0, #36 ; 0x24 + 136d4: 4b3b ldr r3, [pc, #236] ; (137c4 ) + 136d6: 699b ldr r3, [r3, #24] + 136d8: 079b lsls r3, r3, #30 + 136da: d461 bmi.n 137a0 + 136dc: 231f movs r3, #31 + 136de: 213f movs r1, #63 ; 0x3f + 136e0: 221f movs r2, #31 + 136e2: 0149 lsls r1, r1, #5 + 136e4: 02db lsls r3, r3, #11 + 136e6: 430a orrs r2, r1 + 136e8: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 13682: 2179 movs r1, #121 ; 0x79 - 13684: 4d36 ldr r5, [pc, #216] ; (13760 ) - 13686: 47a8 blx r5 + 136ea: 2179 movs r1, #121 ; 0x79 + 136ec: 4d36 ldr r5, [pc, #216] ; (137c8 ) + 136ee: 47a8 blx r5 lv_style_set_outline_color(&styles->bar_bg, LV_STATE_DEFAULT, theme.color_primary); - 13688: 4c2f ldr r4, [pc, #188] ; (13748 ) - 1368a: 6820 ldr r0, [r4, #0] - 1368c: 3024 adds r0, #36 ; 0x24 - 1368e: 4e33 ldr r6, [pc, #204] ; (1375c ) - 13690: 88b2 ldrh r2, [r6, #4] + 136f0: 4c2f ldr r4, [pc, #188] ; (137b0 ) + 136f2: 6820 ldr r0, [r4, #0] + 136f4: 3024 adds r0, #36 ; 0x24 + 136f6: 4e33 ldr r6, [pc, #204] ; (137c4 ) + 136f8: 88b2 ldrh r2, [r6, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 13692: 2149 movs r1, #73 ; 0x49 - 13694: 47a8 blx r5 + 136fa: 2149 movs r1, #73 ; 0x49 + 136fc: 47a8 blx r5 lv_style_set_outline_color(&styles->bar_bg, LV_STATE_EDITED, theme.color_secondary); - 13696: 6820 ldr r0, [r4, #0] - 13698: 3024 adds r0, #36 ; 0x24 - 1369a: 88f2 ldrh r2, [r6, #6] - 1369c: 4931 ldr r1, [pc, #196] ; (13764 ) - 1369e: 47a8 blx r5 + 136fe: 6820 ldr r0, [r4, #0] + 13700: 3024 adds r0, #36 ; 0x24 + 13702: 88f2 ldrh r2, [r6, #6] + 13704: 4931 ldr r1, [pc, #196] ; (137cc ) + 13706: 47a8 blx r5 lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); - 136a0: 6820 ldr r0, [r4, #0] - 136a2: 3024 adds r0, #36 ; 0x24 + 13708: 6820 ldr r0, [r4, #0] + 1370a: 3024 adds r0, #36 ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 136a4: 2200 movs r2, #0 - 136a6: 214c movs r1, #76 ; 0x4c - 136a8: 4b2b ldr r3, [pc, #172] ; (13758 ) - 136aa: 4698 mov r8, r3 - 136ac: 4798 blx r3 + 1370c: 2200 movs r2, #0 + 1370e: 214c movs r1, #76 ; 0x4c + 13710: 4b2b ldr r3, [pc, #172] ; (137c0 ) + 13712: 4698 mov r8, r3 + 13714: 4798 blx r3 lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_FOCUSED, LV_OPA_50); - 136ae: 6820 ldr r0, [r4, #0] - 136b0: 3024 adds r0, #36 ; 0x24 - 136b2: 227f movs r2, #127 ; 0x7f - 136b4: 2193 movs r1, #147 ; 0x93 - 136b6: 0089 lsls r1, r1, #2 - 136b8: 47c0 blx r8 + 13716: 6820 ldr r0, [r4, #0] + 13718: 3024 adds r0, #36 ; 0x24 + 1371a: 227f movs r2, #127 ; 0x7f + 1371c: 2193 movs r1, #147 ; 0x93 + 1371e: 0089 lsls r1, r1, #2 + 13720: 47c0 blx r8 lv_style_set_outline_width(&styles->bar_bg, LV_STATE_DEFAULT, 3); - 136ba: 6820 ldr r0, [r4, #0] - 136bc: 3024 adds r0, #36 ; 0x24 + 13722: 6820 ldr r0, [r4, #0] + 13724: 3024 adds r0, #36 ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 136be: 2203 movs r2, #3 - 136c0: 2140 movs r1, #64 ; 0x40 - 136c2: 4f24 ldr r7, [pc, #144] ; (13754 ) - 136c4: 47b8 blx r7 + 13726: 2203 movs r2, #3 + 13728: 2140 movs r1, #64 ; 0x40 + 1372a: 4f24 ldr r7, [pc, #144] ; (137bc ) + 1372c: 47b8 blx r7 lv_style_set_transition_time(&styles->bar_bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 136c6: 6820 ldr r0, [r4, #0] - 136c8: 3024 adds r0, #36 ; 0x24 + 1372e: 6820 ldr r0, [r4, #0] + 13730: 3024 adds r0, #36 ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 136ca: 2296 movs r2, #150 ; 0x96 - 136cc: 21b0 movs r1, #176 ; 0xb0 - 136ce: 47b8 blx r7 + 13732: 2296 movs r2, #150 ; 0x96 + 13734: 21b0 movs r1, #176 ; 0xb0 + 13736: 47b8 blx r7 lv_style_set_transition_prop_6(&styles->bar_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 136d0: 6820 ldr r0, [r4, #0] - 136d2: 3024 adds r0, #36 ; 0x24 + 13738: 6820 ldr r0, [r4, #0] + 1373a: 3024 adds r0, #36 ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 136d4: 224c movs r2, #76 ; 0x4c - 136d6: 21b7 movs r1, #183 ; 0xb7 - 136d8: 47b8 blx r7 + 1373c: 224c movs r2, #76 ; 0x4c + 1373e: 21b7 movs r1, #183 ; 0xb7 + 13740: 47b8 blx r7 style_init_reset(&styles->bar_indic); - 136da: 6820 ldr r0, [r4, #0] - 136dc: 3028 adds r0, #40 ; 0x28 - 136de: 4b1b ldr r3, [pc, #108] ; (1374c ) - 136e0: 4798 blx r3 + 13742: 6820 ldr r0, [r4, #0] + 13744: 3028 adds r0, #40 ; 0x28 + 13746: 4b1b ldr r3, [pc, #108] ; (137b4 ) + 13748: 4798 blx r3 lv_style_set_bg_opa(&styles->bar_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 136e2: 6820 ldr r0, [r4, #0] - 136e4: 3028 adds r0, #40 ; 0x28 + 1374a: 6820 ldr r0, [r4, #0] + 1374c: 3028 adds r0, #40 ; 0x28 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 136e6: 22ff movs r2, #255 ; 0xff - 136e8: 212c movs r1, #44 ; 0x2c - 136ea: 47c0 blx r8 + 1374e: 22ff movs r2, #255 ; 0xff + 13750: 212c movs r1, #44 ; 0x2c + 13752: 47c0 blx r8 lv_style_set_radius(&styles->bar_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 136ec: 6820 ldr r0, [r4, #0] - 136ee: 3028 adds r0, #40 ; 0x28 + 13754: 6820 ldr r0, [r4, #0] + 13756: 3028 adds r0, #40 ; 0x28 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 136f0: 4a17 ldr r2, [pc, #92] ; (13750 ) - 136f2: 2101 movs r1, #1 - 136f4: 47b8 blx r7 + 13758: 4a17 ldr r2, [pc, #92] ; (137b8 ) + 1375a: 2101 movs r1, #1 + 1375c: 47b8 blx r7 lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DEFAULT, theme.color_primary); - 136f6: 6820 ldr r0, [r4, #0] - 136f8: 3028 adds r0, #40 ; 0x28 - 136fa: 88b2 ldrh r2, [r6, #4] + 1375e: 6820 ldr r0, [r4, #0] + 13760: 3028 adds r0, #40 ; 0x28 + 13762: 88b2 ldrh r2, [r6, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 136fc: 2129 movs r1, #41 ; 0x29 - 136fe: 47a8 blx r5 + 13764: 2129 movs r1, #41 ; 0x29 + 13766: 47a8 blx r5 lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DISABLED, lv_color_hex3(0x888)); - 13700: 6820 ldr r0, [r4, #0] - 13702: 3028 adds r0, #40 ; 0x28 - 13704: 4b18 ldr r3, [pc, #96] ; (13768 ) - 13706: 881a ldrh r2, [r3, #0] - 13708: 4918 ldr r1, [pc, #96] ; (1376c ) - 1370a: 47a8 blx r5 + 13768: 6820 ldr r0, [r4, #0] + 1376a: 3028 adds r0, #40 ; 0x28 + 1376c: 4b18 ldr r3, [pc, #96] ; (137d0 ) + 1376e: 881a ldrh r2, [r3, #0] + 13770: 4918 ldr r1, [pc, #96] ; (137d4 ) + 13772: 47a8 blx r5 lv_style_set_value_color(&styles->bar_indic, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x41404f) : LV_COLOR_WHITE); - 1370c: 6820 ldr r0, [r4, #0] - 1370e: 3028 adds r0, #40 ; 0x28 - 13710: 69b3 ldr r3, [r6, #24] - 13712: 079b lsls r3, r3, #30 - 13714: d414 bmi.n 13740 - 13716: 231f movs r3, #31 - 13718: 213f movs r1, #63 ; 0x3f - 1371a: 221f movs r2, #31 - 1371c: 0149 lsls r1, r1, #5 - 1371e: 02db lsls r3, r3, #11 - 13720: 430a orrs r2, r1 - 13722: 431a orrs r2, r3 + 13774: 6820 ldr r0, [r4, #0] + 13776: 3028 adds r0, #40 ; 0x28 + 13778: 69b3 ldr r3, [r6, #24] + 1377a: 079b lsls r3, r3, #30 + 1377c: d414 bmi.n 137a8 + 1377e: 231f movs r3, #31 + 13780: 213f movs r1, #63 ; 0x3f + 13782: 221f movs r2, #31 + 13784: 0149 lsls r1, r1, #5 + 13786: 02db lsls r3, r3, #11 + 13788: 430a orrs r2, r1 + 1378a: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 13724: 2179 movs r1, #121 ; 0x79 - 13726: 4b0e ldr r3, [pc, #56] ; (13760 ) - 13728: 4798 blx r3 -} - 1372a: bc04 pop {r2} - 1372c: 4690 mov r8, r2 - 1372e: bdf0 pop {r4, r5, r6, r7, pc} - 13730: 231a movs r3, #26 - 13732: 2135 movs r1, #53 ; 0x35 - 13734: 221b movs r2, #27 - 13736: e78f b.n 13658 - 13738: 2306 movs r3, #6 - 1373a: 2110 movs r1, #16 - 1373c: 2209 movs r2, #9 - 1373e: e79c b.n 1367a - 13740: 2308 movs r3, #8 - 13742: 2110 movs r1, #16 - 13744: 2209 movs r2, #9 - 13746: e7e9 b.n 1371c - 13748: 20004c38 .word 0x20004c38 - 1374c: 0001242d .word 0x0001242d - 13750: 00007fff .word 0x00007fff - 13754: 00004c8d .word 0x00004c8d - 13758: 00004f4d .word 0x00004f4d - 1375c: 20004c3c .word 0x20004c3c - 13760: 00004ded .word 0x00004ded - 13764: 00000449 .word 0x00000449 - 13768: 0001ca08 .word 0x0001ca08 - 1376c: 00002029 .word 0x00002029 - -00013770 : -{ - 13770: b510 push {r4, lr} + 1378c: 2179 movs r1, #121 ; 0x79 + 1378e: 4b0e ldr r3, [pc, #56] ; (137c8 ) + 13790: 4798 blx r3 +} + 13792: bc04 pop {r2} + 13794: 4690 mov r8, r2 + 13796: bdf0 pop {r4, r5, r6, r7, pc} + 13798: 231a movs r3, #26 + 1379a: 2135 movs r1, #53 ; 0x35 + 1379c: 221b movs r2, #27 + 1379e: e78f b.n 136c0 + 137a0: 2306 movs r3, #6 + 137a2: 2110 movs r1, #16 + 137a4: 2209 movs r2, #9 + 137a6: e79c b.n 136e2 + 137a8: 2308 movs r3, #8 + 137aa: 2110 movs r1, #16 + 137ac: 2209 movs r2, #9 + 137ae: e7e9 b.n 13784 + 137b0: 20004c38 .word 0x20004c38 + 137b4: 00012495 .word 0x00012495 + 137b8: 00007fff .word 0x00007fff + 137bc: 00004cf5 .word 0x00004cf5 + 137c0: 00004fb5 .word 0x00004fb5 + 137c4: 20004c3c .word 0x20004c3c + 137c8: 00004e55 .word 0x00004e55 + 137cc: 00000449 .word 0x00000449 + 137d0: 0001ca98 .word 0x0001ca98 + 137d4: 00002029 .word 0x00002029 + +000137d8 : +{ + 137d8: b510 push {r4, lr} style_init_reset(&styles->slider_knob); - 13772: 4c9a ldr r4, [pc, #616] ; (139dc ) - 13774: 6820 ldr r0, [r4, #0] - 13776: 3090 adds r0, #144 ; 0x90 - 13778: 4b99 ldr r3, [pc, #612] ; (139e0 ) - 1377a: 4798 blx r3 + 137da: 4c9a ldr r4, [pc, #616] ; (13a44 ) + 137dc: 6820 ldr r0, [r4, #0] + 137de: 3090 adds r0, #144 ; 0x90 + 137e0: 4b99 ldr r3, [pc, #612] ; (13a48 ) + 137e2: 4798 blx r3 lv_style_set_bg_opa(&styles->slider_knob, LV_STATE_DEFAULT, LV_OPA_COVER); - 1377c: 6820 ldr r0, [r4, #0] - 1377e: 3090 adds r0, #144 ; 0x90 + 137e4: 6820 ldr r0, [r4, #0] + 137e6: 3090 adds r0, #144 ; 0x90 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 13780: 22ff movs r2, #255 ; 0xff - 13782: 212c movs r1, #44 ; 0x2c - 13784: 4b97 ldr r3, [pc, #604] ; (139e4 ) - 13786: 4798 blx r3 + 137e8: 22ff movs r2, #255 ; 0xff + 137ea: 212c movs r1, #44 ; 0x2c + 137ec: 4b97 ldr r3, [pc, #604] ; (13a4c ) + 137ee: 4798 blx r3 lv_style_set_bg_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? theme.color_primary : LV_COLOR_WHITE); - 13788: 6820 ldr r0, [r4, #0] - 1378a: 3090 adds r0, #144 ; 0x90 - 1378c: 4b96 ldr r3, [pc, #600] ; (139e8 ) - 1378e: 699b ldr r3, [r3, #24] - 13790: 079b lsls r3, r3, #30 - 13792: d400 bmi.n 13796 - 13794: e0bb b.n 1390e - 13796: 4b94 ldr r3, [pc, #592] ; (139e8 ) - 13798: 889a ldrh r2, [r3, #4] + 137f0: 6820 ldr r0, [r4, #0] + 137f2: 3090 adds r0, #144 ; 0x90 + 137f4: 4b96 ldr r3, [pc, #600] ; (13a50 ) + 137f6: 699b ldr r3, [r3, #24] + 137f8: 079b lsls r3, r3, #30 + 137fa: d400 bmi.n 137fe + 137fc: e0bb b.n 13976 + 137fe: 4b94 ldr r3, [pc, #592] ; (13a50 ) + 13800: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1379a: 2129 movs r1, #41 ; 0x29 - 1379c: 4b93 ldr r3, [pc, #588] ; (139ec ) - 1379e: 4798 blx r3 + 13802: 2129 movs r1, #41 ; 0x29 + 13804: 4b93 ldr r3, [pc, #588] ; (13a54 ) + 13806: 4798 blx r3 lv_style_set_value_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 137a0: 4b8e ldr r3, [pc, #568] ; (139dc ) - 137a2: 6818 ldr r0, [r3, #0] - 137a4: 3090 adds r0, #144 ; 0x90 - 137a6: 4b90 ldr r3, [pc, #576] ; (139e8 ) - 137a8: 699b ldr r3, [r3, #24] - 137aa: 079b lsls r3, r3, #30 - 137ac: d500 bpl.n 137b0 - 137ae: e0b1 b.n 13914 - 137b0: 231f movs r3, #31 - 137b2: 213f movs r1, #63 ; 0x3f - 137b4: 221f movs r2, #31 - 137b6: 0149 lsls r1, r1, #5 - 137b8: 02db lsls r3, r3, #11 - 137ba: 430a orrs r2, r1 - 137bc: 431a orrs r2, r3 + 13808: 4b8e ldr r3, [pc, #568] ; (13a44 ) + 1380a: 6818 ldr r0, [r3, #0] + 1380c: 3090 adds r0, #144 ; 0x90 + 1380e: 4b90 ldr r3, [pc, #576] ; (13a50 ) + 13810: 699b ldr r3, [r3, #24] + 13812: 079b lsls r3, r3, #30 + 13814: d500 bpl.n 13818 + 13816: e0b1 b.n 1397c + 13818: 231f movs r3, #31 + 1381a: 213f movs r1, #63 ; 0x3f + 1381c: 221f movs r2, #31 + 1381e: 0149 lsls r1, r1, #5 + 13820: 02db lsls r3, r3, #11 + 13822: 430a orrs r2, r1 + 13824: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 137be: 2179 movs r1, #121 ; 0x79 - 137c0: 4b8a ldr r3, [pc, #552] ; (139ec ) - 137c2: 4798 blx r3 + 13826: 2179 movs r1, #121 ; 0x79 + 13828: 4b8a ldr r3, [pc, #552] ; (13a54 ) + 1382a: 4798 blx r3 lv_style_set_radius(&styles->slider_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 137c4: 4c85 ldr r4, [pc, #532] ; (139dc ) - 137c6: 6820 ldr r0, [r4, #0] - 137c8: 3090 adds r0, #144 ; 0x90 + 1382c: 4c85 ldr r4, [pc, #532] ; (13a44 ) + 1382e: 6820 ldr r0, [r4, #0] + 13830: 3090 adds r0, #144 ; 0x90 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 137ca: 4a89 ldr r2, [pc, #548] ; (139f0 ) - 137cc: 2101 movs r1, #1 - 137ce: 4b89 ldr r3, [pc, #548] ; (139f4 ) - 137d0: 4798 blx r3 + 13832: 4a89 ldr r2, [pc, #548] ; (13a58 ) + 13834: 2101 movs r1, #1 + 13836: 4b89 ldr r3, [pc, #548] ; (13a5c ) + 13838: 4798 blx r3 lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 137d2: 6824 ldr r4, [r4, #0] - 137d4: 3490 adds r4, #144 ; 0x90 - 137d6: 2000 movs r0, #0 - 137d8: 4b87 ldr r3, [pc, #540] ; (139f8 ) - 137da: 4798 blx r3 - 137dc: 00c3 lsls r3, r0, #3 - 137de: 1a18 subs r0, r3, r0 - 137e0: 3050 adds r0, #80 ; 0x50 - 137e2: 2340 movs r3, #64 ; 0x40 - 137e4: 33ff adds r3, #255 ; 0xff - 137e6: 2201 movs r2, #1 - 137e8: 4298 cmp r0, r3 - 137ea: d900 bls.n 137ee - 137ec: e096 b.n 1391c + 1383a: 6824 ldr r4, [r4, #0] + 1383c: 3490 adds r4, #144 ; 0x90 + 1383e: 2000 movs r0, #0 + 13840: 4b87 ldr r3, [pc, #540] ; (13a60 ) + 13842: 4798 blx r3 + 13844: 00c3 lsls r3, r0, #3 + 13846: 1a18 subs r0, r3, r0 + 13848: 3050 adds r0, #80 ; 0x50 + 1384a: 2340 movs r3, #64 ; 0x40 + 1384c: 33ff adds r3, #255 ; 0xff + 1384e: 2201 movs r2, #1 + 13850: 4298 cmp r0, r3 + 13852: d900 bls.n 13856 + 13854: e096 b.n 13984 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 137ee: 2112 movs r1, #18 - 137f0: 0020 movs r0, r4 - 137f2: 4b80 ldr r3, [pc, #512] ; (139f4 ) - 137f4: 4798 blx r3 + 13856: 2112 movs r1, #18 + 13858: 0020 movs r0, r4 + 1385a: 4b80 ldr r3, [pc, #512] ; (13a5c ) + 1385c: 4798 blx r3 lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 137f6: 4b79 ldr r3, [pc, #484] ; (139dc ) - 137f8: 681c ldr r4, [r3, #0] - 137fa: 3490 adds r4, #144 ; 0x90 - 137fc: 2000 movs r0, #0 - 137fe: 4b7e ldr r3, [pc, #504] ; (139f8 ) - 13800: 4798 blx r3 - 13802: 00c3 lsls r3, r0, #3 - 13804: 1a18 subs r0, r3, r0 - 13806: 3050 adds r0, #80 ; 0x50 - 13808: 2340 movs r3, #64 ; 0x40 - 1380a: 33ff adds r3, #255 ; 0xff - 1380c: 2201 movs r2, #1 - 1380e: 4298 cmp r0, r3 - 13810: d900 bls.n 13814 - 13812: e08e b.n 13932 + 1385e: 4b79 ldr r3, [pc, #484] ; (13a44 ) + 13860: 681c ldr r4, [r3, #0] + 13862: 3490 adds r4, #144 ; 0x90 + 13864: 2000 movs r0, #0 + 13866: 4b7e ldr r3, [pc, #504] ; (13a60 ) + 13868: 4798 blx r3 + 1386a: 00c3 lsls r3, r0, #3 + 1386c: 1a18 subs r0, r3, r0 + 1386e: 3050 adds r0, #80 ; 0x50 + 13870: 2340 movs r3, #64 ; 0x40 + 13872: 33ff adds r3, #255 ; 0xff + 13874: 2201 movs r2, #1 + 13876: 4298 cmp r0, r3 + 13878: d900 bls.n 1387c + 1387a: e08e b.n 1399a _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 13814: 2113 movs r1, #19 - 13816: 0020 movs r0, r4 - 13818: 4b76 ldr r3, [pc, #472] ; (139f4 ) - 1381a: 4798 blx r3 + 1387c: 2113 movs r1, #19 + 1387e: 0020 movs r0, r4 + 13880: 4b76 ldr r3, [pc, #472] ; (13a5c ) + 13882: 4798 blx r3 lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 1381c: 4b6f ldr r3, [pc, #444] ; (139dc ) - 1381e: 681c ldr r4, [r3, #0] - 13820: 3490 adds r4, #144 ; 0x90 - 13822: 2000 movs r0, #0 - 13824: 4b74 ldr r3, [pc, #464] ; (139f8 ) - 13826: 4798 blx r3 - 13828: 00c3 lsls r3, r0, #3 - 1382a: 1a18 subs r0, r3, r0 - 1382c: 3050 adds r0, #80 ; 0x50 - 1382e: 2340 movs r3, #64 ; 0x40 - 13830: 33ff adds r3, #255 ; 0xff - 13832: 2201 movs r2, #1 - 13834: 4298 cmp r0, r3 - 13836: d900 bls.n 1383a - 13838: e086 b.n 13948 + 13884: 4b6f ldr r3, [pc, #444] ; (13a44 ) + 13886: 681c ldr r4, [r3, #0] + 13888: 3490 adds r4, #144 ; 0x90 + 1388a: 2000 movs r0, #0 + 1388c: 4b74 ldr r3, [pc, #464] ; (13a60 ) + 1388e: 4798 blx r3 + 13890: 00c3 lsls r3, r0, #3 + 13892: 1a18 subs r0, r3, r0 + 13894: 3050 adds r0, #80 ; 0x50 + 13896: 2340 movs r3, #64 ; 0x40 + 13898: 33ff adds r3, #255 ; 0xff + 1389a: 2201 movs r2, #1 + 1389c: 4298 cmp r0, r3 + 1389e: d900 bls.n 138a2 + 138a0: e086 b.n 139b0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1383a: 2110 movs r1, #16 - 1383c: 0020 movs r0, r4 - 1383e: 4b6d ldr r3, [pc, #436] ; (139f4 ) - 13840: 4798 blx r3 + 138a2: 2110 movs r1, #16 + 138a4: 0020 movs r0, r4 + 138a6: 4b6d ldr r3, [pc, #436] ; (13a5c ) + 138a8: 4798 blx r3 lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 13842: 4b66 ldr r3, [pc, #408] ; (139dc ) - 13844: 681c ldr r4, [r3, #0] - 13846: 3490 adds r4, #144 ; 0x90 - 13848: 2000 movs r0, #0 - 1384a: 4b6b ldr r3, [pc, #428] ; (139f8 ) - 1384c: 4798 blx r3 - 1384e: 00c3 lsls r3, r0, #3 - 13850: 1a18 subs r0, r3, r0 - 13852: 3050 adds r0, #80 ; 0x50 - 13854: 2340 movs r3, #64 ; 0x40 - 13856: 33ff adds r3, #255 ; 0xff - 13858: 2201 movs r2, #1 - 1385a: 4298 cmp r0, r3 - 1385c: d900 bls.n 13860 - 1385e: e07e b.n 1395e + 138aa: 4b66 ldr r3, [pc, #408] ; (13a44 ) + 138ac: 681c ldr r4, [r3, #0] + 138ae: 3490 adds r4, #144 ; 0x90 + 138b0: 2000 movs r0, #0 + 138b2: 4b6b ldr r3, [pc, #428] ; (13a60 ) + 138b4: 4798 blx r3 + 138b6: 00c3 lsls r3, r0, #3 + 138b8: 1a18 subs r0, r3, r0 + 138ba: 3050 adds r0, #80 ; 0x50 + 138bc: 2340 movs r3, #64 ; 0x40 + 138be: 33ff adds r3, #255 ; 0xff + 138c0: 2201 movs r2, #1 + 138c2: 4298 cmp r0, r3 + 138c4: d900 bls.n 138c8 + 138c6: e07e b.n 139c6 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 13860: 2111 movs r1, #17 - 13862: 0020 movs r0, r4 - 13864: 4b63 ldr r3, [pc, #396] ; (139f4 ) - 13866: 4798 blx r3 + 138c8: 2111 movs r1, #17 + 138ca: 0020 movs r0, r4 + 138cc: 4b63 ldr r3, [pc, #396] ; (13a5c ) + 138ce: 4798 blx r3 style_init_reset(&styles->slider_bg); - 13868: 4c5c ldr r4, [pc, #368] ; (139dc ) - 1386a: 6820 ldr r0, [r4, #0] - 1386c: 3094 adds r0, #148 ; 0x94 - 1386e: 4b5c ldr r3, [pc, #368] ; (139e0 ) - 13870: 4798 blx r3 + 138d0: 4c5c ldr r4, [pc, #368] ; (13a44 ) + 138d2: 6820 ldr r0, [r4, #0] + 138d4: 3094 adds r0, #148 ; 0x94 + 138d6: 4b5c ldr r3, [pc, #368] ; (13a48 ) + 138d8: 4798 blx r3 lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 13872: 6824 ldr r4, [r4, #0] - 13874: 3494 adds r4, #148 ; 0x94 - 13876: 2000 movs r0, #0 - 13878: 4b5f ldr r3, [pc, #380] ; (139f8 ) - 1387a: 4798 blx r3 - 1387c: 0083 lsls r3, r0, #2 - 1387e: 181b adds r3, r3, r0 - 13880: 005b lsls r3, r3, #1 - 13882: 3350 adds r3, #80 ; 0x50 - 13884: 2140 movs r1, #64 ; 0x40 - 13886: 31ff adds r1, #255 ; 0xff - 13888: 2201 movs r2, #1 - 1388a: 428b cmp r3, r1 - 1388c: d900 bls.n 13890 - 1388e: e071 b.n 13974 + 138da: 6824 ldr r4, [r4, #0] + 138dc: 3494 adds r4, #148 ; 0x94 + 138de: 2000 movs r0, #0 + 138e0: 4b5f ldr r3, [pc, #380] ; (13a60 ) + 138e2: 4798 blx r3 + 138e4: 0083 lsls r3, r0, #2 + 138e6: 181b adds r3, r3, r0 + 138e8: 005b lsls r3, r3, #1 + 138ea: 3350 adds r3, #80 ; 0x50 + 138ec: 2140 movs r1, #64 ; 0x40 + 138ee: 31ff adds r1, #255 ; 0xff + 138f0: 2201 movs r2, #1 + 138f2: 428b cmp r3, r1 + 138f4: d900 bls.n 138f8 + 138f6: e071 b.n 139dc _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_LEFT, margin_left, lv_style_int_t, _int, scalar) - 13890: 2117 movs r1, #23 - 13892: 0020 movs r0, r4 - 13894: 4b57 ldr r3, [pc, #348] ; (139f4 ) - 13896: 4798 blx r3 + 138f8: 2117 movs r1, #23 + 138fa: 0020 movs r0, r4 + 138fc: 4b57 ldr r3, [pc, #348] ; (13a5c ) + 138fe: 4798 blx r3 lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 13898: 4b50 ldr r3, [pc, #320] ; (139dc ) - 1389a: 681c ldr r4, [r3, #0] - 1389c: 3494 adds r4, #148 ; 0x94 - 1389e: 2000 movs r0, #0 - 138a0: 4b55 ldr r3, [pc, #340] ; (139f8 ) - 138a2: 4798 blx r3 - 138a4: 0083 lsls r3, r0, #2 - 138a6: 181b adds r3, r3, r0 - 138a8: 005b lsls r3, r3, #1 - 138aa: 3350 adds r3, #80 ; 0x50 - 138ac: 2140 movs r1, #64 ; 0x40 - 138ae: 31ff adds r1, #255 ; 0xff - 138b0: 2201 movs r2, #1 - 138b2: 428b cmp r3, r1 - 138b4: d900 bls.n 138b8 - 138b6: e06a b.n 1398e + 13900: 4b50 ldr r3, [pc, #320] ; (13a44 ) + 13902: 681c ldr r4, [r3, #0] + 13904: 3494 adds r4, #148 ; 0x94 + 13906: 2000 movs r0, #0 + 13908: 4b55 ldr r3, [pc, #340] ; (13a60 ) + 1390a: 4798 blx r3 + 1390c: 0083 lsls r3, r0, #2 + 1390e: 181b adds r3, r3, r0 + 13910: 005b lsls r3, r3, #1 + 13912: 3350 adds r3, #80 ; 0x50 + 13914: 2140 movs r1, #64 ; 0x40 + 13916: 31ff adds r1, #255 ; 0xff + 13918: 2201 movs r2, #1 + 1391a: 428b cmp r3, r1 + 1391c: d900 bls.n 13920 + 1391e: e06a b.n 139f6 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_RIGHT, margin_right, lv_style_int_t, _int, scalar) - 138b8: 2118 movs r1, #24 - 138ba: 0020 movs r0, r4 - 138bc: 4b4d ldr r3, [pc, #308] ; (139f4 ) - 138be: 4798 blx r3 + 13920: 2118 movs r1, #24 + 13922: 0020 movs r0, r4 + 13924: 4b4d ldr r3, [pc, #308] ; (13a5c ) + 13926: 4798 blx r3 lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 138c0: 4b46 ldr r3, [pc, #280] ; (139dc ) - 138c2: 681c ldr r4, [r3, #0] - 138c4: 3494 adds r4, #148 ; 0x94 - 138c6: 2000 movs r0, #0 - 138c8: 4b4b ldr r3, [pc, #300] ; (139f8 ) - 138ca: 4798 blx r3 - 138cc: 0083 lsls r3, r0, #2 - 138ce: 181b adds r3, r3, r0 - 138d0: 005b lsls r3, r3, #1 - 138d2: 3350 adds r3, #80 ; 0x50 - 138d4: 2140 movs r1, #64 ; 0x40 - 138d6: 31ff adds r1, #255 ; 0xff - 138d8: 2201 movs r2, #1 - 138da: 428b cmp r3, r1 - 138dc: d864 bhi.n 139a8 + 13928: 4b46 ldr r3, [pc, #280] ; (13a44 ) + 1392a: 681c ldr r4, [r3, #0] + 1392c: 3494 adds r4, #148 ; 0x94 + 1392e: 2000 movs r0, #0 + 13930: 4b4b ldr r3, [pc, #300] ; (13a60 ) + 13932: 4798 blx r3 + 13934: 0083 lsls r3, r0, #2 + 13936: 181b adds r3, r3, r0 + 13938: 005b lsls r3, r3, #1 + 1393a: 3350 adds r3, #80 ; 0x50 + 1393c: 2140 movs r1, #64 ; 0x40 + 1393e: 31ff adds r1, #255 ; 0xff + 13940: 2201 movs r2, #1 + 13942: 428b cmp r3, r1 + 13944: d864 bhi.n 13a10 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_TOP, margin_top, lv_style_int_t, _int, scalar) - 138de: 2115 movs r1, #21 - 138e0: 0020 movs r0, r4 - 138e2: 4b44 ldr r3, [pc, #272] ; (139f4 ) - 138e4: 4798 blx r3 + 13946: 2115 movs r1, #21 + 13948: 0020 movs r0, r4 + 1394a: 4b44 ldr r3, [pc, #272] ; (13a5c ) + 1394c: 4798 blx r3 lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 138e6: 4b3d ldr r3, [pc, #244] ; (139dc ) - 138e8: 681c ldr r4, [r3, #0] - 138ea: 3494 adds r4, #148 ; 0x94 - 138ec: 2000 movs r0, #0 - 138ee: 4b42 ldr r3, [pc, #264] ; (139f8 ) - 138f0: 4798 blx r3 - 138f2: 0083 lsls r3, r0, #2 - 138f4: 181b adds r3, r3, r0 - 138f6: 005b lsls r3, r3, #1 - 138f8: 3350 adds r3, #80 ; 0x50 - 138fa: 2140 movs r1, #64 ; 0x40 - 138fc: 31ff adds r1, #255 ; 0xff - 138fe: 2201 movs r2, #1 - 13900: 428b cmp r3, r1 - 13902: d85e bhi.n 139c2 + 1394e: 4b3d ldr r3, [pc, #244] ; (13a44 ) + 13950: 681c ldr r4, [r3, #0] + 13952: 3494 adds r4, #148 ; 0x94 + 13954: 2000 movs r0, #0 + 13956: 4b42 ldr r3, [pc, #264] ; (13a60 ) + 13958: 4798 blx r3 + 1395a: 0083 lsls r3, r0, #2 + 1395c: 181b adds r3, r3, r0 + 1395e: 005b lsls r3, r3, #1 + 13960: 3350 adds r3, #80 ; 0x50 + 13962: 2140 movs r1, #64 ; 0x40 + 13964: 31ff adds r1, #255 ; 0xff + 13966: 2201 movs r2, #1 + 13968: 428b cmp r3, r1 + 1396a: d85e bhi.n 13a2a _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_BOTTOM, margin_bottom, lv_style_int_t, _int, scalar) - 13904: 2116 movs r1, #22 - 13906: 0020 movs r0, r4 - 13908: 4b3a ldr r3, [pc, #232] ; (139f4 ) - 1390a: 4798 blx r3 + 1396c: 2116 movs r1, #22 + 1396e: 0020 movs r0, r4 + 13970: 4b3a ldr r3, [pc, #232] ; (13a5c ) + 13972: 4798 blx r3 } - 1390c: bd10 pop {r4, pc} + 13974: bd10 pop {r4, pc} lv_style_set_bg_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? theme.color_primary : LV_COLOR_WHITE); - 1390e: 4b3b ldr r3, [pc, #236] ; (139fc ) - 13910: 881a ldrh r2, [r3, #0] - 13912: e742 b.n 1379a - 13914: 2306 movs r3, #6 - 13916: 2110 movs r1, #16 - 13918: 2209 movs r2, #9 - 1391a: e74c b.n 137b6 + 13976: 4b3b ldr r3, [pc, #236] ; (13a64 ) + 13978: 881a ldrh r2, [r3, #0] + 1397a: e742 b.n 13802 + 1397c: 2306 movs r3, #6 + 1397e: 2110 movs r1, #16 + 13980: 2209 movs r2, #9 + 13982: e74c b.n 1381e lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 1391c: 2000 movs r0, #0 - 1391e: 4b36 ldr r3, [pc, #216] ; (139f8 ) - 13920: 4798 blx r3 - 13922: 00c3 lsls r3, r0, #3 - 13924: 1a18 subs r0, r3, r0 - 13926: 3050 adds r0, #80 ; 0x50 - 13928: 21a0 movs r1, #160 ; 0xa0 - 1392a: 4b35 ldr r3, [pc, #212] ; (13a00 ) - 1392c: 4798 blx r3 - 1392e: b202 sxth r2, r0 - 13930: e75d b.n 137ee + 13984: 2000 movs r0, #0 + 13986: 4b36 ldr r3, [pc, #216] ; (13a60 ) + 13988: 4798 blx r3 + 1398a: 00c3 lsls r3, r0, #3 + 1398c: 1a18 subs r0, r3, r0 + 1398e: 3050 adds r0, #80 ; 0x50 + 13990: 21a0 movs r1, #160 ; 0xa0 + 13992: 4b35 ldr r3, [pc, #212] ; (13a68 ) + 13994: 4798 blx r3 + 13996: b202 sxth r2, r0 + 13998: e75d b.n 13856 lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 13932: 2000 movs r0, #0 - 13934: 4b30 ldr r3, [pc, #192] ; (139f8 ) - 13936: 4798 blx r3 - 13938: 00c3 lsls r3, r0, #3 - 1393a: 1a18 subs r0, r3, r0 - 1393c: 3050 adds r0, #80 ; 0x50 - 1393e: 21a0 movs r1, #160 ; 0xa0 - 13940: 4b2f ldr r3, [pc, #188] ; (13a00 ) - 13942: 4798 blx r3 - 13944: b202 sxth r2, r0 - 13946: e765 b.n 13814 + 1399a: 2000 movs r0, #0 + 1399c: 4b30 ldr r3, [pc, #192] ; (13a60 ) + 1399e: 4798 blx r3 + 139a0: 00c3 lsls r3, r0, #3 + 139a2: 1a18 subs r0, r3, r0 + 139a4: 3050 adds r0, #80 ; 0x50 + 139a6: 21a0 movs r1, #160 ; 0xa0 + 139a8: 4b2f ldr r3, [pc, #188] ; (13a68 ) + 139aa: 4798 blx r3 + 139ac: b202 sxth r2, r0 + 139ae: e765 b.n 1387c lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 13948: 2000 movs r0, #0 - 1394a: 4b2b ldr r3, [pc, #172] ; (139f8 ) - 1394c: 4798 blx r3 - 1394e: 00c3 lsls r3, r0, #3 - 13950: 1a18 subs r0, r3, r0 - 13952: 3050 adds r0, #80 ; 0x50 - 13954: 21a0 movs r1, #160 ; 0xa0 - 13956: 4b2a ldr r3, [pc, #168] ; (13a00 ) - 13958: 4798 blx r3 - 1395a: b202 sxth r2, r0 - 1395c: e76d b.n 1383a + 139b0: 2000 movs r0, #0 + 139b2: 4b2b ldr r3, [pc, #172] ; (13a60 ) + 139b4: 4798 blx r3 + 139b6: 00c3 lsls r3, r0, #3 + 139b8: 1a18 subs r0, r3, r0 + 139ba: 3050 adds r0, #80 ; 0x50 + 139bc: 21a0 movs r1, #160 ; 0xa0 + 139be: 4b2a ldr r3, [pc, #168] ; (13a68 ) + 139c0: 4798 blx r3 + 139c2: b202 sxth r2, r0 + 139c4: e76d b.n 138a2 lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 1395e: 2000 movs r0, #0 - 13960: 4b25 ldr r3, [pc, #148] ; (139f8 ) - 13962: 4798 blx r3 - 13964: 00c3 lsls r3, r0, #3 - 13966: 1a18 subs r0, r3, r0 - 13968: 3050 adds r0, #80 ; 0x50 - 1396a: 21a0 movs r1, #160 ; 0xa0 - 1396c: 4b24 ldr r3, [pc, #144] ; (13a00 ) - 1396e: 4798 blx r3 - 13970: b202 sxth r2, r0 - 13972: e775 b.n 13860 - lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 13974: 2000 movs r0, #0 - 13976: 4b20 ldr r3, [pc, #128] ; (139f8 ) - 13978: 4798 blx r3 - 1397a: 0003 movs r3, r0 - 1397c: 0080 lsls r0, r0, #2 - 1397e: 18c0 adds r0, r0, r3 - 13980: 0040 lsls r0, r0, #1 - 13982: 3050 adds r0, #80 ; 0x50 - 13984: 21a0 movs r1, #160 ; 0xa0 - 13986: 4b1e ldr r3, [pc, #120] ; (13a00 ) - 13988: 4798 blx r3 - 1398a: b202 sxth r2, r0 - 1398c: e780 b.n 13890 - lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1398e: 2000 movs r0, #0 - 13990: 4b19 ldr r3, [pc, #100] ; (139f8 ) - 13992: 4798 blx r3 - 13994: 0003 movs r3, r0 - 13996: 0080 lsls r0, r0, #2 - 13998: 18c0 adds r0, r0, r3 - 1399a: 0040 lsls r0, r0, #1 - 1399c: 3050 adds r0, #80 ; 0x50 - 1399e: 21a0 movs r1, #160 ; 0xa0 - 139a0: 4b17 ldr r3, [pc, #92] ; (13a00 ) - 139a2: 4798 blx r3 - 139a4: b202 sxth r2, r0 - 139a6: e787 b.n 138b8 - lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 139a8: 2000 movs r0, #0 - 139aa: 4b13 ldr r3, [pc, #76] ; (139f8 ) - 139ac: 4798 blx r3 - 139ae: 0003 movs r3, r0 - 139b0: 0080 lsls r0, r0, #2 - 139b2: 18c0 adds r0, r0, r3 - 139b4: 0040 lsls r0, r0, #1 - 139b6: 3050 adds r0, #80 ; 0x50 - 139b8: 21a0 movs r1, #160 ; 0xa0 - 139ba: 4b11 ldr r3, [pc, #68] ; (13a00 ) - 139bc: 4798 blx r3 - 139be: b202 sxth r2, r0 - 139c0: e78d b.n 138de - lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 139c2: 2000 movs r0, #0 - 139c4: 4b0c ldr r3, [pc, #48] ; (139f8 ) - 139c6: 4798 blx r3 - 139c8: 0003 movs r3, r0 - 139ca: 0080 lsls r0, r0, #2 - 139cc: 18c0 adds r0, r0, r3 - 139ce: 0040 lsls r0, r0, #1 + 139c6: 2000 movs r0, #0 + 139c8: 4b25 ldr r3, [pc, #148] ; (13a60 ) + 139ca: 4798 blx r3 + 139cc: 00c3 lsls r3, r0, #3 + 139ce: 1a18 subs r0, r3, r0 139d0: 3050 adds r0, #80 ; 0x50 139d2: 21a0 movs r1, #160 ; 0xa0 - 139d4: 4b0a ldr r3, [pc, #40] ; (13a00 ) + 139d4: 4b24 ldr r3, [pc, #144] ; (13a68 ) 139d6: 4798 blx r3 139d8: b202 sxth r2, r0 - 139da: e793 b.n 13904 - 139dc: 20004c38 .word 0x20004c38 - 139e0: 0001242d .word 0x0001242d - 139e4: 00004f4d .word 0x00004f4d - 139e8: 20004c3c .word 0x20004c3c - 139ec: 00004ded .word 0x00004ded - 139f0: 00007fff .word 0x00007fff - 139f4: 00004c8d .word 0x00004c8d - 139f8: 0000f5fd .word 0x0000f5fd - 139fc: 0001ca0c .word 0x0001ca0c - 13a00: 00017961 .word 0x00017961 - -00013a04 : -{ - 13a04: b510 push {r4, lr} + 139da: e775 b.n 138c8 + lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); + 139dc: 2000 movs r0, #0 + 139de: 4b20 ldr r3, [pc, #128] ; (13a60 ) + 139e0: 4798 blx r3 + 139e2: 0003 movs r3, r0 + 139e4: 0080 lsls r0, r0, #2 + 139e6: 18c0 adds r0, r0, r3 + 139e8: 0040 lsls r0, r0, #1 + 139ea: 3050 adds r0, #80 ; 0x50 + 139ec: 21a0 movs r1, #160 ; 0xa0 + 139ee: 4b1e ldr r3, [pc, #120] ; (13a68 ) + 139f0: 4798 blx r3 + 139f2: b202 sxth r2, r0 + 139f4: e780 b.n 138f8 + lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); + 139f6: 2000 movs r0, #0 + 139f8: 4b19 ldr r3, [pc, #100] ; (13a60 ) + 139fa: 4798 blx r3 + 139fc: 0003 movs r3, r0 + 139fe: 0080 lsls r0, r0, #2 + 13a00: 18c0 adds r0, r0, r3 + 13a02: 0040 lsls r0, r0, #1 + 13a04: 3050 adds r0, #80 ; 0x50 + 13a06: 21a0 movs r1, #160 ; 0xa0 + 13a08: 4b17 ldr r3, [pc, #92] ; (13a68 ) + 13a0a: 4798 blx r3 + 13a0c: b202 sxth r2, r0 + 13a0e: e787 b.n 13920 + lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); + 13a10: 2000 movs r0, #0 + 13a12: 4b13 ldr r3, [pc, #76] ; (13a60 ) + 13a14: 4798 blx r3 + 13a16: 0003 movs r3, r0 + 13a18: 0080 lsls r0, r0, #2 + 13a1a: 18c0 adds r0, r0, r3 + 13a1c: 0040 lsls r0, r0, #1 + 13a1e: 3050 adds r0, #80 ; 0x50 + 13a20: 21a0 movs r1, #160 ; 0xa0 + 13a22: 4b11 ldr r3, [pc, #68] ; (13a68 ) + 13a24: 4798 blx r3 + 13a26: b202 sxth r2, r0 + 13a28: e78d b.n 13946 + lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); + 13a2a: 2000 movs r0, #0 + 13a2c: 4b0c ldr r3, [pc, #48] ; (13a60 ) + 13a2e: 4798 blx r3 + 13a30: 0003 movs r3, r0 + 13a32: 0080 lsls r0, r0, #2 + 13a34: 18c0 adds r0, r0, r3 + 13a36: 0040 lsls r0, r0, #1 + 13a38: 3050 adds r0, #80 ; 0x50 + 13a3a: 21a0 movs r1, #160 ; 0xa0 + 13a3c: 4b0a ldr r3, [pc, #40] ; (13a68 ) + 13a3e: 4798 blx r3 + 13a40: b202 sxth r2, r0 + 13a42: e793 b.n 1396c + 13a44: 20004c38 .word 0x20004c38 + 13a48: 00012495 .word 0x00012495 + 13a4c: 00004fb5 .word 0x00004fb5 + 13a50: 20004c3c .word 0x20004c3c + 13a54: 00004e55 .word 0x00004e55 + 13a58: 00007fff .word 0x00007fff + 13a5c: 00004cf5 .word 0x00004cf5 + 13a60: 0000f665 .word 0x0000f665 + 13a64: 0001ca9c .word 0x0001ca9c + 13a68: 000179f1 .word 0x000179f1 + +00013a6c : +{ + 13a6c: b510 push {r4, lr} style_init_reset(&styles->sw_knob); - 13a06: 4c46 ldr r4, [pc, #280] ; (13b20 ) - 13a08: 6820 ldr r0, [r4, #0] - 13a0a: 309c adds r0, #156 ; 0x9c - 13a0c: 4b45 ldr r3, [pc, #276] ; (13b24 ) - 13a0e: 4798 blx r3 + 13a6e: 4c46 ldr r4, [pc, #280] ; (13b88 ) + 13a70: 6820 ldr r0, [r4, #0] + 13a72: 309c adds r0, #156 ; 0x9c + 13a74: 4b45 ldr r3, [pc, #276] ; (13b8c ) + 13a76: 4798 blx r3 lv_style_set_bg_opa(&styles->sw_knob, LV_STATE_DEFAULT, LV_OPA_COVER); - 13a10: 6820 ldr r0, [r4, #0] - 13a12: 309c adds r0, #156 ; 0x9c + 13a78: 6820 ldr r0, [r4, #0] + 13a7a: 309c adds r0, #156 ; 0x9c _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 13a14: 22ff movs r2, #255 ; 0xff - 13a16: 212c movs r1, #44 ; 0x2c - 13a18: 4b43 ldr r3, [pc, #268] ; (13b28 ) - 13a1a: 4798 blx r3 + 13a7c: 22ff movs r2, #255 ; 0xff + 13a7e: 212c movs r1, #44 ; 0x2c + 13a80: 4b43 ldr r3, [pc, #268] ; (13b90 ) + 13a82: 4798 blx r3 lv_style_set_bg_color(&styles->sw_knob, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 13a1c: 6820 ldr r0, [r4, #0] - 13a1e: 309c adds r0, #156 ; 0x9c - 13a20: 4b42 ldr r3, [pc, #264] ; (13b2c ) - 13a22: 881a ldrh r2, [r3, #0] + 13a84: 6820 ldr r0, [r4, #0] + 13a86: 309c adds r0, #156 ; 0x9c + 13a88: 4b42 ldr r3, [pc, #264] ; (13b94 ) + 13a8a: 881a ldrh r2, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 13a24: 2129 movs r1, #41 ; 0x29 - 13a26: 4b42 ldr r3, [pc, #264] ; (13b30 ) - 13a28: 4798 blx r3 + 13a8c: 2129 movs r1, #41 ; 0x29 + 13a8e: 4b42 ldr r3, [pc, #264] ; (13b98 ) + 13a90: 4798 blx r3 lv_style_set_radius(&styles->sw_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 13a2a: 6820 ldr r0, [r4, #0] - 13a2c: 309c adds r0, #156 ; 0x9c + 13a92: 6820 ldr r0, [r4, #0] + 13a94: 309c adds r0, #156 ; 0x9c _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 13a2e: 4a41 ldr r2, [pc, #260] ; (13b34 ) - 13a30: 2101 movs r1, #1 - 13a32: 4b41 ldr r3, [pc, #260] ; (13b38 ) - 13a34: 4798 blx r3 + 13a96: 4a41 ldr r2, [pc, #260] ; (13b9c ) + 13a98: 2101 movs r1, #1 + 13a9a: 4b41 ldr r3, [pc, #260] ; (13ba0 ) + 13a9c: 4798 blx r3 lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13a36: 6824 ldr r4, [r4, #0] - 13a38: 349c adds r4, #156 ; 0x9c - 13a3a: 2000 movs r0, #0 - 13a3c: 4b3f ldr r3, [pc, #252] ; (13b3c ) - 13a3e: 4798 blx r3 - 13a40: 3014 adds r0, #20 - 13a42: 0080 lsls r0, r0, #2 - 13a44: 2340 movs r3, #64 ; 0x40 - 13a46: 33ff adds r3, #255 ; 0xff - 13a48: 4298 cmp r0, r3 - 13a4a: d83c bhi.n 13ac6 - 13a4c: 2201 movs r2, #1 - 13a4e: 4252 negs r2, r2 + 13a9e: 6824 ldr r4, [r4, #0] + 13aa0: 349c adds r4, #156 ; 0x9c + 13aa2: 2000 movs r0, #0 + 13aa4: 4b3f ldr r3, [pc, #252] ; (13ba4 ) + 13aa6: 4798 blx r3 + 13aa8: 3014 adds r0, #20 + 13aaa: 0080 lsls r0, r0, #2 + 13aac: 2340 movs r3, #64 ; 0x40 + 13aae: 33ff adds r3, #255 ; 0xff + 13ab0: 4298 cmp r0, r3 + 13ab2: d83c bhi.n 13b2e + 13ab4: 2201 movs r2, #1 + 13ab6: 4252 negs r2, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 13a50: 2110 movs r1, #16 - 13a52: 0020 movs r0, r4 - 13a54: 4b38 ldr r3, [pc, #224] ; (13b38 ) - 13a56: 4798 blx r3 + 13ab8: 2110 movs r1, #16 + 13aba: 0020 movs r0, r4 + 13abc: 4b38 ldr r3, [pc, #224] ; (13ba0 ) + 13abe: 4798 blx r3 lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13a58: 4b31 ldr r3, [pc, #196] ; (13b20 ) - 13a5a: 681c ldr r4, [r3, #0] - 13a5c: 349c adds r4, #156 ; 0x9c - 13a5e: 2000 movs r0, #0 - 13a60: 4b36 ldr r3, [pc, #216] ; (13b3c ) - 13a62: 4798 blx r3 - 13a64: 3014 adds r0, #20 - 13a66: 0080 lsls r0, r0, #2 - 13a68: 2340 movs r3, #64 ; 0x40 - 13a6a: 33ff adds r3, #255 ; 0xff - 13a6c: 4298 cmp r0, r3 - 13a6e: d835 bhi.n 13adc - 13a70: 2201 movs r2, #1 - 13a72: 4252 negs r2, r2 + 13ac0: 4b31 ldr r3, [pc, #196] ; (13b88 ) + 13ac2: 681c ldr r4, [r3, #0] + 13ac4: 349c adds r4, #156 ; 0x9c + 13ac6: 2000 movs r0, #0 + 13ac8: 4b36 ldr r3, [pc, #216] ; (13ba4 ) + 13aca: 4798 blx r3 + 13acc: 3014 adds r0, #20 + 13ace: 0080 lsls r0, r0, #2 + 13ad0: 2340 movs r3, #64 ; 0x40 + 13ad2: 33ff adds r3, #255 ; 0xff + 13ad4: 4298 cmp r0, r3 + 13ad6: d835 bhi.n 13b44 + 13ad8: 2201 movs r2, #1 + 13ada: 4252 negs r2, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 13a74: 2111 movs r1, #17 - 13a76: 0020 movs r0, r4 - 13a78: 4b2f ldr r3, [pc, #188] ; (13b38 ) - 13a7a: 4798 blx r3 + 13adc: 2111 movs r1, #17 + 13ade: 0020 movs r0, r4 + 13ae0: 4b2f ldr r3, [pc, #188] ; (13ba0 ) + 13ae2: 4798 blx r3 lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13a7c: 4b28 ldr r3, [pc, #160] ; (13b20 ) - 13a7e: 681c ldr r4, [r3, #0] - 13a80: 349c adds r4, #156 ; 0x9c - 13a82: 2000 movs r0, #0 - 13a84: 4b2d ldr r3, [pc, #180] ; (13b3c ) - 13a86: 4798 blx r3 - 13a88: 3014 adds r0, #20 - 13a8a: 0080 lsls r0, r0, #2 - 13a8c: 2340 movs r3, #64 ; 0x40 - 13a8e: 33ff adds r3, #255 ; 0xff - 13a90: 4298 cmp r0, r3 - 13a92: d82e bhi.n 13af2 - 13a94: 2201 movs r2, #1 - 13a96: 4252 negs r2, r2 + 13ae4: 4b28 ldr r3, [pc, #160] ; (13b88 ) + 13ae6: 681c ldr r4, [r3, #0] + 13ae8: 349c adds r4, #156 ; 0x9c + 13aea: 2000 movs r0, #0 + 13aec: 4b2d ldr r3, [pc, #180] ; (13ba4 ) + 13aee: 4798 blx r3 + 13af0: 3014 adds r0, #20 + 13af2: 0080 lsls r0, r0, #2 + 13af4: 2340 movs r3, #64 ; 0x40 + 13af6: 33ff adds r3, #255 ; 0xff + 13af8: 4298 cmp r0, r3 + 13afa: d82e bhi.n 13b5a + 13afc: 2201 movs r2, #1 + 13afe: 4252 negs r2, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 13a98: 2112 movs r1, #18 - 13a9a: 0020 movs r0, r4 - 13a9c: 4b26 ldr r3, [pc, #152] ; (13b38 ) - 13a9e: 4798 blx r3 + 13b00: 2112 movs r1, #18 + 13b02: 0020 movs r0, r4 + 13b04: 4b26 ldr r3, [pc, #152] ; (13ba0 ) + 13b06: 4798 blx r3 lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13aa0: 4b1f ldr r3, [pc, #124] ; (13b20 ) - 13aa2: 681c ldr r4, [r3, #0] - 13aa4: 349c adds r4, #156 ; 0x9c - 13aa6: 2000 movs r0, #0 - 13aa8: 4b24 ldr r3, [pc, #144] ; (13b3c ) - 13aaa: 4798 blx r3 - 13aac: 3014 adds r0, #20 - 13aae: 0080 lsls r0, r0, #2 - 13ab0: 2340 movs r3, #64 ; 0x40 - 13ab2: 33ff adds r3, #255 ; 0xff - 13ab4: 4298 cmp r0, r3 - 13ab6: d827 bhi.n 13b08 - 13ab8: 2201 movs r2, #1 - 13aba: 4252 negs r2, r2 + 13b08: 4b1f ldr r3, [pc, #124] ; (13b88 ) + 13b0a: 681c ldr r4, [r3, #0] + 13b0c: 349c adds r4, #156 ; 0x9c + 13b0e: 2000 movs r0, #0 + 13b10: 4b24 ldr r3, [pc, #144] ; (13ba4 ) + 13b12: 4798 blx r3 + 13b14: 3014 adds r0, #20 + 13b16: 0080 lsls r0, r0, #2 + 13b18: 2340 movs r3, #64 ; 0x40 + 13b1a: 33ff adds r3, #255 ; 0xff + 13b1c: 4298 cmp r0, r3 + 13b1e: d827 bhi.n 13b70 + 13b20: 2201 movs r2, #1 + 13b22: 4252 negs r2, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 13abc: 2113 movs r1, #19 - 13abe: 0020 movs r0, r4 - 13ac0: 4b1d ldr r3, [pc, #116] ; (13b38 ) - 13ac2: 4798 blx r3 + 13b24: 2113 movs r1, #19 + 13b26: 0020 movs r0, r4 + 13b28: 4b1d ldr r3, [pc, #116] ; (13ba0 ) + 13b2a: 4798 blx r3 } - 13ac4: bd10 pop {r4, pc} + 13b2c: bd10 pop {r4, pc} lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13ac6: 2000 movs r0, #0 - 13ac8: 4b1c ldr r3, [pc, #112] ; (13b3c ) - 13aca: 4798 blx r3 - 13acc: 3014 adds r0, #20 - 13ace: 0080 lsls r0, r0, #2 - 13ad0: 21a0 movs r1, #160 ; 0xa0 - 13ad2: 4b1b ldr r3, [pc, #108] ; (13b40 ) - 13ad4: 4798 blx r3 - 13ad6: 4242 negs r2, r0 - 13ad8: b212 sxth r2, r2 - 13ada: e7b9 b.n 13a50 + 13b2e: 2000 movs r0, #0 + 13b30: 4b1c ldr r3, [pc, #112] ; (13ba4 ) + 13b32: 4798 blx r3 + 13b34: 3014 adds r0, #20 + 13b36: 0080 lsls r0, r0, #2 + 13b38: 21a0 movs r1, #160 ; 0xa0 + 13b3a: 4b1b ldr r3, [pc, #108] ; (13ba8 ) + 13b3c: 4798 blx r3 + 13b3e: 4242 negs r2, r0 + 13b40: b212 sxth r2, r2 + 13b42: e7b9 b.n 13ab8 lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13adc: 2000 movs r0, #0 - 13ade: 4b17 ldr r3, [pc, #92] ; (13b3c ) - 13ae0: 4798 blx r3 - 13ae2: 3014 adds r0, #20 - 13ae4: 0080 lsls r0, r0, #2 - 13ae6: 21a0 movs r1, #160 ; 0xa0 - 13ae8: 4b15 ldr r3, [pc, #84] ; (13b40 ) - 13aea: 4798 blx r3 - 13aec: 4242 negs r2, r0 - 13aee: b212 sxth r2, r2 - 13af0: e7c0 b.n 13a74 + 13b44: 2000 movs r0, #0 + 13b46: 4b17 ldr r3, [pc, #92] ; (13ba4 ) + 13b48: 4798 blx r3 + 13b4a: 3014 adds r0, #20 + 13b4c: 0080 lsls r0, r0, #2 + 13b4e: 21a0 movs r1, #160 ; 0xa0 + 13b50: 4b15 ldr r3, [pc, #84] ; (13ba8 ) + 13b52: 4798 blx r3 + 13b54: 4242 negs r2, r0 + 13b56: b212 sxth r2, r2 + 13b58: e7c0 b.n 13adc lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13af2: 2000 movs r0, #0 - 13af4: 4b11 ldr r3, [pc, #68] ; (13b3c ) - 13af6: 4798 blx r3 - 13af8: 3014 adds r0, #20 - 13afa: 0080 lsls r0, r0, #2 - 13afc: 21a0 movs r1, #160 ; 0xa0 - 13afe: 4b10 ldr r3, [pc, #64] ; (13b40 ) - 13b00: 4798 blx r3 - 13b02: 4242 negs r2, r0 - 13b04: b212 sxth r2, r2 - 13b06: e7c7 b.n 13a98 + 13b5a: 2000 movs r0, #0 + 13b5c: 4b11 ldr r3, [pc, #68] ; (13ba4 ) + 13b5e: 4798 blx r3 + 13b60: 3014 adds r0, #20 + 13b62: 0080 lsls r0, r0, #2 + 13b64: 21a0 movs r1, #160 ; 0xa0 + 13b66: 4b10 ldr r3, [pc, #64] ; (13ba8 ) + 13b68: 4798 blx r3 + 13b6a: 4242 negs r2, r0 + 13b6c: b212 sxth r2, r2 + 13b6e: e7c7 b.n 13b00 lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 13b08: 2000 movs r0, #0 - 13b0a: 4b0c ldr r3, [pc, #48] ; (13b3c ) - 13b0c: 4798 blx r3 - 13b0e: 3014 adds r0, #20 - 13b10: 0080 lsls r0, r0, #2 - 13b12: 21a0 movs r1, #160 ; 0xa0 - 13b14: 4b0a ldr r3, [pc, #40] ; (13b40 ) - 13b16: 4798 blx r3 - 13b18: 4242 negs r2, r0 - 13b1a: b212 sxth r2, r2 - 13b1c: e7ce b.n 13abc - 13b1e: 46c0 nop ; (mov r8, r8) - 13b20: 20004c38 .word 0x20004c38 - 13b24: 0001242d .word 0x0001242d - 13b28: 00004f4d .word 0x00004f4d - 13b2c: 0001ca0c .word 0x0001ca0c - 13b30: 00004ded .word 0x00004ded - 13b34: 00007fff .word 0x00007fff - 13b38: 00004c8d .word 0x00004c8d - 13b3c: 0000f5fd .word 0x0000f5fd - 13b40: 00017961 .word 0x00017961 - -00013b44 : -{ - 13b44: b570 push {r4, r5, r6, lr} + 13b70: 2000 movs r0, #0 + 13b72: 4b0c ldr r3, [pc, #48] ; (13ba4 ) + 13b74: 4798 blx r3 + 13b76: 3014 adds r0, #20 + 13b78: 0080 lsls r0, r0, #2 + 13b7a: 21a0 movs r1, #160 ; 0xa0 + 13b7c: 4b0a ldr r3, [pc, #40] ; (13ba8 ) + 13b7e: 4798 blx r3 + 13b80: 4242 negs r2, r0 + 13b82: b212 sxth r2, r2 + 13b84: e7ce b.n 13b24 + 13b86: 46c0 nop ; (mov r8, r8) + 13b88: 20004c38 .word 0x20004c38 + 13b8c: 00012495 .word 0x00012495 + 13b90: 00004fb5 .word 0x00004fb5 + 13b94: 0001ca9c .word 0x0001ca9c + 13b98: 00004e55 .word 0x00004e55 + 13b9c: 00007fff .word 0x00007fff + 13ba0: 00004cf5 .word 0x00004cf5 + 13ba4: 0000f665 .word 0x0000f665 + 13ba8: 000179f1 .word 0x000179f1 + +00013bac : +{ + 13bac: b570 push {r4, r5, r6, lr} style_init_reset(&styles->lmeter); - 13b46: 4c7f ldr r4, [pc, #508] ; (13d44 ) - 13b48: 6820 ldr r0, [r4, #0] - 13b4a: 3070 adds r0, #112 ; 0x70 - 13b4c: 4b7e ldr r3, [pc, #504] ; (13d48 ) - 13b4e: 4798 blx r3 + 13bae: 4c7f ldr r4, [pc, #508] ; (13dac ) + 13bb0: 6820 ldr r0, [r4, #0] + 13bb2: 3070 adds r0, #112 ; 0x70 + 13bb4: 4b7e ldr r3, [pc, #504] ; (13db0 ) + 13bb6: 4798 blx r3 lv_style_set_radius(&styles->lmeter, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 13b50: 6820 ldr r0, [r4, #0] - 13b52: 3070 adds r0, #112 ; 0x70 + 13bb8: 6820 ldr r0, [r4, #0] + 13bba: 3070 adds r0, #112 ; 0x70 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 13b54: 4a7d ldr r2, [pc, #500] ; (13d4c ) - 13b56: 2101 movs r1, #1 - 13b58: 4b7d ldr r3, [pc, #500] ; (13d50 ) - 13b5a: 4798 blx r3 + 13bbc: 4a7d ldr r2, [pc, #500] ; (13db4 ) + 13bbe: 2101 movs r1, #1 + 13bc0: 4b7d ldr r3, [pc, #500] ; (13db8 ) + 13bc2: 4798 blx r3 lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 13b5c: 6824 ldr r4, [r4, #0] - 13b5e: 3470 adds r4, #112 ; 0x70 - 13b60: 2000 movs r0, #0 - 13b62: 4b7c ldr r3, [pc, #496] ; (13d54 ) - 13b64: 4798 blx r3 - 13b66: 0083 lsls r3, r0, #2 - 13b68: 181b adds r3, r3, r0 - 13b6a: 009b lsls r3, r3, #2 - 13b6c: 3350 adds r3, #80 ; 0x50 - 13b6e: 2140 movs r1, #64 ; 0x40 - 13b70: 31ff adds r1, #255 ; 0xff - 13b72: 2201 movs r2, #1 - 13b74: 428b cmp r3, r1 - 13b76: d900 bls.n 13b7a - 13b78: e08c b.n 13c94 + 13bc4: 6824 ldr r4, [r4, #0] + 13bc6: 3470 adds r4, #112 ; 0x70 + 13bc8: 2000 movs r0, #0 + 13bca: 4b7c ldr r3, [pc, #496] ; (13dbc ) + 13bcc: 4798 blx r3 + 13bce: 0083 lsls r3, r0, #2 + 13bd0: 181b adds r3, r3, r0 + 13bd2: 009b lsls r3, r3, #2 + 13bd4: 3350 adds r3, #80 ; 0x50 + 13bd6: 2140 movs r1, #64 ; 0x40 + 13bd8: 31ff adds r1, #255 ; 0xff + 13bda: 2201 movs r2, #1 + 13bdc: 428b cmp r3, r1 + 13bde: d900 bls.n 13be2 + 13be0: e08c b.n 13cfc _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 13b7a: 2112 movs r1, #18 - 13b7c: 0020 movs r0, r4 - 13b7e: 4b74 ldr r3, [pc, #464] ; (13d50 ) - 13b80: 4798 blx r3 + 13be2: 2112 movs r1, #18 + 13be4: 0020 movs r0, r4 + 13be6: 4b74 ldr r3, [pc, #464] ; (13db8 ) + 13be8: 4798 blx r3 lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 13b82: 4b70 ldr r3, [pc, #448] ; (13d44 ) - 13b84: 681c ldr r4, [r3, #0] - 13b86: 3470 adds r4, #112 ; 0x70 - 13b88: 2000 movs r0, #0 - 13b8a: 4b72 ldr r3, [pc, #456] ; (13d54 ) - 13b8c: 4798 blx r3 - 13b8e: 0083 lsls r3, r0, #2 - 13b90: 181b adds r3, r3, r0 - 13b92: 009b lsls r3, r3, #2 - 13b94: 3350 adds r3, #80 ; 0x50 - 13b96: 2140 movs r1, #64 ; 0x40 - 13b98: 31ff adds r1, #255 ; 0xff - 13b9a: 2201 movs r2, #1 - 13b9c: 428b cmp r3, r1 - 13b9e: d900 bls.n 13ba2 - 13ba0: e085 b.n 13cae + 13bea: 4b70 ldr r3, [pc, #448] ; (13dac ) + 13bec: 681c ldr r4, [r3, #0] + 13bee: 3470 adds r4, #112 ; 0x70 + 13bf0: 2000 movs r0, #0 + 13bf2: 4b72 ldr r3, [pc, #456] ; (13dbc ) + 13bf4: 4798 blx r3 + 13bf6: 0083 lsls r3, r0, #2 + 13bf8: 181b adds r3, r3, r0 + 13bfa: 009b lsls r3, r3, #2 + 13bfc: 3350 adds r3, #80 ; 0x50 + 13bfe: 2140 movs r1, #64 ; 0x40 + 13c00: 31ff adds r1, #255 ; 0xff + 13c02: 2201 movs r2, #1 + 13c04: 428b cmp r3, r1 + 13c06: d900 bls.n 13c0a + 13c08: e085 b.n 13d16 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 13ba2: 2113 movs r1, #19 - 13ba4: 0020 movs r0, r4 - 13ba6: 4b6a ldr r3, [pc, #424] ; (13d50 ) - 13ba8: 4798 blx r3 + 13c0a: 2113 movs r1, #19 + 13c0c: 0020 movs r0, r4 + 13c0e: 4b6a ldr r3, [pc, #424] ; (13db8 ) + 13c10: 4798 blx r3 lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 13baa: 4b66 ldr r3, [pc, #408] ; (13d44 ) - 13bac: 681c ldr r4, [r3, #0] - 13bae: 3470 adds r4, #112 ; 0x70 - 13bb0: 2000 movs r0, #0 - 13bb2: 4b68 ldr r3, [pc, #416] ; (13d54 ) - 13bb4: 4798 blx r3 - 13bb6: 0083 lsls r3, r0, #2 - 13bb8: 181b adds r3, r3, r0 - 13bba: 009b lsls r3, r3, #2 - 13bbc: 3350 adds r3, #80 ; 0x50 - 13bbe: 2140 movs r1, #64 ; 0x40 - 13bc0: 31ff adds r1, #255 ; 0xff - 13bc2: 2201 movs r2, #1 - 13bc4: 428b cmp r3, r1 - 13bc6: d900 bls.n 13bca - 13bc8: e07e b.n 13cc8 + 13c12: 4b66 ldr r3, [pc, #408] ; (13dac ) + 13c14: 681c ldr r4, [r3, #0] + 13c16: 3470 adds r4, #112 ; 0x70 + 13c18: 2000 movs r0, #0 + 13c1a: 4b68 ldr r3, [pc, #416] ; (13dbc ) + 13c1c: 4798 blx r3 + 13c1e: 0083 lsls r3, r0, #2 + 13c20: 181b adds r3, r3, r0 + 13c22: 009b lsls r3, r3, #2 + 13c24: 3350 adds r3, #80 ; 0x50 + 13c26: 2140 movs r1, #64 ; 0x40 + 13c28: 31ff adds r1, #255 ; 0xff + 13c2a: 2201 movs r2, #1 + 13c2c: 428b cmp r3, r1 + 13c2e: d900 bls.n 13c32 + 13c30: e07e b.n 13d30 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 13bca: 2110 movs r1, #16 - 13bcc: 0020 movs r0, r4 - 13bce: 4b60 ldr r3, [pc, #384] ; (13d50 ) - 13bd0: 4798 blx r3 + 13c32: 2110 movs r1, #16 + 13c34: 0020 movs r0, r4 + 13c36: 4b60 ldr r3, [pc, #384] ; (13db8 ) + 13c38: 4798 blx r3 lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30)); - 13bd2: 4b5c ldr r3, [pc, #368] ; (13d44 ) - 13bd4: 681c ldr r4, [r3, #0] - 13bd6: 3470 adds r4, #112 ; 0x70 - 13bd8: 2000 movs r0, #0 - 13bda: 4b5e ldr r3, [pc, #376] ; (13d54 ) - 13bdc: 4798 blx r3 - 13bde: 0103 lsls r3, r0, #4 - 13be0: 1a1b subs r3, r3, r0 - 13be2: 005b lsls r3, r3, #1 - 13be4: 3350 adds r3, #80 ; 0x50 - 13be6: 2140 movs r1, #64 ; 0x40 - 13be8: 31ff adds r1, #255 ; 0xff - 13bea: 2201 movs r2, #1 - 13bec: 428b cmp r3, r1 - 13bee: d900 bls.n 13bf2 - 13bf0: e077 b.n 13ce2 + 13c3a: 4b5c ldr r3, [pc, #368] ; (13dac ) + 13c3c: 681c ldr r4, [r3, #0] + 13c3e: 3470 adds r4, #112 ; 0x70 + 13c40: 2000 movs r0, #0 + 13c42: 4b5e ldr r3, [pc, #376] ; (13dbc ) + 13c44: 4798 blx r3 + 13c46: 0103 lsls r3, r0, #4 + 13c48: 1a1b subs r3, r3, r0 + 13c4a: 005b lsls r3, r3, #1 + 13c4c: 3350 adds r3, #80 ; 0x50 + 13c4e: 2140 movs r1, #64 ; 0x40 + 13c50: 31ff adds r1, #255 ; 0xff + 13c52: 2201 movs r2, #1 + 13c54: 428b cmp r3, r1 + 13c56: d900 bls.n 13c5a + 13c58: e077 b.n 13d4a _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 13bf2: 2114 movs r1, #20 - 13bf4: 0020 movs r0, r4 - 13bf6: 4b56 ldr r3, [pc, #344] ; (13d50 ) - 13bf8: 4798 blx r3 + 13c5a: 2114 movs r1, #20 + 13c5c: 0020 movs r0, r4 + 13c5e: 4b56 ldr r3, [pc, #344] ; (13db8 ) + 13c60: 4798 blx r3 lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25)); - 13bfa: 4b52 ldr r3, [pc, #328] ; (13d44 ) - 13bfc: 681c ldr r4, [r3, #0] - 13bfe: 3470 adds r4, #112 ; 0x70 - 13c00: 2000 movs r0, #0 - 13c02: 4b54 ldr r3, [pc, #336] ; (13d54 ) - 13c04: 4798 blx r3 - 13c06: 0083 lsls r3, r0, #2 - 13c08: 1818 adds r0, r3, r0 - 13c0a: 0083 lsls r3, r0, #2 - 13c0c: 18c0 adds r0, r0, r3 - 13c0e: 3050 adds r0, #80 ; 0x50 - 13c10: 2340 movs r3, #64 ; 0x40 - 13c12: 33ff adds r3, #255 ; 0xff - 13c14: 2201 movs r2, #1 - 13c16: 4298 cmp r0, r3 - 13c18: d900 bls.n 13c1c - 13c1a: e06e b.n 13cfa + 13c62: 4b52 ldr r3, [pc, #328] ; (13dac ) + 13c64: 681c ldr r4, [r3, #0] + 13c66: 3470 adds r4, #112 ; 0x70 + 13c68: 2000 movs r0, #0 + 13c6a: 4b54 ldr r3, [pc, #336] ; (13dbc ) + 13c6c: 4798 blx r3 + 13c6e: 0083 lsls r3, r0, #2 + 13c70: 1818 adds r0, r3, r0 + 13c72: 0083 lsls r3, r0, #2 + 13c74: 18c0 adds r0, r0, r3 + 13c76: 3050 adds r0, #80 ; 0x50 + 13c78: 2340 movs r3, #64 ; 0x40 + 13c7a: 33ff adds r3, #255 ; 0xff + 13c7c: 2201 movs r2, #1 + 13c7e: 4298 cmp r0, r3 + 13c80: d900 bls.n 13c84 + 13c82: e06e b.n 13d62 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar) #else /*For compatibility*/ _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, const void *, _ptr, scalar) #endif _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 13c1c: 21c0 movs r1, #192 ; 0xc0 - 13c1e: 0020 movs r0, r4 - 13c20: 4b4b ldr r3, [pc, #300] ; (13d50 ) - 13c22: 4798 blx r3 + 13c84: 21c0 movs r1, #192 ; 0xc0 + 13c86: 0020 movs r0, r4 + 13c88: 4b4b ldr r3, [pc, #300] ; (13db8 ) + 13c8a: 4798 blx r3 lv_style_set_line_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary); - 13c24: 4c47 ldr r4, [pc, #284] ; (13d44 ) - 13c26: 6820 ldr r0, [r4, #0] - 13c28: 3070 adds r0, #112 ; 0x70 - 13c2a: 4e4b ldr r6, [pc, #300] ; (13d58 ) - 13c2c: 88b2 ldrh r2, [r6, #4] + 13c8c: 4c47 ldr r4, [pc, #284] ; (13dac ) + 13c8e: 6820 ldr r0, [r4, #0] + 13c90: 3070 adds r0, #112 ; 0x70 + 13c92: 4e4b ldr r6, [pc, #300] ; (13dc0 ) + 13c94: 88b2 ldrh r2, [r6, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 13c2e: 2199 movs r1, #153 ; 0x99 - 13c30: 4d4a ldr r5, [pc, #296] ; (13d5c ) - 13c32: 47a8 blx r5 + 13c96: 2199 movs r1, #153 ; 0x99 + 13c98: 4d4a ldr r5, [pc, #296] ; (13dc4 ) + 13c9a: 47a8 blx r5 lv_style_set_scale_grad_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary); - 13c34: 6820 ldr r0, [r4, #0] - 13c36: 3070 adds r0, #112 ; 0x70 - 13c38: 88b2 ldrh r2, [r6, #4] + 13c9c: 6820 ldr r0, [r4, #0] + 13c9e: 3070 adds r0, #112 ; 0x70 + 13ca0: 88b2 ldrh r2, [r6, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_BORDER_WIDTH, scale_border_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 13c3a: 21c9 movs r1, #201 ; 0xc9 - 13c3c: 47a8 blx r5 + 13ca2: 21c9 movs r1, #201 ; 0xc9 + 13ca4: 47a8 blx r5 lv_style_set_scale_end_color(&styles->lmeter, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 13c3e: 6820 ldr r0, [r4, #0] - 13c40: 3070 adds r0, #112 ; 0x70 + 13ca6: 6820 ldr r0, [r4, #0] + 13ca8: 3070 adds r0, #112 ; 0x70 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 13c42: 4b47 ldr r3, [pc, #284] ; (13d60 ) - 13c44: 881a ldrh r2, [r3, #0] - 13c46: 21ca movs r1, #202 ; 0xca - 13c48: 47a8 blx r5 + 13caa: 4b47 ldr r3, [pc, #284] ; (13dc8 ) + 13cac: 881a ldrh r2, [r3, #0] + 13cae: 21ca movs r1, #202 ; 0xca + 13cb0: 47a8 blx r5 lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10)); - 13c4a: 6824 ldr r4, [r4, #0] - 13c4c: 3470 adds r4, #112 ; 0x70 - 13c4e: 2000 movs r0, #0 - 13c50: 4b40 ldr r3, [pc, #256] ; (13d54 ) - 13c52: 4798 blx r3 - 13c54: 0083 lsls r3, r0, #2 - 13c56: 181b adds r3, r3, r0 - 13c58: 005b lsls r3, r3, #1 - 13c5a: 3350 adds r3, #80 ; 0x50 - 13c5c: 2140 movs r1, #64 ; 0x40 - 13c5e: 31ff adds r1, #255 ; 0xff - 13c60: 2201 movs r2, #1 - 13c62: 428b cmp r3, r1 - 13c64: d856 bhi.n 13d14 + 13cb2: 6824 ldr r4, [r4, #0] + 13cb4: 3470 adds r4, #112 ; 0x70 + 13cb6: 2000 movs r0, #0 + 13cb8: 4b40 ldr r3, [pc, #256] ; (13dbc ) + 13cba: 4798 blx r3 + 13cbc: 0083 lsls r3, r0, #2 + 13cbe: 181b adds r3, r3, r0 + 13cc0: 005b lsls r3, r3, #1 + 13cc2: 3350 adds r3, #80 ; 0x50 + 13cc4: 2140 movs r1, #64 ; 0x40 + 13cc6: 31ff adds r1, #255 ; 0xff + 13cc8: 2201 movs r2, #1 + 13cca: 428b cmp r3, r1 + 13ccc: d856 bhi.n 13d7c _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 13c66: 2190 movs r1, #144 ; 0x90 - 13c68: 0020 movs r0, r4 - 13c6a: 4b39 ldr r3, [pc, #228] ; (13d50 ) - 13c6c: 4798 blx r3 + 13cce: 2190 movs r1, #144 ; 0x90 + 13cd0: 0020 movs r0, r4 + 13cd2: 4b39 ldr r3, [pc, #228] ; (13db8 ) + 13cd4: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7)); - 13c6e: 4b35 ldr r3, [pc, #212] ; (13d44 ) - 13c70: 681c ldr r4, [r3, #0] - 13c72: 3470 adds r4, #112 ; 0x70 - 13c74: 2000 movs r0, #0 - 13c76: 4b37 ldr r3, [pc, #220] ; (13d54 ) - 13c78: 4798 blx r3 - 13c7a: 00c3 lsls r3, r0, #3 - 13c7c: 1a18 subs r0, r3, r0 - 13c7e: 3050 adds r0, #80 ; 0x50 - 13c80: 2340 movs r3, #64 ; 0x40 - 13c82: 33ff adds r3, #255 ; 0xff - 13c84: 2201 movs r2, #1 - 13c86: 4298 cmp r0, r3 - 13c88: d851 bhi.n 13d2e + 13cd6: 4b35 ldr r3, [pc, #212] ; (13dac ) + 13cd8: 681c ldr r4, [r3, #0] + 13cda: 3470 adds r4, #112 ; 0x70 + 13cdc: 2000 movs r0, #0 + 13cde: 4b37 ldr r3, [pc, #220] ; (13dbc ) + 13ce0: 4798 blx r3 + 13ce2: 00c3 lsls r3, r0, #3 + 13ce4: 1a18 subs r0, r3, r0 + 13ce6: 3050 adds r0, #80 ; 0x50 + 13ce8: 2340 movs r3, #64 ; 0x40 + 13cea: 33ff adds r3, #255 ; 0xff + 13cec: 2201 movs r2, #1 + 13cee: 4298 cmp r0, r3 + 13cf0: d851 bhi.n 13d96 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 13c8a: 21c3 movs r1, #195 ; 0xc3 - 13c8c: 0020 movs r0, r4 - 13c8e: 4b30 ldr r3, [pc, #192] ; (13d50 ) - 13c90: 4798 blx r3 + 13cf2: 21c3 movs r1, #195 ; 0xc3 + 13cf4: 0020 movs r0, r4 + 13cf6: 4b30 ldr r3, [pc, #192] ; (13db8 ) + 13cf8: 4798 blx r3 } - 13c92: bd70 pop {r4, r5, r6, pc} + 13cfa: bd70 pop {r4, r5, r6, pc} lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 13c94: 2000 movs r0, #0 - 13c96: 4b2f ldr r3, [pc, #188] ; (13d54 ) - 13c98: 4798 blx r3 - 13c9a: 0003 movs r3, r0 - 13c9c: 0080 lsls r0, r0, #2 - 13c9e: 18c0 adds r0, r0, r3 - 13ca0: 0080 lsls r0, r0, #2 - 13ca2: 3050 adds r0, #80 ; 0x50 - 13ca4: 21a0 movs r1, #160 ; 0xa0 - 13ca6: 4b2f ldr r3, [pc, #188] ; (13d64 ) - 13ca8: 4798 blx r3 - 13caa: b202 sxth r2, r0 - 13cac: e765 b.n 13b7a + 13cfc: 2000 movs r0, #0 + 13cfe: 4b2f ldr r3, [pc, #188] ; (13dbc ) + 13d00: 4798 blx r3 + 13d02: 0003 movs r3, r0 + 13d04: 0080 lsls r0, r0, #2 + 13d06: 18c0 adds r0, r0, r3 + 13d08: 0080 lsls r0, r0, #2 + 13d0a: 3050 adds r0, #80 ; 0x50 + 13d0c: 21a0 movs r1, #160 ; 0xa0 + 13d0e: 4b2f ldr r3, [pc, #188] ; (13dcc ) + 13d10: 4798 blx r3 + 13d12: b202 sxth r2, r0 + 13d14: e765 b.n 13be2 lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 13cae: 2000 movs r0, #0 - 13cb0: 4b28 ldr r3, [pc, #160] ; (13d54 ) - 13cb2: 4798 blx r3 - 13cb4: 0003 movs r3, r0 - 13cb6: 0080 lsls r0, r0, #2 - 13cb8: 18c0 adds r0, r0, r3 - 13cba: 0080 lsls r0, r0, #2 - 13cbc: 3050 adds r0, #80 ; 0x50 - 13cbe: 21a0 movs r1, #160 ; 0xa0 - 13cc0: 4b28 ldr r3, [pc, #160] ; (13d64 ) - 13cc2: 4798 blx r3 - 13cc4: b202 sxth r2, r0 - 13cc6: e76c b.n 13ba2 + 13d16: 2000 movs r0, #0 + 13d18: 4b28 ldr r3, [pc, #160] ; (13dbc ) + 13d1a: 4798 blx r3 + 13d1c: 0003 movs r3, r0 + 13d1e: 0080 lsls r0, r0, #2 + 13d20: 18c0 adds r0, r0, r3 + 13d22: 0080 lsls r0, r0, #2 + 13d24: 3050 adds r0, #80 ; 0x50 + 13d26: 21a0 movs r1, #160 ; 0xa0 + 13d28: 4b28 ldr r3, [pc, #160] ; (13dcc ) + 13d2a: 4798 blx r3 + 13d2c: b202 sxth r2, r0 + 13d2e: e76c b.n 13c0a lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 13cc8: 2000 movs r0, #0 - 13cca: 4b22 ldr r3, [pc, #136] ; (13d54 ) - 13ccc: 4798 blx r3 - 13cce: 0003 movs r3, r0 - 13cd0: 0080 lsls r0, r0, #2 - 13cd2: 18c0 adds r0, r0, r3 - 13cd4: 0080 lsls r0, r0, #2 - 13cd6: 3050 adds r0, #80 ; 0x50 - 13cd8: 21a0 movs r1, #160 ; 0xa0 - 13cda: 4b22 ldr r3, [pc, #136] ; (13d64 ) - 13cdc: 4798 blx r3 - 13cde: b202 sxth r2, r0 - 13ce0: e773 b.n 13bca + 13d30: 2000 movs r0, #0 + 13d32: 4b22 ldr r3, [pc, #136] ; (13dbc ) + 13d34: 4798 blx r3 + 13d36: 0003 movs r3, r0 + 13d38: 0080 lsls r0, r0, #2 + 13d3a: 18c0 adds r0, r0, r3 + 13d3c: 0080 lsls r0, r0, #2 + 13d3e: 3050 adds r0, #80 ; 0x50 + 13d40: 21a0 movs r1, #160 ; 0xa0 + 13d42: 4b22 ldr r3, [pc, #136] ; (13dcc ) + 13d44: 4798 blx r3 + 13d46: b202 sxth r2, r0 + 13d48: e773 b.n 13c32 lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30)); - 13ce2: 2000 movs r0, #0 - 13ce4: 4b1b ldr r3, [pc, #108] ; (13d54 ) - 13ce6: 4798 blx r3 - 13ce8: 0103 lsls r3, r0, #4 - 13cea: 1a18 subs r0, r3, r0 - 13cec: 0040 lsls r0, r0, #1 - 13cee: 3050 adds r0, #80 ; 0x50 - 13cf0: 21a0 movs r1, #160 ; 0xa0 - 13cf2: 4b1c ldr r3, [pc, #112] ; (13d64 ) - 13cf4: 4798 blx r3 - 13cf6: b202 sxth r2, r0 - 13cf8: e77b b.n 13bf2 + 13d4a: 2000 movs r0, #0 + 13d4c: 4b1b ldr r3, [pc, #108] ; (13dbc ) + 13d4e: 4798 blx r3 + 13d50: 0103 lsls r3, r0, #4 + 13d52: 1a18 subs r0, r3, r0 + 13d54: 0040 lsls r0, r0, #1 + 13d56: 3050 adds r0, #80 ; 0x50 + 13d58: 21a0 movs r1, #160 ; 0xa0 + 13d5a: 4b1c ldr r3, [pc, #112] ; (13dcc ) + 13d5c: 4798 blx r3 + 13d5e: b202 sxth r2, r0 + 13d60: e77b b.n 13c5a lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25)); - 13cfa: 2000 movs r0, #0 - 13cfc: 4b15 ldr r3, [pc, #84] ; (13d54 ) - 13cfe: 4798 blx r3 - 13d00: 0083 lsls r3, r0, #2 - 13d02: 1818 adds r0, r3, r0 - 13d04: 0083 lsls r3, r0, #2 - 13d06: 18c0 adds r0, r0, r3 - 13d08: 3050 adds r0, #80 ; 0x50 - 13d0a: 21a0 movs r1, #160 ; 0xa0 - 13d0c: 4b15 ldr r3, [pc, #84] ; (13d64 ) - 13d0e: 4798 blx r3 - 13d10: b202 sxth r2, r0 - 13d12: e783 b.n 13c1c + 13d62: 2000 movs r0, #0 + 13d64: 4b15 ldr r3, [pc, #84] ; (13dbc ) + 13d66: 4798 blx r3 + 13d68: 0083 lsls r3, r0, #2 + 13d6a: 1818 adds r0, r3, r0 + 13d6c: 0083 lsls r3, r0, #2 + 13d6e: 18c0 adds r0, r0, r3 + 13d70: 3050 adds r0, #80 ; 0x50 + 13d72: 21a0 movs r1, #160 ; 0xa0 + 13d74: 4b15 ldr r3, [pc, #84] ; (13dcc ) + 13d76: 4798 blx r3 + 13d78: b202 sxth r2, r0 + 13d7a: e783 b.n 13c84 lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10)); - 13d14: 2000 movs r0, #0 - 13d16: 4b0f ldr r3, [pc, #60] ; (13d54 ) - 13d18: 4798 blx r3 - 13d1a: 0003 movs r3, r0 - 13d1c: 0080 lsls r0, r0, #2 - 13d1e: 18c0 adds r0, r0, r3 - 13d20: 0040 lsls r0, r0, #1 - 13d22: 3050 adds r0, #80 ; 0x50 - 13d24: 21a0 movs r1, #160 ; 0xa0 - 13d26: 4b0f ldr r3, [pc, #60] ; (13d64 ) - 13d28: 4798 blx r3 - 13d2a: b202 sxth r2, r0 - 13d2c: e79b b.n 13c66 + 13d7c: 2000 movs r0, #0 + 13d7e: 4b0f ldr r3, [pc, #60] ; (13dbc ) + 13d80: 4798 blx r3 + 13d82: 0003 movs r3, r0 + 13d84: 0080 lsls r0, r0, #2 + 13d86: 18c0 adds r0, r0, r3 + 13d88: 0040 lsls r0, r0, #1 + 13d8a: 3050 adds r0, #80 ; 0x50 + 13d8c: 21a0 movs r1, #160 ; 0xa0 + 13d8e: 4b0f ldr r3, [pc, #60] ; (13dcc ) + 13d90: 4798 blx r3 + 13d92: b202 sxth r2, r0 + 13d94: e79b b.n 13cce lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7)); - 13d2e: 2000 movs r0, #0 - 13d30: 4b08 ldr r3, [pc, #32] ; (13d54 ) - 13d32: 4798 blx r3 - 13d34: 00c3 lsls r3, r0, #3 - 13d36: 1a18 subs r0, r3, r0 - 13d38: 3050 adds r0, #80 ; 0x50 - 13d3a: 21a0 movs r1, #160 ; 0xa0 - 13d3c: 4b09 ldr r3, [pc, #36] ; (13d64 ) - 13d3e: 4798 blx r3 - 13d40: b202 sxth r2, r0 - 13d42: e7a2 b.n 13c8a - 13d44: 20004c38 .word 0x20004c38 - 13d48: 0001242d .word 0x0001242d - 13d4c: 00007fff .word 0x00007fff - 13d50: 00004c8d .word 0x00004c8d - 13d54: 0000f5fd .word 0x0000f5fd - 13d58: 20004c3c .word 0x20004c3c - 13d5c: 00004ded .word 0x00004ded - 13d60: 0001ca08 .word 0x0001ca08 - 13d64: 00017961 .word 0x00017961 - -00013d68 : -{ - 13d68: b5f0 push {r4, r5, r6, r7, lr} - 13d6a: 46c6 mov lr, r8 - 13d6c: b500 push {lr} + 13d96: 2000 movs r0, #0 + 13d98: 4b08 ldr r3, [pc, #32] ; (13dbc ) + 13d9a: 4798 blx r3 + 13d9c: 00c3 lsls r3, r0, #3 + 13d9e: 1a18 subs r0, r3, r0 + 13da0: 3050 adds r0, #80 ; 0x50 + 13da2: 21a0 movs r1, #160 ; 0xa0 + 13da4: 4b09 ldr r3, [pc, #36] ; (13dcc ) + 13da6: 4798 blx r3 + 13da8: b202 sxth r2, r0 + 13daa: e7a2 b.n 13cf2 + 13dac: 20004c38 .word 0x20004c38 + 13db0: 00012495 .word 0x00012495 + 13db4: 00007fff .word 0x00007fff + 13db8: 00004cf5 .word 0x00004cf5 + 13dbc: 0000f665 .word 0x0000f665 + 13dc0: 20004c3c .word 0x20004c3c + 13dc4: 00004e55 .word 0x00004e55 + 13dc8: 0001ca98 .word 0x0001ca98 + 13dcc: 000179f1 .word 0x000179f1 + +00013dd0 : +{ + 13dd0: b5f0 push {r4, r5, r6, r7, lr} + 13dd2: 46c6 mov lr, r8 + 13dd4: b500 push {lr} style_init_reset(&styles->gauge_main); - 13d6e: 4de3 ldr r5, [pc, #908] ; (140fc ) - 13d70: 6828 ldr r0, [r5, #0] - 13d72: 305c adds r0, #92 ; 0x5c - 13d74: 4be2 ldr r3, [pc, #904] ; (14100 ) - 13d76: 4798 blx r3 + 13dd6: 4de3 ldr r5, [pc, #908] ; (14164 ) + 13dd8: 6828 ldr r0, [r5, #0] + 13dda: 305c adds r0, #92 ; 0x5c + 13ddc: 4be2 ldr r3, [pc, #904] ; (14168 ) + 13dde: 4798 blx r3 lv_style_set_line_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 13d78: 6828 ldr r0, [r5, #0] - 13d7a: 305c adds r0, #92 ; 0x5c - 13d7c: 2711 movs r7, #17 - 13d7e: 2488 movs r4, #136 ; 0x88 - 13d80: 00e4 lsls r4, r4, #3 - 13d82: 0022 movs r2, r4 - 13d84: 433a orrs r2, r7 - 13d86: 0552 lsls r2, r2, #21 - 13d88: 0d52 lsrs r2, r2, #21 - 13d8a: 4ede ldr r6, [pc, #888] ; (14104 ) - 13d8c: 4332 orrs r2, r6 + 13de0: 6828 ldr r0, [r5, #0] + 13de2: 305c adds r0, #92 ; 0x5c + 13de4: 2711 movs r7, #17 + 13de6: 2488 movs r4, #136 ; 0x88 + 13de8: 00e4 lsls r4, r4, #3 + 13dea: 0022 movs r2, r4 + 13dec: 433a orrs r2, r7 + 13dee: 0552 lsls r2, r2, #21 + 13df0: 0d52 lsrs r2, r2, #21 + 13df2: 4ede ldr r6, [pc, #888] ; (1416c ) + 13df4: 4332 orrs r2, r6 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 13d8e: 2199 movs r1, #153 ; 0x99 - 13d90: 4bdd ldr r3, [pc, #884] ; (14108 ) - 13d92: 4698 mov r8, r3 - 13d94: 4798 blx r3 + 13df6: 2199 movs r1, #153 ; 0x99 + 13df8: 4bdd ldr r3, [pc, #884] ; (14170 ) + 13dfa: 4698 mov r8, r3 + 13dfc: 4798 blx r3 lv_style_set_scale_grad_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 13d96: 6828 ldr r0, [r5, #0] - 13d98: 305c adds r0, #92 ; 0x5c - 13d9a: 0022 movs r2, r4 - 13d9c: 433a orrs r2, r7 - 13d9e: 0552 lsls r2, r2, #21 - 13da0: 0d52 lsrs r2, r2, #21 - 13da2: 4332 orrs r2, r6 + 13dfe: 6828 ldr r0, [r5, #0] + 13e00: 305c adds r0, #92 ; 0x5c + 13e02: 0022 movs r2, r4 + 13e04: 433a orrs r2, r7 + 13e06: 0552 lsls r2, r2, #21 + 13e08: 0d52 lsrs r2, r2, #21 + 13e0a: 4332 orrs r2, r6 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 13da4: 21c9 movs r1, #201 ; 0xc9 - 13da6: 47c0 blx r8 + 13e0c: 21c9 movs r1, #201 ; 0xc9 + 13e0e: 47c0 blx r8 lv_style_set_scale_end_color(&styles->gauge_main, LV_STATE_DEFAULT, theme.color_primary); - 13da8: 6828 ldr r0, [r5, #0] - 13daa: 305c adds r0, #92 ; 0x5c - 13dac: 4bd7 ldr r3, [pc, #860] ; (1410c ) - 13dae: 889a ldrh r2, [r3, #4] + 13e10: 6828 ldr r0, [r5, #0] + 13e12: 305c adds r0, #92 ; 0x5c + 13e14: 4bd7 ldr r3, [pc, #860] ; (14174 ) + 13e16: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 13db0: 21ca movs r1, #202 ; 0xca - 13db2: 47c0 blx r8 + 13e18: 21ca movs r1, #202 ; 0xca + 13e1a: 47c0 blx r8 lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5)); - 13db4: 682c ldr r4, [r5, #0] - 13db6: 345c adds r4, #92 ; 0x5c - 13db8: 2000 movs r0, #0 - 13dba: 4bd5 ldr r3, [pc, #852] ; (14110 ) - 13dbc: 4798 blx r3 - 13dbe: 0083 lsls r3, r0, #2 - 13dc0: 1818 adds r0, r3, r0 - 13dc2: 3050 adds r0, #80 ; 0x50 - 13dc4: 2340 movs r3, #64 ; 0x40 - 13dc6: 33ff adds r3, #255 ; 0xff - 13dc8: 2201 movs r2, #1 - 13dca: 4298 cmp r0, r3 - 13dcc: d900 bls.n 13dd0 - 13dce: e15b b.n 14088 + 13e1c: 682c ldr r4, [r5, #0] + 13e1e: 345c adds r4, #92 ; 0x5c + 13e20: 2000 movs r0, #0 + 13e22: 4bd5 ldr r3, [pc, #852] ; (14178 ) + 13e24: 4798 blx r3 + 13e26: 0083 lsls r3, r0, #2 + 13e28: 1818 adds r0, r3, r0 + 13e2a: 3050 adds r0, #80 ; 0x50 + 13e2c: 2340 movs r3, #64 ; 0x40 + 13e2e: 33ff adds r3, #255 ; 0xff + 13e30: 2201 movs r2, #1 + 13e32: 4298 cmp r0, r3 + 13e34: d900 bls.n 13e38 + 13e36: e15b b.n 140f0 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 13dd0: 2190 movs r1, #144 ; 0x90 - 13dd2: 0020 movs r0, r4 - 13dd4: 4bcf ldr r3, [pc, #828] ; (14114 ) - 13dd6: 4798 blx r3 + 13e38: 2190 movs r1, #144 ; 0x90 + 13e3a: 0020 movs r0, r4 + 13e3c: 4bcf ldr r3, [pc, #828] ; (1417c ) + 13e3e: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4)); - 13dd8: 4bc8 ldr r3, [pc, #800] ; (140fc ) - 13dda: 681c ldr r4, [r3, #0] - 13ddc: 345c adds r4, #92 ; 0x5c - 13dde: 2000 movs r0, #0 - 13de0: 4bcb ldr r3, [pc, #812] ; (14110 ) - 13de2: 4798 blx r3 - 13de4: 3014 adds r0, #20 - 13de6: 0080 lsls r0, r0, #2 - 13de8: 2340 movs r3, #64 ; 0x40 - 13dea: 33ff adds r3, #255 ; 0xff - 13dec: 2201 movs r2, #1 - 13dee: 4298 cmp r0, r3 - 13df0: d900 bls.n 13df4 - 13df2: e155 b.n 140a0 + 13e40: 4bc8 ldr r3, [pc, #800] ; (14164 ) + 13e42: 681c ldr r4, [r3, #0] + 13e44: 345c adds r4, #92 ; 0x5c + 13e46: 2000 movs r0, #0 + 13e48: 4bcb ldr r3, [pc, #812] ; (14178 ) + 13e4a: 4798 blx r3 + 13e4c: 3014 adds r0, #20 + 13e4e: 0080 lsls r0, r0, #2 + 13e50: 2340 movs r3, #64 ; 0x40 + 13e52: 33ff adds r3, #255 ; 0xff + 13e54: 2201 movs r2, #1 + 13e56: 4298 cmp r0, r3 + 13e58: d900 bls.n 13e5c + 13e5a: e155 b.n 14108 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 13df4: 21c3 movs r1, #195 ; 0xc3 - 13df6: 0020 movs r0, r4 - 13df8: 4bc6 ldr r3, [pc, #792] ; (14114 ) - 13dfa: 4798 blx r3 + 13e5c: 21c3 movs r1, #195 ; 0xc3 + 13e5e: 0020 movs r0, r4 + 13e60: 4bc6 ldr r3, [pc, #792] ; (1417c ) + 13e62: 4798 blx r3 lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8)); - 13dfc: 4bbf ldr r3, [pc, #764] ; (140fc ) - 13dfe: 681c ldr r4, [r3, #0] - 13e00: 345c adds r4, #92 ; 0x5c - 13e02: 2000 movs r0, #0 - 13e04: 4bc2 ldr r3, [pc, #776] ; (14110 ) - 13e06: 4798 blx r3 - 13e08: 300a adds r0, #10 - 13e0a: 00c0 lsls r0, r0, #3 - 13e0c: 2340 movs r3, #64 ; 0x40 - 13e0e: 33ff adds r3, #255 ; 0xff - 13e10: 2201 movs r2, #1 - 13e12: 4298 cmp r0, r3 - 13e14: d900 bls.n 13e18 - 13e16: e14d b.n 140b4 + 13e64: 4bbf ldr r3, [pc, #764] ; (14164 ) + 13e66: 681c ldr r4, [r3, #0] + 13e68: 345c adds r4, #92 ; 0x5c + 13e6a: 2000 movs r0, #0 + 13e6c: 4bc2 ldr r3, [pc, #776] ; (14178 ) + 13e6e: 4798 blx r3 + 13e70: 300a adds r0, #10 + 13e72: 00c0 lsls r0, r0, #3 + 13e74: 2340 movs r3, #64 ; 0x40 + 13e76: 33ff adds r3, #255 ; 0xff + 13e78: 2201 movs r2, #1 + 13e7a: 4298 cmp r0, r3 + 13e7c: d900 bls.n 13e80 + 13e7e: e14d b.n 1411c _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar) - 13e18: 21c2 movs r1, #194 ; 0xc2 - 13e1a: 0020 movs r0, r4 - 13e1c: 4bbd ldr r3, [pc, #756] ; (14114 ) - 13e1e: 4798 blx r3 + 13e80: 21c2 movs r1, #194 ; 0xc2 + 13e82: 0020 movs r0, r4 + 13e84: 4bbd ldr r3, [pc, #756] ; (1417c ) + 13e86: 4798 blx r3 lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 13e20: 4bb6 ldr r3, [pc, #728] ; (140fc ) - 13e22: 681c ldr r4, [r3, #0] - 13e24: 345c adds r4, #92 ; 0x5c - 13e26: 2000 movs r0, #0 - 13e28: 4bb9 ldr r3, [pc, #740] ; (14110 ) - 13e2a: 4798 blx r3 - 13e2c: 0083 lsls r3, r0, #2 - 13e2e: 181b adds r3, r3, r0 - 13e30: 009b lsls r3, r3, #2 - 13e32: 3350 adds r3, #80 ; 0x50 - 13e34: 2140 movs r1, #64 ; 0x40 - 13e36: 31ff adds r1, #255 ; 0xff - 13e38: 2201 movs r2, #1 - 13e3a: 428b cmp r3, r1 - 13e3c: d900 bls.n 13e40 - 13e3e: e143 b.n 140c8 + 13e88: 4bb6 ldr r3, [pc, #728] ; (14164 ) + 13e8a: 681c ldr r4, [r3, #0] + 13e8c: 345c adds r4, #92 ; 0x5c + 13e8e: 2000 movs r0, #0 + 13e90: 4bb9 ldr r3, [pc, #740] ; (14178 ) + 13e92: 4798 blx r3 + 13e94: 0083 lsls r3, r0, #2 + 13e96: 181b adds r3, r3, r0 + 13e98: 009b lsls r3, r3, #2 + 13e9a: 3350 adds r3, #80 ; 0x50 + 13e9c: 2140 movs r1, #64 ; 0x40 + 13e9e: 31ff adds r1, #255 ; 0xff + 13ea0: 2201 movs r2, #1 + 13ea2: 428b cmp r3, r1 + 13ea4: d900 bls.n 13ea8 + 13ea6: e143 b.n 14130 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 13e40: 2112 movs r1, #18 - 13e42: 0020 movs r0, r4 - 13e44: 4bb3 ldr r3, [pc, #716] ; (14114 ) - 13e46: 4798 blx r3 + 13ea8: 2112 movs r1, #18 + 13eaa: 0020 movs r0, r4 + 13eac: 4bb3 ldr r3, [pc, #716] ; (1417c ) + 13eae: 4798 blx r3 lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 13e48: 4bac ldr r3, [pc, #688] ; (140fc ) - 13e4a: 681c ldr r4, [r3, #0] - 13e4c: 345c adds r4, #92 ; 0x5c - 13e4e: 2000 movs r0, #0 - 13e50: 4baf ldr r3, [pc, #700] ; (14110 ) - 13e52: 4798 blx r3 - 13e54: 0083 lsls r3, r0, #2 - 13e56: 181b adds r3, r3, r0 - 13e58: 009b lsls r3, r3, #2 - 13e5a: 3350 adds r3, #80 ; 0x50 - 13e5c: 2140 movs r1, #64 ; 0x40 - 13e5e: 31ff adds r1, #255 ; 0xff - 13e60: 2201 movs r2, #1 - 13e62: 428b cmp r3, r1 - 13e64: d900 bls.n 13e68 - 13e66: e13c b.n 140e2 + 13eb0: 4bac ldr r3, [pc, #688] ; (14164 ) + 13eb2: 681c ldr r4, [r3, #0] + 13eb4: 345c adds r4, #92 ; 0x5c + 13eb6: 2000 movs r0, #0 + 13eb8: 4baf ldr r3, [pc, #700] ; (14178 ) + 13eba: 4798 blx r3 + 13ebc: 0083 lsls r3, r0, #2 + 13ebe: 181b adds r3, r3, r0 + 13ec0: 009b lsls r3, r3, #2 + 13ec2: 3350 adds r3, #80 ; 0x50 + 13ec4: 2140 movs r1, #64 ; 0x40 + 13ec6: 31ff adds r1, #255 ; 0xff + 13ec8: 2201 movs r2, #1 + 13eca: 428b cmp r3, r1 + 13ecc: d900 bls.n 13ed0 + 13ece: e13c b.n 1414a _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 13e68: 2113 movs r1, #19 - 13e6a: 0020 movs r0, r4 - 13e6c: 4ba9 ldr r3, [pc, #676] ; (14114 ) - 13e6e: 4798 blx r3 + 13ed0: 2113 movs r1, #19 + 13ed2: 0020 movs r0, r4 + 13ed4: 4ba9 ldr r3, [pc, #676] ; (1417c ) + 13ed6: 4798 blx r3 lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 13e70: 4ba2 ldr r3, [pc, #648] ; (140fc ) - 13e72: 681c ldr r4, [r3, #0] - 13e74: 345c adds r4, #92 ; 0x5c - 13e76: 2000 movs r0, #0 - 13e78: 4ba5 ldr r3, [pc, #660] ; (14110 ) - 13e7a: 4798 blx r3 - 13e7c: 0083 lsls r3, r0, #2 - 13e7e: 181b adds r3, r3, r0 - 13e80: 009b lsls r3, r3, #2 - 13e82: 3350 adds r3, #80 ; 0x50 - 13e84: 2140 movs r1, #64 ; 0x40 - 13e86: 31ff adds r1, #255 ; 0xff - 13e88: 2201 movs r2, #1 - 13e8a: 428b cmp r3, r1 - 13e8c: d900 bls.n 13e90 - 13e8e: e149 b.n 14124 + 13ed8: 4ba2 ldr r3, [pc, #648] ; (14164 ) + 13eda: 681c ldr r4, [r3, #0] + 13edc: 345c adds r4, #92 ; 0x5c + 13ede: 2000 movs r0, #0 + 13ee0: 4ba5 ldr r3, [pc, #660] ; (14178 ) + 13ee2: 4798 blx r3 + 13ee4: 0083 lsls r3, r0, #2 + 13ee6: 181b adds r3, r3, r0 + 13ee8: 009b lsls r3, r3, #2 + 13eea: 3350 adds r3, #80 ; 0x50 + 13eec: 2140 movs r1, #64 ; 0x40 + 13eee: 31ff adds r1, #255 ; 0xff + 13ef0: 2201 movs r2, #1 + 13ef2: 428b cmp r3, r1 + 13ef4: d900 bls.n 13ef8 + 13ef6: e149 b.n 1418c _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 13e90: 2110 movs r1, #16 - 13e92: 0020 movs r0, r4 - 13e94: 4b9f ldr r3, [pc, #636] ; (14114 ) - 13e96: 4798 blx r3 + 13ef8: 2110 movs r1, #16 + 13efa: 0020 movs r0, r4 + 13efc: 4b9f ldr r3, [pc, #636] ; (1417c ) + 13efe: 4798 blx r3 lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 13e98: 4b98 ldr r3, [pc, #608] ; (140fc ) - 13e9a: 681c ldr r4, [r3, #0] - 13e9c: 345c adds r4, #92 ; 0x5c - 13e9e: 2000 movs r0, #0 - 13ea0: 4b9b ldr r3, [pc, #620] ; (14110 ) - 13ea2: 4798 blx r3 - 13ea4: 0083 lsls r3, r0, #2 - 13ea6: 181b adds r3, r3, r0 - 13ea8: 009b lsls r3, r3, #2 - 13eaa: 3350 adds r3, #80 ; 0x50 - 13eac: 2140 movs r1, #64 ; 0x40 - 13eae: 31ff adds r1, #255 ; 0xff - 13eb0: 2201 movs r2, #1 - 13eb2: 428b cmp r3, r1 - 13eb4: d900 bls.n 13eb8 - 13eb6: e142 b.n 1413e + 13f00: 4b98 ldr r3, [pc, #608] ; (14164 ) + 13f02: 681c ldr r4, [r3, #0] + 13f04: 345c adds r4, #92 ; 0x5c + 13f06: 2000 movs r0, #0 + 13f08: 4b9b ldr r3, [pc, #620] ; (14178 ) + 13f0a: 4798 blx r3 + 13f0c: 0083 lsls r3, r0, #2 + 13f0e: 181b adds r3, r3, r0 + 13f10: 009b lsls r3, r3, #2 + 13f12: 3350 adds r3, #80 ; 0x50 + 13f14: 2140 movs r1, #64 ; 0x40 + 13f16: 31ff adds r1, #255 ; 0xff + 13f18: 2201 movs r2, #1 + 13f1a: 428b cmp r3, r1 + 13f1c: d900 bls.n 13f20 + 13f1e: e142 b.n 141a6 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 13eb8: 2114 movs r1, #20 - 13eba: 0020 movs r0, r4 - 13ebc: 4b95 ldr r3, [pc, #596] ; (14114 ) - 13ebe: 4798 blx r3 + 13f20: 2114 movs r1, #20 + 13f22: 0020 movs r0, r4 + 13f24: 4b95 ldr r3, [pc, #596] ; (1417c ) + 13f26: 4798 blx r3 lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15)); - 13ec0: 4b8e ldr r3, [pc, #568] ; (140fc ) - 13ec2: 681c ldr r4, [r3, #0] - 13ec4: 345c adds r4, #92 ; 0x5c - 13ec6: 2000 movs r0, #0 - 13ec8: 4b91 ldr r3, [pc, #580] ; (14110 ) - 13eca: 4798 blx r3 - 13ecc: 0103 lsls r3, r0, #4 - 13ece: 1a18 subs r0, r3, r0 - 13ed0: 3050 adds r0, #80 ; 0x50 - 13ed2: 2340 movs r3, #64 ; 0x40 - 13ed4: 33ff adds r3, #255 ; 0xff - 13ed6: 2201 movs r2, #1 - 13ed8: 4298 cmp r0, r3 - 13eda: d900 bls.n 13ede - 13edc: e13c b.n 14158 + 13f28: 4b8e ldr r3, [pc, #568] ; (14164 ) + 13f2a: 681c ldr r4, [r3, #0] + 13f2c: 345c adds r4, #92 ; 0x5c + 13f2e: 2000 movs r0, #0 + 13f30: 4b91 ldr r3, [pc, #580] ; (14178 ) + 13f32: 4798 blx r3 + 13f34: 0103 lsls r3, r0, #4 + 13f36: 1a18 subs r0, r3, r0 + 13f38: 3050 adds r0, #80 ; 0x50 + 13f3a: 2340 movs r3, #64 ; 0x40 + 13f3c: 33ff adds r3, #255 ; 0xff + 13f3e: 2201 movs r2, #1 + 13f40: 4298 cmp r0, r3 + 13f42: d900 bls.n 13f46 + 13f44: e13c b.n 141c0 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 13ede: 21c0 movs r1, #192 ; 0xc0 - 13ee0: 0020 movs r0, r4 - 13ee2: 4c8c ldr r4, [pc, #560] ; (14114 ) - 13ee4: 47a0 blx r4 + 13f46: 21c0 movs r1, #192 ; 0xc0 + 13f48: 0020 movs r0, r4 + 13f4a: 4c8c ldr r4, [pc, #560] ; (1417c ) + 13f4c: 47a0 blx r4 lv_style_set_radius(&styles->gauge_main, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 13ee6: 4d85 ldr r5, [pc, #532] ; (140fc ) - 13ee8: 6828 ldr r0, [r5, #0] - 13eea: 305c adds r0, #92 ; 0x5c + 13f4e: 4d85 ldr r5, [pc, #532] ; (14164 ) + 13f50: 6828 ldr r0, [r5, #0] + 13f52: 305c adds r0, #92 ; 0x5c _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 13eec: 4a8a ldr r2, [pc, #552] ; (14118 ) - 13eee: 2101 movs r1, #1 - 13ef0: 47a0 blx r4 + 13f54: 4a8a ldr r2, [pc, #552] ; (14180 ) + 13f56: 2101 movs r1, #1 + 13f58: 47a0 blx r4 style_init_reset(&styles->gauge_strong); - 13ef2: 6828 ldr r0, [r5, #0] - 13ef4: 3060 adds r0, #96 ; 0x60 - 13ef6: 4b82 ldr r3, [pc, #520] ; (14100 ) - 13ef8: 4798 blx r3 + 13f5a: 6828 ldr r0, [r5, #0] + 13f5c: 3060 adds r0, #96 ; 0x60 + 13f5e: 4b82 ldr r3, [pc, #520] ; (14168 ) + 13f60: 4798 blx r3 lv_style_set_line_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 13efa: 6828 ldr r0, [r5, #0] - 13efc: 3060 adds r0, #96 ; 0x60 - 13efe: 2711 movs r7, #17 - 13f00: 2488 movs r4, #136 ; 0x88 - 13f02: 00e4 lsls r4, r4, #3 - 13f04: 0022 movs r2, r4 - 13f06: 433a orrs r2, r7 - 13f08: 0552 lsls r2, r2, #21 - 13f0a: 0d52 lsrs r2, r2, #21 - 13f0c: 4e7d ldr r6, [pc, #500] ; (14104 ) - 13f0e: 4332 orrs r2, r6 + 13f62: 6828 ldr r0, [r5, #0] + 13f64: 3060 adds r0, #96 ; 0x60 + 13f66: 2711 movs r7, #17 + 13f68: 2488 movs r4, #136 ; 0x88 + 13f6a: 00e4 lsls r4, r4, #3 + 13f6c: 0022 movs r2, r4 + 13f6e: 433a orrs r2, r7 + 13f70: 0552 lsls r2, r2, #21 + 13f72: 0d52 lsrs r2, r2, #21 + 13f74: 4e7d ldr r6, [pc, #500] ; (1416c ) + 13f76: 4332 orrs r2, r6 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 13f10: 2199 movs r1, #153 ; 0x99 - 13f12: 4b7d ldr r3, [pc, #500] ; (14108 ) - 13f14: 4698 mov r8, r3 - 13f16: 4798 blx r3 + 13f78: 2199 movs r1, #153 ; 0x99 + 13f7a: 4b7d ldr r3, [pc, #500] ; (14170 ) + 13f7c: 4698 mov r8, r3 + 13f7e: 4798 blx r3 lv_style_set_scale_grad_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 13f18: 6828 ldr r0, [r5, #0] - 13f1a: 3060 adds r0, #96 ; 0x60 - 13f1c: 0022 movs r2, r4 - 13f1e: 433a orrs r2, r7 - 13f20: 0552 lsls r2, r2, #21 - 13f22: 0d52 lsrs r2, r2, #21 - 13f24: 4332 orrs r2, r6 + 13f80: 6828 ldr r0, [r5, #0] + 13f82: 3060 adds r0, #96 ; 0x60 + 13f84: 0022 movs r2, r4 + 13f86: 433a orrs r2, r7 + 13f88: 0552 lsls r2, r2, #21 + 13f8a: 0d52 lsrs r2, r2, #21 + 13f8c: 4332 orrs r2, r6 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 13f26: 21c9 movs r1, #201 ; 0xc9 - 13f28: 47c0 blx r8 + 13f8e: 21c9 movs r1, #201 ; 0xc9 + 13f90: 47c0 blx r8 lv_style_set_scale_end_color(&styles->gauge_strong, LV_STATE_DEFAULT, theme.color_primary); - 13f2a: 6828 ldr r0, [r5, #0] - 13f2c: 3060 adds r0, #96 ; 0x60 - 13f2e: 4b77 ldr r3, [pc, #476] ; (1410c ) - 13f30: 889a ldrh r2, [r3, #4] + 13f92: 6828 ldr r0, [r5, #0] + 13f94: 3060 adds r0, #96 ; 0x60 + 13f96: 4b77 ldr r3, [pc, #476] ; (14174 ) + 13f98: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 13f32: 21ca movs r1, #202 ; 0xca - 13f34: 47c0 blx r8 + 13f9a: 21ca movs r1, #202 ; 0xca + 13f9c: 47c0 blx r8 lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 13f36: 682c ldr r4, [r5, #0] - 13f38: 3460 adds r4, #96 ; 0x60 - 13f3a: 2000 movs r0, #0 - 13f3c: 4b74 ldr r3, [pc, #464] ; (14110 ) - 13f3e: 4798 blx r3 - 13f40: 300a adds r0, #10 - 13f42: 00c0 lsls r0, r0, #3 - 13f44: 2340 movs r3, #64 ; 0x40 - 13f46: 33ff adds r3, #255 ; 0xff - 13f48: 2201 movs r2, #1 - 13f4a: 4298 cmp r0, r3 - 13f4c: d900 bls.n 13f50 - 13f4e: e10e b.n 1416e + 13f9e: 682c ldr r4, [r5, #0] + 13fa0: 3460 adds r4, #96 ; 0x60 + 13fa2: 2000 movs r0, #0 + 13fa4: 4b74 ldr r3, [pc, #464] ; (14178 ) + 13fa6: 4798 blx r3 + 13fa8: 300a adds r0, #10 + 13faa: 00c0 lsls r0, r0, #3 + 13fac: 2340 movs r3, #64 ; 0x40 + 13fae: 33ff adds r3, #255 ; 0xff + 13fb0: 2201 movs r2, #1 + 13fb2: 4298 cmp r0, r3 + 13fb4: d900 bls.n 13fb8 + 13fb6: e10e b.n 141d6 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 13f50: 2190 movs r1, #144 ; 0x90 - 13f52: 0020 movs r0, r4 - 13f54: 4b6f ldr r3, [pc, #444] ; (14114 ) - 13f56: 4798 blx r3 + 13fb8: 2190 movs r1, #144 ; 0x90 + 13fba: 0020 movs r0, r4 + 13fbc: 4b6f ldr r3, [pc, #444] ; (1417c ) + 13fbe: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 13f58: 4b68 ldr r3, [pc, #416] ; (140fc ) - 13f5a: 681c ldr r4, [r3, #0] - 13f5c: 3460 adds r4, #96 ; 0x60 - 13f5e: 2000 movs r0, #0 - 13f60: 4b6b ldr r3, [pc, #428] ; (14110 ) - 13f62: 4798 blx r3 - 13f64: 300a adds r0, #10 - 13f66: 00c0 lsls r0, r0, #3 - 13f68: 2340 movs r3, #64 ; 0x40 - 13f6a: 33ff adds r3, #255 ; 0xff - 13f6c: 2201 movs r2, #1 - 13f6e: 4298 cmp r0, r3 - 13f70: d900 bls.n 13f74 - 13f72: e106 b.n 14182 + 13fc0: 4b68 ldr r3, [pc, #416] ; (14164 ) + 13fc2: 681c ldr r4, [r3, #0] + 13fc4: 3460 adds r4, #96 ; 0x60 + 13fc6: 2000 movs r0, #0 + 13fc8: 4b6b ldr r3, [pc, #428] ; (14178 ) + 13fca: 4798 blx r3 + 13fcc: 300a adds r0, #10 + 13fce: 00c0 lsls r0, r0, #3 + 13fd0: 2340 movs r3, #64 ; 0x40 + 13fd2: 33ff adds r3, #255 ; 0xff + 13fd4: 2201 movs r2, #1 + 13fd6: 4298 cmp r0, r3 + 13fd8: d900 bls.n 13fdc + 13fda: e106 b.n 141ea _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 13f74: 21c3 movs r1, #195 ; 0xc3 - 13f76: 0020 movs r0, r4 - 13f78: 4b66 ldr r3, [pc, #408] ; (14114 ) - 13f7a: 4798 blx r3 + 13fdc: 21c3 movs r1, #195 ; 0xc3 + 13fde: 0020 movs r0, r4 + 13fe0: 4b66 ldr r3, [pc, #408] ; (1417c ) + 13fe2: 4798 blx r3 lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25)); - 13f7c: 4b5f ldr r3, [pc, #380] ; (140fc ) - 13f7e: 681c ldr r4, [r3, #0] - 13f80: 3460 adds r4, #96 ; 0x60 - 13f82: 2000 movs r0, #0 - 13f84: 4b62 ldr r3, [pc, #392] ; (14110 ) - 13f86: 4798 blx r3 - 13f88: 0083 lsls r3, r0, #2 - 13f8a: 1818 adds r0, r3, r0 - 13f8c: 0083 lsls r3, r0, #2 - 13f8e: 18c0 adds r0, r0, r3 - 13f90: 3050 adds r0, #80 ; 0x50 - 13f92: 2340 movs r3, #64 ; 0x40 - 13f94: 33ff adds r3, #255 ; 0xff - 13f96: 2201 movs r2, #1 - 13f98: 4298 cmp r0, r3 - 13f9a: d900 bls.n 13f9e - 13f9c: e0fb b.n 14196 + 13fe4: 4b5f ldr r3, [pc, #380] ; (14164 ) + 13fe6: 681c ldr r4, [r3, #0] + 13fe8: 3460 adds r4, #96 ; 0x60 + 13fea: 2000 movs r0, #0 + 13fec: 4b62 ldr r3, [pc, #392] ; (14178 ) + 13fee: 4798 blx r3 + 13ff0: 0083 lsls r3, r0, #2 + 13ff2: 1818 adds r0, r3, r0 + 13ff4: 0083 lsls r3, r0, #2 + 13ff6: 18c0 adds r0, r0, r3 + 13ff8: 3050 adds r0, #80 ; 0x50 + 13ffa: 2340 movs r3, #64 ; 0x40 + 13ffc: 33ff adds r3, #255 ; 0xff + 13ffe: 2201 movs r2, #1 + 14000: 4298 cmp r0, r3 + 14002: d900 bls.n 14006 + 14004: e0fb b.n 141fe _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 13f9e: 21c0 movs r1, #192 ; 0xc0 - 13fa0: 0020 movs r0, r4 - 13fa2: 4b5c ldr r3, [pc, #368] ; (14114 ) - 13fa4: 4798 blx r3 + 14006: 21c0 movs r1, #192 ; 0xc0 + 14008: 0020 movs r0, r4 + 1400a: 4b5c ldr r3, [pc, #368] ; (1417c ) + 1400c: 4798 blx r3 style_init_reset(&styles->gauge_needle); - 13fa6: 4c55 ldr r4, [pc, #340] ; (140fc ) - 13fa8: 6820 ldr r0, [r4, #0] - 13faa: 3064 adds r0, #100 ; 0x64 - 13fac: 4b54 ldr r3, [pc, #336] ; (14100 ) - 13fae: 4798 blx r3 + 1400e: 4c55 ldr r4, [pc, #340] ; (14164 ) + 14010: 6820 ldr r0, [r4, #0] + 14012: 3064 adds r0, #100 ; 0x64 + 14014: 4b54 ldr r3, [pc, #336] ; (14168 ) + 14016: 4798 blx r3 lv_style_set_line_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE); - 13fb0: 6820 ldr r0, [r4, #0] - 13fb2: 3064 adds r0, #100 ; 0x64 - 13fb4: 4b55 ldr r3, [pc, #340] ; (1410c ) - 13fb6: 699b ldr r3, [r3, #24] - 13fb8: 079b lsls r3, r3, #30 - 13fba: d500 bpl.n 13fbe - 13fbc: e0f8 b.n 141b0 - 13fbe: 231f movs r3, #31 - 13fc0: 213f movs r1, #63 ; 0x3f - 13fc2: 221f movs r2, #31 - 13fc4: 0149 lsls r1, r1, #5 - 13fc6: 02db lsls r3, r3, #11 - 13fc8: 430a orrs r2, r1 - 13fca: 431a orrs r2, r3 + 14018: 6820 ldr r0, [r4, #0] + 1401a: 3064 adds r0, #100 ; 0x64 + 1401c: 4b55 ldr r3, [pc, #340] ; (14174 ) + 1401e: 699b ldr r3, [r3, #24] + 14020: 079b lsls r3, r3, #30 + 14022: d500 bpl.n 14026 + 14024: e0f8 b.n 14218 + 14026: 231f movs r3, #31 + 14028: 213f movs r1, #63 ; 0x3f + 1402a: 221f movs r2, #31 + 1402c: 0149 lsls r1, r1, #5 + 1402e: 02db lsls r3, r3, #11 + 14030: 430a orrs r2, r1 + 14032: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 13fcc: 2199 movs r1, #153 ; 0x99 - 13fce: 4b4e ldr r3, [pc, #312] ; (14108 ) - 13fd0: 4798 blx r3 + 14034: 2199 movs r1, #153 ; 0x99 + 14036: 4b4e ldr r3, [pc, #312] ; (14170 ) + 14038: 4798 blx r3 lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8)); - 13fd2: 4b4a ldr r3, [pc, #296] ; (140fc ) - 13fd4: 681c ldr r4, [r3, #0] - 13fd6: 3464 adds r4, #100 ; 0x64 - 13fd8: 2000 movs r0, #0 - 13fda: 4b4d ldr r3, [pc, #308] ; (14110 ) - 13fdc: 4798 blx r3 - 13fde: 300a adds r0, #10 - 13fe0: 00c0 lsls r0, r0, #3 - 13fe2: 2340 movs r3, #64 ; 0x40 - 13fe4: 33ff adds r3, #255 ; 0xff - 13fe6: 2201 movs r2, #1 - 13fe8: 4298 cmp r0, r3 - 13fea: d900 bls.n 13fee - 13fec: e0e4 b.n 141b8 + 1403a: 4b4a ldr r3, [pc, #296] ; (14164 ) + 1403c: 681c ldr r4, [r3, #0] + 1403e: 3464 adds r4, #100 ; 0x64 + 14040: 2000 movs r0, #0 + 14042: 4b4d ldr r3, [pc, #308] ; (14178 ) + 14044: 4798 blx r3 + 14046: 300a adds r0, #10 + 14048: 00c0 lsls r0, r0, #3 + 1404a: 2340 movs r3, #64 ; 0x40 + 1404c: 33ff adds r3, #255 ; 0xff + 1404e: 2201 movs r2, #1 + 14050: 4298 cmp r0, r3 + 14052: d900 bls.n 14056 + 14054: e0e4 b.n 14220 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 13fee: 2190 movs r1, #144 ; 0x90 - 13ff0: 0020 movs r0, r4 - 13ff2: 4b48 ldr r3, [pc, #288] ; (14114 ) - 13ff4: 4798 blx r3 + 14056: 2190 movs r1, #144 ; 0x90 + 14058: 0020 movs r0, r4 + 1405a: 4b48 ldr r3, [pc, #288] ; (1417c ) + 1405c: 4798 blx r3 lv_style_set_bg_opa(&styles->gauge_needle, LV_STATE_DEFAULT, LV_OPA_COVER); - 13ff6: 4c41 ldr r4, [pc, #260] ; (140fc ) - 13ff8: 6820 ldr r0, [r4, #0] - 13ffa: 3064 adds r0, #100 ; 0x64 + 1405e: 4c41 ldr r4, [pc, #260] ; (14164 ) + 14060: 6820 ldr r0, [r4, #0] + 14062: 3064 adds r0, #100 ; 0x64 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 13ffc: 22ff movs r2, #255 ; 0xff - 13ffe: 212c movs r1, #44 ; 0x2c - 14000: 4b46 ldr r3, [pc, #280] ; (1411c ) - 14002: 4798 blx r3 + 14064: 22ff movs r2, #255 ; 0xff + 14066: 212c movs r1, #44 ; 0x2c + 14068: 4b46 ldr r3, [pc, #280] ; (14184 ) + 1406a: 4798 blx r3 lv_style_set_bg_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE); - 14004: 6820 ldr r0, [r4, #0] - 14006: 3064 adds r0, #100 ; 0x64 - 14008: 4b40 ldr r3, [pc, #256] ; (1410c ) - 1400a: 699b ldr r3, [r3, #24] - 1400c: 079b lsls r3, r3, #30 - 1400e: d500 bpl.n 14012 - 14010: e0dc b.n 141cc - 14012: 231f movs r3, #31 - 14014: 213f movs r1, #63 ; 0x3f - 14016: 221f movs r2, #31 - 14018: 0149 lsls r1, r1, #5 - 1401a: 02db lsls r3, r3, #11 - 1401c: 430a orrs r2, r1 - 1401e: 431a orrs r2, r3 + 1406c: 6820 ldr r0, [r4, #0] + 1406e: 3064 adds r0, #100 ; 0x64 + 14070: 4b40 ldr r3, [pc, #256] ; (14174 ) + 14072: 699b ldr r3, [r3, #24] + 14074: 079b lsls r3, r3, #30 + 14076: d500 bpl.n 1407a + 14078: e0dc b.n 14234 + 1407a: 231f movs r3, #31 + 1407c: 213f movs r1, #63 ; 0x3f + 1407e: 221f movs r2, #31 + 14080: 0149 lsls r1, r1, #5 + 14082: 02db lsls r3, r3, #11 + 14084: 430a orrs r2, r1 + 14086: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14020: 2129 movs r1, #41 ; 0x29 - 14022: 4b39 ldr r3, [pc, #228] ; (14108 ) - 14024: 4798 blx r3 + 14088: 2129 movs r1, #41 ; 0x29 + 1408a: 4b39 ldr r3, [pc, #228] ; (14170 ) + 1408c: 4798 blx r3 lv_style_set_radius(&styles->gauge_needle, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 14026: 4c35 ldr r4, [pc, #212] ; (140fc ) - 14028: 6820 ldr r0, [r4, #0] - 1402a: 3064 adds r0, #100 ; 0x64 + 1408e: 4c35 ldr r4, [pc, #212] ; (14164 ) + 14090: 6820 ldr r0, [r4, #0] + 14092: 3064 adds r0, #100 ; 0x64 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1402c: 4a3a ldr r2, [pc, #232] ; (14118 ) - 1402e: 2101 movs r1, #1 - 14030: 4b38 ldr r3, [pc, #224] ; (14114 ) - 14032: 4798 blx r3 + 14094: 4a3a ldr r2, [pc, #232] ; (14180 ) + 14096: 2101 movs r1, #1 + 14098: 4b38 ldr r3, [pc, #224] ; (1417c ) + 1409a: 4798 blx r3 lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30)); - 14034: 6824 ldr r4, [r4, #0] - 14036: 3464 adds r4, #100 ; 0x64 - 14038: 2000 movs r0, #0 - 1403a: 4b35 ldr r3, [pc, #212] ; (14110 ) - 1403c: 4798 blx r3 - 1403e: 0103 lsls r3, r0, #4 - 14040: 1a1b subs r3, r3, r0 - 14042: 005b lsls r3, r3, #1 - 14044: 3350 adds r3, #80 ; 0x50 - 14046: 2140 movs r1, #64 ; 0x40 - 14048: 31ff adds r1, #255 ; 0xff - 1404a: 2201 movs r2, #1 - 1404c: 428b cmp r3, r1 - 1404e: d900 bls.n 14052 - 14050: e0c0 b.n 141d4 + 1409c: 6824 ldr r4, [r4, #0] + 1409e: 3464 adds r4, #100 ; 0x64 + 140a0: 2000 movs r0, #0 + 140a2: 4b35 ldr r3, [pc, #212] ; (14178 ) + 140a4: 4798 blx r3 + 140a6: 0103 lsls r3, r0, #4 + 140a8: 1a1b subs r3, r3, r0 + 140aa: 005b lsls r3, r3, #1 + 140ac: 3350 adds r3, #80 ; 0x50 + 140ae: 2140 movs r1, #64 ; 0x40 + 140b0: 31ff adds r1, #255 ; 0xff + 140b2: 2201 movs r2, #1 + 140b4: 428b cmp r3, r1 + 140b6: d900 bls.n 140ba + 140b8: e0c0 b.n 1423c _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 14052: 2103 movs r1, #3 - 14054: 0020 movs r0, r4 - 14056: 4b2f ldr r3, [pc, #188] ; (14114 ) - 14058: 4798 blx r3 + 140ba: 2103 movs r1, #3 + 140bc: 0020 movs r0, r4 + 140be: 4b2f ldr r3, [pc, #188] ; (1417c ) + 140c0: 4798 blx r3 lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10)); - 1405a: 4b28 ldr r3, [pc, #160] ; (140fc ) - 1405c: 681c ldr r4, [r3, #0] - 1405e: 3464 adds r4, #100 ; 0x64 - 14060: 2000 movs r0, #0 - 14062: 4b2b ldr r3, [pc, #172] ; (14110 ) - 14064: 4798 blx r3 - 14066: 0083 lsls r3, r0, #2 - 14068: 181b adds r3, r3, r0 - 1406a: 005b lsls r3, r3, #1 - 1406c: 3350 adds r3, #80 ; 0x50 - 1406e: 2140 movs r1, #64 ; 0x40 - 14070: 31ff adds r1, #255 ; 0xff - 14072: 2201 movs r2, #1 - 14074: 428b cmp r3, r1 - 14076: d900 bls.n 1407a - 14078: e0b8 b.n 141ec + 140c2: 4b28 ldr r3, [pc, #160] ; (14164 ) + 140c4: 681c ldr r4, [r3, #0] + 140c6: 3464 adds r4, #100 ; 0x64 + 140c8: 2000 movs r0, #0 + 140ca: 4b2b ldr r3, [pc, #172] ; (14178 ) + 140cc: 4798 blx r3 + 140ce: 0083 lsls r3, r0, #2 + 140d0: 181b adds r3, r3, r0 + 140d2: 005b lsls r3, r3, #1 + 140d4: 3350 adds r3, #80 ; 0x50 + 140d6: 2140 movs r1, #64 ; 0x40 + 140d8: 31ff adds r1, #255 ; 0xff + 140da: 2201 movs r2, #1 + 140dc: 428b cmp r3, r1 + 140de: d900 bls.n 140e2 + 140e0: e0b8 b.n 14254 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1407a: 2114 movs r1, #20 - 1407c: 0020 movs r0, r4 - 1407e: 4b25 ldr r3, [pc, #148] ; (14114 ) - 14080: 4798 blx r3 -} - 14082: bc04 pop {r2} - 14084: 4690 mov r8, r2 - 14086: bdf0 pop {r4, r5, r6, r7, pc} + 140e2: 2114 movs r1, #20 + 140e4: 0020 movs r0, r4 + 140e6: 4b25 ldr r3, [pc, #148] ; (1417c ) + 140e8: 4798 blx r3 +} + 140ea: bc04 pop {r2} + 140ec: 4690 mov r8, r2 + 140ee: bdf0 pop {r4, r5, r6, r7, pc} lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5)); - 14088: 2000 movs r0, #0 - 1408a: 4b21 ldr r3, [pc, #132] ; (14110 ) - 1408c: 4798 blx r3 - 1408e: 0003 movs r3, r0 - 14090: 0080 lsls r0, r0, #2 - 14092: 18c0 adds r0, r0, r3 - 14094: 3050 adds r0, #80 ; 0x50 - 14096: 21a0 movs r1, #160 ; 0xa0 - 14098: 4b21 ldr r3, [pc, #132] ; (14120 ) - 1409a: 4798 blx r3 - 1409c: b202 sxth r2, r0 - 1409e: e697 b.n 13dd0 + 140f0: 2000 movs r0, #0 + 140f2: 4b21 ldr r3, [pc, #132] ; (14178 ) + 140f4: 4798 blx r3 + 140f6: 0003 movs r3, r0 + 140f8: 0080 lsls r0, r0, #2 + 140fa: 18c0 adds r0, r0, r3 + 140fc: 3050 adds r0, #80 ; 0x50 + 140fe: 21a0 movs r1, #160 ; 0xa0 + 14100: 4b21 ldr r3, [pc, #132] ; (14188 ) + 14102: 4798 blx r3 + 14104: b202 sxth r2, r0 + 14106: e697 b.n 13e38 lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4)); - 140a0: 2000 movs r0, #0 - 140a2: 4b1b ldr r3, [pc, #108] ; (14110 ) - 140a4: 4798 blx r3 - 140a6: 3014 adds r0, #20 - 140a8: 0080 lsls r0, r0, #2 - 140aa: 21a0 movs r1, #160 ; 0xa0 - 140ac: 4b1c ldr r3, [pc, #112] ; (14120 ) - 140ae: 4798 blx r3 - 140b0: b202 sxth r2, r0 - 140b2: e69f b.n 13df4 + 14108: 2000 movs r0, #0 + 1410a: 4b1b ldr r3, [pc, #108] ; (14178 ) + 1410c: 4798 blx r3 + 1410e: 3014 adds r0, #20 + 14110: 0080 lsls r0, r0, #2 + 14112: 21a0 movs r1, #160 ; 0xa0 + 14114: 4b1c ldr r3, [pc, #112] ; (14188 ) + 14116: 4798 blx r3 + 14118: b202 sxth r2, r0 + 1411a: e69f b.n 13e5c lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8)); - 140b4: 2000 movs r0, #0 - 140b6: 4b16 ldr r3, [pc, #88] ; (14110 ) - 140b8: 4798 blx r3 - 140ba: 300a adds r0, #10 - 140bc: 00c0 lsls r0, r0, #3 - 140be: 21a0 movs r1, #160 ; 0xa0 - 140c0: 4b17 ldr r3, [pc, #92] ; (14120 ) - 140c2: 4798 blx r3 - 140c4: b202 sxth r2, r0 - 140c6: e6a7 b.n 13e18 + 1411c: 2000 movs r0, #0 + 1411e: 4b16 ldr r3, [pc, #88] ; (14178 ) + 14120: 4798 blx r3 + 14122: 300a adds r0, #10 + 14124: 00c0 lsls r0, r0, #3 + 14126: 21a0 movs r1, #160 ; 0xa0 + 14128: 4b17 ldr r3, [pc, #92] ; (14188 ) + 1412a: 4798 blx r3 + 1412c: b202 sxth r2, r0 + 1412e: e6a7 b.n 13e80 lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 140c8: 2000 movs r0, #0 - 140ca: 4b11 ldr r3, [pc, #68] ; (14110 ) - 140cc: 4798 blx r3 - 140ce: 0003 movs r3, r0 - 140d0: 0080 lsls r0, r0, #2 - 140d2: 18c0 adds r0, r0, r3 - 140d4: 0080 lsls r0, r0, #2 - 140d6: 3050 adds r0, #80 ; 0x50 - 140d8: 21a0 movs r1, #160 ; 0xa0 - 140da: 4b11 ldr r3, [pc, #68] ; (14120 ) - 140dc: 4798 blx r3 - 140de: b202 sxth r2, r0 - 140e0: e6ae b.n 13e40 + 14130: 2000 movs r0, #0 + 14132: 4b11 ldr r3, [pc, #68] ; (14178 ) + 14134: 4798 blx r3 + 14136: 0003 movs r3, r0 + 14138: 0080 lsls r0, r0, #2 + 1413a: 18c0 adds r0, r0, r3 + 1413c: 0080 lsls r0, r0, #2 + 1413e: 3050 adds r0, #80 ; 0x50 + 14140: 21a0 movs r1, #160 ; 0xa0 + 14142: 4b11 ldr r3, [pc, #68] ; (14188 ) + 14144: 4798 blx r3 + 14146: b202 sxth r2, r0 + 14148: e6ae b.n 13ea8 lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 140e2: 2000 movs r0, #0 - 140e4: 4b0a ldr r3, [pc, #40] ; (14110 ) - 140e6: 4798 blx r3 - 140e8: 0003 movs r3, r0 - 140ea: 0080 lsls r0, r0, #2 - 140ec: 18c0 adds r0, r0, r3 - 140ee: 0080 lsls r0, r0, #2 - 140f0: 3050 adds r0, #80 ; 0x50 - 140f2: 21a0 movs r1, #160 ; 0xa0 - 140f4: 4b0a ldr r3, [pc, #40] ; (14120 ) - 140f6: 4798 blx r3 - 140f8: b202 sxth r2, r0 - 140fa: e6b5 b.n 13e68 - 140fc: 20004c38 .word 0x20004c38 - 14100: 0001242d .word 0x0001242d - 14104: ffff8800 .word 0xffff8800 - 14108: 00004ded .word 0x00004ded - 1410c: 20004c3c .word 0x20004c3c - 14110: 0000f5fd .word 0x0000f5fd - 14114: 00004c8d .word 0x00004c8d - 14118: 00007fff .word 0x00007fff - 1411c: 00004f4d .word 0x00004f4d - 14120: 00017961 .word 0x00017961 + 1414a: 2000 movs r0, #0 + 1414c: 4b0a ldr r3, [pc, #40] ; (14178 ) + 1414e: 4798 blx r3 + 14150: 0003 movs r3, r0 + 14152: 0080 lsls r0, r0, #2 + 14154: 18c0 adds r0, r0, r3 + 14156: 0080 lsls r0, r0, #2 + 14158: 3050 adds r0, #80 ; 0x50 + 1415a: 21a0 movs r1, #160 ; 0xa0 + 1415c: 4b0a ldr r3, [pc, #40] ; (14188 ) + 1415e: 4798 blx r3 + 14160: b202 sxth r2, r0 + 14162: e6b5 b.n 13ed0 + 14164: 20004c38 .word 0x20004c38 + 14168: 00012495 .word 0x00012495 + 1416c: ffff8800 .word 0xffff8800 + 14170: 00004e55 .word 0x00004e55 + 14174: 20004c3c .word 0x20004c3c + 14178: 0000f665 .word 0x0000f665 + 1417c: 00004cf5 .word 0x00004cf5 + 14180: 00007fff .word 0x00007fff + 14184: 00004fb5 .word 0x00004fb5 + 14188: 000179f1 .word 0x000179f1 lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 14124: 2000 movs r0, #0 - 14126: 4b38 ldr r3, [pc, #224] ; (14208 ) - 14128: 4798 blx r3 - 1412a: 0003 movs r3, r0 - 1412c: 0080 lsls r0, r0, #2 - 1412e: 18c0 adds r0, r0, r3 - 14130: 0080 lsls r0, r0, #2 - 14132: 3050 adds r0, #80 ; 0x50 - 14134: 21a0 movs r1, #160 ; 0xa0 - 14136: 4b35 ldr r3, [pc, #212] ; (1420c ) - 14138: 4798 blx r3 - 1413a: b202 sxth r2, r0 - 1413c: e6a8 b.n 13e90 + 1418c: 2000 movs r0, #0 + 1418e: 4b38 ldr r3, [pc, #224] ; (14270 ) + 14190: 4798 blx r3 + 14192: 0003 movs r3, r0 + 14194: 0080 lsls r0, r0, #2 + 14196: 18c0 adds r0, r0, r3 + 14198: 0080 lsls r0, r0, #2 + 1419a: 3050 adds r0, #80 ; 0x50 + 1419c: 21a0 movs r1, #160 ; 0xa0 + 1419e: 4b35 ldr r3, [pc, #212] ; (14274 ) + 141a0: 4798 blx r3 + 141a2: b202 sxth r2, r0 + 141a4: e6a8 b.n 13ef8 lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 1413e: 2000 movs r0, #0 - 14140: 4b31 ldr r3, [pc, #196] ; (14208 ) - 14142: 4798 blx r3 - 14144: 0003 movs r3, r0 - 14146: 0080 lsls r0, r0, #2 - 14148: 18c0 adds r0, r0, r3 - 1414a: 0080 lsls r0, r0, #2 - 1414c: 3050 adds r0, #80 ; 0x50 - 1414e: 21a0 movs r1, #160 ; 0xa0 - 14150: 4b2e ldr r3, [pc, #184] ; (1420c ) - 14152: 4798 blx r3 - 14154: b202 sxth r2, r0 - 14156: e6af b.n 13eb8 + 141a6: 2000 movs r0, #0 + 141a8: 4b31 ldr r3, [pc, #196] ; (14270 ) + 141aa: 4798 blx r3 + 141ac: 0003 movs r3, r0 + 141ae: 0080 lsls r0, r0, #2 + 141b0: 18c0 adds r0, r0, r3 + 141b2: 0080 lsls r0, r0, #2 + 141b4: 3050 adds r0, #80 ; 0x50 + 141b6: 21a0 movs r1, #160 ; 0xa0 + 141b8: 4b2e ldr r3, [pc, #184] ; (14274 ) + 141ba: 4798 blx r3 + 141bc: b202 sxth r2, r0 + 141be: e6af b.n 13f20 lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15)); - 14158: 2000 movs r0, #0 - 1415a: 4b2b ldr r3, [pc, #172] ; (14208 ) - 1415c: 4798 blx r3 - 1415e: 0103 lsls r3, r0, #4 - 14160: 1a18 subs r0, r3, r0 - 14162: 3050 adds r0, #80 ; 0x50 - 14164: 21a0 movs r1, #160 ; 0xa0 - 14166: 4b29 ldr r3, [pc, #164] ; (1420c ) - 14168: 4798 blx r3 - 1416a: b202 sxth r2, r0 - 1416c: e6b7 b.n 13ede + 141c0: 2000 movs r0, #0 + 141c2: 4b2b ldr r3, [pc, #172] ; (14270 ) + 141c4: 4798 blx r3 + 141c6: 0103 lsls r3, r0, #4 + 141c8: 1a18 subs r0, r3, r0 + 141ca: 3050 adds r0, #80 ; 0x50 + 141cc: 21a0 movs r1, #160 ; 0xa0 + 141ce: 4b29 ldr r3, [pc, #164] ; (14274 ) + 141d0: 4798 blx r3 + 141d2: b202 sxth r2, r0 + 141d4: e6b7 b.n 13f46 lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 1416e: 2000 movs r0, #0 - 14170: 4b25 ldr r3, [pc, #148] ; (14208 ) - 14172: 4798 blx r3 - 14174: 300a adds r0, #10 - 14176: 00c0 lsls r0, r0, #3 - 14178: 21a0 movs r1, #160 ; 0xa0 - 1417a: 4b24 ldr r3, [pc, #144] ; (1420c ) - 1417c: 4798 blx r3 - 1417e: b202 sxth r2, r0 - 14180: e6e6 b.n 13f50 + 141d6: 2000 movs r0, #0 + 141d8: 4b25 ldr r3, [pc, #148] ; (14270 ) + 141da: 4798 blx r3 + 141dc: 300a adds r0, #10 + 141de: 00c0 lsls r0, r0, #3 + 141e0: 21a0 movs r1, #160 ; 0xa0 + 141e2: 4b24 ldr r3, [pc, #144] ; (14274 ) + 141e4: 4798 blx r3 + 141e6: b202 sxth r2, r0 + 141e8: e6e6 b.n 13fb8 lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 14182: 2000 movs r0, #0 - 14184: 4b20 ldr r3, [pc, #128] ; (14208 ) - 14186: 4798 blx r3 - 14188: 300a adds r0, #10 - 1418a: 00c0 lsls r0, r0, #3 - 1418c: 21a0 movs r1, #160 ; 0xa0 - 1418e: 4b1f ldr r3, [pc, #124] ; (1420c ) - 14190: 4798 blx r3 - 14192: b202 sxth r2, r0 - 14194: e6ee b.n 13f74 + 141ea: 2000 movs r0, #0 + 141ec: 4b20 ldr r3, [pc, #128] ; (14270 ) + 141ee: 4798 blx r3 + 141f0: 300a adds r0, #10 + 141f2: 00c0 lsls r0, r0, #3 + 141f4: 21a0 movs r1, #160 ; 0xa0 + 141f6: 4b1f ldr r3, [pc, #124] ; (14274 ) + 141f8: 4798 blx r3 + 141fa: b202 sxth r2, r0 + 141fc: e6ee b.n 13fdc lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25)); - 14196: 2000 movs r0, #0 - 14198: 4b1b ldr r3, [pc, #108] ; (14208 ) - 1419a: 4798 blx r3 - 1419c: 0083 lsls r3, r0, #2 - 1419e: 1818 adds r0, r3, r0 - 141a0: 0083 lsls r3, r0, #2 - 141a2: 18c0 adds r0, r0, r3 - 141a4: 3050 adds r0, #80 ; 0x50 - 141a6: 21a0 movs r1, #160 ; 0xa0 - 141a8: 4b18 ldr r3, [pc, #96] ; (1420c ) - 141aa: 4798 blx r3 - 141ac: b202 sxth r2, r0 - 141ae: e6f6 b.n 13f9e - 141b0: 2308 movs r3, #8 - 141b2: 2112 movs r1, #18 - 141b4: 220b movs r2, #11 - 141b6: e705 b.n 13fc4 + 141fe: 2000 movs r0, #0 + 14200: 4b1b ldr r3, [pc, #108] ; (14270 ) + 14202: 4798 blx r3 + 14204: 0083 lsls r3, r0, #2 + 14206: 1818 adds r0, r3, r0 + 14208: 0083 lsls r3, r0, #2 + 1420a: 18c0 adds r0, r0, r3 + 1420c: 3050 adds r0, #80 ; 0x50 + 1420e: 21a0 movs r1, #160 ; 0xa0 + 14210: 4b18 ldr r3, [pc, #96] ; (14274 ) + 14212: 4798 blx r3 + 14214: b202 sxth r2, r0 + 14216: e6f6 b.n 14006 + 14218: 2308 movs r3, #8 + 1421a: 2112 movs r1, #18 + 1421c: 220b movs r2, #11 + 1421e: e705 b.n 1402c lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8)); - 141b8: 2000 movs r0, #0 - 141ba: 4b13 ldr r3, [pc, #76] ; (14208 ) - 141bc: 4798 blx r3 - 141be: 300a adds r0, #10 - 141c0: 00c0 lsls r0, r0, #3 - 141c2: 21a0 movs r1, #160 ; 0xa0 - 141c4: 4b11 ldr r3, [pc, #68] ; (1420c ) - 141c6: 4798 blx r3 - 141c8: b202 sxth r2, r0 - 141ca: e710 b.n 13fee - 141cc: 2308 movs r3, #8 - 141ce: 2112 movs r1, #18 - 141d0: 220b movs r2, #11 - 141d2: e721 b.n 14018 + 14220: 2000 movs r0, #0 + 14222: 4b13 ldr r3, [pc, #76] ; (14270 ) + 14224: 4798 blx r3 + 14226: 300a adds r0, #10 + 14228: 00c0 lsls r0, r0, #3 + 1422a: 21a0 movs r1, #160 ; 0xa0 + 1422c: 4b11 ldr r3, [pc, #68] ; (14274 ) + 1422e: 4798 blx r3 + 14230: b202 sxth r2, r0 + 14232: e710 b.n 14056 + 14234: 2308 movs r3, #8 + 14236: 2112 movs r1, #18 + 14238: 220b movs r2, #11 + 1423a: e721 b.n 14080 lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30)); - 141d4: 2000 movs r0, #0 - 141d6: 4b0c ldr r3, [pc, #48] ; (14208 ) - 141d8: 4798 blx r3 - 141da: 0103 lsls r3, r0, #4 - 141dc: 1a18 subs r0, r3, r0 - 141de: 0040 lsls r0, r0, #1 - 141e0: 3050 adds r0, #80 ; 0x50 - 141e2: 21a0 movs r1, #160 ; 0xa0 - 141e4: 4b09 ldr r3, [pc, #36] ; (1420c ) - 141e6: 4798 blx r3 - 141e8: b202 sxth r2, r0 - 141ea: e732 b.n 14052 + 1423c: 2000 movs r0, #0 + 1423e: 4b0c ldr r3, [pc, #48] ; (14270 ) + 14240: 4798 blx r3 + 14242: 0103 lsls r3, r0, #4 + 14244: 1a18 subs r0, r3, r0 + 14246: 0040 lsls r0, r0, #1 + 14248: 3050 adds r0, #80 ; 0x50 + 1424a: 21a0 movs r1, #160 ; 0xa0 + 1424c: 4b09 ldr r3, [pc, #36] ; (14274 ) + 1424e: 4798 blx r3 + 14250: b202 sxth r2, r0 + 14252: e732 b.n 140ba lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10)); - 141ec: 2000 movs r0, #0 - 141ee: 4b06 ldr r3, [pc, #24] ; (14208 ) - 141f0: 4798 blx r3 - 141f2: 0003 movs r3, r0 - 141f4: 0080 lsls r0, r0, #2 - 141f6: 18c0 adds r0, r0, r3 - 141f8: 0040 lsls r0, r0, #1 - 141fa: 3050 adds r0, #80 ; 0x50 - 141fc: 21a0 movs r1, #160 ; 0xa0 - 141fe: 4b03 ldr r3, [pc, #12] ; (1420c ) - 14200: 4798 blx r3 - 14202: b202 sxth r2, r0 - 14204: e739 b.n 1407a - 14206: 46c0 nop ; (mov r8, r8) - 14208: 0000f5fd .word 0x0000f5fd - 1420c: 00017961 .word 0x00017961 - -00014210 : -{ - 14210: b570 push {r4, r5, r6, lr} + 14254: 2000 movs r0, #0 + 14256: 4b06 ldr r3, [pc, #24] ; (14270 ) + 14258: 4798 blx r3 + 1425a: 0003 movs r3, r0 + 1425c: 0080 lsls r0, r0, #2 + 1425e: 18c0 adds r0, r0, r3 + 14260: 0040 lsls r0, r0, #1 + 14262: 3050 adds r0, #80 ; 0x50 + 14264: 21a0 movs r1, #160 ; 0xa0 + 14266: 4b03 ldr r3, [pc, #12] ; (14274 ) + 14268: 4798 blx r3 + 1426a: b202 sxth r2, r0 + 1426c: e739 b.n 140e2 + 1426e: 46c0 nop ; (mov r8, r8) + 14270: 0000f665 .word 0x0000f665 + 14274: 000179f1 .word 0x000179f1 + +00014278 : +{ + 14278: b570 push {r4, r5, r6, lr} style_init_reset(&styles->arc_indic); - 14212: 4c39 ldr r4, [pc, #228] ; (142f8 ) - 14214: 6820 ldr r0, [r4, #0] - 14216: 301c adds r0, #28 - 14218: 4b38 ldr r3, [pc, #224] ; (142fc ) - 1421a: 4798 blx r3 + 1427a: 4c39 ldr r4, [pc, #228] ; (14360 ) + 1427c: 6820 ldr r0, [r4, #0] + 1427e: 301c adds r0, #28 + 14280: 4b38 ldr r3, [pc, #224] ; (14364 ) + 14282: 4798 blx r3 lv_style_set_line_color(&styles->arc_indic, LV_STATE_DEFAULT, theme.color_primary); - 1421c: 6820 ldr r0, [r4, #0] - 1421e: 301c adds r0, #28 - 14220: 4b37 ldr r3, [pc, #220] ; (14300 ) - 14222: 889a ldrh r2, [r3, #4] + 14284: 6820 ldr r0, [r4, #0] + 14286: 301c adds r0, #28 + 14288: 4b37 ldr r3, [pc, #220] ; (14368 ) + 1428a: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 14224: 2199 movs r1, #153 ; 0x99 - 14226: 4b37 ldr r3, [pc, #220] ; (14304 ) - 14228: 4798 blx r3 + 1428c: 2199 movs r1, #153 ; 0x99 + 1428e: 4b37 ldr r3, [pc, #220] ; (1436c ) + 14290: 4798 blx r3 lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25)); - 1422a: 6824 ldr r4, [r4, #0] - 1422c: 341c adds r4, #28 - 1422e: 2000 movs r0, #0 - 14230: 4b35 ldr r3, [pc, #212] ; (14308 ) - 14232: 4798 blx r3 - 14234: 0083 lsls r3, r0, #2 - 14236: 1818 adds r0, r3, r0 - 14238: 0083 lsls r3, r0, #2 - 1423a: 18c0 adds r0, r0, r3 - 1423c: 3050 adds r0, #80 ; 0x50 - 1423e: 2340 movs r3, #64 ; 0x40 - 14240: 33ff adds r3, #255 ; 0xff - 14242: 2201 movs r2, #1 - 14244: 4298 cmp r0, r3 - 14246: d838 bhi.n 142ba + 14292: 6824 ldr r4, [r4, #0] + 14294: 341c adds r4, #28 + 14296: 2000 movs r0, #0 + 14298: 4b35 ldr r3, [pc, #212] ; (14370 ) + 1429a: 4798 blx r3 + 1429c: 0083 lsls r3, r0, #2 + 1429e: 1818 adds r0, r3, r0 + 142a0: 0083 lsls r3, r0, #2 + 142a2: 18c0 adds r0, r0, r3 + 142a4: 3050 adds r0, #80 ; 0x50 + 142a6: 2340 movs r3, #64 ; 0x40 + 142a8: 33ff adds r3, #255 ; 0xff + 142aa: 2201 movs r2, #1 + 142ac: 4298 cmp r0, r3 + 142ae: d838 bhi.n 14322 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 14248: 2190 movs r1, #144 ; 0x90 - 1424a: 0020 movs r0, r4 - 1424c: 4d2f ldr r5, [pc, #188] ; (1430c ) - 1424e: 47a8 blx r5 + 142b0: 2190 movs r1, #144 ; 0x90 + 142b2: 0020 movs r0, r4 + 142b4: 4d2f ldr r5, [pc, #188] ; (14374 ) + 142b6: 47a8 blx r5 lv_style_set_line_rounded(&styles->arc_indic, LV_STATE_DEFAULT, true); - 14250: 4c29 ldr r4, [pc, #164] ; (142f8 ) - 14252: 6820 ldr r0, [r4, #0] - 14254: 301c adds r0, #28 + 142b8: 4c29 ldr r4, [pc, #164] ; (14360 ) + 142ba: 6820 ldr r0, [r4, #0] + 142bc: 301c adds r0, #28 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) - 14256: 2201 movs r2, #1 - 14258: 2194 movs r1, #148 ; 0x94 - 1425a: 47a8 blx r5 + 142be: 2201 movs r2, #1 + 142c0: 2194 movs r1, #148 ; 0x94 + 142c2: 47a8 blx r5 style_init_reset(&styles->arc_bg); - 1425c: 6820 ldr r0, [r4, #0] - 1425e: 3020 adds r0, #32 - 14260: 4b26 ldr r3, [pc, #152] ; (142fc ) - 14262: 4798 blx r3 + 142c4: 6820 ldr r0, [r4, #0] + 142c6: 3020 adds r0, #32 + 142c8: 4b26 ldr r3, [pc, #152] ; (14364 ) + 142ca: 4798 blx r3 lv_style_set_line_color(&styles->arc_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); - 14264: 6820 ldr r0, [r4, #0] - 14266: 3020 adds r0, #32 - 14268: 4b25 ldr r3, [pc, #148] ; (14300 ) - 1426a: 699b ldr r3, [r3, #24] - 1426c: 079b lsls r3, r3, #30 - 1426e: d431 bmi.n 142d4 - 14270: 2308 movs r3, #8 - 14272: 2112 movs r1, #18 - 14274: 2209 movs r2, #9 - 14276: 0149 lsls r1, r1, #5 - 14278: 02db lsls r3, r3, #11 - 1427a: 430a orrs r2, r1 - 1427c: 431a orrs r2, r3 + 142cc: 6820 ldr r0, [r4, #0] + 142ce: 3020 adds r0, #32 + 142d0: 4b25 ldr r3, [pc, #148] ; (14368 ) + 142d2: 699b ldr r3, [r3, #24] + 142d4: 079b lsls r3, r3, #30 + 142d6: d431 bmi.n 1433c + 142d8: 2308 movs r3, #8 + 142da: 2112 movs r1, #18 + 142dc: 2209 movs r2, #9 + 142de: 0149 lsls r1, r1, #5 + 142e0: 02db lsls r3, r3, #11 + 142e2: 430a orrs r2, r1 + 142e4: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 1427e: 2199 movs r1, #153 ; 0x99 - 14280: 4b20 ldr r3, [pc, #128] ; (14304 ) - 14282: 4798 blx r3 + 142e6: 2199 movs r1, #153 ; 0x99 + 142e8: 4b20 ldr r3, [pc, #128] ; (1436c ) + 142ea: 4798 blx r3 lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 14284: 4b1c ldr r3, [pc, #112] ; (142f8 ) - 14286: 681c ldr r4, [r3, #0] - 14288: 3420 adds r4, #32 - 1428a: 2000 movs r0, #0 - 1428c: 4b1e ldr r3, [pc, #120] ; (14308 ) - 1428e: 4798 blx r3 - 14290: 0083 lsls r3, r0, #2 - 14292: 1818 adds r0, r3, r0 - 14294: 0083 lsls r3, r0, #2 - 14296: 18c0 adds r0, r0, r3 - 14298: 3050 adds r0, #80 ; 0x50 - 1429a: 2340 movs r3, #64 ; 0x40 - 1429c: 33ff adds r3, #255 ; 0xff - 1429e: 2201 movs r2, #1 - 142a0: 4298 cmp r0, r3 - 142a2: d81b bhi.n 142dc + 142ec: 4b1c ldr r3, [pc, #112] ; (14360 ) + 142ee: 681c ldr r4, [r3, #0] + 142f0: 3420 adds r4, #32 + 142f2: 2000 movs r0, #0 + 142f4: 4b1e ldr r3, [pc, #120] ; (14370 ) + 142f6: 4798 blx r3 + 142f8: 0083 lsls r3, r0, #2 + 142fa: 1818 adds r0, r3, r0 + 142fc: 0083 lsls r3, r0, #2 + 142fe: 18c0 adds r0, r0, r3 + 14300: 3050 adds r0, #80 ; 0x50 + 14302: 2340 movs r3, #64 ; 0x40 + 14304: 33ff adds r3, #255 ; 0xff + 14306: 2201 movs r2, #1 + 14308: 4298 cmp r0, r3 + 1430a: d81b bhi.n 14344 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 142a4: 2190 movs r1, #144 ; 0x90 - 142a6: 0020 movs r0, r4 - 142a8: 4c18 ldr r4, [pc, #96] ; (1430c ) - 142aa: 47a0 blx r4 + 1430c: 2190 movs r1, #144 ; 0x90 + 1430e: 0020 movs r0, r4 + 14310: 4c18 ldr r4, [pc, #96] ; (14374 ) + 14312: 47a0 blx r4 lv_style_set_line_rounded(&styles->arc_bg, LV_STATE_DEFAULT, true); - 142ac: 4b12 ldr r3, [pc, #72] ; (142f8 ) - 142ae: 6818 ldr r0, [r3, #0] - 142b0: 3020 adds r0, #32 + 14314: 4b12 ldr r3, [pc, #72] ; (14360 ) + 14316: 6818 ldr r0, [r3, #0] + 14318: 3020 adds r0, #32 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) - 142b2: 2201 movs r2, #1 - 142b4: 2194 movs r1, #148 ; 0x94 - 142b6: 47a0 blx r4 + 1431a: 2201 movs r2, #1 + 1431c: 2194 movs r1, #148 ; 0x94 + 1431e: 47a0 blx r4 } - 142b8: bd70 pop {r4, r5, r6, pc} + 14320: bd70 pop {r4, r5, r6, pc} lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25)); - 142ba: 2000 movs r0, #0 - 142bc: 4b12 ldr r3, [pc, #72] ; (14308 ) - 142be: 4798 blx r3 - 142c0: 0083 lsls r3, r0, #2 - 142c2: 1818 adds r0, r3, r0 - 142c4: 0083 lsls r3, r0, #2 - 142c6: 18c0 adds r0, r0, r3 - 142c8: 3050 adds r0, #80 ; 0x50 - 142ca: 21a0 movs r1, #160 ; 0xa0 - 142cc: 4b10 ldr r3, [pc, #64] ; (14310 ) - 142ce: 4798 blx r3 - 142d0: b202 sxth r2, r0 - 142d2: e7b9 b.n 14248 - 142d4: 231a movs r3, #26 - 142d6: 2135 movs r1, #53 ; 0x35 - 142d8: 221b movs r2, #27 - 142da: e7cc b.n 14276 + 14322: 2000 movs r0, #0 + 14324: 4b12 ldr r3, [pc, #72] ; (14370 ) + 14326: 4798 blx r3 + 14328: 0083 lsls r3, r0, #2 + 1432a: 1818 adds r0, r3, r0 + 1432c: 0083 lsls r3, r0, #2 + 1432e: 18c0 adds r0, r0, r3 + 14330: 3050 adds r0, #80 ; 0x50 + 14332: 21a0 movs r1, #160 ; 0xa0 + 14334: 4b10 ldr r3, [pc, #64] ; (14378 ) + 14336: 4798 blx r3 + 14338: b202 sxth r2, r0 + 1433a: e7b9 b.n 142b0 + 1433c: 231a movs r3, #26 + 1433e: 2135 movs r1, #53 ; 0x35 + 14340: 221b movs r2, #27 + 14342: e7cc b.n 142de lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 142dc: 2000 movs r0, #0 - 142de: 4b0a ldr r3, [pc, #40] ; (14308 ) - 142e0: 4798 blx r3 - 142e2: 0083 lsls r3, r0, #2 - 142e4: 1818 adds r0, r3, r0 - 142e6: 0083 lsls r3, r0, #2 - 142e8: 18c0 adds r0, r0, r3 - 142ea: 3050 adds r0, #80 ; 0x50 - 142ec: 21a0 movs r1, #160 ; 0xa0 - 142ee: 4b08 ldr r3, [pc, #32] ; (14310 ) - 142f0: 4798 blx r3 - 142f2: b202 sxth r2, r0 - 142f4: e7d6 b.n 142a4 - 142f6: 46c0 nop ; (mov r8, r8) - 142f8: 20004c38 .word 0x20004c38 - 142fc: 0001242d .word 0x0001242d - 14300: 20004c3c .word 0x20004c3c - 14304: 00004ded .word 0x00004ded - 14308: 0000f5fd .word 0x0000f5fd - 1430c: 00004c8d .word 0x00004c8d - 14310: 00017961 .word 0x00017961 - -00014314 : -{ - 14314: b5f0 push {r4, r5, r6, r7, lr} - 14316: 46c6 mov lr, r8 - 14318: b500 push {lr} + 14344: 2000 movs r0, #0 + 14346: 4b0a ldr r3, [pc, #40] ; (14370 ) + 14348: 4798 blx r3 + 1434a: 0083 lsls r3, r0, #2 + 1434c: 1818 adds r0, r3, r0 + 1434e: 0083 lsls r3, r0, #2 + 14350: 18c0 adds r0, r0, r3 + 14352: 3050 adds r0, #80 ; 0x50 + 14354: 21a0 movs r1, #160 ; 0xa0 + 14356: 4b08 ldr r3, [pc, #32] ; (14378 ) + 14358: 4798 blx r3 + 1435a: b202 sxth r2, r0 + 1435c: e7d6 b.n 1430c + 1435e: 46c0 nop ; (mov r8, r8) + 14360: 20004c38 .word 0x20004c38 + 14364: 00012495 .word 0x00012495 + 14368: 20004c3c .word 0x20004c3c + 1436c: 00004e55 .word 0x00004e55 + 14370: 0000f665 .word 0x0000f665 + 14374: 00004cf5 .word 0x00004cf5 + 14378: 000179f1 .word 0x000179f1 + +0001437c : +{ + 1437c: b5f0 push {r4, r5, r6, r7, lr} + 1437e: 46c6 mov lr, r8 + 14380: b500 push {lr} style_init_reset(&styles->led); - 1431a: 4c39 ldr r4, [pc, #228] ; (14400 ) - 1431c: 6820 ldr r0, [r4, #0] - 1431e: 306c adds r0, #108 ; 0x6c - 14320: 4b38 ldr r3, [pc, #224] ; (14404 ) - 14322: 4798 blx r3 + 14382: 4c39 ldr r4, [pc, #228] ; (14468 ) + 14384: 6820 ldr r0, [r4, #0] + 14386: 306c adds r0, #108 ; 0x6c + 14388: 4b38 ldr r3, [pc, #224] ; (1446c ) + 1438a: 4798 blx r3 lv_style_set_bg_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_COVER); - 14324: 6820 ldr r0, [r4, #0] - 14326: 306c adds r0, #108 ; 0x6c + 1438c: 6820 ldr r0, [r4, #0] + 1438e: 306c adds r0, #108 ; 0x6c _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 14328: 22ff movs r2, #255 ; 0xff - 1432a: 212c movs r1, #44 ; 0x2c - 1432c: 4d36 ldr r5, [pc, #216] ; (14408 ) - 1432e: 47a8 blx r5 + 14390: 22ff movs r2, #255 ; 0xff + 14392: 212c movs r1, #44 ; 0x2c + 14394: 4d36 ldr r5, [pc, #216] ; (14470 ) + 14396: 47a8 blx r5 lv_style_set_bg_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary); - 14330: 6820 ldr r0, [r4, #0] - 14332: 306c adds r0, #108 ; 0x6c - 14334: 4b35 ldr r3, [pc, #212] ; (1440c ) - 14336: 4698 mov r8, r3 - 14338: 889a ldrh r2, [r3, #4] + 14398: 6820 ldr r0, [r4, #0] + 1439a: 306c adds r0, #108 ; 0x6c + 1439c: 4b35 ldr r3, [pc, #212] ; (14474 ) + 1439e: 4698 mov r8, r3 + 143a0: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1433a: 2129 movs r1, #41 ; 0x29 - 1433c: 4f34 ldr r7, [pc, #208] ; (14410 ) - 1433e: 47b8 blx r7 + 143a2: 2129 movs r1, #41 ; 0x29 + 143a4: 4f34 ldr r7, [pc, #208] ; (14478 ) + 143a6: 47b8 blx r7 lv_style_set_border_width(&styles->led, LV_STATE_DEFAULT, 2); - 14340: 6820 ldr r0, [r4, #0] - 14342: 306c adds r0, #108 ; 0x6c + 143a8: 6820 ldr r0, [r4, #0] + 143aa: 306c adds r0, #108 ; 0x6c _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 14344: 2202 movs r2, #2 - 14346: 2130 movs r1, #48 ; 0x30 - 14348: 4e32 ldr r6, [pc, #200] ; (14414 ) - 1434a: 47b0 blx r6 + 143ac: 2202 movs r2, #2 + 143ae: 2130 movs r1, #48 ; 0x30 + 143b0: 4e32 ldr r6, [pc, #200] ; (1447c ) + 143b2: 47b0 blx r6 lv_style_set_border_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_50); - 1434c: 6820 ldr r0, [r4, #0] - 1434e: 306c adds r0, #108 ; 0x6c + 143b4: 6820 ldr r0, [r4, #0] + 143b6: 306c adds r0, #108 ; 0x6c _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 14350: 227f movs r2, #127 ; 0x7f - 14352: 213c movs r1, #60 ; 0x3c - 14354: 47a8 blx r5 + 143b8: 227f movs r2, #127 ; 0x7f + 143ba: 213c movs r1, #60 ; 0x3c + 143bc: 47a8 blx r5 lv_style_set_border_color(&styles->led, LV_STATE_DEFAULT, lv_color_lighten(theme.color_primary, LV_OPA_30)); - 14356: 6825 ldr r5, [r4, #0] - 14358: 356c adds r5, #108 ; 0x6c - 1435a: 4643 mov r3, r8 - 1435c: 8898 ldrh r0, [r3, #4] - 1435e: 214c movs r1, #76 ; 0x4c - 14360: 4b2d ldr r3, [pc, #180] ; (14418 ) - 14362: 4798 blx r3 - 14364: 1c02 adds r2, r0, #0 + 143be: 6825 ldr r5, [r4, #0] + 143c0: 356c adds r5, #108 ; 0x6c + 143c2: 4643 mov r3, r8 + 143c4: 8898 ldrh r0, [r3, #4] + 143c6: 214c movs r1, #76 ; 0x4c + 143c8: 4b2d ldr r3, [pc, #180] ; (14480 ) + 143ca: 4798 blx r3 + 143cc: 1c02 adds r2, r0, #0 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 14366: 2139 movs r1, #57 ; 0x39 - 14368: 0028 movs r0, r5 - 1436a: 47b8 blx r7 + 143ce: 2139 movs r1, #57 ; 0x39 + 143d0: 0028 movs r0, r5 + 143d2: 47b8 blx r7 lv_style_set_radius(&styles->led, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 1436c: 6820 ldr r0, [r4, #0] - 1436e: 306c adds r0, #108 ; 0x6c + 143d4: 6820 ldr r0, [r4, #0] + 143d6: 306c adds r0, #108 ; 0x6c _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 14370: 4a2a ldr r2, [pc, #168] ; (1441c ) - 14372: 2101 movs r1, #1 - 14374: 47b0 blx r6 + 143d8: 4a2a ldr r2, [pc, #168] ; (14484 ) + 143da: 2101 movs r1, #1 + 143dc: 47b0 blx r6 lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15)); - 14376: 6824 ldr r4, [r4, #0] - 14378: 346c adds r4, #108 ; 0x6c - 1437a: 2000 movs r0, #0 - 1437c: 4b28 ldr r3, [pc, #160] ; (14420 ) - 1437e: 4798 blx r3 - 14380: 0103 lsls r3, r0, #4 - 14382: 1a18 subs r0, r3, r0 - 14384: 3050 adds r0, #80 ; 0x50 - 14386: 2340 movs r3, #64 ; 0x40 - 14388: 33ff adds r3, #255 ; 0xff - 1438a: 2201 movs r2, #1 - 1438c: 4298 cmp r0, r3 - 1438e: d81f bhi.n 143d0 + 143de: 6824 ldr r4, [r4, #0] + 143e0: 346c adds r4, #108 ; 0x6c + 143e2: 2000 movs r0, #0 + 143e4: 4b28 ldr r3, [pc, #160] ; (14488 ) + 143e6: 4798 blx r3 + 143e8: 0103 lsls r3, r0, #4 + 143ea: 1a18 subs r0, r3, r0 + 143ec: 3050 adds r0, #80 ; 0x50 + 143ee: 2340 movs r3, #64 ; 0x40 + 143f0: 33ff adds r3, #255 ; 0xff + 143f2: 2201 movs r2, #1 + 143f4: 4298 cmp r0, r3 + 143f6: d81f bhi.n 14438 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 14390: 2150 movs r1, #80 ; 0x50 - 14392: 0020 movs r0, r4 - 14394: 4b1f ldr r3, [pc, #124] ; (14414 ) - 14396: 4798 blx r3 + 143f8: 2150 movs r1, #80 ; 0x50 + 143fa: 0020 movs r0, r4 + 143fc: 4b1f ldr r3, [pc, #124] ; (1447c ) + 143fe: 4798 blx r3 lv_style_set_shadow_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary); - 14398: 4c19 ldr r4, [pc, #100] ; (14400 ) - 1439a: 6820 ldr r0, [r4, #0] - 1439c: 306c adds r0, #108 ; 0x6c - 1439e: 4b1b ldr r3, [pc, #108] ; (1440c ) - 143a0: 889a ldrh r2, [r3, #4] + 14400: 4c19 ldr r4, [pc, #100] ; (14468 ) + 14402: 6820 ldr r0, [r4, #0] + 14404: 306c adds r0, #108 ; 0x6c + 14406: 4b1b ldr r3, [pc, #108] ; (14474 ) + 14408: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 143a2: 2159 movs r1, #89 ; 0x59 - 143a4: 4b1a ldr r3, [pc, #104] ; (14410 ) - 143a6: 4798 blx r3 + 1440a: 2159 movs r1, #89 ; 0x59 + 1440c: 4b1a ldr r3, [pc, #104] ; (14478 ) + 1440e: 4798 blx r3 lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5)); - 143a8: 6824 ldr r4, [r4, #0] - 143aa: 346c adds r4, #108 ; 0x6c - 143ac: 2000 movs r0, #0 - 143ae: 4b1c ldr r3, [pc, #112] ; (14420 ) - 143b0: 4798 blx r3 - 143b2: 0083 lsls r3, r0, #2 - 143b4: 1818 adds r0, r3, r0 - 143b6: 3050 adds r0, #80 ; 0x50 - 143b8: 2340 movs r3, #64 ; 0x40 - 143ba: 33ff adds r3, #255 ; 0xff - 143bc: 2201 movs r2, #1 - 143be: 4298 cmp r0, r3 - 143c0: d811 bhi.n 143e6 + 14410: 6824 ldr r4, [r4, #0] + 14412: 346c adds r4, #108 ; 0x6c + 14414: 2000 movs r0, #0 + 14416: 4b1c ldr r3, [pc, #112] ; (14488 ) + 14418: 4798 blx r3 + 1441a: 0083 lsls r3, r0, #2 + 1441c: 1818 adds r0, r3, r0 + 1441e: 3050 adds r0, #80 ; 0x50 + 14420: 2340 movs r3, #64 ; 0x40 + 14422: 33ff adds r3, #255 ; 0xff + 14424: 2201 movs r2, #1 + 14426: 4298 cmp r0, r3 + 14428: d811 bhi.n 1444e _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 143c2: 2153 movs r1, #83 ; 0x53 - 143c4: 0020 movs r0, r4 - 143c6: 4b13 ldr r3, [pc, #76] ; (14414 ) - 143c8: 4798 blx r3 -} - 143ca: bc04 pop {r2} - 143cc: 4690 mov r8, r2 - 143ce: bdf0 pop {r4, r5, r6, r7, pc} + 1442a: 2153 movs r1, #83 ; 0x53 + 1442c: 0020 movs r0, r4 + 1442e: 4b13 ldr r3, [pc, #76] ; (1447c ) + 14430: 4798 blx r3 +} + 14432: bc04 pop {r2} + 14434: 4690 mov r8, r2 + 14436: bdf0 pop {r4, r5, r6, r7, pc} lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15)); - 143d0: 2000 movs r0, #0 - 143d2: 4b13 ldr r3, [pc, #76] ; (14420 ) - 143d4: 4798 blx r3 - 143d6: 0103 lsls r3, r0, #4 - 143d8: 1a18 subs r0, r3, r0 - 143da: 3050 adds r0, #80 ; 0x50 - 143dc: 21a0 movs r1, #160 ; 0xa0 - 143de: 4b11 ldr r3, [pc, #68] ; (14424 ) - 143e0: 4798 blx r3 - 143e2: b202 sxth r2, r0 - 143e4: e7d4 b.n 14390 + 14438: 2000 movs r0, #0 + 1443a: 4b13 ldr r3, [pc, #76] ; (14488 ) + 1443c: 4798 blx r3 + 1443e: 0103 lsls r3, r0, #4 + 14440: 1a18 subs r0, r3, r0 + 14442: 3050 adds r0, #80 ; 0x50 + 14444: 21a0 movs r1, #160 ; 0xa0 + 14446: 4b11 ldr r3, [pc, #68] ; (1448c ) + 14448: 4798 blx r3 + 1444a: b202 sxth r2, r0 + 1444c: e7d4 b.n 143f8 lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5)); - 143e6: 2000 movs r0, #0 - 143e8: 4b0d ldr r3, [pc, #52] ; (14420 ) - 143ea: 4798 blx r3 - 143ec: 0003 movs r3, r0 - 143ee: 0080 lsls r0, r0, #2 - 143f0: 18c0 adds r0, r0, r3 - 143f2: 3050 adds r0, #80 ; 0x50 - 143f4: 21a0 movs r1, #160 ; 0xa0 - 143f6: 4b0b ldr r3, [pc, #44] ; (14424 ) - 143f8: 4798 blx r3 - 143fa: b202 sxth r2, r0 - 143fc: e7e1 b.n 143c2 - 143fe: 46c0 nop ; (mov r8, r8) - 14400: 20004c38 .word 0x20004c38 - 14404: 0001242d .word 0x0001242d - 14408: 00004f4d .word 0x00004f4d - 1440c: 20004c3c .word 0x20004c3c - 14410: 00004ded .word 0x00004ded - 14414: 00004c8d .word 0x00004c8d - 14418: 00010221 .word 0x00010221 - 1441c: 00007fff .word 0x00007fff - 14420: 0000f5fd .word 0x0000f5fd - 14424: 00017961 .word 0x00017961 - -00014428 : -{ - 14428: b5f0 push {r4, r5, r6, r7, lr} - 1442a: 46c6 mov lr, r8 - 1442c: b500 push {lr} - 1442e: 4680 mov r8, r0 - 14430: 1c0f adds r7, r1, #0 - 14432: 0015 movs r5, r2 - 14434: 001e movs r6, r3 + 1444e: 2000 movs r0, #0 + 14450: 4b0d ldr r3, [pc, #52] ; (14488 ) + 14452: 4798 blx r3 + 14454: 0003 movs r3, r0 + 14456: 0080 lsls r0, r0, #2 + 14458: 18c0 adds r0, r0, r3 + 1445a: 3050 adds r0, #80 ; 0x50 + 1445c: 21a0 movs r1, #160 ; 0xa0 + 1445e: 4b0b ldr r3, [pc, #44] ; (1448c ) + 14460: 4798 blx r3 + 14462: b202 sxth r2, r0 + 14464: e7e1 b.n 1442a + 14466: 46c0 nop ; (mov r8, r8) + 14468: 20004c38 .word 0x20004c38 + 1446c: 00012495 .word 0x00012495 + 14470: 00004fb5 .word 0x00004fb5 + 14474: 20004c3c .word 0x20004c3c + 14478: 00004e55 .word 0x00004e55 + 1447c: 00004cf5 .word 0x00004cf5 + 14480: 00010289 .word 0x00010289 + 14484: 00007fff .word 0x00007fff + 14488: 0000f665 .word 0x0000f665 + 1448c: 000179f1 .word 0x000179f1 + +00014490 : +{ + 14490: b5f0 push {r4, r5, r6, r7, lr} + 14492: 46c6 mov lr, r8 + 14494: b500 push {lr} + 14496: 4680 mov r8, r0 + 14498: 1c0f adds r7, r1, #0 + 1449a: 0015 movs r5, r2 + 1449c: 001e movs r6, r3 if(!inited) { - 14436: 4bfe ldr r3, [pc, #1016] ; (14830 ) - 14438: 781b ldrb r3, [r3, #0] - 1443a: 2b00 cmp r3, #0 - 1443c: d101 bne.n 14442 - 1443e: f001 fb9e bl 15b7e + 1449e: 4bfe ldr r3, [pc, #1016] ; (14898 ) + 144a0: 781b ldrb r3, [r3, #0] + 144a2: 2b00 cmp r3, #0 + 144a4: d101 bne.n 144aa + 144a6: f001 fb9e bl 15be6 theme.color_primary = color_primary; - 14442: 4cfc ldr r4, [pc, #1008] ; (14834 ) - 14444: 4643 mov r3, r8 - 14446: 80a3 strh r3, [r4, #4] + 144aa: 4cfc ldr r4, [pc, #1008] ; (1489c ) + 144ac: 4643 mov r3, r8 + 144ae: 80a3 strh r3, [r4, #4] theme.color_secondary = color_secondary; - 14448: 80e7 strh r7, [r4, #6] + 144b0: 80e7 strh r7, [r4, #6] theme.font_small = font_small; - 1444a: 60a6 str r6, [r4, #8] + 144b2: 60a6 str r6, [r4, #8] theme.font_normal = font_normal; - 1444c: 9b06 ldr r3, [sp, #24] - 1444e: 60e3 str r3, [r4, #12] + 144b4: 9b06 ldr r3, [sp, #24] + 144b6: 60e3 str r3, [r4, #12] theme.font_subtitle = font_subtitle; - 14450: 9b07 ldr r3, [sp, #28] - 14452: 6123 str r3, [r4, #16] + 144b8: 9b07 ldr r3, [sp, #28] + 144ba: 6123 str r3, [r4, #16] theme.font_title = font_title; - 14454: 9b08 ldr r3, [sp, #32] - 14456: 6163 str r3, [r4, #20] + 144bc: 9b08 ldr r3, [sp, #32] + 144be: 6163 str r3, [r4, #20] theme.flags = flags; - 14458: 61a5 str r5, [r4, #24] + 144c0: 61a5 str r5, [r4, #24] basic_init(); - 1445a: 4bf7 ldr r3, [pc, #988] ; (14838 ) - 1445c: 4798 blx r3 + 144c2: 4bf7 ldr r3, [pc, #988] ; (148a0 ) + 144c4: 4798 blx r3 bar_init(); - 1445e: 4bf7 ldr r3, [pc, #988] ; (1483c ) - 14460: 4798 blx r3 + 144c6: 4bf7 ldr r3, [pc, #988] ; (148a4 ) + 144c8: 4798 blx r3 led_init(); - 14462: 4bf7 ldr r3, [pc, #988] ; (14840 ) - 14464: 4798 blx r3 + 144ca: 4bf7 ldr r3, [pc, #988] ; (148a8 ) + 144cc: 4798 blx r3 slider_init(); - 14466: 4bf7 ldr r3, [pc, #988] ; (14844 ) - 14468: 4798 blx r3 + 144ce: 4bf7 ldr r3, [pc, #988] ; (148ac ) + 144d0: 4798 blx r3 switch_init(); - 1446a: 4bf7 ldr r3, [pc, #988] ; (14848 ) - 1446c: 4798 blx r3 + 144d2: 4bf7 ldr r3, [pc, #988] ; (148b0 ) + 144d4: 4798 blx r3 linemeter_init(); - 1446e: 4bf7 ldr r3, [pc, #988] ; (1484c ) - 14470: 4798 blx r3 + 144d6: 4bf7 ldr r3, [pc, #988] ; (148b4 ) + 144d8: 4798 blx r3 gauge_init(); - 14472: 4bf7 ldr r3, [pc, #988] ; (14850 ) - 14474: 4798 blx r3 + 144da: 4bf7 ldr r3, [pc, #988] ; (148b8 ) + 144dc: 4798 blx r3 arc_init(); - 14476: 4bf7 ldr r3, [pc, #988] ; (14854 ) - 14478: 4798 blx r3 + 144de: 4bf7 ldr r3, [pc, #988] ; (148bc ) + 144e0: 4798 blx r3 style_init_reset(&styles->chart_bg); - 1447a: 4df7 ldr r5, [pc, #988] ; (14858 ) - 1447c: 6828 ldr r0, [r5, #0] - 1447e: 3040 adds r0, #64 ; 0x40 - 14480: 4bf6 ldr r3, [pc, #984] ; (1485c ) - 14482: 4798 blx r3 + 144e2: 4df7 ldr r5, [pc, #988] ; (148c0 ) + 144e4: 6828 ldr r0, [r5, #0] + 144e6: 3040 adds r0, #64 ; 0x40 + 144e8: 4bf6 ldr r3, [pc, #984] ; (148c4 ) + 144ea: 4798 blx r3 lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 14484: 6828 ldr r0, [r5, #0] - 14486: 3040 adds r0, #64 ; 0x40 - 14488: 69a3 ldr r3, [r4, #24] - 1448a: 079b lsls r3, r3, #30 - 1448c: d501 bpl.n 14492 - 1448e: f001 fb7f bl 15b90 - 14492: 2314 movs r3, #20 - 14494: 212b movs r1, #43 ; 0x2b - 14496: 2217 movs r2, #23 - 14498: 0149 lsls r1, r1, #5 - 1449a: 02db lsls r3, r3, #11 - 1449c: 430a orrs r2, r1 - 1449e: 431a orrs r2, r3 + 144ec: 6828 ldr r0, [r5, #0] + 144ee: 3040 adds r0, #64 ; 0x40 + 144f0: 69a3 ldr r3, [r4, #24] + 144f2: 079b lsls r3, r3, #30 + 144f4: d501 bpl.n 144fa + 144f6: f001 fb7f bl 15bf8 + 144fa: 2314 movs r3, #20 + 144fc: 212b movs r1, #43 ; 0x2b + 144fe: 2217 movs r2, #23 + 14500: 0149 lsls r1, r1, #5 + 14502: 02db lsls r3, r3, #11 + 14504: 430a orrs r2, r1 + 14506: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 144a0: 49ef ldr r1, [pc, #956] ; (14860 ) - 144a2: 4bf0 ldr r3, [pc, #960] ; (14864 ) - 144a4: 4798 blx r3 + 14508: 49ef ldr r1, [pc, #956] ; (148c8 ) + 1450a: 4bf0 ldr r3, [pc, #960] ; (148cc ) + 1450c: 4798 blx r3 style_init_reset(&styles->chart_series_bg); - 144a6: 4cec ldr r4, [pc, #944] ; (14858 ) - 144a8: 6820 ldr r0, [r4, #0] - 144aa: 3044 adds r0, #68 ; 0x44 - 144ac: 4beb ldr r3, [pc, #940] ; (1485c ) - 144ae: 4798 blx r3 + 1450e: 4cec ldr r4, [pc, #944] ; (148c0 ) + 14510: 6820 ldr r0, [r4, #0] + 14512: 3044 adds r0, #68 ; 0x44 + 14514: 4beb ldr r3, [pc, #940] ; (148c4 ) + 14516: 4798 blx r3 lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1)); - 144b0: 6824 ldr r4, [r4, #0] - 144b2: 3444 adds r4, #68 ; 0x44 - 144b4: 2000 movs r0, #0 - 144b6: 4bec ldr r3, [pc, #944] ; (14868 ) - 144b8: 4798 blx r3 - 144ba: 3050 adds r0, #80 ; 0x50 - 144bc: 2340 movs r3, #64 ; 0x40 - 144be: 33ff adds r3, #255 ; 0xff - 144c0: 2201 movs r2, #1 - 144c2: 4298 cmp r0, r3 - 144c4: d901 bls.n 144ca - 144c6: f001 fb68 bl 15b9a + 14518: 6824 ldr r4, [r4, #0] + 1451a: 3444 adds r4, #68 ; 0x44 + 1451c: 2000 movs r0, #0 + 1451e: 4bec ldr r3, [pc, #944] ; (148d0 ) + 14520: 4798 blx r3 + 14522: 3050 adds r0, #80 ; 0x50 + 14524: 2340 movs r3, #64 ; 0x40 + 14526: 33ff adds r3, #255 ; 0xff + 14528: 2201 movs r2, #1 + 1452a: 4298 cmp r0, r3 + 1452c: d901 bls.n 14532 + 1452e: f001 fb68 bl 15c02 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 144ca: 2190 movs r1, #144 ; 0x90 - 144cc: 0020 movs r0, r4 - 144ce: 4be7 ldr r3, [pc, #924] ; (1486c ) - 144d0: 4798 blx r3 + 14532: 2190 movs r1, #144 ; 0x90 + 14534: 0020 movs r0, r4 + 14536: 4be7 ldr r3, [pc, #924] ; (148d4 ) + 14538: 4798 blx r3 lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 144d2: 4be1 ldr r3, [pc, #900] ; (14858 ) - 144d4: 681c ldr r4, [r3, #0] - 144d6: 3444 adds r4, #68 ; 0x44 - 144d8: 2000 movs r0, #0 - 144da: 4be3 ldr r3, [pc, #908] ; (14868 ) - 144dc: 4798 blx r3 - 144de: 0083 lsls r3, r0, #2 - 144e0: 181b adds r3, r3, r0 - 144e2: 005b lsls r3, r3, #1 - 144e4: 3350 adds r3, #80 ; 0x50 - 144e6: 2140 movs r1, #64 ; 0x40 - 144e8: 31ff adds r1, #255 ; 0xff - 144ea: 2201 movs r2, #1 - 144ec: 428b cmp r3, r1 - 144ee: d901 bls.n 144f4 - 144f0: f001 fb5d bl 15bae + 1453a: 4be1 ldr r3, [pc, #900] ; (148c0 ) + 1453c: 681c ldr r4, [r3, #0] + 1453e: 3444 adds r4, #68 ; 0x44 + 14540: 2000 movs r0, #0 + 14542: 4be3 ldr r3, [pc, #908] ; (148d0 ) + 14544: 4798 blx r3 + 14546: 0083 lsls r3, r0, #2 + 14548: 181b adds r3, r3, r0 + 1454a: 005b lsls r3, r3, #1 + 1454c: 3350 adds r3, #80 ; 0x50 + 1454e: 2140 movs r1, #64 ; 0x40 + 14550: 31ff adds r1, #255 ; 0xff + 14552: 2201 movs r2, #1 + 14554: 428b cmp r3, r1 + 14556: d901 bls.n 1455c + 14558: f001 fb5d bl 15c16 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_WIDTH, line_dash_width, lv_style_int_t, _int, scalar) - 144f4: 2192 movs r1, #146 ; 0x92 - 144f6: 0020 movs r0, r4 - 144f8: 4bdc ldr r3, [pc, #880] ; (1486c ) - 144fa: 4798 blx r3 + 1455c: 2192 movs r1, #146 ; 0x92 + 1455e: 0020 movs r0, r4 + 14560: 4bdc ldr r3, [pc, #880] ; (148d4 ) + 14562: 4798 blx r3 lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 144fc: 4bd6 ldr r3, [pc, #856] ; (14858 ) - 144fe: 681c ldr r4, [r3, #0] - 14500: 3444 adds r4, #68 ; 0x44 - 14502: 2000 movs r0, #0 - 14504: 4bd8 ldr r3, [pc, #864] ; (14868 ) - 14506: 4798 blx r3 - 14508: 0083 lsls r3, r0, #2 - 1450a: 181b adds r3, r3, r0 - 1450c: 005b lsls r3, r3, #1 - 1450e: 3350 adds r3, #80 ; 0x50 - 14510: 2140 movs r1, #64 ; 0x40 - 14512: 31ff adds r1, #255 ; 0xff - 14514: 2201 movs r2, #1 - 14516: 428b cmp r3, r1 - 14518: d901 bls.n 1451e - 1451a: f001 fb56 bl 15bca + 14564: 4bd6 ldr r3, [pc, #856] ; (148c0 ) + 14566: 681c ldr r4, [r3, #0] + 14568: 3444 adds r4, #68 ; 0x44 + 1456a: 2000 movs r0, #0 + 1456c: 4bd8 ldr r3, [pc, #864] ; (148d0 ) + 1456e: 4798 blx r3 + 14570: 0083 lsls r3, r0, #2 + 14572: 181b adds r3, r3, r0 + 14574: 005b lsls r3, r3, #1 + 14576: 3350 adds r3, #80 ; 0x50 + 14578: 2140 movs r1, #64 ; 0x40 + 1457a: 31ff adds r1, #255 ; 0xff + 1457c: 2201 movs r2, #1 + 1457e: 428b cmp r3, r1 + 14580: d901 bls.n 14586 + 14582: f001 fb56 bl 15c32 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar) - 1451e: 2193 movs r1, #147 ; 0x93 - 14520: 0020 movs r0, r4 - 14522: 4bd2 ldr r3, [pc, #840] ; (1486c ) - 14524: 4798 blx r3 + 14586: 2193 movs r1, #147 ; 0x93 + 14588: 0020 movs r0, r4 + 1458a: 4bd2 ldr r3, [pc, #840] ; (148d4 ) + 1458c: 4798 blx r3 lv_style_set_line_color(&styles->chart_series_bg, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 14526: 4bcc ldr r3, [pc, #816] ; (14858 ) - 14528: 6818 ldr r0, [r3, #0] - 1452a: 3044 adds r0, #68 ; 0x44 - 1452c: 4bc1 ldr r3, [pc, #772] ; (14834 ) - 1452e: 699b ldr r3, [r3, #24] - 14530: 079b lsls r3, r3, #30 - 14532: d501 bpl.n 14538 - 14534: f001 fb57 bl 15be6 - 14538: 2310 movs r3, #16 - 1453a: 2122 movs r1, #34 ; 0x22 - 1453c: 2212 movs r2, #18 - 1453e: 0149 lsls r1, r1, #5 - 14540: 02db lsls r3, r3, #11 - 14542: 430a orrs r2, r1 - 14544: 431a orrs r2, r3 + 1458e: 4bcc ldr r3, [pc, #816] ; (148c0 ) + 14590: 6818 ldr r0, [r3, #0] + 14592: 3044 adds r0, #68 ; 0x44 + 14594: 4bc1 ldr r3, [pc, #772] ; (1489c ) + 14596: 699b ldr r3, [r3, #24] + 14598: 079b lsls r3, r3, #30 + 1459a: d501 bpl.n 145a0 + 1459c: f001 fb57 bl 15c4e + 145a0: 2310 movs r3, #16 + 145a2: 2122 movs r1, #34 ; 0x22 + 145a4: 2212 movs r2, #18 + 145a6: 0149 lsls r1, r1, #5 + 145a8: 02db lsls r3, r3, #11 + 145aa: 430a orrs r2, r1 + 145ac: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 14546: 2199 movs r1, #153 ; 0x99 - 14548: 4bc6 ldr r3, [pc, #792] ; (14864 ) - 1454a: 4798 blx r3 + 145ae: 2199 movs r1, #153 ; 0x99 + 145b0: 4bc6 ldr r3, [pc, #792] ; (148cc ) + 145b2: 4798 blx r3 style_init_reset(&styles->chart_series); - 1454c: 4cc2 ldr r4, [pc, #776] ; (14858 ) - 1454e: 6820 ldr r0, [r4, #0] - 14550: 3048 adds r0, #72 ; 0x48 - 14552: 4bc2 ldr r3, [pc, #776] ; (1485c ) - 14554: 4798 blx r3 + 145b4: 4cc2 ldr r4, [pc, #776] ; (148c0 ) + 145b6: 6820 ldr r0, [r4, #0] + 145b8: 3048 adds r0, #72 ; 0x48 + 145ba: 4bc2 ldr r3, [pc, #776] ; (148c4 ) + 145bc: 4798 blx r3 lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3)); - 14556: 6824 ldr r4, [r4, #0] - 14558: 3448 adds r4, #72 ; 0x48 - 1455a: 2000 movs r0, #0 - 1455c: 4bc2 ldr r3, [pc, #776] ; (14868 ) - 1455e: 4798 blx r3 - 14560: 0043 lsls r3, r0, #1 - 14562: 1818 adds r0, r3, r0 - 14564: 3050 adds r0, #80 ; 0x50 - 14566: 2340 movs r3, #64 ; 0x40 - 14568: 33ff adds r3, #255 ; 0xff - 1456a: 2201 movs r2, #1 - 1456c: 4298 cmp r0, r3 - 1456e: d901 bls.n 14574 - 14570: f001 fb3e bl 15bf0 + 145be: 6824 ldr r4, [r4, #0] + 145c0: 3448 adds r4, #72 ; 0x48 + 145c2: 2000 movs r0, #0 + 145c4: 4bc2 ldr r3, [pc, #776] ; (148d0 ) + 145c6: 4798 blx r3 + 145c8: 0043 lsls r3, r0, #1 + 145ca: 1818 adds r0, r3, r0 + 145cc: 3050 adds r0, #80 ; 0x50 + 145ce: 2340 movs r3, #64 ; 0x40 + 145d0: 33ff adds r3, #255 ; 0xff + 145d2: 2201 movs r2, #1 + 145d4: 4298 cmp r0, r3 + 145d6: d901 bls.n 145dc + 145d8: f001 fb3e bl 15c58 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 14574: 2190 movs r1, #144 ; 0x90 - 14576: 0020 movs r0, r4 - 14578: 4bbc ldr r3, [pc, #752] ; (1486c ) - 1457a: 4798 blx r3 + 145dc: 2190 movs r1, #144 ; 0x90 + 145de: 0020 movs r0, r4 + 145e0: 4bbc ldr r3, [pc, #752] ; (148d4 ) + 145e2: 4798 blx r3 lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4)); - 1457c: 4bb6 ldr r3, [pc, #728] ; (14858 ) - 1457e: 681c ldr r4, [r3, #0] - 14580: 3448 adds r4, #72 ; 0x48 - 14582: 2000 movs r0, #0 - 14584: 4bb8 ldr r3, [pc, #736] ; (14868 ) - 14586: 4798 blx r3 - 14588: 3014 adds r0, #20 - 1458a: 0080 lsls r0, r0, #2 - 1458c: 2340 movs r3, #64 ; 0x40 - 1458e: 33ff adds r3, #255 ; 0xff - 14590: 2201 movs r2, #1 - 14592: 4298 cmp r0, r3 - 14594: d901 bls.n 1459a - 14596: f001 fb38 bl 15c0a + 145e4: 4bb6 ldr r3, [pc, #728] ; (148c0 ) + 145e6: 681c ldr r4, [r3, #0] + 145e8: 3448 adds r4, #72 ; 0x48 + 145ea: 2000 movs r0, #0 + 145ec: 4bb8 ldr r3, [pc, #736] ; (148d0 ) + 145ee: 4798 blx r3 + 145f0: 3014 adds r0, #20 + 145f2: 0080 lsls r0, r0, #2 + 145f4: 2340 movs r3, #64 ; 0x40 + 145f6: 33ff adds r3, #255 ; 0xff + 145f8: 2201 movs r2, #1 + 145fa: 4298 cmp r0, r3 + 145fc: d901 bls.n 14602 + 145fe: f001 fb38 bl 15c72 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 1459a: 2103 movs r1, #3 - 1459c: 0020 movs r0, r4 - 1459e: 4bb3 ldr r3, [pc, #716] ; (1486c ) - 145a0: 4798 blx r3 + 14602: 2103 movs r1, #3 + 14604: 0020 movs r0, r4 + 14606: 4bb3 ldr r3, [pc, #716] ; (148d4 ) + 14608: 4798 blx r3 lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/ - 145a2: 4bad ldr r3, [pc, #692] ; (14858 ) - 145a4: 681c ldr r4, [r3, #0] - 145a6: 3448 adds r4, #72 ; 0x48 - 145a8: 2000 movs r0, #0 - 145aa: 4baf ldr r3, [pc, #700] ; (14868 ) - 145ac: 4798 blx r3 - 145ae: 3028 adds r0, #40 ; 0x28 - 145b0: 0040 lsls r0, r0, #1 - 145b2: 2340 movs r3, #64 ; 0x40 - 145b4: 33ff adds r3, #255 ; 0xff - 145b6: 2201 movs r2, #1 - 145b8: 4298 cmp r0, r3 - 145ba: d901 bls.n 145c0 - 145bc: f001 fb30 bl 15c20 + 1460a: 4bad ldr r3, [pc, #692] ; (148c0 ) + 1460c: 681c ldr r4, [r3, #0] + 1460e: 3448 adds r4, #72 ; 0x48 + 14610: 2000 movs r0, #0 + 14612: 4baf ldr r3, [pc, #700] ; (148d0 ) + 14614: 4798 blx r3 + 14616: 3028 adds r0, #40 ; 0x28 + 14618: 0040 lsls r0, r0, #1 + 1461a: 2340 movs r3, #64 ; 0x40 + 1461c: 33ff adds r3, #255 ; 0xff + 1461e: 2201 movs r2, #1 + 14620: 4298 cmp r0, r3 + 14622: d901 bls.n 14628 + 14624: f001 fb30 bl 15c88 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 145c0: 2114 movs r1, #20 - 145c2: 0020 movs r0, r4 - 145c4: 4ba9 ldr r3, [pc, #676] ; (1486c ) - 145c6: 4798 blx r3 + 14628: 2114 movs r1, #20 + 1462a: 0020 movs r0, r4 + 1462c: 4ba9 ldr r3, [pc, #676] ; (148d4 ) + 1462e: 4798 blx r3 lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1)); - 145c8: 4ba3 ldr r3, [pc, #652] ; (14858 ) - 145ca: 681c ldr r4, [r3, #0] - 145cc: 3448 adds r4, #72 ; 0x48 - 145ce: 2000 movs r0, #0 - 145d0: 4ba5 ldr r3, [pc, #660] ; (14868 ) - 145d2: 4798 blx r3 - 145d4: 3050 adds r0, #80 ; 0x50 - 145d6: 2340 movs r3, #64 ; 0x40 - 145d8: 33ff adds r3, #255 ; 0xff - 145da: 2201 movs r2, #1 - 145dc: 4298 cmp r0, r3 - 145de: d901 bls.n 145e4 - 145e0: f001 fb29 bl 15c36 + 14630: 4ba3 ldr r3, [pc, #652] ; (148c0 ) + 14632: 681c ldr r4, [r3, #0] + 14634: 3448 adds r4, #72 ; 0x48 + 14636: 2000 movs r0, #0 + 14638: 4ba5 ldr r3, [pc, #660] ; (148d0 ) + 1463a: 4798 blx r3 + 1463c: 3050 adds r0, #80 ; 0x50 + 1463e: 2340 movs r3, #64 ; 0x40 + 14640: 33ff adds r3, #255 ; 0xff + 14642: 2201 movs r2, #1 + 14644: 4298 cmp r0, r3 + 14646: d901 bls.n 1464c + 14648: f001 fb29 bl 15c9e _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 145e4: 2101 movs r1, #1 - 145e6: 0020 movs r0, r4 - 145e8: 4ba0 ldr r3, [pc, #640] ; (1486c ) - 145ea: 4798 blx r3 + 1464c: 2101 movs r1, #1 + 1464e: 0020 movs r0, r4 + 14650: 4ba0 ldr r3, [pc, #640] ; (148d4 ) + 14652: 4798 blx r3 style_init_reset(&styles->calendar_header); - 145ec: 4c9a ldr r4, [pc, #616] ; (14858 ) - 145ee: 6820 ldr r0, [r4, #0] - 145f0: 3030 adds r0, #48 ; 0x30 - 145f2: 4b9a ldr r3, [pc, #616] ; (1485c ) - 145f4: 4798 blx r3 + 14654: 4c9a ldr r4, [pc, #616] ; (148c0 ) + 14656: 6820 ldr r0, [r4, #0] + 14658: 3030 adds r0, #48 ; 0x30 + 1465a: 4b9a ldr r3, [pc, #616] ; (148c4 ) + 1465c: 4798 blx r3 lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 145f6: 6824 ldr r4, [r4, #0] - 145f8: 3430 adds r4, #48 ; 0x30 - 145fa: 2000 movs r0, #0 - 145fc: 4b9c ldr r3, [pc, #624] ; (14870 ) - 145fe: 4798 blx r3 - 14600: 2801 cmp r0, #1 - 14602: d801 bhi.n 14608 - 14604: f001 fb21 bl 15c4a - 14608: 2000 movs r0, #0 - 1460a: 4b97 ldr r3, [pc, #604] ; (14868 ) - 1460c: 4798 blx r3 - 1460e: 0103 lsls r3, r0, #4 - 14610: 1a1b subs r3, r3, r0 - 14612: 005b lsls r3, r3, #1 - 14614: 3350 adds r3, #80 ; 0x50 - 14616: 2140 movs r1, #64 ; 0x40 - 14618: 31ff adds r1, #255 ; 0xff - 1461a: 2201 movs r2, #1 - 1461c: 428b cmp r3, r1 - 1461e: d901 bls.n 14624 - 14620: f001 fb2c bl 15c7c + 1465e: 6824 ldr r4, [r4, #0] + 14660: 3430 adds r4, #48 ; 0x30 + 14662: 2000 movs r0, #0 + 14664: 4b9c ldr r3, [pc, #624] ; (148d8 ) + 14666: 4798 blx r3 + 14668: 2801 cmp r0, #1 + 1466a: d801 bhi.n 14670 + 1466c: f001 fb21 bl 15cb2 + 14670: 2000 movs r0, #0 + 14672: 4b97 ldr r3, [pc, #604] ; (148d0 ) + 14674: 4798 blx r3 + 14676: 0103 lsls r3, r0, #4 + 14678: 1a1b subs r3, r3, r0 + 1467a: 005b lsls r3, r3, #1 + 1467c: 3350 adds r3, #80 ; 0x50 + 1467e: 2140 movs r1, #64 ; 0x40 + 14680: 31ff adds r1, #255 ; 0xff + 14682: 2201 movs r2, #1 + 14684: 428b cmp r3, r1 + 14686: d901 bls.n 1468c + 14688: f001 fb2c bl 15ce4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 14624: 2110 movs r1, #16 - 14626: 0020 movs r0, r4 - 14628: 4b90 ldr r3, [pc, #576] ; (1486c ) - 1462a: 4798 blx r3 + 1468c: 2110 movs r1, #16 + 1468e: 0020 movs r0, r4 + 14690: 4b90 ldr r3, [pc, #576] ; (148d4 ) + 14692: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 1462c: 4b8a ldr r3, [pc, #552] ; (14858 ) - 1462e: 681c ldr r4, [r3, #0] - 14630: 3430 adds r4, #48 ; 0x30 - 14632: 2000 movs r0, #0 - 14634: 4b8e ldr r3, [pc, #568] ; (14870 ) - 14636: 4798 blx r3 - 14638: 2801 cmp r0, #1 - 1463a: d801 bhi.n 14640 - 1463c: f001 fb2b bl 15c96 - 14640: 2000 movs r0, #0 - 14642: 4b89 ldr r3, [pc, #548] ; (14868 ) - 14644: 4798 blx r3 - 14646: 0103 lsls r3, r0, #4 - 14648: 1a1b subs r3, r3, r0 - 1464a: 005b lsls r3, r3, #1 - 1464c: 3350 adds r3, #80 ; 0x50 - 1464e: 2140 movs r1, #64 ; 0x40 - 14650: 31ff adds r1, #255 ; 0xff - 14652: 2201 movs r2, #1 - 14654: 428b cmp r3, r1 - 14656: d901 bls.n 1465c - 14658: f001 fb36 bl 15cc8 + 14694: 4b8a ldr r3, [pc, #552] ; (148c0 ) + 14696: 681c ldr r4, [r3, #0] + 14698: 3430 adds r4, #48 ; 0x30 + 1469a: 2000 movs r0, #0 + 1469c: 4b8e ldr r3, [pc, #568] ; (148d8 ) + 1469e: 4798 blx r3 + 146a0: 2801 cmp r0, #1 + 146a2: d801 bhi.n 146a8 + 146a4: f001 fb2b bl 15cfe + 146a8: 2000 movs r0, #0 + 146aa: 4b89 ldr r3, [pc, #548] ; (148d0 ) + 146ac: 4798 blx r3 + 146ae: 0103 lsls r3, r0, #4 + 146b0: 1a1b subs r3, r3, r0 + 146b2: 005b lsls r3, r3, #1 + 146b4: 3350 adds r3, #80 ; 0x50 + 146b6: 2140 movs r1, #64 ; 0x40 + 146b8: 31ff adds r1, #255 ; 0xff + 146ba: 2201 movs r2, #1 + 146bc: 428b cmp r3, r1 + 146be: d901 bls.n 146c4 + 146c0: f001 fb36 bl 15d30 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1465c: 2112 movs r1, #18 - 1465e: 0020 movs r0, r4 - 14660: 4b82 ldr r3, [pc, #520] ; (1486c ) - 14662: 4798 blx r3 + 146c4: 2112 movs r1, #18 + 146c6: 0020 movs r0, r4 + 146c8: 4b82 ldr r3, [pc, #520] ; (148d4 ) + 146ca: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 14664: 4b7c ldr r3, [pc, #496] ; (14858 ) - 14666: 681c ldr r4, [r3, #0] - 14668: 3430 adds r4, #48 ; 0x30 - 1466a: 2000 movs r0, #0 - 1466c: 4b80 ldr r3, [pc, #512] ; (14870 ) - 1466e: 4798 blx r3 - 14670: 2801 cmp r0, #1 - 14672: d801 bhi.n 14678 - 14674: f001 fb35 bl 15ce2 - 14678: 2000 movs r0, #0 - 1467a: 4b7b ldr r3, [pc, #492] ; (14868 ) - 1467c: 4798 blx r3 - 1467e: 0103 lsls r3, r0, #4 - 14680: 1a1b subs r3, r3, r0 - 14682: 005b lsls r3, r3, #1 - 14684: 3350 adds r3, #80 ; 0x50 - 14686: 2140 movs r1, #64 ; 0x40 - 14688: 31ff adds r1, #255 ; 0xff - 1468a: 2201 movs r2, #1 - 1468c: 428b cmp r3, r1 - 1468e: d901 bls.n 14694 - 14690: f001 fb40 bl 15d14 + 146cc: 4b7c ldr r3, [pc, #496] ; (148c0 ) + 146ce: 681c ldr r4, [r3, #0] + 146d0: 3430 adds r4, #48 ; 0x30 + 146d2: 2000 movs r0, #0 + 146d4: 4b80 ldr r3, [pc, #512] ; (148d8 ) + 146d6: 4798 blx r3 + 146d8: 2801 cmp r0, #1 + 146da: d801 bhi.n 146e0 + 146dc: f001 fb35 bl 15d4a + 146e0: 2000 movs r0, #0 + 146e2: 4b7b ldr r3, [pc, #492] ; (148d0 ) + 146e4: 4798 blx r3 + 146e6: 0103 lsls r3, r0, #4 + 146e8: 1a1b subs r3, r3, r0 + 146ea: 005b lsls r3, r3, #1 + 146ec: 3350 adds r3, #80 ; 0x50 + 146ee: 2140 movs r1, #64 ; 0x40 + 146f0: 31ff adds r1, #255 ; 0xff + 146f2: 2201 movs r2, #1 + 146f4: 428b cmp r3, r1 + 146f6: d901 bls.n 146fc + 146f8: f001 fb40 bl 15d7c _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 14694: 2113 movs r1, #19 - 14696: 0020 movs r0, r4 - 14698: 4b74 ldr r3, [pc, #464] ; (1486c ) - 1469a: 4798 blx r3 + 146fc: 2113 movs r1, #19 + 146fe: 0020 movs r0, r4 + 14700: 4b74 ldr r3, [pc, #464] ; (148d4 ) + 14702: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 1469c: 4b6e ldr r3, [pc, #440] ; (14858 ) - 1469e: 681c ldr r4, [r3, #0] - 146a0: 3430 adds r4, #48 ; 0x30 - 146a2: 2000 movs r0, #0 - 146a4: 4b72 ldr r3, [pc, #456] ; (14870 ) - 146a6: 4798 blx r3 - 146a8: 2801 cmp r0, #1 - 146aa: d801 bhi.n 146b0 - 146ac: f001 fb3f bl 15d2e - 146b0: 2000 movs r0, #0 - 146b2: 4b6d ldr r3, [pc, #436] ; (14868 ) - 146b4: 4798 blx r3 - 146b6: 0103 lsls r3, r0, #4 - 146b8: 1a1b subs r3, r3, r0 - 146ba: 005b lsls r3, r3, #1 - 146bc: 3350 adds r3, #80 ; 0x50 - 146be: 2140 movs r1, #64 ; 0x40 - 146c0: 31ff adds r1, #255 ; 0xff - 146c2: 2201 movs r2, #1 - 146c4: 428b cmp r3, r1 - 146c6: d901 bls.n 146cc - 146c8: f001 fb64 bl 15d94 + 14704: 4b6e ldr r3, [pc, #440] ; (148c0 ) + 14706: 681c ldr r4, [r3, #0] + 14708: 3430 adds r4, #48 ; 0x30 + 1470a: 2000 movs r0, #0 + 1470c: 4b72 ldr r3, [pc, #456] ; (148d8 ) + 1470e: 4798 blx r3 + 14710: 2801 cmp r0, #1 + 14712: d801 bhi.n 14718 + 14714: f001 fb3f bl 15d96 + 14718: 2000 movs r0, #0 + 1471a: 4b6d ldr r3, [pc, #436] ; (148d0 ) + 1471c: 4798 blx r3 + 1471e: 0103 lsls r3, r0, #4 + 14720: 1a1b subs r3, r3, r0 + 14722: 005b lsls r3, r3, #1 + 14724: 3350 adds r3, #80 ; 0x50 + 14726: 2140 movs r1, #64 ; 0x40 + 14728: 31ff adds r1, #255 ; 0xff + 1472a: 2201 movs r2, #1 + 1472c: 428b cmp r3, r1 + 1472e: d901 bls.n 14734 + 14730: f001 fb64 bl 15dfc _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 146cc: 2111 movs r1, #17 - 146ce: 0020 movs r0, r4 - 146d0: 4b66 ldr r3, [pc, #408] ; (1486c ) - 146d2: 4798 blx r3 + 14734: 2111 movs r1, #17 + 14736: 0020 movs r0, r4 + 14738: 4b66 ldr r3, [pc, #408] ; (148d4 ) + 1473a: 4798 blx r3 lv_style_set_text_color(&styles->calendar_header, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x888888) : LV_COLOR_WHITE); - 146d4: 4b60 ldr r3, [pc, #384] ; (14858 ) - 146d6: 6818 ldr r0, [r3, #0] - 146d8: 3030 adds r0, #48 ; 0x30 - 146da: 4b56 ldr r3, [pc, #344] ; (14834 ) - 146dc: 699b ldr r3, [r3, #24] - 146de: 079b lsls r3, r3, #30 - 146e0: d501 bpl.n 146e6 - 146e2: f001 fb64 bl 15dae - 146e6: 223f movs r2, #63 ; 0x3f - 146e8: 231f movs r3, #31 - 146ea: 0152 lsls r2, r2, #5 - 146ec: 02d9 lsls r1, r3, #11 - 146ee: 431a orrs r2, r3 - 146f0: 430a orrs r2, r1 + 1473c: 4b60 ldr r3, [pc, #384] ; (148c0 ) + 1473e: 6818 ldr r0, [r3, #0] + 14740: 3030 adds r0, #48 ; 0x30 + 14742: 4b56 ldr r3, [pc, #344] ; (1489c ) + 14744: 699b ldr r3, [r3, #24] + 14746: 079b lsls r3, r3, #30 + 14748: d501 bpl.n 1474e + 1474a: f001 fb64 bl 15e16 + 1474e: 223f movs r2, #63 ; 0x3f + 14750: 231f movs r3, #31 + 14752: 0152 lsls r2, r2, #5 + 14754: 02d9 lsls r1, r3, #11 + 14756: 431a orrs r2, r3 + 14758: 430a orrs r2, r1 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 146f2: 4960 ldr r1, [pc, #384] ; (14874 ) - 146f4: 4b5b ldr r3, [pc, #364] ; (14864 ) - 146f6: 4798 blx r3 + 1475a: 4960 ldr r1, [pc, #384] ; (148dc ) + 1475c: 4b5b ldr r3, [pc, #364] ; (148cc ) + 1475e: 4798 blx r3 style_init_reset(&styles->calendar_daynames); - 146f8: 4c57 ldr r4, [pc, #348] ; (14858 ) - 146fa: 6820 ldr r0, [r4, #0] - 146fc: 3034 adds r0, #52 ; 0x34 - 146fe: 4b57 ldr r3, [pc, #348] ; (1485c ) - 14700: 4798 blx r3 + 14760: 4c57 ldr r4, [pc, #348] ; (148c0 ) + 14762: 6820 ldr r0, [r4, #0] + 14764: 3034 adds r0, #52 ; 0x34 + 14766: 4b57 ldr r3, [pc, #348] ; (148c4 ) + 14768: 4798 blx r3 lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee)); - 14702: 6820 ldr r0, [r4, #0] - 14704: 3034 adds r0, #52 ; 0x34 - 14706: 4b4b ldr r3, [pc, #300] ; (14834 ) - 14708: 699b ldr r3, [r3, #24] - 1470a: 079b lsls r3, r3, #30 - 1470c: d501 bpl.n 14712 - 1470e: f001 fb52 bl 15db6 - 14712: 231d movs r3, #29 - 14714: 213b movs r1, #59 ; 0x3b - 14716: 221d movs r2, #29 - 14718: 0149 lsls r1, r1, #5 - 1471a: 02db lsls r3, r3, #11 - 1471c: 430a orrs r2, r1 - 1471e: 431a orrs r2, r3 - 14720: 494f ldr r1, [pc, #316] ; (14860 ) - 14722: 4b50 ldr r3, [pc, #320] ; (14864 ) - 14724: 4798 blx r3 + 1476a: 6820 ldr r0, [r4, #0] + 1476c: 3034 adds r0, #52 ; 0x34 + 1476e: 4b4b ldr r3, [pc, #300] ; (1489c ) + 14770: 699b ldr r3, [r3, #24] + 14772: 079b lsls r3, r3, #30 + 14774: d501 bpl.n 1477a + 14776: f001 fb52 bl 15e1e + 1477a: 231d movs r3, #29 + 1477c: 213b movs r1, #59 ; 0x3b + 1477e: 221d movs r2, #29 + 14780: 0149 lsls r1, r1, #5 + 14782: 02db lsls r3, r3, #11 + 14784: 430a orrs r2, r1 + 14786: 431a orrs r2, r3 + 14788: 494f ldr r1, [pc, #316] ; (148c8 ) + 1478a: 4b50 ldr r3, [pc, #320] ; (148cc ) + 1478c: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 14726: 4b4c ldr r3, [pc, #304] ; (14858 ) - 14728: 681c ldr r4, [r3, #0] - 1472a: 3434 adds r4, #52 ; 0x34 - 1472c: 2000 movs r0, #0 - 1472e: 4b50 ldr r3, [pc, #320] ; (14870 ) - 14730: 4798 blx r3 - 14732: 2801 cmp r0, #1 - 14734: d801 bhi.n 1473a - 14736: f001 fb43 bl 15dc0 - 1473a: 2000 movs r0, #0 - 1473c: 4b4a ldr r3, [pc, #296] ; (14868 ) - 1473e: 4798 blx r3 - 14740: 0103 lsls r3, r0, #4 - 14742: 1a1b subs r3, r3, r0 - 14744: 005b lsls r3, r3, #1 - 14746: 3350 adds r3, #80 ; 0x50 - 14748: 2140 movs r1, #64 ; 0x40 - 1474a: 31ff adds r1, #255 ; 0xff - 1474c: 2201 movs r2, #1 - 1474e: 428b cmp r3, r1 - 14750: d901 bls.n 14756 - 14752: f001 fb4e bl 15df2 + 1478e: 4b4c ldr r3, [pc, #304] ; (148c0 ) + 14790: 681c ldr r4, [r3, #0] + 14792: 3434 adds r4, #52 ; 0x34 + 14794: 2000 movs r0, #0 + 14796: 4b50 ldr r3, [pc, #320] ; (148d8 ) + 14798: 4798 blx r3 + 1479a: 2801 cmp r0, #1 + 1479c: d801 bhi.n 147a2 + 1479e: f001 fb43 bl 15e28 + 147a2: 2000 movs r0, #0 + 147a4: 4b4a ldr r3, [pc, #296] ; (148d0 ) + 147a6: 4798 blx r3 + 147a8: 0103 lsls r3, r0, #4 + 147aa: 1a1b subs r3, r3, r0 + 147ac: 005b lsls r3, r3, #1 + 147ae: 3350 adds r3, #80 ; 0x50 + 147b0: 2140 movs r1, #64 ; 0x40 + 147b2: 31ff adds r1, #255 ; 0xff + 147b4: 2201 movs r2, #1 + 147b6: 428b cmp r3, r1 + 147b8: d901 bls.n 147be + 147ba: f001 fb4e bl 15e5a _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 14756: 2112 movs r1, #18 - 14758: 0020 movs r0, r4 - 1475a: 4b44 ldr r3, [pc, #272] ; (1486c ) - 1475c: 4798 blx r3 + 147be: 2112 movs r1, #18 + 147c0: 0020 movs r0, r4 + 147c2: 4b44 ldr r3, [pc, #272] ; (148d4 ) + 147c4: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 1475e: 4b3e ldr r3, [pc, #248] ; (14858 ) - 14760: 681c ldr r4, [r3, #0] - 14762: 3434 adds r4, #52 ; 0x34 - 14764: 2000 movs r0, #0 - 14766: 4b42 ldr r3, [pc, #264] ; (14870 ) - 14768: 4798 blx r3 - 1476a: 2801 cmp r0, #1 - 1476c: d801 bhi.n 14772 - 1476e: f001 fb4d bl 15e0c - 14772: 2000 movs r0, #0 - 14774: 4b3c ldr r3, [pc, #240] ; (14868 ) - 14776: 4798 blx r3 - 14778: 0103 lsls r3, r0, #4 - 1477a: 1a1b subs r3, r3, r0 - 1477c: 005b lsls r3, r3, #1 - 1477e: 3350 adds r3, #80 ; 0x50 - 14780: 2140 movs r1, #64 ; 0x40 - 14782: 31ff adds r1, #255 ; 0xff - 14784: 2201 movs r2, #1 - 14786: 428b cmp r3, r1 - 14788: d901 bls.n 1478e - 1478a: f001 fb58 bl 15e3e + 147c6: 4b3e ldr r3, [pc, #248] ; (148c0 ) + 147c8: 681c ldr r4, [r3, #0] + 147ca: 3434 adds r4, #52 ; 0x34 + 147cc: 2000 movs r0, #0 + 147ce: 4b42 ldr r3, [pc, #264] ; (148d8 ) + 147d0: 4798 blx r3 + 147d2: 2801 cmp r0, #1 + 147d4: d801 bhi.n 147da + 147d6: f001 fb4d bl 15e74 + 147da: 2000 movs r0, #0 + 147dc: 4b3c ldr r3, [pc, #240] ; (148d0 ) + 147de: 4798 blx r3 + 147e0: 0103 lsls r3, r0, #4 + 147e2: 1a1b subs r3, r3, r0 + 147e4: 005b lsls r3, r3, #1 + 147e6: 3350 adds r3, #80 ; 0x50 + 147e8: 2140 movs r1, #64 ; 0x40 + 147ea: 31ff adds r1, #255 ; 0xff + 147ec: 2201 movs r2, #1 + 147ee: 428b cmp r3, r1 + 147f0: d901 bls.n 147f6 + 147f2: f001 fb58 bl 15ea6 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1478e: 2113 movs r1, #19 - 14790: 0020 movs r0, r4 - 14792: 4b36 ldr r3, [pc, #216] ; (1486c ) - 14794: 4798 blx r3 + 147f6: 2113 movs r1, #19 + 147f8: 0020 movs r0, r4 + 147fa: 4b36 ldr r3, [pc, #216] ; (148d4 ) + 147fc: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 14796: 4b30 ldr r3, [pc, #192] ; (14858 ) - 14798: 681c ldr r4, [r3, #0] - 1479a: 3434 adds r4, #52 ; 0x34 - 1479c: 2000 movs r0, #0 - 1479e: 4b34 ldr r3, [pc, #208] ; (14870 ) - 147a0: 4798 blx r3 - 147a2: 2801 cmp r0, #1 - 147a4: d801 bhi.n 147aa - 147a6: f001 fb57 bl 15e58 - 147aa: 2000 movs r0, #0 - 147ac: 4b2e ldr r3, [pc, #184] ; (14868 ) - 147ae: 4798 blx r3 - 147b0: 0103 lsls r3, r0, #4 - 147b2: 1a1b subs r3, r3, r0 - 147b4: 005b lsls r3, r3, #1 - 147b6: 3350 adds r3, #80 ; 0x50 - 147b8: 2140 movs r1, #64 ; 0x40 - 147ba: 31ff adds r1, #255 ; 0xff - 147bc: 2201 movs r2, #1 - 147be: 428b cmp r3, r1 - 147c0: d901 bls.n 147c6 - 147c2: f001 fb62 bl 15e8a + 147fe: 4b30 ldr r3, [pc, #192] ; (148c0 ) + 14800: 681c ldr r4, [r3, #0] + 14802: 3434 adds r4, #52 ; 0x34 + 14804: 2000 movs r0, #0 + 14806: 4b34 ldr r3, [pc, #208] ; (148d8 ) + 14808: 4798 blx r3 + 1480a: 2801 cmp r0, #1 + 1480c: d801 bhi.n 14812 + 1480e: f001 fb57 bl 15ec0 + 14812: 2000 movs r0, #0 + 14814: 4b2e ldr r3, [pc, #184] ; (148d0 ) + 14816: 4798 blx r3 + 14818: 0103 lsls r3, r0, #4 + 1481a: 1a1b subs r3, r3, r0 + 1481c: 005b lsls r3, r3, #1 + 1481e: 3350 adds r3, #80 ; 0x50 + 14820: 2140 movs r1, #64 ; 0x40 + 14822: 31ff adds r1, #255 ; 0xff + 14824: 2201 movs r2, #1 + 14826: 428b cmp r3, r1 + 14828: d901 bls.n 1482e + 1482a: f001 fb62 bl 15ef2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 147c6: 2111 movs r1, #17 - 147c8: 0020 movs r0, r4 - 147ca: 4b28 ldr r3, [pc, #160] ; (1486c ) - 147cc: 4798 blx r3 + 1482e: 2111 movs r1, #17 + 14830: 0020 movs r0, r4 + 14832: 4b28 ldr r3, [pc, #160] ; (148d4 ) + 14834: 4798 blx r3 style_init_reset(&styles->calendar_date_nums); - 147ce: 4c22 ldr r4, [pc, #136] ; (14858 ) - 147d0: 6820 ldr r0, [r4, #0] - 147d2: 302c adds r0, #44 ; 0x2c - 147d4: 4b21 ldr r3, [pc, #132] ; (1485c ) - 147d6: 4798 blx r3 + 14836: 4c22 ldr r4, [pc, #136] ; (148c0 ) + 14838: 6820 ldr r0, [r4, #0] + 1483a: 302c adds r0, #44 ; 0x2c + 1483c: 4b21 ldr r3, [pc, #132] ; (148c4 ) + 1483e: 4798 blx r3 lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4)); - 147d8: 6824 ldr r4, [r4, #0] - 147da: 342c adds r4, #44 ; 0x2c - 147dc: 2000 movs r0, #0 - 147de: 4b22 ldr r3, [pc, #136] ; (14868 ) - 147e0: 4798 blx r3 - 147e2: 3014 adds r0, #20 - 147e4: 0080 lsls r0, r0, #2 - 147e6: 2340 movs r3, #64 ; 0x40 - 147e8: 33ff adds r3, #255 ; 0xff - 147ea: 2201 movs r2, #1 - 147ec: 4298 cmp r0, r3 - 147ee: d901 bls.n 147f4 - 147f0: f001 fb58 bl 15ea4 + 14840: 6824 ldr r4, [r4, #0] + 14842: 342c adds r4, #44 ; 0x2c + 14844: 2000 movs r0, #0 + 14846: 4b22 ldr r3, [pc, #136] ; (148d0 ) + 14848: 4798 blx r3 + 1484a: 3014 adds r0, #20 + 1484c: 0080 lsls r0, r0, #2 + 1484e: 2340 movs r3, #64 ; 0x40 + 14850: 33ff adds r3, #255 ; 0xff + 14852: 2201 movs r2, #1 + 14854: 4298 cmp r0, r3 + 14856: d901 bls.n 1485c + 14858: f001 fb58 bl 15f0c _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 147f4: 2101 movs r1, #1 - 147f6: 0020 movs r0, r4 - 147f8: 4b1c ldr r3, [pc, #112] ; (1486c ) - 147fa: 4798 blx r3 + 1485c: 2101 movs r1, #1 + 1485e: 0020 movs r0, r4 + 14860: 4b1c ldr r3, [pc, #112] ; (148d4 ) + 14862: 4798 blx r3 lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 147fc: 4b16 ldr r3, [pc, #88] ; (14858 ) - 147fe: 6818 ldr r0, [r3, #0] - 14800: 302c adds r0, #44 ; 0x2c - 14802: 4b0c ldr r3, [pc, #48] ; (14834 ) - 14804: 699b ldr r3, [r3, #24] - 14806: 079b lsls r3, r3, #30 - 14808: d501 bpl.n 1480e - 1480a: f001 fb56 bl 15eba - 1480e: 231f movs r3, #31 - 14810: 213f movs r1, #63 ; 0x3f - 14812: 221f movs r2, #31 - 14814: 0149 lsls r1, r1, #5 - 14816: 02db lsls r3, r3, #11 - 14818: 430a orrs r2, r1 - 1481a: 431a orrs r2, r3 + 14864: 4b16 ldr r3, [pc, #88] ; (148c0 ) + 14866: 6818 ldr r0, [r3, #0] + 14868: 302c adds r0, #44 ; 0x2c + 1486a: 4b0c ldr r3, [pc, #48] ; (1489c ) + 1486c: 699b ldr r3, [r3, #24] + 1486e: 079b lsls r3, r3, #30 + 14870: d501 bpl.n 14876 + 14872: f001 fb56 bl 15f22 + 14876: 231f movs r3, #31 + 14878: 213f movs r1, #63 ; 0x3f + 1487a: 221f movs r2, #31 + 1487c: 0149 lsls r1, r1, #5 + 1487e: 02db lsls r3, r3, #11 + 14880: 430a orrs r2, r1 + 14882: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 1481c: 4916 ldr r1, [pc, #88] ; (14878 ) - 1481e: 4b11 ldr r3, [pc, #68] ; (14864 ) - 14820: 4798 blx r3 + 14884: 4916 ldr r1, [pc, #88] ; (148e0 ) + 14886: 4b11 ldr r3, [pc, #68] ; (148cc ) + 14888: 4798 blx r3 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? LV_OPA_20 : LV_OPA_40); - 14822: 4b0d ldr r3, [pc, #52] ; (14858 ) - 14824: 6818 ldr r0, [r3, #0] - 14826: 302c adds r0, #44 ; 0x2c - 14828: 4b02 ldr r3, [pc, #8] ; (14834 ) - 1482a: 699b ldr r3, [r3, #24] - 1482c: 2233 movs r2, #51 ; 0x33 - 1482e: e025 b.n 1487c - 14830: 20004c34 .word 0x20004c34 - 14834: 20004c3c .word 0x20004c3c - 14838: 00012451 .word 0x00012451 - 1483c: 0001361d .word 0x0001361d - 14840: 00014315 .word 0x00014315 - 14844: 00013771 .word 0x00013771 - 14848: 00013a05 .word 0x00013a05 - 1484c: 00013b45 .word 0x00013b45 - 14850: 00013d69 .word 0x00013d69 - 14854: 00014211 .word 0x00014211 - 14858: 20004c38 .word 0x20004c38 - 1485c: 0001242d .word 0x0001242d - 14860: 00008089 .word 0x00008089 - 14864: 00004ded .word 0x00004ded - 14868: 0000f5fd .word 0x0000f5fd - 1486c: 00004c8d .word 0x00004c8d - 14870: 0000f619 .word 0x0000f619 - 14874: 00009089 .word 0x00009089 - 14878: 00008189 .word 0x00008189 - 1487c: 079b lsls r3, r3, #30 - 1487e: d400 bmi.n 14882 - 14880: 3233 adds r2, #51 ; 0x33 + 1488a: 4b0d ldr r3, [pc, #52] ; (148c0 ) + 1488c: 6818 ldr r0, [r3, #0] + 1488e: 302c adds r0, #44 ; 0x2c + 14890: 4b02 ldr r3, [pc, #8] ; (1489c ) + 14892: 699b ldr r3, [r3, #24] + 14894: 2233 movs r2, #51 ; 0x33 + 14896: e025 b.n 148e4 + 14898: 20004c34 .word 0x20004c34 + 1489c: 20004c3c .word 0x20004c3c + 148a0: 000124b9 .word 0x000124b9 + 148a4: 00013685 .word 0x00013685 + 148a8: 0001437d .word 0x0001437d + 148ac: 000137d9 .word 0x000137d9 + 148b0: 00013a6d .word 0x00013a6d + 148b4: 00013bad .word 0x00013bad + 148b8: 00013dd1 .word 0x00013dd1 + 148bc: 00014279 .word 0x00014279 + 148c0: 20004c38 .word 0x20004c38 + 148c4: 00012495 .word 0x00012495 + 148c8: 00008089 .word 0x00008089 + 148cc: 00004e55 .word 0x00004e55 + 148d0: 0000f665 .word 0x0000f665 + 148d4: 00004cf5 .word 0x00004cf5 + 148d8: 0000f681 .word 0x0000f681 + 148dc: 00009089 .word 0x00009089 + 148e0: 00008189 .word 0x00008189 + 148e4: 079b lsls r3, r3, #30 + 148e6: d400 bmi.n 148ea + 148e8: 3233 adds r2, #51 ; 0x33 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 14882: 2196 movs r1, #150 ; 0x96 - 14884: 0049 lsls r1, r1, #1 - 14886: 4dfa ldr r5, [pc, #1000] ; (14c70 ) - 14888: 47a8 blx r5 + 148ea: 2196 movs r1, #150 ; 0x96 + 148ec: 0049 lsls r1, r1, #1 + 148ee: 4dfa ldr r5, [pc, #1000] ; (14cd8 ) + 148f0: 47a8 blx r5 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_PRESSED, LV_OPA_20); - 1488a: 4cfa ldr r4, [pc, #1000] ; (14c74 ) - 1488c: 6820 ldr r0, [r4, #0] - 1488e: 302c adds r0, #44 ; 0x2c - 14890: 2233 movs r2, #51 ; 0x33 - 14892: 49f9 ldr r1, [pc, #996] ; (14c78 ) - 14894: 47a8 blx r5 + 148f2: 4cfa ldr r4, [pc, #1000] ; (14cdc ) + 148f4: 6820 ldr r0, [r4, #0] + 148f6: 302c adds r0, #44 ; 0x2c + 148f8: 2233 movs r2, #51 ; 0x33 + 148fa: 49f9 ldr r1, [pc, #996] ; (14ce0 ) + 148fc: 47a8 blx r5 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_OPA_COVER); - 14896: 6820 ldr r0, [r4, #0] - 14898: 302c adds r0, #44 ; 0x2c - 1489a: 22ff movs r2, #255 ; 0xff - 1489c: 218b movs r1, #139 ; 0x8b - 1489e: 0089 lsls r1, r1, #2 - 148a0: 47a8 blx r5 + 148fe: 6820 ldr r0, [r4, #0] + 14900: 302c adds r0, #44 ; 0x2c + 14902: 22ff movs r2, #255 ; 0xff + 14904: 218b movs r1, #139 ; 0x8b + 14906: 0089 lsls r1, r1, #2 + 14908: 47a8 blx r5 lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_COLOR_WHITE); - 148a2: 6820 ldr r0, [r4, #0] - 148a4: 302c adds r0, #44 ; 0x2c - 148a6: 4bf5 ldr r3, [pc, #980] ; (14c7c ) - 148a8: 881a ldrh r2, [r3, #0] + 1490a: 6820 ldr r0, [r4, #0] + 1490c: 302c adds r0, #44 ; 0x2c + 1490e: 4bf5 ldr r3, [pc, #980] ; (14ce4 ) + 14910: 881a ldrh r2, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 148aa: 49f5 ldr r1, [pc, #980] ; (14c80 ) - 148ac: 4ef5 ldr r6, [pc, #980] ; (14c84 ) - 148ae: 47b0 blx r6 + 14912: 49f5 ldr r1, [pc, #980] ; (14ce8 ) + 14914: 4ef5 ldr r6, [pc, #980] ; (14cec ) + 14916: 47b0 blx r6 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, theme.color_primary); - 148b0: 6820 ldr r0, [r4, #0] - 148b2: 302c adds r0, #44 ; 0x2c - 148b4: 4df4 ldr r5, [pc, #976] ; (14c88 ) - 148b6: 88aa ldrh r2, [r5, #4] + 14918: 6820 ldr r0, [r4, #0] + 1491a: 302c adds r0, #44 ; 0x2c + 1491c: 4df4 ldr r5, [pc, #976] ; (14cf0 ) + 1491e: 88aa ldrh r2, [r5, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 148b8: 49f4 ldr r1, [pc, #976] ; (14c8c ) - 148ba: 47b0 blx r6 + 14920: 49f4 ldr r1, [pc, #976] ; (14cf4 ) + 14922: 47b0 blx r6 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x666666) : LV_COLOR_WHITE); - 148bc: 6820 ldr r0, [r4, #0] - 148be: 302c adds r0, #44 ; 0x2c - 148c0: 69ab ldr r3, [r5, #24] - 148c2: 079b lsls r3, r3, #30 - 148c4: d501 bpl.n 148ca - 148c6: f001 fafd bl 15ec4 - 148ca: 223f movs r2, #63 ; 0x3f - 148cc: 231f movs r3, #31 - 148ce: 0152 lsls r2, r2, #5 - 148d0: 02d9 lsls r1, r3, #11 - 148d2: 431a orrs r2, r3 - 148d4: 430a orrs r2, r1 - 148d6: 2129 movs r1, #41 ; 0x29 - 148d8: 4eea ldr r6, [pc, #936] ; (14c84 ) - 148da: 47b0 blx r6 + 14924: 6820 ldr r0, [r4, #0] + 14926: 302c adds r0, #44 ; 0x2c + 14928: 69ab ldr r3, [r5, #24] + 1492a: 079b lsls r3, r3, #30 + 1492c: d501 bpl.n 14932 + 1492e: f001 fafd bl 15f2c + 14932: 223f movs r2, #63 ; 0x3f + 14934: 231f movs r3, #31 + 14936: 0152 lsls r2, r2, #5 + 14938: 02d9 lsls r1, r3, #11 + 1493a: 431a orrs r2, r3 + 1493c: 430a orrs r2, r1 + 1493e: 2129 movs r1, #41 ; 0x29 + 14940: 4eea ldr r6, [pc, #936] ; (14cec ) + 14942: 47b0 blx r6 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary); - 148dc: 4ce5 ldr r4, [pc, #916] ; (14c74 ) - 148de: 6820 ldr r0, [r4, #0] - 148e0: 302c adds r0, #44 ; 0x2c - 148e2: 4fe9 ldr r7, [pc, #932] ; (14c88 ) - 148e4: 88ba ldrh r2, [r7, #4] - 148e6: 212a movs r1, #42 ; 0x2a - 148e8: 31ff adds r1, #255 ; 0xff - 148ea: 47b0 blx r6 + 14944: 4ce5 ldr r4, [pc, #916] ; (14cdc ) + 14946: 6820 ldr r0, [r4, #0] + 14948: 302c adds r0, #44 ; 0x2c + 1494a: 4fe9 ldr r7, [pc, #932] ; (14cf0 ) + 1494c: 88ba ldrh r2, [r7, #4] + 1494e: 212a movs r1, #42 ; 0x2a + 14950: 31ff adds r1, #255 ; 0xff + 14952: 47b0 blx r6 lv_style_set_border_width(&styles->calendar_date_nums, LV_STATE_CHECKED, 2); - 148ec: 6820 ldr r0, [r4, #0] - 148ee: 302c adds r0, #44 ; 0x2c + 14954: 6820 ldr r0, [r4, #0] + 14956: 302c adds r0, #44 ; 0x2c _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 148f0: 2202 movs r2, #2 - 148f2: 2198 movs r1, #152 ; 0x98 - 148f4: 0049 lsls r1, r1, #1 - 148f6: 4de6 ldr r5, [pc, #920] ; (14c90 ) - 148f8: 47a8 blx r5 + 14958: 2202 movs r2, #2 + 1495a: 2198 movs r1, #152 ; 0x98 + 1495c: 0049 lsls r1, r1, #1 + 1495e: 4de6 ldr r5, [pc, #920] ; (14cf8 ) + 14960: 47a8 blx r5 lv_style_set_border_side(&styles->calendar_date_nums, LV_STATE_CHECKED, LV_BORDER_SIDE_LEFT); - 148fa: 6820 ldr r0, [r4, #0] - 148fc: 302c adds r0, #44 ; 0x2c + 14962: 6820 ldr r0, [r4, #0] + 14964: 302c adds r0, #44 ; 0x2c _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 148fe: 2204 movs r2, #4 - 14900: 2132 movs r1, #50 ; 0x32 - 14902: 31ff adds r1, #255 ; 0xff - 14904: 47a8 blx r5 + 14966: 2204 movs r2, #4 + 14968: 2132 movs r1, #50 ; 0x32 + 1496a: 31ff adds r1, #255 ; 0xff + 1496c: 47a8 blx r5 lv_style_set_border_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary); - 14906: 6820 ldr r0, [r4, #0] - 14908: 302c adds r0, #44 ; 0x2c - 1490a: 88ba ldrh r2, [r7, #4] + 1496e: 6820 ldr r0, [r4, #0] + 14970: 302c adds r0, #44 ; 0x2c + 14972: 88ba ldrh r2, [r7, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 1490c: 213a movs r1, #58 ; 0x3a - 1490e: 31ff adds r1, #255 ; 0xff - 14910: 47b0 blx r6 + 14974: 213a movs r1, #58 ; 0x3a + 14976: 31ff adds r1, #255 ; 0xff + 14978: 47b0 blx r6 lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3)); - 14912: 6824 ldr r4, [r4, #0] - 14914: 342c adds r4, #44 ; 0x2c - 14916: 2000 movs r0, #0 - 14918: 4bde ldr r3, [pc, #888] ; (14c94 ) - 1491a: 4798 blx r3 - 1491c: 0043 lsls r3, r0, #1 - 1491e: 1818 adds r0, r3, r0 - 14920: 3050 adds r0, #80 ; 0x50 - 14922: 2340 movs r3, #64 ; 0x40 - 14924: 33ff adds r3, #255 ; 0xff - 14926: 2201 movs r2, #1 - 14928: 4298 cmp r0, r3 - 1492a: d901 bls.n 14930 - 1492c: f001 face bl 15ecc + 1497a: 6824 ldr r4, [r4, #0] + 1497c: 342c adds r4, #44 ; 0x2c + 1497e: 2000 movs r0, #0 + 14980: 4bde ldr r3, [pc, #888] ; (14cfc ) + 14982: 4798 blx r3 + 14984: 0043 lsls r3, r0, #1 + 14986: 1818 adds r0, r3, r0 + 14988: 3050 adds r0, #80 ; 0x50 + 1498a: 2340 movs r3, #64 ; 0x40 + 1498c: 33ff adds r3, #255 ; 0xff + 1498e: 2201 movs r2, #1 + 14990: 4298 cmp r0, r3 + 14992: d901 bls.n 14998 + 14994: f001 face bl 15f34 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 14930: 2114 movs r1, #20 - 14932: 0020 movs r0, r4 - 14934: 4bd6 ldr r3, [pc, #856] ; (14c90 ) - 14936: 4798 blx r3 + 14998: 2114 movs r1, #20 + 1499a: 0020 movs r0, r4 + 1499c: 4bd6 ldr r3, [pc, #856] ; (14cf8 ) + 1499e: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 14938: 4bce ldr r3, [pc, #824] ; (14c74 ) - 1493a: 681c ldr r4, [r3, #0] - 1493c: 342c adds r4, #44 ; 0x2c - 1493e: 2000 movs r0, #0 - 14940: 4bd5 ldr r3, [pc, #852] ; (14c98 ) - 14942: 4798 blx r3 - 14944: 2801 cmp r0, #1 - 14946: d801 bhi.n 1494c - 14948: f001 facd bl 15ee6 - 1494c: 2000 movs r0, #0 - 1494e: 4bd1 ldr r3, [pc, #836] ; (14c94 ) - 14950: 4798 blx r3 - 14952: 0103 lsls r3, r0, #4 - 14954: 1a1b subs r3, r3, r0 - 14956: 005b lsls r3, r3, #1 - 14958: 3350 adds r3, #80 ; 0x50 - 1495a: 2140 movs r1, #64 ; 0x40 - 1495c: 31ff adds r1, #255 ; 0xff - 1495e: 2201 movs r2, #1 - 14960: 428b cmp r3, r1 - 14962: d901 bls.n 14968 - 14964: f001 fad8 bl 15f18 + 149a0: 4bce ldr r3, [pc, #824] ; (14cdc ) + 149a2: 681c ldr r4, [r3, #0] + 149a4: 342c adds r4, #44 ; 0x2c + 149a6: 2000 movs r0, #0 + 149a8: 4bd5 ldr r3, [pc, #852] ; (14d00 ) + 149aa: 4798 blx r3 + 149ac: 2801 cmp r0, #1 + 149ae: d801 bhi.n 149b4 + 149b0: f001 facd bl 15f4e + 149b4: 2000 movs r0, #0 + 149b6: 4bd1 ldr r3, [pc, #836] ; (14cfc ) + 149b8: 4798 blx r3 + 149ba: 0103 lsls r3, r0, #4 + 149bc: 1a1b subs r3, r3, r0 + 149be: 005b lsls r3, r3, #1 + 149c0: 3350 adds r3, #80 ; 0x50 + 149c2: 2140 movs r1, #64 ; 0x40 + 149c4: 31ff adds r1, #255 ; 0xff + 149c6: 2201 movs r2, #1 + 149c8: 428b cmp r3, r1 + 149ca: d901 bls.n 149d0 + 149cc: f001 fad8 bl 15f80 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 14968: 2112 movs r1, #18 - 1496a: 0020 movs r0, r4 - 1496c: 4bc8 ldr r3, [pc, #800] ; (14c90 ) - 1496e: 4798 blx r3 + 149d0: 2112 movs r1, #18 + 149d2: 0020 movs r0, r4 + 149d4: 4bc8 ldr r3, [pc, #800] ; (14cf8 ) + 149d6: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 14970: 4bc0 ldr r3, [pc, #768] ; (14c74 ) - 14972: 681c ldr r4, [r3, #0] - 14974: 342c adds r4, #44 ; 0x2c - 14976: 2000 movs r0, #0 - 14978: 4bc7 ldr r3, [pc, #796] ; (14c98 ) - 1497a: 4798 blx r3 - 1497c: 2801 cmp r0, #1 - 1497e: d801 bhi.n 14984 - 14980: f001 fad7 bl 15f32 - 14984: 2000 movs r0, #0 - 14986: 4bc3 ldr r3, [pc, #780] ; (14c94 ) - 14988: 4798 blx r3 - 1498a: 0103 lsls r3, r0, #4 - 1498c: 1a1b subs r3, r3, r0 - 1498e: 005b lsls r3, r3, #1 - 14990: 3350 adds r3, #80 ; 0x50 - 14992: 2140 movs r1, #64 ; 0x40 - 14994: 31ff adds r1, #255 ; 0xff - 14996: 2201 movs r2, #1 - 14998: 428b cmp r3, r1 - 1499a: d901 bls.n 149a0 - 1499c: f001 fae2 bl 15f64 + 149d8: 4bc0 ldr r3, [pc, #768] ; (14cdc ) + 149da: 681c ldr r4, [r3, #0] + 149dc: 342c adds r4, #44 ; 0x2c + 149de: 2000 movs r0, #0 + 149e0: 4bc7 ldr r3, [pc, #796] ; (14d00 ) + 149e2: 4798 blx r3 + 149e4: 2801 cmp r0, #1 + 149e6: d801 bhi.n 149ec + 149e8: f001 fad7 bl 15f9a + 149ec: 2000 movs r0, #0 + 149ee: 4bc3 ldr r3, [pc, #780] ; (14cfc ) + 149f0: 4798 blx r3 + 149f2: 0103 lsls r3, r0, #4 + 149f4: 1a1b subs r3, r3, r0 + 149f6: 005b lsls r3, r3, #1 + 149f8: 3350 adds r3, #80 ; 0x50 + 149fa: 2140 movs r1, #64 ; 0x40 + 149fc: 31ff adds r1, #255 ; 0xff + 149fe: 2201 movs r2, #1 + 14a00: 428b cmp r3, r1 + 14a02: d901 bls.n 14a08 + 14a04: f001 fae2 bl 15fcc _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 149a0: 2113 movs r1, #19 - 149a2: 0020 movs r0, r4 - 149a4: 4bba ldr r3, [pc, #744] ; (14c90 ) - 149a6: 4798 blx r3 + 14a08: 2113 movs r1, #19 + 14a0a: 0020 movs r0, r4 + 14a0c: 4bba ldr r3, [pc, #744] ; (14cf8 ) + 14a0e: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 149a8: 4bb2 ldr r3, [pc, #712] ; (14c74 ) - 149aa: 681c ldr r4, [r3, #0] - 149ac: 342c adds r4, #44 ; 0x2c - 149ae: 2000 movs r0, #0 - 149b0: 4bb9 ldr r3, [pc, #740] ; (14c98 ) - 149b2: 4798 blx r3 - 149b4: 2801 cmp r0, #1 - 149b6: d801 bhi.n 149bc - 149b8: f001 fae1 bl 15f7e - 149bc: 2000 movs r0, #0 - 149be: 4bb5 ldr r3, [pc, #724] ; (14c94 ) - 149c0: 4798 blx r3 - 149c2: 0103 lsls r3, r0, #4 - 149c4: 1a1b subs r3, r3, r0 - 149c6: 005b lsls r3, r3, #1 - 149c8: 3350 adds r3, #80 ; 0x50 - 149ca: 2140 movs r1, #64 ; 0x40 - 149cc: 31ff adds r1, #255 ; 0xff - 149ce: 2201 movs r2, #1 - 149d0: 428b cmp r3, r1 - 149d2: d901 bls.n 149d8 - 149d4: f001 faec bl 15fb0 + 14a10: 4bb2 ldr r3, [pc, #712] ; (14cdc ) + 14a12: 681c ldr r4, [r3, #0] + 14a14: 342c adds r4, #44 ; 0x2c + 14a16: 2000 movs r0, #0 + 14a18: 4bb9 ldr r3, [pc, #740] ; (14d00 ) + 14a1a: 4798 blx r3 + 14a1c: 2801 cmp r0, #1 + 14a1e: d801 bhi.n 14a24 + 14a20: f001 fae1 bl 15fe6 + 14a24: 2000 movs r0, #0 + 14a26: 4bb5 ldr r3, [pc, #724] ; (14cfc ) + 14a28: 4798 blx r3 + 14a2a: 0103 lsls r3, r0, #4 + 14a2c: 1a1b subs r3, r3, r0 + 14a2e: 005b lsls r3, r3, #1 + 14a30: 3350 adds r3, #80 ; 0x50 + 14a32: 2140 movs r1, #64 ; 0x40 + 14a34: 31ff adds r1, #255 ; 0xff + 14a36: 2201 movs r2, #1 + 14a38: 428b cmp r3, r1 + 14a3a: d901 bls.n 14a40 + 14a3c: f001 faec bl 16018 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 149d8: 2111 movs r1, #17 - 149da: 0020 movs r0, r4 - 149dc: 4bac ldr r3, [pc, #688] ; (14c90 ) - 149de: 4798 blx r3 + 14a40: 2111 movs r1, #17 + 14a42: 0020 movs r0, r4 + 14a44: 4bac ldr r3, [pc, #688] ; (14cf8 ) + 14a46: 4798 blx r3 style_init_reset(&styles->cpicker_bg); - 149e0: 4ca4 ldr r4, [pc, #656] ; (14c74 ) - 149e2: 6820 ldr r0, [r4, #0] - 149e4: 3038 adds r0, #56 ; 0x38 - 149e6: 4bad ldr r3, [pc, #692] ; (14c9c ) - 149e8: 4798 blx r3 + 14a48: 4ca4 ldr r4, [pc, #656] ; (14cdc ) + 14a4a: 6820 ldr r0, [r4, #0] + 14a4c: 3038 adds r0, #56 ; 0x38 + 14a4e: 4bad ldr r3, [pc, #692] ; (14d04 ) + 14a50: 4798 blx r3 lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30)); - 149ea: 6824 ldr r4, [r4, #0] - 149ec: 3438 adds r4, #56 ; 0x38 - 149ee: 2000 movs r0, #0 - 149f0: 4ba8 ldr r3, [pc, #672] ; (14c94 ) - 149f2: 4798 blx r3 - 149f4: 0103 lsls r3, r0, #4 - 149f6: 1a1b subs r3, r3, r0 - 149f8: 005b lsls r3, r3, #1 - 149fa: 3350 adds r3, #80 ; 0x50 - 149fc: 2140 movs r1, #64 ; 0x40 - 149fe: 31ff adds r1, #255 ; 0xff - 14a00: 2201 movs r2, #1 - 14a02: 428b cmp r3, r1 - 14a04: d901 bls.n 14a0a - 14a06: f001 fae0 bl 15fca + 14a52: 6824 ldr r4, [r4, #0] + 14a54: 3438 adds r4, #56 ; 0x38 + 14a56: 2000 movs r0, #0 + 14a58: 4ba8 ldr r3, [pc, #672] ; (14cfc ) + 14a5a: 4798 blx r3 + 14a5c: 0103 lsls r3, r0, #4 + 14a5e: 1a1b subs r3, r3, r0 + 14a60: 005b lsls r3, r3, #1 + 14a62: 3350 adds r3, #80 ; 0x50 + 14a64: 2140 movs r1, #64 ; 0x40 + 14a66: 31ff adds r1, #255 ; 0xff + 14a68: 2201 movs r2, #1 + 14a6a: 428b cmp r3, r1 + 14a6c: d901 bls.n 14a72 + 14a6e: f001 fae0 bl 16032 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 14a0a: 21c0 movs r1, #192 ; 0xc0 - 14a0c: 0020 movs r0, r4 - 14a0e: 4ba0 ldr r3, [pc, #640] ; (14c90 ) - 14a10: 4798 blx r3 + 14a72: 21c0 movs r1, #192 ; 0xc0 + 14a74: 0020 movs r0, r4 + 14a76: 4ba0 ldr r3, [pc, #640] ; (14cf8 ) + 14a78: 4798 blx r3 lv_style_set_bg_opa(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 14a12: 4c98 ldr r4, [pc, #608] ; (14c74 ) - 14a14: 6820 ldr r0, [r4, #0] - 14a16: 3038 adds r0, #56 ; 0x38 + 14a7a: 4c98 ldr r4, [pc, #608] ; (14cdc ) + 14a7c: 6820 ldr r0, [r4, #0] + 14a7e: 3038 adds r0, #56 ; 0x38 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 14a18: 22ff movs r2, #255 ; 0xff - 14a1a: 212c movs r1, #44 ; 0x2c - 14a1c: 4b94 ldr r3, [pc, #592] ; (14c70 ) - 14a1e: 4798 blx r3 + 14a80: 22ff movs r2, #255 ; 0xff + 14a82: 212c movs r1, #44 ; 0x2c + 14a84: 4b94 ldr r3, [pc, #592] ; (14cd8 ) + 14a86: 4798 blx r3 lv_style_set_bg_color(&styles->cpicker_bg, LV_STATE_DEFAULT, COLOR_SCR); - 14a20: 6820 ldr r0, [r4, #0] - 14a22: 3038 adds r0, #56 ; 0x38 - 14a24: 4b98 ldr r3, [pc, #608] ; (14c88 ) - 14a26: 699b ldr r3, [r3, #24] - 14a28: 079b lsls r3, r3, #30 - 14a2a: d501 bpl.n 14a30 - 14a2c: f001 fada bl 15fe4 - 14a30: 2308 movs r3, #8 - 14a32: 2112 movs r1, #18 - 14a34: 220b movs r2, #11 - 14a36: 0149 lsls r1, r1, #5 - 14a38: 02db lsls r3, r3, #11 - 14a3a: 430a orrs r2, r1 - 14a3c: 431a orrs r2, r3 + 14a88: 6820 ldr r0, [r4, #0] + 14a8a: 3038 adds r0, #56 ; 0x38 + 14a8c: 4b98 ldr r3, [pc, #608] ; (14cf0 ) + 14a8e: 699b ldr r3, [r3, #24] + 14a90: 079b lsls r3, r3, #30 + 14a92: d501 bpl.n 14a98 + 14a94: f001 fada bl 1604c + 14a98: 2308 movs r3, #8 + 14a9a: 2112 movs r1, #18 + 14a9c: 220b movs r2, #11 + 14a9e: 0149 lsls r1, r1, #5 + 14aa0: 02db lsls r3, r3, #11 + 14aa2: 430a orrs r2, r1 + 14aa4: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14a3e: 2129 movs r1, #41 ; 0x29 - 14a40: 4b90 ldr r3, [pc, #576] ; (14c84 ) - 14a42: 4798 blx r3 + 14aa6: 2129 movs r1, #41 ; 0x29 + 14aa8: 4b90 ldr r3, [pc, #576] ; (14cec ) + 14aaa: 4798 blx r3 lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20)); - 14a44: 4b8b ldr r3, [pc, #556] ; (14c74 ) - 14a46: 681c ldr r4, [r3, #0] - 14a48: 3438 adds r4, #56 ; 0x38 - 14a4a: 2000 movs r0, #0 - 14a4c: 4b91 ldr r3, [pc, #580] ; (14c94 ) - 14a4e: 4798 blx r3 - 14a50: 0083 lsls r3, r0, #2 - 14a52: 181b adds r3, r3, r0 - 14a54: 009b lsls r3, r3, #2 - 14a56: 3350 adds r3, #80 ; 0x50 - 14a58: 2140 movs r1, #64 ; 0x40 - 14a5a: 31ff adds r1, #255 ; 0xff - 14a5c: 2201 movs r2, #1 - 14a5e: 428b cmp r3, r1 - 14a60: d901 bls.n 14a66 - 14a62: f001 fac4 bl 15fee + 14aac: 4b8b ldr r3, [pc, #556] ; (14cdc ) + 14aae: 681c ldr r4, [r3, #0] + 14ab0: 3438 adds r4, #56 ; 0x38 + 14ab2: 2000 movs r0, #0 + 14ab4: 4b91 ldr r3, [pc, #580] ; (14cfc ) + 14ab6: 4798 blx r3 + 14ab8: 0083 lsls r3, r0, #2 + 14aba: 181b adds r3, r3, r0 + 14abc: 009b lsls r3, r3, #2 + 14abe: 3350 adds r3, #80 ; 0x50 + 14ac0: 2140 movs r1, #64 ; 0x40 + 14ac2: 31ff adds r1, #255 ; 0xff + 14ac4: 2201 movs r2, #1 + 14ac6: 428b cmp r3, r1 + 14ac8: d901 bls.n 14ace + 14aca: f001 fac4 bl 16056 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 14a66: 2114 movs r1, #20 - 14a68: 0020 movs r0, r4 - 14a6a: 4e89 ldr r6, [pc, #548] ; (14c90 ) - 14a6c: 47b0 blx r6 + 14ace: 2114 movs r1, #20 + 14ad0: 0020 movs r0, r4 + 14ad2: 4e89 ldr r6, [pc, #548] ; (14cf8 ) + 14ad4: 47b0 blx r6 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 14a6e: 4d8c ldr r5, [pc, #560] ; (14ca0 ) + 14ad6: 4d8c ldr r5, [pc, #560] ; (14d08 ) lv_style_set_radius(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 14a70: 4c80 ldr r4, [pc, #512] ; (14c74 ) - 14a72: 6820 ldr r0, [r4, #0] - 14a74: 3038 adds r0, #56 ; 0x38 - 14a76: 002a movs r2, r5 - 14a78: 2101 movs r1, #1 - 14a7a: 47b0 blx r6 + 14ad8: 4c80 ldr r4, [pc, #512] ; (14cdc ) + 14ada: 6820 ldr r0, [r4, #0] + 14adc: 3038 adds r0, #56 ; 0x38 + 14ade: 002a movs r2, r5 + 14ae0: 2101 movs r1, #1 + 14ae2: 47b0 blx r6 style_init_reset(&styles->cpicker_indic); - 14a7c: 6820 ldr r0, [r4, #0] - 14a7e: 303c adds r0, #60 ; 0x3c - 14a80: 4b86 ldr r3, [pc, #536] ; (14c9c ) - 14a82: 4798 blx r3 + 14ae4: 6820 ldr r0, [r4, #0] + 14ae6: 303c adds r0, #60 ; 0x3c + 14ae8: 4b86 ldr r3, [pc, #536] ; (14d04 ) + 14aea: 4798 blx r3 lv_style_set_radius(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 14a84: 6820 ldr r0, [r4, #0] - 14a86: 303c adds r0, #60 ; 0x3c - 14a88: 002a movs r2, r5 - 14a8a: 2101 movs r1, #1 - 14a8c: 47b0 blx r6 + 14aec: 6820 ldr r0, [r4, #0] + 14aee: 303c adds r0, #60 ; 0x3c + 14af0: 002a movs r2, r5 + 14af2: 2101 movs r1, #1 + 14af4: 47b0 blx r6 lv_style_set_bg_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 14a8e: 6820 ldr r0, [r4, #0] - 14a90: 303c adds r0, #60 ; 0x3c - 14a92: 4f7a ldr r7, [pc, #488] ; (14c7c ) - 14a94: 883a ldrh r2, [r7, #0] + 14af6: 6820 ldr r0, [r4, #0] + 14af8: 303c adds r0, #60 ; 0x3c + 14afa: 4f7a ldr r7, [pc, #488] ; (14ce4 ) + 14afc: 883a ldrh r2, [r7, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14a96: 2129 movs r1, #41 ; 0x29 - 14a98: 4d7a ldr r5, [pc, #488] ; (14c84 ) - 14a9a: 47a8 blx r5 + 14afe: 2129 movs r1, #41 ; 0x29 + 14b00: 4d7a ldr r5, [pc, #488] ; (14cec ) + 14b02: 47a8 blx r5 lv_style_set_bg_opa(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 14a9c: 6820 ldr r0, [r4, #0] - 14a9e: 303c adds r0, #60 ; 0x3c + 14b04: 6820 ldr r0, [r4, #0] + 14b06: 303c adds r0, #60 ; 0x3c _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 14aa0: 22ff movs r2, #255 ; 0xff - 14aa2: 212c movs r1, #44 ; 0x2c - 14aa4: 4b72 ldr r3, [pc, #456] ; (14c70 ) - 14aa6: 4798 blx r3 + 14b08: 22ff movs r2, #255 ; 0xff + 14b0a: 212c movs r1, #44 ; 0x2c + 14b0c: 4b72 ldr r3, [pc, #456] ; (14cd8 ) + 14b0e: 4798 blx r3 lv_style_set_border_width(&styles->cpicker_indic, LV_STATE_DEFAULT, 2); - 14aa8: 6820 ldr r0, [r4, #0] - 14aaa: 303c adds r0, #60 ; 0x3c + 14b10: 6820 ldr r0, [r4, #0] + 14b12: 303c adds r0, #60 ; 0x3c _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 14aac: 2202 movs r2, #2 - 14aae: 2130 movs r1, #48 ; 0x30 - 14ab0: 47b0 blx r6 + 14b14: 2202 movs r2, #2 + 14b16: 2130 movs r1, #48 ; 0x30 + 14b18: 47b0 blx r6 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_GRAY); - 14ab2: 6820 ldr r0, [r4, #0] - 14ab4: 303c adds r0, #60 ; 0x3c - 14ab6: 88ba ldrh r2, [r7, #4] + 14b1a: 6820 ldr r0, [r4, #0] + 14b1c: 303c adds r0, #60 ; 0x3c + 14b1e: 88ba ldrh r2, [r7, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 14ab8: 2139 movs r1, #57 ; 0x39 - 14aba: 47a8 blx r5 + 14b20: 2139 movs r1, #57 ; 0x39 + 14b22: 47a8 blx r5 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_FOCUSED, theme.color_primary); - 14abc: 6820 ldr r0, [r4, #0] - 14abe: 303c adds r0, #60 ; 0x3c - 14ac0: 4e71 ldr r6, [pc, #452] ; (14c88 ) - 14ac2: 88b2 ldrh r2, [r6, #4] - 14ac4: 4977 ldr r1, [pc, #476] ; (14ca4 ) - 14ac6: 47a8 blx r5 + 14b24: 6820 ldr r0, [r4, #0] + 14b26: 303c adds r0, #60 ; 0x3c + 14b28: 4e71 ldr r6, [pc, #452] ; (14cf0 ) + 14b2a: 88b2 ldrh r2, [r6, #4] + 14b2c: 4977 ldr r1, [pc, #476] ; (14d0c ) + 14b2e: 47a8 blx r5 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_EDITED, theme.color_secondary); - 14ac8: 6820 ldr r0, [r4, #0] - 14aca: 303c adds r0, #60 ; 0x3c - 14acc: 88f2 ldrh r2, [r6, #6] - 14ace: 4976 ldr r1, [pc, #472] ; (14ca8 ) - 14ad0: 47a8 blx r5 + 14b30: 6820 ldr r0, [r4, #0] + 14b32: 303c adds r0, #60 ; 0x3c + 14b34: 88f2 ldrh r2, [r6, #6] + 14b36: 4976 ldr r1, [pc, #472] ; (14d10 ) + 14b38: 47a8 blx r5 lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 14ad2: 6824 ldr r4, [r4, #0] - 14ad4: 343c adds r4, #60 ; 0x3c - 14ad6: 2000 movs r0, #0 - 14ad8: 4b6e ldr r3, [pc, #440] ; (14c94 ) - 14ada: 4798 blx r3 - 14adc: 0003 movs r3, r0 - 14ade: 0040 lsls r0, r0, #1 - 14ae0: 18c0 adds r0, r0, r3 - 14ae2: 0080 lsls r0, r0, #2 - 14ae4: 18c0 adds r0, r0, r3 - 14ae6: 3050 adds r0, #80 ; 0x50 - 14ae8: 2340 movs r3, #64 ; 0x40 - 14aea: 33ff adds r3, #255 ; 0xff - 14aec: 2201 movs r2, #1 - 14aee: 4298 cmp r0, r3 - 14af0: d901 bls.n 14af6 - 14af2: f001 fa8a bl 1600a + 14b3a: 6824 ldr r4, [r4, #0] + 14b3c: 343c adds r4, #60 ; 0x3c + 14b3e: 2000 movs r0, #0 + 14b40: 4b6e ldr r3, [pc, #440] ; (14cfc ) + 14b42: 4798 blx r3 + 14b44: 0003 movs r3, r0 + 14b46: 0040 lsls r0, r0, #1 + 14b48: 18c0 adds r0, r0, r3 + 14b4a: 0080 lsls r0, r0, #2 + 14b4c: 18c0 adds r0, r0, r3 + 14b4e: 3050 adds r0, #80 ; 0x50 + 14b50: 2340 movs r3, #64 ; 0x40 + 14b52: 33ff adds r3, #255 ; 0xff + 14b54: 2201 movs r2, #1 + 14b56: 4298 cmp r0, r3 + 14b58: d901 bls.n 14b5e + 14b5a: f001 fa8a bl 16072 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 14af6: 2112 movs r1, #18 - 14af8: 0020 movs r0, r4 - 14afa: 4b65 ldr r3, [pc, #404] ; (14c90 ) - 14afc: 4798 blx r3 + 14b5e: 2112 movs r1, #18 + 14b60: 0020 movs r0, r4 + 14b62: 4b65 ldr r3, [pc, #404] ; (14cf8 ) + 14b64: 4798 blx r3 lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 14afe: 4b5d ldr r3, [pc, #372] ; (14c74 ) - 14b00: 681c ldr r4, [r3, #0] - 14b02: 343c adds r4, #60 ; 0x3c - 14b04: 2000 movs r0, #0 - 14b06: 4b63 ldr r3, [pc, #396] ; (14c94 ) - 14b08: 4798 blx r3 - 14b0a: 0003 movs r3, r0 - 14b0c: 0040 lsls r0, r0, #1 - 14b0e: 18c0 adds r0, r0, r3 - 14b10: 0080 lsls r0, r0, #2 - 14b12: 18c0 adds r0, r0, r3 - 14b14: 3050 adds r0, #80 ; 0x50 - 14b16: 2340 movs r3, #64 ; 0x40 - 14b18: 33ff adds r3, #255 ; 0xff - 14b1a: 2201 movs r2, #1 - 14b1c: 4298 cmp r0, r3 - 14b1e: d901 bls.n 14b24 - 14b20: f001 fa82 bl 16028 + 14b66: 4b5d ldr r3, [pc, #372] ; (14cdc ) + 14b68: 681c ldr r4, [r3, #0] + 14b6a: 343c adds r4, #60 ; 0x3c + 14b6c: 2000 movs r0, #0 + 14b6e: 4b63 ldr r3, [pc, #396] ; (14cfc ) + 14b70: 4798 blx r3 + 14b72: 0003 movs r3, r0 + 14b74: 0040 lsls r0, r0, #1 + 14b76: 18c0 adds r0, r0, r3 + 14b78: 0080 lsls r0, r0, #2 + 14b7a: 18c0 adds r0, r0, r3 + 14b7c: 3050 adds r0, #80 ; 0x50 + 14b7e: 2340 movs r3, #64 ; 0x40 + 14b80: 33ff adds r3, #255 ; 0xff + 14b82: 2201 movs r2, #1 + 14b84: 4298 cmp r0, r3 + 14b86: d901 bls.n 14b8c + 14b88: f001 fa82 bl 16090 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 14b24: 2113 movs r1, #19 - 14b26: 0020 movs r0, r4 - 14b28: 4b59 ldr r3, [pc, #356] ; (14c90 ) - 14b2a: 4798 blx r3 + 14b8c: 2113 movs r1, #19 + 14b8e: 0020 movs r0, r4 + 14b90: 4b59 ldr r3, [pc, #356] ; (14cf8 ) + 14b92: 4798 blx r3 lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 14b2c: 4b51 ldr r3, [pc, #324] ; (14c74 ) - 14b2e: 681c ldr r4, [r3, #0] - 14b30: 343c adds r4, #60 ; 0x3c - 14b32: 2000 movs r0, #0 - 14b34: 4b57 ldr r3, [pc, #348] ; (14c94 ) - 14b36: 4798 blx r3 - 14b38: 0003 movs r3, r0 - 14b3a: 0040 lsls r0, r0, #1 - 14b3c: 18c0 adds r0, r0, r3 - 14b3e: 0080 lsls r0, r0, #2 - 14b40: 18c0 adds r0, r0, r3 - 14b42: 3050 adds r0, #80 ; 0x50 - 14b44: 2340 movs r3, #64 ; 0x40 - 14b46: 33ff adds r3, #255 ; 0xff - 14b48: 2201 movs r2, #1 - 14b4a: 4298 cmp r0, r3 - 14b4c: d901 bls.n 14b52 - 14b4e: f001 fa7a bl 16046 + 14b94: 4b51 ldr r3, [pc, #324] ; (14cdc ) + 14b96: 681c ldr r4, [r3, #0] + 14b98: 343c adds r4, #60 ; 0x3c + 14b9a: 2000 movs r0, #0 + 14b9c: 4b57 ldr r3, [pc, #348] ; (14cfc ) + 14b9e: 4798 blx r3 + 14ba0: 0003 movs r3, r0 + 14ba2: 0040 lsls r0, r0, #1 + 14ba4: 18c0 adds r0, r0, r3 + 14ba6: 0080 lsls r0, r0, #2 + 14ba8: 18c0 adds r0, r0, r3 + 14baa: 3050 adds r0, #80 ; 0x50 + 14bac: 2340 movs r3, #64 ; 0x40 + 14bae: 33ff adds r3, #255 ; 0xff + 14bb0: 2201 movs r2, #1 + 14bb2: 4298 cmp r0, r3 + 14bb4: d901 bls.n 14bba + 14bb6: f001 fa7a bl 160ae _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 14b52: 2110 movs r1, #16 - 14b54: 0020 movs r0, r4 - 14b56: 4b4e ldr r3, [pc, #312] ; (14c90 ) - 14b58: 4798 blx r3 + 14bba: 2110 movs r1, #16 + 14bbc: 0020 movs r0, r4 + 14bbe: 4b4e ldr r3, [pc, #312] ; (14cf8 ) + 14bc0: 4798 blx r3 lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 14b5a: 4b46 ldr r3, [pc, #280] ; (14c74 ) - 14b5c: 681c ldr r4, [r3, #0] - 14b5e: 343c adds r4, #60 ; 0x3c - 14b60: 2000 movs r0, #0 - 14b62: 4b4c ldr r3, [pc, #304] ; (14c94 ) - 14b64: 4798 blx r3 - 14b66: 0003 movs r3, r0 - 14b68: 0040 lsls r0, r0, #1 - 14b6a: 18c0 adds r0, r0, r3 - 14b6c: 0080 lsls r0, r0, #2 - 14b6e: 18c0 adds r0, r0, r3 - 14b70: 3050 adds r0, #80 ; 0x50 - 14b72: 2340 movs r3, #64 ; 0x40 - 14b74: 33ff adds r3, #255 ; 0xff - 14b76: 2201 movs r2, #1 - 14b78: 4298 cmp r0, r3 - 14b7a: d901 bls.n 14b80 - 14b7c: f001 fa72 bl 16064 + 14bc2: 4b46 ldr r3, [pc, #280] ; (14cdc ) + 14bc4: 681c ldr r4, [r3, #0] + 14bc6: 343c adds r4, #60 ; 0x3c + 14bc8: 2000 movs r0, #0 + 14bca: 4b4c ldr r3, [pc, #304] ; (14cfc ) + 14bcc: 4798 blx r3 + 14bce: 0003 movs r3, r0 + 14bd0: 0040 lsls r0, r0, #1 + 14bd2: 18c0 adds r0, r0, r3 + 14bd4: 0080 lsls r0, r0, #2 + 14bd6: 18c0 adds r0, r0, r3 + 14bd8: 3050 adds r0, #80 ; 0x50 + 14bda: 2340 movs r3, #64 ; 0x40 + 14bdc: 33ff adds r3, #255 ; 0xff + 14bde: 2201 movs r2, #1 + 14be0: 4298 cmp r0, r3 + 14be2: d901 bls.n 14be8 + 14be4: f001 fa72 bl 160cc _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 14b80: 2111 movs r1, #17 - 14b82: 0020 movs r0, r4 - 14b84: 4b42 ldr r3, [pc, #264] ; (14c90 ) - 14b86: 4798 blx r3 + 14be8: 2111 movs r1, #17 + 14bea: 0020 movs r0, r4 + 14bec: 4b42 ldr r3, [pc, #264] ; (14cf8 ) + 14bee: 4798 blx r3 style_init_reset(&styles->cb_bg); - 14b88: 4c3a ldr r4, [pc, #232] ; (14c74 ) - 14b8a: 6820 ldr r0, [r4, #0] - 14b8c: 304c adds r0, #76 ; 0x4c - 14b8e: 4b43 ldr r3, [pc, #268] ; (14c9c ) - 14b90: 4798 blx r3 + 14bf0: 4c3a ldr r4, [pc, #232] ; (14cdc ) + 14bf2: 6820 ldr r0, [r4, #0] + 14bf4: 304c adds r0, #76 ; 0x4c + 14bf6: 4b43 ldr r3, [pc, #268] ; (14d04 ) + 14bf8: 4798 blx r3 lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 14b92: 6824 ldr r4, [r4, #0] - 14b94: 344c adds r4, #76 ; 0x4c - 14b96: 2000 movs r0, #0 - 14b98: 4b3e ldr r3, [pc, #248] ; (14c94 ) - 14b9a: 4798 blx r3 - 14b9c: 3014 adds r0, #20 - 14b9e: 0080 lsls r0, r0, #2 - 14ba0: 2340 movs r3, #64 ; 0x40 - 14ba2: 33ff adds r3, #255 ; 0xff - 14ba4: 2201 movs r2, #1 - 14ba6: 4298 cmp r0, r3 - 14ba8: d901 bls.n 14bae - 14baa: f001 fa6a bl 16082 + 14bfa: 6824 ldr r4, [r4, #0] + 14bfc: 344c adds r4, #76 ; 0x4c + 14bfe: 2000 movs r0, #0 + 14c00: 4b3e ldr r3, [pc, #248] ; (14cfc ) + 14c02: 4798 blx r3 + 14c04: 3014 adds r0, #20 + 14c06: 0080 lsls r0, r0, #2 + 14c08: 2340 movs r3, #64 ; 0x40 + 14c0a: 33ff adds r3, #255 ; 0xff + 14c0c: 2201 movs r2, #1 + 14c0e: 4298 cmp r0, r3 + 14c10: d901 bls.n 14c16 + 14c12: f001 fa6a bl 160ea _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 14bae: 2101 movs r1, #1 - 14bb0: 0020 movs r0, r4 - 14bb2: 4b37 ldr r3, [pc, #220] ; (14c90 ) - 14bb4: 4798 blx r3 + 14c16: 2101 movs r1, #1 + 14c18: 0020 movs r0, r4 + 14c1a: 4b37 ldr r3, [pc, #220] ; (14cf8 ) + 14c1c: 4798 blx r3 lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 14bb6: 4b2f ldr r3, [pc, #188] ; (14c74 ) - 14bb8: 681c ldr r4, [r3, #0] - 14bba: 344c adds r4, #76 ; 0x4c - 14bbc: 2000 movs r0, #0 - 14bbe: 4b35 ldr r3, [pc, #212] ; (14c94 ) - 14bc0: 4798 blx r3 - 14bc2: 0083 lsls r3, r0, #2 - 14bc4: 181b adds r3, r3, r0 - 14bc6: 005b lsls r3, r3, #1 - 14bc8: 3350 adds r3, #80 ; 0x50 - 14bca: 2140 movs r1, #64 ; 0x40 - 14bcc: 31ff adds r1, #255 ; 0xff - 14bce: 2201 movs r2, #1 - 14bd0: 428b cmp r3, r1 - 14bd2: d901 bls.n 14bd8 - 14bd4: f001 fa60 bl 16098 + 14c1e: 4b2f ldr r3, [pc, #188] ; (14cdc ) + 14c20: 681c ldr r4, [r3, #0] + 14c22: 344c adds r4, #76 ; 0x4c + 14c24: 2000 movs r0, #0 + 14c26: 4b35 ldr r3, [pc, #212] ; (14cfc ) + 14c28: 4798 blx r3 + 14c2a: 0083 lsls r3, r0, #2 + 14c2c: 181b adds r3, r3, r0 + 14c2e: 005b lsls r3, r3, #1 + 14c30: 3350 adds r3, #80 ; 0x50 + 14c32: 2140 movs r1, #64 ; 0x40 + 14c34: 31ff adds r1, #255 ; 0xff + 14c36: 2201 movs r2, #1 + 14c38: 428b cmp r3, r1 + 14c3a: d901 bls.n 14c40 + 14c3c: f001 fa60 bl 16100 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 14bd8: 2114 movs r1, #20 - 14bda: 0020 movs r0, r4 - 14bdc: 4b2c ldr r3, [pc, #176] ; (14c90 ) - 14bde: 4798 blx r3 + 14c40: 2114 movs r1, #20 + 14c42: 0020 movs r0, r4 + 14c44: 4b2c ldr r3, [pc, #176] ; (14cf8 ) + 14c46: 4798 blx r3 lv_style_set_outline_color(&styles->cb_bg, LV_STATE_DEFAULT, theme.color_primary); - 14be0: 4c24 ldr r4, [pc, #144] ; (14c74 ) - 14be2: 6820 ldr r0, [r4, #0] - 14be4: 304c adds r0, #76 ; 0x4c - 14be6: 4b28 ldr r3, [pc, #160] ; (14c88 ) - 14be8: 889a ldrh r2, [r3, #4] + 14c48: 4c24 ldr r4, [pc, #144] ; (14cdc ) + 14c4a: 6820 ldr r0, [r4, #0] + 14c4c: 304c adds r0, #76 ; 0x4c + 14c4e: 4b28 ldr r3, [pc, #160] ; (14cf0 ) + 14c50: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 14bea: 2149 movs r1, #73 ; 0x49 - 14bec: 4b25 ldr r3, [pc, #148] ; (14c84 ) - 14bee: 4798 blx r3 + 14c52: 2149 movs r1, #73 ; 0x49 + 14c54: 4b25 ldr r3, [pc, #148] ; (14cec ) + 14c56: 4798 blx r3 lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); - 14bf0: 6820 ldr r0, [r4, #0] - 14bf2: 304c adds r0, #76 ; 0x4c + 14c58: 6820 ldr r0, [r4, #0] + 14c5a: 304c adds r0, #76 ; 0x4c _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 14bf4: 2200 movs r2, #0 - 14bf6: 214c movs r1, #76 ; 0x4c - 14bf8: 4d1d ldr r5, [pc, #116] ; (14c70 ) - 14bfa: 47a8 blx r5 + 14c5c: 2200 movs r2, #0 + 14c5e: 214c movs r1, #76 ; 0x4c + 14c60: 4d1d ldr r5, [pc, #116] ; (14cd8 ) + 14c62: 47a8 blx r5 lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_FOCUSED, LV_OPA_50); - 14bfc: 6820 ldr r0, [r4, #0] - 14bfe: 304c adds r0, #76 ; 0x4c - 14c00: 227f movs r2, #127 ; 0x7f - 14c02: 2193 movs r1, #147 ; 0x93 - 14c04: 0089 lsls r1, r1, #2 - 14c06: 47a8 blx r5 + 14c64: 6820 ldr r0, [r4, #0] + 14c66: 304c adds r0, #76 ; 0x4c + 14c68: 227f movs r2, #127 ; 0x7f + 14c6a: 2193 movs r1, #147 ; 0x93 + 14c6c: 0089 lsls r1, r1, #2 + 14c6e: 47a8 blx r5 lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 14c08: 6824 ldr r4, [r4, #0] - 14c0a: 344c adds r4, #76 ; 0x4c - 14c0c: 2000 movs r0, #0 - 14c0e: 4b21 ldr r3, [pc, #132] ; (14c94 ) - 14c10: 4798 blx r3 - 14c12: 0043 lsls r3, r0, #1 - 14c14: 1818 adds r0, r3, r0 - 14c16: 3050 adds r0, #80 ; 0x50 - 14c18: 2340 movs r3, #64 ; 0x40 - 14c1a: 33ff adds r3, #255 ; 0xff - 14c1c: 2201 movs r2, #1 - 14c1e: 4298 cmp r0, r3 - 14c20: d901 bls.n 14c26 - 14c22: f001 fa47 bl 160b4 + 14c70: 6824 ldr r4, [r4, #0] + 14c72: 344c adds r4, #76 ; 0x4c + 14c74: 2000 movs r0, #0 + 14c76: 4b21 ldr r3, [pc, #132] ; (14cfc ) + 14c78: 4798 blx r3 + 14c7a: 0043 lsls r3, r0, #1 + 14c7c: 1818 adds r0, r3, r0 + 14c7e: 3050 adds r0, #80 ; 0x50 + 14c80: 2340 movs r3, #64 ; 0x40 + 14c82: 33ff adds r3, #255 ; 0xff + 14c84: 2201 movs r2, #1 + 14c86: 4298 cmp r0, r3 + 14c88: d901 bls.n 14c8e + 14c8a: f001 fa47 bl 1611c _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 14c26: 2140 movs r1, #64 ; 0x40 - 14c28: 0020 movs r0, r4 - 14c2a: 4b19 ldr r3, [pc, #100] ; (14c90 ) - 14c2c: 4798 blx r3 + 14c8e: 2140 movs r1, #64 ; 0x40 + 14c90: 0020 movs r0, r4 + 14c92: 4b19 ldr r3, [pc, #100] ; (14cf8 ) + 14c94: 4798 blx r3 lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 14c2e: 4b11 ldr r3, [pc, #68] ; (14c74 ) - 14c30: 681c ldr r4, [r3, #0] - 14c32: 344c adds r4, #76 ; 0x4c - 14c34: 2000 movs r0, #0 - 14c36: 4b17 ldr r3, [pc, #92] ; (14c94 ) - 14c38: 4798 blx r3 - 14c3a: 0083 lsls r3, r0, #2 - 14c3c: 181b adds r3, r3, r0 - 14c3e: 005b lsls r3, r3, #1 - 14c40: 3350 adds r3, #80 ; 0x50 - 14c42: 2140 movs r1, #64 ; 0x40 - 14c44: 31ff adds r1, #255 ; 0xff - 14c46: 2201 movs r2, #1 - 14c48: 428b cmp r3, r1 - 14c4a: d901 bls.n 14c50 - 14c4c: f001 fa3f bl 160ce + 14c96: 4b11 ldr r3, [pc, #68] ; (14cdc ) + 14c98: 681c ldr r4, [r3, #0] + 14c9a: 344c adds r4, #76 ; 0x4c + 14c9c: 2000 movs r0, #0 + 14c9e: 4b17 ldr r3, [pc, #92] ; (14cfc ) + 14ca0: 4798 blx r3 + 14ca2: 0083 lsls r3, r0, #2 + 14ca4: 181b adds r3, r3, r0 + 14ca6: 005b lsls r3, r3, #1 + 14ca8: 3350 adds r3, #80 ; 0x50 + 14caa: 2140 movs r1, #64 ; 0x40 + 14cac: 31ff adds r1, #255 ; 0xff + 14cae: 2201 movs r2, #1 + 14cb0: 428b cmp r3, r1 + 14cb2: d901 bls.n 14cb8 + 14cb4: f001 fa3f bl 16136 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 14c50: 2141 movs r1, #65 ; 0x41 - 14c52: 0020 movs r0, r4 - 14c54: 4d0e ldr r5, [pc, #56] ; (14c90 ) - 14c56: 47a8 blx r5 + 14cb8: 2141 movs r1, #65 ; 0x41 + 14cba: 0020 movs r0, r4 + 14cbc: 4d0e ldr r5, [pc, #56] ; (14cf8 ) + 14cbe: 47a8 blx r5 lv_style_set_transition_time(&styles->cb_bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 14c58: 4c06 ldr r4, [pc, #24] ; (14c74 ) - 14c5a: 6820 ldr r0, [r4, #0] - 14c5c: 304c adds r0, #76 ; 0x4c + 14cc0: 4c06 ldr r4, [pc, #24] ; (14cdc ) + 14cc2: 6820 ldr r0, [r4, #0] + 14cc4: 304c adds r0, #76 ; 0x4c _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 14c5e: 2296 movs r2, #150 ; 0x96 - 14c60: 21b0 movs r1, #176 ; 0xb0 - 14c62: 47a8 blx r5 + 14cc6: 2296 movs r2, #150 ; 0x96 + 14cc8: 21b0 movs r1, #176 ; 0xb0 + 14cca: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->cb_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 14c64: 6820 ldr r0, [r4, #0] - 14c66: 304c adds r0, #76 ; 0x4c + 14ccc: 6820 ldr r0, [r4, #0] + 14cce: 304c adds r0, #76 ; 0x4c _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 14c68: 224c movs r2, #76 ; 0x4c - 14c6a: 21b7 movs r1, #183 ; 0xb7 - 14c6c: e01e b.n 14cac - 14c6e: 46c0 nop ; (mov r8, r8) - 14c70: 00004f4d .word 0x00004f4d - 14c74: 20004c38 .word 0x20004c38 - 14c78: 0000102c .word 0x0000102c - 14c7c: 0001ca0c .word 0x0001ca0c - 14c80: 00008289 .word 0x00008289 - 14c84: 00004ded .word 0x00004ded - 14c88: 20004c3c .word 0x20004c3c - 14c8c: 00000229 .word 0x00000229 - 14c90: 00004c8d .word 0x00004c8d - 14c94: 0000f5fd .word 0x0000f5fd - 14c98: 0000f619 .word 0x0000f619 - 14c9c: 0001242d .word 0x0001242d - 14ca0: 00007fff .word 0x00007fff - 14ca4: 00000239 .word 0x00000239 - 14ca8: 00000439 .word 0x00000439 - 14cac: 47a8 blx r5 + 14cd0: 224c movs r2, #76 ; 0x4c + 14cd2: 21b7 movs r1, #183 ; 0xb7 + 14cd4: e01e b.n 14d14 + 14cd6: 46c0 nop ; (mov r8, r8) + 14cd8: 00004fb5 .word 0x00004fb5 + 14cdc: 20004c38 .word 0x20004c38 + 14ce0: 0000102c .word 0x0000102c + 14ce4: 0001ca9c .word 0x0001ca9c + 14ce8: 00008289 .word 0x00008289 + 14cec: 00004e55 .word 0x00004e55 + 14cf0: 20004c3c .word 0x20004c3c + 14cf4: 00000229 .word 0x00000229 + 14cf8: 00004cf5 .word 0x00004cf5 + 14cfc: 0000f665 .word 0x0000f665 + 14d00: 0000f681 .word 0x0000f681 + 14d04: 00012495 .word 0x00012495 + 14d08: 00007fff .word 0x00007fff + 14d0c: 00000239 .word 0x00000239 + 14d10: 00000439 .word 0x00000439 + 14d14: 47a8 blx r5 style_init_reset(&styles->cb_bullet); - 14cae: 6820 ldr r0, [r4, #0] - 14cb0: 3050 adds r0, #80 ; 0x50 - 14cb2: 4bfd ldr r3, [pc, #1012] ; (150a8 ) - 14cb4: 4798 blx r3 + 14d16: 6820 ldr r0, [r4, #0] + 14d18: 3050 adds r0, #80 ; 0x50 + 14d1a: 4bfd ldr r3, [pc, #1012] ; (15110 ) + 14d1c: 4798 blx r3 lv_style_set_outline_opa(&styles->cb_bullet, LV_STATE_FOCUSED, LV_OPA_TRANSP); - 14cb6: 6820 ldr r0, [r4, #0] - 14cb8: 3050 adds r0, #80 ; 0x50 + 14d1e: 6820 ldr r0, [r4, #0] + 14d20: 3050 adds r0, #80 ; 0x50 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 14cba: 2200 movs r2, #0 - 14cbc: 2193 movs r1, #147 ; 0x93 - 14cbe: 0089 lsls r1, r1, #2 - 14cc0: 4bfa ldr r3, [pc, #1000] ; (150ac ) - 14cc2: 4798 blx r3 + 14d22: 2200 movs r2, #0 + 14d24: 2193 movs r1, #147 ; 0x93 + 14d26: 0089 lsls r1, r1, #2 + 14d28: 4bfa ldr r3, [pc, #1000] ; (15114 ) + 14d2a: 4798 blx r3 lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4)); - 14cc4: 6824 ldr r4, [r4, #0] - 14cc6: 3450 adds r4, #80 ; 0x50 - 14cc8: 2000 movs r0, #0 - 14cca: 4bf9 ldr r3, [pc, #996] ; (150b0 ) - 14ccc: 4798 blx r3 - 14cce: 3014 adds r0, #20 - 14cd0: 0080 lsls r0, r0, #2 - 14cd2: 2340 movs r3, #64 ; 0x40 - 14cd4: 33ff adds r3, #255 ; 0xff - 14cd6: 2201 movs r2, #1 - 14cd8: 4298 cmp r0, r3 - 14cda: d901 bls.n 14ce0 - 14cdc: f001 fa05 bl 160ea + 14d2c: 6824 ldr r4, [r4, #0] + 14d2e: 3450 adds r4, #80 ; 0x50 + 14d30: 2000 movs r0, #0 + 14d32: 4bf9 ldr r3, [pc, #996] ; (15118 ) + 14d34: 4798 blx r3 + 14d36: 3014 adds r0, #20 + 14d38: 0080 lsls r0, r0, #2 + 14d3a: 2340 movs r3, #64 ; 0x40 + 14d3c: 33ff adds r3, #255 ; 0xff + 14d3e: 2201 movs r2, #1 + 14d40: 4298 cmp r0, r3 + 14d42: d901 bls.n 14d48 + 14d44: f001 fa05 bl 16152 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 14ce0: 2101 movs r1, #1 - 14ce2: 0020 movs r0, r4 - 14ce4: 4bf3 ldr r3, [pc, #972] ; (150b4 ) - 14ce6: 4798 blx r3 + 14d48: 2101 movs r1, #1 + 14d4a: 0020 movs r0, r4 + 14d4c: 4bf3 ldr r3, [pc, #972] ; (1511c ) + 14d4e: 4798 blx r3 lv_style_set_pattern_image(&styles->cb_bullet, LV_STATE_CHECKED, LV_SYMBOL_OK); - 14ce8: 4cf3 ldr r4, [pc, #972] ; (150b8 ) - 14cea: 6820 ldr r0, [r4, #0] - 14cec: 3050 adds r0, #80 ; 0x50 + 14d50: 4cf3 ldr r4, [pc, #972] ; (15120 ) + 14d52: 6820 ldr r0, [r4, #0] + 14d54: 3050 adds r0, #80 ; 0x50 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar) - 14cee: 4af3 ldr r2, [pc, #972] ; (150bc ) - 14cf0: 21b7 movs r1, #183 ; 0xb7 - 14cf2: 0049 lsls r1, r1, #1 - 14cf4: 4df2 ldr r5, [pc, #968] ; (150c0 ) - 14cf6: 47a8 blx r5 + 14d56: 4af3 ldr r2, [pc, #972] ; (15124 ) + 14d58: 21b7 movs r1, #183 ; 0xb7 + 14d5a: 0049 lsls r1, r1, #1 + 14d5c: 4df2 ldr r5, [pc, #968] ; (15128 ) + 14d5e: 47a8 blx r5 lv_style_set_pattern_recolor(&styles->cb_bullet, LV_STATE_CHECKED, LV_COLOR_WHITE); - 14cf8: 6820 ldr r0, [r4, #0] - 14cfa: 3050 adds r0, #80 ; 0x50 - 14cfc: 4bf1 ldr r3, [pc, #964] ; (150c4 ) - 14cfe: 881a ldrh r2, [r3, #0] + 14d60: 6820 ldr r0, [r4, #0] + 14d62: 3050 adds r0, #80 ; 0x50 + 14d64: 4bf1 ldr r3, [pc, #964] ; (1512c ) + 14d66: 881a ldrh r2, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 14d00: 216a movs r1, #106 ; 0x6a - 14d02: 31ff adds r1, #255 ; 0xff - 14d04: 4bf0 ldr r3, [pc, #960] ; (150c8 ) - 14d06: 4798 blx r3 + 14d68: 216a movs r1, #106 ; 0x6a + 14d6a: 31ff adds r1, #255 ; 0xff + 14d6c: 4bf0 ldr r3, [pc, #960] ; (15130 ) + 14d6e: 4798 blx r3 lv_style_set_text_font(&styles->cb_bullet, LV_STATE_CHECKED, theme.font_small); - 14d08: 4bf0 ldr r3, [pc, #960] ; (150cc ) + 14d70: 4bf0 ldr r3, [pc, #960] ; (15134 ) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 14d0a: 689a ldr r2, [r3, #8] - 14d0c: 6820 ldr r0, [r4, #0] - 14d0e: 3050 adds r0, #80 ; 0x50 - 14d10: 49ef ldr r1, [pc, #956] ; (150d0 ) - 14d12: 47a8 blx r5 + 14d72: 689a ldr r2, [r3, #8] + 14d74: 6820 ldr r0, [r4, #0] + 14d76: 3050 adds r0, #80 ; 0x50 + 14d78: 49ef ldr r1, [pc, #956] ; (15138 ) + 14d7a: 47a8 blx r5 lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 14d14: 6824 ldr r4, [r4, #0] - 14d16: 3450 adds r4, #80 ; 0x50 - 14d18: 2000 movs r0, #0 - 14d1a: 4be5 ldr r3, [pc, #916] ; (150b0 ) - 14d1c: 4798 blx r3 - 14d1e: 0043 lsls r3, r0, #1 - 14d20: 1818 adds r0, r3, r0 - 14d22: 3050 adds r0, #80 ; 0x50 - 14d24: 2340 movs r3, #64 ; 0x40 - 14d26: 33ff adds r3, #255 ; 0xff - 14d28: 2201 movs r2, #1 - 14d2a: 4298 cmp r0, r3 - 14d2c: d901 bls.n 14d32 - 14d2e: f001 f9e7 bl 16100 + 14d7c: 6824 ldr r4, [r4, #0] + 14d7e: 3450 adds r4, #80 ; 0x50 + 14d80: 2000 movs r0, #0 + 14d82: 4be5 ldr r3, [pc, #916] ; (15118 ) + 14d84: 4798 blx r3 + 14d86: 0043 lsls r3, r0, #1 + 14d88: 1818 adds r0, r3, r0 + 14d8a: 3050 adds r0, #80 ; 0x50 + 14d8c: 2340 movs r3, #64 ; 0x40 + 14d8e: 33ff adds r3, #255 ; 0xff + 14d90: 2201 movs r2, #1 + 14d92: 4298 cmp r0, r3 + 14d94: d901 bls.n 14d9a + 14d96: f001 f9e7 bl 16168 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 14d32: 2112 movs r1, #18 - 14d34: 0020 movs r0, r4 - 14d36: 4bdf ldr r3, [pc, #892] ; (150b4 ) - 14d38: 4798 blx r3 + 14d9a: 2112 movs r1, #18 + 14d9c: 0020 movs r0, r4 + 14d9e: 4bdf ldr r3, [pc, #892] ; (1511c ) + 14da0: 4798 blx r3 lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 14d3a: 4bdf ldr r3, [pc, #892] ; (150b8 ) - 14d3c: 681c ldr r4, [r3, #0] - 14d3e: 3450 adds r4, #80 ; 0x50 - 14d40: 2000 movs r0, #0 - 14d42: 4bdb ldr r3, [pc, #876] ; (150b0 ) - 14d44: 4798 blx r3 - 14d46: 0043 lsls r3, r0, #1 - 14d48: 1818 adds r0, r3, r0 - 14d4a: 3050 adds r0, #80 ; 0x50 - 14d4c: 2340 movs r3, #64 ; 0x40 - 14d4e: 33ff adds r3, #255 ; 0xff - 14d50: 2201 movs r2, #1 - 14d52: 4298 cmp r0, r3 - 14d54: d901 bls.n 14d5a - 14d56: f001 f9e0 bl 1611a + 14da2: 4bdf ldr r3, [pc, #892] ; (15120 ) + 14da4: 681c ldr r4, [r3, #0] + 14da6: 3450 adds r4, #80 ; 0x50 + 14da8: 2000 movs r0, #0 + 14daa: 4bdb ldr r3, [pc, #876] ; (15118 ) + 14dac: 4798 blx r3 + 14dae: 0043 lsls r3, r0, #1 + 14db0: 1818 adds r0, r3, r0 + 14db2: 3050 adds r0, #80 ; 0x50 + 14db4: 2340 movs r3, #64 ; 0x40 + 14db6: 33ff adds r3, #255 ; 0xff + 14db8: 2201 movs r2, #1 + 14dba: 4298 cmp r0, r3 + 14dbc: d901 bls.n 14dc2 + 14dbe: f001 f9e0 bl 16182 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 14d5a: 2113 movs r1, #19 - 14d5c: 0020 movs r0, r4 - 14d5e: 4bd5 ldr r3, [pc, #852] ; (150b4 ) - 14d60: 4798 blx r3 + 14dc2: 2113 movs r1, #19 + 14dc4: 0020 movs r0, r4 + 14dc6: 4bd5 ldr r3, [pc, #852] ; (1511c ) + 14dc8: 4798 blx r3 lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 14d62: 4bd5 ldr r3, [pc, #852] ; (150b8 ) - 14d64: 681c ldr r4, [r3, #0] - 14d66: 3450 adds r4, #80 ; 0x50 - 14d68: 2000 movs r0, #0 - 14d6a: 4bd1 ldr r3, [pc, #836] ; (150b0 ) - 14d6c: 4798 blx r3 - 14d6e: 0043 lsls r3, r0, #1 - 14d70: 1818 adds r0, r3, r0 - 14d72: 3050 adds r0, #80 ; 0x50 - 14d74: 2340 movs r3, #64 ; 0x40 - 14d76: 33ff adds r3, #255 ; 0xff - 14d78: 2201 movs r2, #1 - 14d7a: 4298 cmp r0, r3 - 14d7c: d901 bls.n 14d82 - 14d7e: f001 f9d9 bl 16134 + 14dca: 4bd5 ldr r3, [pc, #852] ; (15120 ) + 14dcc: 681c ldr r4, [r3, #0] + 14dce: 3450 adds r4, #80 ; 0x50 + 14dd0: 2000 movs r0, #0 + 14dd2: 4bd1 ldr r3, [pc, #836] ; (15118 ) + 14dd4: 4798 blx r3 + 14dd6: 0043 lsls r3, r0, #1 + 14dd8: 1818 adds r0, r3, r0 + 14dda: 3050 adds r0, #80 ; 0x50 + 14ddc: 2340 movs r3, #64 ; 0x40 + 14dde: 33ff adds r3, #255 ; 0xff + 14de0: 2201 movs r2, #1 + 14de2: 4298 cmp r0, r3 + 14de4: d901 bls.n 14dea + 14de6: f001 f9d9 bl 1619c _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 14d82: 2110 movs r1, #16 - 14d84: 0020 movs r0, r4 - 14d86: 4bcb ldr r3, [pc, #812] ; (150b4 ) - 14d88: 4798 blx r3 + 14dea: 2110 movs r1, #16 + 14dec: 0020 movs r0, r4 + 14dee: 4bcb ldr r3, [pc, #812] ; (1511c ) + 14df0: 4798 blx r3 lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 14d8a: 4bcb ldr r3, [pc, #812] ; (150b8 ) - 14d8c: 681c ldr r4, [r3, #0] - 14d8e: 3450 adds r4, #80 ; 0x50 - 14d90: 2000 movs r0, #0 - 14d92: 4bc7 ldr r3, [pc, #796] ; (150b0 ) - 14d94: 4798 blx r3 - 14d96: 0043 lsls r3, r0, #1 - 14d98: 1818 adds r0, r3, r0 - 14d9a: 3050 adds r0, #80 ; 0x50 - 14d9c: 2340 movs r3, #64 ; 0x40 - 14d9e: 33ff adds r3, #255 ; 0xff - 14da0: 2201 movs r2, #1 - 14da2: 4298 cmp r0, r3 - 14da4: d901 bls.n 14daa - 14da6: f001 f9d2 bl 1614e + 14df2: 4bcb ldr r3, [pc, #812] ; (15120 ) + 14df4: 681c ldr r4, [r3, #0] + 14df6: 3450 adds r4, #80 ; 0x50 + 14df8: 2000 movs r0, #0 + 14dfa: 4bc7 ldr r3, [pc, #796] ; (15118 ) + 14dfc: 4798 blx r3 + 14dfe: 0043 lsls r3, r0, #1 + 14e00: 1818 adds r0, r3, r0 + 14e02: 3050 adds r0, #80 ; 0x50 + 14e04: 2340 movs r3, #64 ; 0x40 + 14e06: 33ff adds r3, #255 ; 0xff + 14e08: 2201 movs r2, #1 + 14e0a: 4298 cmp r0, r3 + 14e0c: d901 bls.n 14e12 + 14e0e: f001 f9d2 bl 161b6 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 14daa: 2111 movs r1, #17 - 14dac: 0020 movs r0, r4 - 14dae: 4dc1 ldr r5, [pc, #772] ; (150b4 ) - 14db0: 47a8 blx r5 + 14e12: 2111 movs r1, #17 + 14e14: 0020 movs r0, r4 + 14e16: 4dc1 ldr r5, [pc, #772] ; (1511c ) + 14e18: 47a8 blx r5 style_init_reset(&styles->kb_bg); - 14db2: 4cc1 ldr r4, [pc, #772] ; (150b8 ) - 14db4: 6820 ldr r0, [r4, #0] - 14db6: 3068 adds r0, #104 ; 0x68 - 14db8: 4bbb ldr r3, [pc, #748] ; (150a8 ) - 14dba: 4798 blx r3 + 14e1a: 4cc1 ldr r4, [pc, #772] ; (15120 ) + 14e1c: 6820 ldr r0, [r4, #0] + 14e1e: 3068 adds r0, #104 ; 0x68 + 14e20: 4bbb ldr r3, [pc, #748] ; (15110 ) + 14e22: 4798 blx r3 lv_style_set_radius(&styles->kb_bg, LV_STATE_DEFAULT, 0); - 14dbc: 6820 ldr r0, [r4, #0] - 14dbe: 3068 adds r0, #104 ; 0x68 + 14e24: 6820 ldr r0, [r4, #0] + 14e26: 3068 adds r0, #104 ; 0x68 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 14dc0: 2200 movs r2, #0 - 14dc2: 2101 movs r1, #1 - 14dc4: 47a8 blx r5 + 14e28: 2200 movs r2, #0 + 14e2a: 2101 movs r1, #1 + 14e2c: 47a8 blx r5 lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 14dc6: 6824 ldr r4, [r4, #0] - 14dc8: 3468 adds r4, #104 ; 0x68 - 14dca: 2000 movs r0, #0 - 14dcc: 4bb8 ldr r3, [pc, #736] ; (150b0 ) - 14dce: 4798 blx r3 - 14dd0: 3014 adds r0, #20 - 14dd2: 0080 lsls r0, r0, #2 - 14dd4: 2340 movs r3, #64 ; 0x40 - 14dd6: 33ff adds r3, #255 ; 0xff - 14dd8: 2201 movs r2, #1 - 14dda: 4298 cmp r0, r3 - 14ddc: d901 bls.n 14de2 - 14dde: f001 f9c3 bl 16168 + 14e2e: 6824 ldr r4, [r4, #0] + 14e30: 3468 adds r4, #104 ; 0x68 + 14e32: 2000 movs r0, #0 + 14e34: 4bb8 ldr r3, [pc, #736] ; (15118 ) + 14e36: 4798 blx r3 + 14e38: 3014 adds r0, #20 + 14e3a: 0080 lsls r0, r0, #2 + 14e3c: 2340 movs r3, #64 ; 0x40 + 14e3e: 33ff adds r3, #255 ; 0xff + 14e40: 2201 movs r2, #1 + 14e42: 4298 cmp r0, r3 + 14e44: d901 bls.n 14e4a + 14e46: f001 f9c3 bl 161d0 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 14de2: 2130 movs r1, #48 ; 0x30 - 14de4: 0020 movs r0, r4 - 14de6: 4db3 ldr r5, [pc, #716] ; (150b4 ) - 14de8: 47a8 blx r5 + 14e4a: 2130 movs r1, #48 ; 0x30 + 14e4c: 0020 movs r0, r4 + 14e4e: 4db3 ldr r5, [pc, #716] ; (1511c ) + 14e50: 47a8 blx r5 lv_style_set_border_side(&styles->kb_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP); - 14dea: 4cb3 ldr r4, [pc, #716] ; (150b8 ) - 14dec: 6820 ldr r0, [r4, #0] - 14dee: 3068 adds r0, #104 ; 0x68 + 14e52: 4cb3 ldr r4, [pc, #716] ; (15120 ) + 14e54: 6820 ldr r0, [r4, #0] + 14e56: 3068 adds r0, #104 ; 0x68 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 14df0: 2202 movs r2, #2 - 14df2: 2131 movs r1, #49 ; 0x31 - 14df4: 47a8 blx r5 + 14e58: 2202 movs r2, #2 + 14e5a: 2131 movs r1, #49 ; 0x31 + 14e5c: 47a8 blx r5 lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK); - 14df6: 6820 ldr r0, [r4, #0] - 14df8: 3068 adds r0, #104 ; 0x68 - 14dfa: 4bb4 ldr r3, [pc, #720] ; (150cc ) - 14dfc: 699b ldr r3, [r3, #24] - 14dfe: 079b lsls r3, r3, #30 - 14e00: d501 bpl.n 14e06 - 14e02: f001 f9bc bl 1617e - 14e06: 2300 movs r3, #0 - 14e08: 2100 movs r1, #0 - 14e0a: 2200 movs r2, #0 - 14e0c: 0149 lsls r1, r1, #5 - 14e0e: 02db lsls r3, r3, #11 - 14e10: 430a orrs r2, r1 - 14e12: 431a orrs r2, r3 + 14e5e: 6820 ldr r0, [r4, #0] + 14e60: 3068 adds r0, #104 ; 0x68 + 14e62: 4bb4 ldr r3, [pc, #720] ; (15134 ) + 14e64: 699b ldr r3, [r3, #24] + 14e66: 079b lsls r3, r3, #30 + 14e68: d501 bpl.n 14e6e + 14e6a: f001 f9bc bl 161e6 + 14e6e: 2300 movs r3, #0 + 14e70: 2100 movs r1, #0 + 14e72: 2200 movs r2, #0 + 14e74: 0149 lsls r1, r1, #5 + 14e76: 02db lsls r3, r3, #11 + 14e78: 430a orrs r2, r1 + 14e7a: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 14e14: 2139 movs r1, #57 ; 0x39 - 14e16: 4dac ldr r5, [pc, #688] ; (150c8 ) - 14e18: 47a8 blx r5 + 14e7c: 2139 movs r1, #57 ; 0x39 + 14e7e: 4dac ldr r5, [pc, #688] ; (15130 ) + 14e80: 47a8 blx r5 lv_style_set_border_color(&styles->kb_bg, LV_STATE_EDITED, theme.color_secondary); - 14e1a: 4ca7 ldr r4, [pc, #668] ; (150b8 ) - 14e1c: 6820 ldr r0, [r4, #0] - 14e1e: 3068 adds r0, #104 ; 0x68 - 14e20: 4baa ldr r3, [pc, #680] ; (150cc ) - 14e22: 88da ldrh r2, [r3, #6] - 14e24: 49ab ldr r1, [pc, #684] ; (150d4 ) - 14e26: 47a8 blx r5 + 14e82: 4ca7 ldr r4, [pc, #668] ; (15120 ) + 14e84: 6820 ldr r0, [r4, #0] + 14e86: 3068 adds r0, #104 ; 0x68 + 14e88: 4baa ldr r3, [pc, #680] ; (15134 ) + 14e8a: 88da ldrh r2, [r3, #6] + 14e8c: 49ab ldr r1, [pc, #684] ; (1513c ) + 14e8e: 47a8 blx r5 lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 14e28: 6824 ldr r4, [r4, #0] - 14e2a: 3468 adds r4, #104 ; 0x68 - 14e2c: 2000 movs r0, #0 - 14e2e: 4ba0 ldr r3, [pc, #640] ; (150b0 ) - 14e30: 4798 blx r3 - 14e32: 0083 lsls r3, r0, #2 - 14e34: 1818 adds r0, r3, r0 - 14e36: 3050 adds r0, #80 ; 0x50 - 14e38: 2340 movs r3, #64 ; 0x40 - 14e3a: 33ff adds r3, #255 ; 0xff - 14e3c: 2201 movs r2, #1 - 14e3e: 4298 cmp r0, r3 - 14e40: d901 bls.n 14e46 - 14e42: f001 f9a5 bl 16190 + 14e90: 6824 ldr r4, [r4, #0] + 14e92: 3468 adds r4, #104 ; 0x68 + 14e94: 2000 movs r0, #0 + 14e96: 4ba0 ldr r3, [pc, #640] ; (15118 ) + 14e98: 4798 blx r3 + 14e9a: 0083 lsls r3, r0, #2 + 14e9c: 1818 adds r0, r3, r0 + 14e9e: 3050 adds r0, #80 ; 0x50 + 14ea0: 2340 movs r3, #64 ; 0x40 + 14ea2: 33ff adds r3, #255 ; 0xff + 14ea4: 2201 movs r2, #1 + 14ea6: 4298 cmp r0, r3 + 14ea8: d901 bls.n 14eae + 14eaa: f001 f9a5 bl 161f8 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 14e46: 2112 movs r1, #18 - 14e48: 0020 movs r0, r4 - 14e4a: 4b9a ldr r3, [pc, #616] ; (150b4 ) - 14e4c: 4798 blx r3 + 14eae: 2112 movs r1, #18 + 14eb0: 0020 movs r0, r4 + 14eb2: 4b9a ldr r3, [pc, #616] ; (1511c ) + 14eb4: 4798 blx r3 lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 14e4e: 4b9a ldr r3, [pc, #616] ; (150b8 ) - 14e50: 681c ldr r4, [r3, #0] - 14e52: 3468 adds r4, #104 ; 0x68 - 14e54: 2000 movs r0, #0 - 14e56: 4b96 ldr r3, [pc, #600] ; (150b0 ) - 14e58: 4798 blx r3 - 14e5a: 0083 lsls r3, r0, #2 - 14e5c: 1818 adds r0, r3, r0 - 14e5e: 3050 adds r0, #80 ; 0x50 - 14e60: 2340 movs r3, #64 ; 0x40 - 14e62: 33ff adds r3, #255 ; 0xff - 14e64: 2201 movs r2, #1 - 14e66: 4298 cmp r0, r3 - 14e68: d901 bls.n 14e6e - 14e6a: f001 f99e bl 161aa + 14eb6: 4b9a ldr r3, [pc, #616] ; (15120 ) + 14eb8: 681c ldr r4, [r3, #0] + 14eba: 3468 adds r4, #104 ; 0x68 + 14ebc: 2000 movs r0, #0 + 14ebe: 4b96 ldr r3, [pc, #600] ; (15118 ) + 14ec0: 4798 blx r3 + 14ec2: 0083 lsls r3, r0, #2 + 14ec4: 1818 adds r0, r3, r0 + 14ec6: 3050 adds r0, #80 ; 0x50 + 14ec8: 2340 movs r3, #64 ; 0x40 + 14eca: 33ff adds r3, #255 ; 0xff + 14ecc: 2201 movs r2, #1 + 14ece: 4298 cmp r0, r3 + 14ed0: d901 bls.n 14ed6 + 14ed2: f001 f99e bl 16212 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 14e6e: 2113 movs r1, #19 - 14e70: 0020 movs r0, r4 - 14e72: 4b90 ldr r3, [pc, #576] ; (150b4 ) - 14e74: 4798 blx r3 + 14ed6: 2113 movs r1, #19 + 14ed8: 0020 movs r0, r4 + 14eda: 4b90 ldr r3, [pc, #576] ; (1511c ) + 14edc: 4798 blx r3 lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 14e76: 4b90 ldr r3, [pc, #576] ; (150b8 ) - 14e78: 681c ldr r4, [r3, #0] - 14e7a: 3468 adds r4, #104 ; 0x68 - 14e7c: 2000 movs r0, #0 - 14e7e: 4b8c ldr r3, [pc, #560] ; (150b0 ) - 14e80: 4798 blx r3 - 14e82: 0083 lsls r3, r0, #2 - 14e84: 1818 adds r0, r3, r0 - 14e86: 3050 adds r0, #80 ; 0x50 - 14e88: 2340 movs r3, #64 ; 0x40 - 14e8a: 33ff adds r3, #255 ; 0xff - 14e8c: 2201 movs r2, #1 - 14e8e: 4298 cmp r0, r3 - 14e90: d901 bls.n 14e96 - 14e92: f001 f997 bl 161c4 + 14ede: 4b90 ldr r3, [pc, #576] ; (15120 ) + 14ee0: 681c ldr r4, [r3, #0] + 14ee2: 3468 adds r4, #104 ; 0x68 + 14ee4: 2000 movs r0, #0 + 14ee6: 4b8c ldr r3, [pc, #560] ; (15118 ) + 14ee8: 4798 blx r3 + 14eea: 0083 lsls r3, r0, #2 + 14eec: 1818 adds r0, r3, r0 + 14eee: 3050 adds r0, #80 ; 0x50 + 14ef0: 2340 movs r3, #64 ; 0x40 + 14ef2: 33ff adds r3, #255 ; 0xff + 14ef4: 2201 movs r2, #1 + 14ef6: 4298 cmp r0, r3 + 14ef8: d901 bls.n 14efe + 14efa: f001 f997 bl 1622c _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 14e96: 2110 movs r1, #16 - 14e98: 0020 movs r0, r4 - 14e9a: 4b86 ldr r3, [pc, #536] ; (150b4 ) - 14e9c: 4798 blx r3 + 14efe: 2110 movs r1, #16 + 14f00: 0020 movs r0, r4 + 14f02: 4b86 ldr r3, [pc, #536] ; (1511c ) + 14f04: 4798 blx r3 lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 14e9e: 4b86 ldr r3, [pc, #536] ; (150b8 ) - 14ea0: 681c ldr r4, [r3, #0] - 14ea2: 3468 adds r4, #104 ; 0x68 - 14ea4: 2000 movs r0, #0 - 14ea6: 4b82 ldr r3, [pc, #520] ; (150b0 ) - 14ea8: 4798 blx r3 - 14eaa: 0083 lsls r3, r0, #2 - 14eac: 1818 adds r0, r3, r0 - 14eae: 3050 adds r0, #80 ; 0x50 - 14eb0: 2340 movs r3, #64 ; 0x40 - 14eb2: 33ff adds r3, #255 ; 0xff - 14eb4: 2201 movs r2, #1 - 14eb6: 4298 cmp r0, r3 - 14eb8: d901 bls.n 14ebe - 14eba: f001 f990 bl 161de + 14f06: 4b86 ldr r3, [pc, #536] ; (15120 ) + 14f08: 681c ldr r4, [r3, #0] + 14f0a: 3468 adds r4, #104 ; 0x68 + 14f0c: 2000 movs r0, #0 + 14f0e: 4b82 ldr r3, [pc, #520] ; (15118 ) + 14f10: 4798 blx r3 + 14f12: 0083 lsls r3, r0, #2 + 14f14: 1818 adds r0, r3, r0 + 14f16: 3050 adds r0, #80 ; 0x50 + 14f18: 2340 movs r3, #64 ; 0x40 + 14f1a: 33ff adds r3, #255 ; 0xff + 14f1c: 2201 movs r2, #1 + 14f1e: 4298 cmp r0, r3 + 14f20: d901 bls.n 14f26 + 14f22: f001 f990 bl 16246 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 14ebe: 2111 movs r1, #17 - 14ec0: 0020 movs r0, r4 - 14ec2: 4b7c ldr r3, [pc, #496] ; (150b4 ) - 14ec4: 4798 blx r3 + 14f26: 2111 movs r1, #17 + 14f28: 0020 movs r0, r4 + 14f2a: 4b7c ldr r3, [pc, #496] ; (1511c ) + 14f2c: 4798 blx r3 lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 14ec6: 4b7c ldr r3, [pc, #496] ; (150b8 ) - 14ec8: 681c ldr r4, [r3, #0] - 14eca: 3468 adds r4, #104 ; 0x68 - 14ecc: 2000 movs r0, #0 - 14ece: 4b78 ldr r3, [pc, #480] ; (150b0 ) - 14ed0: 4798 blx r3 - 14ed2: 0043 lsls r3, r0, #1 - 14ed4: 1818 adds r0, r3, r0 - 14ed6: 3050 adds r0, #80 ; 0x50 - 14ed8: 2340 movs r3, #64 ; 0x40 - 14eda: 33ff adds r3, #255 ; 0xff - 14edc: 2201 movs r2, #1 - 14ede: 4298 cmp r0, r3 - 14ee0: d901 bls.n 14ee6 - 14ee2: f001 f989 bl 161f8 + 14f2e: 4b7c ldr r3, [pc, #496] ; (15120 ) + 14f30: 681c ldr r4, [r3, #0] + 14f32: 3468 adds r4, #104 ; 0x68 + 14f34: 2000 movs r0, #0 + 14f36: 4b78 ldr r3, [pc, #480] ; (15118 ) + 14f38: 4798 blx r3 + 14f3a: 0043 lsls r3, r0, #1 + 14f3c: 1818 adds r0, r3, r0 + 14f3e: 3050 adds r0, #80 ; 0x50 + 14f40: 2340 movs r3, #64 ; 0x40 + 14f42: 33ff adds r3, #255 ; 0xff + 14f44: 2201 movs r2, #1 + 14f46: 4298 cmp r0, r3 + 14f48: d901 bls.n 14f4e + 14f4a: f001 f989 bl 16260 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 14ee6: 2114 movs r1, #20 - 14ee8: 0020 movs r0, r4 - 14eea: 4b72 ldr r3, [pc, #456] ; (150b4 ) - 14eec: 4798 blx r3 + 14f4e: 2114 movs r1, #20 + 14f50: 0020 movs r0, r4 + 14f52: 4b72 ldr r3, [pc, #456] ; (1511c ) + 14f54: 4798 blx r3 style_init_reset(&styles->mbox_bg); - 14eee: 4c72 ldr r4, [pc, #456] ; (150b8 ) - 14ef0: 6820 ldr r0, [r4, #0] - 14ef2: 307c adds r0, #124 ; 0x7c - 14ef4: 4b6c ldr r3, [pc, #432] ; (150a8 ) - 14ef6: 4798 blx r3 + 14f56: 4c72 ldr r4, [pc, #456] ; (15120 ) + 14f58: 6820 ldr r0, [r4, #0] + 14f5a: 307c adds r0, #124 ; 0x7c + 14f5c: 4b6c ldr r3, [pc, #432] ; (15110 ) + 14f5e: 4798 blx r3 lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50)); - 14ef8: 6824 ldr r4, [r4, #0] - 14efa: 347c adds r4, #124 ; 0x7c - 14efc: 2000 movs r0, #0 - 14efe: 4b6c ldr r3, [pc, #432] ; (150b0 ) - 14f00: 4798 blx r3 - 14f02: 2332 movs r3, #50 ; 0x32 - 14f04: 4358 muls r0, r3 - 14f06: 3050 adds r0, #80 ; 0x50 - 14f08: 2340 movs r3, #64 ; 0x40 - 14f0a: 33ff adds r3, #255 ; 0xff - 14f0c: 2201 movs r2, #1 - 14f0e: 4298 cmp r0, r3 - 14f10: d901 bls.n 14f16 - 14f12: f001 f97e bl 16212 + 14f60: 6824 ldr r4, [r4, #0] + 14f62: 347c adds r4, #124 ; 0x7c + 14f64: 2000 movs r0, #0 + 14f66: 4b6c ldr r3, [pc, #432] ; (15118 ) + 14f68: 4798 blx r3 + 14f6a: 2332 movs r3, #50 ; 0x32 + 14f6c: 4358 muls r0, r3 + 14f6e: 3050 adds r0, #80 ; 0x50 + 14f70: 2340 movs r3, #64 ; 0x40 + 14f72: 33ff adds r3, #255 ; 0xff + 14f74: 2201 movs r2, #1 + 14f76: 4298 cmp r0, r3 + 14f78: d901 bls.n 14f7e + 14f7a: f001 f97e bl 1627a _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 14f16: 2150 movs r1, #80 ; 0x50 - 14f18: 0020 movs r0, r4 - 14f1a: 4b66 ldr r3, [pc, #408] ; (150b4 ) - 14f1c: 4798 blx r3 + 14f7e: 2150 movs r1, #80 ; 0x50 + 14f80: 0020 movs r0, r4 + 14f82: 4b66 ldr r3, [pc, #408] ; (1511c ) + 14f84: 4798 blx r3 lv_style_set_shadow_color(&styles->mbox_bg, LV_STATE_DEFAULT, IS_LIGHT ? LV_COLOR_SILVER : lv_color_hex3(0x999)); - 14f1e: 4b66 ldr r3, [pc, #408] ; (150b8 ) - 14f20: 6818 ldr r0, [r3, #0] - 14f22: 307c adds r0, #124 ; 0x7c - 14f24: 4b69 ldr r3, [pc, #420] ; (150cc ) - 14f26: 699b ldr r3, [r3, #24] - 14f28: 079b lsls r3, r3, #30 - 14f2a: d401 bmi.n 14f30 - 14f2c: f001 f97e bl 1622c - 14f30: 2230 movs r2, #48 ; 0x30 - 14f32: 2318 movs r3, #24 - 14f34: 0152 lsls r2, r2, #5 - 14f36: 02d9 lsls r1, r3, #11 - 14f38: 431a orrs r2, r3 - 14f3a: 430a orrs r2, r1 + 14f86: 4b66 ldr r3, [pc, #408] ; (15120 ) + 14f88: 6818 ldr r0, [r3, #0] + 14f8a: 307c adds r0, #124 ; 0x7c + 14f8c: 4b69 ldr r3, [pc, #420] ; (15134 ) + 14f8e: 699b ldr r3, [r3, #24] + 14f90: 079b lsls r3, r3, #30 + 14f92: d401 bmi.n 14f98 + 14f94: f001 f97e bl 16294 + 14f98: 2230 movs r2, #48 ; 0x30 + 14f9a: 2318 movs r3, #24 + 14f9c: 0152 lsls r2, r2, #5 + 14f9e: 02d9 lsls r1, r3, #11 + 14fa0: 431a orrs r2, r3 + 14fa2: 430a orrs r2, r1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 14f3c: 2159 movs r1, #89 ; 0x59 - 14f3e: 4b62 ldr r3, [pc, #392] ; (150c8 ) - 14f40: 4798 blx r3 + 14fa4: 2159 movs r1, #89 ; 0x59 + 14fa6: 4b62 ldr r3, [pc, #392] ; (15130 ) + 14fa8: 4798 blx r3 style_init_reset(&styles->sb); - 14f42: 4c5d ldr r4, [pc, #372] ; (150b8 ) - 14f44: 6820 ldr r0, [r4, #0] - 14f46: 3080 adds r0, #128 ; 0x80 - 14f48: 4b57 ldr r3, [pc, #348] ; (150a8 ) - 14f4a: 4798 blx r3 + 14faa: 4c5d ldr r4, [pc, #372] ; (15120 ) + 14fac: 6820 ldr r0, [r4, #0] + 14fae: 3080 adds r0, #128 ; 0x80 + 14fb0: 4b57 ldr r3, [pc, #348] ; (15110 ) + 14fb2: 4798 blx r3 lv_style_set_bg_opa(&styles->sb, LV_STATE_DEFAULT, LV_OPA_COVER); - 14f4c: 6820 ldr r0, [r4, #0] - 14f4e: 3080 adds r0, #128 ; 0x80 + 14fb4: 6820 ldr r0, [r4, #0] + 14fb6: 3080 adds r0, #128 ; 0x80 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 14f50: 22ff movs r2, #255 ; 0xff - 14f52: 212c movs r1, #44 ; 0x2c - 14f54: 4b55 ldr r3, [pc, #340] ; (150ac ) - 14f56: 4798 blx r3 + 14fb8: 22ff movs r2, #255 ; 0xff + 14fba: 212c movs r1, #44 ; 0x2c + 14fbc: 4b55 ldr r3, [pc, #340] ; (15114 ) + 14fbe: 4798 blx r3 lv_style_set_bg_color(&styles->sb, LV_STATE_DEFAULT, (IS_LIGHT ? lv_color_hex(0xcccfd1) : lv_color_hex(0x777f85))); - 14f58: 6820 ldr r0, [r4, #0] - 14f5a: 3080 adds r0, #128 ; 0x80 - 14f5c: 4b5b ldr r3, [pc, #364] ; (150cc ) - 14f5e: 699b ldr r3, [r3, #24] - 14f60: 079b lsls r3, r3, #30 - 14f62: d501 bpl.n 14f68 - 14f64: f001 f966 bl 16234 - 14f68: 230e movs r3, #14 - 14f6a: 211f movs r1, #31 - 14f6c: 2210 movs r2, #16 - 14f6e: 0149 lsls r1, r1, #5 - 14f70: 02db lsls r3, r3, #11 - 14f72: 430a orrs r2, r1 - 14f74: 431a orrs r2, r3 + 14fc0: 6820 ldr r0, [r4, #0] + 14fc2: 3080 adds r0, #128 ; 0x80 + 14fc4: 4b5b ldr r3, [pc, #364] ; (15134 ) + 14fc6: 699b ldr r3, [r3, #24] + 14fc8: 079b lsls r3, r3, #30 + 14fca: d501 bpl.n 14fd0 + 14fcc: f001 f966 bl 1629c + 14fd0: 230e movs r3, #14 + 14fd2: 211f movs r1, #31 + 14fd4: 2210 movs r2, #16 + 14fd6: 0149 lsls r1, r1, #5 + 14fd8: 02db lsls r3, r3, #11 + 14fda: 430a orrs r2, r1 + 14fdc: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14f76: 2129 movs r1, #41 ; 0x29 - 14f78: 4b53 ldr r3, [pc, #332] ; (150c8 ) - 14f7a: 4798 blx r3 + 14fde: 2129 movs r1, #41 ; 0x29 + 14fe0: 4b53 ldr r3, [pc, #332] ; (15130 ) + 14fe2: 4798 blx r3 lv_style_set_radius(&styles->sb, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 14f7c: 4c4e ldr r4, [pc, #312] ; (150b8 ) - 14f7e: 6820 ldr r0, [r4, #0] - 14f80: 3080 adds r0, #128 ; 0x80 + 14fe4: 4c4e ldr r4, [pc, #312] ; (15120 ) + 14fe6: 6820 ldr r0, [r4, #0] + 14fe8: 3080 adds r0, #128 ; 0x80 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 14f82: 4a55 ldr r2, [pc, #340] ; (150d8 ) - 14f84: 2101 movs r1, #1 - 14f86: 4b4b ldr r3, [pc, #300] ; (150b4 ) - 14f88: 4798 blx r3 + 14fea: 4a55 ldr r2, [pc, #340] ; (15140 ) + 14fec: 2101 movs r1, #1 + 14fee: 4b4b ldr r3, [pc, #300] ; (1511c ) + 14ff0: 4798 blx r3 lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 14f8a: 6824 ldr r4, [r4, #0] - 14f8c: 3480 adds r4, #128 ; 0x80 - 14f8e: 2000 movs r0, #0 - 14f90: 4b47 ldr r3, [pc, #284] ; (150b0 ) - 14f92: 4798 blx r3 - 14f94: 00c3 lsls r3, r0, #3 - 14f96: 1a18 subs r0, r3, r0 - 14f98: 3050 adds r0, #80 ; 0x50 - 14f9a: 2340 movs r3, #64 ; 0x40 - 14f9c: 33ff adds r3, #255 ; 0xff - 14f9e: 2201 movs r2, #1 - 14fa0: 4298 cmp r0, r3 - 14fa2: d901 bls.n 14fa8 - 14fa4: f001 f94b bl 1623e + 14ff2: 6824 ldr r4, [r4, #0] + 14ff4: 3480 adds r4, #128 ; 0x80 + 14ff6: 2000 movs r0, #0 + 14ff8: 4b47 ldr r3, [pc, #284] ; (15118 ) + 14ffa: 4798 blx r3 + 14ffc: 00c3 lsls r3, r0, #3 + 14ffe: 1a18 subs r0, r3, r0 + 15000: 3050 adds r0, #80 ; 0x50 + 15002: 2340 movs r3, #64 ; 0x40 + 15004: 33ff adds r3, #255 ; 0xff + 15006: 2201 movs r2, #1 + 15008: 4298 cmp r0, r3 + 1500a: d901 bls.n 15010 + 1500c: f001 f94b bl 162a6 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 14fa8: 2103 movs r1, #3 - 14faa: 0020 movs r0, r4 - 14fac: 4b41 ldr r3, [pc, #260] ; (150b4 ) - 14fae: 4798 blx r3 + 15010: 2103 movs r1, #3 + 15012: 0020 movs r0, r4 + 15014: 4b41 ldr r3, [pc, #260] ; (1511c ) + 15016: 4798 blx r3 lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 14fb0: 4b41 ldr r3, [pc, #260] ; (150b8 ) - 14fb2: 681c ldr r4, [r3, #0] - 14fb4: 3480 adds r4, #128 ; 0x80 - 14fb6: 2000 movs r0, #0 - 14fb8: 4b3d ldr r3, [pc, #244] ; (150b0 ) - 14fba: 4798 blx r3 - 14fbc: 00c3 lsls r3, r0, #3 - 14fbe: 1a18 subs r0, r3, r0 - 14fc0: 3050 adds r0, #80 ; 0x50 - 14fc2: 2340 movs r3, #64 ; 0x40 - 14fc4: 33ff adds r3, #255 ; 0xff - 14fc6: 2201 movs r2, #1 - 14fc8: 4298 cmp r0, r3 - 14fca: d901 bls.n 14fd0 - 14fcc: f001 f943 bl 16256 + 15018: 4b41 ldr r3, [pc, #260] ; (15120 ) + 1501a: 681c ldr r4, [r3, #0] + 1501c: 3480 adds r4, #128 ; 0x80 + 1501e: 2000 movs r0, #0 + 15020: 4b3d ldr r3, [pc, #244] ; (15118 ) + 15022: 4798 blx r3 + 15024: 00c3 lsls r3, r0, #3 + 15026: 1a18 subs r0, r3, r0 + 15028: 3050 adds r0, #80 ; 0x50 + 1502a: 2340 movs r3, #64 ; 0x40 + 1502c: 33ff adds r3, #255 ; 0xff + 1502e: 2201 movs r2, #1 + 15030: 4298 cmp r0, r3 + 15032: d901 bls.n 15038 + 15034: f001 f943 bl 162be _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 14fd0: 2113 movs r1, #19 - 14fd2: 0020 movs r0, r4 - 14fd4: 4b37 ldr r3, [pc, #220] ; (150b4 ) - 14fd6: 4798 blx r3 + 15038: 2113 movs r1, #19 + 1503a: 0020 movs r0, r4 + 1503c: 4b37 ldr r3, [pc, #220] ; (1511c ) + 1503e: 4798 blx r3 lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 14fd8: 4b37 ldr r3, [pc, #220] ; (150b8 ) - 14fda: 681c ldr r4, [r3, #0] - 14fdc: 3480 adds r4, #128 ; 0x80 - 14fde: 2000 movs r0, #0 - 14fe0: 4b33 ldr r3, [pc, #204] ; (150b0 ) - 14fe2: 4798 blx r3 - 14fe4: 00c3 lsls r3, r0, #3 - 14fe6: 1a18 subs r0, r3, r0 - 14fe8: 3050 adds r0, #80 ; 0x50 - 14fea: 2340 movs r3, #64 ; 0x40 - 14fec: 33ff adds r3, #255 ; 0xff - 14fee: 2201 movs r2, #1 - 14ff0: 4298 cmp r0, r3 - 14ff2: d901 bls.n 14ff8 - 14ff4: f001 f93b bl 1626e + 15040: 4b37 ldr r3, [pc, #220] ; (15120 ) + 15042: 681c ldr r4, [r3, #0] + 15044: 3480 adds r4, #128 ; 0x80 + 15046: 2000 movs r0, #0 + 15048: 4b33 ldr r3, [pc, #204] ; (15118 ) + 1504a: 4798 blx r3 + 1504c: 00c3 lsls r3, r0, #3 + 1504e: 1a18 subs r0, r3, r0 + 15050: 3050 adds r0, #80 ; 0x50 + 15052: 2340 movs r3, #64 ; 0x40 + 15054: 33ff adds r3, #255 ; 0xff + 15056: 2201 movs r2, #1 + 15058: 4298 cmp r0, r3 + 1505a: d901 bls.n 15060 + 1505c: f001 f93b bl 162d6 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 14ff8: 2111 movs r1, #17 - 14ffa: 0020 movs r0, r4 - 14ffc: 4b2d ldr r3, [pc, #180] ; (150b4 ) - 14ffe: 4798 blx r3 + 15060: 2111 movs r1, #17 + 15062: 0020 movs r0, r4 + 15064: 4b2d ldr r3, [pc, #180] ; (1511c ) + 15066: 4798 blx r3 style_init_reset(&styles->edge_flash); - 15000: 4c2d ldr r4, [pc, #180] ; (150b8 ) - 15002: 6820 ldr r0, [r4, #0] - 15004: 3084 adds r0, #132 ; 0x84 - 15006: 4d28 ldr r5, [pc, #160] ; (150a8 ) - 15008: 47a8 blx r5 + 15068: 4c2d ldr r4, [pc, #180] ; (15120 ) + 1506a: 6820 ldr r0, [r4, #0] + 1506c: 3084 adds r0, #132 ; 0x84 + 1506e: 4d28 ldr r5, [pc, #160] ; (15110 ) + 15070: 47a8 blx r5 lv_style_set_bg_opa(&styles->edge_flash, LV_STATE_DEFAULT, LV_OPA_COVER); - 1500a: 6820 ldr r0, [r4, #0] - 1500c: 3084 adds r0, #132 ; 0x84 + 15072: 6820 ldr r0, [r4, #0] + 15074: 3084 adds r0, #132 ; 0x84 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1500e: 22ff movs r2, #255 ; 0xff - 15010: 212c movs r1, #44 ; 0x2c - 15012: 4b26 ldr r3, [pc, #152] ; (150ac ) - 15014: 4798 blx r3 + 15076: 22ff movs r2, #255 ; 0xff + 15078: 212c movs r1, #44 ; 0x2c + 1507a: 4b26 ldr r3, [pc, #152] ; (15114 ) + 1507c: 4798 blx r3 lv_style_set_bg_color(&styles->edge_flash, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 15016: 6820 ldr r0, [r4, #0] - 15018: 3084 adds r0, #132 ; 0x84 + 1507e: 6820 ldr r0, [r4, #0] + 15080: 3084 adds r0, #132 ; 0x84 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1501a: 4b30 ldr r3, [pc, #192] ; (150dc ) - 1501c: 881a ldrh r2, [r3, #0] - 1501e: 2129 movs r1, #41 ; 0x29 - 15020: 4b29 ldr r3, [pc, #164] ; (150c8 ) - 15022: 4798 blx r3 + 15082: 4b30 ldr r3, [pc, #192] ; (15144 ) + 15084: 881a ldrh r2, [r3, #0] + 15086: 2129 movs r1, #41 ; 0x29 + 15088: 4b29 ldr r3, [pc, #164] ; (15130 ) + 1508a: 4798 blx r3 style_init_reset(&styles->ta_cursor); - 15024: 6820 ldr r0, [r4, #0] - 15026: 30b4 adds r0, #180 ; 0xb4 - 15028: 47a8 blx r5 + 1508c: 6820 ldr r0, [r4, #0] + 1508e: 30b4 adds r0, #180 ; 0xb4 + 15090: 47a8 blx r5 lv_style_set_border_color(&styles->ta_cursor, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 1502a: 6820 ldr r0, [r4, #0] - 1502c: 30b4 adds r0, #180 ; 0xb4 - 1502e: 4b27 ldr r3, [pc, #156] ; (150cc ) - 15030: 699b ldr r3, [r3, #24] - 15032: 079b lsls r3, r3, #30 - 15034: d501 bpl.n 1503a - 15036: f001 f926 bl 16286 - 1503a: 2314 movs r3, #20 - 1503c: 212a movs r1, #42 ; 0x2a - 1503e: 2215 movs r2, #21 - 15040: 0149 lsls r1, r1, #5 - 15042: 02db lsls r3, r3, #11 - 15044: 430a orrs r2, r1 - 15046: 431a orrs r2, r3 + 15092: 6820 ldr r0, [r4, #0] + 15094: 30b4 adds r0, #180 ; 0xb4 + 15096: 4b27 ldr r3, [pc, #156] ; (15134 ) + 15098: 699b ldr r3, [r3, #24] + 1509a: 079b lsls r3, r3, #30 + 1509c: d501 bpl.n 150a2 + 1509e: f001 f926 bl 162ee + 150a2: 2314 movs r3, #20 + 150a4: 212a movs r1, #42 ; 0x2a + 150a6: 2215 movs r2, #21 + 150a8: 0149 lsls r1, r1, #5 + 150aa: 02db lsls r3, r3, #11 + 150ac: 430a orrs r2, r1 + 150ae: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 15048: 2139 movs r1, #57 ; 0x39 - 1504a: 4b1f ldr r3, [pc, #124] ; (150c8 ) - 1504c: 4798 blx r3 + 150b0: 2139 movs r1, #57 ; 0x39 + 150b2: 4b1f ldr r3, [pc, #124] ; (15130 ) + 150b4: 4798 blx r3 lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2)); - 1504e: 4b1a ldr r3, [pc, #104] ; (150b8 ) - 15050: 681c ldr r4, [r3, #0] - 15052: 34b4 adds r4, #180 ; 0xb4 - 15054: 2000 movs r0, #0 - 15056: 4b16 ldr r3, [pc, #88] ; (150b0 ) - 15058: 4798 blx r3 - 1505a: 3028 adds r0, #40 ; 0x28 - 1505c: 0040 lsls r0, r0, #1 - 1505e: 2340 movs r3, #64 ; 0x40 - 15060: 33ff adds r3, #255 ; 0xff - 15062: 2201 movs r2, #1 - 15064: 4298 cmp r0, r3 - 15066: d901 bls.n 1506c - 15068: f001 f912 bl 16290 + 150b6: 4b1a ldr r3, [pc, #104] ; (15120 ) + 150b8: 681c ldr r4, [r3, #0] + 150ba: 34b4 adds r4, #180 ; 0xb4 + 150bc: 2000 movs r0, #0 + 150be: 4b16 ldr r3, [pc, #88] ; (15118 ) + 150c0: 4798 blx r3 + 150c2: 3028 adds r0, #40 ; 0x28 + 150c4: 0040 lsls r0, r0, #1 + 150c6: 2340 movs r3, #64 ; 0x40 + 150c8: 33ff adds r3, #255 ; 0xff + 150ca: 2201 movs r2, #1 + 150cc: 4298 cmp r0, r3 + 150ce: d901 bls.n 150d4 + 150d0: f001 f912 bl 162f8 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 1506c: 2130 movs r1, #48 ; 0x30 - 1506e: 0020 movs r0, r4 - 15070: 4b10 ldr r3, [pc, #64] ; (150b4 ) - 15072: 4798 blx r3 + 150d4: 2130 movs r1, #48 ; 0x30 + 150d6: 0020 movs r0, r4 + 150d8: 4b10 ldr r3, [pc, #64] ; (1511c ) + 150da: 4798 blx r3 lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1)); - 15074: 4b10 ldr r3, [pc, #64] ; (150b8 ) - 15076: 681c ldr r4, [r3, #0] - 15078: 34b4 adds r4, #180 ; 0xb4 - 1507a: 2000 movs r0, #0 - 1507c: 4b0c ldr r3, [pc, #48] ; (150b0 ) - 1507e: 4798 blx r3 - 15080: 3050 adds r0, #80 ; 0x50 - 15082: 2340 movs r3, #64 ; 0x40 - 15084: 33ff adds r3, #255 ; 0xff - 15086: 2201 movs r2, #1 - 15088: 4298 cmp r0, r3 - 1508a: d901 bls.n 15090 - 1508c: f001 f90b bl 162a6 + 150dc: 4b10 ldr r3, [pc, #64] ; (15120 ) + 150de: 681c ldr r4, [r3, #0] + 150e0: 34b4 adds r4, #180 ; 0xb4 + 150e2: 2000 movs r0, #0 + 150e4: 4b0c ldr r3, [pc, #48] ; (15118 ) + 150e6: 4798 blx r3 + 150e8: 3050 adds r0, #80 ; 0x50 + 150ea: 2340 movs r3, #64 ; 0x40 + 150ec: 33ff adds r3, #255 ; 0xff + 150ee: 2201 movs r2, #1 + 150f0: 4298 cmp r0, r3 + 150f2: d901 bls.n 150f8 + 150f4: f001 f90b bl 1630e _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 15090: 2112 movs r1, #18 - 15092: 0020 movs r0, r4 - 15094: 4d07 ldr r5, [pc, #28] ; (150b4 ) - 15096: 47a8 blx r5 + 150f8: 2112 movs r1, #18 + 150fa: 0020 movs r0, r4 + 150fc: 4d07 ldr r5, [pc, #28] ; (1511c ) + 150fe: 47a8 blx r5 lv_style_set_border_side(&styles->ta_cursor, LV_STATE_DEFAULT, LV_BORDER_SIDE_LEFT); - 15098: 4c07 ldr r4, [pc, #28] ; (150b8 ) - 1509a: 6820 ldr r0, [r4, #0] - 1509c: 30b4 adds r0, #180 ; 0xb4 + 15100: 4c07 ldr r4, [pc, #28] ; (15120 ) + 15102: 6820 ldr r0, [r4, #0] + 15104: 30b4 adds r0, #180 ; 0xb4 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 1509e: 2204 movs r2, #4 - 150a0: 2131 movs r1, #49 ; 0x31 - 150a2: 47a8 blx r5 - 150a4: e01c b.n 150e0 - 150a6: 46c0 nop ; (mov r8, r8) - 150a8: 0001242d .word 0x0001242d - 150ac: 00004f4d .word 0x00004f4d - 150b0: 0000f5fd .word 0x0000f5fd - 150b4: 00004c8d .word 0x00004c8d - 150b8: 20004c38 .word 0x20004c38 - 150bc: 0001ca14 .word 0x0001ca14 - 150c0: 000050a1 .word 0x000050a1 - 150c4: 0001ca0c .word 0x0001ca0c - 150c8: 00004ded .word 0x00004ded - 150cc: 20004c3c .word 0x20004c3c - 150d0: 0000818e .word 0x0000818e - 150d4: 00000439 .word 0x00000439 - 150d8: 00007fff .word 0x00007fff - 150dc: 0001ca08 .word 0x0001ca08 + 15106: 2204 movs r2, #4 + 15108: 2131 movs r1, #49 ; 0x31 + 1510a: 47a8 blx r5 + 1510c: e01c b.n 15148 + 1510e: 46c0 nop ; (mov r8, r8) + 15110: 00012495 .word 0x00012495 + 15114: 00004fb5 .word 0x00004fb5 + 15118: 0000f665 .word 0x0000f665 + 1511c: 00004cf5 .word 0x00004cf5 + 15120: 20004c38 .word 0x20004c38 + 15124: 0001caa4 .word 0x0001caa4 + 15128: 00005109 .word 0x00005109 + 1512c: 0001ca9c .word 0x0001ca9c + 15130: 00004e55 .word 0x00004e55 + 15134: 20004c3c .word 0x20004c3c + 15138: 0000818e .word 0x0000818e + 1513c: 00000439 .word 0x00000439 + 15140: 00007fff .word 0x00007fff + 15144: 0001ca98 .word 0x0001ca98 style_init_reset(&styles->ta_placeholder); - 150e0: 6820 ldr r0, [r4, #0] - 150e2: 30b8 adds r0, #184 ; 0xb8 - 150e4: 4bfb ldr r3, [pc, #1004] ; (154d4 ) - 150e6: 4798 blx r3 + 15148: 6820 ldr r0, [r4, #0] + 1514a: 30b8 adds r0, #184 ; 0xb8 + 1514c: 4bfb ldr r3, [pc, #1004] ; (1553c ) + 1514e: 4798 blx r3 lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 150e8: 6820 ldr r0, [r4, #0] - 150ea: 30b8 adds r0, #184 ; 0xb8 - 150ec: 4bfa ldr r3, [pc, #1000] ; (154d8 ) - 150ee: 699b ldr r3, [r3, #24] - 150f0: 079b lsls r3, r3, #30 - 150f2: d501 bpl.n 150f8 - 150f4: f001 f8e1 bl 162ba - 150f8: 2314 movs r3, #20 - 150fa: 212b movs r1, #43 ; 0x2b - 150fc: 2217 movs r2, #23 - 150fe: 0149 lsls r1, r1, #5 - 15100: 02db lsls r3, r3, #11 - 15102: 430a orrs r2, r1 - 15104: 431a orrs r2, r3 + 15150: 6820 ldr r0, [r4, #0] + 15152: 30b8 adds r0, #184 ; 0xb8 + 15154: 4bfa ldr r3, [pc, #1000] ; (15540 ) + 15156: 699b ldr r3, [r3, #24] + 15158: 079b lsls r3, r3, #30 + 1515a: d501 bpl.n 15160 + 1515c: f001 f8e1 bl 16322 + 15160: 2314 movs r3, #20 + 15162: 212b movs r1, #43 ; 0x2b + 15164: 2217 movs r2, #23 + 15166: 0149 lsls r1, r1, #5 + 15168: 02db lsls r3, r3, #11 + 1516a: 430a orrs r2, r1 + 1516c: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15106: 4ef5 ldr r6, [pc, #980] ; (154dc ) - 15108: 0031 movs r1, r6 - 1510a: 4df5 ldr r5, [pc, #980] ; (154e0 ) - 1510c: 47a8 blx r5 + 1516e: 4ef5 ldr r6, [pc, #980] ; (15544 ) + 15170: 0031 movs r1, r6 + 15172: 4df5 ldr r5, [pc, #980] ; (15548 ) + 15174: 47a8 blx r5 style_init_reset(&styles->spinbox_cursor); - 1510e: 4cf5 ldr r4, [pc, #980] ; (154e4 ) - 15110: 6820 ldr r0, [r4, #0] - 15112: 3098 adds r0, #152 ; 0x98 - 15114: 4bef ldr r3, [pc, #956] ; (154d4 ) - 15116: 4798 blx r3 + 15176: 4cf5 ldr r4, [pc, #980] ; (1554c ) + 15178: 6820 ldr r0, [r4, #0] + 1517a: 3098 adds r0, #152 ; 0x98 + 1517c: 4bef ldr r3, [pc, #956] ; (1553c ) + 1517e: 4798 blx r3 lv_style_set_bg_opa(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_OPA_COVER); - 15118: 6820 ldr r0, [r4, #0] - 1511a: 3098 adds r0, #152 ; 0x98 + 15180: 6820 ldr r0, [r4, #0] + 15182: 3098 adds r0, #152 ; 0x98 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1511c: 22ff movs r2, #255 ; 0xff - 1511e: 212c movs r1, #44 ; 0x2c - 15120: 4bf1 ldr r3, [pc, #964] ; (154e8 ) - 15122: 4798 blx r3 + 15184: 22ff movs r2, #255 ; 0xff + 15186: 212c movs r1, #44 ; 0x2c + 15188: 4bf1 ldr r3, [pc, #964] ; (15550 ) + 1518a: 4798 blx r3 lv_style_set_bg_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, theme.color_primary); - 15124: 6820 ldr r0, [r4, #0] - 15126: 3098 adds r0, #152 ; 0x98 - 15128: 4beb ldr r3, [pc, #940] ; (154d8 ) - 1512a: 889a ldrh r2, [r3, #4] + 1518c: 6820 ldr r0, [r4, #0] + 1518e: 3098 adds r0, #152 ; 0x98 + 15190: 4beb ldr r3, [pc, #940] ; (15540 ) + 15192: 889a ldrh r2, [r3, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1512c: 2129 movs r1, #41 ; 0x29 - 1512e: 47a8 blx r5 + 15194: 2129 movs r1, #41 ; 0x29 + 15196: 47a8 blx r5 lv_style_set_text_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 15130: 6820 ldr r0, [r4, #0] - 15132: 3098 adds r0, #152 ; 0x98 - 15134: 4bed ldr r3, [pc, #948] ; (154ec ) - 15136: 881a ldrh r2, [r3, #0] + 15198: 6820 ldr r0, [r4, #0] + 1519a: 3098 adds r0, #152 ; 0x98 + 1519c: 4bed ldr r3, [pc, #948] ; (15554 ) + 1519e: 881a ldrh r2, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15138: 0031 movs r1, r6 - 1513a: 47a8 blx r5 + 151a0: 0031 movs r1, r6 + 151a2: 47a8 blx r5 lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 1513c: 6824 ldr r4, [r4, #0] - 1513e: 3498 adds r4, #152 ; 0x98 - 15140: 2000 movs r0, #0 - 15142: 4beb ldr r3, [pc, #940] ; (154f0 ) - 15144: 4798 blx r3 - 15146: 2364 movs r3, #100 ; 0x64 - 15148: 4358 muls r0, r3 - 1514a: 3050 adds r0, #80 ; 0x50 - 1514c: 2340 movs r3, #64 ; 0x40 - 1514e: 33ff adds r3, #255 ; 0xff - 15150: 2201 movs r2, #1 - 15152: 4298 cmp r0, r3 - 15154: d901 bls.n 1515a - 15156: f001 f8b5 bl 162c4 + 151a4: 6824 ldr r4, [r4, #0] + 151a6: 3498 adds r4, #152 ; 0x98 + 151a8: 2000 movs r0, #0 + 151aa: 4beb ldr r3, [pc, #940] ; (15558 ) + 151ac: 4798 blx r3 + 151ae: 2364 movs r3, #100 ; 0x64 + 151b0: 4358 muls r0, r3 + 151b2: 3050 adds r0, #80 ; 0x50 + 151b4: 2340 movs r3, #64 ; 0x40 + 151b6: 33ff adds r3, #255 ; 0xff + 151b8: 2201 movs r2, #1 + 151ba: 4298 cmp r0, r3 + 151bc: d901 bls.n 151c2 + 151be: f001 f8b5 bl 1632c _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1515a: 2110 movs r1, #16 - 1515c: 0020 movs r0, r4 - 1515e: 4be5 ldr r3, [pc, #916] ; (154f4 ) - 15160: 4798 blx r3 + 151c2: 2110 movs r1, #16 + 151c4: 0020 movs r0, r4 + 151c6: 4be5 ldr r3, [pc, #916] ; (1555c ) + 151c8: 4798 blx r3 lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 15162: 4be0 ldr r3, [pc, #896] ; (154e4 ) - 15164: 681c ldr r4, [r3, #0] - 15166: 3498 adds r4, #152 ; 0x98 - 15168: 2000 movs r0, #0 - 1516a: 4be1 ldr r3, [pc, #900] ; (154f0 ) - 1516c: 4798 blx r3 - 1516e: 2364 movs r3, #100 ; 0x64 - 15170: 4358 muls r0, r3 - 15172: 3050 adds r0, #80 ; 0x50 - 15174: 2340 movs r3, #64 ; 0x40 - 15176: 33ff adds r3, #255 ; 0xff - 15178: 2201 movs r2, #1 - 1517a: 4298 cmp r0, r3 - 1517c: d901 bls.n 15182 - 1517e: f001 f8ae bl 162de + 151ca: 4be0 ldr r3, [pc, #896] ; (1554c ) + 151cc: 681c ldr r4, [r3, #0] + 151ce: 3498 adds r4, #152 ; 0x98 + 151d0: 2000 movs r0, #0 + 151d2: 4be1 ldr r3, [pc, #900] ; (15558 ) + 151d4: 4798 blx r3 + 151d6: 2364 movs r3, #100 ; 0x64 + 151d8: 4358 muls r0, r3 + 151da: 3050 adds r0, #80 ; 0x50 + 151dc: 2340 movs r3, #64 ; 0x40 + 151de: 33ff adds r3, #255 ; 0xff + 151e0: 2201 movs r2, #1 + 151e2: 4298 cmp r0, r3 + 151e4: d901 bls.n 151ea + 151e6: f001 f8ae bl 16346 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 15182: 2111 movs r1, #17 - 15184: 0020 movs r0, r4 - 15186: 4ddb ldr r5, [pc, #876] ; (154f4 ) - 15188: 47a8 blx r5 + 151ea: 2111 movs r1, #17 + 151ec: 0020 movs r0, r4 + 151ee: 4ddb ldr r5, [pc, #876] ; (1555c ) + 151f0: 47a8 blx r5 style_init_reset(&styles->list_bg); - 1518a: 4cd6 ldr r4, [pc, #856] ; (154e4 ) - 1518c: 6820 ldr r0, [r4, #0] - 1518e: 3074 adds r0, #116 ; 0x74 - 15190: 4ed0 ldr r6, [pc, #832] ; (154d4 ) - 15192: 47b0 blx r6 + 151f2: 4cd6 ldr r4, [pc, #856] ; (1554c ) + 151f4: 6820 ldr r0, [r4, #0] + 151f6: 3074 adds r0, #116 ; 0x74 + 151f8: 4ed0 ldr r6, [pc, #832] ; (1553c ) + 151fa: 47b0 blx r6 lv_style_set_clip_corner(&styles->list_bg, LV_STATE_DEFAULT, true); - 15194: 6820 ldr r0, [r4, #0] - 15196: 3074 adds r0, #116 ; 0x74 + 151fc: 6820 ldr r0, [r4, #0] + 151fe: 3074 adds r0, #116 ; 0x74 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 15198: 2201 movs r2, #1 - 1519a: 2102 movs r1, #2 - 1519c: 47a8 blx r5 + 15200: 2201 movs r2, #1 + 15202: 2102 movs r1, #2 + 15204: 47a8 blx r5 lv_style_set_pad_left(&styles->list_bg, LV_STATE_DEFAULT, 0); - 1519e: 6820 ldr r0, [r4, #0] - 151a0: 3074 adds r0, #116 ; 0x74 + 15206: 6820 ldr r0, [r4, #0] + 15208: 3074 adds r0, #116 ; 0x74 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 151a2: 2200 movs r2, #0 - 151a4: 2112 movs r1, #18 - 151a6: 47a8 blx r5 + 1520a: 2200 movs r2, #0 + 1520c: 2112 movs r1, #18 + 1520e: 47a8 blx r5 lv_style_set_pad_right(&styles->list_bg, LV_STATE_DEFAULT, 0); - 151a8: 6820 ldr r0, [r4, #0] - 151aa: 3074 adds r0, #116 ; 0x74 + 15210: 6820 ldr r0, [r4, #0] + 15212: 3074 adds r0, #116 ; 0x74 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 151ac: 2200 movs r2, #0 - 151ae: 2113 movs r1, #19 - 151b0: 47a8 blx r5 + 15214: 2200 movs r2, #0 + 15216: 2113 movs r1, #19 + 15218: 47a8 blx r5 lv_style_set_pad_top(&styles->list_bg, LV_STATE_DEFAULT, 0); - 151b2: 6820 ldr r0, [r4, #0] - 151b4: 3074 adds r0, #116 ; 0x74 + 1521a: 6820 ldr r0, [r4, #0] + 1521c: 3074 adds r0, #116 ; 0x74 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 151b6: 2200 movs r2, #0 - 151b8: 2110 movs r1, #16 - 151ba: 47a8 blx r5 + 1521e: 2200 movs r2, #0 + 15220: 2110 movs r1, #16 + 15222: 47a8 blx r5 lv_style_set_pad_bottom(&styles->list_bg, LV_STATE_DEFAULT, 0); - 151bc: 6820 ldr r0, [r4, #0] - 151be: 3074 adds r0, #116 ; 0x74 + 15224: 6820 ldr r0, [r4, #0] + 15226: 3074 adds r0, #116 ; 0x74 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 151c0: 2200 movs r2, #0 - 151c2: 2111 movs r1, #17 - 151c4: 47a8 blx r5 + 15228: 2200 movs r2, #0 + 1522a: 2111 movs r1, #17 + 1522c: 47a8 blx r5 lv_style_set_pad_inner(&styles->list_bg, LV_STATE_DEFAULT, 0); - 151c6: 6820 ldr r0, [r4, #0] - 151c8: 3074 adds r0, #116 ; 0x74 + 1522e: 6820 ldr r0, [r4, #0] + 15230: 3074 adds r0, #116 ; 0x74 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 151ca: 2200 movs r2, #0 - 151cc: 2114 movs r1, #20 - 151ce: 47a8 blx r5 + 15232: 2200 movs r2, #0 + 15234: 2114 movs r1, #20 + 15236: 47a8 blx r5 style_init_reset(&styles->list_btn); - 151d0: 6820 ldr r0, [r4, #0] - 151d2: 3078 adds r0, #120 ; 0x78 - 151d4: 47b0 blx r6 + 15238: 6820 ldr r0, [r4, #0] + 1523a: 3078 adds r0, #120 ; 0x78 + 1523c: 47b0 blx r6 lv_style_set_bg_opa(&styles->list_btn, LV_STATE_DEFAULT, LV_OPA_COVER); - 151d6: 6820 ldr r0, [r4, #0] - 151d8: 3078 adds r0, #120 ; 0x78 + 1523e: 6820 ldr r0, [r4, #0] + 15240: 3078 adds r0, #120 ; 0x78 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 151da: 22ff movs r2, #255 ; 0xff - 151dc: 212c movs r1, #44 ; 0x2c - 151de: 4bc2 ldr r3, [pc, #776] ; (154e8 ) - 151e0: 4798 blx r3 + 15242: 22ff movs r2, #255 ; 0xff + 15244: 212c movs r1, #44 ; 0x2c + 15246: 4bc2 ldr r3, [pc, #776] ; (15550 ) + 15248: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG); - 151e2: 6820 ldr r0, [r4, #0] - 151e4: 3078 adds r0, #120 ; 0x78 - 151e6: 4bbc ldr r3, [pc, #752] ; (154d8 ) - 151e8: 699b ldr r3, [r3, #24] - 151ea: 079b lsls r3, r3, #30 - 151ec: d501 bpl.n 151f2 - 151ee: f001 f883 bl 162f8 - 151f2: 230b movs r3, #11 - 151f4: 2118 movs r1, #24 - 151f6: 220e movs r2, #14 - 151f8: 0149 lsls r1, r1, #5 - 151fa: 02db lsls r3, r3, #11 - 151fc: 430a orrs r2, r1 - 151fe: 431a orrs r2, r3 + 1524a: 6820 ldr r0, [r4, #0] + 1524c: 3078 adds r0, #120 ; 0x78 + 1524e: 4bbc ldr r3, [pc, #752] ; (15540 ) + 15250: 699b ldr r3, [r3, #24] + 15252: 079b lsls r3, r3, #30 + 15254: d501 bpl.n 1525a + 15256: f001 f883 bl 16360 + 1525a: 230b movs r3, #11 + 1525c: 2118 movs r1, #24 + 1525e: 220e movs r2, #14 + 15260: 0149 lsls r1, r1, #5 + 15262: 02db lsls r3, r3, #11 + 15264: 430a orrs r2, r1 + 15266: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15200: 2129 movs r1, #41 ; 0x29 - 15202: 4bb7 ldr r3, [pc, #732] ; (154e0 ) - 15204: 4798 blx r3 + 15268: 2129 movs r1, #41 ; 0x29 + 1526a: 4bb7 ldr r3, [pc, #732] ; (15548 ) + 1526c: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR); - 15206: 4bb7 ldr r3, [pc, #732] ; (154e4 ) - 15208: 6818 ldr r0, [r3, #0] - 1520a: 3078 adds r0, #120 ; 0x78 - 1520c: 4bb2 ldr r3, [pc, #712] ; (154d8 ) - 1520e: 699b ldr r3, [r3, #24] - 15210: 079b lsls r3, r3, #30 - 15212: d501 bpl.n 15218 - 15214: f001 f875 bl 16302 - 15218: 2309 movs r3, #9 - 1521a: 2113 movs r1, #19 - 1521c: 220a movs r2, #10 - 1521e: 0149 lsls r1, r1, #5 - 15220: 02db lsls r3, r3, #11 - 15222: 430a orrs r2, r1 - 15224: 431a orrs r2, r3 - 15226: 49b4 ldr r1, [pc, #720] ; (154f8 ) - 15228: 4bad ldr r3, [pc, #692] ; (154e0 ) - 1522a: 4798 blx r3 + 1526e: 4bb7 ldr r3, [pc, #732] ; (1554c ) + 15270: 6818 ldr r0, [r3, #0] + 15272: 3078 adds r0, #120 ; 0x78 + 15274: 4bb2 ldr r3, [pc, #712] ; (15540 ) + 15276: 699b ldr r3, [r3, #24] + 15278: 079b lsls r3, r3, #30 + 1527a: d501 bpl.n 15280 + 1527c: f001 f875 bl 1636a + 15280: 2309 movs r3, #9 + 15282: 2113 movs r1, #19 + 15284: 220a movs r2, #10 + 15286: 0149 lsls r1, r1, #5 + 15288: 02db lsls r3, r3, #11 + 1528a: 430a orrs r2, r1 + 1528c: 431a orrs r2, r3 + 1528e: 49b4 ldr r1, [pc, #720] ; (15560 ) + 15290: 4bad ldr r3, [pc, #692] ; (15548 ) + 15292: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS); - 1522c: 4bad ldr r3, [pc, #692] ; (154e4 ) - 1522e: 6818 ldr r0, [r3, #0] - 15230: 3078 adds r0, #120 ; 0x78 - 15232: 4ba9 ldr r3, [pc, #676] ; (154d8 ) - 15234: 699b ldr r3, [r3, #24] - 15236: 079b lsls r3, r3, #30 - 15238: d501 bpl.n 1523e - 1523a: f001 f867 bl 1630c - 1523e: 230b movs r3, #11 - 15240: 2118 movs r1, #24 - 15242: 220e movs r2, #14 - 15244: 0149 lsls r1, r1, #5 - 15246: 02db lsls r3, r3, #11 - 15248: 430a orrs r2, r1 - 1524a: 431a orrs r2, r3 - 1524c: 49ab ldr r1, [pc, #684] ; (154fc ) - 1524e: 4ea4 ldr r6, [pc, #656] ; (154e0 ) - 15250: 47b0 blx r6 + 15294: 4bad ldr r3, [pc, #692] ; (1554c ) + 15296: 6818 ldr r0, [r3, #0] + 15298: 3078 adds r0, #120 ; 0x78 + 1529a: 4ba9 ldr r3, [pc, #676] ; (15540 ) + 1529c: 699b ldr r3, [r3, #24] + 1529e: 079b lsls r3, r3, #30 + 152a0: d501 bpl.n 152a6 + 152a2: f001 f867 bl 16374 + 152a6: 230b movs r3, #11 + 152a8: 2118 movs r1, #24 + 152aa: 220e movs r2, #14 + 152ac: 0149 lsls r1, r1, #5 + 152ae: 02db lsls r3, r3, #11 + 152b0: 430a orrs r2, r1 + 152b2: 431a orrs r2, r3 + 152b4: 49ab ldr r1, [pc, #684] ; (15564 ) + 152b6: 4ea4 ldr r6, [pc, #656] ; (15548 ) + 152b8: 47b0 blx r6 lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_CHK); - 15252: 4da4 ldr r5, [pc, #656] ; (154e4 ) - 15254: 6828 ldr r0, [r5, #0] - 15256: 3078 adds r0, #120 ; 0x78 - 15258: 4c9f ldr r4, [pc, #636] ; (154d8 ) - 1525a: 88a2 ldrh r2, [r4, #4] - 1525c: 212a movs r1, #42 ; 0x2a - 1525e: 31ff adds r1, #255 ; 0xff - 15260: 47b0 blx r6 + 152ba: 4da4 ldr r5, [pc, #656] ; (1554c ) + 152bc: 6828 ldr r0, [r5, #0] + 152be: 3078 adds r0, #120 ; 0x78 + 152c0: 4c9f ldr r4, [pc, #636] ; (15540 ) + 152c2: 88a2 ldrh r2, [r4, #4] + 152c4: 212a movs r1, #42 ; 0x2a + 152c6: 31ff adds r1, #255 ; 0xff + 152c8: 47b0 blx r6 lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BG_PR_CHK); - 15262: 682f ldr r7, [r5, #0] - 15264: 3778 adds r7, #120 ; 0x78 - 15266: 88a0 ldrh r0, [r4, #4] - 15268: 2133 movs r1, #51 ; 0x33 - 1526a: 4ba5 ldr r3, [pc, #660] ; (15500 ) - 1526c: 4798 blx r3 - 1526e: 1c02 adds r2, r0, #0 - 15270: 49a4 ldr r1, [pc, #656] ; (15504 ) - 15272: 0038 movs r0, r7 - 15274: 47b0 blx r6 + 152ca: 682f ldr r7, [r5, #0] + 152cc: 3778 adds r7, #120 ; 0x78 + 152ce: 88a0 ldrh r0, [r4, #4] + 152d0: 2133 movs r1, #51 ; 0x33 + 152d2: 4ba5 ldr r3, [pc, #660] ; (15568 ) + 152d4: 4798 blx r3 + 152d6: 1c02 adds r2, r0, #0 + 152d8: 49a4 ldr r1, [pc, #656] ; (1556c ) + 152da: 0038 movs r0, r7 + 152dc: 47b0 blx r6 lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 15276: 6828 ldr r0, [r5, #0] - 15278: 3078 adds r0, #120 ; 0x78 - 1527a: 69a3 ldr r3, [r4, #24] - 1527c: 079b lsls r3, r3, #30 - 1527e: d501 bpl.n 15284 - 15280: f001 f849 bl 16316 - 15284: 231f movs r3, #31 - 15286: 213f movs r1, #63 ; 0x3f - 15288: 221f movs r2, #31 - 1528a: 0149 lsls r1, r1, #5 - 1528c: 02db lsls r3, r3, #11 - 1528e: 430a orrs r2, r1 - 15290: 431a orrs r2, r3 + 152de: 6828 ldr r0, [r5, #0] + 152e0: 3078 adds r0, #120 ; 0x78 + 152e2: 69a3 ldr r3, [r4, #24] + 152e4: 079b lsls r3, r3, #30 + 152e6: d501 bpl.n 152ec + 152e8: f001 f849 bl 1637e + 152ec: 231f movs r3, #31 + 152ee: 213f movs r1, #63 ; 0x3f + 152f0: 221f movs r2, #31 + 152f2: 0149 lsls r1, r1, #5 + 152f4: 02db lsls r3, r3, #11 + 152f6: 430a orrs r2, r1 + 152f8: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15292: 4992 ldr r1, [pc, #584] ; (154dc ) - 15294: 4d92 ldr r5, [pc, #584] ; (154e0 ) - 15296: 47a8 blx r5 + 152fa: 4992 ldr r1, [pc, #584] ; (15544 ) + 152fc: 4d92 ldr r5, [pc, #584] ; (15548 ) + 152fe: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 15298: 4c92 ldr r4, [pc, #584] ; (154e4 ) - 1529a: 6820 ldr r0, [r4, #0] - 1529c: 3078 adds r0, #120 ; 0x78 - 1529e: 2201 movs r2, #1 - 152a0: 4252 negs r2, r2 - 152a2: 4999 ldr r1, [pc, #612] ; (15508 ) - 152a4: 47a8 blx r5 + 15300: 4c92 ldr r4, [pc, #584] ; (1554c ) + 15302: 6820 ldr r0, [r4, #0] + 15304: 3078 adds r0, #120 ; 0x78 + 15306: 2201 movs r2, #1 + 15308: 4252 negs r2, r2 + 1530a: 4999 ldr r1, [pc, #612] ; (15570 ) + 1530c: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 152a6: 6820 ldr r0, [r4, #0] - 152a8: 3078 adds r0, #120 ; 0x78 - 152aa: 4b8b ldr r3, [pc, #556] ; (154d8 ) - 152ac: 699b ldr r3, [r3, #24] - 152ae: 079b lsls r3, r3, #30 - 152b0: d501 bpl.n 152b6 - 152b2: f001 f835 bl 16320 - 152b6: 2226 movs r2, #38 ; 0x26 - 152b8: 2313 movs r3, #19 - 152ba: 0152 lsls r2, r2, #5 - 152bc: 02d9 lsls r1, r3, #11 - 152be: 431a orrs r2, r3 - 152c0: 430a orrs r2, r1 - 152c2: 4992 ldr r1, [pc, #584] ; (1550c ) - 152c4: 4b86 ldr r3, [pc, #536] ; (154e0 ) - 152c6: 4798 blx r3 + 1530e: 6820 ldr r0, [r4, #0] + 15310: 3078 adds r0, #120 ; 0x78 + 15312: 4b8b ldr r3, [pc, #556] ; (15540 ) + 15314: 699b ldr r3, [r3, #24] + 15316: 079b lsls r3, r3, #30 + 15318: d501 bpl.n 1531e + 1531a: f001 f835 bl 16388 + 1531e: 2226 movs r2, #38 ; 0x26 + 15320: 2313 movs r3, #19 + 15322: 0152 lsls r2, r2, #5 + 15324: 02d9 lsls r1, r3, #11 + 15326: 431a orrs r2, r3 + 15328: 430a orrs r2, r1 + 1532a: 4992 ldr r1, [pc, #584] ; (15574 ) + 1532c: 4b86 ldr r3, [pc, #536] ; (15548 ) + 1532e: 4798 blx r3 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 152c8: 4b86 ldr r3, [pc, #536] ; (154e4 ) - 152ca: 6818 ldr r0, [r3, #0] - 152cc: 3078 adds r0, #120 ; 0x78 - 152ce: 4b82 ldr r3, [pc, #520] ; (154d8 ) - 152d0: 699b ldr r3, [r3, #24] - 152d2: 079b lsls r3, r3, #30 - 152d4: d501 bpl.n 152da - 152d6: f001 f827 bl 16328 - 152da: 231f movs r3, #31 - 152dc: 213f movs r1, #63 ; 0x3f - 152de: 221f movs r2, #31 - 152e0: 0149 lsls r1, r1, #5 - 152e2: 02db lsls r3, r3, #11 - 152e4: 430a orrs r2, r1 - 152e6: 431a orrs r2, r3 + 15330: 4b86 ldr r3, [pc, #536] ; (1554c ) + 15332: 6818 ldr r0, [r3, #0] + 15334: 3078 adds r0, #120 ; 0x78 + 15336: 4b82 ldr r3, [pc, #520] ; (15540 ) + 15338: 699b ldr r3, [r3, #24] + 1533a: 079b lsls r3, r3, #30 + 1533c: d501 bpl.n 15342 + 1533e: f001 f827 bl 16390 + 15342: 231f movs r3, #31 + 15344: 213f movs r1, #63 ; 0x3f + 15346: 221f movs r2, #31 + 15348: 0149 lsls r1, r1, #5 + 1534a: 02db lsls r3, r3, #11 + 1534c: 430a orrs r2, r1 + 1534e: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 152e8: 4989 ldr r1, [pc, #548] ; (15510 ) - 152ea: 4d7d ldr r5, [pc, #500] ; (154e0 ) - 152ec: 47a8 blx r5 + 15350: 4989 ldr r1, [pc, #548] ; (15578 ) + 15352: 4d7d ldr r5, [pc, #500] ; (15548 ) + 15354: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 152ee: 4c7d ldr r4, [pc, #500] ; (154e4 ) - 152f0: 6820 ldr r0, [r4, #0] - 152f2: 3078 adds r0, #120 ; 0x78 - 152f4: 2201 movs r2, #1 - 152f6: 4252 negs r2, r2 - 152f8: 4986 ldr r1, [pc, #536] ; (15514 ) - 152fa: 47a8 blx r5 + 15356: 4c7d ldr r4, [pc, #500] ; (1554c ) + 15358: 6820 ldr r0, [r4, #0] + 1535a: 3078 adds r0, #120 ; 0x78 + 1535c: 2201 movs r2, #1 + 1535e: 4252 negs r2, r2 + 15360: 4986 ldr r1, [pc, #536] ; (1557c ) + 15362: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 152fc: 6820 ldr r0, [r4, #0] - 152fe: 3078 adds r0, #120 ; 0x78 - 15300: 4b75 ldr r3, [pc, #468] ; (154d8 ) - 15302: 699b ldr r3, [r3, #24] - 15304: 079b lsls r3, r3, #30 - 15306: d501 bpl.n 1530c - 15308: f001 f813 bl 16332 - 1530c: 2226 movs r2, #38 ; 0x26 - 1530e: 2313 movs r3, #19 - 15310: 0152 lsls r2, r2, #5 - 15312: 02d9 lsls r1, r3, #11 - 15314: 431a orrs r2, r3 - 15316: 430a orrs r2, r1 - 15318: 497f ldr r1, [pc, #508] ; (15518 ) - 1531a: 4b71 ldr r3, [pc, #452] ; (154e0 ) - 1531c: 4798 blx r3 + 15364: 6820 ldr r0, [r4, #0] + 15366: 3078 adds r0, #120 ; 0x78 + 15368: 4b75 ldr r3, [pc, #468] ; (15540 ) + 1536a: 699b ldr r3, [r3, #24] + 1536c: 079b lsls r3, r3, #30 + 1536e: d501 bpl.n 15374 + 15370: f001 f813 bl 1639a + 15374: 2226 movs r2, #38 ; 0x26 + 15376: 2313 movs r3, #19 + 15378: 0152 lsls r2, r2, #5 + 1537a: 02d9 lsls r1, r3, #11 + 1537c: 431a orrs r2, r3 + 1537e: 430a orrs r2, r1 + 15380: 497f ldr r1, [pc, #508] ; (15580 ) + 15382: 4b71 ldr r3, [pc, #452] ; (15548 ) + 15384: 4798 blx r3 lv_style_set_border_side(&styles->list_btn, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM); - 1531e: 4c71 ldr r4, [pc, #452] ; (154e4 ) - 15320: 6820 ldr r0, [r4, #0] - 15322: 3078 adds r0, #120 ; 0x78 + 15386: 4c71 ldr r4, [pc, #452] ; (1554c ) + 15388: 6820 ldr r0, [r4, #0] + 1538a: 3078 adds r0, #120 ; 0x78 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 15324: 2201 movs r2, #1 - 15326: 2131 movs r1, #49 ; 0x31 - 15328: 4b72 ldr r3, [pc, #456] ; (154f4 ) - 1532a: 4798 blx r3 + 1538c: 2201 movs r2, #1 + 1538e: 2131 movs r1, #49 ; 0x31 + 15390: 4b72 ldr r3, [pc, #456] ; (1555c ) + 15392: 4798 blx r3 lv_style_set_border_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 1532c: 6820 ldr r0, [r4, #0] - 1532e: 3078 adds r0, #120 ; 0x78 - 15330: 4b69 ldr r3, [pc, #420] ; (154d8 ) - 15332: 699b ldr r3, [r3, #24] - 15334: 079b lsls r3, r3, #30 - 15336: d501 bpl.n 1533c - 15338: f000 ffff bl 1633a - 1533c: 2310 movs r3, #16 - 1533e: 2122 movs r1, #34 ; 0x22 - 15340: 2212 movs r2, #18 - 15342: 0149 lsls r1, r1, #5 - 15344: 02db lsls r3, r3, #11 - 15346: 430a orrs r2, r1 - 15348: 431a orrs r2, r3 + 15394: 6820 ldr r0, [r4, #0] + 15396: 3078 adds r0, #120 ; 0x78 + 15398: 4b69 ldr r3, [pc, #420] ; (15540 ) + 1539a: 699b ldr r3, [r3, #24] + 1539c: 079b lsls r3, r3, #30 + 1539e: d501 bpl.n 153a4 + 153a0: f000 ffff bl 163a2 + 153a4: 2310 movs r3, #16 + 153a6: 2122 movs r1, #34 ; 0x22 + 153a8: 2212 movs r2, #18 + 153aa: 0149 lsls r1, r1, #5 + 153ac: 02db lsls r3, r3, #11 + 153ae: 430a orrs r2, r1 + 153b0: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 1534a: 2139 movs r1, #57 ; 0x39 - 1534c: 4d64 ldr r5, [pc, #400] ; (154e0 ) - 1534e: 47a8 blx r5 + 153b2: 2139 movs r1, #57 ; 0x39 + 153b4: 4d64 ldr r5, [pc, #400] ; (15548 ) + 153b6: 47a8 blx r5 lv_style_set_border_color(&styles->list_btn, LV_STATE_FOCUSED, theme.color_primary); - 15350: 4c64 ldr r4, [pc, #400] ; (154e4 ) - 15352: 6820 ldr r0, [r4, #0] - 15354: 3078 adds r0, #120 ; 0x78 - 15356: 4b60 ldr r3, [pc, #384] ; (154d8 ) - 15358: 889a ldrh r2, [r3, #4] - 1535a: 4970 ldr r1, [pc, #448] ; (1551c ) - 1535c: 47a8 blx r5 + 153b8: 4c64 ldr r4, [pc, #400] ; (1554c ) + 153ba: 6820 ldr r0, [r4, #0] + 153bc: 3078 adds r0, #120 ; 0x78 + 153be: 4b60 ldr r3, [pc, #384] ; (15540 ) + 153c0: 889a ldrh r2, [r3, #4] + 153c2: 4970 ldr r1, [pc, #448] ; (15584 ) + 153c4: 47a8 blx r5 lv_style_set_border_width(&styles->list_btn, LV_STATE_DEFAULT, 1); - 1535e: 6820 ldr r0, [r4, #0] - 15360: 3078 adds r0, #120 ; 0x78 + 153c6: 6820 ldr r0, [r4, #0] + 153c8: 3078 adds r0, #120 ; 0x78 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 15362: 2201 movs r2, #1 - 15364: 2130 movs r1, #48 ; 0x30 - 15366: 4b63 ldr r3, [pc, #396] ; (154f4 ) - 15368: 4798 blx r3 + 153ca: 2201 movs r2, #1 + 153cc: 2130 movs r1, #48 ; 0x30 + 153ce: 4b63 ldr r3, [pc, #396] ; (1555c ) + 153d0: 4798 blx r3 lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 1536a: 6824 ldr r4, [r4, #0] - 1536c: 3478 adds r4, #120 ; 0x78 - 1536e: 2000 movs r0, #0 - 15370: 4b6b ldr r3, [pc, #428] ; (15520 ) - 15372: 4798 blx r3 - 15374: 2801 cmp r0, #1 - 15376: d801 bhi.n 1537c - 15378: f000 ffe4 bl 16344 - 1537c: 2000 movs r0, #0 - 1537e: 4b5c ldr r3, [pc, #368] ; (154f0 ) - 15380: 4798 blx r3 - 15382: 0103 lsls r3, r0, #4 - 15384: 1a1b subs r3, r3, r0 - 15386: 005b lsls r3, r3, #1 - 15388: 3350 adds r3, #80 ; 0x50 - 1538a: 2140 movs r1, #64 ; 0x40 - 1538c: 31ff adds r1, #255 ; 0xff - 1538e: 2201 movs r2, #1 - 15390: 428b cmp r3, r1 - 15392: d901 bls.n 15398 - 15394: f000 ffef bl 16376 + 153d2: 6824 ldr r4, [r4, #0] + 153d4: 3478 adds r4, #120 ; 0x78 + 153d6: 2000 movs r0, #0 + 153d8: 4b6b ldr r3, [pc, #428] ; (15588 ) + 153da: 4798 blx r3 + 153dc: 2801 cmp r0, #1 + 153de: d801 bhi.n 153e4 + 153e0: f000 ffe4 bl 163ac + 153e4: 2000 movs r0, #0 + 153e6: 4b5c ldr r3, [pc, #368] ; (15558 ) + 153e8: 4798 blx r3 + 153ea: 0103 lsls r3, r0, #4 + 153ec: 1a1b subs r3, r3, r0 + 153ee: 005b lsls r3, r3, #1 + 153f0: 3350 adds r3, #80 ; 0x50 + 153f2: 2140 movs r1, #64 ; 0x40 + 153f4: 31ff adds r1, #255 ; 0xff + 153f6: 2201 movs r2, #1 + 153f8: 428b cmp r3, r1 + 153fa: d901 bls.n 15400 + 153fc: f000 ffef bl 163de _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 15398: 2112 movs r1, #18 - 1539a: 0020 movs r0, r4 - 1539c: 4b55 ldr r3, [pc, #340] ; (154f4 ) - 1539e: 4798 blx r3 + 15400: 2112 movs r1, #18 + 15402: 0020 movs r0, r4 + 15404: 4b55 ldr r3, [pc, #340] ; (1555c ) + 15406: 4798 blx r3 lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 153a0: 4b50 ldr r3, [pc, #320] ; (154e4 ) - 153a2: 681c ldr r4, [r3, #0] - 153a4: 3478 adds r4, #120 ; 0x78 - 153a6: 2000 movs r0, #0 - 153a8: 4b5d ldr r3, [pc, #372] ; (15520 ) - 153aa: 4798 blx r3 - 153ac: 2801 cmp r0, #1 - 153ae: d801 bhi.n 153b4 - 153b0: f000 ffee bl 16390 - 153b4: 2000 movs r0, #0 - 153b6: 4b4e ldr r3, [pc, #312] ; (154f0 ) - 153b8: 4798 blx r3 - 153ba: 0103 lsls r3, r0, #4 - 153bc: 1a1b subs r3, r3, r0 - 153be: 005b lsls r3, r3, #1 - 153c0: 3350 adds r3, #80 ; 0x50 - 153c2: 2140 movs r1, #64 ; 0x40 - 153c4: 31ff adds r1, #255 ; 0xff - 153c6: 2201 movs r2, #1 - 153c8: 428b cmp r3, r1 - 153ca: d901 bls.n 153d0 - 153cc: f000 fff9 bl 163c2 + 15408: 4b50 ldr r3, [pc, #320] ; (1554c ) + 1540a: 681c ldr r4, [r3, #0] + 1540c: 3478 adds r4, #120 ; 0x78 + 1540e: 2000 movs r0, #0 + 15410: 4b5d ldr r3, [pc, #372] ; (15588 ) + 15412: 4798 blx r3 + 15414: 2801 cmp r0, #1 + 15416: d801 bhi.n 1541c + 15418: f000 ffee bl 163f8 + 1541c: 2000 movs r0, #0 + 1541e: 4b4e ldr r3, [pc, #312] ; (15558 ) + 15420: 4798 blx r3 + 15422: 0103 lsls r3, r0, #4 + 15424: 1a1b subs r3, r3, r0 + 15426: 005b lsls r3, r3, #1 + 15428: 3350 adds r3, #80 ; 0x50 + 1542a: 2140 movs r1, #64 ; 0x40 + 1542c: 31ff adds r1, #255 ; 0xff + 1542e: 2201 movs r2, #1 + 15430: 428b cmp r3, r1 + 15432: d901 bls.n 15438 + 15434: f000 fff9 bl 1642a _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 153d0: 2113 movs r1, #19 - 153d2: 0020 movs r0, r4 - 153d4: 4b47 ldr r3, [pc, #284] ; (154f4 ) - 153d6: 4798 blx r3 + 15438: 2113 movs r1, #19 + 1543a: 0020 movs r0, r4 + 1543c: 4b47 ldr r3, [pc, #284] ; (1555c ) + 1543e: 4798 blx r3 lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 153d8: 4b42 ldr r3, [pc, #264] ; (154e4 ) - 153da: 681c ldr r4, [r3, #0] - 153dc: 3478 adds r4, #120 ; 0x78 - 153de: 2000 movs r0, #0 - 153e0: 4b4f ldr r3, [pc, #316] ; (15520 ) - 153e2: 4798 blx r3 - 153e4: 2801 cmp r0, #1 - 153e6: d801 bhi.n 153ec - 153e8: f000 fff8 bl 163dc - 153ec: 2000 movs r0, #0 - 153ee: 4b40 ldr r3, [pc, #256] ; (154f0 ) - 153f0: 4798 blx r3 - 153f2: 0103 lsls r3, r0, #4 - 153f4: 1a1b subs r3, r3, r0 - 153f6: 005b lsls r3, r3, #1 - 153f8: 3350 adds r3, #80 ; 0x50 - 153fa: 2140 movs r1, #64 ; 0x40 - 153fc: 31ff adds r1, #255 ; 0xff - 153fe: 2201 movs r2, #1 - 15400: 428b cmp r3, r1 - 15402: d901 bls.n 15408 - 15404: f001 f803 bl 1640e + 15440: 4b42 ldr r3, [pc, #264] ; (1554c ) + 15442: 681c ldr r4, [r3, #0] + 15444: 3478 adds r4, #120 ; 0x78 + 15446: 2000 movs r0, #0 + 15448: 4b4f ldr r3, [pc, #316] ; (15588 ) + 1544a: 4798 blx r3 + 1544c: 2801 cmp r0, #1 + 1544e: d801 bhi.n 15454 + 15450: f000 fff8 bl 16444 + 15454: 2000 movs r0, #0 + 15456: 4b40 ldr r3, [pc, #256] ; (15558 ) + 15458: 4798 blx r3 + 1545a: 0103 lsls r3, r0, #4 + 1545c: 1a1b subs r3, r3, r0 + 1545e: 005b lsls r3, r3, #1 + 15460: 3350 adds r3, #80 ; 0x50 + 15462: 2140 movs r1, #64 ; 0x40 + 15464: 31ff adds r1, #255 ; 0xff + 15466: 2201 movs r2, #1 + 15468: 428b cmp r3, r1 + 1546a: d901 bls.n 15470 + 1546c: f001 f803 bl 16476 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15408: 2110 movs r1, #16 - 1540a: 0020 movs r0, r4 - 1540c: 4b39 ldr r3, [pc, #228] ; (154f4 ) - 1540e: 4798 blx r3 + 15470: 2110 movs r1, #16 + 15472: 0020 movs r0, r4 + 15474: 4b39 ldr r3, [pc, #228] ; (1555c ) + 15476: 4798 blx r3 lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 15410: 4b34 ldr r3, [pc, #208] ; (154e4 ) - 15412: 681c ldr r4, [r3, #0] - 15414: 3478 adds r4, #120 ; 0x78 - 15416: 2000 movs r0, #0 - 15418: 4b41 ldr r3, [pc, #260] ; (15520 ) - 1541a: 4798 blx r3 - 1541c: 2801 cmp r0, #1 - 1541e: d801 bhi.n 15424 - 15420: f001 f802 bl 16428 - 15424: 2000 movs r0, #0 - 15426: 4b32 ldr r3, [pc, #200] ; (154f0 ) - 15428: 4798 blx r3 - 1542a: 0103 lsls r3, r0, #4 - 1542c: 1a1b subs r3, r3, r0 - 1542e: 005b lsls r3, r3, #1 - 15430: 3350 adds r3, #80 ; 0x50 - 15432: 2140 movs r1, #64 ; 0x40 - 15434: 31ff adds r1, #255 ; 0xff - 15436: 2201 movs r2, #1 - 15438: 428b cmp r3, r1 - 1543a: d901 bls.n 15440 - 1543c: f001 f80d bl 1645a + 15478: 4b34 ldr r3, [pc, #208] ; (1554c ) + 1547a: 681c ldr r4, [r3, #0] + 1547c: 3478 adds r4, #120 ; 0x78 + 1547e: 2000 movs r0, #0 + 15480: 4b41 ldr r3, [pc, #260] ; (15588 ) + 15482: 4798 blx r3 + 15484: 2801 cmp r0, #1 + 15486: d801 bhi.n 1548c + 15488: f001 f802 bl 16490 + 1548c: 2000 movs r0, #0 + 1548e: 4b32 ldr r3, [pc, #200] ; (15558 ) + 15490: 4798 blx r3 + 15492: 0103 lsls r3, r0, #4 + 15494: 1a1b subs r3, r3, r0 + 15496: 005b lsls r3, r3, #1 + 15498: 3350 adds r3, #80 ; 0x50 + 1549a: 2140 movs r1, #64 ; 0x40 + 1549c: 31ff adds r1, #255 ; 0xff + 1549e: 2201 movs r2, #1 + 154a0: 428b cmp r3, r1 + 154a2: d901 bls.n 154a8 + 154a4: f001 f80d bl 164c2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 15440: 2111 movs r1, #17 - 15442: 0020 movs r0, r4 - 15444: 4b2b ldr r3, [pc, #172] ; (154f4 ) - 15446: 4798 blx r3 + 154a8: 2111 movs r1, #17 + 154aa: 0020 movs r0, r4 + 154ac: 4b2b ldr r3, [pc, #172] ; (1555c ) + 154ae: 4798 blx r3 lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 15448: 4b26 ldr r3, [pc, #152] ; (154e4 ) - 1544a: 681c ldr r4, [r3, #0] - 1544c: 3478 adds r4, #120 ; 0x78 - 1544e: 2000 movs r0, #0 - 15450: 4b33 ldr r3, [pc, #204] ; (15520 ) - 15452: 4798 blx r3 - 15454: 2801 cmp r0, #1 - 15456: d801 bhi.n 1545c - 15458: f001 f80c bl 16474 - 1545c: 2000 movs r0, #0 - 1545e: 4b24 ldr r3, [pc, #144] ; (154f0 ) - 15460: 4798 blx r3 - 15462: 0103 lsls r3, r0, #4 - 15464: 1a1b subs r3, r3, r0 - 15466: 005b lsls r3, r3, #1 - 15468: 3350 adds r3, #80 ; 0x50 - 1546a: 2140 movs r1, #64 ; 0x40 - 1546c: 31ff adds r1, #255 ; 0xff - 1546e: 2201 movs r2, #1 - 15470: 428b cmp r3, r1 - 15472: d901 bls.n 15478 - 15474: f001 f817 bl 164a6 + 154b0: 4b26 ldr r3, [pc, #152] ; (1554c ) + 154b2: 681c ldr r4, [r3, #0] + 154b4: 3478 adds r4, #120 ; 0x78 + 154b6: 2000 movs r0, #0 + 154b8: 4b33 ldr r3, [pc, #204] ; (15588 ) + 154ba: 4798 blx r3 + 154bc: 2801 cmp r0, #1 + 154be: d801 bhi.n 154c4 + 154c0: f001 f80c bl 164dc + 154c4: 2000 movs r0, #0 + 154c6: 4b24 ldr r3, [pc, #144] ; (15558 ) + 154c8: 4798 blx r3 + 154ca: 0103 lsls r3, r0, #4 + 154cc: 1a1b subs r3, r3, r0 + 154ce: 005b lsls r3, r3, #1 + 154d0: 3350 adds r3, #80 ; 0x50 + 154d2: 2140 movs r1, #64 ; 0x40 + 154d4: 31ff adds r1, #255 ; 0xff + 154d6: 2201 movs r2, #1 + 154d8: 428b cmp r3, r1 + 154da: d901 bls.n 154e0 + 154dc: f001 f817 bl 1650e _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 15478: 2114 movs r1, #20 - 1547a: 0020 movs r0, r4 - 1547c: 4b1d ldr r3, [pc, #116] ; (154f4 ) - 1547e: 4798 blx r3 + 154e0: 2114 movs r1, #20 + 154e2: 0020 movs r0, r4 + 154e4: 4b1d ldr r3, [pc, #116] ; (1555c ) + 154e6: 4798 blx r3 lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); - 15480: 4b18 ldr r3, [pc, #96] ; (154e4 ) - 15482: 681c ldr r4, [r3, #0] - 15484: 3478 adds r4, #120 ; 0x78 - 15486: 2000 movs r0, #0 - 15488: 4b25 ldr r3, [pc, #148] ; (15520 ) - 1548a: 4798 blx r3 - 1548c: 2801 cmp r0, #1 - 1548e: d801 bhi.n 15494 - 15490: f001 f816 bl 164c0 - 15494: 2000 movs r0, #0 - 15496: 4b16 ldr r3, [pc, #88] ; (154f0 ) - 15498: 4798 blx r3 - 1549a: 0103 lsls r3, r0, #4 - 1549c: 1a18 subs r0, r3, r0 - 1549e: 0040 lsls r0, r0, #1 - 154a0: 3050 adds r0, #80 ; 0x50 - 154a2: 2340 movs r3, #64 ; 0x40 - 154a4: 33ff adds r3, #255 ; 0xff - 154a6: 4298 cmp r0, r3 - 154a8: d901 bls.n 154ae - 154aa: f001 f824 bl 164f6 - 154ae: 2201 movs r2, #1 - 154b0: 4252 negs r2, r2 + 154e8: 4b18 ldr r3, [pc, #96] ; (1554c ) + 154ea: 681c ldr r4, [r3, #0] + 154ec: 3478 adds r4, #120 ; 0x78 + 154ee: 2000 movs r0, #0 + 154f0: 4b25 ldr r3, [pc, #148] ; (15588 ) + 154f2: 4798 blx r3 + 154f4: 2801 cmp r0, #1 + 154f6: d801 bhi.n 154fc + 154f8: f001 f816 bl 16528 + 154fc: 2000 movs r0, #0 + 154fe: 4b16 ldr r3, [pc, #88] ; (15558 ) + 15500: 4798 blx r3 + 15502: 0103 lsls r3, r0, #4 + 15504: 1a18 subs r0, r3, r0 + 15506: 0040 lsls r0, r0, #1 + 15508: 3050 adds r0, #80 ; 0x50 + 1550a: 2340 movs r3, #64 ; 0x40 + 1550c: 33ff adds r3, #255 ; 0xff + 1550e: 4298 cmp r0, r3 + 15510: d901 bls.n 15516 + 15512: f001 f824 bl 1655e + 15516: 2201 movs r2, #1 + 15518: 4252 negs r2, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 154b2: 2104 movs r1, #4 - 154b4: 0020 movs r0, r4 - 154b6: 4d0f ldr r5, [pc, #60] ; (154f4 ) - 154b8: 47a8 blx r5 + 1551a: 2104 movs r1, #4 + 1551c: 0020 movs r0, r4 + 1551e: 4d0f ldr r5, [pc, #60] ; (1555c ) + 15520: 47a8 blx r5 lv_style_set_transform_width(&styles->list_btn, LV_STATE_PRESSED, 0); - 154ba: 4c0a ldr r4, [pc, #40] ; (154e4 ) - 154bc: 6820 ldr r0, [r4, #0] - 154be: 3078 adds r0, #120 ; 0x78 - 154c0: 2200 movs r2, #0 - 154c2: 4918 ldr r1, [pc, #96] ; (15524 ) - 154c4: 47a8 blx r5 + 15522: 4c0a ldr r4, [pc, #40] ; (1554c ) + 15524: 6820 ldr r0, [r4, #0] + 15526: 3078 adds r0, #120 ; 0x78 + 15528: 2200 movs r2, #0 + 1552a: 4918 ldr r1, [pc, #96] ; (1558c ) + 1552c: 47a8 blx r5 lv_style_set_transform_width(&styles->list_btn, LV_STATE_CHECKED, 0); - 154c6: 6820 ldr r0, [r4, #0] - 154c8: 3078 adds r0, #120 ; 0x78 - 154ca: 2200 movs r2, #0 - 154cc: 2182 movs r1, #130 ; 0x82 - 154ce: 0049 lsls r1, r1, #1 - 154d0: 47a8 blx r5 - 154d2: e029 b.n 15528 - 154d4: 0001242d .word 0x0001242d - 154d8: 20004c3c .word 0x20004c3c - 154dc: 00008089 .word 0x00008089 - 154e0: 00004ded .word 0x00004ded - 154e4: 20004c38 .word 0x20004c38 - 154e8: 00004f4d .word 0x00004f4d - 154ec: 0001ca0c .word 0x0001ca0c - 154f0: 0000f5fd .word 0x0000f5fd - 154f4: 00004c8d .word 0x00004c8d - 154f8: 00001029 .word 0x00001029 - 154fc: 00002029 .word 0x00002029 - 15500: 00010275 .word 0x00010275 - 15504: 00001129 .word 0x00001129 - 15508: 00008189 .word 0x00008189 - 1550c: 0000a089 .word 0x0000a089 - 15510: 000080a9 .word 0x000080a9 - 15514: 000081a9 .word 0x000081a9 - 15518: 0000a0a9 .word 0x0000a0a9 - 1551c: 00000239 .word 0x00000239 - 15520: 0000f619 .word 0x0000f619 - 15524: 00001004 .word 0x00001004 + 1552e: 6820 ldr r0, [r4, #0] + 15530: 3078 adds r0, #120 ; 0x78 + 15532: 2200 movs r2, #0 + 15534: 2182 movs r1, #130 ; 0x82 + 15536: 0049 lsls r1, r1, #1 + 15538: 47a8 blx r5 + 1553a: e029 b.n 15590 + 1553c: 00012495 .word 0x00012495 + 15540: 20004c3c .word 0x20004c3c + 15544: 00008089 .word 0x00008089 + 15548: 00004e55 .word 0x00004e55 + 1554c: 20004c38 .word 0x20004c38 + 15550: 00004fb5 .word 0x00004fb5 + 15554: 0001ca9c .word 0x0001ca9c + 15558: 0000f665 .word 0x0000f665 + 1555c: 00004cf5 .word 0x00004cf5 + 15560: 00001029 .word 0x00001029 + 15564: 00002029 .word 0x00002029 + 15568: 000102dd .word 0x000102dd + 1556c: 00001129 .word 0x00001129 + 15570: 00008189 .word 0x00008189 + 15574: 0000a089 .word 0x0000a089 + 15578: 000080a9 .word 0x000080a9 + 1557c: 000081a9 .word 0x000081a9 + 15580: 0000a0a9 .word 0x0000a0a9 + 15584: 00000239 .word 0x00000239 + 15588: 0000f681 .word 0x0000f681 + 1558c: 00001004 .word 0x00001004 lv_style_set_transform_width(&styles->list_btn, LV_STATE_DISABLED, 0); - 15528: 6820 ldr r0, [r4, #0] - 1552a: 3078 adds r0, #120 ; 0x78 - 1552c: 2200 movs r2, #0 - 1552e: 49fa ldr r1, [pc, #1000] ; (15918 ) - 15530: 47a8 blx r5 + 15590: 6820 ldr r0, [r4, #0] + 15592: 3078 adds r0, #120 ; 0x78 + 15594: 2200 movs r2, #0 + 15596: 49fa ldr r1, [pc, #1000] ; (15980 ) + 15598: 47a8 blx r5 lv_style_set_transition_time(&styles->list_btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 15532: 6820 ldr r0, [r4, #0] - 15534: 3078 adds r0, #120 ; 0x78 + 1559a: 6820 ldr r0, [r4, #0] + 1559c: 3078 adds r0, #120 ; 0x78 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 15536: 2296 movs r2, #150 ; 0x96 - 15538: 21b0 movs r1, #176 ; 0xb0 - 1553a: 47a8 blx r5 + 1559e: 2296 movs r2, #150 ; 0x96 + 155a0: 21b0 movs r1, #176 ; 0xb0 + 155a2: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 1553c: 6820 ldr r0, [r4, #0] - 1553e: 3078 adds r0, #120 ; 0x78 + 155a4: 6820 ldr r0, [r4, #0] + 155a6: 3078 adds r0, #120 ; 0x78 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 15540: 2229 movs r2, #41 ; 0x29 - 15542: 21b7 movs r1, #183 ; 0xb7 - 15544: 47a8 blx r5 + 155a8: 2229 movs r2, #41 ; 0x29 + 155aa: 21b7 movs r1, #183 ; 0xb7 + 155ac: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_TRANSFORM_WIDTH); - 15546: 6820 ldr r0, [r4, #0] - 15548: 3078 adds r0, #120 ; 0x78 + 155ae: 6820 ldr r0, [r4, #0] + 155b0: 3078 adds r0, #120 ; 0x78 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 1554a: 2204 movs r2, #4 - 1554c: 21b6 movs r1, #182 ; 0xb6 - 1554e: 47a8 blx r5 + 155b2: 2204 movs r2, #4 + 155b4: 21b6 movs r1, #182 ; 0xb6 + 155b6: 47a8 blx r5 style_init_reset(&styles->ddlist_page); - 15550: 6820 ldr r0, [r4, #0] - 15552: 3054 adds r0, #84 ; 0x54 - 15554: 4bf1 ldr r3, [pc, #964] ; (1591c ) - 15556: 4798 blx r3 + 155b8: 6820 ldr r0, [r4, #0] + 155ba: 3054 adds r0, #84 ; 0x54 + 155bc: 4bf1 ldr r3, [pc, #964] ; (15984 ) + 155be: 4798 blx r3 lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20)); - 15558: 6824 ldr r4, [r4, #0] - 1555a: 3454 adds r4, #84 ; 0x54 - 1555c: 2000 movs r0, #0 - 1555e: 4bf0 ldr r3, [pc, #960] ; (15920 ) - 15560: 4798 blx r3 - 15562: 0083 lsls r3, r0, #2 - 15564: 181b adds r3, r3, r0 - 15566: 009b lsls r3, r3, #2 - 15568: 3350 adds r3, #80 ; 0x50 - 1556a: 2140 movs r1, #64 ; 0x40 - 1556c: 31ff adds r1, #255 ; 0xff - 1556e: 2201 movs r2, #1 - 15570: 428b cmp r3, r1 - 15572: d901 bls.n 15578 - 15574: f000 ffcd bl 16512 + 155c0: 6824 ldr r4, [r4, #0] + 155c2: 3454 adds r4, #84 ; 0x54 + 155c4: 2000 movs r0, #0 + 155c6: 4bf0 ldr r3, [pc, #960] ; (15988 ) + 155c8: 4798 blx r3 + 155ca: 0083 lsls r3, r0, #2 + 155cc: 181b adds r3, r3, r0 + 155ce: 009b lsls r3, r3, #2 + 155d0: 3350 adds r3, #80 ; 0x50 + 155d2: 2140 movs r1, #64 ; 0x40 + 155d4: 31ff adds r1, #255 ; 0xff + 155d6: 2201 movs r2, #1 + 155d8: 428b cmp r3, r1 + 155da: d901 bls.n 155e0 + 155dc: f000 ffcd bl 1657a _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 15578: 49ea ldr r1, [pc, #936] ; (15924 ) - 1557a: 0020 movs r0, r4 - 1557c: 4dea ldr r5, [pc, #936] ; (15928 ) - 1557e: 47a8 blx r5 + 155e0: 49ea ldr r1, [pc, #936] ; (1598c ) + 155e2: 0020 movs r0, r4 + 155e4: 4dea ldr r5, [pc, #936] ; (15990 ) + 155e6: 47a8 blx r5 lv_style_set_clip_corner(&styles->ddlist_page, LV_STATE_DEFAULT, true); - 15580: 4cea ldr r4, [pc, #936] ; (1592c ) - 15582: 6820 ldr r0, [r4, #0] - 15584: 3054 adds r0, #84 ; 0x54 + 155e8: 4cea ldr r4, [pc, #936] ; (15994 ) + 155ea: 6820 ldr r0, [r4, #0] + 155ec: 3054 adds r0, #84 ; 0x54 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 15586: 2201 movs r2, #1 - 15588: 2102 movs r1, #2 - 1558a: 47a8 blx r5 + 155ee: 2201 movs r2, #1 + 155f0: 2102 movs r1, #2 + 155f2: 47a8 blx r5 style_init_reset(&styles->ddlist_sel); - 1558c: 6820 ldr r0, [r4, #0] - 1558e: 3058 adds r0, #88 ; 0x58 - 15590: 4be2 ldr r3, [pc, #904] ; (1591c ) - 15592: 4798 blx r3 + 155f4: 6820 ldr r0, [r4, #0] + 155f6: 3058 adds r0, #88 ; 0x58 + 155f8: 4be2 ldr r3, [pc, #904] ; (15984 ) + 155fa: 4798 blx r3 lv_style_set_bg_opa(&styles->ddlist_sel, LV_STATE_DEFAULT, LV_OPA_COVER); - 15594: 6820 ldr r0, [r4, #0] - 15596: 3058 adds r0, #88 ; 0x58 + 155fc: 6820 ldr r0, [r4, #0] + 155fe: 3058 adds r0, #88 ; 0x58 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15598: 22ff movs r2, #255 ; 0xff - 1559a: 212c movs r1, #44 ; 0x2c - 1559c: 4be4 ldr r3, [pc, #912] ; (15930 ) - 1559e: 4798 blx r3 + 15600: 22ff movs r2, #255 ; 0xff + 15602: 212c movs r1, #44 ; 0x2c + 15604: 4be4 ldr r3, [pc, #912] ; (15998 ) + 15606: 4798 blx r3 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_DEFAULT, theme.color_primary); - 155a0: 6820 ldr r0, [r4, #0] - 155a2: 3058 adds r0, #88 ; 0x58 - 155a4: 4de3 ldr r5, [pc, #908] ; (15934 ) - 155a6: 88aa ldrh r2, [r5, #4] + 15608: 6820 ldr r0, [r4, #0] + 1560a: 3058 adds r0, #88 ; 0x58 + 1560c: 4de3 ldr r5, [pc, #908] ; (1599c ) + 1560e: 88aa ldrh r2, [r5, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 155a8: 2129 movs r1, #41 ; 0x29 - 155aa: 4ee3 ldr r6, [pc, #908] ; (15938 ) - 155ac: 47b0 blx r6 + 15610: 2129 movs r1, #41 ; 0x29 + 15612: 4ee3 ldr r6, [pc, #908] ; (159a0 ) + 15614: 47b0 blx r6 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex3(0xfff) : lv_color_hex3(0xfff)); - 155ae: 6820 ldr r0, [r4, #0] - 155b0: 3058 adds r0, #88 ; 0x58 - 155b2: 2201 movs r2, #1 - 155b4: 4252 negs r2, r2 + 15616: 6820 ldr r0, [r4, #0] + 15618: 3058 adds r0, #88 ; 0x58 + 1561a: 2201 movs r2, #1 + 1561c: 4252 negs r2, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 155b6: 49e1 ldr r1, [pc, #900] ; (1593c ) - 155b8: 47b0 blx r6 + 1561e: 49e1 ldr r1, [pc, #900] ; (159a4 ) + 15620: 47b0 blx r6 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR); - 155ba: 6820 ldr r0, [r4, #0] - 155bc: 3058 adds r0, #88 ; 0x58 - 155be: 69ab ldr r3, [r5, #24] - 155c0: 079b lsls r3, r3, #30 - 155c2: d501 bpl.n 155c8 - 155c4: f000 ffb3 bl 1652e - 155c8: 2309 movs r3, #9 - 155ca: 2113 movs r1, #19 - 155cc: 220a movs r2, #10 - 155ce: 0149 lsls r1, r1, #5 - 155d0: 02db lsls r3, r3, #11 - 155d2: 430a orrs r2, r1 - 155d4: 431a orrs r2, r3 + 15622: 6820 ldr r0, [r4, #0] + 15624: 3058 adds r0, #88 ; 0x58 + 15626: 69ab ldr r3, [r5, #24] + 15628: 079b lsls r3, r3, #30 + 1562a: d501 bpl.n 15630 + 1562c: f000 ffb3 bl 16596 + 15630: 2309 movs r3, #9 + 15632: 2113 movs r1, #19 + 15634: 220a movs r2, #10 + 15636: 0149 lsls r1, r1, #5 + 15638: 02db lsls r3, r3, #11 + 1563a: 430a orrs r2, r1 + 1563c: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 155d6: 49da ldr r1, [pc, #872] ; (15940 ) - 155d8: 4bd7 ldr r3, [pc, #860] ; (15938 ) - 155da: 4798 blx r3 + 1563e: 49da ldr r1, [pc, #872] ; (159a8 ) + 15640: 4bd7 ldr r3, [pc, #860] ; (159a0 ) + 15642: 4798 blx r3 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 155dc: 4bd3 ldr r3, [pc, #844] ; (1592c ) - 155de: 6818 ldr r0, [r3, #0] - 155e0: 3058 adds r0, #88 ; 0x58 - 155e2: 4bd4 ldr r3, [pc, #848] ; (15934 ) - 155e4: 699b ldr r3, [r3, #24] - 155e6: 079b lsls r3, r3, #30 - 155e8: d501 bpl.n 155ee - 155ea: f000 ffa5 bl 16538 - 155ee: 231f movs r3, #31 - 155f0: 213f movs r1, #63 ; 0x3f - 155f2: 221f movs r2, #31 - 155f4: 0149 lsls r1, r1, #5 - 155f6: 02db lsls r3, r3, #11 - 155f8: 430a orrs r2, r1 - 155fa: 431a orrs r2, r3 + 15644: 4bd3 ldr r3, [pc, #844] ; (15994 ) + 15646: 6818 ldr r0, [r3, #0] + 15648: 3058 adds r0, #88 ; 0x58 + 1564a: 4bd4 ldr r3, [pc, #848] ; (1599c ) + 1564c: 699b ldr r3, [r3, #24] + 1564e: 079b lsls r3, r3, #30 + 15650: d501 bpl.n 15656 + 15652: f000 ffa5 bl 165a0 + 15656: 231f movs r3, #31 + 15658: 213f movs r1, #63 ; 0x3f + 1565a: 221f movs r2, #31 + 1565c: 0149 lsls r1, r1, #5 + 1565e: 02db lsls r3, r3, #11 + 15660: 430a orrs r2, r1 + 15662: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 155fc: 49d1 ldr r1, [pc, #836] ; (15944 ) - 155fe: 4bce ldr r3, [pc, #824] ; (15938 ) - 15600: 4798 blx r3 + 15664: 49d1 ldr r1, [pc, #836] ; (159ac ) + 15666: 4bce ldr r3, [pc, #824] ; (159a0 ) + 15668: 4798 blx r3 style_init_reset(&styles->roller_bg); - 15602: 4cca ldr r4, [pc, #808] ; (1592c ) - 15604: 6820 ldr r0, [r4, #0] - 15606: 3088 adds r0, #136 ; 0x88 - 15608: 4bc4 ldr r3, [pc, #784] ; (1591c ) - 1560a: 4798 blx r3 + 1566a: 4cca ldr r4, [pc, #808] ; (15994 ) + 1566c: 6820 ldr r0, [r4, #0] + 1566e: 3088 adds r0, #136 ; 0x88 + 15670: 4bc4 ldr r3, [pc, #784] ; (15984 ) + 15672: 4798 blx r3 lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 1560c: 6824 ldr r4, [r4, #0] - 1560e: 3488 adds r4, #136 ; 0x88 - 15610: 2000 movs r0, #0 - 15612: 4bc3 ldr r3, [pc, #780] ; (15920 ) - 15614: 4798 blx r3 - 15616: 0083 lsls r3, r0, #2 - 15618: 1818 adds r0, r3, r0 - 1561a: 0083 lsls r3, r0, #2 - 1561c: 18c0 adds r0, r0, r3 - 1561e: 3050 adds r0, #80 ; 0x50 - 15620: 2340 movs r3, #64 ; 0x40 - 15622: 33ff adds r3, #255 ; 0xff - 15624: 2201 movs r2, #1 - 15626: 4298 cmp r0, r3 - 15628: d901 bls.n 1562e - 1562a: f000 ff8a bl 16542 + 15674: 6824 ldr r4, [r4, #0] + 15676: 3488 adds r4, #136 ; 0x88 + 15678: 2000 movs r0, #0 + 1567a: 4bc3 ldr r3, [pc, #780] ; (15988 ) + 1567c: 4798 blx r3 + 1567e: 0083 lsls r3, r0, #2 + 15680: 1818 adds r0, r3, r0 + 15682: 0083 lsls r3, r0, #2 + 15684: 18c0 adds r0, r0, r3 + 15686: 3050 adds r0, #80 ; 0x50 + 15688: 2340 movs r3, #64 ; 0x40 + 1568a: 33ff adds r3, #255 ; 0xff + 1568c: 2201 movs r2, #1 + 1568e: 4298 cmp r0, r3 + 15690: d901 bls.n 15696 + 15692: f000 ff8a bl 165aa _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 1562e: 49bd ldr r1, [pc, #756] ; (15924 ) - 15630: 0020 movs r0, r4 - 15632: 4bbd ldr r3, [pc, #756] ; (15928 ) - 15634: 4798 blx r3 + 15696: 49bd ldr r1, [pc, #756] ; (1598c ) + 15698: 0020 movs r0, r4 + 1569a: 4bbd ldr r3, [pc, #756] ; (15990 ) + 1569c: 4798 blx r3 style_init_reset(&styles->roller_sel); - 15636: 4cbd ldr r4, [pc, #756] ; (1592c ) - 15638: 6820 ldr r0, [r4, #0] - 1563a: 308c adds r0, #140 ; 0x8c - 1563c: 4fb7 ldr r7, [pc, #732] ; (1591c ) - 1563e: 47b8 blx r7 + 1569e: 4cbd ldr r4, [pc, #756] ; (15994 ) + 156a0: 6820 ldr r0, [r4, #0] + 156a2: 308c adds r0, #140 ; 0x8c + 156a4: 4fb7 ldr r7, [pc, #732] ; (15984 ) + 156a6: 47b8 blx r7 lv_style_set_bg_opa(&styles->roller_sel, LV_STATE_DEFAULT, LV_OPA_COVER); - 15640: 6820 ldr r0, [r4, #0] - 15642: 308c adds r0, #140 ; 0x8c + 156a8: 6820 ldr r0, [r4, #0] + 156aa: 308c adds r0, #140 ; 0x8c _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15644: 22ff movs r2, #255 ; 0xff - 15646: 212c movs r1, #44 ; 0x2c - 15648: 4eb9 ldr r6, [pc, #740] ; (15930 ) - 1564a: 47b0 blx r6 + 156ac: 22ff movs r2, #255 ; 0xff + 156ae: 212c movs r1, #44 ; 0x2c + 156b0: 4eb9 ldr r6, [pc, #740] ; (15998 ) + 156b2: 47b0 blx r6 lv_style_set_bg_color(&styles->roller_sel, LV_STATE_DEFAULT, theme.color_primary); - 1564c: 6820 ldr r0, [r4, #0] - 1564e: 308c adds r0, #140 ; 0x8c - 15650: 4db8 ldr r5, [pc, #736] ; (15934 ) - 15652: 88aa ldrh r2, [r5, #4] + 156b4: 6820 ldr r0, [r4, #0] + 156b6: 308c adds r0, #140 ; 0x8c + 156b8: 4db8 ldr r5, [pc, #736] ; (1599c ) + 156ba: 88aa ldrh r2, [r5, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15654: 2129 movs r1, #41 ; 0x29 - 15656: 4bb8 ldr r3, [pc, #736] ; (15938 ) - 15658: 4698 mov r8, r3 - 1565a: 4798 blx r3 + 156bc: 2129 movs r1, #41 ; 0x29 + 156be: 4bb8 ldr r3, [pc, #736] ; (159a0 ) + 156c0: 4698 mov r8, r3 + 156c2: 4798 blx r3 lv_style_set_text_color(&styles->roller_sel, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 1565c: 6820 ldr r0, [r4, #0] - 1565e: 308c adds r0, #140 ; 0x8c - 15660: 4bb9 ldr r3, [pc, #740] ; (15948 ) - 15662: 881a ldrh r2, [r3, #0] + 156c4: 6820 ldr r0, [r4, #0] + 156c6: 308c adds r0, #140 ; 0x8c + 156c8: 4bb9 ldr r3, [pc, #740] ; (159b0 ) + 156ca: 881a ldrh r2, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15664: 49b5 ldr r1, [pc, #724] ; (1593c ) - 15666: 47c0 blx r8 + 156cc: 49b5 ldr r1, [pc, #724] ; (159a4 ) + 156ce: 47c0 blx r8 style_init_reset(&styles->tabview_btns_bg); - 15668: 6820 ldr r0, [r4, #0] - 1566a: 30a8 adds r0, #168 ; 0xa8 - 1566c: 47b8 blx r7 + 156d0: 6820 ldr r0, [r4, #0] + 156d2: 30a8 adds r0, #168 ; 0xa8 + 156d4: 47b8 blx r7 lv_style_set_bg_opa(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 1566e: 6820 ldr r0, [r4, #0] - 15670: 30a8 adds r0, #168 ; 0xa8 + 156d6: 6820 ldr r0, [r4, #0] + 156d8: 30a8 adds r0, #168 ; 0xa8 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15672: 22ff movs r2, #255 ; 0xff - 15674: 212c movs r1, #44 ; 0x2c - 15676: 47b0 blx r6 + 156da: 22ff movs r2, #255 ; 0xff + 156dc: 212c movs r1, #44 ; 0x2c + 156de: 47b0 blx r6 lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG); - 15678: 6820 ldr r0, [r4, #0] - 1567a: 30a8 adds r0, #168 ; 0xa8 - 1567c: 69ab ldr r3, [r5, #24] - 1567e: 079b lsls r3, r3, #30 - 15680: d501 bpl.n 15686 - 15682: f000 ff6c bl 1655e - 15686: 230b movs r3, #11 - 15688: 2118 movs r1, #24 - 1568a: 220e movs r2, #14 - 1568c: 0149 lsls r1, r1, #5 - 1568e: 02db lsls r3, r3, #11 - 15690: 430a orrs r2, r1 - 15692: 431a orrs r2, r3 + 156e0: 6820 ldr r0, [r4, #0] + 156e2: 30a8 adds r0, #168 ; 0xa8 + 156e4: 69ab ldr r3, [r5, #24] + 156e6: 079b lsls r3, r3, #30 + 156e8: d501 bpl.n 156ee + 156ea: f000 ff6c bl 165c6 + 156ee: 230b movs r3, #11 + 156f0: 2118 movs r1, #24 + 156f2: 220e movs r2, #14 + 156f4: 0149 lsls r1, r1, #5 + 156f6: 02db lsls r3, r3, #11 + 156f8: 430a orrs r2, r1 + 156fa: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15694: 2129 movs r1, #41 ; 0x29 - 15696: 4ba8 ldr r3, [pc, #672] ; (15938 ) - 15698: 4798 blx r3 + 156fc: 2129 movs r1, #41 ; 0x29 + 156fe: 4ba8 ldr r3, [pc, #672] ; (159a0 ) + 15700: 4798 blx r3 lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, - 1569a: 4ba4 ldr r3, [pc, #656] ; (1592c ) - 1569c: 6818 ldr r0, [r3, #0] - 1569e: 30a8 adds r0, #168 ; 0xa8 + 15702: 4ba4 ldr r3, [pc, #656] ; (15994 ) + 15704: 6818 ldr r0, [r3, #0] + 15706: 30a8 adds r0, #168 ; 0xa8 IS_LIGHT ? lv_color_hex(0xe4eaf0) : lv_color_hex(0x3b3e42)); - 156a0: 4ba4 ldr r3, [pc, #656] ; (15934 ) - 156a2: 699b ldr r3, [r3, #24] + 15708: 4ba4 ldr r3, [pc, #656] ; (1599c ) + 1570a: 699b ldr r3, [r3, #24] lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, - 156a4: 079b lsls r3, r3, #30 - 156a6: d501 bpl.n 156ac - 156a8: f000 ff5e bl 16568 - 156ac: 2307 movs r3, #7 - 156ae: 210f movs r1, #15 - 156b0: 2208 movs r2, #8 - 156b2: 0149 lsls r1, r1, #5 - 156b4: 02db lsls r3, r3, #11 - 156b6: 430a orrs r2, r1 - 156b8: 431a orrs r2, r3 + 1570c: 079b lsls r3, r3, #30 + 1570e: d501 bpl.n 15714 + 15710: f000 ff5e bl 165d0 + 15714: 2307 movs r3, #7 + 15716: 210f movs r1, #15 + 15718: 2208 movs r2, #8 + 1571a: 0149 lsls r1, r1, #5 + 1571c: 02db lsls r3, r3, #11 + 1571e: 430a orrs r2, r1 + 15720: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 156ba: 2139 movs r1, #57 ; 0x39 - 156bc: 4b9e ldr r3, [pc, #632] ; (15938 ) - 156be: 4798 blx r3 + 15722: 2139 movs r1, #57 ; 0x39 + 15724: 4b9e ldr r3, [pc, #632] ; (159a0 ) + 15726: 4798 blx r3 lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 156c0: 4b9a ldr r3, [pc, #616] ; (1592c ) - 156c2: 681c ldr r4, [r3, #0] - 156c4: 34a8 adds r4, #168 ; 0xa8 - 156c6: 2000 movs r0, #0 - 156c8: 4b95 ldr r3, [pc, #596] ; (15920 ) - 156ca: 4798 blx r3 - 156cc: 0083 lsls r3, r0, #2 - 156ce: 1818 adds r0, r3, r0 - 156d0: 3050 adds r0, #80 ; 0x50 - 156d2: 2340 movs r3, #64 ; 0x40 - 156d4: 33ff adds r3, #255 ; 0xff - 156d6: 2201 movs r2, #1 - 156d8: 4298 cmp r0, r3 - 156da: d901 bls.n 156e0 - 156dc: f000 ff4e bl 1657c + 15728: 4b9a ldr r3, [pc, #616] ; (15994 ) + 1572a: 681c ldr r4, [r3, #0] + 1572c: 34a8 adds r4, #168 ; 0xa8 + 1572e: 2000 movs r0, #0 + 15730: 4b95 ldr r3, [pc, #596] ; (15988 ) + 15732: 4798 blx r3 + 15734: 0083 lsls r3, r0, #2 + 15736: 1818 adds r0, r3, r0 + 15738: 3050 adds r0, #80 ; 0x50 + 1573a: 2340 movs r3, #64 ; 0x40 + 1573c: 33ff adds r3, #255 ; 0xff + 1573e: 2201 movs r2, #1 + 15740: 4298 cmp r0, r3 + 15742: d901 bls.n 15748 + 15744: f000 ff4e bl 165e4 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 156e0: 2130 movs r1, #48 ; 0x30 - 156e2: 0020 movs r0, r4 - 156e4: 4d90 ldr r5, [pc, #576] ; (15928 ) - 156e6: 47a8 blx r5 + 15748: 2130 movs r1, #48 ; 0x30 + 1574a: 0020 movs r0, r4 + 1574c: 4d90 ldr r5, [pc, #576] ; (15990 ) + 1574e: 47a8 blx r5 lv_style_set_border_side(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM); - 156e8: 4c90 ldr r4, [pc, #576] ; (1592c ) - 156ea: 6820 ldr r0, [r4, #0] - 156ec: 30a8 adds r0, #168 ; 0xa8 + 15750: 4c90 ldr r4, [pc, #576] ; (15994 ) + 15752: 6820 ldr r0, [r4, #0] + 15754: 30a8 adds r0, #168 ; 0xa8 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 156ee: 2201 movs r2, #1 - 156f0: 2131 movs r1, #49 ; 0x31 - 156f2: 47a8 blx r5 + 15756: 2201 movs r2, #1 + 15758: 2131 movs r1, #49 ; 0x31 + 1575a: 47a8 blx r5 lv_style_set_text_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 156f4: 6820 ldr r0, [r4, #0] - 156f6: 30a8 adds r0, #168 ; 0xa8 - 156f8: 4b8e ldr r3, [pc, #568] ; (15934 ) - 156fa: 699b ldr r3, [r3, #24] - 156fc: 079b lsls r3, r3, #30 - 156fe: d501 bpl.n 15704 - 15700: f000 ff49 bl 16596 - 15704: 231c movs r3, #28 - 15706: 213a movs r1, #58 ; 0x3a - 15708: 221d movs r2, #29 - 1570a: 0149 lsls r1, r1, #5 - 1570c: 02db lsls r3, r3, #11 - 1570e: 430a orrs r2, r1 - 15710: 431a orrs r2, r3 + 1575c: 6820 ldr r0, [r4, #0] + 1575e: 30a8 adds r0, #168 ; 0xa8 + 15760: 4b8e ldr r3, [pc, #568] ; (1599c ) + 15762: 699b ldr r3, [r3, #24] + 15764: 079b lsls r3, r3, #30 + 15766: d501 bpl.n 1576c + 15768: f000 ff49 bl 165fe + 1576c: 231c movs r3, #28 + 1576e: 213a movs r1, #58 ; 0x3a + 15770: 221d movs r2, #29 + 15772: 0149 lsls r1, r1, #5 + 15774: 02db lsls r3, r3, #11 + 15776: 430a orrs r2, r1 + 15778: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15712: 498a ldr r1, [pc, #552] ; (1593c ) - 15714: 4d88 ldr r5, [pc, #544] ; (15938 ) - 15716: 47a8 blx r5 + 1577a: 498a ldr r1, [pc, #552] ; (159a4 ) + 1577c: 4d88 ldr r5, [pc, #544] ; (159a0 ) + 1577e: 47a8 blx r5 lv_style_set_text_font(&styles->tabview_btns_bg, LV_STATE_DEFAULT, theme.font_normal); - 15718: 4b86 ldr r3, [pc, #536] ; (15934 ) + 15780: 4b86 ldr r3, [pc, #536] ; (1599c ) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 1571a: 68da ldr r2, [r3, #12] - 1571c: 4c83 ldr r4, [pc, #524] ; (1592c ) - 1571e: 6820 ldr r0, [r4, #0] - 15720: 30a8 adds r0, #168 ; 0xa8 - 15722: 498a ldr r1, [pc, #552] ; (1594c ) - 15724: 4b8a ldr r3, [pc, #552] ; (15950 ) - 15726: 4798 blx r3 + 15782: 68da ldr r2, [r3, #12] + 15784: 4c83 ldr r4, [pc, #524] ; (15994 ) + 15786: 6820 ldr r0, [r4, #0] + 15788: 30a8 adds r0, #168 ; 0xa8 + 1578a: 498a ldr r1, [pc, #552] ; (159b4 ) + 1578c: 4b8a ldr r3, [pc, #552] ; (159b8 ) + 1578e: 4798 blx r3 lv_style_set_image_recolor(&styles->tabview_btns_bg, LV_STATE_DEFAULT, lv_color_hex(0x979a9f)); - 15728: 6820 ldr r0, [r4, #0] - 1572a: 30a8 adds r0, #168 ; 0xa8 + 15790: 6820 ldr r0, [r4, #0] + 15792: 30a8 adds r0, #168 ; 0xa8 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 1572c: 4b89 ldr r3, [pc, #548] ; (15954 ) - 1572e: 881a ldrh r2, [r3, #0] - 15730: 4989 ldr r1, [pc, #548] ; (15958 ) - 15732: 47a8 blx r5 + 15794: 4b89 ldr r3, [pc, #548] ; (159bc ) + 15796: 881a ldrh r2, [r3, #0] + 15798: 4989 ldr r1, [pc, #548] ; (159c0 ) + 1579a: 47a8 blx r5 lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 15734: 6824 ldr r4, [r4, #0] - 15736: 34a8 adds r4, #168 ; 0xa8 - 15738: 2000 movs r0, #0 - 1573a: 4b79 ldr r3, [pc, #484] ; (15920 ) - 1573c: 4798 blx r3 - 1573e: 00c3 lsls r3, r0, #3 - 15740: 1a18 subs r0, r3, r0 - 15742: 3050 adds r0, #80 ; 0x50 - 15744: 2340 movs r3, #64 ; 0x40 - 15746: 33ff adds r3, #255 ; 0xff - 15748: 2201 movs r2, #1 - 1574a: 4298 cmp r0, r3 - 1574c: d901 bls.n 15752 - 1574e: f000 ff27 bl 165a0 + 1579c: 6824 ldr r4, [r4, #0] + 1579e: 34a8 adds r4, #168 ; 0xa8 + 157a0: 2000 movs r0, #0 + 157a2: 4b79 ldr r3, [pc, #484] ; (15988 ) + 157a4: 4798 blx r3 + 157a6: 00c3 lsls r3, r0, #3 + 157a8: 1a18 subs r0, r3, r0 + 157aa: 3050 adds r0, #80 ; 0x50 + 157ac: 2340 movs r3, #64 ; 0x40 + 157ae: 33ff adds r3, #255 ; 0xff + 157b0: 2201 movs r2, #1 + 157b2: 4298 cmp r0, r3 + 157b4: d901 bls.n 157ba + 157b6: f000 ff27 bl 16608 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15752: 2110 movs r1, #16 - 15754: 0020 movs r0, r4 - 15756: 4b74 ldr r3, [pc, #464] ; (15928 ) - 15758: 4798 blx r3 + 157ba: 2110 movs r1, #16 + 157bc: 0020 movs r0, r4 + 157be: 4b74 ldr r3, [pc, #464] ; (15990 ) + 157c0: 4798 blx r3 lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 1575a: 4b74 ldr r3, [pc, #464] ; (1592c ) - 1575c: 681c ldr r4, [r3, #0] - 1575e: 34a8 adds r4, #168 ; 0xa8 - 15760: 2000 movs r0, #0 - 15762: 4b6f ldr r3, [pc, #444] ; (15920 ) - 15764: 4798 blx r3 - 15766: 00c3 lsls r3, r0, #3 - 15768: 1a18 subs r0, r3, r0 - 1576a: 3050 adds r0, #80 ; 0x50 - 1576c: 2340 movs r3, #64 ; 0x40 - 1576e: 33ff adds r3, #255 ; 0xff - 15770: 2201 movs r2, #1 - 15772: 4298 cmp r0, r3 - 15774: d901 bls.n 1577a - 15776: f000 ff1f bl 165b8 + 157c2: 4b74 ldr r3, [pc, #464] ; (15994 ) + 157c4: 681c ldr r4, [r3, #0] + 157c6: 34a8 adds r4, #168 ; 0xa8 + 157c8: 2000 movs r0, #0 + 157ca: 4b6f ldr r3, [pc, #444] ; (15988 ) + 157cc: 4798 blx r3 + 157ce: 00c3 lsls r3, r0, #3 + 157d0: 1a18 subs r0, r3, r0 + 157d2: 3050 adds r0, #80 ; 0x50 + 157d4: 2340 movs r3, #64 ; 0x40 + 157d6: 33ff adds r3, #255 ; 0xff + 157d8: 2201 movs r2, #1 + 157da: 4298 cmp r0, r3 + 157dc: d901 bls.n 157e2 + 157de: f000 ff1f bl 16620 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1577a: 2112 movs r1, #18 - 1577c: 0020 movs r0, r4 - 1577e: 4b6a ldr r3, [pc, #424] ; (15928 ) - 15780: 4798 blx r3 + 157e2: 2112 movs r1, #18 + 157e4: 0020 movs r0, r4 + 157e6: 4b6a ldr r3, [pc, #424] ; (15990 ) + 157e8: 4798 blx r3 lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 15782: 4b6a ldr r3, [pc, #424] ; (1592c ) - 15784: 681c ldr r4, [r3, #0] - 15786: 34a8 adds r4, #168 ; 0xa8 - 15788: 2000 movs r0, #0 - 1578a: 4b65 ldr r3, [pc, #404] ; (15920 ) - 1578c: 4798 blx r3 - 1578e: 00c3 lsls r3, r0, #3 - 15790: 1a18 subs r0, r3, r0 - 15792: 3050 adds r0, #80 ; 0x50 - 15794: 2340 movs r3, #64 ; 0x40 - 15796: 33ff adds r3, #255 ; 0xff - 15798: 2201 movs r2, #1 - 1579a: 4298 cmp r0, r3 - 1579c: d901 bls.n 157a2 - 1579e: f000 ff17 bl 165d0 + 157ea: 4b6a ldr r3, [pc, #424] ; (15994 ) + 157ec: 681c ldr r4, [r3, #0] + 157ee: 34a8 adds r4, #168 ; 0xa8 + 157f0: 2000 movs r0, #0 + 157f2: 4b65 ldr r3, [pc, #404] ; (15988 ) + 157f4: 4798 blx r3 + 157f6: 00c3 lsls r3, r0, #3 + 157f8: 1a18 subs r0, r3, r0 + 157fa: 3050 adds r0, #80 ; 0x50 + 157fc: 2340 movs r3, #64 ; 0x40 + 157fe: 33ff adds r3, #255 ; 0xff + 15800: 2201 movs r2, #1 + 15802: 4298 cmp r0, r3 + 15804: d901 bls.n 1580a + 15806: f000 ff17 bl 16638 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 157a2: 2113 movs r1, #19 - 157a4: 0020 movs r0, r4 - 157a6: 4b60 ldr r3, [pc, #384] ; (15928 ) - 157a8: 4798 blx r3 + 1580a: 2113 movs r1, #19 + 1580c: 0020 movs r0, r4 + 1580e: 4b60 ldr r3, [pc, #384] ; (15990 ) + 15810: 4798 blx r3 style_init_reset(&styles->tabview_btns); - 157aa: 4c60 ldr r4, [pc, #384] ; (1592c ) - 157ac: 6820 ldr r0, [r4, #0] - 157ae: 30a4 adds r0, #164 ; 0xa4 - 157b0: 4b5a ldr r3, [pc, #360] ; (1591c ) - 157b2: 4798 blx r3 + 15812: 4c60 ldr r4, [pc, #384] ; (15994 ) + 15814: 6820 ldr r0, [r4, #0] + 15816: 30a4 adds r0, #164 ; 0xa4 + 15818: 4b5a ldr r3, [pc, #360] ; (15984 ) + 1581a: 4798 blx r3 lv_style_set_bg_opa(&styles->tabview_btns, LV_STATE_PRESSED, LV_OPA_50); - 157b4: 6820 ldr r0, [r4, #0] - 157b6: 30a4 adds r0, #164 ; 0xa4 + 1581c: 6820 ldr r0, [r4, #0] + 1581e: 30a4 adds r0, #164 ; 0xa4 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 157b8: 227f movs r2, #127 ; 0x7f - 157ba: 4968 ldr r1, [pc, #416] ; (1595c ) - 157bc: 4b5c ldr r3, [pc, #368] ; (15930 ) - 157be: 4798 blx r3 + 15820: 227f movs r2, #127 ; 0x7f + 15822: 4968 ldr r1, [pc, #416] ; (159c4 ) + 15824: 4b5c ldr r3, [pc, #368] ; (15998 ) + 15826: 4798 blx r3 lv_style_set_bg_color(&styles->tabview_btns, LV_STATE_PRESSED, lv_color_hex3(0x888)); - 157c0: 6820 ldr r0, [r4, #0] - 157c2: 30a4 adds r0, #164 ; 0xa4 + 15828: 6820 ldr r0, [r4, #0] + 1582a: 30a4 adds r0, #164 ; 0xa4 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 157c4: 4b66 ldr r3, [pc, #408] ; (15960 ) - 157c6: 881a ldrh r2, [r3, #0] - 157c8: 495d ldr r1, [pc, #372] ; (15940 ) - 157ca: 4b5b ldr r3, [pc, #364] ; (15938 ) - 157cc: 4798 blx r3 + 1582c: 4b66 ldr r3, [pc, #408] ; (159c8 ) + 1582e: 881a ldrh r2, [r3, #0] + 15830: 495d ldr r1, [pc, #372] ; (159a8 ) + 15832: 4b5b ldr r3, [pc, #364] ; (159a0 ) + 15834: 4798 blx r3 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_CHECKED, COLOR_SCR_TEXT); - 157ce: 6820 ldr r0, [r4, #0] - 157d0: 30a4 adds r0, #164 ; 0xa4 - 157d2: 4b58 ldr r3, [pc, #352] ; (15934 ) - 157d4: 699b ldr r3, [r3, #24] - 157d6: 079b lsls r3, r3, #30 - 157d8: d501 bpl.n 157de - 157da: f000 ff05 bl 165e8 - 157de: 231c movs r3, #28 - 157e0: 213a movs r1, #58 ; 0x3a - 157e2: 221d movs r2, #29 - 157e4: 0149 lsls r1, r1, #5 - 157e6: 02db lsls r3, r3, #11 - 157e8: 430a orrs r2, r1 - 157ea: 431a orrs r2, r3 + 15836: 6820 ldr r0, [r4, #0] + 15838: 30a4 adds r0, #164 ; 0xa4 + 1583a: 4b58 ldr r3, [pc, #352] ; (1599c ) + 1583c: 699b ldr r3, [r3, #24] + 1583e: 079b lsls r3, r3, #30 + 15840: d501 bpl.n 15846 + 15842: f000 ff05 bl 16650 + 15846: 231c movs r3, #28 + 15848: 213a movs r1, #58 ; 0x3a + 1584a: 221d movs r2, #29 + 1584c: 0149 lsls r1, r1, #5 + 1584e: 02db lsls r3, r3, #11 + 15850: 430a orrs r2, r1 + 15852: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 157ec: 495d ldr r1, [pc, #372] ; (15964 ) - 157ee: 4b52 ldr r3, [pc, #328] ; (15938 ) - 157f0: 4798 blx r3 + 15854: 495d ldr r1, [pc, #372] ; (159cc ) + 15856: 4b52 ldr r3, [pc, #328] ; (159a0 ) + 15858: 4798 blx r3 lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 157f2: 4b4e ldr r3, [pc, #312] ; (1592c ) - 157f4: 681c ldr r4, [r3, #0] - 157f6: 34a4 adds r4, #164 ; 0xa4 - 157f8: 2000 movs r0, #0 - 157fa: 4b49 ldr r3, [pc, #292] ; (15920 ) - 157fc: 4798 blx r3 - 157fe: 0083 lsls r3, r0, #2 - 15800: 181b adds r3, r3, r0 - 15802: 009b lsls r3, r3, #2 - 15804: 3350 adds r3, #80 ; 0x50 - 15806: 2140 movs r1, #64 ; 0x40 - 15808: 31ff adds r1, #255 ; 0xff - 1580a: 2201 movs r2, #1 - 1580c: 428b cmp r3, r1 - 1580e: d901 bls.n 15814 - 15810: f000 feef bl 165f2 + 1585a: 4b4e ldr r3, [pc, #312] ; (15994 ) + 1585c: 681c ldr r4, [r3, #0] + 1585e: 34a4 adds r4, #164 ; 0xa4 + 15860: 2000 movs r0, #0 + 15862: 4b49 ldr r3, [pc, #292] ; (15988 ) + 15864: 4798 blx r3 + 15866: 0083 lsls r3, r0, #2 + 15868: 181b adds r3, r3, r0 + 1586a: 009b lsls r3, r3, #2 + 1586c: 3350 adds r3, #80 ; 0x50 + 1586e: 2140 movs r1, #64 ; 0x40 + 15870: 31ff adds r1, #255 ; 0xff + 15872: 2201 movs r2, #1 + 15874: 428b cmp r3, r1 + 15876: d901 bls.n 1587c + 15878: f000 feef bl 1665a _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15814: 2110 movs r1, #16 - 15816: 0020 movs r0, r4 - 15818: 4b43 ldr r3, [pc, #268] ; (15928 ) - 1581a: 4798 blx r3 + 1587c: 2110 movs r1, #16 + 1587e: 0020 movs r0, r4 + 15880: 4b43 ldr r3, [pc, #268] ; (15990 ) + 15882: 4798 blx r3 lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 1581c: 4b43 ldr r3, [pc, #268] ; (1592c ) - 1581e: 681c ldr r4, [r3, #0] - 15820: 34a4 adds r4, #164 ; 0xa4 - 15822: 2000 movs r0, #0 - 15824: 4b3e ldr r3, [pc, #248] ; (15920 ) - 15826: 4798 blx r3 - 15828: 0083 lsls r3, r0, #2 - 1582a: 181b adds r3, r3, r0 - 1582c: 009b lsls r3, r3, #2 - 1582e: 3350 adds r3, #80 ; 0x50 - 15830: 2140 movs r1, #64 ; 0x40 - 15832: 31ff adds r1, #255 ; 0xff - 15834: 2201 movs r2, #1 - 15836: 428b cmp r3, r1 - 15838: d901 bls.n 1583e - 1583a: f000 fee8 bl 1660e + 15884: 4b43 ldr r3, [pc, #268] ; (15994 ) + 15886: 681c ldr r4, [r3, #0] + 15888: 34a4 adds r4, #164 ; 0xa4 + 1588a: 2000 movs r0, #0 + 1588c: 4b3e ldr r3, [pc, #248] ; (15988 ) + 1588e: 4798 blx r3 + 15890: 0083 lsls r3, r0, #2 + 15892: 181b adds r3, r3, r0 + 15894: 009b lsls r3, r3, #2 + 15896: 3350 adds r3, #80 ; 0x50 + 15898: 2140 movs r1, #64 ; 0x40 + 1589a: 31ff adds r1, #255 ; 0xff + 1589c: 2201 movs r2, #1 + 1589e: 428b cmp r3, r1 + 158a0: d901 bls.n 158a6 + 158a2: f000 fee8 bl 16676 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1583e: 2111 movs r1, #17 - 15840: 0020 movs r0, r4 - 15842: 4b39 ldr r3, [pc, #228] ; (15928 ) - 15844: 4798 blx r3 + 158a6: 2111 movs r1, #17 + 158a8: 0020 movs r0, r4 + 158aa: 4b39 ldr r3, [pc, #228] ; (15990 ) + 158ac: 4798 blx r3 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_FOCUSED, theme.color_primary); - 15846: 4c39 ldr r4, [pc, #228] ; (1592c ) - 15848: 6820 ldr r0, [r4, #0] - 1584a: 30a4 adds r0, #164 ; 0xa4 - 1584c: 4e39 ldr r6, [pc, #228] ; (15934 ) - 1584e: 88b2 ldrh r2, [r6, #4] + 158ae: 4c39 ldr r4, [pc, #228] ; (15994 ) + 158b0: 6820 ldr r0, [r4, #0] + 158b2: 30a4 adds r0, #164 ; 0xa4 + 158b4: 4e39 ldr r6, [pc, #228] ; (1599c ) + 158b6: 88b2 ldrh r2, [r6, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15850: 4945 ldr r1, [pc, #276] ; (15968 ) - 15852: 4d39 ldr r5, [pc, #228] ; (15938 ) - 15854: 47a8 blx r5 + 158b8: 4945 ldr r1, [pc, #276] ; (159d0 ) + 158ba: 4d39 ldr r5, [pc, #228] ; (159a0 ) + 158bc: 47a8 blx r5 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_EDITED, theme.color_secondary); - 15856: 6820 ldr r0, [r4, #0] - 15858: 30a4 adds r0, #164 ; 0xa4 - 1585a: 88f2 ldrh r2, [r6, #6] - 1585c: 4943 ldr r1, [pc, #268] ; (1596c ) - 1585e: 47a8 blx r5 + 158be: 6820 ldr r0, [r4, #0] + 158c0: 30a4 adds r0, #164 ; 0xa4 + 158c2: 88f2 ldrh r2, [r6, #6] + 158c4: 4943 ldr r1, [pc, #268] ; (159d4 ) + 158c6: 47a8 blx r5 style_init_reset(&styles->tabview_indic); - 15860: 6820 ldr r0, [r4, #0] - 15862: 30ac adds r0, #172 ; 0xac - 15864: 4b2d ldr r3, [pc, #180] ; (1591c ) - 15866: 4798 blx r3 + 158c8: 6820 ldr r0, [r4, #0] + 158ca: 30ac adds r0, #172 ; 0xac + 158cc: 4b2d ldr r3, [pc, #180] ; (15984 ) + 158ce: 4798 blx r3 lv_style_set_bg_opa(&styles->tabview_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 15868: 6820 ldr r0, [r4, #0] - 1586a: 30ac adds r0, #172 ; 0xac + 158d0: 6820 ldr r0, [r4, #0] + 158d2: 30ac adds r0, #172 ; 0xac _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1586c: 22ff movs r2, #255 ; 0xff - 1586e: 212c movs r1, #44 ; 0x2c - 15870: 4b2f ldr r3, [pc, #188] ; (15930 ) - 15872: 4798 blx r3 + 158d4: 22ff movs r2, #255 ; 0xff + 158d6: 212c movs r1, #44 ; 0x2c + 158d8: 4b2f ldr r3, [pc, #188] ; (15998 ) + 158da: 4798 blx r3 lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_DEFAULT, theme.color_primary); - 15874: 6820 ldr r0, [r4, #0] - 15876: 30ac adds r0, #172 ; 0xac - 15878: 88b2 ldrh r2, [r6, #4] + 158dc: 6820 ldr r0, [r4, #0] + 158de: 30ac adds r0, #172 ; 0xac + 158e0: 88b2 ldrh r2, [r6, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1587a: 2129 movs r1, #41 ; 0x29 - 1587c: 47a8 blx r5 + 158e2: 2129 movs r1, #41 ; 0x29 + 158e4: 47a8 blx r5 lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_EDITED, theme.color_secondary); - 1587e: 6820 ldr r0, [r4, #0] - 15880: 30ac adds r0, #172 ; 0xac - 15882: 88f2 ldrh r2, [r6, #6] - 15884: 493a ldr r1, [pc, #232] ; (15970 ) - 15886: 47a8 blx r5 + 158e6: 6820 ldr r0, [r4, #0] + 158e8: 30ac adds r0, #172 ; 0xac + 158ea: 88f2 ldrh r2, [r6, #6] + 158ec: 493a ldr r1, [pc, #232] ; (159d8 ) + 158ee: 47a8 blx r5 lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); - 15888: 6824 ldr r4, [r4, #0] - 1588a: 34ac adds r4, #172 ; 0xac - 1588c: 2000 movs r0, #0 - 1588e: 4b24 ldr r3, [pc, #144] ; (15920 ) - 15890: 4798 blx r3 - 15892: 0083 lsls r3, r0, #2 - 15894: 1818 adds r0, r3, r0 - 15896: 3050 adds r0, #80 ; 0x50 - 15898: 2340 movs r3, #64 ; 0x40 - 1589a: 33ff adds r3, #255 ; 0xff - 1589c: 2201 movs r2, #1 - 1589e: 4298 cmp r0, r3 - 158a0: d901 bls.n 158a6 - 158a2: f000 fec2 bl 1662a + 158f0: 6824 ldr r4, [r4, #0] + 158f2: 34ac adds r4, #172 ; 0xac + 158f4: 2000 movs r0, #0 + 158f6: 4b24 ldr r3, [pc, #144] ; (15988 ) + 158f8: 4798 blx r3 + 158fa: 0083 lsls r3, r0, #2 + 158fc: 1818 adds r0, r3, r0 + 158fe: 3050 adds r0, #80 ; 0x50 + 15900: 2340 movs r3, #64 ; 0x40 + 15902: 33ff adds r3, #255 ; 0xff + 15904: 2201 movs r2, #1 + 15906: 4298 cmp r0, r3 + 15908: d901 bls.n 1590e + 1590a: f000 fec2 bl 16692 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 158a6: 2103 movs r1, #3 - 158a8: 0020 movs r0, r4 - 158aa: 4d1f ldr r5, [pc, #124] ; (15928 ) - 158ac: 47a8 blx r5 + 1590e: 2103 movs r1, #3 + 15910: 0020 movs r0, r4 + 15912: 4d1f ldr r5, [pc, #124] ; (15990 ) + 15914: 47a8 blx r5 lv_style_set_radius(&styles->tabview_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 158ae: 4c1f ldr r4, [pc, #124] ; (1592c ) - 158b0: 6820 ldr r0, [r4, #0] - 158b2: 30ac adds r0, #172 ; 0xac + 15916: 4c1f ldr r4, [pc, #124] ; (15994 ) + 15918: 6820 ldr r0, [r4, #0] + 1591a: 30ac adds r0, #172 ; 0xac _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 158b4: 4a2f ldr r2, [pc, #188] ; (15974 ) - 158b6: 2101 movs r1, #1 - 158b8: 47a8 blx r5 + 1591c: 4a2f ldr r2, [pc, #188] ; (159dc ) + 1591e: 2101 movs r1, #1 + 15920: 47a8 blx r5 style_init_reset(&styles->tabview_page_scrl); - 158ba: 6820 ldr r0, [r4, #0] - 158bc: 30b0 adds r0, #176 ; 0xb0 - 158be: 4b17 ldr r3, [pc, #92] ; (1591c ) - 158c0: 4798 blx r3 + 15922: 6820 ldr r0, [r4, #0] + 15924: 30b0 adds r0, #176 ; 0xb0 + 15926: 4b17 ldr r3, [pc, #92] ; (15984 ) + 15928: 4798 blx r3 lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 158c2: 6824 ldr r4, [r4, #0] - 158c4: 34b0 adds r4, #176 ; 0xb0 - 158c6: 2000 movs r0, #0 - 158c8: 4b2b ldr r3, [pc, #172] ; (15978 ) - 158ca: 4798 blx r3 - 158cc: 2801 cmp r0, #1 - 158ce: d801 bhi.n 158d4 - 158d0: f000 feb8 bl 16644 - 158d4: 2000 movs r0, #0 - 158d6: 4b12 ldr r3, [pc, #72] ; (15920 ) - 158d8: 4798 blx r3 - 158da: 0103 lsls r3, r0, #4 - 158dc: 1a1b subs r3, r3, r0 - 158de: 005b lsls r3, r3, #1 - 158e0: 3350 adds r3, #80 ; 0x50 - 158e2: 2140 movs r1, #64 ; 0x40 - 158e4: 31ff adds r1, #255 ; 0xff - 158e6: 2201 movs r2, #1 - 158e8: 428b cmp r3, r1 - 158ea: d901 bls.n 158f0 - 158ec: f000 fec3 bl 16676 + 1592a: 6824 ldr r4, [r4, #0] + 1592c: 34b0 adds r4, #176 ; 0xb0 + 1592e: 2000 movs r0, #0 + 15930: 4b2b ldr r3, [pc, #172] ; (159e0 ) + 15932: 4798 blx r3 + 15934: 2801 cmp r0, #1 + 15936: d801 bhi.n 1593c + 15938: f000 feb8 bl 166ac + 1593c: 2000 movs r0, #0 + 1593e: 4b12 ldr r3, [pc, #72] ; (15988 ) + 15940: 4798 blx r3 + 15942: 0103 lsls r3, r0, #4 + 15944: 1a1b subs r3, r3, r0 + 15946: 005b lsls r3, r3, #1 + 15948: 3350 adds r3, #80 ; 0x50 + 1594a: 2140 movs r1, #64 ; 0x40 + 1594c: 31ff adds r1, #255 ; 0xff + 1594e: 2201 movs r2, #1 + 15950: 428b cmp r3, r1 + 15952: d901 bls.n 15958 + 15954: f000 fec3 bl 166de _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 158f0: 2110 movs r1, #16 - 158f2: 0020 movs r0, r4 - 158f4: 4b0c ldr r3, [pc, #48] ; (15928 ) - 158f6: 4798 blx r3 + 15958: 2110 movs r1, #16 + 1595a: 0020 movs r0, r4 + 1595c: 4b0c ldr r3, [pc, #48] ; (15990 ) + 1595e: 4798 blx r3 lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 158f8: 4b0c ldr r3, [pc, #48] ; (1592c ) - 158fa: 681c ldr r4, [r3, #0] - 158fc: 34b0 adds r4, #176 ; 0xb0 - 158fe: 2000 movs r0, #0 - 15900: 4b1d ldr r3, [pc, #116] ; (15978 ) - 15902: 4798 blx r3 - 15904: 2801 cmp r0, #1 - 15906: d801 bhi.n 1590c - 15908: f000 fec2 bl 16690 - 1590c: 2000 movs r0, #0 - 1590e: 4b04 ldr r3, [pc, #16] ; (15920 ) - 15910: 4798 blx r3 - 15912: 0103 lsls r3, r0, #4 - 15914: e032 b.n 1597c - 15916: 46c0 nop ; (mov r8, r8) - 15918: 00002004 .word 0x00002004 - 1591c: 0001242d .word 0x0001242d - 15920: 0000f5fd .word 0x0000f5fd - 15924: 00008081 .word 0x00008081 - 15928: 00004c8d .word 0x00004c8d - 1592c: 20004c38 .word 0x20004c38 - 15930: 00004f4d .word 0x00004f4d - 15934: 20004c3c .word 0x20004c3c - 15938: 00004ded .word 0x00004ded - 1593c: 00008089 .word 0x00008089 - 15940: 00001029 .word 0x00001029 - 15944: 00009089 .word 0x00009089 - 15948: 0001ca0c .word 0x0001ca0c - 1594c: 0000808e .word 0x0000808e - 15950: 000050a1 .word 0x000050a1 - 15954: 0001ca0a .word 0x0001ca0a - 15958: 000080a9 .word 0x000080a9 - 1595c: 0000102c .word 0x0000102c - 15960: 0001ca08 .word 0x0001ca08 - 15964: 00008189 .word 0x00008189 - 15968: 00008289 .word 0x00008289 - 1596c: 00008489 .word 0x00008489 - 15970: 00000429 .word 0x00000429 - 15974: 00007fff .word 0x00007fff - 15978: 0000f619 .word 0x0000f619 - 1597c: 1a1b subs r3, r3, r0 - 1597e: 005b lsls r3, r3, #1 - 15980: 3350 adds r3, #80 ; 0x50 - 15982: 2140 movs r1, #64 ; 0x40 - 15984: 31ff adds r1, #255 ; 0xff - 15986: 2201 movs r2, #1 - 15988: 428b cmp r3, r1 - 1598a: d901 bls.n 15990 - 1598c: f000 fe99 bl 166c2 + 15960: 4b0c ldr r3, [pc, #48] ; (15994 ) + 15962: 681c ldr r4, [r3, #0] + 15964: 34b0 adds r4, #176 ; 0xb0 + 15966: 2000 movs r0, #0 + 15968: 4b1d ldr r3, [pc, #116] ; (159e0 ) + 1596a: 4798 blx r3 + 1596c: 2801 cmp r0, #1 + 1596e: d801 bhi.n 15974 + 15970: f000 fec2 bl 166f8 + 15974: 2000 movs r0, #0 + 15976: 4b04 ldr r3, [pc, #16] ; (15988 ) + 15978: 4798 blx r3 + 1597a: 0103 lsls r3, r0, #4 + 1597c: e032 b.n 159e4 + 1597e: 46c0 nop ; (mov r8, r8) + 15980: 00002004 .word 0x00002004 + 15984: 00012495 .word 0x00012495 + 15988: 0000f665 .word 0x0000f665 + 1598c: 00008081 .word 0x00008081 + 15990: 00004cf5 .word 0x00004cf5 + 15994: 20004c38 .word 0x20004c38 + 15998: 00004fb5 .word 0x00004fb5 + 1599c: 20004c3c .word 0x20004c3c + 159a0: 00004e55 .word 0x00004e55 + 159a4: 00008089 .word 0x00008089 + 159a8: 00001029 .word 0x00001029 + 159ac: 00009089 .word 0x00009089 + 159b0: 0001ca9c .word 0x0001ca9c + 159b4: 0000808e .word 0x0000808e + 159b8: 00005109 .word 0x00005109 + 159bc: 0001ca9a .word 0x0001ca9a + 159c0: 000080a9 .word 0x000080a9 + 159c4: 0000102c .word 0x0000102c + 159c8: 0001ca98 .word 0x0001ca98 + 159cc: 00008189 .word 0x00008189 + 159d0: 00008289 .word 0x00008289 + 159d4: 00008489 .word 0x00008489 + 159d8: 00000429 .word 0x00000429 + 159dc: 00007fff .word 0x00007fff + 159e0: 0000f681 .word 0x0000f681 + 159e4: 1a1b subs r3, r3, r0 + 159e6: 005b lsls r3, r3, #1 + 159e8: 3350 adds r3, #80 ; 0x50 + 159ea: 2140 movs r1, #64 ; 0x40 + 159ec: 31ff adds r1, #255 ; 0xff + 159ee: 2201 movs r2, #1 + 159f0: 428b cmp r3, r1 + 159f2: d901 bls.n 159f8 + 159f4: f000 fe99 bl 1672a _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 15990: 2111 movs r1, #17 - 15992: 0020 movs r0, r4 - 15994: 4bf2 ldr r3, [pc, #968] ; (15d60 ) - 15996: 4798 blx r3 + 159f8: 2111 movs r1, #17 + 159fa: 0020 movs r0, r4 + 159fc: 4bf2 ldr r3, [pc, #968] ; (15dc8 ) + 159fe: 4798 blx r3 lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 15998: 4bf2 ldr r3, [pc, #968] ; (15d64 ) - 1599a: 681c ldr r4, [r3, #0] - 1599c: 34b0 adds r4, #176 ; 0xb0 - 1599e: 2000 movs r0, #0 - 159a0: 4bf1 ldr r3, [pc, #964] ; (15d68 ) - 159a2: 4798 blx r3 - 159a4: 2801 cmp r0, #1 - 159a6: d801 bhi.n 159ac - 159a8: f000 fe98 bl 166dc - 159ac: 2000 movs r0, #0 - 159ae: 4bef ldr r3, [pc, #956] ; (15d6c ) - 159b0: 4798 blx r3 - 159b2: 0103 lsls r3, r0, #4 - 159b4: 1a1b subs r3, r3, r0 - 159b6: 005b lsls r3, r3, #1 - 159b8: 3350 adds r3, #80 ; 0x50 - 159ba: 2140 movs r1, #64 ; 0x40 - 159bc: 31ff adds r1, #255 ; 0xff - 159be: 2201 movs r2, #1 - 159c0: 428b cmp r3, r1 - 159c2: d901 bls.n 159c8 - 159c4: f000 fea3 bl 1670e + 15a00: 4bf2 ldr r3, [pc, #968] ; (15dcc ) + 15a02: 681c ldr r4, [r3, #0] + 15a04: 34b0 adds r4, #176 ; 0xb0 + 15a06: 2000 movs r0, #0 + 15a08: 4bf1 ldr r3, [pc, #964] ; (15dd0 ) + 15a0a: 4798 blx r3 + 15a0c: 2801 cmp r0, #1 + 15a0e: d801 bhi.n 15a14 + 15a10: f000 fe98 bl 16744 + 15a14: 2000 movs r0, #0 + 15a16: 4bef ldr r3, [pc, #956] ; (15dd4 ) + 15a18: 4798 blx r3 + 15a1a: 0103 lsls r3, r0, #4 + 15a1c: 1a1b subs r3, r3, r0 + 15a1e: 005b lsls r3, r3, #1 + 15a20: 3350 adds r3, #80 ; 0x50 + 15a22: 2140 movs r1, #64 ; 0x40 + 15a24: 31ff adds r1, #255 ; 0xff + 15a26: 2201 movs r2, #1 + 15a28: 428b cmp r3, r1 + 15a2a: d901 bls.n 15a30 + 15a2c: f000 fea3 bl 16776 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 159c8: 2112 movs r1, #18 - 159ca: 0020 movs r0, r4 - 159cc: 4be4 ldr r3, [pc, #912] ; (15d60 ) - 159ce: 4798 blx r3 + 15a30: 2112 movs r1, #18 + 15a32: 0020 movs r0, r4 + 15a34: 4be4 ldr r3, [pc, #912] ; (15dc8 ) + 15a36: 4798 blx r3 lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 159d0: 4be4 ldr r3, [pc, #912] ; (15d64 ) - 159d2: 681c ldr r4, [r3, #0] - 159d4: 34b0 adds r4, #176 ; 0xb0 - 159d6: 2000 movs r0, #0 - 159d8: 4be3 ldr r3, [pc, #908] ; (15d68 ) - 159da: 4798 blx r3 - 159dc: 2801 cmp r0, #1 - 159de: d801 bhi.n 159e4 - 159e0: f000 fea2 bl 16728 - 159e4: 2000 movs r0, #0 - 159e6: 4be1 ldr r3, [pc, #900] ; (15d6c ) - 159e8: 4798 blx r3 - 159ea: 0103 lsls r3, r0, #4 - 159ec: 1a1b subs r3, r3, r0 - 159ee: 005b lsls r3, r3, #1 - 159f0: 3350 adds r3, #80 ; 0x50 - 159f2: 2140 movs r1, #64 ; 0x40 - 159f4: 31ff adds r1, #255 ; 0xff - 159f6: 2201 movs r2, #1 - 159f8: 428b cmp r3, r1 - 159fa: d901 bls.n 15a00 - 159fc: f000 fead bl 1675a + 15a38: 4be4 ldr r3, [pc, #912] ; (15dcc ) + 15a3a: 681c ldr r4, [r3, #0] + 15a3c: 34b0 adds r4, #176 ; 0xb0 + 15a3e: 2000 movs r0, #0 + 15a40: 4be3 ldr r3, [pc, #908] ; (15dd0 ) + 15a42: 4798 blx r3 + 15a44: 2801 cmp r0, #1 + 15a46: d801 bhi.n 15a4c + 15a48: f000 fea2 bl 16790 + 15a4c: 2000 movs r0, #0 + 15a4e: 4be1 ldr r3, [pc, #900] ; (15dd4 ) + 15a50: 4798 blx r3 + 15a52: 0103 lsls r3, r0, #4 + 15a54: 1a1b subs r3, r3, r0 + 15a56: 005b lsls r3, r3, #1 + 15a58: 3350 adds r3, #80 ; 0x50 + 15a5a: 2140 movs r1, #64 ; 0x40 + 15a5c: 31ff adds r1, #255 ; 0xff + 15a5e: 2201 movs r2, #1 + 15a60: 428b cmp r3, r1 + 15a62: d901 bls.n 15a68 + 15a64: f000 fead bl 167c2 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 15a00: 2113 movs r1, #19 - 15a02: 0020 movs r0, r4 - 15a04: 4bd6 ldr r3, [pc, #856] ; (15d60 ) - 15a06: 4798 blx r3 + 15a68: 2113 movs r1, #19 + 15a6a: 0020 movs r0, r4 + 15a6c: 4bd6 ldr r3, [pc, #856] ; (15dc8 ) + 15a6e: 4798 blx r3 lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 15a08: 4bd6 ldr r3, [pc, #856] ; (15d64 ) - 15a0a: 681c ldr r4, [r3, #0] - 15a0c: 34b0 adds r4, #176 ; 0xb0 - 15a0e: 2000 movs r0, #0 - 15a10: 4bd5 ldr r3, [pc, #852] ; (15d68 ) - 15a12: 4798 blx r3 - 15a14: 2801 cmp r0, #1 - 15a16: d801 bhi.n 15a1c - 15a18: f000 feac bl 16774 - 15a1c: 2000 movs r0, #0 - 15a1e: 4bd3 ldr r3, [pc, #844] ; (15d6c ) - 15a20: 4798 blx r3 - 15a22: 0103 lsls r3, r0, #4 - 15a24: 1a1b subs r3, r3, r0 - 15a26: 005b lsls r3, r3, #1 - 15a28: 3350 adds r3, #80 ; 0x50 - 15a2a: 2140 movs r1, #64 ; 0x40 - 15a2c: 31ff adds r1, #255 ; 0xff - 15a2e: 2201 movs r2, #1 - 15a30: 428b cmp r3, r1 - 15a32: d901 bls.n 15a38 - 15a34: f000 feb7 bl 167a6 + 15a70: 4bd6 ldr r3, [pc, #856] ; (15dcc ) + 15a72: 681c ldr r4, [r3, #0] + 15a74: 34b0 adds r4, #176 ; 0xb0 + 15a76: 2000 movs r0, #0 + 15a78: 4bd5 ldr r3, [pc, #852] ; (15dd0 ) + 15a7a: 4798 blx r3 + 15a7c: 2801 cmp r0, #1 + 15a7e: d801 bhi.n 15a84 + 15a80: f000 feac bl 167dc + 15a84: 2000 movs r0, #0 + 15a86: 4bd3 ldr r3, [pc, #844] ; (15dd4 ) + 15a88: 4798 blx r3 + 15a8a: 0103 lsls r3, r0, #4 + 15a8c: 1a1b subs r3, r3, r0 + 15a8e: 005b lsls r3, r3, #1 + 15a90: 3350 adds r3, #80 ; 0x50 + 15a92: 2140 movs r1, #64 ; 0x40 + 15a94: 31ff adds r1, #255 ; 0xff + 15a96: 2201 movs r2, #1 + 15a98: 428b cmp r3, r1 + 15a9a: d901 bls.n 15aa0 + 15a9c: f000 feb7 bl 1680e _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 15a38: 2114 movs r1, #20 - 15a3a: 0020 movs r0, r4 - 15a3c: 4bc8 ldr r3, [pc, #800] ; (15d60 ) - 15a3e: 4798 blx r3 + 15aa0: 2114 movs r1, #20 + 15aa2: 0020 movs r0, r4 + 15aa4: 4bc8 ldr r3, [pc, #800] ; (15dc8 ) + 15aa6: 4798 blx r3 style_init_reset(&styles->table_cell); - 15a40: 4cc8 ldr r4, [pc, #800] ; (15d64 ) - 15a42: 6820 ldr r0, [r4, #0] - 15a44: 30a0 adds r0, #160 ; 0xa0 - 15a46: 4bca ldr r3, [pc, #808] ; (15d70 ) - 15a48: 4798 blx r3 + 15aa8: 4cc8 ldr r4, [pc, #800] ; (15dcc ) + 15aaa: 6820 ldr r0, [r4, #0] + 15aac: 30a0 adds r0, #160 ; 0xa0 + 15aae: 4bca ldr r3, [pc, #808] ; (15dd8 ) + 15ab0: 4798 blx r3 lv_style_set_border_color(&styles->table_cell, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 15a4a: 6820 ldr r0, [r4, #0] - 15a4c: 30a0 adds r0, #160 ; 0xa0 - 15a4e: 4bc9 ldr r3, [pc, #804] ; (15d74 ) - 15a50: 699b ldr r3, [r3, #24] - 15a52: 079b lsls r3, r3, #30 - 15a54: d501 bpl.n 15a5a - 15a56: f000 feb3 bl 167c0 - 15a5a: 2310 movs r3, #16 - 15a5c: 2122 movs r1, #34 ; 0x22 - 15a5e: 2212 movs r2, #18 - 15a60: 0149 lsls r1, r1, #5 - 15a62: 02db lsls r3, r3, #11 - 15a64: 430a orrs r2, r1 - 15a66: 431a orrs r2, r3 + 15ab2: 6820 ldr r0, [r4, #0] + 15ab4: 30a0 adds r0, #160 ; 0xa0 + 15ab6: 4bc9 ldr r3, [pc, #804] ; (15ddc ) + 15ab8: 699b ldr r3, [r3, #24] + 15aba: 079b lsls r3, r3, #30 + 15abc: d501 bpl.n 15ac2 + 15abe: f000 feb3 bl 16828 + 15ac2: 2310 movs r3, #16 + 15ac4: 2122 movs r1, #34 ; 0x22 + 15ac6: 2212 movs r2, #18 + 15ac8: 0149 lsls r1, r1, #5 + 15aca: 02db lsls r3, r3, #11 + 15acc: 430a orrs r2, r1 + 15ace: 431a orrs r2, r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 15a68: 2139 movs r1, #57 ; 0x39 - 15a6a: 4bc3 ldr r3, [pc, #780] ; (15d78 ) - 15a6c: 4798 blx r3 + 15ad0: 2139 movs r1, #57 ; 0x39 + 15ad2: 4bc3 ldr r3, [pc, #780] ; (15de0 ) + 15ad4: 4798 blx r3 lv_style_set_border_width(&styles->table_cell, LV_STATE_DEFAULT, 1); - 15a6e: 4cbd ldr r4, [pc, #756] ; (15d64 ) - 15a70: 6820 ldr r0, [r4, #0] - 15a72: 30a0 adds r0, #160 ; 0xa0 + 15ad6: 4cbd ldr r4, [pc, #756] ; (15dcc ) + 15ad8: 6820 ldr r0, [r4, #0] + 15ada: 30a0 adds r0, #160 ; 0xa0 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 15a74: 2201 movs r2, #1 - 15a76: 2130 movs r1, #48 ; 0x30 - 15a78: 4db9 ldr r5, [pc, #740] ; (15d60 ) - 15a7a: 47a8 blx r5 + 15adc: 2201 movs r2, #1 + 15ade: 2130 movs r1, #48 ; 0x30 + 15ae0: 4db9 ldr r5, [pc, #740] ; (15dc8 ) + 15ae2: 47a8 blx r5 lv_style_set_border_side(&styles->table_cell, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM); - 15a7c: 6820 ldr r0, [r4, #0] - 15a7e: 30a0 adds r0, #160 ; 0xa0 + 15ae4: 6820 ldr r0, [r4, #0] + 15ae6: 30a0 adds r0, #160 ; 0xa0 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 15a80: 2203 movs r2, #3 - 15a82: 2131 movs r1, #49 ; 0x31 - 15a84: 47a8 blx r5 + 15ae8: 2203 movs r2, #3 + 15aea: 2131 movs r1, #49 ; 0x31 + 15aec: 47a8 blx r5 lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 15a86: 6824 ldr r4, [r4, #0] - 15a88: 34a0 adds r4, #160 ; 0xa0 - 15a8a: 2000 movs r0, #0 - 15a8c: 4bb6 ldr r3, [pc, #728] ; (15d68 ) - 15a8e: 4798 blx r3 - 15a90: 2801 cmp r0, #1 - 15a92: d801 bhi.n 15a98 - 15a94: f000 fe99 bl 167ca - 15a98: 2000 movs r0, #0 - 15a9a: 4bb4 ldr r3, [pc, #720] ; (15d6c ) - 15a9c: 4798 blx r3 - 15a9e: 0103 lsls r3, r0, #4 - 15aa0: 1a1b subs r3, r3, r0 - 15aa2: 005b lsls r3, r3, #1 - 15aa4: 3350 adds r3, #80 ; 0x50 - 15aa6: 2140 movs r1, #64 ; 0x40 - 15aa8: 31ff adds r1, #255 ; 0xff - 15aaa: 2201 movs r2, #1 - 15aac: 428b cmp r3, r1 - 15aae: d901 bls.n 15ab4 - 15ab0: f000 fea4 bl 167fc + 15aee: 6824 ldr r4, [r4, #0] + 15af0: 34a0 adds r4, #160 ; 0xa0 + 15af2: 2000 movs r0, #0 + 15af4: 4bb6 ldr r3, [pc, #728] ; (15dd0 ) + 15af6: 4798 blx r3 + 15af8: 2801 cmp r0, #1 + 15afa: d801 bhi.n 15b00 + 15afc: f000 fe99 bl 16832 + 15b00: 2000 movs r0, #0 + 15b02: 4bb4 ldr r3, [pc, #720] ; (15dd4 ) + 15b04: 4798 blx r3 + 15b06: 0103 lsls r3, r0, #4 + 15b08: 1a1b subs r3, r3, r0 + 15b0a: 005b lsls r3, r3, #1 + 15b0c: 3350 adds r3, #80 ; 0x50 + 15b0e: 2140 movs r1, #64 ; 0x40 + 15b10: 31ff adds r1, #255 ; 0xff + 15b12: 2201 movs r2, #1 + 15b14: 428b cmp r3, r1 + 15b16: d901 bls.n 15b1c + 15b18: f000 fea4 bl 16864 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 15ab4: 2112 movs r1, #18 - 15ab6: 0020 movs r0, r4 - 15ab8: 4ba9 ldr r3, [pc, #676] ; (15d60 ) - 15aba: 4798 blx r3 + 15b1c: 2112 movs r1, #18 + 15b1e: 0020 movs r0, r4 + 15b20: 4ba9 ldr r3, [pc, #676] ; (15dc8 ) + 15b22: 4798 blx r3 lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 15abc: 4ba9 ldr r3, [pc, #676] ; (15d64 ) - 15abe: 681c ldr r4, [r3, #0] - 15ac0: 34a0 adds r4, #160 ; 0xa0 - 15ac2: 2000 movs r0, #0 - 15ac4: 4ba8 ldr r3, [pc, #672] ; (15d68 ) - 15ac6: 4798 blx r3 - 15ac8: 2801 cmp r0, #1 - 15aca: d801 bhi.n 15ad0 - 15acc: f000 fea3 bl 16816 - 15ad0: 2000 movs r0, #0 - 15ad2: 4ba6 ldr r3, [pc, #664] ; (15d6c ) - 15ad4: 4798 blx r3 - 15ad6: 0103 lsls r3, r0, #4 - 15ad8: 1a1b subs r3, r3, r0 - 15ada: 005b lsls r3, r3, #1 - 15adc: 3350 adds r3, #80 ; 0x50 - 15ade: 2140 movs r1, #64 ; 0x40 - 15ae0: 31ff adds r1, #255 ; 0xff - 15ae2: 2201 movs r2, #1 - 15ae4: 428b cmp r3, r1 - 15ae6: d901 bls.n 15aec - 15ae8: f000 feae bl 16848 + 15b24: 4ba9 ldr r3, [pc, #676] ; (15dcc ) + 15b26: 681c ldr r4, [r3, #0] + 15b28: 34a0 adds r4, #160 ; 0xa0 + 15b2a: 2000 movs r0, #0 + 15b2c: 4ba8 ldr r3, [pc, #672] ; (15dd0 ) + 15b2e: 4798 blx r3 + 15b30: 2801 cmp r0, #1 + 15b32: d801 bhi.n 15b38 + 15b34: f000 fea3 bl 1687e + 15b38: 2000 movs r0, #0 + 15b3a: 4ba6 ldr r3, [pc, #664] ; (15dd4 ) + 15b3c: 4798 blx r3 + 15b3e: 0103 lsls r3, r0, #4 + 15b40: 1a1b subs r3, r3, r0 + 15b42: 005b lsls r3, r3, #1 + 15b44: 3350 adds r3, #80 ; 0x50 + 15b46: 2140 movs r1, #64 ; 0x40 + 15b48: 31ff adds r1, #255 ; 0xff + 15b4a: 2201 movs r2, #1 + 15b4c: 428b cmp r3, r1 + 15b4e: d901 bls.n 15b54 + 15b50: f000 feae bl 168b0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 15aec: 2113 movs r1, #19 - 15aee: 0020 movs r0, r4 - 15af0: 4b9b ldr r3, [pc, #620] ; (15d60 ) - 15af2: 4798 blx r3 + 15b54: 2113 movs r1, #19 + 15b56: 0020 movs r0, r4 + 15b58: 4b9b ldr r3, [pc, #620] ; (15dc8 ) + 15b5a: 4798 blx r3 lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 15af4: 4b9b ldr r3, [pc, #620] ; (15d64 ) - 15af6: 681c ldr r4, [r3, #0] - 15af8: 34a0 adds r4, #160 ; 0xa0 - 15afa: 2000 movs r0, #0 - 15afc: 4b9a ldr r3, [pc, #616] ; (15d68 ) - 15afe: 4798 blx r3 - 15b00: 2801 cmp r0, #1 - 15b02: d801 bhi.n 15b08 - 15b04: f000 fead bl 16862 - 15b08: 2000 movs r0, #0 - 15b0a: 4b98 ldr r3, [pc, #608] ; (15d6c ) - 15b0c: 4798 blx r3 - 15b0e: 0103 lsls r3, r0, #4 - 15b10: 1a1b subs r3, r3, r0 - 15b12: 005b lsls r3, r3, #1 - 15b14: 3350 adds r3, #80 ; 0x50 - 15b16: 2140 movs r1, #64 ; 0x40 - 15b18: 31ff adds r1, #255 ; 0xff - 15b1a: 2201 movs r2, #1 - 15b1c: 428b cmp r3, r1 - 15b1e: d901 bls.n 15b24 - 15b20: f000 feb8 bl 16894 + 15b5c: 4b9b ldr r3, [pc, #620] ; (15dcc ) + 15b5e: 681c ldr r4, [r3, #0] + 15b60: 34a0 adds r4, #160 ; 0xa0 + 15b62: 2000 movs r0, #0 + 15b64: 4b9a ldr r3, [pc, #616] ; (15dd0 ) + 15b66: 4798 blx r3 + 15b68: 2801 cmp r0, #1 + 15b6a: d801 bhi.n 15b70 + 15b6c: f000 fead bl 168ca + 15b70: 2000 movs r0, #0 + 15b72: 4b98 ldr r3, [pc, #608] ; (15dd4 ) + 15b74: 4798 blx r3 + 15b76: 0103 lsls r3, r0, #4 + 15b78: 1a1b subs r3, r3, r0 + 15b7a: 005b lsls r3, r3, #1 + 15b7c: 3350 adds r3, #80 ; 0x50 + 15b7e: 2140 movs r1, #64 ; 0x40 + 15b80: 31ff adds r1, #255 ; 0xff + 15b82: 2201 movs r2, #1 + 15b84: 428b cmp r3, r1 + 15b86: d901 bls.n 15b8c + 15b88: f000 feb8 bl 168fc _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15b24: 2110 movs r1, #16 - 15b26: 0020 movs r0, r4 - 15b28: 4b8d ldr r3, [pc, #564] ; (15d60 ) - 15b2a: 4798 blx r3 + 15b8c: 2110 movs r1, #16 + 15b8e: 0020 movs r0, r4 + 15b90: 4b8d ldr r3, [pc, #564] ; (15dc8 ) + 15b92: 4798 blx r3 lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 15b2c: 4b8d ldr r3, [pc, #564] ; (15d64 ) - 15b2e: 681c ldr r4, [r3, #0] - 15b30: 34a0 adds r4, #160 ; 0xa0 - 15b32: 2000 movs r0, #0 - 15b34: 4b8c ldr r3, [pc, #560] ; (15d68 ) - 15b36: 4798 blx r3 - 15b38: 2801 cmp r0, #1 - 15b3a: d801 bhi.n 15b40 - 15b3c: f000 feb7 bl 168ae - 15b40: 2000 movs r0, #0 - 15b42: 4b8a ldr r3, [pc, #552] ; (15d6c ) - 15b44: 4798 blx r3 - 15b46: 0103 lsls r3, r0, #4 - 15b48: 1a1b subs r3, r3, r0 - 15b4a: 005b lsls r3, r3, #1 - 15b4c: 3350 adds r3, #80 ; 0x50 - 15b4e: 2140 movs r1, #64 ; 0x40 - 15b50: 31ff adds r1, #255 ; 0xff - 15b52: 2201 movs r2, #1 - 15b54: 428b cmp r3, r1 - 15b56: d901 bls.n 15b5c - 15b58: f000 fec2 bl 168e0 + 15b94: 4b8d ldr r3, [pc, #564] ; (15dcc ) + 15b96: 681c ldr r4, [r3, #0] + 15b98: 34a0 adds r4, #160 ; 0xa0 + 15b9a: 2000 movs r0, #0 + 15b9c: 4b8c ldr r3, [pc, #560] ; (15dd0 ) + 15b9e: 4798 blx r3 + 15ba0: 2801 cmp r0, #1 + 15ba2: d801 bhi.n 15ba8 + 15ba4: f000 feb7 bl 16916 + 15ba8: 2000 movs r0, #0 + 15baa: 4b8a ldr r3, [pc, #552] ; (15dd4 ) + 15bac: 4798 blx r3 + 15bae: 0103 lsls r3, r0, #4 + 15bb0: 1a1b subs r3, r3, r0 + 15bb2: 005b lsls r3, r3, #1 + 15bb4: 3350 adds r3, #80 ; 0x50 + 15bb6: 2140 movs r1, #64 ; 0x40 + 15bb8: 31ff adds r1, #255 ; 0xff + 15bba: 2201 movs r2, #1 + 15bbc: 428b cmp r3, r1 + 15bbe: d901 bls.n 15bc4 + 15bc0: f000 fec2 bl 16948 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 15b5c: 2111 movs r1, #17 - 15b5e: 0020 movs r0, r4 - 15b60: 4b7f ldr r3, [pc, #508] ; (15d60 ) - 15b62: 4798 blx r3 + 15bc4: 2111 movs r1, #17 + 15bc6: 0020 movs r0, r4 + 15bc8: 4b7f ldr r3, [pc, #508] ; (15dc8 ) + 15bca: 4798 blx r3 theme.apply_xcb = theme_apply; - 15b64: 4c83 ldr r4, [pc, #524] ; (15d74 ) - 15b66: 4b85 ldr r3, [pc, #532] ; (15d7c ) - 15b68: 6023 str r3, [r4, #0] + 15bcc: 4c83 ldr r4, [pc, #524] ; (15ddc ) + 15bce: 4b85 ldr r3, [pc, #532] ; (15de4 ) + 15bd0: 6023 str r3, [r4, #0] inited = true; - 15b6a: 2201 movs r2, #1 - 15b6c: 4b84 ldr r3, [pc, #528] ; (15d80 ) - 15b6e: 701a strb r2, [r3, #0] + 15bd2: 2201 movs r2, #1 + 15bd4: 4b84 ldr r3, [pc, #528] ; (15de8 ) + 15bd6: 701a strb r2, [r3, #0] lv_obj_report_style_mod(NULL); - 15b70: 2000 movs r0, #0 - 15b72: 4b84 ldr r3, [pc, #528] ; (15d84 ) - 15b74: 4798 blx r3 -} - 15b76: 0020 movs r0, r4 - 15b78: bc04 pop {r2} - 15b7a: 4690 mov r8, r2 - 15b7c: bdf0 pop {r4, r5, r6, r7, pc} + 15bd8: 2000 movs r0, #0 + 15bda: 4b84 ldr r3, [pc, #528] ; (15dec ) + 15bdc: 4798 blx r3 +} + 15bde: 0020 movs r0, r4 + 15be0: bc04 pop {r2} + 15be2: 4690 mov r8, r2 + 15be4: bdf0 pop {r4, r5, r6, r7, pc} LV_GC_ROOT(_lv_theme_material_styles) = lv_mem_alloc(sizeof(theme_styles_t)); - 15b7e: 20bc movs r0, #188 ; 0xbc - 15b80: 4b81 ldr r3, [pc, #516] ; (15d88 ) - 15b82: 4798 blx r3 - 15b84: 4b81 ldr r3, [pc, #516] ; (15d8c ) - 15b86: 6018 str r0, [r3, #0] + 15be6: 20bc movs r0, #188 ; 0xbc + 15be8: 4b81 ldr r3, [pc, #516] ; (15df0 ) + 15bea: 4798 blx r3 + 15bec: 4b81 ldr r3, [pc, #516] ; (15df4 ) + 15bee: 6018 str r0, [r3, #0] styles = (theme_styles_t *)LV_GC_ROOT(_lv_theme_material_styles); - 15b88: 4b76 ldr r3, [pc, #472] ; (15d64 ) - 15b8a: 6018 str r0, [r3, #0] - 15b8c: f7fe fc59 bl 14442 + 15bf0: 4b76 ldr r3, [pc, #472] ; (15dcc ) + 15bf2: 6018 str r0, [r3, #0] + 15bf4: f7fe fc59 bl 144aa lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 15b90: 2315 movs r3, #21 - 15b92: 212a movs r1, #42 ; 0x2a - 15b94: 2215 movs r2, #21 - 15b96: f7fe fc7f bl 14498 + 15bf8: 2315 movs r3, #21 + 15bfa: 212a movs r1, #42 ; 0x2a + 15bfc: 2215 movs r2, #21 + 15bfe: f7fe fc7f bl 14500 lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1)); - 15b9a: 2000 movs r0, #0 - 15b9c: 4b73 ldr r3, [pc, #460] ; (15d6c ) - 15b9e: 4798 blx r3 - 15ba0: 3050 adds r0, #80 ; 0x50 - 15ba2: 21a0 movs r1, #160 ; 0xa0 - 15ba4: 4b7a ldr r3, [pc, #488] ; (15d90 ) - 15ba6: 4798 blx r3 - 15ba8: b202 sxth r2, r0 - 15baa: f7fe fc8e bl 144ca + 15c02: 2000 movs r0, #0 + 15c04: 4b73 ldr r3, [pc, #460] ; (15dd4 ) + 15c06: 4798 blx r3 + 15c08: 3050 adds r0, #80 ; 0x50 + 15c0a: 21a0 movs r1, #160 ; 0xa0 + 15c0c: 4b7a ldr r3, [pc, #488] ; (15df8 ) + 15c0e: 4798 blx r3 + 15c10: b202 sxth r2, r0 + 15c12: f7fe fc8e bl 14532 lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 15bae: 2000 movs r0, #0 - 15bb0: 4b6e ldr r3, [pc, #440] ; (15d6c ) - 15bb2: 4798 blx r3 - 15bb4: 0003 movs r3, r0 - 15bb6: 0080 lsls r0, r0, #2 - 15bb8: 18c0 adds r0, r0, r3 - 15bba: 0040 lsls r0, r0, #1 - 15bbc: 3050 adds r0, #80 ; 0x50 - 15bbe: 21a0 movs r1, #160 ; 0xa0 - 15bc0: 4b73 ldr r3, [pc, #460] ; (15d90 ) - 15bc2: 4798 blx r3 - 15bc4: b202 sxth r2, r0 - 15bc6: f7fe fc95 bl 144f4 + 15c16: 2000 movs r0, #0 + 15c18: 4b6e ldr r3, [pc, #440] ; (15dd4 ) + 15c1a: 4798 blx r3 + 15c1c: 0003 movs r3, r0 + 15c1e: 0080 lsls r0, r0, #2 + 15c20: 18c0 adds r0, r0, r3 + 15c22: 0040 lsls r0, r0, #1 + 15c24: 3050 adds r0, #80 ; 0x50 + 15c26: 21a0 movs r1, #160 ; 0xa0 + 15c28: 4b73 ldr r3, [pc, #460] ; (15df8 ) + 15c2a: 4798 blx r3 + 15c2c: b202 sxth r2, r0 + 15c2e: f7fe fc95 bl 1455c lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 15bca: 2000 movs r0, #0 - 15bcc: 4b67 ldr r3, [pc, #412] ; (15d6c ) - 15bce: 4798 blx r3 - 15bd0: 0003 movs r3, r0 - 15bd2: 0080 lsls r0, r0, #2 - 15bd4: 18c0 adds r0, r0, r3 - 15bd6: 0040 lsls r0, r0, #1 - 15bd8: 3050 adds r0, #80 ; 0x50 - 15bda: 21a0 movs r1, #160 ; 0xa0 - 15bdc: 4b6c ldr r3, [pc, #432] ; (15d90 ) - 15bde: 4798 blx r3 - 15be0: b202 sxth r2, r0 - 15be2: f7fe fc9c bl 1451e + 15c32: 2000 movs r0, #0 + 15c34: 4b67 ldr r3, [pc, #412] ; (15dd4 ) + 15c36: 4798 blx r3 + 15c38: 0003 movs r3, r0 + 15c3a: 0080 lsls r0, r0, #2 + 15c3c: 18c0 adds r0, r0, r3 + 15c3e: 0040 lsls r0, r0, #1 + 15c40: 3050 adds r0, #80 ; 0x50 + 15c42: 21a0 movs r1, #160 ; 0xa0 + 15c44: 4b6c ldr r3, [pc, #432] ; (15df8 ) + 15c46: 4798 blx r3 + 15c48: b202 sxth r2, r0 + 15c4a: f7fe fc9c bl 14586 lv_style_set_line_color(&styles->chart_series_bg, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 15be6: 231a movs r3, #26 - 15be8: 2137 movs r1, #55 ; 0x37 - 15bea: 221c movs r2, #28 - 15bec: f7fe fca7 bl 1453e + 15c4e: 231a movs r3, #26 + 15c50: 2137 movs r1, #55 ; 0x37 + 15c52: 221c movs r2, #28 + 15c54: f7fe fca7 bl 145a6 lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3)); - 15bf0: 2000 movs r0, #0 - 15bf2: 4b5e ldr r3, [pc, #376] ; (15d6c ) - 15bf4: 4798 blx r3 - 15bf6: 0003 movs r3, r0 - 15bf8: 0040 lsls r0, r0, #1 - 15bfa: 18c0 adds r0, r0, r3 - 15bfc: 3050 adds r0, #80 ; 0x50 - 15bfe: 21a0 movs r1, #160 ; 0xa0 - 15c00: 4b63 ldr r3, [pc, #396] ; (15d90 ) - 15c02: 4798 blx r3 - 15c04: b202 sxth r2, r0 - 15c06: f7fe fcb5 bl 14574 + 15c58: 2000 movs r0, #0 + 15c5a: 4b5e ldr r3, [pc, #376] ; (15dd4 ) + 15c5c: 4798 blx r3 + 15c5e: 0003 movs r3, r0 + 15c60: 0040 lsls r0, r0, #1 + 15c62: 18c0 adds r0, r0, r3 + 15c64: 3050 adds r0, #80 ; 0x50 + 15c66: 21a0 movs r1, #160 ; 0xa0 + 15c68: 4b63 ldr r3, [pc, #396] ; (15df8 ) + 15c6a: 4798 blx r3 + 15c6c: b202 sxth r2, r0 + 15c6e: f7fe fcb5 bl 145dc lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4)); - 15c0a: 2000 movs r0, #0 - 15c0c: 4b57 ldr r3, [pc, #348] ; (15d6c ) - 15c0e: 4798 blx r3 - 15c10: 3014 adds r0, #20 - 15c12: 0080 lsls r0, r0, #2 - 15c14: 21a0 movs r1, #160 ; 0xa0 - 15c16: 4b5e ldr r3, [pc, #376] ; (15d90 ) - 15c18: 4798 blx r3 - 15c1a: b202 sxth r2, r0 - 15c1c: f7fe fcbd bl 1459a + 15c72: 2000 movs r0, #0 + 15c74: 4b57 ldr r3, [pc, #348] ; (15dd4 ) + 15c76: 4798 blx r3 + 15c78: 3014 adds r0, #20 + 15c7a: 0080 lsls r0, r0, #2 + 15c7c: 21a0 movs r1, #160 ; 0xa0 + 15c7e: 4b5e ldr r3, [pc, #376] ; (15df8 ) + 15c80: 4798 blx r3 + 15c82: b202 sxth r2, r0 + 15c84: f7fe fcbd bl 14602 lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/ - 15c20: 2000 movs r0, #0 - 15c22: 4b52 ldr r3, [pc, #328] ; (15d6c ) - 15c24: 4798 blx r3 - 15c26: 3028 adds r0, #40 ; 0x28 - 15c28: 0040 lsls r0, r0, #1 - 15c2a: 21a0 movs r1, #160 ; 0xa0 - 15c2c: 4b58 ldr r3, [pc, #352] ; (15d90 ) - 15c2e: 4798 blx r3 - 15c30: b202 sxth r2, r0 - 15c32: f7fe fcc5 bl 145c0 + 15c88: 2000 movs r0, #0 + 15c8a: 4b52 ldr r3, [pc, #328] ; (15dd4 ) + 15c8c: 4798 blx r3 + 15c8e: 3028 adds r0, #40 ; 0x28 + 15c90: 0040 lsls r0, r0, #1 + 15c92: 21a0 movs r1, #160 ; 0xa0 + 15c94: 4b58 ldr r3, [pc, #352] ; (15df8 ) + 15c96: 4798 blx r3 + 15c98: b202 sxth r2, r0 + 15c9a: f7fe fcc5 bl 14628 lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1)); - 15c36: 2000 movs r0, #0 - 15c38: 4b4c ldr r3, [pc, #304] ; (15d6c ) - 15c3a: 4798 blx r3 - 15c3c: 3050 adds r0, #80 ; 0x50 - 15c3e: 21a0 movs r1, #160 ; 0xa0 - 15c40: 4b53 ldr r3, [pc, #332] ; (15d90 ) - 15c42: 4798 blx r3 - 15c44: b202 sxth r2, r0 - 15c46: f7fe fccd bl 145e4 + 15c9e: 2000 movs r0, #0 + 15ca0: 4b4c ldr r3, [pc, #304] ; (15dd4 ) + 15ca2: 4798 blx r3 + 15ca4: 3050 adds r0, #80 ; 0x50 + 15ca6: 21a0 movs r1, #160 ; 0xa0 + 15ca8: 4b53 ldr r3, [pc, #332] ; (15df8 ) + 15caa: 4798 blx r3 + 15cac: b202 sxth r2, r0 + 15cae: f7fe fccd bl 1464c lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 15c4a: 2000 movs r0, #0 - 15c4c: 4b47 ldr r3, [pc, #284] ; (15d6c ) - 15c4e: 4798 blx r3 - 15c50: 0103 lsls r3, r0, #4 - 15c52: 1a18 subs r0, r3, r0 - 15c54: 3050 adds r0, #80 ; 0x50 - 15c56: 2340 movs r3, #64 ; 0x40 - 15c58: 33ff adds r3, #255 ; 0xff - 15c5a: 2201 movs r2, #1 - 15c5c: 4298 cmp r0, r3 - 15c5e: d801 bhi.n 15c64 - 15c60: f7fe fce0 bl 14624 - 15c64: 2000 movs r0, #0 - 15c66: 4b41 ldr r3, [pc, #260] ; (15d6c ) - 15c68: 4798 blx r3 - 15c6a: 0103 lsls r3, r0, #4 - 15c6c: 1a18 subs r0, r3, r0 - 15c6e: 3050 adds r0, #80 ; 0x50 - 15c70: 21a0 movs r1, #160 ; 0xa0 - 15c72: 4b47 ldr r3, [pc, #284] ; (15d90 ) - 15c74: 4798 blx r3 - 15c76: b202 sxth r2, r0 - 15c78: f7fe fcd4 bl 14624 - 15c7c: 2000 movs r0, #0 - 15c7e: 4b3b ldr r3, [pc, #236] ; (15d6c ) - 15c80: 4798 blx r3 - 15c82: 0103 lsls r3, r0, #4 - 15c84: 1a18 subs r0, r3, r0 - 15c86: 0040 lsls r0, r0, #1 - 15c88: 3050 adds r0, #80 ; 0x50 - 15c8a: 21a0 movs r1, #160 ; 0xa0 - 15c8c: 4b40 ldr r3, [pc, #256] ; (15d90 ) - 15c8e: 4798 blx r3 - 15c90: b202 sxth r2, r0 - 15c92: f7fe fcc7 bl 14624 + 15cb2: 2000 movs r0, #0 + 15cb4: 4b47 ldr r3, [pc, #284] ; (15dd4 ) + 15cb6: 4798 blx r3 + 15cb8: 0103 lsls r3, r0, #4 + 15cba: 1a18 subs r0, r3, r0 + 15cbc: 3050 adds r0, #80 ; 0x50 + 15cbe: 2340 movs r3, #64 ; 0x40 + 15cc0: 33ff adds r3, #255 ; 0xff + 15cc2: 2201 movs r2, #1 + 15cc4: 4298 cmp r0, r3 + 15cc6: d801 bhi.n 15ccc + 15cc8: f7fe fce0 bl 1468c + 15ccc: 2000 movs r0, #0 + 15cce: 4b41 ldr r3, [pc, #260] ; (15dd4 ) + 15cd0: 4798 blx r3 + 15cd2: 0103 lsls r3, r0, #4 + 15cd4: 1a18 subs r0, r3, r0 + 15cd6: 3050 adds r0, #80 ; 0x50 + 15cd8: 21a0 movs r1, #160 ; 0xa0 + 15cda: 4b47 ldr r3, [pc, #284] ; (15df8 ) + 15cdc: 4798 blx r3 + 15cde: b202 sxth r2, r0 + 15ce0: f7fe fcd4 bl 1468c + 15ce4: 2000 movs r0, #0 + 15ce6: 4b3b ldr r3, [pc, #236] ; (15dd4 ) + 15ce8: 4798 blx r3 + 15cea: 0103 lsls r3, r0, #4 + 15cec: 1a18 subs r0, r3, r0 + 15cee: 0040 lsls r0, r0, #1 + 15cf0: 3050 adds r0, #80 ; 0x50 + 15cf2: 21a0 movs r1, #160 ; 0xa0 + 15cf4: 4b40 ldr r3, [pc, #256] ; (15df8 ) + 15cf6: 4798 blx r3 + 15cf8: b202 sxth r2, r0 + 15cfa: f7fe fcc7 bl 1468c lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 15c96: 2000 movs r0, #0 - 15c98: 4b34 ldr r3, [pc, #208] ; (15d6c ) - 15c9a: 4798 blx r3 - 15c9c: 0103 lsls r3, r0, #4 - 15c9e: 1a18 subs r0, r3, r0 - 15ca0: 3050 adds r0, #80 ; 0x50 - 15ca2: 2340 movs r3, #64 ; 0x40 - 15ca4: 33ff adds r3, #255 ; 0xff - 15ca6: 2201 movs r2, #1 - 15ca8: 4298 cmp r0, r3 - 15caa: d801 bhi.n 15cb0 - 15cac: f7fe fcd6 bl 1465c - 15cb0: 2000 movs r0, #0 - 15cb2: 4b2e ldr r3, [pc, #184] ; (15d6c ) - 15cb4: 4798 blx r3 - 15cb6: 0103 lsls r3, r0, #4 - 15cb8: 1a18 subs r0, r3, r0 - 15cba: 3050 adds r0, #80 ; 0x50 - 15cbc: 21a0 movs r1, #160 ; 0xa0 - 15cbe: 4b34 ldr r3, [pc, #208] ; (15d90 ) - 15cc0: 4798 blx r3 - 15cc2: b202 sxth r2, r0 - 15cc4: f7fe fcca bl 1465c - 15cc8: 2000 movs r0, #0 - 15cca: 4b28 ldr r3, [pc, #160] ; (15d6c ) - 15ccc: 4798 blx r3 - 15cce: 0103 lsls r3, r0, #4 - 15cd0: 1a18 subs r0, r3, r0 - 15cd2: 0040 lsls r0, r0, #1 - 15cd4: 3050 adds r0, #80 ; 0x50 - 15cd6: 21a0 movs r1, #160 ; 0xa0 - 15cd8: 4b2d ldr r3, [pc, #180] ; (15d90 ) - 15cda: 4798 blx r3 - 15cdc: b202 sxth r2, r0 - 15cde: f7fe fcbd bl 1465c + 15cfe: 2000 movs r0, #0 + 15d00: 4b34 ldr r3, [pc, #208] ; (15dd4 ) + 15d02: 4798 blx r3 + 15d04: 0103 lsls r3, r0, #4 + 15d06: 1a18 subs r0, r3, r0 + 15d08: 3050 adds r0, #80 ; 0x50 + 15d0a: 2340 movs r3, #64 ; 0x40 + 15d0c: 33ff adds r3, #255 ; 0xff + 15d0e: 2201 movs r2, #1 + 15d10: 4298 cmp r0, r3 + 15d12: d801 bhi.n 15d18 + 15d14: f7fe fcd6 bl 146c4 + 15d18: 2000 movs r0, #0 + 15d1a: 4b2e ldr r3, [pc, #184] ; (15dd4 ) + 15d1c: 4798 blx r3 + 15d1e: 0103 lsls r3, r0, #4 + 15d20: 1a18 subs r0, r3, r0 + 15d22: 3050 adds r0, #80 ; 0x50 + 15d24: 21a0 movs r1, #160 ; 0xa0 + 15d26: 4b34 ldr r3, [pc, #208] ; (15df8 ) + 15d28: 4798 blx r3 + 15d2a: b202 sxth r2, r0 + 15d2c: f7fe fcca bl 146c4 + 15d30: 2000 movs r0, #0 + 15d32: 4b28 ldr r3, [pc, #160] ; (15dd4 ) + 15d34: 4798 blx r3 + 15d36: 0103 lsls r3, r0, #4 + 15d38: 1a18 subs r0, r3, r0 + 15d3a: 0040 lsls r0, r0, #1 + 15d3c: 3050 adds r0, #80 ; 0x50 + 15d3e: 21a0 movs r1, #160 ; 0xa0 + 15d40: 4b2d ldr r3, [pc, #180] ; (15df8 ) + 15d42: 4798 blx r3 + 15d44: b202 sxth r2, r0 + 15d46: f7fe fcbd bl 146c4 lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 15ce2: 2000 movs r0, #0 - 15ce4: 4b21 ldr r3, [pc, #132] ; (15d6c ) - 15ce6: 4798 blx r3 - 15ce8: 0103 lsls r3, r0, #4 - 15cea: 1a18 subs r0, r3, r0 - 15cec: 3050 adds r0, #80 ; 0x50 - 15cee: 2340 movs r3, #64 ; 0x40 - 15cf0: 33ff adds r3, #255 ; 0xff - 15cf2: 2201 movs r2, #1 - 15cf4: 4298 cmp r0, r3 - 15cf6: d801 bhi.n 15cfc - 15cf8: f7fe fccc bl 14694 - 15cfc: 2000 movs r0, #0 - 15cfe: 4b1b ldr r3, [pc, #108] ; (15d6c ) - 15d00: 4798 blx r3 - 15d02: 0103 lsls r3, r0, #4 - 15d04: 1a18 subs r0, r3, r0 - 15d06: 3050 adds r0, #80 ; 0x50 - 15d08: 21a0 movs r1, #160 ; 0xa0 - 15d0a: 4b21 ldr r3, [pc, #132] ; (15d90 ) - 15d0c: 4798 blx r3 - 15d0e: b202 sxth r2, r0 - 15d10: f7fe fcc0 bl 14694 - 15d14: 2000 movs r0, #0 - 15d16: 4b15 ldr r3, [pc, #84] ; (15d6c ) - 15d18: 4798 blx r3 - 15d1a: 0103 lsls r3, r0, #4 - 15d1c: 1a18 subs r0, r3, r0 - 15d1e: 0040 lsls r0, r0, #1 - 15d20: 3050 adds r0, #80 ; 0x50 - 15d22: 21a0 movs r1, #160 ; 0xa0 - 15d24: 4b1a ldr r3, [pc, #104] ; (15d90 ) - 15d26: 4798 blx r3 - 15d28: b202 sxth r2, r0 - 15d2a: f7fe fcb3 bl 14694 + 15d4a: 2000 movs r0, #0 + 15d4c: 4b21 ldr r3, [pc, #132] ; (15dd4 ) + 15d4e: 4798 blx r3 + 15d50: 0103 lsls r3, r0, #4 + 15d52: 1a18 subs r0, r3, r0 + 15d54: 3050 adds r0, #80 ; 0x50 + 15d56: 2340 movs r3, #64 ; 0x40 + 15d58: 33ff adds r3, #255 ; 0xff + 15d5a: 2201 movs r2, #1 + 15d5c: 4298 cmp r0, r3 + 15d5e: d801 bhi.n 15d64 + 15d60: f7fe fccc bl 146fc + 15d64: 2000 movs r0, #0 + 15d66: 4b1b ldr r3, [pc, #108] ; (15dd4 ) + 15d68: 4798 blx r3 + 15d6a: 0103 lsls r3, r0, #4 + 15d6c: 1a18 subs r0, r3, r0 + 15d6e: 3050 adds r0, #80 ; 0x50 + 15d70: 21a0 movs r1, #160 ; 0xa0 + 15d72: 4b21 ldr r3, [pc, #132] ; (15df8 ) + 15d74: 4798 blx r3 + 15d76: b202 sxth r2, r0 + 15d78: f7fe fcc0 bl 146fc + 15d7c: 2000 movs r0, #0 + 15d7e: 4b15 ldr r3, [pc, #84] ; (15dd4 ) + 15d80: 4798 blx r3 + 15d82: 0103 lsls r3, r0, #4 + 15d84: 1a18 subs r0, r3, r0 + 15d86: 0040 lsls r0, r0, #1 + 15d88: 3050 adds r0, #80 ; 0x50 + 15d8a: 21a0 movs r1, #160 ; 0xa0 + 15d8c: 4b1a ldr r3, [pc, #104] ; (15df8 ) + 15d8e: 4798 blx r3 + 15d90: b202 sxth r2, r0 + 15d92: f7fe fcb3 bl 146fc lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 15d2e: 2000 movs r0, #0 - 15d30: 4b0e ldr r3, [pc, #56] ; (15d6c ) - 15d32: 4798 blx r3 - 15d34: 0103 lsls r3, r0, #4 - 15d36: 1a18 subs r0, r3, r0 - 15d38: 3050 adds r0, #80 ; 0x50 - 15d3a: 2340 movs r3, #64 ; 0x40 - 15d3c: 33ff adds r3, #255 ; 0xff - 15d3e: 2201 movs r2, #1 - 15d40: 4298 cmp r0, r3 - 15d42: d801 bhi.n 15d48 - 15d44: f7fe fcc2 bl 146cc - 15d48: 2000 movs r0, #0 - 15d4a: 4b08 ldr r3, [pc, #32] ; (15d6c ) - 15d4c: 4798 blx r3 - 15d4e: 0103 lsls r3, r0, #4 - 15d50: 1a18 subs r0, r3, r0 - 15d52: 3050 adds r0, #80 ; 0x50 - 15d54: 21a0 movs r1, #160 ; 0xa0 - 15d56: 4b0e ldr r3, [pc, #56] ; (15d90 ) - 15d58: 4798 blx r3 - 15d5a: b202 sxth r2, r0 - 15d5c: f7fe fcb6 bl 146cc - 15d60: 00004c8d .word 0x00004c8d - 15d64: 20004c38 .word 0x20004c38 - 15d68: 0000f619 .word 0x0000f619 - 15d6c: 0000f5fd .word 0x0000f5fd - 15d70: 0001242d .word 0x0001242d - 15d74: 20004c3c .word 0x20004c3c - 15d78: 00004ded .word 0x00004ded - 15d7c: 00011c11 .word 0x00011c11 - 15d80: 20004c34 .word 0x20004c34 - 15d84: 000026cd .word 0x000026cd - 15d88: 00010a09 .word 0x00010a09 - 15d8c: 20004d74 .word 0x20004d74 - 15d90: 00017961 .word 0x00017961 - 15d94: 2000 movs r0, #0 - 15d96: 4bfc ldr r3, [pc, #1008] ; (16188 ) - 15d98: 4798 blx r3 - 15d9a: 0103 lsls r3, r0, #4 - 15d9c: 1a18 subs r0, r3, r0 - 15d9e: 0040 lsls r0, r0, #1 + 15d96: 2000 movs r0, #0 + 15d98: 4b0e ldr r3, [pc, #56] ; (15dd4 ) + 15d9a: 4798 blx r3 + 15d9c: 0103 lsls r3, r0, #4 + 15d9e: 1a18 subs r0, r3, r0 15da0: 3050 adds r0, #80 ; 0x50 - 15da2: 21a0 movs r1, #160 ; 0xa0 - 15da4: 4bf9 ldr r3, [pc, #996] ; (1618c ) - 15da6: 4798 blx r3 - 15da8: b202 sxth r2, r0 - 15daa: f7fe fc8f bl 146cc + 15da2: 2340 movs r3, #64 ; 0x40 + 15da4: 33ff adds r3, #255 ; 0xff + 15da6: 2201 movs r2, #1 + 15da8: 4298 cmp r0, r3 + 15daa: d801 bhi.n 15db0 + 15dac: f7fe fcc2 bl 14734 + 15db0: 2000 movs r0, #0 + 15db2: 4b08 ldr r3, [pc, #32] ; (15dd4 ) + 15db4: 4798 blx r3 + 15db6: 0103 lsls r3, r0, #4 + 15db8: 1a18 subs r0, r3, r0 + 15dba: 3050 adds r0, #80 ; 0x50 + 15dbc: 21a0 movs r1, #160 ; 0xa0 + 15dbe: 4b0e ldr r3, [pc, #56] ; (15df8 ) + 15dc0: 4798 blx r3 + 15dc2: b202 sxth r2, r0 + 15dc4: f7fe fcb6 bl 14734 + 15dc8: 00004cf5 .word 0x00004cf5 + 15dcc: 20004c38 .word 0x20004c38 + 15dd0: 0000f681 .word 0x0000f681 + 15dd4: 0000f665 .word 0x0000f665 + 15dd8: 00012495 .word 0x00012495 + 15ddc: 20004c3c .word 0x20004c3c + 15de0: 00004e55 .word 0x00004e55 + 15de4: 00011c79 .word 0x00011c79 + 15de8: 20004c34 .word 0x20004c34 + 15dec: 00002735 .word 0x00002735 + 15df0: 00010a71 .word 0x00010a71 + 15df4: 20004d74 .word 0x20004d74 + 15df8: 000179f1 .word 0x000179f1 + 15dfc: 2000 movs r0, #0 + 15dfe: 4bfc ldr r3, [pc, #1008] ; (161f0 ) + 15e00: 4798 blx r3 + 15e02: 0103 lsls r3, r0, #4 + 15e04: 1a18 subs r0, r3, r0 + 15e06: 0040 lsls r0, r0, #1 + 15e08: 3050 adds r0, #80 ; 0x50 + 15e0a: 21a0 movs r1, #160 ; 0xa0 + 15e0c: 4bf9 ldr r3, [pc, #996] ; (161f4 ) + 15e0e: 4798 blx r3 + 15e10: b202 sxth r2, r0 + 15e12: f7fe fc8f bl 14734 lv_style_set_text_color(&styles->calendar_header, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x888888) : LV_COLOR_WHITE); - 15dae: 2222 movs r2, #34 ; 0x22 - 15db0: 2311 movs r3, #17 - 15db2: f7fe fc9a bl 146ea + 15e16: 2222 movs r2, #34 ; 0x22 + 15e18: 2311 movs r3, #17 + 15e1a: f7fe fc9a bl 14752 lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee)); - 15db6: 2306 movs r3, #6 - 15db8: 2110 movs r1, #16 - 15dba: 2209 movs r2, #9 - 15dbc: f7fe fcac bl 14718 + 15e1e: 2306 movs r3, #6 + 15e20: 2110 movs r1, #16 + 15e22: 2209 movs r2, #9 + 15e24: f7fe fcac bl 14780 lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 15dc0: 2000 movs r0, #0 - 15dc2: 4bf1 ldr r3, [pc, #964] ; (16188 ) - 15dc4: 4798 blx r3 - 15dc6: 0103 lsls r3, r0, #4 - 15dc8: 1a18 subs r0, r3, r0 - 15dca: 3050 adds r0, #80 ; 0x50 - 15dcc: 2340 movs r3, #64 ; 0x40 - 15dce: 33ff adds r3, #255 ; 0xff - 15dd0: 2201 movs r2, #1 - 15dd2: 4298 cmp r0, r3 - 15dd4: d801 bhi.n 15dda - 15dd6: f7fe fcbe bl 14756 - 15dda: 2000 movs r0, #0 - 15ddc: 4bea ldr r3, [pc, #936] ; (16188 ) - 15dde: 4798 blx r3 - 15de0: 0103 lsls r3, r0, #4 - 15de2: 1a18 subs r0, r3, r0 - 15de4: 3050 adds r0, #80 ; 0x50 - 15de6: 21a0 movs r1, #160 ; 0xa0 - 15de8: 4be8 ldr r3, [pc, #928] ; (1618c ) - 15dea: 4798 blx r3 - 15dec: b202 sxth r2, r0 - 15dee: f7fe fcb2 bl 14756 - 15df2: 2000 movs r0, #0 - 15df4: 4be4 ldr r3, [pc, #912] ; (16188 ) - 15df6: 4798 blx r3 - 15df8: 0103 lsls r3, r0, #4 - 15dfa: 1a18 subs r0, r3, r0 - 15dfc: 0040 lsls r0, r0, #1 - 15dfe: 3050 adds r0, #80 ; 0x50 - 15e00: 21a0 movs r1, #160 ; 0xa0 - 15e02: 4be2 ldr r3, [pc, #904] ; (1618c ) - 15e04: 4798 blx r3 - 15e06: b202 sxth r2, r0 - 15e08: f7fe fca5 bl 14756 + 15e28: 2000 movs r0, #0 + 15e2a: 4bf1 ldr r3, [pc, #964] ; (161f0 ) + 15e2c: 4798 blx r3 + 15e2e: 0103 lsls r3, r0, #4 + 15e30: 1a18 subs r0, r3, r0 + 15e32: 3050 adds r0, #80 ; 0x50 + 15e34: 2340 movs r3, #64 ; 0x40 + 15e36: 33ff adds r3, #255 ; 0xff + 15e38: 2201 movs r2, #1 + 15e3a: 4298 cmp r0, r3 + 15e3c: d801 bhi.n 15e42 + 15e3e: f7fe fcbe bl 147be + 15e42: 2000 movs r0, #0 + 15e44: 4bea ldr r3, [pc, #936] ; (161f0 ) + 15e46: 4798 blx r3 + 15e48: 0103 lsls r3, r0, #4 + 15e4a: 1a18 subs r0, r3, r0 + 15e4c: 3050 adds r0, #80 ; 0x50 + 15e4e: 21a0 movs r1, #160 ; 0xa0 + 15e50: 4be8 ldr r3, [pc, #928] ; (161f4 ) + 15e52: 4798 blx r3 + 15e54: b202 sxth r2, r0 + 15e56: f7fe fcb2 bl 147be + 15e5a: 2000 movs r0, #0 + 15e5c: 4be4 ldr r3, [pc, #912] ; (161f0 ) + 15e5e: 4798 blx r3 + 15e60: 0103 lsls r3, r0, #4 + 15e62: 1a18 subs r0, r3, r0 + 15e64: 0040 lsls r0, r0, #1 + 15e66: 3050 adds r0, #80 ; 0x50 + 15e68: 21a0 movs r1, #160 ; 0xa0 + 15e6a: 4be2 ldr r3, [pc, #904] ; (161f4 ) + 15e6c: 4798 blx r3 + 15e6e: b202 sxth r2, r0 + 15e70: f7fe fca5 bl 147be lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 15e0c: 2000 movs r0, #0 - 15e0e: 4bde ldr r3, [pc, #888] ; (16188 ) - 15e10: 4798 blx r3 - 15e12: 0103 lsls r3, r0, #4 - 15e14: 1a18 subs r0, r3, r0 - 15e16: 3050 adds r0, #80 ; 0x50 - 15e18: 2340 movs r3, #64 ; 0x40 - 15e1a: 33ff adds r3, #255 ; 0xff - 15e1c: 2201 movs r2, #1 - 15e1e: 4298 cmp r0, r3 - 15e20: d801 bhi.n 15e26 - 15e22: f7fe fcb4 bl 1478e - 15e26: 2000 movs r0, #0 - 15e28: 4bd7 ldr r3, [pc, #860] ; (16188 ) - 15e2a: 4798 blx r3 - 15e2c: 0103 lsls r3, r0, #4 - 15e2e: 1a18 subs r0, r3, r0 - 15e30: 3050 adds r0, #80 ; 0x50 - 15e32: 21a0 movs r1, #160 ; 0xa0 - 15e34: 4bd5 ldr r3, [pc, #852] ; (1618c ) - 15e36: 4798 blx r3 - 15e38: b202 sxth r2, r0 - 15e3a: f7fe fca8 bl 1478e - 15e3e: 2000 movs r0, #0 - 15e40: 4bd1 ldr r3, [pc, #836] ; (16188 ) - 15e42: 4798 blx r3 - 15e44: 0103 lsls r3, r0, #4 - 15e46: 1a18 subs r0, r3, r0 - 15e48: 0040 lsls r0, r0, #1 - 15e4a: 3050 adds r0, #80 ; 0x50 - 15e4c: 21a0 movs r1, #160 ; 0xa0 - 15e4e: 4bcf ldr r3, [pc, #828] ; (1618c ) - 15e50: 4798 blx r3 - 15e52: b202 sxth r2, r0 - 15e54: f7fe fc9b bl 1478e + 15e74: 2000 movs r0, #0 + 15e76: 4bde ldr r3, [pc, #888] ; (161f0 ) + 15e78: 4798 blx r3 + 15e7a: 0103 lsls r3, r0, #4 + 15e7c: 1a18 subs r0, r3, r0 + 15e7e: 3050 adds r0, #80 ; 0x50 + 15e80: 2340 movs r3, #64 ; 0x40 + 15e82: 33ff adds r3, #255 ; 0xff + 15e84: 2201 movs r2, #1 + 15e86: 4298 cmp r0, r3 + 15e88: d801 bhi.n 15e8e + 15e8a: f7fe fcb4 bl 147f6 + 15e8e: 2000 movs r0, #0 + 15e90: 4bd7 ldr r3, [pc, #860] ; (161f0 ) + 15e92: 4798 blx r3 + 15e94: 0103 lsls r3, r0, #4 + 15e96: 1a18 subs r0, r3, r0 + 15e98: 3050 adds r0, #80 ; 0x50 + 15e9a: 21a0 movs r1, #160 ; 0xa0 + 15e9c: 4bd5 ldr r3, [pc, #852] ; (161f4 ) + 15e9e: 4798 blx r3 + 15ea0: b202 sxth r2, r0 + 15ea2: f7fe fca8 bl 147f6 + 15ea6: 2000 movs r0, #0 + 15ea8: 4bd1 ldr r3, [pc, #836] ; (161f0 ) + 15eaa: 4798 blx r3 + 15eac: 0103 lsls r3, r0, #4 + 15eae: 1a18 subs r0, r3, r0 + 15eb0: 0040 lsls r0, r0, #1 + 15eb2: 3050 adds r0, #80 ; 0x50 + 15eb4: 21a0 movs r1, #160 ; 0xa0 + 15eb6: 4bcf ldr r3, [pc, #828] ; (161f4 ) + 15eb8: 4798 blx r3 + 15eba: b202 sxth r2, r0 + 15ebc: f7fe fc9b bl 147f6 lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 15e58: 2000 movs r0, #0 - 15e5a: 4bcb ldr r3, [pc, #812] ; (16188 ) - 15e5c: 4798 blx r3 - 15e5e: 0103 lsls r3, r0, #4 - 15e60: 1a18 subs r0, r3, r0 - 15e62: 3050 adds r0, #80 ; 0x50 - 15e64: 2340 movs r3, #64 ; 0x40 - 15e66: 33ff adds r3, #255 ; 0xff - 15e68: 2201 movs r2, #1 - 15e6a: 4298 cmp r0, r3 - 15e6c: d801 bhi.n 15e72 - 15e6e: f7fe fcaa bl 147c6 - 15e72: 2000 movs r0, #0 - 15e74: 4bc4 ldr r3, [pc, #784] ; (16188 ) - 15e76: 4798 blx r3 - 15e78: 0103 lsls r3, r0, #4 - 15e7a: 1a18 subs r0, r3, r0 - 15e7c: 3050 adds r0, #80 ; 0x50 - 15e7e: 21a0 movs r1, #160 ; 0xa0 - 15e80: 4bc2 ldr r3, [pc, #776] ; (1618c ) - 15e82: 4798 blx r3 - 15e84: b202 sxth r2, r0 - 15e86: f7fe fc9e bl 147c6 - 15e8a: 2000 movs r0, #0 - 15e8c: 4bbe ldr r3, [pc, #760] ; (16188 ) - 15e8e: 4798 blx r3 - 15e90: 0103 lsls r3, r0, #4 - 15e92: 1a18 subs r0, r3, r0 - 15e94: 0040 lsls r0, r0, #1 - 15e96: 3050 adds r0, #80 ; 0x50 - 15e98: 21a0 movs r1, #160 ; 0xa0 - 15e9a: 4bbc ldr r3, [pc, #752] ; (1618c ) - 15e9c: 4798 blx r3 - 15e9e: b202 sxth r2, r0 - 15ea0: f7fe fc91 bl 147c6 + 15ec0: 2000 movs r0, #0 + 15ec2: 4bcb ldr r3, [pc, #812] ; (161f0 ) + 15ec4: 4798 blx r3 + 15ec6: 0103 lsls r3, r0, #4 + 15ec8: 1a18 subs r0, r3, r0 + 15eca: 3050 adds r0, #80 ; 0x50 + 15ecc: 2340 movs r3, #64 ; 0x40 + 15ece: 33ff adds r3, #255 ; 0xff + 15ed0: 2201 movs r2, #1 + 15ed2: 4298 cmp r0, r3 + 15ed4: d801 bhi.n 15eda + 15ed6: f7fe fcaa bl 1482e + 15eda: 2000 movs r0, #0 + 15edc: 4bc4 ldr r3, [pc, #784] ; (161f0 ) + 15ede: 4798 blx r3 + 15ee0: 0103 lsls r3, r0, #4 + 15ee2: 1a18 subs r0, r3, r0 + 15ee4: 3050 adds r0, #80 ; 0x50 + 15ee6: 21a0 movs r1, #160 ; 0xa0 + 15ee8: 4bc2 ldr r3, [pc, #776] ; (161f4 ) + 15eea: 4798 blx r3 + 15eec: b202 sxth r2, r0 + 15eee: f7fe fc9e bl 1482e + 15ef2: 2000 movs r0, #0 + 15ef4: 4bbe ldr r3, [pc, #760] ; (161f0 ) + 15ef6: 4798 blx r3 + 15ef8: 0103 lsls r3, r0, #4 + 15efa: 1a18 subs r0, r3, r0 + 15efc: 0040 lsls r0, r0, #1 + 15efe: 3050 adds r0, #80 ; 0x50 + 15f00: 21a0 movs r1, #160 ; 0xa0 + 15f02: 4bbc ldr r3, [pc, #752] ; (161f4 ) + 15f04: 4798 blx r3 + 15f06: b202 sxth r2, r0 + 15f08: f7fe fc91 bl 1482e lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4)); - 15ea4: 2000 movs r0, #0 - 15ea6: 4bb8 ldr r3, [pc, #736] ; (16188 ) - 15ea8: 4798 blx r3 - 15eaa: 3014 adds r0, #20 - 15eac: 0080 lsls r0, r0, #2 - 15eae: 21a0 movs r1, #160 ; 0xa0 - 15eb0: 4bb6 ldr r3, [pc, #728] ; (1618c ) - 15eb2: 4798 blx r3 - 15eb4: b202 sxth r2, r0 - 15eb6: f7fe fc9d bl 147f4 + 15f0c: 2000 movs r0, #0 + 15f0e: 4bb8 ldr r3, [pc, #736] ; (161f0 ) + 15f10: 4798 blx r3 + 15f12: 3014 adds r0, #20 + 15f14: 0080 lsls r0, r0, #2 + 15f16: 21a0 movs r1, #160 ; 0xa0 + 15f18: 4bb6 ldr r3, [pc, #728] ; (161f4 ) + 15f1a: 4798 blx r3 + 15f1c: b202 sxth r2, r0 + 15f1e: f7fe fc9d bl 1485c lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 15eba: 2306 movs r3, #6 - 15ebc: 2110 movs r1, #16 - 15ebe: 2209 movs r2, #9 - 15ec0: f7fe fca8 bl 14814 + 15f22: 2306 movs r3, #6 + 15f24: 2110 movs r1, #16 + 15f26: 2209 movs r2, #9 + 15f28: f7fe fca8 bl 1487c lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x666666) : LV_COLOR_WHITE); - 15ec4: 2219 movs r2, #25 - 15ec6: 230c movs r3, #12 - 15ec8: f7fe fd01 bl 148ce + 15f2c: 2219 movs r2, #25 + 15f2e: 230c movs r3, #12 + 15f30: f7fe fd01 bl 14936 lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3)); - 15ecc: 2000 movs r0, #0 - 15ece: 4bae ldr r3, [pc, #696] ; (16188 ) - 15ed0: 4798 blx r3 - 15ed2: 0003 movs r3, r0 - 15ed4: 0040 lsls r0, r0, #1 - 15ed6: 18c0 adds r0, r0, r3 - 15ed8: 3050 adds r0, #80 ; 0x50 - 15eda: 21a0 movs r1, #160 ; 0xa0 - 15edc: 4bab ldr r3, [pc, #684] ; (1618c ) - 15ede: 4798 blx r3 - 15ee0: b202 sxth r2, r0 - 15ee2: f7fe fd25 bl 14930 + 15f34: 2000 movs r0, #0 + 15f36: 4bae ldr r3, [pc, #696] ; (161f0 ) + 15f38: 4798 blx r3 + 15f3a: 0003 movs r3, r0 + 15f3c: 0040 lsls r0, r0, #1 + 15f3e: 18c0 adds r0, r0, r3 + 15f40: 3050 adds r0, #80 ; 0x50 + 15f42: 21a0 movs r1, #160 ; 0xa0 + 15f44: 4bab ldr r3, [pc, #684] ; (161f4 ) + 15f46: 4798 blx r3 + 15f48: b202 sxth r2, r0 + 15f4a: f7fe fd25 bl 14998 lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 15ee6: 2000 movs r0, #0 - 15ee8: 4ba7 ldr r3, [pc, #668] ; (16188 ) - 15eea: 4798 blx r3 - 15eec: 0103 lsls r3, r0, #4 - 15eee: 1a18 subs r0, r3, r0 - 15ef0: 3050 adds r0, #80 ; 0x50 - 15ef2: 2340 movs r3, #64 ; 0x40 - 15ef4: 33ff adds r3, #255 ; 0xff - 15ef6: 2201 movs r2, #1 - 15ef8: 4298 cmp r0, r3 - 15efa: d801 bhi.n 15f00 - 15efc: f7fe fd34 bl 14968 - 15f00: 2000 movs r0, #0 - 15f02: 4ba1 ldr r3, [pc, #644] ; (16188 ) - 15f04: 4798 blx r3 - 15f06: 0103 lsls r3, r0, #4 - 15f08: 1a18 subs r0, r3, r0 - 15f0a: 3050 adds r0, #80 ; 0x50 - 15f0c: 21a0 movs r1, #160 ; 0xa0 - 15f0e: 4b9f ldr r3, [pc, #636] ; (1618c ) - 15f10: 4798 blx r3 - 15f12: b202 sxth r2, r0 - 15f14: f7fe fd28 bl 14968 - 15f18: 2000 movs r0, #0 - 15f1a: 4b9b ldr r3, [pc, #620] ; (16188 ) - 15f1c: 4798 blx r3 - 15f1e: 0103 lsls r3, r0, #4 - 15f20: 1a18 subs r0, r3, r0 - 15f22: 0040 lsls r0, r0, #1 - 15f24: 3050 adds r0, #80 ; 0x50 - 15f26: 21a0 movs r1, #160 ; 0xa0 - 15f28: 4b98 ldr r3, [pc, #608] ; (1618c ) - 15f2a: 4798 blx r3 - 15f2c: b202 sxth r2, r0 - 15f2e: f7fe fd1b bl 14968 + 15f4e: 2000 movs r0, #0 + 15f50: 4ba7 ldr r3, [pc, #668] ; (161f0 ) + 15f52: 4798 blx r3 + 15f54: 0103 lsls r3, r0, #4 + 15f56: 1a18 subs r0, r3, r0 + 15f58: 3050 adds r0, #80 ; 0x50 + 15f5a: 2340 movs r3, #64 ; 0x40 + 15f5c: 33ff adds r3, #255 ; 0xff + 15f5e: 2201 movs r2, #1 + 15f60: 4298 cmp r0, r3 + 15f62: d801 bhi.n 15f68 + 15f64: f7fe fd34 bl 149d0 + 15f68: 2000 movs r0, #0 + 15f6a: 4ba1 ldr r3, [pc, #644] ; (161f0 ) + 15f6c: 4798 blx r3 + 15f6e: 0103 lsls r3, r0, #4 + 15f70: 1a18 subs r0, r3, r0 + 15f72: 3050 adds r0, #80 ; 0x50 + 15f74: 21a0 movs r1, #160 ; 0xa0 + 15f76: 4b9f ldr r3, [pc, #636] ; (161f4 ) + 15f78: 4798 blx r3 + 15f7a: b202 sxth r2, r0 + 15f7c: f7fe fd28 bl 149d0 + 15f80: 2000 movs r0, #0 + 15f82: 4b9b ldr r3, [pc, #620] ; (161f0 ) + 15f84: 4798 blx r3 + 15f86: 0103 lsls r3, r0, #4 + 15f88: 1a18 subs r0, r3, r0 + 15f8a: 0040 lsls r0, r0, #1 + 15f8c: 3050 adds r0, #80 ; 0x50 + 15f8e: 21a0 movs r1, #160 ; 0xa0 + 15f90: 4b98 ldr r3, [pc, #608] ; (161f4 ) + 15f92: 4798 blx r3 + 15f94: b202 sxth r2, r0 + 15f96: f7fe fd1b bl 149d0 lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 15f32: 2000 movs r0, #0 - 15f34: 4b94 ldr r3, [pc, #592] ; (16188 ) - 15f36: 4798 blx r3 - 15f38: 0103 lsls r3, r0, #4 - 15f3a: 1a18 subs r0, r3, r0 - 15f3c: 3050 adds r0, #80 ; 0x50 - 15f3e: 2340 movs r3, #64 ; 0x40 - 15f40: 33ff adds r3, #255 ; 0xff - 15f42: 2201 movs r2, #1 - 15f44: 4298 cmp r0, r3 - 15f46: d801 bhi.n 15f4c - 15f48: f7fe fd2a bl 149a0 - 15f4c: 2000 movs r0, #0 - 15f4e: 4b8e ldr r3, [pc, #568] ; (16188 ) - 15f50: 4798 blx r3 - 15f52: 0103 lsls r3, r0, #4 - 15f54: 1a18 subs r0, r3, r0 - 15f56: 3050 adds r0, #80 ; 0x50 - 15f58: 21a0 movs r1, #160 ; 0xa0 - 15f5a: 4b8c ldr r3, [pc, #560] ; (1618c ) - 15f5c: 4798 blx r3 - 15f5e: b202 sxth r2, r0 - 15f60: f7fe fd1e bl 149a0 - 15f64: 2000 movs r0, #0 - 15f66: 4b88 ldr r3, [pc, #544] ; (16188 ) - 15f68: 4798 blx r3 - 15f6a: 0103 lsls r3, r0, #4 - 15f6c: 1a18 subs r0, r3, r0 - 15f6e: 0040 lsls r0, r0, #1 - 15f70: 3050 adds r0, #80 ; 0x50 - 15f72: 21a0 movs r1, #160 ; 0xa0 - 15f74: 4b85 ldr r3, [pc, #532] ; (1618c ) - 15f76: 4798 blx r3 - 15f78: b202 sxth r2, r0 - 15f7a: f7fe fd11 bl 149a0 + 15f9a: 2000 movs r0, #0 + 15f9c: 4b94 ldr r3, [pc, #592] ; (161f0 ) + 15f9e: 4798 blx r3 + 15fa0: 0103 lsls r3, r0, #4 + 15fa2: 1a18 subs r0, r3, r0 + 15fa4: 3050 adds r0, #80 ; 0x50 + 15fa6: 2340 movs r3, #64 ; 0x40 + 15fa8: 33ff adds r3, #255 ; 0xff + 15faa: 2201 movs r2, #1 + 15fac: 4298 cmp r0, r3 + 15fae: d801 bhi.n 15fb4 + 15fb0: f7fe fd2a bl 14a08 + 15fb4: 2000 movs r0, #0 + 15fb6: 4b8e ldr r3, [pc, #568] ; (161f0 ) + 15fb8: 4798 blx r3 + 15fba: 0103 lsls r3, r0, #4 + 15fbc: 1a18 subs r0, r3, r0 + 15fbe: 3050 adds r0, #80 ; 0x50 + 15fc0: 21a0 movs r1, #160 ; 0xa0 + 15fc2: 4b8c ldr r3, [pc, #560] ; (161f4 ) + 15fc4: 4798 blx r3 + 15fc6: b202 sxth r2, r0 + 15fc8: f7fe fd1e bl 14a08 + 15fcc: 2000 movs r0, #0 + 15fce: 4b88 ldr r3, [pc, #544] ; (161f0 ) + 15fd0: 4798 blx r3 + 15fd2: 0103 lsls r3, r0, #4 + 15fd4: 1a18 subs r0, r3, r0 + 15fd6: 0040 lsls r0, r0, #1 + 15fd8: 3050 adds r0, #80 ; 0x50 + 15fda: 21a0 movs r1, #160 ; 0xa0 + 15fdc: 4b85 ldr r3, [pc, #532] ; (161f4 ) + 15fde: 4798 blx r3 + 15fe0: b202 sxth r2, r0 + 15fe2: f7fe fd11 bl 14a08 lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 15f7e: 2000 movs r0, #0 - 15f80: 4b81 ldr r3, [pc, #516] ; (16188 ) - 15f82: 4798 blx r3 - 15f84: 0103 lsls r3, r0, #4 - 15f86: 1a18 subs r0, r3, r0 - 15f88: 3050 adds r0, #80 ; 0x50 - 15f8a: 2340 movs r3, #64 ; 0x40 - 15f8c: 33ff adds r3, #255 ; 0xff - 15f8e: 2201 movs r2, #1 - 15f90: 4298 cmp r0, r3 - 15f92: d801 bhi.n 15f98 - 15f94: f7fe fd20 bl 149d8 - 15f98: 2000 movs r0, #0 - 15f9a: 4b7b ldr r3, [pc, #492] ; (16188 ) - 15f9c: 4798 blx r3 - 15f9e: 0103 lsls r3, r0, #4 - 15fa0: 1a18 subs r0, r3, r0 - 15fa2: 3050 adds r0, #80 ; 0x50 - 15fa4: 21a0 movs r1, #160 ; 0xa0 - 15fa6: 4b79 ldr r3, [pc, #484] ; (1618c ) - 15fa8: 4798 blx r3 - 15faa: b202 sxth r2, r0 - 15fac: f7fe fd14 bl 149d8 - 15fb0: 2000 movs r0, #0 - 15fb2: 4b75 ldr r3, [pc, #468] ; (16188 ) - 15fb4: 4798 blx r3 - 15fb6: 0103 lsls r3, r0, #4 - 15fb8: 1a18 subs r0, r3, r0 - 15fba: 0040 lsls r0, r0, #1 - 15fbc: 3050 adds r0, #80 ; 0x50 - 15fbe: 21a0 movs r1, #160 ; 0xa0 - 15fc0: 4b72 ldr r3, [pc, #456] ; (1618c ) - 15fc2: 4798 blx r3 - 15fc4: b202 sxth r2, r0 - 15fc6: f7fe fd07 bl 149d8 + 15fe6: 2000 movs r0, #0 + 15fe8: 4b81 ldr r3, [pc, #516] ; (161f0 ) + 15fea: 4798 blx r3 + 15fec: 0103 lsls r3, r0, #4 + 15fee: 1a18 subs r0, r3, r0 + 15ff0: 3050 adds r0, #80 ; 0x50 + 15ff2: 2340 movs r3, #64 ; 0x40 + 15ff4: 33ff adds r3, #255 ; 0xff + 15ff6: 2201 movs r2, #1 + 15ff8: 4298 cmp r0, r3 + 15ffa: d801 bhi.n 16000 + 15ffc: f7fe fd20 bl 14a40 + 16000: 2000 movs r0, #0 + 16002: 4b7b ldr r3, [pc, #492] ; (161f0 ) + 16004: 4798 blx r3 + 16006: 0103 lsls r3, r0, #4 + 16008: 1a18 subs r0, r3, r0 + 1600a: 3050 adds r0, #80 ; 0x50 + 1600c: 21a0 movs r1, #160 ; 0xa0 + 1600e: 4b79 ldr r3, [pc, #484] ; (161f4 ) + 16010: 4798 blx r3 + 16012: b202 sxth r2, r0 + 16014: f7fe fd14 bl 14a40 + 16018: 2000 movs r0, #0 + 1601a: 4b75 ldr r3, [pc, #468] ; (161f0 ) + 1601c: 4798 blx r3 + 1601e: 0103 lsls r3, r0, #4 + 16020: 1a18 subs r0, r3, r0 + 16022: 0040 lsls r0, r0, #1 + 16024: 3050 adds r0, #80 ; 0x50 + 16026: 21a0 movs r1, #160 ; 0xa0 + 16028: 4b72 ldr r3, [pc, #456] ; (161f4 ) + 1602a: 4798 blx r3 + 1602c: b202 sxth r2, r0 + 1602e: f7fe fd07 bl 14a40 lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30)); - 15fca: 2000 movs r0, #0 - 15fcc: 4b6e ldr r3, [pc, #440] ; (16188 ) - 15fce: 4798 blx r3 - 15fd0: 0103 lsls r3, r0, #4 - 15fd2: 1a18 subs r0, r3, r0 - 15fd4: 0040 lsls r0, r0, #1 - 15fd6: 3050 adds r0, #80 ; 0x50 - 15fd8: 21a0 movs r1, #160 ; 0xa0 - 15fda: 4b6c ldr r3, [pc, #432] ; (1618c ) - 15fdc: 4798 blx r3 - 15fde: b202 sxth r2, r0 - 15fe0: f7fe fd13 bl 14a0a + 16032: 2000 movs r0, #0 + 16034: 4b6e ldr r3, [pc, #440] ; (161f0 ) + 16036: 4798 blx r3 + 16038: 0103 lsls r3, r0, #4 + 1603a: 1a18 subs r0, r3, r0 + 1603c: 0040 lsls r0, r0, #1 + 1603e: 3050 adds r0, #80 ; 0x50 + 16040: 21a0 movs r1, #160 ; 0xa0 + 16042: 4b6c ldr r3, [pc, #432] ; (161f4 ) + 16044: 4798 blx r3 + 16046: b202 sxth r2, r0 + 16048: f7fe fd13 bl 14a72 lv_style_set_bg_color(&styles->cpicker_bg, LV_STATE_DEFAULT, COLOR_SCR); - 15fe4: 231d movs r3, #29 - 15fe6: 213b movs r1, #59 ; 0x3b - 15fe8: 221e movs r2, #30 - 15fea: f7fe fd24 bl 14a36 + 1604c: 231d movs r3, #29 + 1604e: 213b movs r1, #59 ; 0x3b + 16050: 221e movs r2, #30 + 16052: f7fe fd24 bl 14a9e lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20)); - 15fee: 2000 movs r0, #0 - 15ff0: 4b65 ldr r3, [pc, #404] ; (16188 ) - 15ff2: 4798 blx r3 - 15ff4: 0003 movs r3, r0 - 15ff6: 0080 lsls r0, r0, #2 - 15ff8: 18c0 adds r0, r0, r3 - 15ffa: 0080 lsls r0, r0, #2 - 15ffc: 3050 adds r0, #80 ; 0x50 - 15ffe: 21a0 movs r1, #160 ; 0xa0 - 16000: 4b62 ldr r3, [pc, #392] ; (1618c ) - 16002: 4798 blx r3 - 16004: b202 sxth r2, r0 - 16006: f7fe fd2e bl 14a66 + 16056: 2000 movs r0, #0 + 16058: 4b65 ldr r3, [pc, #404] ; (161f0 ) + 1605a: 4798 blx r3 + 1605c: 0003 movs r3, r0 + 1605e: 0080 lsls r0, r0, #2 + 16060: 18c0 adds r0, r0, r3 + 16062: 0080 lsls r0, r0, #2 + 16064: 3050 adds r0, #80 ; 0x50 + 16066: 21a0 movs r1, #160 ; 0xa0 + 16068: 4b62 ldr r3, [pc, #392] ; (161f4 ) + 1606a: 4798 blx r3 + 1606c: b202 sxth r2, r0 + 1606e: f7fe fd2e bl 14ace lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 1600a: 2000 movs r0, #0 - 1600c: 4b5e ldr r3, [pc, #376] ; (16188 ) - 1600e: 4798 blx r3 - 16010: 0003 movs r3, r0 - 16012: 0040 lsls r0, r0, #1 - 16014: 18c0 adds r0, r0, r3 - 16016: 0080 lsls r0, r0, #2 - 16018: 18c0 adds r0, r0, r3 - 1601a: 3050 adds r0, #80 ; 0x50 - 1601c: 21a0 movs r1, #160 ; 0xa0 - 1601e: 4b5b ldr r3, [pc, #364] ; (1618c ) - 16020: 4798 blx r3 - 16022: b202 sxth r2, r0 - 16024: f7fe fd67 bl 14af6 + 16072: 2000 movs r0, #0 + 16074: 4b5e ldr r3, [pc, #376] ; (161f0 ) + 16076: 4798 blx r3 + 16078: 0003 movs r3, r0 + 1607a: 0040 lsls r0, r0, #1 + 1607c: 18c0 adds r0, r0, r3 + 1607e: 0080 lsls r0, r0, #2 + 16080: 18c0 adds r0, r0, r3 + 16082: 3050 adds r0, #80 ; 0x50 + 16084: 21a0 movs r1, #160 ; 0xa0 + 16086: 4b5b ldr r3, [pc, #364] ; (161f4 ) + 16088: 4798 blx r3 + 1608a: b202 sxth r2, r0 + 1608c: f7fe fd67 bl 14b5e lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 16028: 2000 movs r0, #0 - 1602a: 4b57 ldr r3, [pc, #348] ; (16188 ) - 1602c: 4798 blx r3 - 1602e: 0003 movs r3, r0 - 16030: 0040 lsls r0, r0, #1 - 16032: 18c0 adds r0, r0, r3 - 16034: 0080 lsls r0, r0, #2 - 16036: 18c0 adds r0, r0, r3 - 16038: 3050 adds r0, #80 ; 0x50 - 1603a: 21a0 movs r1, #160 ; 0xa0 - 1603c: 4b53 ldr r3, [pc, #332] ; (1618c ) - 1603e: 4798 blx r3 - 16040: b202 sxth r2, r0 - 16042: f7fe fd6f bl 14b24 + 16090: 2000 movs r0, #0 + 16092: 4b57 ldr r3, [pc, #348] ; (161f0 ) + 16094: 4798 blx r3 + 16096: 0003 movs r3, r0 + 16098: 0040 lsls r0, r0, #1 + 1609a: 18c0 adds r0, r0, r3 + 1609c: 0080 lsls r0, r0, #2 + 1609e: 18c0 adds r0, r0, r3 + 160a0: 3050 adds r0, #80 ; 0x50 + 160a2: 21a0 movs r1, #160 ; 0xa0 + 160a4: 4b53 ldr r3, [pc, #332] ; (161f4 ) + 160a6: 4798 blx r3 + 160a8: b202 sxth r2, r0 + 160aa: f7fe fd6f bl 14b8c lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 16046: 2000 movs r0, #0 - 16048: 4b4f ldr r3, [pc, #316] ; (16188 ) - 1604a: 4798 blx r3 - 1604c: 0003 movs r3, r0 - 1604e: 0040 lsls r0, r0, #1 - 16050: 18c0 adds r0, r0, r3 - 16052: 0080 lsls r0, r0, #2 - 16054: 18c0 adds r0, r0, r3 - 16056: 3050 adds r0, #80 ; 0x50 - 16058: 21a0 movs r1, #160 ; 0xa0 - 1605a: 4b4c ldr r3, [pc, #304] ; (1618c ) - 1605c: 4798 blx r3 - 1605e: b202 sxth r2, r0 - 16060: f7fe fd77 bl 14b52 + 160ae: 2000 movs r0, #0 + 160b0: 4b4f ldr r3, [pc, #316] ; (161f0 ) + 160b2: 4798 blx r3 + 160b4: 0003 movs r3, r0 + 160b6: 0040 lsls r0, r0, #1 + 160b8: 18c0 adds r0, r0, r3 + 160ba: 0080 lsls r0, r0, #2 + 160bc: 18c0 adds r0, r0, r3 + 160be: 3050 adds r0, #80 ; 0x50 + 160c0: 21a0 movs r1, #160 ; 0xa0 + 160c2: 4b4c ldr r3, [pc, #304] ; (161f4 ) + 160c4: 4798 blx r3 + 160c6: b202 sxth r2, r0 + 160c8: f7fe fd77 bl 14bba lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 16064: 2000 movs r0, #0 - 16066: 4b48 ldr r3, [pc, #288] ; (16188 ) - 16068: 4798 blx r3 - 1606a: 0003 movs r3, r0 - 1606c: 0040 lsls r0, r0, #1 - 1606e: 18c0 adds r0, r0, r3 - 16070: 0080 lsls r0, r0, #2 - 16072: 18c0 adds r0, r0, r3 - 16074: 3050 adds r0, #80 ; 0x50 - 16076: 21a0 movs r1, #160 ; 0xa0 - 16078: 4b44 ldr r3, [pc, #272] ; (1618c ) - 1607a: 4798 blx r3 - 1607c: b202 sxth r2, r0 - 1607e: f7fe fd7f bl 14b80 - lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 16082: 2000 movs r0, #0 - 16084: 4b40 ldr r3, [pc, #256] ; (16188 ) - 16086: 4798 blx r3 - 16088: 3014 adds r0, #20 - 1608a: 0080 lsls r0, r0, #2 - 1608c: 21a0 movs r1, #160 ; 0xa0 - 1608e: 4b3f ldr r3, [pc, #252] ; (1618c ) - 16090: 4798 blx r3 - 16092: b202 sxth r2, r0 - 16094: f7fe fd8b bl 14bae - lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16098: 2000 movs r0, #0 - 1609a: 4b3b ldr r3, [pc, #236] ; (16188 ) - 1609c: 4798 blx r3 - 1609e: 0003 movs r3, r0 - 160a0: 0080 lsls r0, r0, #2 - 160a2: 18c0 adds r0, r0, r3 - 160a4: 0040 lsls r0, r0, #1 - 160a6: 3050 adds r0, #80 ; 0x50 - 160a8: 21a0 movs r1, #160 ; 0xa0 - 160aa: 4b38 ldr r3, [pc, #224] ; (1618c ) - 160ac: 4798 blx r3 - 160ae: b202 sxth r2, r0 - 160b0: f7fe fd92 bl 14bd8 - lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 160b4: 2000 movs r0, #0 - 160b6: 4b34 ldr r3, [pc, #208] ; (16188 ) - 160b8: 4798 blx r3 - 160ba: 0003 movs r3, r0 - 160bc: 0040 lsls r0, r0, #1 - 160be: 18c0 adds r0, r0, r3 - 160c0: 3050 adds r0, #80 ; 0x50 - 160c2: 21a0 movs r1, #160 ; 0xa0 - 160c4: 4b31 ldr r3, [pc, #196] ; (1618c ) - 160c6: 4798 blx r3 - 160c8: b202 sxth r2, r0 - 160ca: f7fe fdac bl 14c26 - lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 160ce: 2000 movs r0, #0 - 160d0: 4b2d ldr r3, [pc, #180] ; (16188 ) - 160d2: 4798 blx r3 - 160d4: 0003 movs r3, r0 - 160d6: 0080 lsls r0, r0, #2 - 160d8: 18c0 adds r0, r0, r3 - 160da: 0040 lsls r0, r0, #1 + 160cc: 2000 movs r0, #0 + 160ce: 4b48 ldr r3, [pc, #288] ; (161f0 ) + 160d0: 4798 blx r3 + 160d2: 0003 movs r3, r0 + 160d4: 0040 lsls r0, r0, #1 + 160d6: 18c0 adds r0, r0, r3 + 160d8: 0080 lsls r0, r0, #2 + 160da: 18c0 adds r0, r0, r3 160dc: 3050 adds r0, #80 ; 0x50 160de: 21a0 movs r1, #160 ; 0xa0 - 160e0: 4b2a ldr r3, [pc, #168] ; (1618c ) + 160e0: 4b44 ldr r3, [pc, #272] ; (161f4 ) 160e2: 4798 blx r3 160e4: b202 sxth r2, r0 - 160e6: f7fe fdb3 bl 14c50 - lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4)); + 160e6: f7fe fd7f bl 14be8 + lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4)); 160ea: 2000 movs r0, #0 - 160ec: 4b26 ldr r3, [pc, #152] ; (16188 ) + 160ec: 4b40 ldr r3, [pc, #256] ; (161f0 ) 160ee: 4798 blx r3 160f0: 3014 adds r0, #20 160f2: 0080 lsls r0, r0, #2 160f4: 21a0 movs r1, #160 ; 0xa0 - 160f6: 4b25 ldr r3, [pc, #148] ; (1618c ) + 160f6: 4b3f ldr r3, [pc, #252] ; (161f4 ) 160f8: 4798 blx r3 160fa: b202 sxth r2, r0 - 160fc: f7fe fdf0 bl 14ce0 - lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); + 160fc: f7fe fd8b bl 14c16 + lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); 16100: 2000 movs r0, #0 - 16102: 4b21 ldr r3, [pc, #132] ; (16188 ) + 16102: 4b3b ldr r3, [pc, #236] ; (161f0 ) 16104: 4798 blx r3 16106: 0003 movs r3, r0 - 16108: 0040 lsls r0, r0, #1 + 16108: 0080 lsls r0, r0, #2 1610a: 18c0 adds r0, r0, r3 - 1610c: 3050 adds r0, #80 ; 0x50 - 1610e: 21a0 movs r1, #160 ; 0xa0 - 16110: 4b1e ldr r3, [pc, #120] ; (1618c ) - 16112: 4798 blx r3 - 16114: b202 sxth r2, r0 - 16116: f7fe fe0c bl 14d32 - lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 1611a: 2000 movs r0, #0 - 1611c: 4b1a ldr r3, [pc, #104] ; (16188 ) - 1611e: 4798 blx r3 - 16120: 0003 movs r3, r0 - 16122: 0040 lsls r0, r0, #1 - 16124: 18c0 adds r0, r0, r3 - 16126: 3050 adds r0, #80 ; 0x50 - 16128: 21a0 movs r1, #160 ; 0xa0 - 1612a: 4b18 ldr r3, [pc, #96] ; (1618c ) - 1612c: 4798 blx r3 - 1612e: b202 sxth r2, r0 - 16130: f7fe fe13 bl 14d5a - lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 16134: 2000 movs r0, #0 - 16136: 4b14 ldr r3, [pc, #80] ; (16188 ) - 16138: 4798 blx r3 - 1613a: 0003 movs r3, r0 - 1613c: 0040 lsls r0, r0, #1 - 1613e: 18c0 adds r0, r0, r3 - 16140: 3050 adds r0, #80 ; 0x50 - 16142: 21a0 movs r1, #160 ; 0xa0 - 16144: 4b11 ldr r3, [pc, #68] ; (1618c ) - 16146: 4798 blx r3 - 16148: b202 sxth r2, r0 - 1614a: f7fe fe1a bl 14d82 - lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 1614e: 2000 movs r0, #0 - 16150: 4b0d ldr r3, [pc, #52] ; (16188 ) - 16152: 4798 blx r3 - 16154: 0003 movs r3, r0 - 16156: 0040 lsls r0, r0, #1 - 16158: 18c0 adds r0, r0, r3 - 1615a: 3050 adds r0, #80 ; 0x50 + 1610c: 0040 lsls r0, r0, #1 + 1610e: 3050 adds r0, #80 ; 0x50 + 16110: 21a0 movs r1, #160 ; 0xa0 + 16112: 4b38 ldr r3, [pc, #224] ; (161f4 ) + 16114: 4798 blx r3 + 16116: b202 sxth r2, r0 + 16118: f7fe fd92 bl 14c40 + lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3)); + 1611c: 2000 movs r0, #0 + 1611e: 4b34 ldr r3, [pc, #208] ; (161f0 ) + 16120: 4798 blx r3 + 16122: 0003 movs r3, r0 + 16124: 0040 lsls r0, r0, #1 + 16126: 18c0 adds r0, r0, r3 + 16128: 3050 adds r0, #80 ; 0x50 + 1612a: 21a0 movs r1, #160 ; 0xa0 + 1612c: 4b31 ldr r3, [pc, #196] ; (161f4 ) + 1612e: 4798 blx r3 + 16130: b202 sxth r2, r0 + 16132: f7fe fdac bl 14c8e + lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); + 16136: 2000 movs r0, #0 + 16138: 4b2d ldr r3, [pc, #180] ; (161f0 ) + 1613a: 4798 blx r3 + 1613c: 0003 movs r3, r0 + 1613e: 0080 lsls r0, r0, #2 + 16140: 18c0 adds r0, r0, r3 + 16142: 0040 lsls r0, r0, #1 + 16144: 3050 adds r0, #80 ; 0x50 + 16146: 21a0 movs r1, #160 ; 0xa0 + 16148: 4b2a ldr r3, [pc, #168] ; (161f4 ) + 1614a: 4798 blx r3 + 1614c: b202 sxth r2, r0 + 1614e: f7fe fdb3 bl 14cb8 + lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4)); + 16152: 2000 movs r0, #0 + 16154: 4b26 ldr r3, [pc, #152] ; (161f0 ) + 16156: 4798 blx r3 + 16158: 3014 adds r0, #20 + 1615a: 0080 lsls r0, r0, #2 1615c: 21a0 movs r1, #160 ; 0xa0 - 1615e: 4b0b ldr r3, [pc, #44] ; (1618c ) + 1615e: 4b25 ldr r3, [pc, #148] ; (161f4 ) 16160: 4798 blx r3 16162: b202 sxth r2, r0 - 16164: f7fe fe21 bl 14daa - lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4)); + 16164: f7fe fdf0 bl 14d48 + lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); 16168: 2000 movs r0, #0 - 1616a: 4b07 ldr r3, [pc, #28] ; (16188 ) + 1616a: 4b21 ldr r3, [pc, #132] ; (161f0 ) 1616c: 4798 blx r3 - 1616e: 3014 adds r0, #20 - 16170: 0080 lsls r0, r0, #2 - 16172: 21a0 movs r1, #160 ; 0xa0 - 16174: 4b05 ldr r3, [pc, #20] ; (1618c ) - 16176: 4798 blx r3 - 16178: b202 sxth r2, r0 - 1617a: f7fe fe32 bl 14de2 - lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK); - 1617e: 2307 movs r3, #7 - 16180: 210f movs r1, #15 - 16182: 2208 movs r2, #8 - 16184: f7fe fe42 bl 14e0c - 16188: 0000f5fd .word 0x0000f5fd - 1618c: 00017961 .word 0x00017961 - lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 16190: 2000 movs r0, #0 - 16192: 4bf8 ldr r3, [pc, #992] ; (16574 ) + 1616e: 0003 movs r3, r0 + 16170: 0040 lsls r0, r0, #1 + 16172: 18c0 adds r0, r0, r3 + 16174: 3050 adds r0, #80 ; 0x50 + 16176: 21a0 movs r1, #160 ; 0xa0 + 16178: 4b1e ldr r3, [pc, #120] ; (161f4 ) + 1617a: 4798 blx r3 + 1617c: b202 sxth r2, r0 + 1617e: f7fe fe0c bl 14d9a + lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); + 16182: 2000 movs r0, #0 + 16184: 4b1a ldr r3, [pc, #104] ; (161f0 ) + 16186: 4798 blx r3 + 16188: 0003 movs r3, r0 + 1618a: 0040 lsls r0, r0, #1 + 1618c: 18c0 adds r0, r0, r3 + 1618e: 3050 adds r0, #80 ; 0x50 + 16190: 21a0 movs r1, #160 ; 0xa0 + 16192: 4b18 ldr r3, [pc, #96] ; (161f4 ) 16194: 4798 blx r3 - 16196: 0003 movs r3, r0 - 16198: 0080 lsls r0, r0, #2 - 1619a: 18c0 adds r0, r0, r3 - 1619c: 3050 adds r0, #80 ; 0x50 - 1619e: 21a0 movs r1, #160 ; 0xa0 - 161a0: 4bf5 ldr r3, [pc, #980] ; (16578 ) - 161a2: 4798 blx r3 - 161a4: b202 sxth r2, r0 - 161a6: f7fe fe4e bl 14e46 - lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 161aa: 2000 movs r0, #0 - 161ac: 4bf1 ldr r3, [pc, #964] ; (16574 ) + 16196: b202 sxth r2, r0 + 16198: f7fe fe13 bl 14dc2 + lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); + 1619c: 2000 movs r0, #0 + 1619e: 4b14 ldr r3, [pc, #80] ; (161f0 ) + 161a0: 4798 blx r3 + 161a2: 0003 movs r3, r0 + 161a4: 0040 lsls r0, r0, #1 + 161a6: 18c0 adds r0, r0, r3 + 161a8: 3050 adds r0, #80 ; 0x50 + 161aa: 21a0 movs r1, #160 ; 0xa0 + 161ac: 4b11 ldr r3, [pc, #68] ; (161f4 ) 161ae: 4798 blx r3 - 161b0: 0003 movs r3, r0 - 161b2: 0080 lsls r0, r0, #2 - 161b4: 18c0 adds r0, r0, r3 - 161b6: 3050 adds r0, #80 ; 0x50 - 161b8: 21a0 movs r1, #160 ; 0xa0 - 161ba: 4bef ldr r3, [pc, #956] ; (16578 ) - 161bc: 4798 blx r3 - 161be: b202 sxth r2, r0 - 161c0: f7fe fe55 bl 14e6e - lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 161c4: 2000 movs r0, #0 - 161c6: 4beb ldr r3, [pc, #940] ; (16574 ) + 161b0: b202 sxth r2, r0 + 161b2: f7fe fe1a bl 14dea + lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); + 161b6: 2000 movs r0, #0 + 161b8: 4b0d ldr r3, [pc, #52] ; (161f0 ) + 161ba: 4798 blx r3 + 161bc: 0003 movs r3, r0 + 161be: 0040 lsls r0, r0, #1 + 161c0: 18c0 adds r0, r0, r3 + 161c2: 3050 adds r0, #80 ; 0x50 + 161c4: 21a0 movs r1, #160 ; 0xa0 + 161c6: 4b0b ldr r3, [pc, #44] ; (161f4 ) 161c8: 4798 blx r3 - 161ca: 0003 movs r3, r0 - 161cc: 0080 lsls r0, r0, #2 - 161ce: 18c0 adds r0, r0, r3 - 161d0: 3050 adds r0, #80 ; 0x50 - 161d2: 21a0 movs r1, #160 ; 0xa0 - 161d4: 4be8 ldr r3, [pc, #928] ; (16578 ) - 161d6: 4798 blx r3 - 161d8: b202 sxth r2, r0 - 161da: f7fe fe5c bl 14e96 - lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 161de: 2000 movs r0, #0 - 161e0: 4be4 ldr r3, [pc, #912] ; (16574 ) - 161e2: 4798 blx r3 - 161e4: 0003 movs r3, r0 - 161e6: 0080 lsls r0, r0, #2 - 161e8: 18c0 adds r0, r0, r3 - 161ea: 3050 adds r0, #80 ; 0x50 - 161ec: 21a0 movs r1, #160 ; 0xa0 - 161ee: 4be2 ldr r3, [pc, #904] ; (16578 ) - 161f0: 4798 blx r3 - 161f2: b202 sxth r2, r0 - 161f4: f7fe fe63 bl 14ebe - lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3)); + 161ca: b202 sxth r2, r0 + 161cc: f7fe fe21 bl 14e12 + lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4)); + 161d0: 2000 movs r0, #0 + 161d2: 4b07 ldr r3, [pc, #28] ; (161f0 ) + 161d4: 4798 blx r3 + 161d6: 3014 adds r0, #20 + 161d8: 0080 lsls r0, r0, #2 + 161da: 21a0 movs r1, #160 ; 0xa0 + 161dc: 4b05 ldr r3, [pc, #20] ; (161f4 ) + 161de: 4798 blx r3 + 161e0: b202 sxth r2, r0 + 161e2: f7fe fe32 bl 14e4a + lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK); + 161e6: 2307 movs r3, #7 + 161e8: 210f movs r1, #15 + 161ea: 2208 movs r2, #8 + 161ec: f7fe fe42 bl 14e74 + 161f0: 0000f665 .word 0x0000f665 + 161f4: 000179f1 .word 0x000179f1 + lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); 161f8: 2000 movs r0, #0 - 161fa: 4bde ldr r3, [pc, #888] ; (16574 ) + 161fa: 4bf8 ldr r3, [pc, #992] ; (165dc ) 161fc: 4798 blx r3 161fe: 0003 movs r3, r0 - 16200: 0040 lsls r0, r0, #1 + 16200: 0080 lsls r0, r0, #2 16202: 18c0 adds r0, r0, r3 16204: 3050 adds r0, #80 ; 0x50 16206: 21a0 movs r1, #160 ; 0xa0 - 16208: 4bdb ldr r3, [pc, #876] ; (16578 ) + 16208: 4bf5 ldr r3, [pc, #980] ; (165e0 ) 1620a: 4798 blx r3 1620c: b202 sxth r2, r0 - 1620e: f7fe fe6a bl 14ee6 - lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50)); + 1620e: f7fe fe4e bl 14eae + lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); 16212: 2000 movs r0, #0 - 16214: 4bd7 ldr r3, [pc, #860] ; (16574 ) + 16214: 4bf1 ldr r3, [pc, #964] ; (165dc ) 16216: 4798 blx r3 16218: 0003 movs r3, r0 - 1621a: 2032 movs r0, #50 ; 0x32 - 1621c: 4358 muls r0, r3 + 1621a: 0080 lsls r0, r0, #2 + 1621c: 18c0 adds r0, r0, r3 1621e: 3050 adds r0, #80 ; 0x50 16220: 21a0 movs r1, #160 ; 0xa0 - 16222: 4bd5 ldr r3, [pc, #852] ; (16578 ) + 16222: 4bef ldr r3, [pc, #956] ; (165e0 ) 16224: 4798 blx r3 16226: b202 sxth r2, r0 - 16228: f7fe fe75 bl 14f16 + 16228: f7fe fe55 bl 14ed6 + lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); + 1622c: 2000 movs r0, #0 + 1622e: 4beb ldr r3, [pc, #940] ; (165dc ) + 16230: 4798 blx r3 + 16232: 0003 movs r3, r0 + 16234: 0080 lsls r0, r0, #2 + 16236: 18c0 adds r0, r0, r3 + 16238: 3050 adds r0, #80 ; 0x50 + 1623a: 21a0 movs r1, #160 ; 0xa0 + 1623c: 4be8 ldr r3, [pc, #928] ; (165e0 ) + 1623e: 4798 blx r3 + 16240: b202 sxth r2, r0 + 16242: f7fe fe5c bl 14efe + lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); + 16246: 2000 movs r0, #0 + 16248: 4be4 ldr r3, [pc, #912] ; (165dc ) + 1624a: 4798 blx r3 + 1624c: 0003 movs r3, r0 + 1624e: 0080 lsls r0, r0, #2 + 16250: 18c0 adds r0, r0, r3 + 16252: 3050 adds r0, #80 ; 0x50 + 16254: 21a0 movs r1, #160 ; 0xa0 + 16256: 4be2 ldr r3, [pc, #904] ; (165e0 ) + 16258: 4798 blx r3 + 1625a: b202 sxth r2, r0 + 1625c: f7fe fe63 bl 14f26 + lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3)); + 16260: 2000 movs r0, #0 + 16262: 4bde ldr r3, [pc, #888] ; (165dc ) + 16264: 4798 blx r3 + 16266: 0003 movs r3, r0 + 16268: 0040 lsls r0, r0, #1 + 1626a: 18c0 adds r0, r0, r3 + 1626c: 3050 adds r0, #80 ; 0x50 + 1626e: 21a0 movs r1, #160 ; 0xa0 + 16270: 4bdb ldr r3, [pc, #876] ; (165e0 ) + 16272: 4798 blx r3 + 16274: b202 sxth r2, r0 + 16276: f7fe fe6a bl 14f4e + lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50)); + 1627a: 2000 movs r0, #0 + 1627c: 4bd7 ldr r3, [pc, #860] ; (165dc ) + 1627e: 4798 blx r3 + 16280: 0003 movs r3, r0 + 16282: 2032 movs r0, #50 ; 0x32 + 16284: 4358 muls r0, r3 + 16286: 3050 adds r0, #80 ; 0x50 + 16288: 21a0 movs r1, #160 ; 0xa0 + 1628a: 4bd5 ldr r3, [pc, #852] ; (165e0 ) + 1628c: 4798 blx r3 + 1628e: b202 sxth r2, r0 + 16290: f7fe fe75 bl 14f7e lv_style_set_shadow_color(&styles->mbox_bg, LV_STATE_DEFAULT, IS_LIGHT ? LV_COLOR_SILVER : lv_color_hex3(0x999)); - 1622c: 2226 movs r2, #38 ; 0x26 - 1622e: 2313 movs r3, #19 - 16230: f7fe fe80 bl 14f34 + 16294: 2226 movs r2, #38 ; 0x26 + 16296: 2313 movs r3, #19 + 16298: f7fe fe80 bl 14f9c lv_style_set_bg_color(&styles->sb, LV_STATE_DEFAULT, (IS_LIGHT ? lv_color_hex(0xcccfd1) : lv_color_hex(0x777f85))); - 16234: 2319 movs r3, #25 - 16236: 2133 movs r1, #51 ; 0x33 - 16238: 221a movs r2, #26 - 1623a: f7fe fe98 bl 14f6e + 1629c: 2319 movs r3, #25 + 1629e: 2133 movs r1, #51 ; 0x33 + 162a0: 221a movs r2, #26 + 162a2: f7fe fe98 bl 14fd6 lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 1623e: 2000 movs r0, #0 - 16240: 4bcc ldr r3, [pc, #816] ; (16574 ) - 16242: 4798 blx r3 - 16244: 00c3 lsls r3, r0, #3 - 16246: 1a18 subs r0, r3, r0 - 16248: 3050 adds r0, #80 ; 0x50 - 1624a: 21a0 movs r1, #160 ; 0xa0 - 1624c: 4bca ldr r3, [pc, #808] ; (16578 ) - 1624e: 4798 blx r3 - 16250: b202 sxth r2, r0 - 16252: f7fe fea9 bl 14fa8 + 162a6: 2000 movs r0, #0 + 162a8: 4bcc ldr r3, [pc, #816] ; (165dc ) + 162aa: 4798 blx r3 + 162ac: 00c3 lsls r3, r0, #3 + 162ae: 1a18 subs r0, r3, r0 + 162b0: 3050 adds r0, #80 ; 0x50 + 162b2: 21a0 movs r1, #160 ; 0xa0 + 162b4: 4bca ldr r3, [pc, #808] ; (165e0 ) + 162b6: 4798 blx r3 + 162b8: b202 sxth r2, r0 + 162ba: f7fe fea9 bl 15010 lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 16256: 2000 movs r0, #0 - 16258: 4bc6 ldr r3, [pc, #792] ; (16574 ) - 1625a: 4798 blx r3 - 1625c: 00c3 lsls r3, r0, #3 - 1625e: 1a18 subs r0, r3, r0 - 16260: 3050 adds r0, #80 ; 0x50 - 16262: 21a0 movs r1, #160 ; 0xa0 - 16264: 4bc4 ldr r3, [pc, #784] ; (16578 ) - 16266: 4798 blx r3 - 16268: b202 sxth r2, r0 - 1626a: f7fe feb1 bl 14fd0 + 162be: 2000 movs r0, #0 + 162c0: 4bc6 ldr r3, [pc, #792] ; (165dc ) + 162c2: 4798 blx r3 + 162c4: 00c3 lsls r3, r0, #3 + 162c6: 1a18 subs r0, r3, r0 + 162c8: 3050 adds r0, #80 ; 0x50 + 162ca: 21a0 movs r1, #160 ; 0xa0 + 162cc: 4bc4 ldr r3, [pc, #784] ; (165e0 ) + 162ce: 4798 blx r3 + 162d0: b202 sxth r2, r0 + 162d2: f7fe feb1 bl 15038 lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 1626e: 2000 movs r0, #0 - 16270: 4bc0 ldr r3, [pc, #768] ; (16574 ) - 16272: 4798 blx r3 - 16274: 00c3 lsls r3, r0, #3 - 16276: 1a18 subs r0, r3, r0 - 16278: 3050 adds r0, #80 ; 0x50 - 1627a: 21a0 movs r1, #160 ; 0xa0 - 1627c: 4bbe ldr r3, [pc, #760] ; (16578 ) - 1627e: 4798 blx r3 - 16280: b202 sxth r2, r0 - 16282: f7fe feb9 bl 14ff8 + 162d6: 2000 movs r0, #0 + 162d8: 4bc0 ldr r3, [pc, #768] ; (165dc ) + 162da: 4798 blx r3 + 162dc: 00c3 lsls r3, r0, #3 + 162de: 1a18 subs r0, r3, r0 + 162e0: 3050 adds r0, #80 ; 0x50 + 162e2: 21a0 movs r1, #160 ; 0xa0 + 162e4: 4bbe ldr r3, [pc, #760] ; (165e0 ) + 162e6: 4798 blx r3 + 162e8: b202 sxth r2, r0 + 162ea: f7fe feb9 bl 15060 lv_style_set_border_color(&styles->ta_cursor, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 16286: 2306 movs r3, #6 - 16288: 2110 movs r1, #16 - 1628a: 2209 movs r2, #9 - 1628c: f7fe fed8 bl 15040 + 162ee: 2306 movs r3, #6 + 162f0: 2110 movs r1, #16 + 162f2: 2209 movs r2, #9 + 162f4: f7fe fed8 bl 150a8 lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2)); - 16290: 2000 movs r0, #0 - 16292: 4bb8 ldr r3, [pc, #736] ; (16574 ) - 16294: 4798 blx r3 - 16296: 3028 adds r0, #40 ; 0x28 - 16298: 0040 lsls r0, r0, #1 - 1629a: 21a0 movs r1, #160 ; 0xa0 - 1629c: 4bb6 ldr r3, [pc, #728] ; (16578 ) - 1629e: 4798 blx r3 - 162a0: b202 sxth r2, r0 - 162a2: f7fe fee3 bl 1506c + 162f8: 2000 movs r0, #0 + 162fa: 4bb8 ldr r3, [pc, #736] ; (165dc ) + 162fc: 4798 blx r3 + 162fe: 3028 adds r0, #40 ; 0x28 + 16300: 0040 lsls r0, r0, #1 + 16302: 21a0 movs r1, #160 ; 0xa0 + 16304: 4bb6 ldr r3, [pc, #728] ; (165e0 ) + 16306: 4798 blx r3 + 16308: b202 sxth r2, r0 + 1630a: f7fe fee3 bl 150d4 lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1)); - 162a6: 2000 movs r0, #0 - 162a8: 4bb2 ldr r3, [pc, #712] ; (16574 ) - 162aa: 4798 blx r3 - 162ac: 3050 adds r0, #80 ; 0x50 - 162ae: 21a0 movs r1, #160 ; 0xa0 - 162b0: 4bb1 ldr r3, [pc, #708] ; (16578 ) - 162b2: 4798 blx r3 - 162b4: b202 sxth r2, r0 - 162b6: f7fe feeb bl 15090 + 1630e: 2000 movs r0, #0 + 16310: 4bb2 ldr r3, [pc, #712] ; (165dc ) + 16312: 4798 blx r3 + 16314: 3050 adds r0, #80 ; 0x50 + 16316: 21a0 movs r1, #160 ; 0xa0 + 16318: 4bb1 ldr r3, [pc, #708] ; (165e0 ) + 1631a: 4798 blx r3 + 1631c: b202 sxth r2, r0 + 1631e: f7fe feeb bl 150f8 lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 162ba: 2315 movs r3, #21 - 162bc: 212a movs r1, #42 ; 0x2a - 162be: 2215 movs r2, #21 - 162c0: f7fe ff1d bl 150fe + 16322: 2315 movs r3, #21 + 16324: 212a movs r1, #42 ; 0x2a + 16326: 2215 movs r2, #21 + 16328: f7fe ff1d bl 15166 lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 162c4: 2000 movs r0, #0 - 162c6: 4bab ldr r3, [pc, #684] ; (16574 ) - 162c8: 4798 blx r3 - 162ca: 0003 movs r3, r0 - 162cc: 2064 movs r0, #100 ; 0x64 - 162ce: 4358 muls r0, r3 - 162d0: 3050 adds r0, #80 ; 0x50 - 162d2: 21a0 movs r1, #160 ; 0xa0 - 162d4: 4ba8 ldr r3, [pc, #672] ; (16578 ) - 162d6: 4798 blx r3 - 162d8: b202 sxth r2, r0 - 162da: f7fe ff3e bl 1515a + 1632c: 2000 movs r0, #0 + 1632e: 4bab ldr r3, [pc, #684] ; (165dc ) + 16330: 4798 blx r3 + 16332: 0003 movs r3, r0 + 16334: 2064 movs r0, #100 ; 0x64 + 16336: 4358 muls r0, r3 + 16338: 3050 adds r0, #80 ; 0x50 + 1633a: 21a0 movs r1, #160 ; 0xa0 + 1633c: 4ba8 ldr r3, [pc, #672] ; (165e0 ) + 1633e: 4798 blx r3 + 16340: b202 sxth r2, r0 + 16342: f7fe ff3e bl 151c2 lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 162de: 2000 movs r0, #0 - 162e0: 4ba4 ldr r3, [pc, #656] ; (16574 ) - 162e2: 4798 blx r3 - 162e4: 0003 movs r3, r0 - 162e6: 2064 movs r0, #100 ; 0x64 - 162e8: 4358 muls r0, r3 - 162ea: 3050 adds r0, #80 ; 0x50 - 162ec: 21a0 movs r1, #160 ; 0xa0 - 162ee: 4ba2 ldr r3, [pc, #648] ; (16578 ) - 162f0: 4798 blx r3 - 162f2: b202 sxth r2, r0 - 162f4: f7fe ff45 bl 15182 + 16346: 2000 movs r0, #0 + 16348: 4ba4 ldr r3, [pc, #656] ; (165dc ) + 1634a: 4798 blx r3 + 1634c: 0003 movs r3, r0 + 1634e: 2064 movs r0, #100 ; 0x64 + 16350: 4358 muls r0, r3 + 16352: 3050 adds r0, #80 ; 0x50 + 16354: 21a0 movs r1, #160 ; 0xa0 + 16356: 4ba2 ldr r3, [pc, #648] ; (165e0 ) + 16358: 4798 blx r3 + 1635a: b202 sxth r2, r0 + 1635c: f7fe ff45 bl 151ea lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG); - 162f8: 231f movs r3, #31 - 162fa: 213f movs r1, #63 ; 0x3f - 162fc: 221f movs r2, #31 - 162fe: f7fe ff7b bl 151f8 + 16360: 231f movs r3, #31 + 16362: 213f movs r1, #63 ; 0x3f + 16364: 221f movs r2, #31 + 16366: f7fe ff7b bl 15260 lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR); - 16302: 231d movs r3, #29 - 16304: 213b movs r1, #59 ; 0x3b - 16306: 221d movs r2, #29 - 16308: f7fe ff89 bl 1521e + 1636a: 231d movs r3, #29 + 1636c: 213b movs r1, #59 ; 0x3b + 1636e: 221d movs r2, #29 + 16370: f7fe ff89 bl 15286 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS); - 1630c: 231f movs r3, #31 - 1630e: 213f movs r1, #63 ; 0x3f - 16310: 221f movs r2, #31 - 16312: f7fe ff97 bl 15244 + 16374: 231f movs r3, #31 + 16376: 213f movs r1, #63 ; 0x3f + 16378: 221f movs r2, #31 + 1637a: f7fe ff97 bl 152ac lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 16316: 2307 movs r3, #7 - 16318: 210f movs r1, #15 - 1631a: 2208 movs r2, #8 - 1631c: f7fe ffb5 bl 1528a + 1637e: 2307 movs r3, #7 + 16380: 210f movs r1, #15 + 16382: 2208 movs r2, #8 + 16384: f7fe ffb5 bl 152f2 lv_style_set_text_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 16320: 222a movs r2, #42 ; 0x2a - 16322: 2315 movs r3, #21 - 16324: f7fe ffc9 bl 152ba + 16388: 222a movs r2, #42 ; 0x2a + 1638a: 2315 movs r3, #21 + 1638c: f7fe ffc9 bl 15322 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 16328: 2307 movs r3, #7 - 1632a: 210f movs r1, #15 - 1632c: 2208 movs r2, #8 - 1632e: f7fe ffd7 bl 152e0 + 16390: 2307 movs r3, #7 + 16392: 210f movs r1, #15 + 16394: 2208 movs r2, #8 + 16396: f7fe ffd7 bl 15348 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 16332: 222a movs r2, #42 ; 0x2a - 16334: 2315 movs r3, #21 - 16336: f7fe ffeb bl 15310 + 1639a: 222a movs r2, #42 ; 0x2a + 1639c: 2315 movs r3, #21 + 1639e: f7fe ffeb bl 15378 lv_style_set_border_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 1633a: 231a movs r3, #26 - 1633c: 2137 movs r1, #55 ; 0x37 - 1633e: 221c movs r2, #28 - 16340: f7fe ffff bl 15342 + 163a2: 231a movs r3, #26 + 163a4: 2137 movs r1, #55 ; 0x37 + 163a6: 221c movs r2, #28 + 163a8: f7fe ffff bl 153aa lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 16344: 2000 movs r0, #0 - 16346: 4b8b ldr r3, [pc, #556] ; (16574 ) - 16348: 4798 blx r3 - 1634a: 0103 lsls r3, r0, #4 - 1634c: 1a18 subs r0, r3, r0 - 1634e: 3050 adds r0, #80 ; 0x50 - 16350: 2340 movs r3, #64 ; 0x40 - 16352: 33ff adds r3, #255 ; 0xff - 16354: 2201 movs r2, #1 - 16356: 4298 cmp r0, r3 - 16358: d801 bhi.n 1635e - 1635a: f7ff f81d bl 15398 - 1635e: 2000 movs r0, #0 - 16360: 4b84 ldr r3, [pc, #528] ; (16574 ) - 16362: 4798 blx r3 - 16364: 0103 lsls r3, r0, #4 - 16366: 1a18 subs r0, r3, r0 - 16368: 3050 adds r0, #80 ; 0x50 - 1636a: 21a0 movs r1, #160 ; 0xa0 - 1636c: 4b82 ldr r3, [pc, #520] ; (16578 ) - 1636e: 4798 blx r3 - 16370: b202 sxth r2, r0 - 16372: f7ff f811 bl 15398 - 16376: 2000 movs r0, #0 - 16378: 4b7e ldr r3, [pc, #504] ; (16574 ) - 1637a: 4798 blx r3 - 1637c: 0103 lsls r3, r0, #4 - 1637e: 1a18 subs r0, r3, r0 - 16380: 0040 lsls r0, r0, #1 - 16382: 3050 adds r0, #80 ; 0x50 - 16384: 21a0 movs r1, #160 ; 0xa0 - 16386: 4b7c ldr r3, [pc, #496] ; (16578 ) - 16388: 4798 blx r3 - 1638a: b202 sxth r2, r0 - 1638c: f7ff f804 bl 15398 + 163ac: 2000 movs r0, #0 + 163ae: 4b8b ldr r3, [pc, #556] ; (165dc ) + 163b0: 4798 blx r3 + 163b2: 0103 lsls r3, r0, #4 + 163b4: 1a18 subs r0, r3, r0 + 163b6: 3050 adds r0, #80 ; 0x50 + 163b8: 2340 movs r3, #64 ; 0x40 + 163ba: 33ff adds r3, #255 ; 0xff + 163bc: 2201 movs r2, #1 + 163be: 4298 cmp r0, r3 + 163c0: d801 bhi.n 163c6 + 163c2: f7ff f81d bl 15400 + 163c6: 2000 movs r0, #0 + 163c8: 4b84 ldr r3, [pc, #528] ; (165dc ) + 163ca: 4798 blx r3 + 163cc: 0103 lsls r3, r0, #4 + 163ce: 1a18 subs r0, r3, r0 + 163d0: 3050 adds r0, #80 ; 0x50 + 163d2: 21a0 movs r1, #160 ; 0xa0 + 163d4: 4b82 ldr r3, [pc, #520] ; (165e0 ) + 163d6: 4798 blx r3 + 163d8: b202 sxth r2, r0 + 163da: f7ff f811 bl 15400 + 163de: 2000 movs r0, #0 + 163e0: 4b7e ldr r3, [pc, #504] ; (165dc ) + 163e2: 4798 blx r3 + 163e4: 0103 lsls r3, r0, #4 + 163e6: 1a18 subs r0, r3, r0 + 163e8: 0040 lsls r0, r0, #1 + 163ea: 3050 adds r0, #80 ; 0x50 + 163ec: 21a0 movs r1, #160 ; 0xa0 + 163ee: 4b7c ldr r3, [pc, #496] ; (165e0 ) + 163f0: 4798 blx r3 + 163f2: b202 sxth r2, r0 + 163f4: f7ff f804 bl 15400 lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 16390: 2000 movs r0, #0 - 16392: 4b78 ldr r3, [pc, #480] ; (16574 ) - 16394: 4798 blx r3 - 16396: 0103 lsls r3, r0, #4 - 16398: 1a18 subs r0, r3, r0 - 1639a: 3050 adds r0, #80 ; 0x50 - 1639c: 2340 movs r3, #64 ; 0x40 - 1639e: 33ff adds r3, #255 ; 0xff - 163a0: 2201 movs r2, #1 - 163a2: 4298 cmp r0, r3 - 163a4: d801 bhi.n 163aa - 163a6: f7ff f813 bl 153d0 - 163aa: 2000 movs r0, #0 - 163ac: 4b71 ldr r3, [pc, #452] ; (16574 ) - 163ae: 4798 blx r3 - 163b0: 0103 lsls r3, r0, #4 - 163b2: 1a18 subs r0, r3, r0 - 163b4: 3050 adds r0, #80 ; 0x50 - 163b6: 21a0 movs r1, #160 ; 0xa0 - 163b8: 4b6f ldr r3, [pc, #444] ; (16578 ) - 163ba: 4798 blx r3 - 163bc: b202 sxth r2, r0 - 163be: f7ff f807 bl 153d0 - 163c2: 2000 movs r0, #0 - 163c4: 4b6b ldr r3, [pc, #428] ; (16574 ) - 163c6: 4798 blx r3 - 163c8: 0103 lsls r3, r0, #4 - 163ca: 1a18 subs r0, r3, r0 - 163cc: 0040 lsls r0, r0, #1 - 163ce: 3050 adds r0, #80 ; 0x50 - 163d0: 21a0 movs r1, #160 ; 0xa0 - 163d2: 4b69 ldr r3, [pc, #420] ; (16578 ) - 163d4: 4798 blx r3 - 163d6: b202 sxth r2, r0 - 163d8: f7fe fffa bl 153d0 + 163f8: 2000 movs r0, #0 + 163fa: 4b78 ldr r3, [pc, #480] ; (165dc ) + 163fc: 4798 blx r3 + 163fe: 0103 lsls r3, r0, #4 + 16400: 1a18 subs r0, r3, r0 + 16402: 3050 adds r0, #80 ; 0x50 + 16404: 2340 movs r3, #64 ; 0x40 + 16406: 33ff adds r3, #255 ; 0xff + 16408: 2201 movs r2, #1 + 1640a: 4298 cmp r0, r3 + 1640c: d801 bhi.n 16412 + 1640e: f7ff f813 bl 15438 + 16412: 2000 movs r0, #0 + 16414: 4b71 ldr r3, [pc, #452] ; (165dc ) + 16416: 4798 blx r3 + 16418: 0103 lsls r3, r0, #4 + 1641a: 1a18 subs r0, r3, r0 + 1641c: 3050 adds r0, #80 ; 0x50 + 1641e: 21a0 movs r1, #160 ; 0xa0 + 16420: 4b6f ldr r3, [pc, #444] ; (165e0 ) + 16422: 4798 blx r3 + 16424: b202 sxth r2, r0 + 16426: f7ff f807 bl 15438 + 1642a: 2000 movs r0, #0 + 1642c: 4b6b ldr r3, [pc, #428] ; (165dc ) + 1642e: 4798 blx r3 + 16430: 0103 lsls r3, r0, #4 + 16432: 1a18 subs r0, r3, r0 + 16434: 0040 lsls r0, r0, #1 + 16436: 3050 adds r0, #80 ; 0x50 + 16438: 21a0 movs r1, #160 ; 0xa0 + 1643a: 4b69 ldr r3, [pc, #420] ; (165e0 ) + 1643c: 4798 blx r3 + 1643e: b202 sxth r2, r0 + 16440: f7fe fffa bl 15438 lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 163dc: 2000 movs r0, #0 - 163de: 4b65 ldr r3, [pc, #404] ; (16574 ) - 163e0: 4798 blx r3 - 163e2: 0103 lsls r3, r0, #4 - 163e4: 1a18 subs r0, r3, r0 - 163e6: 3050 adds r0, #80 ; 0x50 - 163e8: 2340 movs r3, #64 ; 0x40 - 163ea: 33ff adds r3, #255 ; 0xff - 163ec: 2201 movs r2, #1 - 163ee: 4298 cmp r0, r3 - 163f0: d801 bhi.n 163f6 - 163f2: f7ff f809 bl 15408 - 163f6: 2000 movs r0, #0 - 163f8: 4b5e ldr r3, [pc, #376] ; (16574 ) - 163fa: 4798 blx r3 - 163fc: 0103 lsls r3, r0, #4 - 163fe: 1a18 subs r0, r3, r0 - 16400: 3050 adds r0, #80 ; 0x50 - 16402: 21a0 movs r1, #160 ; 0xa0 - 16404: 4b5c ldr r3, [pc, #368] ; (16578 ) - 16406: 4798 blx r3 - 16408: b202 sxth r2, r0 - 1640a: f7fe fffd bl 15408 - 1640e: 2000 movs r0, #0 - 16410: 4b58 ldr r3, [pc, #352] ; (16574 ) - 16412: 4798 blx r3 - 16414: 0103 lsls r3, r0, #4 - 16416: 1a18 subs r0, r3, r0 - 16418: 0040 lsls r0, r0, #1 - 1641a: 3050 adds r0, #80 ; 0x50 - 1641c: 21a0 movs r1, #160 ; 0xa0 - 1641e: 4b56 ldr r3, [pc, #344] ; (16578 ) - 16420: 4798 blx r3 - 16422: b202 sxth r2, r0 - 16424: f7fe fff0 bl 15408 + 16444: 2000 movs r0, #0 + 16446: 4b65 ldr r3, [pc, #404] ; (165dc ) + 16448: 4798 blx r3 + 1644a: 0103 lsls r3, r0, #4 + 1644c: 1a18 subs r0, r3, r0 + 1644e: 3050 adds r0, #80 ; 0x50 + 16450: 2340 movs r3, #64 ; 0x40 + 16452: 33ff adds r3, #255 ; 0xff + 16454: 2201 movs r2, #1 + 16456: 4298 cmp r0, r3 + 16458: d801 bhi.n 1645e + 1645a: f7ff f809 bl 15470 + 1645e: 2000 movs r0, #0 + 16460: 4b5e ldr r3, [pc, #376] ; (165dc ) + 16462: 4798 blx r3 + 16464: 0103 lsls r3, r0, #4 + 16466: 1a18 subs r0, r3, r0 + 16468: 3050 adds r0, #80 ; 0x50 + 1646a: 21a0 movs r1, #160 ; 0xa0 + 1646c: 4b5c ldr r3, [pc, #368] ; (165e0 ) + 1646e: 4798 blx r3 + 16470: b202 sxth r2, r0 + 16472: f7fe fffd bl 15470 + 16476: 2000 movs r0, #0 + 16478: 4b58 ldr r3, [pc, #352] ; (165dc ) + 1647a: 4798 blx r3 + 1647c: 0103 lsls r3, r0, #4 + 1647e: 1a18 subs r0, r3, r0 + 16480: 0040 lsls r0, r0, #1 + 16482: 3050 adds r0, #80 ; 0x50 + 16484: 21a0 movs r1, #160 ; 0xa0 + 16486: 4b56 ldr r3, [pc, #344] ; (165e0 ) + 16488: 4798 blx r3 + 1648a: b202 sxth r2, r0 + 1648c: f7fe fff0 bl 15470 lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 16428: 2000 movs r0, #0 - 1642a: 4b52 ldr r3, [pc, #328] ; (16574 ) - 1642c: 4798 blx r3 - 1642e: 0103 lsls r3, r0, #4 - 16430: 1a18 subs r0, r3, r0 - 16432: 3050 adds r0, #80 ; 0x50 - 16434: 2340 movs r3, #64 ; 0x40 - 16436: 33ff adds r3, #255 ; 0xff - 16438: 2201 movs r2, #1 - 1643a: 4298 cmp r0, r3 - 1643c: d801 bhi.n 16442 - 1643e: f7fe ffff bl 15440 - 16442: 2000 movs r0, #0 - 16444: 4b4b ldr r3, [pc, #300] ; (16574 ) - 16446: 4798 blx r3 - 16448: 0103 lsls r3, r0, #4 - 1644a: 1a18 subs r0, r3, r0 - 1644c: 3050 adds r0, #80 ; 0x50 - 1644e: 21a0 movs r1, #160 ; 0xa0 - 16450: 4b49 ldr r3, [pc, #292] ; (16578 ) - 16452: 4798 blx r3 - 16454: b202 sxth r2, r0 - 16456: f7fe fff3 bl 15440 - 1645a: 2000 movs r0, #0 - 1645c: 4b45 ldr r3, [pc, #276] ; (16574 ) - 1645e: 4798 blx r3 - 16460: 0103 lsls r3, r0, #4 - 16462: 1a18 subs r0, r3, r0 - 16464: 0040 lsls r0, r0, #1 - 16466: 3050 adds r0, #80 ; 0x50 - 16468: 21a0 movs r1, #160 ; 0xa0 - 1646a: 4b43 ldr r3, [pc, #268] ; (16578 ) - 1646c: 4798 blx r3 - 1646e: b202 sxth r2, r0 - 16470: f7fe ffe6 bl 15440 + 16490: 2000 movs r0, #0 + 16492: 4b52 ldr r3, [pc, #328] ; (165dc ) + 16494: 4798 blx r3 + 16496: 0103 lsls r3, r0, #4 + 16498: 1a18 subs r0, r3, r0 + 1649a: 3050 adds r0, #80 ; 0x50 + 1649c: 2340 movs r3, #64 ; 0x40 + 1649e: 33ff adds r3, #255 ; 0xff + 164a0: 2201 movs r2, #1 + 164a2: 4298 cmp r0, r3 + 164a4: d801 bhi.n 164aa + 164a6: f7fe ffff bl 154a8 + 164aa: 2000 movs r0, #0 + 164ac: 4b4b ldr r3, [pc, #300] ; (165dc ) + 164ae: 4798 blx r3 + 164b0: 0103 lsls r3, r0, #4 + 164b2: 1a18 subs r0, r3, r0 + 164b4: 3050 adds r0, #80 ; 0x50 + 164b6: 21a0 movs r1, #160 ; 0xa0 + 164b8: 4b49 ldr r3, [pc, #292] ; (165e0 ) + 164ba: 4798 blx r3 + 164bc: b202 sxth r2, r0 + 164be: f7fe fff3 bl 154a8 + 164c2: 2000 movs r0, #0 + 164c4: 4b45 ldr r3, [pc, #276] ; (165dc ) + 164c6: 4798 blx r3 + 164c8: 0103 lsls r3, r0, #4 + 164ca: 1a18 subs r0, r3, r0 + 164cc: 0040 lsls r0, r0, #1 + 164ce: 3050 adds r0, #80 ; 0x50 + 164d0: 21a0 movs r1, #160 ; 0xa0 + 164d2: 4b43 ldr r3, [pc, #268] ; (165e0 ) + 164d4: 4798 blx r3 + 164d6: b202 sxth r2, r0 + 164d8: f7fe ffe6 bl 154a8 lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 16474: 2000 movs r0, #0 - 16476: 4b3f ldr r3, [pc, #252] ; (16574 ) - 16478: 4798 blx r3 - 1647a: 0103 lsls r3, r0, #4 - 1647c: 1a18 subs r0, r3, r0 - 1647e: 3050 adds r0, #80 ; 0x50 - 16480: 2340 movs r3, #64 ; 0x40 - 16482: 33ff adds r3, #255 ; 0xff - 16484: 2201 movs r2, #1 - 16486: 4298 cmp r0, r3 - 16488: d801 bhi.n 1648e - 1648a: f7fe fff5 bl 15478 - 1648e: 2000 movs r0, #0 - 16490: 4b38 ldr r3, [pc, #224] ; (16574 ) - 16492: 4798 blx r3 - 16494: 0103 lsls r3, r0, #4 - 16496: 1a18 subs r0, r3, r0 - 16498: 3050 adds r0, #80 ; 0x50 - 1649a: 21a0 movs r1, #160 ; 0xa0 - 1649c: 4b36 ldr r3, [pc, #216] ; (16578 ) - 1649e: 4798 blx r3 - 164a0: b202 sxth r2, r0 - 164a2: f7fe ffe9 bl 15478 - 164a6: 2000 movs r0, #0 - 164a8: 4b32 ldr r3, [pc, #200] ; (16574 ) - 164aa: 4798 blx r3 - 164ac: 0103 lsls r3, r0, #4 - 164ae: 1a18 subs r0, r3, r0 - 164b0: 0040 lsls r0, r0, #1 - 164b2: 3050 adds r0, #80 ; 0x50 - 164b4: 21a0 movs r1, #160 ; 0xa0 - 164b6: 4b30 ldr r3, [pc, #192] ; (16578 ) - 164b8: 4798 blx r3 - 164ba: b202 sxth r2, r0 - 164bc: f7fe ffdc bl 15478 - lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); - 164c0: 2000 movs r0, #0 - 164c2: 4b2c ldr r3, [pc, #176] ; (16574 ) - 164c4: 4798 blx r3 - 164c6: 0103 lsls r3, r0, #4 - 164c8: 1a18 subs r0, r3, r0 - 164ca: 3050 adds r0, #80 ; 0x50 - 164cc: 2340 movs r3, #64 ; 0x40 - 164ce: 33ff adds r3, #255 ; 0xff - 164d0: 4298 cmp r0, r3 - 164d2: d803 bhi.n 164dc - 164d4: 2201 movs r2, #1 - 164d6: 4252 negs r2, r2 - 164d8: f7fe ffeb bl 154b2 164dc: 2000 movs r0, #0 - 164de: 4b25 ldr r3, [pc, #148] ; (16574 ) + 164de: 4b3f ldr r3, [pc, #252] ; (165dc ) 164e0: 4798 blx r3 164e2: 0103 lsls r3, r0, #4 164e4: 1a18 subs r0, r3, r0 164e6: 3050 adds r0, #80 ; 0x50 - 164e8: 21a0 movs r1, #160 ; 0xa0 - 164ea: 4b23 ldr r3, [pc, #140] ; (16578 ) - 164ec: 4798 blx r3 - 164ee: 4242 negs r2, r0 - 164f0: b212 sxth r2, r2 - 164f2: f7fe ffde bl 154b2 + 164e8: 2340 movs r3, #64 ; 0x40 + 164ea: 33ff adds r3, #255 ; 0xff + 164ec: 2201 movs r2, #1 + 164ee: 4298 cmp r0, r3 + 164f0: d801 bhi.n 164f6 + 164f2: f7fe fff5 bl 154e0 164f6: 2000 movs r0, #0 - 164f8: 4b1e ldr r3, [pc, #120] ; (16574 ) + 164f8: 4b38 ldr r3, [pc, #224] ; (165dc ) 164fa: 4798 blx r3 164fc: 0103 lsls r3, r0, #4 164fe: 1a18 subs r0, r3, r0 - 16500: 0040 lsls r0, r0, #1 - 16502: 3050 adds r0, #80 ; 0x50 - 16504: 21a0 movs r1, #160 ; 0xa0 - 16506: 4b1c ldr r3, [pc, #112] ; (16578 ) - 16508: 4798 blx r3 - 1650a: 4242 negs r2, r0 - 1650c: b212 sxth r2, r2 - 1650e: f7fe ffd0 bl 154b2 + 16500: 3050 adds r0, #80 ; 0x50 + 16502: 21a0 movs r1, #160 ; 0xa0 + 16504: 4b36 ldr r3, [pc, #216] ; (165e0 ) + 16506: 4798 blx r3 + 16508: b202 sxth r2, r0 + 1650a: f7fe ffe9 bl 154e0 + 1650e: 2000 movs r0, #0 + 16510: 4b32 ldr r3, [pc, #200] ; (165dc ) + 16512: 4798 blx r3 + 16514: 0103 lsls r3, r0, #4 + 16516: 1a18 subs r0, r3, r0 + 16518: 0040 lsls r0, r0, #1 + 1651a: 3050 adds r0, #80 ; 0x50 + 1651c: 21a0 movs r1, #160 ; 0xa0 + 1651e: 4b30 ldr r3, [pc, #192] ; (165e0 ) + 16520: 4798 blx r3 + 16522: b202 sxth r2, r0 + 16524: f7fe ffdc bl 154e0 + lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); + 16528: 2000 movs r0, #0 + 1652a: 4b2c ldr r3, [pc, #176] ; (165dc ) + 1652c: 4798 blx r3 + 1652e: 0103 lsls r3, r0, #4 + 16530: 1a18 subs r0, r3, r0 + 16532: 3050 adds r0, #80 ; 0x50 + 16534: 2340 movs r3, #64 ; 0x40 + 16536: 33ff adds r3, #255 ; 0xff + 16538: 4298 cmp r0, r3 + 1653a: d803 bhi.n 16544 + 1653c: 2201 movs r2, #1 + 1653e: 4252 negs r2, r2 + 16540: f7fe ffeb bl 1551a + 16544: 2000 movs r0, #0 + 16546: 4b25 ldr r3, [pc, #148] ; (165dc ) + 16548: 4798 blx r3 + 1654a: 0103 lsls r3, r0, #4 + 1654c: 1a18 subs r0, r3, r0 + 1654e: 3050 adds r0, #80 ; 0x50 + 16550: 21a0 movs r1, #160 ; 0xa0 + 16552: 4b23 ldr r3, [pc, #140] ; (165e0 ) + 16554: 4798 blx r3 + 16556: 4242 negs r2, r0 + 16558: b212 sxth r2, r2 + 1655a: f7fe ffde bl 1551a + 1655e: 2000 movs r0, #0 + 16560: 4b1e ldr r3, [pc, #120] ; (165dc ) + 16562: 4798 blx r3 + 16564: 0103 lsls r3, r0, #4 + 16566: 1a18 subs r0, r3, r0 + 16568: 0040 lsls r0, r0, #1 + 1656a: 3050 adds r0, #80 ; 0x50 + 1656c: 21a0 movs r1, #160 ; 0xa0 + 1656e: 4b1c ldr r3, [pc, #112] ; (165e0 ) + 16570: 4798 blx r3 + 16572: 4242 negs r2, r0 + 16574: b212 sxth r2, r2 + 16576: f7fe ffd0 bl 1551a lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20)); - 16512: 2000 movs r0, #0 - 16514: 4b17 ldr r3, [pc, #92] ; (16574 ) - 16516: 4798 blx r3 - 16518: 0003 movs r3, r0 - 1651a: 0080 lsls r0, r0, #2 - 1651c: 18c0 adds r0, r0, r3 - 1651e: 0080 lsls r0, r0, #2 - 16520: 3050 adds r0, #80 ; 0x50 - 16522: 21a0 movs r1, #160 ; 0xa0 - 16524: 4b14 ldr r3, [pc, #80] ; (16578 ) - 16526: 4798 blx r3 - 16528: b202 sxth r2, r0 - 1652a: f7ff f825 bl 15578 + 1657a: 2000 movs r0, #0 + 1657c: 4b17 ldr r3, [pc, #92] ; (165dc ) + 1657e: 4798 blx r3 + 16580: 0003 movs r3, r0 + 16582: 0080 lsls r0, r0, #2 + 16584: 18c0 adds r0, r0, r3 + 16586: 0080 lsls r0, r0, #2 + 16588: 3050 adds r0, #80 ; 0x50 + 1658a: 21a0 movs r1, #160 ; 0xa0 + 1658c: 4b14 ldr r3, [pc, #80] ; (165e0 ) + 1658e: 4798 blx r3 + 16590: b202 sxth r2, r0 + 16592: f7ff f825 bl 155e0 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR); - 1652e: 231d movs r3, #29 - 16530: 213b movs r1, #59 ; 0x3b - 16532: 221d movs r2, #29 - 16534: f7ff f84b bl 155ce + 16596: 231d movs r3, #29 + 16598: 213b movs r1, #59 ; 0x3b + 1659a: 221d movs r2, #29 + 1659c: f7ff f84b bl 15636 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 16538: 2307 movs r3, #7 - 1653a: 210f movs r1, #15 - 1653c: 2208 movs r2, #8 - 1653e: f7ff f859 bl 155f4 + 165a0: 2307 movs r3, #7 + 165a2: 210f movs r1, #15 + 165a4: 2208 movs r2, #8 + 165a6: f7ff f859 bl 1565c lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 16542: 2000 movs r0, #0 - 16544: 4b0b ldr r3, [pc, #44] ; (16574 ) - 16546: 4798 blx r3 - 16548: 0083 lsls r3, r0, #2 - 1654a: 1818 adds r0, r3, r0 - 1654c: 0083 lsls r3, r0, #2 - 1654e: 18c0 adds r0, r0, r3 - 16550: 3050 adds r0, #80 ; 0x50 - 16552: 21a0 movs r1, #160 ; 0xa0 - 16554: 4b08 ldr r3, [pc, #32] ; (16578 ) - 16556: 4798 blx r3 - 16558: b202 sxth r2, r0 - 1655a: f7ff f868 bl 1562e + 165aa: 2000 movs r0, #0 + 165ac: 4b0b ldr r3, [pc, #44] ; (165dc ) + 165ae: 4798 blx r3 + 165b0: 0083 lsls r3, r0, #2 + 165b2: 1818 adds r0, r3, r0 + 165b4: 0083 lsls r3, r0, #2 + 165b6: 18c0 adds r0, r0, r3 + 165b8: 3050 adds r0, #80 ; 0x50 + 165ba: 21a0 movs r1, #160 ; 0xa0 + 165bc: 4b08 ldr r3, [pc, #32] ; (165e0 ) + 165be: 4798 blx r3 + 165c0: b202 sxth r2, r0 + 165c2: f7ff f868 bl 15696 lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG); - 1655e: 231f movs r3, #31 - 16560: 213f movs r1, #63 ; 0x3f - 16562: 221f movs r2, #31 - 16564: f7ff f892 bl 1568c + 165c6: 231f movs r3, #31 + 165c8: 213f movs r1, #63 ; 0x3f + 165ca: 221f movs r2, #31 + 165cc: f7ff f892 bl 156f4 lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, - 16568: 231c movs r3, #28 - 1656a: 213a movs r1, #58 ; 0x3a - 1656c: 221e movs r2, #30 - 1656e: f7ff f8a0 bl 156b2 - 16572: 46c0 nop ; (mov r8, r8) - 16574: 0000f5fd .word 0x0000f5fd - 16578: 00017961 .word 0x00017961 + 165d0: 231c movs r3, #28 + 165d2: 213a movs r1, #58 ; 0x3a + 165d4: 221e movs r2, #30 + 165d6: f7ff f8a0 bl 1571a + 165da: 46c0 nop ; (mov r8, r8) + 165dc: 0000f665 .word 0x0000f665 + 165e0: 000179f1 .word 0x000179f1 lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 1657c: 2000 movs r0, #0 - 1657e: 4bdf ldr r3, [pc, #892] ; (168fc ) - 16580: 4798 blx r3 - 16582: 0003 movs r3, r0 - 16584: 0080 lsls r0, r0, #2 - 16586: 18c0 adds r0, r0, r3 - 16588: 3050 adds r0, #80 ; 0x50 - 1658a: 21a0 movs r1, #160 ; 0xa0 - 1658c: 4bdc ldr r3, [pc, #880] ; (16900 ) - 1658e: 4798 blx r3 - 16590: b202 sxth r2, r0 - 16592: f7ff f8a5 bl 156e0 + 165e4: 2000 movs r0, #0 + 165e6: 4bdf ldr r3, [pc, #892] ; (16964 ) + 165e8: 4798 blx r3 + 165ea: 0003 movs r3, r0 + 165ec: 0080 lsls r0, r0, #2 + 165ee: 18c0 adds r0, r0, r3 + 165f0: 3050 adds r0, #80 ; 0x50 + 165f2: 21a0 movs r1, #160 ; 0xa0 + 165f4: 4bdc ldr r3, [pc, #880] ; (16968 ) + 165f6: 4798 blx r3 + 165f8: b202 sxth r2, r0 + 165fa: f7ff f8a5 bl 15748 lv_style_set_text_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 16596: 2307 movs r3, #7 - 16598: 210f movs r1, #15 - 1659a: 2208 movs r2, #8 - 1659c: f7ff f8b5 bl 1570a + 165fe: 2307 movs r3, #7 + 16600: 210f movs r1, #15 + 16602: 2208 movs r2, #8 + 16604: f7ff f8b5 bl 15772 lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 165a0: 2000 movs r0, #0 - 165a2: 4bd6 ldr r3, [pc, #856] ; (168fc ) - 165a4: 4798 blx r3 - 165a6: 00c3 lsls r3, r0, #3 - 165a8: 1a18 subs r0, r3, r0 - 165aa: 3050 adds r0, #80 ; 0x50 - 165ac: 21a0 movs r1, #160 ; 0xa0 - 165ae: 4bd4 ldr r3, [pc, #848] ; (16900 ) - 165b0: 4798 blx r3 - 165b2: b202 sxth r2, r0 - 165b4: f7ff f8cd bl 15752 + 16608: 2000 movs r0, #0 + 1660a: 4bd6 ldr r3, [pc, #856] ; (16964 ) + 1660c: 4798 blx r3 + 1660e: 00c3 lsls r3, r0, #3 + 16610: 1a18 subs r0, r3, r0 + 16612: 3050 adds r0, #80 ; 0x50 + 16614: 21a0 movs r1, #160 ; 0xa0 + 16616: 4bd4 ldr r3, [pc, #848] ; (16968 ) + 16618: 4798 blx r3 + 1661a: b202 sxth r2, r0 + 1661c: f7ff f8cd bl 157ba lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 165b8: 2000 movs r0, #0 - 165ba: 4bd0 ldr r3, [pc, #832] ; (168fc ) - 165bc: 4798 blx r3 - 165be: 00c3 lsls r3, r0, #3 - 165c0: 1a18 subs r0, r3, r0 - 165c2: 3050 adds r0, #80 ; 0x50 - 165c4: 21a0 movs r1, #160 ; 0xa0 - 165c6: 4bce ldr r3, [pc, #824] ; (16900 ) - 165c8: 4798 blx r3 - 165ca: b202 sxth r2, r0 - 165cc: f7ff f8d5 bl 1577a + 16620: 2000 movs r0, #0 + 16622: 4bd0 ldr r3, [pc, #832] ; (16964 ) + 16624: 4798 blx r3 + 16626: 00c3 lsls r3, r0, #3 + 16628: 1a18 subs r0, r3, r0 + 1662a: 3050 adds r0, #80 ; 0x50 + 1662c: 21a0 movs r1, #160 ; 0xa0 + 1662e: 4bce ldr r3, [pc, #824] ; (16968 ) + 16630: 4798 blx r3 + 16632: b202 sxth r2, r0 + 16634: f7ff f8d5 bl 157e2 lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 165d0: 2000 movs r0, #0 - 165d2: 4bca ldr r3, [pc, #808] ; (168fc ) - 165d4: 4798 blx r3 - 165d6: 00c3 lsls r3, r0, #3 - 165d8: 1a18 subs r0, r3, r0 - 165da: 3050 adds r0, #80 ; 0x50 - 165dc: 21a0 movs r1, #160 ; 0xa0 - 165de: 4bc8 ldr r3, [pc, #800] ; (16900 ) - 165e0: 4798 blx r3 - 165e2: b202 sxth r2, r0 - 165e4: f7ff f8dd bl 157a2 - lv_style_set_text_color(&styles->tabview_btns, LV_STATE_CHECKED, COLOR_SCR_TEXT); - 165e8: 2307 movs r3, #7 - 165ea: 210f movs r1, #15 - 165ec: 2208 movs r2, #8 - 165ee: f7ff f8f9 bl 157e4 - lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 165f2: 2000 movs r0, #0 - 165f4: 4bc1 ldr r3, [pc, #772] ; (168fc ) - 165f6: 4798 blx r3 - 165f8: 0003 movs r3, r0 - 165fa: 0080 lsls r0, r0, #2 - 165fc: 18c0 adds r0, r0, r3 - 165fe: 0080 lsls r0, r0, #2 - 16600: 3050 adds r0, #80 ; 0x50 - 16602: 21a0 movs r1, #160 ; 0xa0 - 16604: 4bbe ldr r3, [pc, #760] ; (16900 ) - 16606: 4798 blx r3 - 16608: b202 sxth r2, r0 - 1660a: f7ff f903 bl 15814 - lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 1660e: 2000 movs r0, #0 - 16610: 4bba ldr r3, [pc, #744] ; (168fc ) - 16612: 4798 blx r3 - 16614: 0003 movs r3, r0 - 16616: 0080 lsls r0, r0, #2 - 16618: 18c0 adds r0, r0, r3 - 1661a: 0080 lsls r0, r0, #2 - 1661c: 3050 adds r0, #80 ; 0x50 - 1661e: 21a0 movs r1, #160 ; 0xa0 - 16620: 4bb7 ldr r3, [pc, #732] ; (16900 ) - 16622: 4798 blx r3 - 16624: b202 sxth r2, r0 - 16626: f7ff f90a bl 1583e - lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); - 1662a: 2000 movs r0, #0 - 1662c: 4bb3 ldr r3, [pc, #716] ; (168fc ) - 1662e: 4798 blx r3 - 16630: 0003 movs r3, r0 - 16632: 0080 lsls r0, r0, #2 - 16634: 18c0 adds r0, r0, r3 - 16636: 3050 adds r0, #80 ; 0x50 - 16638: 21a0 movs r1, #160 ; 0xa0 - 1663a: 4bb1 ldr r3, [pc, #708] ; (16900 ) + 16638: 2000 movs r0, #0 + 1663a: 4bca ldr r3, [pc, #808] ; (16964 ) 1663c: 4798 blx r3 - 1663e: b202 sxth r2, r0 - 16640: f7ff f931 bl 158a6 - lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 16644: 2000 movs r0, #0 - 16646: 4bad ldr r3, [pc, #692] ; (168fc ) + 1663e: 00c3 lsls r3, r0, #3 + 16640: 1a18 subs r0, r3, r0 + 16642: 3050 adds r0, #80 ; 0x50 + 16644: 21a0 movs r1, #160 ; 0xa0 + 16646: 4bc8 ldr r3, [pc, #800] ; (16968 ) 16648: 4798 blx r3 - 1664a: 0103 lsls r3, r0, #4 - 1664c: 1a18 subs r0, r3, r0 - 1664e: 3050 adds r0, #80 ; 0x50 - 16650: 2340 movs r3, #64 ; 0x40 - 16652: 33ff adds r3, #255 ; 0xff - 16654: 2201 movs r2, #1 - 16656: 4298 cmp r0, r3 - 16658: d801 bhi.n 1665e - 1665a: f7ff f949 bl 158f0 - 1665e: 2000 movs r0, #0 - 16660: 4ba6 ldr r3, [pc, #664] ; (168fc ) - 16662: 4798 blx r3 - 16664: 0103 lsls r3, r0, #4 - 16666: 1a18 subs r0, r3, r0 + 1664a: b202 sxth r2, r0 + 1664c: f7ff f8dd bl 1580a + lv_style_set_text_color(&styles->tabview_btns, LV_STATE_CHECKED, COLOR_SCR_TEXT); + 16650: 2307 movs r3, #7 + 16652: 210f movs r1, #15 + 16654: 2208 movs r2, #8 + 16656: f7ff f8f9 bl 1584c + lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); + 1665a: 2000 movs r0, #0 + 1665c: 4bc1 ldr r3, [pc, #772] ; (16964 ) + 1665e: 4798 blx r3 + 16660: 0003 movs r3, r0 + 16662: 0080 lsls r0, r0, #2 + 16664: 18c0 adds r0, r0, r3 + 16666: 0080 lsls r0, r0, #2 16668: 3050 adds r0, #80 ; 0x50 1666a: 21a0 movs r1, #160 ; 0xa0 - 1666c: 4ba4 ldr r3, [pc, #656] ; (16900 ) + 1666c: 4bbe ldr r3, [pc, #760] ; (16968 ) 1666e: 4798 blx r3 16670: b202 sxth r2, r0 - 16672: f7ff f93d bl 158f0 + 16672: f7ff f903 bl 1587c + lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); 16676: 2000 movs r0, #0 - 16678: 4ba0 ldr r3, [pc, #640] ; (168fc ) + 16678: 4bba ldr r3, [pc, #744] ; (16964 ) 1667a: 4798 blx r3 - 1667c: 0103 lsls r3, r0, #4 - 1667e: 1a18 subs r0, r3, r0 - 16680: 0040 lsls r0, r0, #1 - 16682: 3050 adds r0, #80 ; 0x50 - 16684: 21a0 movs r1, #160 ; 0xa0 - 16686: 4b9e ldr r3, [pc, #632] ; (16900 ) - 16688: 4798 blx r3 - 1668a: b202 sxth r2, r0 - 1668c: f7ff f930 bl 158f0 + 1667c: 0003 movs r3, r0 + 1667e: 0080 lsls r0, r0, #2 + 16680: 18c0 adds r0, r0, r3 + 16682: 0080 lsls r0, r0, #2 + 16684: 3050 adds r0, #80 ; 0x50 + 16686: 21a0 movs r1, #160 ; 0xa0 + 16688: 4bb7 ldr r3, [pc, #732] ; (16968 ) + 1668a: 4798 blx r3 + 1668c: b202 sxth r2, r0 + 1668e: f7ff f90a bl 158a6 + lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); + 16692: 2000 movs r0, #0 + 16694: 4bb3 ldr r3, [pc, #716] ; (16964 ) + 16696: 4798 blx r3 + 16698: 0003 movs r3, r0 + 1669a: 0080 lsls r0, r0, #2 + 1669c: 18c0 adds r0, r0, r3 + 1669e: 3050 adds r0, #80 ; 0x50 + 166a0: 21a0 movs r1, #160 ; 0xa0 + 166a2: 4bb1 ldr r3, [pc, #708] ; (16968 ) + 166a4: 4798 blx r3 + 166a6: b202 sxth r2, r0 + 166a8: f7ff f931 bl 1590e + lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 166ac: 2000 movs r0, #0 + 166ae: 4bad ldr r3, [pc, #692] ; (16964 ) + 166b0: 4798 blx r3 + 166b2: 0103 lsls r3, r0, #4 + 166b4: 1a18 subs r0, r3, r0 + 166b6: 3050 adds r0, #80 ; 0x50 + 166b8: 2340 movs r3, #64 ; 0x40 + 166ba: 33ff adds r3, #255 ; 0xff + 166bc: 2201 movs r2, #1 + 166be: 4298 cmp r0, r3 + 166c0: d801 bhi.n 166c6 + 166c2: f7ff f949 bl 15958 + 166c6: 2000 movs r0, #0 + 166c8: 4ba6 ldr r3, [pc, #664] ; (16964 ) + 166ca: 4798 blx r3 + 166cc: 0103 lsls r3, r0, #4 + 166ce: 1a18 subs r0, r3, r0 + 166d0: 3050 adds r0, #80 ; 0x50 + 166d2: 21a0 movs r1, #160 ; 0xa0 + 166d4: 4ba4 ldr r3, [pc, #656] ; (16968 ) + 166d6: 4798 blx r3 + 166d8: b202 sxth r2, r0 + 166da: f7ff f93d bl 15958 + 166de: 2000 movs r0, #0 + 166e0: 4ba0 ldr r3, [pc, #640] ; (16964 ) + 166e2: 4798 blx r3 + 166e4: 0103 lsls r3, r0, #4 + 166e6: 1a18 subs r0, r3, r0 + 166e8: 0040 lsls r0, r0, #1 + 166ea: 3050 adds r0, #80 ; 0x50 + 166ec: 21a0 movs r1, #160 ; 0xa0 + 166ee: 4b9e ldr r3, [pc, #632] ; (16968 ) + 166f0: 4798 blx r3 + 166f2: b202 sxth r2, r0 + 166f4: f7ff f930 bl 15958 lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 16690: 2000 movs r0, #0 - 16692: 4b9a ldr r3, [pc, #616] ; (168fc ) - 16694: 4798 blx r3 - 16696: 0103 lsls r3, r0, #4 - 16698: 1a18 subs r0, r3, r0 - 1669a: 3050 adds r0, #80 ; 0x50 - 1669c: 2340 movs r3, #64 ; 0x40 - 1669e: 33ff adds r3, #255 ; 0xff - 166a0: 2201 movs r2, #1 - 166a2: 4298 cmp r0, r3 - 166a4: d801 bhi.n 166aa - 166a6: f7ff f973 bl 15990 - 166aa: 2000 movs r0, #0 - 166ac: 4b93 ldr r3, [pc, #588] ; (168fc ) - 166ae: 4798 blx r3 - 166b0: 0103 lsls r3, r0, #4 - 166b2: 1a18 subs r0, r3, r0 - 166b4: 3050 adds r0, #80 ; 0x50 - 166b6: 21a0 movs r1, #160 ; 0xa0 - 166b8: 4b91 ldr r3, [pc, #580] ; (16900 ) - 166ba: 4798 blx r3 - 166bc: b202 sxth r2, r0 - 166be: f7ff f967 bl 15990 - 166c2: 2000 movs r0, #0 - 166c4: 4b8d ldr r3, [pc, #564] ; (168fc ) - 166c6: 4798 blx r3 - 166c8: 0103 lsls r3, r0, #4 - 166ca: 1a18 subs r0, r3, r0 - 166cc: 0040 lsls r0, r0, #1 - 166ce: 3050 adds r0, #80 ; 0x50 - 166d0: 21a0 movs r1, #160 ; 0xa0 - 166d2: 4b8b ldr r3, [pc, #556] ; (16900 ) - 166d4: 4798 blx r3 - 166d6: b202 sxth r2, r0 - 166d8: f7ff f95a bl 15990 + 166f8: 2000 movs r0, #0 + 166fa: 4b9a ldr r3, [pc, #616] ; (16964 ) + 166fc: 4798 blx r3 + 166fe: 0103 lsls r3, r0, #4 + 16700: 1a18 subs r0, r3, r0 + 16702: 3050 adds r0, #80 ; 0x50 + 16704: 2340 movs r3, #64 ; 0x40 + 16706: 33ff adds r3, #255 ; 0xff + 16708: 2201 movs r2, #1 + 1670a: 4298 cmp r0, r3 + 1670c: d801 bhi.n 16712 + 1670e: f7ff f973 bl 159f8 + 16712: 2000 movs r0, #0 + 16714: 4b93 ldr r3, [pc, #588] ; (16964 ) + 16716: 4798 blx r3 + 16718: 0103 lsls r3, r0, #4 + 1671a: 1a18 subs r0, r3, r0 + 1671c: 3050 adds r0, #80 ; 0x50 + 1671e: 21a0 movs r1, #160 ; 0xa0 + 16720: 4b91 ldr r3, [pc, #580] ; (16968 ) + 16722: 4798 blx r3 + 16724: b202 sxth r2, r0 + 16726: f7ff f967 bl 159f8 + 1672a: 2000 movs r0, #0 + 1672c: 4b8d ldr r3, [pc, #564] ; (16964 ) + 1672e: 4798 blx r3 + 16730: 0103 lsls r3, r0, #4 + 16732: 1a18 subs r0, r3, r0 + 16734: 0040 lsls r0, r0, #1 + 16736: 3050 adds r0, #80 ; 0x50 + 16738: 21a0 movs r1, #160 ; 0xa0 + 1673a: 4b8b ldr r3, [pc, #556] ; (16968 ) + 1673c: 4798 blx r3 + 1673e: b202 sxth r2, r0 + 16740: f7ff f95a bl 159f8 lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 166dc: 2000 movs r0, #0 - 166de: 4b87 ldr r3, [pc, #540] ; (168fc ) - 166e0: 4798 blx r3 - 166e2: 0103 lsls r3, r0, #4 - 166e4: 1a18 subs r0, r3, r0 - 166e6: 3050 adds r0, #80 ; 0x50 - 166e8: 2340 movs r3, #64 ; 0x40 - 166ea: 33ff adds r3, #255 ; 0xff - 166ec: 2201 movs r2, #1 - 166ee: 4298 cmp r0, r3 - 166f0: d801 bhi.n 166f6 - 166f2: f7ff f969 bl 159c8 - 166f6: 2000 movs r0, #0 - 166f8: 4b80 ldr r3, [pc, #512] ; (168fc ) - 166fa: 4798 blx r3 - 166fc: 0103 lsls r3, r0, #4 - 166fe: 1a18 subs r0, r3, r0 - 16700: 3050 adds r0, #80 ; 0x50 - 16702: 21a0 movs r1, #160 ; 0xa0 - 16704: 4b7e ldr r3, [pc, #504] ; (16900 ) - 16706: 4798 blx r3 - 16708: b202 sxth r2, r0 - 1670a: f7ff f95d bl 159c8 - 1670e: 2000 movs r0, #0 - 16710: 4b7a ldr r3, [pc, #488] ; (168fc ) - 16712: 4798 blx r3 - 16714: 0103 lsls r3, r0, #4 - 16716: 1a18 subs r0, r3, r0 - 16718: 0040 lsls r0, r0, #1 - 1671a: 3050 adds r0, #80 ; 0x50 - 1671c: 21a0 movs r1, #160 ; 0xa0 - 1671e: 4b78 ldr r3, [pc, #480] ; (16900 ) - 16720: 4798 blx r3 - 16722: b202 sxth r2, r0 - 16724: f7ff f950 bl 159c8 + 16744: 2000 movs r0, #0 + 16746: 4b87 ldr r3, [pc, #540] ; (16964 ) + 16748: 4798 blx r3 + 1674a: 0103 lsls r3, r0, #4 + 1674c: 1a18 subs r0, r3, r0 + 1674e: 3050 adds r0, #80 ; 0x50 + 16750: 2340 movs r3, #64 ; 0x40 + 16752: 33ff adds r3, #255 ; 0xff + 16754: 2201 movs r2, #1 + 16756: 4298 cmp r0, r3 + 16758: d801 bhi.n 1675e + 1675a: f7ff f969 bl 15a30 + 1675e: 2000 movs r0, #0 + 16760: 4b80 ldr r3, [pc, #512] ; (16964 ) + 16762: 4798 blx r3 + 16764: 0103 lsls r3, r0, #4 + 16766: 1a18 subs r0, r3, r0 + 16768: 3050 adds r0, #80 ; 0x50 + 1676a: 21a0 movs r1, #160 ; 0xa0 + 1676c: 4b7e ldr r3, [pc, #504] ; (16968 ) + 1676e: 4798 blx r3 + 16770: b202 sxth r2, r0 + 16772: f7ff f95d bl 15a30 + 16776: 2000 movs r0, #0 + 16778: 4b7a ldr r3, [pc, #488] ; (16964 ) + 1677a: 4798 blx r3 + 1677c: 0103 lsls r3, r0, #4 + 1677e: 1a18 subs r0, r3, r0 + 16780: 0040 lsls r0, r0, #1 + 16782: 3050 adds r0, #80 ; 0x50 + 16784: 21a0 movs r1, #160 ; 0xa0 + 16786: 4b78 ldr r3, [pc, #480] ; (16968 ) + 16788: 4798 blx r3 + 1678a: b202 sxth r2, r0 + 1678c: f7ff f950 bl 15a30 lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 16728: 2000 movs r0, #0 - 1672a: 4b74 ldr r3, [pc, #464] ; (168fc ) - 1672c: 4798 blx r3 - 1672e: 0103 lsls r3, r0, #4 - 16730: 1a18 subs r0, r3, r0 - 16732: 3050 adds r0, #80 ; 0x50 - 16734: 2340 movs r3, #64 ; 0x40 - 16736: 33ff adds r3, #255 ; 0xff - 16738: 2201 movs r2, #1 - 1673a: 4298 cmp r0, r3 - 1673c: d801 bhi.n 16742 - 1673e: f7ff f95f bl 15a00 - 16742: 2000 movs r0, #0 - 16744: 4b6d ldr r3, [pc, #436] ; (168fc ) - 16746: 4798 blx r3 - 16748: 0103 lsls r3, r0, #4 - 1674a: 1a18 subs r0, r3, r0 - 1674c: 3050 adds r0, #80 ; 0x50 - 1674e: 21a0 movs r1, #160 ; 0xa0 - 16750: 4b6b ldr r3, [pc, #428] ; (16900 ) - 16752: 4798 blx r3 - 16754: b202 sxth r2, r0 - 16756: f7ff f953 bl 15a00 - 1675a: 2000 movs r0, #0 - 1675c: 4b67 ldr r3, [pc, #412] ; (168fc ) - 1675e: 4798 blx r3 - 16760: 0103 lsls r3, r0, #4 - 16762: 1a18 subs r0, r3, r0 - 16764: 0040 lsls r0, r0, #1 - 16766: 3050 adds r0, #80 ; 0x50 - 16768: 21a0 movs r1, #160 ; 0xa0 - 1676a: 4b65 ldr r3, [pc, #404] ; (16900 ) - 1676c: 4798 blx r3 - 1676e: b202 sxth r2, r0 - 16770: f7ff f946 bl 15a00 + 16790: 2000 movs r0, #0 + 16792: 4b74 ldr r3, [pc, #464] ; (16964 ) + 16794: 4798 blx r3 + 16796: 0103 lsls r3, r0, #4 + 16798: 1a18 subs r0, r3, r0 + 1679a: 3050 adds r0, #80 ; 0x50 + 1679c: 2340 movs r3, #64 ; 0x40 + 1679e: 33ff adds r3, #255 ; 0xff + 167a0: 2201 movs r2, #1 + 167a2: 4298 cmp r0, r3 + 167a4: d801 bhi.n 167aa + 167a6: f7ff f95f bl 15a68 + 167aa: 2000 movs r0, #0 + 167ac: 4b6d ldr r3, [pc, #436] ; (16964 ) + 167ae: 4798 blx r3 + 167b0: 0103 lsls r3, r0, #4 + 167b2: 1a18 subs r0, r3, r0 + 167b4: 3050 adds r0, #80 ; 0x50 + 167b6: 21a0 movs r1, #160 ; 0xa0 + 167b8: 4b6b ldr r3, [pc, #428] ; (16968 ) + 167ba: 4798 blx r3 + 167bc: b202 sxth r2, r0 + 167be: f7ff f953 bl 15a68 + 167c2: 2000 movs r0, #0 + 167c4: 4b67 ldr r3, [pc, #412] ; (16964 ) + 167c6: 4798 blx r3 + 167c8: 0103 lsls r3, r0, #4 + 167ca: 1a18 subs r0, r3, r0 + 167cc: 0040 lsls r0, r0, #1 + 167ce: 3050 adds r0, #80 ; 0x50 + 167d0: 21a0 movs r1, #160 ; 0xa0 + 167d2: 4b65 ldr r3, [pc, #404] ; (16968 ) + 167d4: 4798 blx r3 + 167d6: b202 sxth r2, r0 + 167d8: f7ff f946 bl 15a68 lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 16774: 2000 movs r0, #0 - 16776: 4b61 ldr r3, [pc, #388] ; (168fc ) - 16778: 4798 blx r3 - 1677a: 0103 lsls r3, r0, #4 - 1677c: 1a18 subs r0, r3, r0 - 1677e: 3050 adds r0, #80 ; 0x50 - 16780: 2340 movs r3, #64 ; 0x40 - 16782: 33ff adds r3, #255 ; 0xff - 16784: 2201 movs r2, #1 - 16786: 4298 cmp r0, r3 - 16788: d801 bhi.n 1678e - 1678a: f7ff f955 bl 15a38 - 1678e: 2000 movs r0, #0 - 16790: 4b5a ldr r3, [pc, #360] ; (168fc ) - 16792: 4798 blx r3 - 16794: 0103 lsls r3, r0, #4 - 16796: 1a18 subs r0, r3, r0 - 16798: 3050 adds r0, #80 ; 0x50 - 1679a: 21a0 movs r1, #160 ; 0xa0 - 1679c: 4b58 ldr r3, [pc, #352] ; (16900 ) - 1679e: 4798 blx r3 - 167a0: b202 sxth r2, r0 - 167a2: f7ff f949 bl 15a38 - 167a6: 2000 movs r0, #0 - 167a8: 4b54 ldr r3, [pc, #336] ; (168fc ) - 167aa: 4798 blx r3 - 167ac: 0103 lsls r3, r0, #4 - 167ae: 1a18 subs r0, r3, r0 - 167b0: 0040 lsls r0, r0, #1 - 167b2: 3050 adds r0, #80 ; 0x50 - 167b4: 21a0 movs r1, #160 ; 0xa0 - 167b6: 4b52 ldr r3, [pc, #328] ; (16900 ) - 167b8: 4798 blx r3 - 167ba: b202 sxth r2, r0 - 167bc: f7ff f93c bl 15a38 + 167dc: 2000 movs r0, #0 + 167de: 4b61 ldr r3, [pc, #388] ; (16964 ) + 167e0: 4798 blx r3 + 167e2: 0103 lsls r3, r0, #4 + 167e4: 1a18 subs r0, r3, r0 + 167e6: 3050 adds r0, #80 ; 0x50 + 167e8: 2340 movs r3, #64 ; 0x40 + 167ea: 33ff adds r3, #255 ; 0xff + 167ec: 2201 movs r2, #1 + 167ee: 4298 cmp r0, r3 + 167f0: d801 bhi.n 167f6 + 167f2: f7ff f955 bl 15aa0 + 167f6: 2000 movs r0, #0 + 167f8: 4b5a ldr r3, [pc, #360] ; (16964 ) + 167fa: 4798 blx r3 + 167fc: 0103 lsls r3, r0, #4 + 167fe: 1a18 subs r0, r3, r0 + 16800: 3050 adds r0, #80 ; 0x50 + 16802: 21a0 movs r1, #160 ; 0xa0 + 16804: 4b58 ldr r3, [pc, #352] ; (16968 ) + 16806: 4798 blx r3 + 16808: b202 sxth r2, r0 + 1680a: f7ff f949 bl 15aa0 + 1680e: 2000 movs r0, #0 + 16810: 4b54 ldr r3, [pc, #336] ; (16964 ) + 16812: 4798 blx r3 + 16814: 0103 lsls r3, r0, #4 + 16816: 1a18 subs r0, r3, r0 + 16818: 0040 lsls r0, r0, #1 + 1681a: 3050 adds r0, #80 ; 0x50 + 1681c: 21a0 movs r1, #160 ; 0xa0 + 1681e: 4b52 ldr r3, [pc, #328] ; (16968 ) + 16820: 4798 blx r3 + 16822: b202 sxth r2, r0 + 16824: f7ff f93c bl 15aa0 lv_style_set_border_color(&styles->table_cell, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 167c0: 231a movs r3, #26 - 167c2: 2137 movs r1, #55 ; 0x37 - 167c4: 221c movs r2, #28 - 167c6: f7ff f94b bl 15a60 + 16828: 231a movs r3, #26 + 1682a: 2137 movs r1, #55 ; 0x37 + 1682c: 221c movs r2, #28 + 1682e: f7ff f94b bl 15ac8 lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 167ca: 2000 movs r0, #0 - 167cc: 4b4b ldr r3, [pc, #300] ; (168fc ) - 167ce: 4798 blx r3 - 167d0: 0103 lsls r3, r0, #4 - 167d2: 1a18 subs r0, r3, r0 - 167d4: 3050 adds r0, #80 ; 0x50 - 167d6: 2340 movs r3, #64 ; 0x40 - 167d8: 33ff adds r3, #255 ; 0xff - 167da: 2201 movs r2, #1 - 167dc: 4298 cmp r0, r3 - 167de: d801 bhi.n 167e4 - 167e0: f7ff f968 bl 15ab4 - 167e4: 2000 movs r0, #0 - 167e6: 4b45 ldr r3, [pc, #276] ; (168fc ) - 167e8: 4798 blx r3 - 167ea: 0103 lsls r3, r0, #4 - 167ec: 1a18 subs r0, r3, r0 - 167ee: 3050 adds r0, #80 ; 0x50 - 167f0: 21a0 movs r1, #160 ; 0xa0 - 167f2: 4b43 ldr r3, [pc, #268] ; (16900 ) - 167f4: 4798 blx r3 - 167f6: b202 sxth r2, r0 - 167f8: f7ff f95c bl 15ab4 - 167fc: 2000 movs r0, #0 - 167fe: 4b3f ldr r3, [pc, #252] ; (168fc ) - 16800: 4798 blx r3 - 16802: 0103 lsls r3, r0, #4 - 16804: 1a18 subs r0, r3, r0 - 16806: 0040 lsls r0, r0, #1 - 16808: 3050 adds r0, #80 ; 0x50 - 1680a: 21a0 movs r1, #160 ; 0xa0 - 1680c: 4b3c ldr r3, [pc, #240] ; (16900 ) - 1680e: 4798 blx r3 - 16810: b202 sxth r2, r0 - 16812: f7ff f94f bl 15ab4 + 16832: 2000 movs r0, #0 + 16834: 4b4b ldr r3, [pc, #300] ; (16964 ) + 16836: 4798 blx r3 + 16838: 0103 lsls r3, r0, #4 + 1683a: 1a18 subs r0, r3, r0 + 1683c: 3050 adds r0, #80 ; 0x50 + 1683e: 2340 movs r3, #64 ; 0x40 + 16840: 33ff adds r3, #255 ; 0xff + 16842: 2201 movs r2, #1 + 16844: 4298 cmp r0, r3 + 16846: d801 bhi.n 1684c + 16848: f7ff f968 bl 15b1c + 1684c: 2000 movs r0, #0 + 1684e: 4b45 ldr r3, [pc, #276] ; (16964 ) + 16850: 4798 blx r3 + 16852: 0103 lsls r3, r0, #4 + 16854: 1a18 subs r0, r3, r0 + 16856: 3050 adds r0, #80 ; 0x50 + 16858: 21a0 movs r1, #160 ; 0xa0 + 1685a: 4b43 ldr r3, [pc, #268] ; (16968 ) + 1685c: 4798 blx r3 + 1685e: b202 sxth r2, r0 + 16860: f7ff f95c bl 15b1c + 16864: 2000 movs r0, #0 + 16866: 4b3f ldr r3, [pc, #252] ; (16964 ) + 16868: 4798 blx r3 + 1686a: 0103 lsls r3, r0, #4 + 1686c: 1a18 subs r0, r3, r0 + 1686e: 0040 lsls r0, r0, #1 + 16870: 3050 adds r0, #80 ; 0x50 + 16872: 21a0 movs r1, #160 ; 0xa0 + 16874: 4b3c ldr r3, [pc, #240] ; (16968 ) + 16876: 4798 blx r3 + 16878: b202 sxth r2, r0 + 1687a: f7ff f94f bl 15b1c lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 16816: 2000 movs r0, #0 - 16818: 4b38 ldr r3, [pc, #224] ; (168fc ) - 1681a: 4798 blx r3 - 1681c: 0103 lsls r3, r0, #4 - 1681e: 1a18 subs r0, r3, r0 - 16820: 3050 adds r0, #80 ; 0x50 - 16822: 2340 movs r3, #64 ; 0x40 - 16824: 33ff adds r3, #255 ; 0xff - 16826: 2201 movs r2, #1 - 16828: 4298 cmp r0, r3 - 1682a: d801 bhi.n 16830 - 1682c: f7ff f95e bl 15aec - 16830: 2000 movs r0, #0 - 16832: 4b32 ldr r3, [pc, #200] ; (168fc ) - 16834: 4798 blx r3 - 16836: 0103 lsls r3, r0, #4 - 16838: 1a18 subs r0, r3, r0 - 1683a: 3050 adds r0, #80 ; 0x50 - 1683c: 21a0 movs r1, #160 ; 0xa0 - 1683e: 4b30 ldr r3, [pc, #192] ; (16900 ) - 16840: 4798 blx r3 - 16842: b202 sxth r2, r0 - 16844: f7ff f952 bl 15aec - 16848: 2000 movs r0, #0 - 1684a: 4b2c ldr r3, [pc, #176] ; (168fc ) - 1684c: 4798 blx r3 - 1684e: 0103 lsls r3, r0, #4 - 16850: 1a18 subs r0, r3, r0 - 16852: 0040 lsls r0, r0, #1 - 16854: 3050 adds r0, #80 ; 0x50 - 16856: 21a0 movs r1, #160 ; 0xa0 - 16858: 4b29 ldr r3, [pc, #164] ; (16900 ) - 1685a: 4798 blx r3 - 1685c: b202 sxth r2, r0 - 1685e: f7ff f945 bl 15aec + 1687e: 2000 movs r0, #0 + 16880: 4b38 ldr r3, [pc, #224] ; (16964 ) + 16882: 4798 blx r3 + 16884: 0103 lsls r3, r0, #4 + 16886: 1a18 subs r0, r3, r0 + 16888: 3050 adds r0, #80 ; 0x50 + 1688a: 2340 movs r3, #64 ; 0x40 + 1688c: 33ff adds r3, #255 ; 0xff + 1688e: 2201 movs r2, #1 + 16890: 4298 cmp r0, r3 + 16892: d801 bhi.n 16898 + 16894: f7ff f95e bl 15b54 + 16898: 2000 movs r0, #0 + 1689a: 4b32 ldr r3, [pc, #200] ; (16964 ) + 1689c: 4798 blx r3 + 1689e: 0103 lsls r3, r0, #4 + 168a0: 1a18 subs r0, r3, r0 + 168a2: 3050 adds r0, #80 ; 0x50 + 168a4: 21a0 movs r1, #160 ; 0xa0 + 168a6: 4b30 ldr r3, [pc, #192] ; (16968 ) + 168a8: 4798 blx r3 + 168aa: b202 sxth r2, r0 + 168ac: f7ff f952 bl 15b54 + 168b0: 2000 movs r0, #0 + 168b2: 4b2c ldr r3, [pc, #176] ; (16964 ) + 168b4: 4798 blx r3 + 168b6: 0103 lsls r3, r0, #4 + 168b8: 1a18 subs r0, r3, r0 + 168ba: 0040 lsls r0, r0, #1 + 168bc: 3050 adds r0, #80 ; 0x50 + 168be: 21a0 movs r1, #160 ; 0xa0 + 168c0: 4b29 ldr r3, [pc, #164] ; (16968 ) + 168c2: 4798 blx r3 + 168c4: b202 sxth r2, r0 + 168c6: f7ff f945 bl 15b54 lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 16862: 2000 movs r0, #0 - 16864: 4b25 ldr r3, [pc, #148] ; (168fc ) - 16866: 4798 blx r3 - 16868: 0103 lsls r3, r0, #4 - 1686a: 1a18 subs r0, r3, r0 - 1686c: 3050 adds r0, #80 ; 0x50 - 1686e: 2340 movs r3, #64 ; 0x40 - 16870: 33ff adds r3, #255 ; 0xff - 16872: 2201 movs r2, #1 - 16874: 4298 cmp r0, r3 - 16876: d801 bhi.n 1687c - 16878: f7ff f954 bl 15b24 - 1687c: 2000 movs r0, #0 - 1687e: 4b1f ldr r3, [pc, #124] ; (168fc ) - 16880: 4798 blx r3 - 16882: 0103 lsls r3, r0, #4 - 16884: 1a18 subs r0, r3, r0 - 16886: 3050 adds r0, #80 ; 0x50 - 16888: 21a0 movs r1, #160 ; 0xa0 - 1688a: 4b1d ldr r3, [pc, #116] ; (16900 ) - 1688c: 4798 blx r3 - 1688e: b202 sxth r2, r0 - 16890: f7ff f948 bl 15b24 - 16894: 2000 movs r0, #0 - 16896: 4b19 ldr r3, [pc, #100] ; (168fc ) - 16898: 4798 blx r3 - 1689a: 0103 lsls r3, r0, #4 - 1689c: 1a18 subs r0, r3, r0 - 1689e: 0040 lsls r0, r0, #1 - 168a0: 3050 adds r0, #80 ; 0x50 - 168a2: 21a0 movs r1, #160 ; 0xa0 - 168a4: 4b16 ldr r3, [pc, #88] ; (16900 ) - 168a6: 4798 blx r3 - 168a8: b202 sxth r2, r0 - 168aa: f7ff f93b bl 15b24 + 168ca: 2000 movs r0, #0 + 168cc: 4b25 ldr r3, [pc, #148] ; (16964 ) + 168ce: 4798 blx r3 + 168d0: 0103 lsls r3, r0, #4 + 168d2: 1a18 subs r0, r3, r0 + 168d4: 3050 adds r0, #80 ; 0x50 + 168d6: 2340 movs r3, #64 ; 0x40 + 168d8: 33ff adds r3, #255 ; 0xff + 168da: 2201 movs r2, #1 + 168dc: 4298 cmp r0, r3 + 168de: d801 bhi.n 168e4 + 168e0: f7ff f954 bl 15b8c + 168e4: 2000 movs r0, #0 + 168e6: 4b1f ldr r3, [pc, #124] ; (16964 ) + 168e8: 4798 blx r3 + 168ea: 0103 lsls r3, r0, #4 + 168ec: 1a18 subs r0, r3, r0 + 168ee: 3050 adds r0, #80 ; 0x50 + 168f0: 21a0 movs r1, #160 ; 0xa0 + 168f2: 4b1d ldr r3, [pc, #116] ; (16968 ) + 168f4: 4798 blx r3 + 168f6: b202 sxth r2, r0 + 168f8: f7ff f948 bl 15b8c + 168fc: 2000 movs r0, #0 + 168fe: 4b19 ldr r3, [pc, #100] ; (16964 ) + 16900: 4798 blx r3 + 16902: 0103 lsls r3, r0, #4 + 16904: 1a18 subs r0, r3, r0 + 16906: 0040 lsls r0, r0, #1 + 16908: 3050 adds r0, #80 ; 0x50 + 1690a: 21a0 movs r1, #160 ; 0xa0 + 1690c: 4b16 ldr r3, [pc, #88] ; (16968 ) + 1690e: 4798 blx r3 + 16910: b202 sxth r2, r0 + 16912: f7ff f93b bl 15b8c lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 168ae: 2000 movs r0, #0 - 168b0: 4b12 ldr r3, [pc, #72] ; (168fc ) - 168b2: 4798 blx r3 - 168b4: 0103 lsls r3, r0, #4 - 168b6: 1a18 subs r0, r3, r0 - 168b8: 3050 adds r0, #80 ; 0x50 - 168ba: 2340 movs r3, #64 ; 0x40 - 168bc: 33ff adds r3, #255 ; 0xff - 168be: 2201 movs r2, #1 - 168c0: 4298 cmp r0, r3 - 168c2: d801 bhi.n 168c8 - 168c4: f7ff f94a bl 15b5c - 168c8: 2000 movs r0, #0 - 168ca: 4b0c ldr r3, [pc, #48] ; (168fc ) - 168cc: 4798 blx r3 - 168ce: 0103 lsls r3, r0, #4 - 168d0: 1a18 subs r0, r3, r0 - 168d2: 3050 adds r0, #80 ; 0x50 - 168d4: 21a0 movs r1, #160 ; 0xa0 - 168d6: 4b0a ldr r3, [pc, #40] ; (16900 ) - 168d8: 4798 blx r3 - 168da: b202 sxth r2, r0 - 168dc: f7ff f93e bl 15b5c - 168e0: 2000 movs r0, #0 - 168e2: 4b06 ldr r3, [pc, #24] ; (168fc ) - 168e4: 4798 blx r3 - 168e6: 0103 lsls r3, r0, #4 - 168e8: 1a18 subs r0, r3, r0 - 168ea: 0040 lsls r0, r0, #1 - 168ec: 3050 adds r0, #80 ; 0x50 - 168ee: 21a0 movs r1, #160 ; 0xa0 - 168f0: 4b03 ldr r3, [pc, #12] ; (16900 ) - 168f2: 4798 blx r3 - 168f4: b202 sxth r2, r0 - 168f6: f7ff f931 bl 15b5c - 168fa: 46c0 nop ; (mov r8, r8) - 168fc: 0000f5fd .word 0x0000f5fd - 16900: 00017961 .word 0x00017961 - -00016904 : + 16916: 2000 movs r0, #0 + 16918: 4b12 ldr r3, [pc, #72] ; (16964 ) + 1691a: 4798 blx r3 + 1691c: 0103 lsls r3, r0, #4 + 1691e: 1a18 subs r0, r3, r0 + 16920: 3050 adds r0, #80 ; 0x50 + 16922: 2340 movs r3, #64 ; 0x40 + 16924: 33ff adds r3, #255 ; 0xff + 16926: 2201 movs r2, #1 + 16928: 4298 cmp r0, r3 + 1692a: d801 bhi.n 16930 + 1692c: f7ff f94a bl 15bc4 + 16930: 2000 movs r0, #0 + 16932: 4b0c ldr r3, [pc, #48] ; (16964 ) + 16934: 4798 blx r3 + 16936: 0103 lsls r3, r0, #4 + 16938: 1a18 subs r0, r3, r0 + 1693a: 3050 adds r0, #80 ; 0x50 + 1693c: 21a0 movs r1, #160 ; 0xa0 + 1693e: 4b0a ldr r3, [pc, #40] ; (16968 ) + 16940: 4798 blx r3 + 16942: b202 sxth r2, r0 + 16944: f7ff f93e bl 15bc4 + 16948: 2000 movs r0, #0 + 1694a: 4b06 ldr r3, [pc, #24] ; (16964 ) + 1694c: 4798 blx r3 + 1694e: 0103 lsls r3, r0, #4 + 16950: 1a18 subs r0, r3, r0 + 16952: 0040 lsls r0, r0, #1 + 16954: 3050 adds r0, #80 ; 0x50 + 16956: 21a0 movs r1, #160 ; 0xa0 + 16958: 4b03 ldr r3, [pc, #12] ; (16968 ) + 1695a: 4798 blx r3 + 1695c: b202 sxth r2, r0 + 1695e: f7ff f931 bl 15bc4 + 16962: 46c0 nop ; (mov r8, r8) + 16964: 0000f665 .word 0x0000f665 + 16968: 000179f1 .word 0x000179f1 + +0001696c : /********************** * GLOBAL FUNCTIONS **********************/ void ssd1963_init(void) { - 16904: b570 push {r4, r5, r6, lr} + 1696c: b570 push {r4, r5, r6, lr} } else { port_base->OUTCLR.reg = pin_mask; - 16906: 4de9 ldr r5, [pc, #932] ; (16cac ) - 16908: 2320 movs r3, #32 - 1690a: 616b str r3, [r5, #20] + 1696e: 4de9 ldr r5, [pc, #932] ; (16d14 ) + 16970: 2320 movs r3, #32 + 16972: 616b str r3, [r5, #20] LV_DRV_DISP_CMD_DATA(SSD1963_CMD_MODE); cmd_mode = true; - 1690c: 4ce8 ldr r4, [pc, #928] ; (16cb0 ) - 1690e: 3b1f subs r3, #31 - 16910: 7023 strb r3, [r4, #0] + 16974: 4ce8 ldr r4, [pc, #928] ; (16d18 ) + 16976: 3b1f subs r3, #31 + 16978: 7023 strb r3, [r4, #0] LV_DRV_DELAY_MS(250); - 16912: 2000 movs r0, #0 - 16914: 4be7 ldr r3, [pc, #924] ; (16cb4 ) - 16916: 4798 blx r3 - 16918: 22fa movs r2, #250 ; 0xfa - 1691a: 2300 movs r3, #0 - 1691c: 2100 movs r1, #0 - 1691e: 4ee6 ldr r6, [pc, #920] ; (16cb8 ) - 16920: 47b0 blx r6 - 16922: 4ae6 ldr r2, [pc, #920] ; (16cbc ) - 16924: 2300 movs r3, #0 - 16926: 1880 adds r0, r0, r2 - 16928: 4159 adcs r1, r3 - 1692a: 4ae5 ldr r2, [pc, #916] ; (16cc0 ) - 1692c: 2300 movs r3, #0 - 1692e: 4ee5 ldr r6, [pc, #916] ; (16cc4 ) - 16930: 47b0 blx r6 - 16932: 4be5 ldr r3, [pc, #916] ; (16cc8 ) - 16934: 4798 blx r3 - 16936: 2340 movs r3, #64 ; 0x40 - 16938: 616b str r3, [r5, #20] + 1697a: 2000 movs r0, #0 + 1697c: 4be7 ldr r3, [pc, #924] ; (16d1c ) + 1697e: 4798 blx r3 + 16980: 22fa movs r2, #250 ; 0xfa + 16982: 2300 movs r3, #0 + 16984: 2100 movs r1, #0 + 16986: 4ee6 ldr r6, [pc, #920] ; (16d20 ) + 16988: 47b0 blx r6 + 1698a: 4ae6 ldr r2, [pc, #920] ; (16d24 ) + 1698c: 2300 movs r3, #0 + 1698e: 1880 adds r0, r0, r2 + 16990: 4159 adcs r1, r3 + 16992: 4ae5 ldr r2, [pc, #916] ; (16d28 ) + 16994: 2300 movs r3, #0 + 16996: 4ee5 ldr r6, [pc, #916] ; (16d2c ) + 16998: 47b0 blx r6 + 1699a: 4be5 ldr r3, [pc, #916] ; (16d30 ) + 1699c: 4798 blx r3 + 1699e: 2340 movs r3, #64 ; 0x40 + 169a0: 616b str r3, [r5, #20] /** * Command mode */ static inline void ssd1963_cmd_mode(void) { if(cmd_mode == false) { - 1693a: 7823 ldrb r3, [r4, #0] - 1693c: 2b00 cmp r3, #0 - 1693e: d104 bne.n 1694a - 16940: 2220 movs r2, #32 - 16942: 616a str r2, [r5, #20] + 169a2: 7823 ldrb r3, [r4, #0] + 169a4: 2b00 cmp r3, #0 + 169a6: d104 bne.n 169b2 + 169a8: 2220 movs r2, #32 + 169aa: 616a str r2, [r5, #20] LV_DRV_DISP_CMD_DATA(SSD1963_CMD_MODE); cmd_mode = true; - 16944: 3a1f subs r2, #31 - 16946: 4bda ldr r3, [pc, #872] ; (16cb0 ) - 16948: 701a strb r2, [r3, #0] + 169ac: 3a1f subs r2, #31 + 169ae: 4bda ldr r3, [pc, #872] ; (16d18 ) + 169b0: 701a strb r2, [r3, #0] static inline void ssd1963_cmd(uint8_t cmd) { LV_DRV_DISP_PAR_CS(0); ssd1963_cmd_mode(); LV_DRV_DISP_PAR_WR_WORD(cmd); - 1694a: 22e2 movs r2, #226 ; 0xe2 - 1694c: 49df ldr r1, [pc, #892] ; (16ccc ) - 1694e: 48e0 ldr r0, [pc, #896] ; (16cd0 ) - 16950: 4be0 ldr r3, [pc, #896] ; (16cd4 ) - 16952: 4798 blx r3 + 169b2: 22e2 movs r2, #226 ; 0xe2 + 169b4: 49df ldr r1, [pc, #892] ; (16d34 ) + 169b6: 48e0 ldr r0, [pc, #896] ; (16d38 ) + 169b8: 4be0 ldr r3, [pc, #896] ; (16d3c ) + 169ba: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16954: 4bd5 ldr r3, [pc, #852] ; (16cac ) - 16956: 2240 movs r2, #64 ; 0x40 - 16958: 619a str r2, [r3, #24] + 169bc: 4bd5 ldr r3, [pc, #852] ; (16d14 ) + 169be: 2240 movs r2, #64 ; 0x40 + 169c0: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1695a: 615a str r2, [r3, #20] + 169c2: 615a str r2, [r3, #20] if(cmd_mode != false) { - 1695c: 4bd4 ldr r3, [pc, #848] ; (16cb0 ) - 1695e: 781b ldrb r3, [r3, #0] - 16960: 2b00 cmp r3, #0 - 16962: d005 beq.n 16970 + 169c4: 4bd4 ldr r3, [pc, #848] ; (16d18 ) + 169c6: 781b ldrb r3, [r3, #0] + 169c8: 2b00 cmp r3, #0 + 169ca: d005 beq.n 169d8 port_base->OUTSET.reg = pin_mask; - 16964: 3a20 subs r2, #32 - 16966: 4bd1 ldr r3, [pc, #836] ; (16cac ) - 16968: 619a str r2, [r3, #24] + 169cc: 3a20 subs r2, #32 + 169ce: 4bd1 ldr r3, [pc, #836] ; (16d14 ) + 169d0: 619a str r2, [r3, #24] cmd_mode = false; - 1696a: 2200 movs r2, #0 - 1696c: 4bd0 ldr r3, [pc, #832] ; (16cb0 ) - 1696e: 701a strb r2, [r3, #0] + 169d2: 2200 movs r2, #0 + 169d4: 4bd0 ldr r3, [pc, #832] ; (16d18 ) + 169d6: 701a strb r2, [r3, #0] static inline void ssd1963_data(uint8_t data) { LV_DRV_DISP_PAR_CS(0); ssd1963_data_mode(); LV_DRV_DISP_PAR_WR_WORD(data); - 16970: 2223 movs r2, #35 ; 0x23 - 16972: 49d6 ldr r1, [pc, #856] ; (16ccc ) - 16974: 48d6 ldr r0, [pc, #856] ; (16cd0 ) - 16976: 4bd7 ldr r3, [pc, #860] ; (16cd4 ) - 16978: 4798 blx r3 - 1697a: 4bcc ldr r3, [pc, #816] ; (16cac ) - 1697c: 2240 movs r2, #64 ; 0x40 - 1697e: 619a str r2, [r3, #24] + 169d8: 2223 movs r2, #35 ; 0x23 + 169da: 49d6 ldr r1, [pc, #856] ; (16d34 ) + 169dc: 48d6 ldr r0, [pc, #856] ; (16d38 ) + 169de: 4bd7 ldr r3, [pc, #860] ; (16d3c ) + 169e0: 4798 blx r3 + 169e2: 4bcc ldr r3, [pc, #816] ; (16d14 ) + 169e4: 2240 movs r2, #64 ; 0x40 + 169e6: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16980: 615a str r2, [r3, #20] + 169e8: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16982: 4bcb ldr r3, [pc, #812] ; (16cb0 ) - 16984: 781b ldrb r3, [r3, #0] - 16986: 2b00 cmp r3, #0 - 16988: d005 beq.n 16996 + 169ea: 4bcb ldr r3, [pc, #812] ; (16d18 ) + 169ec: 781b ldrb r3, [r3, #0] + 169ee: 2b00 cmp r3, #0 + 169f0: d005 beq.n 169fe port_base->OUTSET.reg = pin_mask; - 1698a: 3a20 subs r2, #32 - 1698c: 4bc7 ldr r3, [pc, #796] ; (16cac ) - 1698e: 619a str r2, [r3, #24] + 169f2: 3a20 subs r2, #32 + 169f4: 4bc7 ldr r3, [pc, #796] ; (16d14 ) + 169f6: 619a str r2, [r3, #24] cmd_mode = false; - 16990: 2200 movs r2, #0 - 16992: 4bc7 ldr r3, [pc, #796] ; (16cb0 ) - 16994: 701a strb r2, [r3, #0] + 169f8: 2200 movs r2, #0 + 169fa: 4bc7 ldr r3, [pc, #796] ; (16d18 ) + 169fc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16996: 2202 movs r2, #2 - 16998: 49cc ldr r1, [pc, #816] ; (16ccc ) - 1699a: 48cd ldr r0, [pc, #820] ; (16cd0 ) - 1699c: 4bcd ldr r3, [pc, #820] ; (16cd4 ) - 1699e: 4798 blx r3 - 169a0: 4bc2 ldr r3, [pc, #776] ; (16cac ) - 169a2: 2240 movs r2, #64 ; 0x40 - 169a4: 619a str r2, [r3, #24] + 169fe: 2202 movs r2, #2 + 16a00: 49cc ldr r1, [pc, #816] ; (16d34 ) + 16a02: 48cd ldr r0, [pc, #820] ; (16d38 ) + 16a04: 4bcd ldr r3, [pc, #820] ; (16d3c ) + 16a06: 4798 blx r3 + 16a08: 4bc2 ldr r3, [pc, #776] ; (16d14 ) + 16a0a: 2240 movs r2, #64 ; 0x40 + 16a0c: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 169a6: 615a str r2, [r3, #20] + 16a0e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 169a8: 4bc1 ldr r3, [pc, #772] ; (16cb0 ) - 169aa: 781b ldrb r3, [r3, #0] - 169ac: 2b00 cmp r3, #0 - 169ae: d005 beq.n 169bc + 16a10: 4bc1 ldr r3, [pc, #772] ; (16d18 ) + 16a12: 781b ldrb r3, [r3, #0] + 16a14: 2b00 cmp r3, #0 + 16a16: d005 beq.n 16a24 port_base->OUTSET.reg = pin_mask; - 169b0: 3a20 subs r2, #32 - 169b2: 4bbe ldr r3, [pc, #760] ; (16cac ) - 169b4: 619a str r2, [r3, #24] + 16a18: 3a20 subs r2, #32 + 16a1a: 4bbe ldr r3, [pc, #760] ; (16d14 ) + 16a1c: 619a str r2, [r3, #24] cmd_mode = false; - 169b6: 2200 movs r2, #0 - 169b8: 4bbd ldr r3, [pc, #756] ; (16cb0 ) - 169ba: 701a strb r2, [r3, #0] + 16a1e: 2200 movs r2, #0 + 16a20: 4bbd ldr r3, [pc, #756] ; (16d18 ) + 16a22: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 169bc: 2204 movs r2, #4 - 169be: 49c3 ldr r1, [pc, #780] ; (16ccc ) - 169c0: 48c3 ldr r0, [pc, #780] ; (16cd0 ) - 169c2: 4bc4 ldr r3, [pc, #784] ; (16cd4 ) - 169c4: 4798 blx r3 - 169c6: 4bb9 ldr r3, [pc, #740] ; (16cac ) - 169c8: 2240 movs r2, #64 ; 0x40 - 169ca: 619a str r2, [r3, #24] + 16a24: 2204 movs r2, #4 + 16a26: 49c3 ldr r1, [pc, #780] ; (16d34 ) + 16a28: 48c3 ldr r0, [pc, #780] ; (16d38 ) + 16a2a: 4bc4 ldr r3, [pc, #784] ; (16d3c ) + 16a2c: 4798 blx r3 + 16a2e: 4bb9 ldr r3, [pc, #740] ; (16d14 ) + 16a30: 2240 movs r2, #64 ; 0x40 + 16a32: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 169cc: 615a str r2, [r3, #20] + 16a34: 615a str r2, [r3, #20] if(cmd_mode == false) { - 169ce: 4bb8 ldr r3, [pc, #736] ; (16cb0 ) - 169d0: 781b ldrb r3, [r3, #0] - 169d2: 2b00 cmp r3, #0 - 169d4: d105 bne.n 169e2 - 169d6: 3a20 subs r2, #32 - 169d8: 4bb4 ldr r3, [pc, #720] ; (16cac ) - 169da: 615a str r2, [r3, #20] - cmd_mode = true; - 169dc: 3a1f subs r2, #31 - 169de: 4bb4 ldr r3, [pc, #720] ; (16cb0 ) - 169e0: 701a strb r2, [r3, #0] - LV_DRV_DISP_PAR_WR_WORD(cmd); - 169e2: 22e0 movs r2, #224 ; 0xe0 - 169e4: 49b9 ldr r1, [pc, #740] ; (16ccc ) - 169e6: 48ba ldr r0, [pc, #744] ; (16cd0 ) - 169e8: 4bba ldr r3, [pc, #744] ; (16cd4 ) - 169ea: 4798 blx r3 - port_base->OUTSET.reg = pin_mask; - 169ec: 4baf ldr r3, [pc, #700] ; (16cac ) - 169ee: 2240 movs r2, #64 ; 0x40 - 169f0: 619a str r2, [r3, #24] - port_base->OUTCLR.reg = pin_mask; - 169f2: 615a str r2, [r3, #20] - if(cmd_mode != false) { - 169f4: 4bae ldr r3, [pc, #696] ; (16cb0 ) - 169f6: 781b ldrb r3, [r3, #0] - 169f8: 2b00 cmp r3, #0 - 169fa: d005 beq.n 16a08 - port_base->OUTSET.reg = pin_mask; - 169fc: 3a20 subs r2, #32 - 169fe: 4bab ldr r3, [pc, #684] ; (16cac ) - 16a00: 619a str r2, [r3, #24] - cmd_mode = false; - 16a02: 2200 movs r2, #0 - 16a04: 4baa ldr r3, [pc, #680] ; (16cb0 ) - 16a06: 701a strb r2, [r3, #0] - LV_DRV_DISP_PAR_WR_WORD(data); - 16a08: 2201 movs r2, #1 - 16a0a: 49b0 ldr r1, [pc, #704] ; (16ccc ) - 16a0c: 48b0 ldr r0, [pc, #704] ; (16cd0 ) - 16a0e: 4bb1 ldr r3, [pc, #708] ; (16cd4 ) - 16a10: 4798 blx r3 - 16a12: 4ca6 ldr r4, [pc, #664] ; (16cac ) - 16a14: 2540 movs r5, #64 ; 0x40 - 16a16: 61a5 str r5, [r4, #24] - LV_DRV_DELAY_MS(1); - 16a18: 2000 movs r0, #0 - 16a1a: 4ba6 ldr r3, [pc, #664] ; (16cb4 ) - 16a1c: 4798 blx r3 - 16a1e: 0002 movs r2, r0 - 16a20: 2300 movs r3, #0 - 16a22: 48a6 ldr r0, [pc, #664] ; (16cbc ) - 16a24: 2100 movs r1, #0 - 16a26: 1880 adds r0, r0, r2 - 16a28: 4159 adcs r1, r3 - 16a2a: 4aa5 ldr r2, [pc, #660] ; (16cc0 ) - 16a2c: 2300 movs r3, #0 - 16a2e: 4ea5 ldr r6, [pc, #660] ; (16cc4 ) - 16a30: 47b0 blx r6 - 16a32: 4ba5 ldr r3, [pc, #660] ; (16cc8 ) - 16a34: 4798 blx r3 - port_base->OUTCLR.reg = pin_mask; - 16a36: 6165 str r5, [r4, #20] - if(cmd_mode == false) { - 16a38: 4b9d ldr r3, [pc, #628] ; (16cb0 ) - 16a3a: 781b ldrb r3, [r3, #0] - 16a3c: 2b00 cmp r3, #0 - 16a3e: d104 bne.n 16a4a - 16a40: 2220 movs r2, #32 - 16a42: 6162 str r2, [r4, #20] + 16a36: 4bb8 ldr r3, [pc, #736] ; (16d18 ) + 16a38: 781b ldrb r3, [r3, #0] + 16a3a: 2b00 cmp r3, #0 + 16a3c: d105 bne.n 16a4a + 16a3e: 3a20 subs r2, #32 + 16a40: 4bb4 ldr r3, [pc, #720] ; (16d14 ) + 16a42: 615a str r2, [r3, #20] cmd_mode = true; 16a44: 3a1f subs r2, #31 - 16a46: 4b9a ldr r3, [pc, #616] ; (16cb0 ) + 16a46: 4bb4 ldr r3, [pc, #720] ; (16d18 ) 16a48: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); 16a4a: 22e0 movs r2, #224 ; 0xe0 - 16a4c: 499f ldr r1, [pc, #636] ; (16ccc ) - 16a4e: 48a0 ldr r0, [pc, #640] ; (16cd0 ) - 16a50: 4ba0 ldr r3, [pc, #640] ; (16cd4 ) + 16a4c: 49b9 ldr r1, [pc, #740] ; (16d34 ) + 16a4e: 48ba ldr r0, [pc, #744] ; (16d38 ) + 16a50: 4bba ldr r3, [pc, #744] ; (16d3c ) 16a52: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16a54: 4b95 ldr r3, [pc, #596] ; (16cac ) + 16a54: 4baf ldr r3, [pc, #700] ; (16d14 ) 16a56: 2240 movs r2, #64 ; 0x40 16a58: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; 16a5a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16a5c: 4b94 ldr r3, [pc, #592] ; (16cb0 ) + 16a5c: 4bae ldr r3, [pc, #696] ; (16d18 ) 16a5e: 781b ldrb r3, [r3, #0] 16a60: 2b00 cmp r3, #0 - 16a62: d005 beq.n 16a70 + 16a62: d005 beq.n 16a70 port_base->OUTSET.reg = pin_mask; 16a64: 3a20 subs r2, #32 - 16a66: 4b91 ldr r3, [pc, #580] ; (16cac ) + 16a66: 4bab ldr r3, [pc, #684] ; (16d14 ) 16a68: 619a str r2, [r3, #24] cmd_mode = false; 16a6a: 2200 movs r2, #0 - 16a6c: 4b90 ldr r3, [pc, #576] ; (16cb0 ) + 16a6c: 4baa ldr r3, [pc, #680] ; (16d18 ) 16a6e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16a70: 2203 movs r2, #3 - 16a72: 4996 ldr r1, [pc, #600] ; (16ccc ) - 16a74: 4896 ldr r0, [pc, #600] ; (16cd0 ) - 16a76: 4b97 ldr r3, [pc, #604] ; (16cd4 ) + 16a70: 2201 movs r2, #1 + 16a72: 49b0 ldr r1, [pc, #704] ; (16d34 ) + 16a74: 48b0 ldr r0, [pc, #704] ; (16d38 ) + 16a76: 4bb1 ldr r3, [pc, #708] ; (16d3c ) 16a78: 4798 blx r3 - 16a7a: 4c8c ldr r4, [pc, #560] ; (16cac ) + 16a7a: 4ca6 ldr r4, [pc, #664] ; (16d14 ) 16a7c: 2540 movs r5, #64 ; 0x40 16a7e: 61a5 str r5, [r4, #24] LV_DRV_DELAY_MS(1); 16a80: 2000 movs r0, #0 - 16a82: 4b8c ldr r3, [pc, #560] ; (16cb4 ) + 16a82: 4ba6 ldr r3, [pc, #664] ; (16d1c ) 16a84: 4798 blx r3 16a86: 0002 movs r2, r0 16a88: 2300 movs r3, #0 - 16a8a: 488c ldr r0, [pc, #560] ; (16cbc ) + 16a8a: 48a6 ldr r0, [pc, #664] ; (16d24 ) 16a8c: 2100 movs r1, #0 16a8e: 1880 adds r0, r0, r2 16a90: 4159 adcs r1, r3 - 16a92: 4a8b ldr r2, [pc, #556] ; (16cc0 ) + 16a92: 4aa5 ldr r2, [pc, #660] ; (16d28 ) 16a94: 2300 movs r3, #0 - 16a96: 4e8b ldr r6, [pc, #556] ; (16cc4 ) + 16a96: 4ea5 ldr r6, [pc, #660] ; (16d2c ) 16a98: 47b0 blx r6 - 16a9a: 4b8b ldr r3, [pc, #556] ; (16cc8 ) + 16a9a: 4ba5 ldr r3, [pc, #660] ; (16d30 ) 16a9c: 4798 blx r3 port_base->OUTCLR.reg = pin_mask; 16a9e: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 16aa0: 4b83 ldr r3, [pc, #524] ; (16cb0 ) + 16aa0: 4b9d ldr r3, [pc, #628] ; (16d18 ) 16aa2: 781b ldrb r3, [r3, #0] 16aa4: 2b00 cmp r3, #0 - 16aa6: d104 bne.n 16ab2 + 16aa6: d104 bne.n 16ab2 16aa8: 2220 movs r2, #32 16aaa: 6162 str r2, [r4, #20] cmd_mode = true; 16aac: 3a1f subs r2, #31 - 16aae: 4b80 ldr r3, [pc, #512] ; (16cb0 ) + 16aae: 4b9a ldr r3, [pc, #616] ; (16d18 ) 16ab0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 16ab2: 2201 movs r2, #1 - 16ab4: 4985 ldr r1, [pc, #532] ; (16ccc ) - 16ab6: 4886 ldr r0, [pc, #536] ; (16cd0 ) - 16ab8: 4b86 ldr r3, [pc, #536] ; (16cd4 ) + 16ab2: 22e0 movs r2, #224 ; 0xe0 + 16ab4: 499f ldr r1, [pc, #636] ; (16d34 ) + 16ab6: 48a0 ldr r0, [pc, #640] ; (16d38 ) + 16ab8: 4ba0 ldr r3, [pc, #640] ; (16d3c ) 16aba: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16abc: 4c7b ldr r4, [pc, #492] ; (16cac ) - 16abe: 2540 movs r5, #64 ; 0x40 - 16ac0: 61a5 str r5, [r4, #24] + 16abc: 4b95 ldr r3, [pc, #596] ; (16d14 ) + 16abe: 2240 movs r2, #64 ; 0x40 + 16ac0: 619a str r2, [r3, #24] + port_base->OUTCLR.reg = pin_mask; + 16ac2: 615a str r2, [r3, #20] + if(cmd_mode != false) { + 16ac4: 4b94 ldr r3, [pc, #592] ; (16d18 ) + 16ac6: 781b ldrb r3, [r3, #0] + 16ac8: 2b00 cmp r3, #0 + 16aca: d005 beq.n 16ad8 + port_base->OUTSET.reg = pin_mask; + 16acc: 3a20 subs r2, #32 + 16ace: 4b91 ldr r3, [pc, #580] ; (16d14 ) + 16ad0: 619a str r2, [r3, #24] + cmd_mode = false; + 16ad2: 2200 movs r2, #0 + 16ad4: 4b90 ldr r3, [pc, #576] ; (16d18 ) + 16ad6: 701a strb r2, [r3, #0] + LV_DRV_DISP_PAR_WR_WORD(data); + 16ad8: 2203 movs r2, #3 + 16ada: 4996 ldr r1, [pc, #600] ; (16d34 ) + 16adc: 4896 ldr r0, [pc, #600] ; (16d38 ) + 16ade: 4b97 ldr r3, [pc, #604] ; (16d3c ) + 16ae0: 4798 blx r3 + 16ae2: 4c8c ldr r4, [pc, #560] ; (16d14 ) + 16ae4: 2540 movs r5, #64 ; 0x40 + 16ae6: 61a5 str r5, [r4, #24] + LV_DRV_DELAY_MS(1); + 16ae8: 2000 movs r0, #0 + 16aea: 4b8c ldr r3, [pc, #560] ; (16d1c ) + 16aec: 4798 blx r3 + 16aee: 0002 movs r2, r0 + 16af0: 2300 movs r3, #0 + 16af2: 488c ldr r0, [pc, #560] ; (16d24 ) + 16af4: 2100 movs r1, #0 + 16af6: 1880 adds r0, r0, r2 + 16af8: 4159 adcs r1, r3 + 16afa: 4a8b ldr r2, [pc, #556] ; (16d28 ) + 16afc: 2300 movs r3, #0 + 16afe: 4e8b ldr r6, [pc, #556] ; (16d2c ) + 16b00: 47b0 blx r6 + 16b02: 4b8b ldr r3, [pc, #556] ; (16d30 ) + 16b04: 4798 blx r3 + port_base->OUTCLR.reg = pin_mask; + 16b06: 6165 str r5, [r4, #20] + if(cmd_mode == false) { + 16b08: 4b83 ldr r3, [pc, #524] ; (16d18 ) + 16b0a: 781b ldrb r3, [r3, #0] + 16b0c: 2b00 cmp r3, #0 + 16b0e: d104 bne.n 16b1a + 16b10: 2220 movs r2, #32 + 16b12: 6162 str r2, [r4, #20] + cmd_mode = true; + 16b14: 3a1f subs r2, #31 + 16b16: 4b80 ldr r3, [pc, #512] ; (16d18 ) + 16b18: 701a strb r2, [r3, #0] + LV_DRV_DISP_PAR_WR_WORD(cmd); + 16b1a: 2201 movs r2, #1 + 16b1c: 4985 ldr r1, [pc, #532] ; (16d34 ) + 16b1e: 4886 ldr r0, [pc, #536] ; (16d38 ) + 16b20: 4b86 ldr r3, [pc, #536] ; (16d3c ) + 16b22: 4798 blx r3 + port_base->OUTSET.reg = pin_mask; + 16b24: 4c7b ldr r4, [pc, #492] ; (16d14 ) + 16b26: 2540 movs r5, #64 ; 0x40 + 16b28: 61a5 str r5, [r4, #24] LV_DRV_DELAY_MS(1); - 16ac2: 2000 movs r0, #0 - 16ac4: 4b7b ldr r3, [pc, #492] ; (16cb4 ) - 16ac6: 4798 blx r3 - 16ac8: 0002 movs r2, r0 - 16aca: 2300 movs r3, #0 - 16acc: 487b ldr r0, [pc, #492] ; (16cbc ) - 16ace: 2100 movs r1, #0 - 16ad0: 1880 adds r0, r0, r2 - 16ad2: 4159 adcs r1, r3 - 16ad4: 4a7a ldr r2, [pc, #488] ; (16cc0 ) - 16ad6: 2300 movs r3, #0 - 16ad8: 4e7a ldr r6, [pc, #488] ; (16cc4 ) - 16ada: 47b0 blx r6 - 16adc: 4b7a ldr r3, [pc, #488] ; (16cc8 ) - 16ade: 4798 blx r3 + 16b2a: 2000 movs r0, #0 + 16b2c: 4b7b ldr r3, [pc, #492] ; (16d1c ) + 16b2e: 4798 blx r3 + 16b30: 0002 movs r2, r0 + 16b32: 2300 movs r3, #0 + 16b34: 487b ldr r0, [pc, #492] ; (16d24 ) + 16b36: 2100 movs r1, #0 + 16b38: 1880 adds r0, r0, r2 + 16b3a: 4159 adcs r1, r3 + 16b3c: 4a7a ldr r2, [pc, #488] ; (16d28 ) + 16b3e: 2300 movs r3, #0 + 16b40: 4e7a ldr r6, [pc, #488] ; (16d2c ) + 16b42: 47b0 blx r6 + 16b44: 4b7a ldr r3, [pc, #488] ; (16d30 ) + 16b46: 4798 blx r3 port_base->OUTCLR.reg = pin_mask; - 16ae0: 6165 str r5, [r4, #20] + 16b48: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 16ae2: 4b73 ldr r3, [pc, #460] ; (16cb0 ) - 16ae4: 781b ldrb r3, [r3, #0] - 16ae6: 2b00 cmp r3, #0 - 16ae8: d104 bne.n 16af4 - 16aea: 2220 movs r2, #32 - 16aec: 6162 str r2, [r4, #20] + 16b4a: 4b73 ldr r3, [pc, #460] ; (16d18 ) + 16b4c: 781b ldrb r3, [r3, #0] + 16b4e: 2b00 cmp r3, #0 + 16b50: d104 bne.n 16b5c + 16b52: 2220 movs r2, #32 + 16b54: 6162 str r2, [r4, #20] cmd_mode = true; - 16aee: 3a1f subs r2, #31 - 16af0: 4b6f ldr r3, [pc, #444] ; (16cb0 ) - 16af2: 701a strb r2, [r3, #0] + 16b56: 3a1f subs r2, #31 + 16b58: 4b6f ldr r3, [pc, #444] ; (16d18 ) + 16b5a: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 16af4: 22e6 movs r2, #230 ; 0xe6 - 16af6: 4975 ldr r1, [pc, #468] ; (16ccc ) - 16af8: 4875 ldr r0, [pc, #468] ; (16cd0 ) - 16afa: 4b76 ldr r3, [pc, #472] ; (16cd4 ) - 16afc: 4798 blx r3 + 16b5c: 22e6 movs r2, #230 ; 0xe6 + 16b5e: 4975 ldr r1, [pc, #468] ; (16d34 ) + 16b60: 4875 ldr r0, [pc, #468] ; (16d38 ) + 16b62: 4b76 ldr r3, [pc, #472] ; (16d3c ) + 16b64: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16afe: 4b6b ldr r3, [pc, #428] ; (16cac ) - 16b00: 2240 movs r2, #64 ; 0x40 - 16b02: 619a str r2, [r3, #24] + 16b66: 4b6b ldr r3, [pc, #428] ; (16d14 ) + 16b68: 2240 movs r2, #64 ; 0x40 + 16b6a: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16b04: 615a str r2, [r3, #20] + 16b6c: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16b06: 4b6a ldr r3, [pc, #424] ; (16cb0 ) - 16b08: 781b ldrb r3, [r3, #0] - 16b0a: 2b00 cmp r3, #0 - 16b0c: d005 beq.n 16b1a + 16b6e: 4b6a ldr r3, [pc, #424] ; (16d18 ) + 16b70: 781b ldrb r3, [r3, #0] + 16b72: 2b00 cmp r3, #0 + 16b74: d005 beq.n 16b82 port_base->OUTSET.reg = pin_mask; - 16b0e: 3a20 subs r2, #32 - 16b10: 4b66 ldr r3, [pc, #408] ; (16cac ) - 16b12: 619a str r2, [r3, #24] + 16b76: 3a20 subs r2, #32 + 16b78: 4b66 ldr r3, [pc, #408] ; (16d14 ) + 16b7a: 619a str r2, [r3, #24] cmd_mode = false; - 16b14: 2200 movs r2, #0 - 16b16: 4b66 ldr r3, [pc, #408] ; (16cb0 ) - 16b18: 701a strb r2, [r3, #0] + 16b7c: 2200 movs r2, #0 + 16b7e: 4b66 ldr r3, [pc, #408] ; (16d18 ) + 16b80: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16b1a: 2201 movs r2, #1 - 16b1c: 496b ldr r1, [pc, #428] ; (16ccc ) - 16b1e: 486c ldr r0, [pc, #432] ; (16cd0 ) - 16b20: 4b6c ldr r3, [pc, #432] ; (16cd4 ) - 16b22: 4798 blx r3 - 16b24: 4b61 ldr r3, [pc, #388] ; (16cac ) - 16b26: 2240 movs r2, #64 ; 0x40 - 16b28: 619a str r2, [r3, #24] + 16b82: 2201 movs r2, #1 + 16b84: 496b ldr r1, [pc, #428] ; (16d34 ) + 16b86: 486c ldr r0, [pc, #432] ; (16d38 ) + 16b88: 4b6c ldr r3, [pc, #432] ; (16d3c ) + 16b8a: 4798 blx r3 + 16b8c: 4b61 ldr r3, [pc, #388] ; (16d14 ) + 16b8e: 2240 movs r2, #64 ; 0x40 + 16b90: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16b2a: 615a str r2, [r3, #20] + 16b92: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16b2c: 4b60 ldr r3, [pc, #384] ; (16cb0 ) - 16b2e: 781b ldrb r3, [r3, #0] - 16b30: 2b00 cmp r3, #0 - 16b32: d005 beq.n 16b40 + 16b94: 4b60 ldr r3, [pc, #384] ; (16d18 ) + 16b96: 781b ldrb r3, [r3, #0] + 16b98: 2b00 cmp r3, #0 + 16b9a: d005 beq.n 16ba8 port_base->OUTSET.reg = pin_mask; - 16b34: 3a20 subs r2, #32 - 16b36: 4b5d ldr r3, [pc, #372] ; (16cac ) - 16b38: 619a str r2, [r3, #24] + 16b9c: 3a20 subs r2, #32 + 16b9e: 4b5d ldr r3, [pc, #372] ; (16d14 ) + 16ba0: 619a str r2, [r3, #24] cmd_mode = false; - 16b3a: 2200 movs r2, #0 - 16b3c: 4b5c ldr r3, [pc, #368] ; (16cb0 ) - 16b3e: 701a strb r2, [r3, #0] + 16ba2: 2200 movs r2, #0 + 16ba4: 4b5c ldr r3, [pc, #368] ; (16d18 ) + 16ba6: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16b40: 2233 movs r2, #51 ; 0x33 - 16b42: 4962 ldr r1, [pc, #392] ; (16ccc ) - 16b44: 4862 ldr r0, [pc, #392] ; (16cd0 ) - 16b46: 4b63 ldr r3, [pc, #396] ; (16cd4 ) - 16b48: 4798 blx r3 - 16b4a: 4b58 ldr r3, [pc, #352] ; (16cac ) - 16b4c: 2240 movs r2, #64 ; 0x40 - 16b4e: 619a str r2, [r3, #24] + 16ba8: 2233 movs r2, #51 ; 0x33 + 16baa: 4962 ldr r1, [pc, #392] ; (16d34 ) + 16bac: 4862 ldr r0, [pc, #392] ; (16d38 ) + 16bae: 4b63 ldr r3, [pc, #396] ; (16d3c ) + 16bb0: 4798 blx r3 + 16bb2: 4b58 ldr r3, [pc, #352] ; (16d14 ) + 16bb4: 2240 movs r2, #64 ; 0x40 + 16bb6: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16b50: 615a str r2, [r3, #20] + 16bb8: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16b52: 4b57 ldr r3, [pc, #348] ; (16cb0 ) - 16b54: 781b ldrb r3, [r3, #0] - 16b56: 2b00 cmp r3, #0 - 16b58: d005 beq.n 16b66 + 16bba: 4b57 ldr r3, [pc, #348] ; (16d18 ) + 16bbc: 781b ldrb r3, [r3, #0] + 16bbe: 2b00 cmp r3, #0 + 16bc0: d005 beq.n 16bce port_base->OUTSET.reg = pin_mask; - 16b5a: 3a20 subs r2, #32 - 16b5c: 4b53 ldr r3, [pc, #332] ; (16cac ) - 16b5e: 619a str r2, [r3, #24] + 16bc2: 3a20 subs r2, #32 + 16bc4: 4b53 ldr r3, [pc, #332] ; (16d14 ) + 16bc6: 619a str r2, [r3, #24] cmd_mode = false; - 16b60: 2200 movs r2, #0 - 16b62: 4b53 ldr r3, [pc, #332] ; (16cb0 ) - 16b64: 701a strb r2, [r3, #0] + 16bc8: 2200 movs r2, #0 + 16bca: 4b53 ldr r3, [pc, #332] ; (16d18 ) + 16bcc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16b66: 2233 movs r2, #51 ; 0x33 - 16b68: 4958 ldr r1, [pc, #352] ; (16ccc ) - 16b6a: 4859 ldr r0, [pc, #356] ; (16cd0 ) - 16b6c: 4b59 ldr r3, [pc, #356] ; (16cd4 ) - 16b6e: 4798 blx r3 - 16b70: 4b4e ldr r3, [pc, #312] ; (16cac ) - 16b72: 2240 movs r2, #64 ; 0x40 - 16b74: 619a str r2, [r3, #24] + 16bce: 2233 movs r2, #51 ; 0x33 + 16bd0: 4958 ldr r1, [pc, #352] ; (16d34 ) + 16bd2: 4859 ldr r0, [pc, #356] ; (16d38 ) + 16bd4: 4b59 ldr r3, [pc, #356] ; (16d3c ) + 16bd6: 4798 blx r3 + 16bd8: 4b4e ldr r3, [pc, #312] ; (16d14 ) + 16bda: 2240 movs r2, #64 ; 0x40 + 16bdc: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16b76: 615a str r2, [r3, #20] + 16bde: 615a str r2, [r3, #20] if(cmd_mode == false) { - 16b78: 4b4d ldr r3, [pc, #308] ; (16cb0 ) - 16b7a: 781b ldrb r3, [r3, #0] - 16b7c: 2b00 cmp r3, #0 - 16b7e: d105 bne.n 16b8c - 16b80: 3a20 subs r2, #32 - 16b82: 4b4a ldr r3, [pc, #296] ; (16cac ) - 16b84: 615a str r2, [r3, #20] + 16be0: 4b4d ldr r3, [pc, #308] ; (16d18 ) + 16be2: 781b ldrb r3, [r3, #0] + 16be4: 2b00 cmp r3, #0 + 16be6: d105 bne.n 16bf4 + 16be8: 3a20 subs r2, #32 + 16bea: 4b4a ldr r3, [pc, #296] ; (16d14 ) + 16bec: 615a str r2, [r3, #20] cmd_mode = true; - 16b86: 3a1f subs r2, #31 - 16b88: 4b49 ldr r3, [pc, #292] ; (16cb0 ) - 16b8a: 701a strb r2, [r3, #0] + 16bee: 3a1f subs r2, #31 + 16bf0: 4b49 ldr r3, [pc, #292] ; (16d18 ) + 16bf2: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 16b8c: 22b0 movs r2, #176 ; 0xb0 - 16b8e: 494f ldr r1, [pc, #316] ; (16ccc ) - 16b90: 484f ldr r0, [pc, #316] ; (16cd0 ) - 16b92: 4b50 ldr r3, [pc, #320] ; (16cd4 ) - 16b94: 4798 blx r3 + 16bf4: 22b0 movs r2, #176 ; 0xb0 + 16bf6: 494f ldr r1, [pc, #316] ; (16d34 ) + 16bf8: 484f ldr r0, [pc, #316] ; (16d38 ) + 16bfa: 4b50 ldr r3, [pc, #320] ; (16d3c ) + 16bfc: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16b96: 4b45 ldr r3, [pc, #276] ; (16cac ) - 16b98: 2240 movs r2, #64 ; 0x40 - 16b9a: 619a str r2, [r3, #24] + 16bfe: 4b45 ldr r3, [pc, #276] ; (16d14 ) + 16c00: 2240 movs r2, #64 ; 0x40 + 16c02: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16b9c: 615a str r2, [r3, #20] + 16c04: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16b9e: 4b44 ldr r3, [pc, #272] ; (16cb0 ) - 16ba0: 781b ldrb r3, [r3, #0] - 16ba2: 2b00 cmp r3, #0 - 16ba4: d005 beq.n 16bb2 + 16c06: 4b44 ldr r3, [pc, #272] ; (16d18 ) + 16c08: 781b ldrb r3, [r3, #0] + 16c0a: 2b00 cmp r3, #0 + 16c0c: d005 beq.n 16c1a port_base->OUTSET.reg = pin_mask; - 16ba6: 3a20 subs r2, #32 - 16ba8: 4b40 ldr r3, [pc, #256] ; (16cac ) - 16baa: 619a str r2, [r3, #24] + 16c0e: 3a20 subs r2, #32 + 16c10: 4b40 ldr r3, [pc, #256] ; (16d14 ) + 16c12: 619a str r2, [r3, #24] cmd_mode = false; - 16bac: 2200 movs r2, #0 - 16bae: 4b40 ldr r3, [pc, #256] ; (16cb0 ) - 16bb0: 701a strb r2, [r3, #0] + 16c14: 2200 movs r2, #0 + 16c16: 4b40 ldr r3, [pc, #256] ; (16d18 ) + 16c18: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16bb2: 2220 movs r2, #32 - 16bb4: 4945 ldr r1, [pc, #276] ; (16ccc ) - 16bb6: 4846 ldr r0, [pc, #280] ; (16cd0 ) - 16bb8: 4b46 ldr r3, [pc, #280] ; (16cd4 ) - 16bba: 4798 blx r3 - 16bbc: 4b3b ldr r3, [pc, #236] ; (16cac ) - 16bbe: 2240 movs r2, #64 ; 0x40 - 16bc0: 619a str r2, [r3, #24] + 16c1a: 2220 movs r2, #32 + 16c1c: 4945 ldr r1, [pc, #276] ; (16d34 ) + 16c1e: 4846 ldr r0, [pc, #280] ; (16d38 ) + 16c20: 4b46 ldr r3, [pc, #280] ; (16d3c ) + 16c22: 4798 blx r3 + 16c24: 4b3b ldr r3, [pc, #236] ; (16d14 ) + 16c26: 2240 movs r2, #64 ; 0x40 + 16c28: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16bc2: 615a str r2, [r3, #20] + 16c2a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16bc4: 4b3a ldr r3, [pc, #232] ; (16cb0 ) - 16bc6: 781b ldrb r3, [r3, #0] - 16bc8: 2b00 cmp r3, #0 - 16bca: d005 beq.n 16bd8 + 16c2c: 4b3a ldr r3, [pc, #232] ; (16d18 ) + 16c2e: 781b ldrb r3, [r3, #0] + 16c30: 2b00 cmp r3, #0 + 16c32: d005 beq.n 16c40 port_base->OUTSET.reg = pin_mask; - 16bcc: 3a20 subs r2, #32 - 16bce: 4b37 ldr r3, [pc, #220] ; (16cac ) - 16bd0: 619a str r2, [r3, #24] + 16c34: 3a20 subs r2, #32 + 16c36: 4b37 ldr r3, [pc, #220] ; (16d14 ) + 16c38: 619a str r2, [r3, #24] cmd_mode = false; - 16bd2: 2200 movs r2, #0 - 16bd4: 4b36 ldr r3, [pc, #216] ; (16cb0 ) - 16bd6: 701a strb r2, [r3, #0] + 16c3a: 2200 movs r2, #0 + 16c3c: 4b36 ldr r3, [pc, #216] ; (16d18 ) + 16c3e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16bd8: 2200 movs r2, #0 - 16bda: 493c ldr r1, [pc, #240] ; (16ccc ) - 16bdc: 483c ldr r0, [pc, #240] ; (16cd0 ) - 16bde: 4b3d ldr r3, [pc, #244] ; (16cd4 ) - 16be0: 4798 blx r3 - 16be2: 4c32 ldr r4, [pc, #200] ; (16cac ) - 16be4: 2540 movs r5, #64 ; 0x40 - 16be6: 61a5 str r5, [r4, #24] + 16c40: 2200 movs r2, #0 + 16c42: 493c ldr r1, [pc, #240] ; (16d34 ) + 16c44: 483c ldr r0, [pc, #240] ; (16d38 ) + 16c46: 4b3d ldr r3, [pc, #244] ; (16d3c ) + 16c48: 4798 blx r3 + 16c4a: 4c32 ldr r4, [pc, #200] ; (16d14 ) + 16c4c: 2540 movs r5, #64 ; 0x40 + 16c4e: 61a5 str r5, [r4, #24] ssd1963_data(((SSD1963_HOR_RES - 1) >> 8) & 0X00FF); //Set HDP - 16be8: 4b3b ldr r3, [pc, #236] ; (16cd8 ) - 16bea: 4798 blx r3 - 16bec: 4b3b ldr r3, [pc, #236] ; (16cdc ) - 16bee: 4798 blx r3 - 16bf0: 1e42 subs r2, r0, #1 - 16bf2: 1212 asrs r2, r2, #8 + 16c50: 4b3b ldr r3, [pc, #236] ; (16d40 ) + 16c52: 4798 blx r3 + 16c54: 4b3b ldr r3, [pc, #236] ; (16d44 ) + 16c56: 4798 blx r3 + 16c58: 1e42 subs r2, r0, #1 + 16c5a: 1212 asrs r2, r2, #8 port_base->OUTCLR.reg = pin_mask; - 16bf4: 6165 str r5, [r4, #20] + 16c5c: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 16bf6: 4b2e ldr r3, [pc, #184] ; (16cb0 ) - 16bf8: 781b ldrb r3, [r3, #0] - 16bfa: 2b00 cmp r3, #0 - 16bfc: d004 beq.n 16c08 + 16c5e: 4b2e ldr r3, [pc, #184] ; (16d18 ) + 16c60: 781b ldrb r3, [r3, #0] + 16c62: 2b00 cmp r3, #0 + 16c64: d004 beq.n 16c70 port_base->OUTSET.reg = pin_mask; - 16bfe: 2120 movs r1, #32 - 16c00: 61a1 str r1, [r4, #24] + 16c66: 2120 movs r1, #32 + 16c68: 61a1 str r1, [r4, #24] cmd_mode = false; - 16c02: 2100 movs r1, #0 - 16c04: 4b2a ldr r3, [pc, #168] ; (16cb0 ) - 16c06: 7019 strb r1, [r3, #0] + 16c6a: 2100 movs r1, #0 + 16c6c: 4b2a ldr r3, [pc, #168] ; (16d18 ) + 16c6e: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16c08: 20ff movs r0, #255 ; 0xff - 16c0a: 4002 ands r2, r0 - 16c0c: 492f ldr r1, [pc, #188] ; (16ccc ) - 16c0e: 4830 ldr r0, [pc, #192] ; (16cd0 ) - 16c10: 4b30 ldr r3, [pc, #192] ; (16cd4 ) - 16c12: 4798 blx r3 - 16c14: 4c25 ldr r4, [pc, #148] ; (16cac ) - 16c16: 2540 movs r5, #64 ; 0x40 - 16c18: 61a5 str r5, [r4, #24] + 16c70: 20ff movs r0, #255 ; 0xff + 16c72: 4002 ands r2, r0 + 16c74: 492f ldr r1, [pc, #188] ; (16d34 ) + 16c76: 4830 ldr r0, [pc, #192] ; (16d38 ) + 16c78: 4b30 ldr r3, [pc, #192] ; (16d3c ) + 16c7a: 4798 blx r3 + 16c7c: 4c25 ldr r4, [pc, #148] ; (16d14 ) + 16c7e: 2540 movs r5, #64 ; 0x40 + 16c80: 61a5 str r5, [r4, #24] ssd1963_data((SSD1963_HOR_RES - 1) & 0X00FF); - 16c1a: 4b2f ldr r3, [pc, #188] ; (16cd8 ) - 16c1c: 4798 blx r3 - 16c1e: 4b2f ldr r3, [pc, #188] ; (16cdc ) - 16c20: 4798 blx r3 - 16c22: 3801 subs r0, #1 - 16c24: b2c2 uxtb r2, r0 + 16c82: 4b2f ldr r3, [pc, #188] ; (16d40 ) + 16c84: 4798 blx r3 + 16c86: 4b2f ldr r3, [pc, #188] ; (16d44 ) + 16c88: 4798 blx r3 + 16c8a: 3801 subs r0, #1 + 16c8c: b2c2 uxtb r2, r0 port_base->OUTCLR.reg = pin_mask; - 16c26: 6165 str r5, [r4, #20] + 16c8e: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 16c28: 4b21 ldr r3, [pc, #132] ; (16cb0 ) - 16c2a: 781b ldrb r3, [r3, #0] - 16c2c: 2b00 cmp r3, #0 - 16c2e: d004 beq.n 16c3a + 16c90: 4b21 ldr r3, [pc, #132] ; (16d18 ) + 16c92: 781b ldrb r3, [r3, #0] + 16c94: 2b00 cmp r3, #0 + 16c96: d004 beq.n 16ca2 port_base->OUTSET.reg = pin_mask; - 16c30: 2120 movs r1, #32 - 16c32: 61a1 str r1, [r4, #24] + 16c98: 2120 movs r1, #32 + 16c9a: 61a1 str r1, [r4, #24] cmd_mode = false; - 16c34: 2100 movs r1, #0 - 16c36: 4b1e ldr r3, [pc, #120] ; (16cb0 ) - 16c38: 7019 strb r1, [r3, #0] + 16c9c: 2100 movs r1, #0 + 16c9e: 4b1e ldr r3, [pc, #120] ; (16d18 ) + 16ca0: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16c3a: 4924 ldr r1, [pc, #144] ; (16ccc ) - 16c3c: 4824 ldr r0, [pc, #144] ; (16cd0 ) - 16c3e: 4b25 ldr r3, [pc, #148] ; (16cd4 ) - 16c40: 4798 blx r3 - 16c42: 4c1a ldr r4, [pc, #104] ; (16cac ) - 16c44: 2540 movs r5, #64 ; 0x40 - 16c46: 61a5 str r5, [r4, #24] + 16ca2: 4924 ldr r1, [pc, #144] ; (16d34 ) + 16ca4: 4824 ldr r0, [pc, #144] ; (16d38 ) + 16ca6: 4b25 ldr r3, [pc, #148] ; (16d3c ) + 16ca8: 4798 blx r3 + 16caa: 4c1a ldr r4, [pc, #104] ; (16d14 ) + 16cac: 2540 movs r5, #64 ; 0x40 + 16cae: 61a5 str r5, [r4, #24] ssd1963_data(((SSD1963_VER_RES - 1) >> 8) & 0X00FF); //Set VDP - 16c48: 4b23 ldr r3, [pc, #140] ; (16cd8 ) - 16c4a: 4798 blx r3 - 16c4c: 4b24 ldr r3, [pc, #144] ; (16ce0 ) - 16c4e: 4798 blx r3 - 16c50: 1e42 subs r2, r0, #1 - 16c52: 1212 asrs r2, r2, #8 + 16cb0: 4b23 ldr r3, [pc, #140] ; (16d40 ) + 16cb2: 4798 blx r3 + 16cb4: 4b24 ldr r3, [pc, #144] ; (16d48 ) + 16cb6: 4798 blx r3 + 16cb8: 1e42 subs r2, r0, #1 + 16cba: 1212 asrs r2, r2, #8 port_base->OUTCLR.reg = pin_mask; - 16c54: 6165 str r5, [r4, #20] + 16cbc: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 16c56: 4b16 ldr r3, [pc, #88] ; (16cb0 ) - 16c58: 781b ldrb r3, [r3, #0] - 16c5a: 2b00 cmp r3, #0 - 16c5c: d004 beq.n 16c68 + 16cbe: 4b16 ldr r3, [pc, #88] ; (16d18 ) + 16cc0: 781b ldrb r3, [r3, #0] + 16cc2: 2b00 cmp r3, #0 + 16cc4: d004 beq.n 16cd0 port_base->OUTSET.reg = pin_mask; - 16c5e: 2120 movs r1, #32 - 16c60: 61a1 str r1, [r4, #24] + 16cc6: 2120 movs r1, #32 + 16cc8: 61a1 str r1, [r4, #24] cmd_mode = false; - 16c62: 2100 movs r1, #0 - 16c64: 4b12 ldr r3, [pc, #72] ; (16cb0 ) - 16c66: 7019 strb r1, [r3, #0] + 16cca: 2100 movs r1, #0 + 16ccc: 4b12 ldr r3, [pc, #72] ; (16d18 ) + 16cce: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16c68: 20ff movs r0, #255 ; 0xff - 16c6a: 4002 ands r2, r0 - 16c6c: 4917 ldr r1, [pc, #92] ; (16ccc ) - 16c6e: 4818 ldr r0, [pc, #96] ; (16cd0 ) - 16c70: 4b18 ldr r3, [pc, #96] ; (16cd4 ) - 16c72: 4798 blx r3 - 16c74: 4c0d ldr r4, [pc, #52] ; (16cac ) - 16c76: 2540 movs r5, #64 ; 0x40 - 16c78: 61a5 str r5, [r4, #24] + 16cd0: 20ff movs r0, #255 ; 0xff + 16cd2: 4002 ands r2, r0 + 16cd4: 4917 ldr r1, [pc, #92] ; (16d34 ) + 16cd6: 4818 ldr r0, [pc, #96] ; (16d38 ) + 16cd8: 4b18 ldr r3, [pc, #96] ; (16d3c ) + 16cda: 4798 blx r3 + 16cdc: 4c0d ldr r4, [pc, #52] ; (16d14 ) + 16cde: 2540 movs r5, #64 ; 0x40 + 16ce0: 61a5 str r5, [r4, #24] ssd1963_data((SSD1963_VER_RES - 1) & 0X00FF); - 16c7a: 4b17 ldr r3, [pc, #92] ; (16cd8 ) - 16c7c: 4798 blx r3 - 16c7e: 4b18 ldr r3, [pc, #96] ; (16ce0 ) - 16c80: 4798 blx r3 - 16c82: 3801 subs r0, #1 - 16c84: b2c2 uxtb r2, r0 + 16ce2: 4b17 ldr r3, [pc, #92] ; (16d40 ) + 16ce4: 4798 blx r3 + 16ce6: 4b18 ldr r3, [pc, #96] ; (16d48 ) + 16ce8: 4798 blx r3 + 16cea: 3801 subs r0, #1 + 16cec: b2c2 uxtb r2, r0 port_base->OUTCLR.reg = pin_mask; - 16c86: 6165 str r5, [r4, #20] + 16cee: 6165 str r5, [r4, #20] if(cmd_mode != false) { - 16c88: 4b09 ldr r3, [pc, #36] ; (16cb0 ) - 16c8a: 781b ldrb r3, [r3, #0] - 16c8c: 2b00 cmp r3, #0 - 16c8e: d004 beq.n 16c9a + 16cf0: 4b09 ldr r3, [pc, #36] ; (16d18 ) + 16cf2: 781b ldrb r3, [r3, #0] + 16cf4: 2b00 cmp r3, #0 + 16cf6: d004 beq.n 16d02 port_base->OUTSET.reg = pin_mask; - 16c90: 2120 movs r1, #32 - 16c92: 61a1 str r1, [r4, #24] + 16cf8: 2120 movs r1, #32 + 16cfa: 61a1 str r1, [r4, #24] cmd_mode = false; - 16c94: 2100 movs r1, #0 - 16c96: 4b06 ldr r3, [pc, #24] ; (16cb0 ) - 16c98: 7019 strb r1, [r3, #0] + 16cfc: 2100 movs r1, #0 + 16cfe: 4b06 ldr r3, [pc, #24] ; (16d18 ) + 16d00: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16c9a: 490c ldr r1, [pc, #48] ; (16ccc ) - 16c9c: 480c ldr r0, [pc, #48] ; (16cd0 ) - 16c9e: 4b0d ldr r3, [pc, #52] ; (16cd4 ) - 16ca0: 4798 blx r3 - 16ca2: 4b02 ldr r3, [pc, #8] ; (16cac ) - 16ca4: 2240 movs r2, #64 ; 0x40 - 16ca6: 619a str r2, [r3, #24] + 16d02: 490c ldr r1, [pc, #48] ; (16d34 ) + 16d04: 480c ldr r0, [pc, #48] ; (16d38 ) + 16d06: 4b0d ldr r3, [pc, #52] ; (16d3c ) + 16d08: 4798 blx r3 + 16d0a: 4b02 ldr r3, [pc, #8] ; (16d14 ) + 16d0c: 2240 movs r2, #64 ; 0x40 + 16d0e: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16ca8: 615a str r2, [r3, #20] - 16caa: e01b b.n 16ce4 - 16cac: 41004400 .word 0x41004400 - 16cb0: 2000005c .word 0x2000005c - 16cb4: 00001065 .word 0x00001065 - 16cb8: 00017c8d .word 0x00017c8d - 16cbc: 00001b57 .word 0x00001b57 - 16cc0: 00001b58 .word 0x00001b58 - 16cc4: 00017c4d .word 0x00017c4d - 16cc8: 20000001 .word 0x20000001 - 16ccc: 1c03c3f7 .word 0x1c03c3f7 - 16cd0: 41004480 .word 0x41004480 - 16cd4: 000177ad .word 0x000177ad - 16cd8: 0000f5a1 .word 0x0000f5a1 - 16cdc: 0000f5ad .word 0x0000f5ad - 16ce0: 0000f5d5 .word 0x0000f5d5 + 16d10: 615a str r2, [r3, #20] + 16d12: e01b b.n 16d4c + 16d14: 41004400 .word 0x41004400 + 16d18: 2000005c .word 0x2000005c + 16d1c: 000010cd .word 0x000010cd + 16d20: 00017d1d .word 0x00017d1d + 16d24: 00001b57 .word 0x00001b57 + 16d28: 00001b58 .word 0x00001b58 + 16d2c: 00017cdd .word 0x00017cdd + 16d30: 20000001 .word 0x20000001 + 16d34: 1c03c3f7 .word 0x1c03c3f7 + 16d38: 41004480 .word 0x41004480 + 16d3c: 00017815 .word 0x00017815 + 16d40: 0000f609 .word 0x0000f609 + 16d44: 0000f615 .word 0x0000f615 + 16d48: 0000f63d .word 0x0000f63d if(cmd_mode != false) { - 16ce4: 4be5 ldr r3, [pc, #916] ; (1707c ) - 16ce6: 781b ldrb r3, [r3, #0] - 16ce8: 2b00 cmp r3, #0 - 16cea: d005 beq.n 16cf8 + 16d4c: 4be5 ldr r3, [pc, #916] ; (170e4 ) + 16d4e: 781b ldrb r3, [r3, #0] + 16d50: 2b00 cmp r3, #0 + 16d52: d005 beq.n 16d60 port_base->OUTSET.reg = pin_mask; - 16cec: 3a20 subs r2, #32 - 16cee: 4be4 ldr r3, [pc, #912] ; (17080 ) - 16cf0: 619a str r2, [r3, #24] + 16d54: 3a20 subs r2, #32 + 16d56: 4be4 ldr r3, [pc, #912] ; (170e8 ) + 16d58: 619a str r2, [r3, #24] cmd_mode = false; - 16cf2: 2200 movs r2, #0 - 16cf4: 4be1 ldr r3, [pc, #900] ; (1707c ) - 16cf6: 701a strb r2, [r3, #0] + 16d5a: 2200 movs r2, #0 + 16d5c: 4be1 ldr r3, [pc, #900] ; (170e4 ) + 16d5e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16cf8: 2200 movs r2, #0 - 16cfa: 49e2 ldr r1, [pc, #904] ; (17084 ) - 16cfc: 48e2 ldr r0, [pc, #904] ; (17088 ) - 16cfe: 4be3 ldr r3, [pc, #908] ; (1708c ) - 16d00: 4798 blx r3 - 16d02: 4cdf ldr r4, [pc, #892] ; (17080 ) - 16d04: 2540 movs r5, #64 ; 0x40 - 16d06: 61a5 str r5, [r4, #24] + 16d60: 2200 movs r2, #0 + 16d62: 49e2 ldr r1, [pc, #904] ; (170ec ) + 16d64: 48e2 ldr r0, [pc, #904] ; (170f0 ) + 16d66: 4be3 ldr r3, [pc, #908] ; (170f4 ) + 16d68: 4798 blx r3 + 16d6a: 4cdf ldr r4, [pc, #892] ; (170e8 ) + 16d6c: 2540 movs r5, #64 ; 0x40 + 16d6e: 61a5 str r5, [r4, #24] LV_DRV_DELAY_MS(1);//Delay10us(5); - 16d08: 2000 movs r0, #0 - 16d0a: 4be1 ldr r3, [pc, #900] ; (17090 ) - 16d0c: 4798 blx r3 - 16d0e: 0002 movs r2, r0 - 16d10: 2300 movs r3, #0 - 16d12: 48e0 ldr r0, [pc, #896] ; (17094 ) - 16d14: 2100 movs r1, #0 - 16d16: 1880 adds r0, r0, r2 - 16d18: 4159 adcs r1, r3 - 16d1a: 4adf ldr r2, [pc, #892] ; (17098 ) - 16d1c: 2300 movs r3, #0 - 16d1e: 4edf ldr r6, [pc, #892] ; (1709c ) - 16d20: 47b0 blx r6 - 16d22: 4bdf ldr r3, [pc, #892] ; (170a0 ) - 16d24: 4798 blx r3 + 16d70: 2000 movs r0, #0 + 16d72: 4be1 ldr r3, [pc, #900] ; (170f8 ) + 16d74: 4798 blx r3 + 16d76: 0002 movs r2, r0 + 16d78: 2300 movs r3, #0 + 16d7a: 48e0 ldr r0, [pc, #896] ; (170fc ) + 16d7c: 2100 movs r1, #0 + 16d7e: 1880 adds r0, r0, r2 + 16d80: 4159 adcs r1, r3 + 16d82: 4adf ldr r2, [pc, #892] ; (17100 ) + 16d84: 2300 movs r3, #0 + 16d86: 4edf ldr r6, [pc, #892] ; (17104 ) + 16d88: 47b0 blx r6 + 16d8a: 4bdf ldr r3, [pc, #892] ; (17108 ) + 16d8c: 4798 blx r3 port_base->OUTCLR.reg = pin_mask; - 16d26: 6165 str r5, [r4, #20] + 16d8e: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 16d28: 4bd4 ldr r3, [pc, #848] ; (1707c ) - 16d2a: 781b ldrb r3, [r3, #0] - 16d2c: 2b00 cmp r3, #0 - 16d2e: d104 bne.n 16d3a - 16d30: 2220 movs r2, #32 - 16d32: 6162 str r2, [r4, #20] + 16d90: 4bd4 ldr r3, [pc, #848] ; (170e4 ) + 16d92: 781b ldrb r3, [r3, #0] + 16d94: 2b00 cmp r3, #0 + 16d96: d104 bne.n 16da2 + 16d98: 2220 movs r2, #32 + 16d9a: 6162 str r2, [r4, #20] cmd_mode = true; - 16d34: 3a1f subs r2, #31 - 16d36: 4bd1 ldr r3, [pc, #836] ; (1707c ) - 16d38: 701a strb r2, [r3, #0] + 16d9c: 3a1f subs r2, #31 + 16d9e: 4bd1 ldr r3, [pc, #836] ; (170e4 ) + 16da0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 16d3a: 22b4 movs r2, #180 ; 0xb4 - 16d3c: 49d1 ldr r1, [pc, #836] ; (17084 ) - 16d3e: 48d2 ldr r0, [pc, #840] ; (17088 ) - 16d40: 4bd2 ldr r3, [pc, #840] ; (1708c ) - 16d42: 4798 blx r3 + 16da2: 22b4 movs r2, #180 ; 0xb4 + 16da4: 49d1 ldr r1, [pc, #836] ; (170ec ) + 16da6: 48d2 ldr r0, [pc, #840] ; (170f0 ) + 16da8: 4bd2 ldr r3, [pc, #840] ; (170f4 ) + 16daa: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16d44: 4bce ldr r3, [pc, #824] ; (17080 ) - 16d46: 2240 movs r2, #64 ; 0x40 - 16d48: 619a str r2, [r3, #24] + 16dac: 4bce ldr r3, [pc, #824] ; (170e8 ) + 16dae: 2240 movs r2, #64 ; 0x40 + 16db0: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16d4a: 615a str r2, [r3, #20] + 16db2: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16d4c: 4bcb ldr r3, [pc, #812] ; (1707c ) - 16d4e: 781b ldrb r3, [r3, #0] - 16d50: 2b00 cmp r3, #0 - 16d52: d005 beq.n 16d60 + 16db4: 4bcb ldr r3, [pc, #812] ; (170e4 ) + 16db6: 781b ldrb r3, [r3, #0] + 16db8: 2b00 cmp r3, #0 + 16dba: d005 beq.n 16dc8 port_base->OUTSET.reg = pin_mask; - 16d54: 3a20 subs r2, #32 - 16d56: 4bca ldr r3, [pc, #808] ; (17080 ) - 16d58: 619a str r2, [r3, #24] + 16dbc: 3a20 subs r2, #32 + 16dbe: 4bca ldr r3, [pc, #808] ; (170e8 ) + 16dc0: 619a str r2, [r3, #24] cmd_mode = false; - 16d5a: 2200 movs r2, #0 - 16d5c: 4bc7 ldr r3, [pc, #796] ; (1707c ) - 16d5e: 701a strb r2, [r3, #0] + 16dc2: 2200 movs r2, #0 + 16dc4: 4bc7 ldr r3, [pc, #796] ; (170e4 ) + 16dc6: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16d60: 2202 movs r2, #2 - 16d62: 49c8 ldr r1, [pc, #800] ; (17084 ) - 16d64: 48c8 ldr r0, [pc, #800] ; (17088 ) - 16d66: 4bc9 ldr r3, [pc, #804] ; (1708c ) - 16d68: 4798 blx r3 - 16d6a: 4bc5 ldr r3, [pc, #788] ; (17080 ) - 16d6c: 2240 movs r2, #64 ; 0x40 - 16d6e: 619a str r2, [r3, #24] + 16dc8: 2202 movs r2, #2 + 16dca: 49c8 ldr r1, [pc, #800] ; (170ec ) + 16dcc: 48c8 ldr r0, [pc, #800] ; (170f0 ) + 16dce: 4bc9 ldr r3, [pc, #804] ; (170f4 ) + 16dd0: 4798 blx r3 + 16dd2: 4bc5 ldr r3, [pc, #788] ; (170e8 ) + 16dd4: 2240 movs r2, #64 ; 0x40 + 16dd6: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16d70: 615a str r2, [r3, #20] + 16dd8: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16d72: 4bc2 ldr r3, [pc, #776] ; (1707c ) - 16d74: 781b ldrb r3, [r3, #0] - 16d76: 2b00 cmp r3, #0 - 16d78: d005 beq.n 16d86 + 16dda: 4bc2 ldr r3, [pc, #776] ; (170e4 ) + 16ddc: 781b ldrb r3, [r3, #0] + 16dde: 2b00 cmp r3, #0 + 16de0: d005 beq.n 16dee port_base->OUTSET.reg = pin_mask; - 16d7a: 3a20 subs r2, #32 - 16d7c: 4bc0 ldr r3, [pc, #768] ; (17080 ) - 16d7e: 619a str r2, [r3, #24] + 16de2: 3a20 subs r2, #32 + 16de4: 4bc0 ldr r3, [pc, #768] ; (170e8 ) + 16de6: 619a str r2, [r3, #24] cmd_mode = false; - 16d80: 2200 movs r2, #0 - 16d82: 4bbe ldr r3, [pc, #760] ; (1707c ) - 16d84: 701a strb r2, [r3, #0] + 16de8: 2200 movs r2, #0 + 16dea: 4bbe ldr r3, [pc, #760] ; (170e4 ) + 16dec: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16d86: 220d movs r2, #13 - 16d88: 49be ldr r1, [pc, #760] ; (17084 ) - 16d8a: 48bf ldr r0, [pc, #764] ; (17088 ) - 16d8c: 4bbf ldr r3, [pc, #764] ; (1708c ) - 16d8e: 4798 blx r3 - 16d90: 4bbb ldr r3, [pc, #748] ; (17080 ) - 16d92: 2240 movs r2, #64 ; 0x40 - 16d94: 619a str r2, [r3, #24] + 16dee: 220d movs r2, #13 + 16df0: 49be ldr r1, [pc, #760] ; (170ec ) + 16df2: 48bf ldr r0, [pc, #764] ; (170f0 ) + 16df4: 4bbf ldr r3, [pc, #764] ; (170f4 ) + 16df6: 4798 blx r3 + 16df8: 4bbb ldr r3, [pc, #748] ; (170e8 ) + 16dfa: 2240 movs r2, #64 ; 0x40 + 16dfc: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16d96: 615a str r2, [r3, #20] + 16dfe: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16d98: 4bb8 ldr r3, [pc, #736] ; (1707c ) - 16d9a: 781b ldrb r3, [r3, #0] - 16d9c: 2b00 cmp r3, #0 - 16d9e: d005 beq.n 16dac + 16e00: 4bb8 ldr r3, [pc, #736] ; (170e4 ) + 16e02: 781b ldrb r3, [r3, #0] + 16e04: 2b00 cmp r3, #0 + 16e06: d005 beq.n 16e14 port_base->OUTSET.reg = pin_mask; - 16da0: 3a20 subs r2, #32 - 16da2: 4bb7 ldr r3, [pc, #732] ; (17080 ) - 16da4: 619a str r2, [r3, #24] + 16e08: 3a20 subs r2, #32 + 16e0a: 4bb7 ldr r3, [pc, #732] ; (170e8 ) + 16e0c: 619a str r2, [r3, #24] cmd_mode = false; - 16da6: 2200 movs r2, #0 - 16da8: 4bb4 ldr r3, [pc, #720] ; (1707c ) - 16daa: 701a strb r2, [r3, #0] + 16e0e: 2200 movs r2, #0 + 16e10: 4bb4 ldr r3, [pc, #720] ; (170e4 ) + 16e12: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16dac: 2201 movs r2, #1 - 16dae: 49b5 ldr r1, [pc, #724] ; (17084 ) - 16db0: 48b5 ldr r0, [pc, #724] ; (17088 ) - 16db2: 4bb6 ldr r3, [pc, #728] ; (1708c ) - 16db4: 4798 blx r3 - 16db6: 4bb2 ldr r3, [pc, #712] ; (17080 ) - 16db8: 2240 movs r2, #64 ; 0x40 - 16dba: 619a str r2, [r3, #24] + 16e14: 2201 movs r2, #1 + 16e16: 49b5 ldr r1, [pc, #724] ; (170ec ) + 16e18: 48b5 ldr r0, [pc, #724] ; (170f0 ) + 16e1a: 4bb6 ldr r3, [pc, #728] ; (170f4 ) + 16e1c: 4798 blx r3 + 16e1e: 4bb2 ldr r3, [pc, #712] ; (170e8 ) + 16e20: 2240 movs r2, #64 ; 0x40 + 16e22: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16dbc: 615a str r2, [r3, #20] + 16e24: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16dbe: 4baf ldr r3, [pc, #700] ; (1707c ) - 16dc0: 781b ldrb r3, [r3, #0] - 16dc2: 2b00 cmp r3, #0 - 16dc4: d005 beq.n 16dd2 + 16e26: 4baf ldr r3, [pc, #700] ; (170e4 ) + 16e28: 781b ldrb r3, [r3, #0] + 16e2a: 2b00 cmp r3, #0 + 16e2c: d005 beq.n 16e3a port_base->OUTSET.reg = pin_mask; - 16dc6: 3a20 subs r2, #32 - 16dc8: 4bad ldr r3, [pc, #692] ; (17080 ) - 16dca: 619a str r2, [r3, #24] + 16e2e: 3a20 subs r2, #32 + 16e30: 4bad ldr r3, [pc, #692] ; (170e8 ) + 16e32: 619a str r2, [r3, #24] cmd_mode = false; - 16dcc: 2200 movs r2, #0 - 16dce: 4bab ldr r3, [pc, #684] ; (1707c ) - 16dd0: 701a strb r2, [r3, #0] + 16e34: 2200 movs r2, #0 + 16e36: 4bab ldr r3, [pc, #684] ; (170e4 ) + 16e38: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16dd2: 22e0 movs r2, #224 ; 0xe0 - 16dd4: 49ab ldr r1, [pc, #684] ; (17084 ) - 16dd6: 48ac ldr r0, [pc, #688] ; (17088 ) - 16dd8: 4bac ldr r3, [pc, #688] ; (1708c ) - 16dda: 4798 blx r3 - 16ddc: 4ba8 ldr r3, [pc, #672] ; (17080 ) - 16dde: 2240 movs r2, #64 ; 0x40 - 16de0: 619a str r2, [r3, #24] + 16e3a: 22e0 movs r2, #224 ; 0xe0 + 16e3c: 49ab ldr r1, [pc, #684] ; (170ec ) + 16e3e: 48ac ldr r0, [pc, #688] ; (170f0 ) + 16e40: 4bac ldr r3, [pc, #688] ; (170f4 ) + 16e42: 4798 blx r3 + 16e44: 4ba8 ldr r3, [pc, #672] ; (170e8 ) + 16e46: 2240 movs r2, #64 ; 0x40 + 16e48: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16de2: 615a str r2, [r3, #20] + 16e4a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16de4: 4ba5 ldr r3, [pc, #660] ; (1707c ) - 16de6: 781b ldrb r3, [r3, #0] - 16de8: 2b00 cmp r3, #0 - 16dea: d005 beq.n 16df8 + 16e4c: 4ba5 ldr r3, [pc, #660] ; (170e4 ) + 16e4e: 781b ldrb r3, [r3, #0] + 16e50: 2b00 cmp r3, #0 + 16e52: d005 beq.n 16e60 port_base->OUTSET.reg = pin_mask; - 16dec: 3a20 subs r2, #32 - 16dee: 4ba4 ldr r3, [pc, #656] ; (17080 ) - 16df0: 619a str r2, [r3, #24] + 16e54: 3a20 subs r2, #32 + 16e56: 4ba4 ldr r3, [pc, #656] ; (170e8 ) + 16e58: 619a str r2, [r3, #24] cmd_mode = false; - 16df2: 2200 movs r2, #0 - 16df4: 4ba1 ldr r3, [pc, #644] ; (1707c ) - 16df6: 701a strb r2, [r3, #0] + 16e5a: 2200 movs r2, #0 + 16e5c: 4ba1 ldr r3, [pc, #644] ; (170e4 ) + 16e5e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16df8: 2205 movs r2, #5 - 16dfa: 49a2 ldr r1, [pc, #648] ; (17084 ) - 16dfc: 48a2 ldr r0, [pc, #648] ; (17088 ) - 16dfe: 4ba3 ldr r3, [pc, #652] ; (1708c ) - 16e00: 4798 blx r3 - 16e02: 4b9f ldr r3, [pc, #636] ; (17080 ) - 16e04: 2240 movs r2, #64 ; 0x40 - 16e06: 619a str r2, [r3, #24] + 16e60: 2205 movs r2, #5 + 16e62: 49a2 ldr r1, [pc, #648] ; (170ec ) + 16e64: 48a2 ldr r0, [pc, #648] ; (170f0 ) + 16e66: 4ba3 ldr r3, [pc, #652] ; (170f4 ) + 16e68: 4798 blx r3 + 16e6a: 4b9f ldr r3, [pc, #636] ; (170e8 ) + 16e6c: 2240 movs r2, #64 ; 0x40 + 16e6e: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16e08: 615a str r2, [r3, #20] + 16e70: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16e0a: 4b9c ldr r3, [pc, #624] ; (1707c ) - 16e0c: 781b ldrb r3, [r3, #0] - 16e0e: 2b00 cmp r3, #0 - 16e10: d005 beq.n 16e1e + 16e72: 4b9c ldr r3, [pc, #624] ; (170e4 ) + 16e74: 781b ldrb r3, [r3, #0] + 16e76: 2b00 cmp r3, #0 + 16e78: d005 beq.n 16e86 port_base->OUTSET.reg = pin_mask; - 16e12: 3a20 subs r2, #32 - 16e14: 4b9a ldr r3, [pc, #616] ; (17080 ) - 16e16: 619a str r2, [r3, #24] + 16e7a: 3a20 subs r2, #32 + 16e7c: 4b9a ldr r3, [pc, #616] ; (170e8 ) + 16e7e: 619a str r2, [r3, #24] cmd_mode = false; - 16e18: 2200 movs r2, #0 - 16e1a: 4b98 ldr r3, [pc, #608] ; (1707c ) - 16e1c: 701a strb r2, [r3, #0] + 16e80: 2200 movs r2, #0 + 16e82: 4b98 ldr r3, [pc, #608] ; (170e4 ) + 16e84: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16e1e: 2200 movs r2, #0 - 16e20: 4998 ldr r1, [pc, #608] ; (17084 ) - 16e22: 4899 ldr r0, [pc, #612] ; (17088 ) - 16e24: 4b99 ldr r3, [pc, #612] ; (1708c ) - 16e26: 4798 blx r3 - 16e28: 4b95 ldr r3, [pc, #596] ; (17080 ) - 16e2a: 2240 movs r2, #64 ; 0x40 - 16e2c: 619a str r2, [r3, #24] + 16e86: 2200 movs r2, #0 + 16e88: 4998 ldr r1, [pc, #608] ; (170ec ) + 16e8a: 4899 ldr r0, [pc, #612] ; (170f0 ) + 16e8c: 4b99 ldr r3, [pc, #612] ; (170f4 ) + 16e8e: 4798 blx r3 + 16e90: 4b95 ldr r3, [pc, #596] ; (170e8 ) + 16e92: 2240 movs r2, #64 ; 0x40 + 16e94: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16e2e: 615a str r2, [r3, #20] + 16e96: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16e30: 4b92 ldr r3, [pc, #584] ; (1707c ) - 16e32: 781b ldrb r3, [r3, #0] - 16e34: 2b00 cmp r3, #0 - 16e36: d005 beq.n 16e44 + 16e98: 4b92 ldr r3, [pc, #584] ; (170e4 ) + 16e9a: 781b ldrb r3, [r3, #0] + 16e9c: 2b00 cmp r3, #0 + 16e9e: d005 beq.n 16eac port_base->OUTSET.reg = pin_mask; - 16e38: 3a20 subs r2, #32 - 16e3a: 4b91 ldr r3, [pc, #580] ; (17080 ) - 16e3c: 619a str r2, [r3, #24] + 16ea0: 3a20 subs r2, #32 + 16ea2: 4b91 ldr r3, [pc, #580] ; (170e8 ) + 16ea4: 619a str r2, [r3, #24] cmd_mode = false; - 16e3e: 2200 movs r2, #0 - 16e40: 4b8e ldr r3, [pc, #568] ; (1707c ) - 16e42: 701a strb r2, [r3, #0] + 16ea6: 2200 movs r2, #0 + 16ea8: 4b8e ldr r3, [pc, #568] ; (170e4 ) + 16eaa: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16e44: 2228 movs r2, #40 ; 0x28 - 16e46: 498f ldr r1, [pc, #572] ; (17084 ) - 16e48: 488f ldr r0, [pc, #572] ; (17088 ) - 16e4a: 4b90 ldr r3, [pc, #576] ; (1708c ) - 16e4c: 4798 blx r3 - 16e4e: 4b8c ldr r3, [pc, #560] ; (17080 ) - 16e50: 2240 movs r2, #64 ; 0x40 - 16e52: 619a str r2, [r3, #24] + 16eac: 2228 movs r2, #40 ; 0x28 + 16eae: 498f ldr r1, [pc, #572] ; (170ec ) + 16eb0: 488f ldr r0, [pc, #572] ; (170f0 ) + 16eb2: 4b90 ldr r3, [pc, #576] ; (170f4 ) + 16eb4: 4798 blx r3 + 16eb6: 4b8c ldr r3, [pc, #560] ; (170e8 ) + 16eb8: 2240 movs r2, #64 ; 0x40 + 16eba: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16e54: 615a str r2, [r3, #20] + 16ebc: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16e56: 4b89 ldr r3, [pc, #548] ; (1707c ) - 16e58: 781b ldrb r3, [r3, #0] - 16e5a: 2b00 cmp r3, #0 - 16e5c: d005 beq.n 16e6a + 16ebe: 4b89 ldr r3, [pc, #548] ; (170e4 ) + 16ec0: 781b ldrb r3, [r3, #0] + 16ec2: 2b00 cmp r3, #0 + 16ec4: d005 beq.n 16ed2 port_base->OUTSET.reg = pin_mask; - 16e5e: 3a20 subs r2, #32 - 16e60: 4b87 ldr r3, [pc, #540] ; (17080 ) - 16e62: 619a str r2, [r3, #24] + 16ec6: 3a20 subs r2, #32 + 16ec8: 4b87 ldr r3, [pc, #540] ; (170e8 ) + 16eca: 619a str r2, [r3, #24] cmd_mode = false; - 16e64: 2200 movs r2, #0 - 16e66: 4b85 ldr r3, [pc, #532] ; (1707c ) - 16e68: 701a strb r2, [r3, #0] + 16ecc: 2200 movs r2, #0 + 16ece: 4b85 ldr r3, [pc, #532] ; (170e4 ) + 16ed0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16e6a: 2200 movs r2, #0 - 16e6c: 4985 ldr r1, [pc, #532] ; (17084 ) - 16e6e: 4886 ldr r0, [pc, #536] ; (17088 ) - 16e70: 4b86 ldr r3, [pc, #536] ; (1708c ) - 16e72: 4798 blx r3 - 16e74: 4b82 ldr r3, [pc, #520] ; (17080 ) - 16e76: 2240 movs r2, #64 ; 0x40 - 16e78: 619a str r2, [r3, #24] + 16ed2: 2200 movs r2, #0 + 16ed4: 4985 ldr r1, [pc, #532] ; (170ec ) + 16ed6: 4886 ldr r0, [pc, #536] ; (170f0 ) + 16ed8: 4b86 ldr r3, [pc, #536] ; (170f4 ) + 16eda: 4798 blx r3 + 16edc: 4b82 ldr r3, [pc, #520] ; (170e8 ) + 16ede: 2240 movs r2, #64 ; 0x40 + 16ee0: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16e7a: 615a str r2, [r3, #20] + 16ee2: 615a str r2, [r3, #20] if(cmd_mode == false) { - 16e7c: 4b7f ldr r3, [pc, #508] ; (1707c ) - 16e7e: 781b ldrb r3, [r3, #0] - 16e80: 2b00 cmp r3, #0 - 16e82: d105 bne.n 16e90 - 16e84: 3a20 subs r2, #32 - 16e86: 4b7e ldr r3, [pc, #504] ; (17080 ) - 16e88: 615a str r2, [r3, #20] + 16ee4: 4b7f ldr r3, [pc, #508] ; (170e4 ) + 16ee6: 781b ldrb r3, [r3, #0] + 16ee8: 2b00 cmp r3, #0 + 16eea: d105 bne.n 16ef8 + 16eec: 3a20 subs r2, #32 + 16eee: 4b7e ldr r3, [pc, #504] ; (170e8 ) + 16ef0: 615a str r2, [r3, #20] cmd_mode = true; - 16e8a: 3a1f subs r2, #31 - 16e8c: 4b7b ldr r3, [pc, #492] ; (1707c ) - 16e8e: 701a strb r2, [r3, #0] + 16ef2: 3a1f subs r2, #31 + 16ef4: 4b7b ldr r3, [pc, #492] ; (170e4 ) + 16ef6: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 16e90: 22b6 movs r2, #182 ; 0xb6 - 16e92: 497c ldr r1, [pc, #496] ; (17084 ) - 16e94: 487c ldr r0, [pc, #496] ; (17088 ) - 16e96: 4b7d ldr r3, [pc, #500] ; (1708c ) - 16e98: 4798 blx r3 + 16ef8: 22b6 movs r2, #182 ; 0xb6 + 16efa: 497c ldr r1, [pc, #496] ; (170ec ) + 16efc: 487c ldr r0, [pc, #496] ; (170f0 ) + 16efe: 4b7d ldr r3, [pc, #500] ; (170f4 ) + 16f00: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16e9a: 4b79 ldr r3, [pc, #484] ; (17080 ) - 16e9c: 2240 movs r2, #64 ; 0x40 - 16e9e: 619a str r2, [r3, #24] + 16f02: 4b79 ldr r3, [pc, #484] ; (170e8 ) + 16f04: 2240 movs r2, #64 ; 0x40 + 16f06: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16ea0: 615a str r2, [r3, #20] + 16f08: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16ea2: 4b76 ldr r3, [pc, #472] ; (1707c ) - 16ea4: 781b ldrb r3, [r3, #0] - 16ea6: 2b00 cmp r3, #0 - 16ea8: d005 beq.n 16eb6 + 16f0a: 4b76 ldr r3, [pc, #472] ; (170e4 ) + 16f0c: 781b ldrb r3, [r3, #0] + 16f0e: 2b00 cmp r3, #0 + 16f10: d005 beq.n 16f1e port_base->OUTSET.reg = pin_mask; - 16eaa: 3a20 subs r2, #32 - 16eac: 4b74 ldr r3, [pc, #464] ; (17080 ) - 16eae: 619a str r2, [r3, #24] + 16f12: 3a20 subs r2, #32 + 16f14: 4b74 ldr r3, [pc, #464] ; (170e8 ) + 16f16: 619a str r2, [r3, #24] cmd_mode = false; - 16eb0: 2200 movs r2, #0 - 16eb2: 4b72 ldr r3, [pc, #456] ; (1707c ) - 16eb4: 701a strb r2, [r3, #0] + 16f18: 2200 movs r2, #0 + 16f1a: 4b72 ldr r3, [pc, #456] ; (170e4 ) + 16f1c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16eb6: 2201 movs r2, #1 - 16eb8: 4972 ldr r1, [pc, #456] ; (17084 ) - 16eba: 4873 ldr r0, [pc, #460] ; (17088 ) - 16ebc: 4b73 ldr r3, [pc, #460] ; (1708c ) - 16ebe: 4798 blx r3 - 16ec0: 4b6f ldr r3, [pc, #444] ; (17080 ) - 16ec2: 2240 movs r2, #64 ; 0x40 - 16ec4: 619a str r2, [r3, #24] + 16f1e: 2201 movs r2, #1 + 16f20: 4972 ldr r1, [pc, #456] ; (170ec ) + 16f22: 4873 ldr r0, [pc, #460] ; (170f0 ) + 16f24: 4b73 ldr r3, [pc, #460] ; (170f4 ) + 16f26: 4798 blx r3 + 16f28: 4b6f ldr r3, [pc, #444] ; (170e8 ) + 16f2a: 2240 movs r2, #64 ; 0x40 + 16f2c: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16ec6: 615a str r2, [r3, #20] + 16f2e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16ec8: 4b6c ldr r3, [pc, #432] ; (1707c ) - 16eca: 781b ldrb r3, [r3, #0] - 16ecc: 2b00 cmp r3, #0 - 16ece: d005 beq.n 16edc + 16f30: 4b6c ldr r3, [pc, #432] ; (170e4 ) + 16f32: 781b ldrb r3, [r3, #0] + 16f34: 2b00 cmp r3, #0 + 16f36: d005 beq.n 16f44 port_base->OUTSET.reg = pin_mask; - 16ed0: 3a20 subs r2, #32 - 16ed2: 4b6b ldr r3, [pc, #428] ; (17080 ) - 16ed4: 619a str r2, [r3, #24] + 16f38: 3a20 subs r2, #32 + 16f3a: 4b6b ldr r3, [pc, #428] ; (170e8 ) + 16f3c: 619a str r2, [r3, #24] cmd_mode = false; - 16ed6: 2200 movs r2, #0 - 16ed8: 4b68 ldr r3, [pc, #416] ; (1707c ) - 16eda: 701a strb r2, [r3, #0] + 16f3e: 2200 movs r2, #0 + 16f40: 4b68 ldr r3, [pc, #416] ; (170e4 ) + 16f42: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16edc: 2220 movs r2, #32 - 16ede: 4969 ldr r1, [pc, #420] ; (17084 ) - 16ee0: 4869 ldr r0, [pc, #420] ; (17088 ) - 16ee2: 4b6a ldr r3, [pc, #424] ; (1708c ) - 16ee4: 4798 blx r3 - 16ee6: 4b66 ldr r3, [pc, #408] ; (17080 ) - 16ee8: 2240 movs r2, #64 ; 0x40 - 16eea: 619a str r2, [r3, #24] + 16f44: 2220 movs r2, #32 + 16f46: 4969 ldr r1, [pc, #420] ; (170ec ) + 16f48: 4869 ldr r0, [pc, #420] ; (170f0 ) + 16f4a: 4b6a ldr r3, [pc, #424] ; (170f4 ) + 16f4c: 4798 blx r3 + 16f4e: 4b66 ldr r3, [pc, #408] ; (170e8 ) + 16f50: 2240 movs r2, #64 ; 0x40 + 16f52: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16eec: 615a str r2, [r3, #20] + 16f54: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16eee: 4b63 ldr r3, [pc, #396] ; (1707c ) - 16ef0: 781b ldrb r3, [r3, #0] - 16ef2: 2b00 cmp r3, #0 - 16ef4: d005 beq.n 16f02 + 16f56: 4b63 ldr r3, [pc, #396] ; (170e4 ) + 16f58: 781b ldrb r3, [r3, #0] + 16f5a: 2b00 cmp r3, #0 + 16f5c: d005 beq.n 16f6a port_base->OUTSET.reg = pin_mask; - 16ef6: 3a20 subs r2, #32 - 16ef8: 4b61 ldr r3, [pc, #388] ; (17080 ) - 16efa: 619a str r2, [r3, #24] + 16f5e: 3a20 subs r2, #32 + 16f60: 4b61 ldr r3, [pc, #388] ; (170e8 ) + 16f62: 619a str r2, [r3, #24] cmd_mode = false; - 16efc: 2200 movs r2, #0 - 16efe: 4b5f ldr r3, [pc, #380] ; (1707c ) - 16f00: 701a strb r2, [r3, #0] + 16f64: 2200 movs r2, #0 + 16f66: 4b5f ldr r3, [pc, #380] ; (170e4 ) + 16f68: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16f02: 2201 movs r2, #1 - 16f04: 495f ldr r1, [pc, #380] ; (17084 ) - 16f06: 4860 ldr r0, [pc, #384] ; (17088 ) - 16f08: 4b60 ldr r3, [pc, #384] ; (1708c ) - 16f0a: 4798 blx r3 - 16f0c: 4b5c ldr r3, [pc, #368] ; (17080 ) - 16f0e: 2240 movs r2, #64 ; 0x40 - 16f10: 619a str r2, [r3, #24] + 16f6a: 2201 movs r2, #1 + 16f6c: 495f ldr r1, [pc, #380] ; (170ec ) + 16f6e: 4860 ldr r0, [pc, #384] ; (170f0 ) + 16f70: 4b60 ldr r3, [pc, #384] ; (170f4 ) + 16f72: 4798 blx r3 + 16f74: 4b5c ldr r3, [pc, #368] ; (170e8 ) + 16f76: 2240 movs r2, #64 ; 0x40 + 16f78: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16f12: 615a str r2, [r3, #20] + 16f7a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16f14: 4b59 ldr r3, [pc, #356] ; (1707c ) - 16f16: 781b ldrb r3, [r3, #0] - 16f18: 2b00 cmp r3, #0 - 16f1a: d005 beq.n 16f28 + 16f7c: 4b59 ldr r3, [pc, #356] ; (170e4 ) + 16f7e: 781b ldrb r3, [r3, #0] + 16f80: 2b00 cmp r3, #0 + 16f82: d005 beq.n 16f90 port_base->OUTSET.reg = pin_mask; - 16f1c: 3a20 subs r2, #32 - 16f1e: 4b58 ldr r3, [pc, #352] ; (17080 ) - 16f20: 619a str r2, [r3, #24] + 16f84: 3a20 subs r2, #32 + 16f86: 4b58 ldr r3, [pc, #352] ; (170e8 ) + 16f88: 619a str r2, [r3, #24] cmd_mode = false; - 16f22: 2200 movs r2, #0 - 16f24: 4b55 ldr r3, [pc, #340] ; (1707c ) - 16f26: 701a strb r2, [r3, #0] + 16f8a: 2200 movs r2, #0 + 16f8c: 4b55 ldr r3, [pc, #340] ; (170e4 ) + 16f8e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16f28: 2210 movs r2, #16 - 16f2a: 4956 ldr r1, [pc, #344] ; (17084 ) - 16f2c: 4856 ldr r0, [pc, #344] ; (17088 ) - 16f2e: 4b57 ldr r3, [pc, #348] ; (1708c ) - 16f30: 4798 blx r3 - 16f32: 4b53 ldr r3, [pc, #332] ; (17080 ) - 16f34: 2240 movs r2, #64 ; 0x40 - 16f36: 619a str r2, [r3, #24] + 16f90: 2210 movs r2, #16 + 16f92: 4956 ldr r1, [pc, #344] ; (170ec ) + 16f94: 4856 ldr r0, [pc, #344] ; (170f0 ) + 16f96: 4b57 ldr r3, [pc, #348] ; (170f4 ) + 16f98: 4798 blx r3 + 16f9a: 4b53 ldr r3, [pc, #332] ; (170e8 ) + 16f9c: 2240 movs r2, #64 ; 0x40 + 16f9e: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16f38: 615a str r2, [r3, #20] + 16fa0: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16f3a: 4b50 ldr r3, [pc, #320] ; (1707c ) - 16f3c: 781b ldrb r3, [r3, #0] - 16f3e: 2b00 cmp r3, #0 - 16f40: d005 beq.n 16f4e + 16fa2: 4b50 ldr r3, [pc, #320] ; (170e4 ) + 16fa4: 781b ldrb r3, [r3, #0] + 16fa6: 2b00 cmp r3, #0 + 16fa8: d005 beq.n 16fb6 port_base->OUTSET.reg = pin_mask; - 16f42: 3a20 subs r2, #32 - 16f44: 4b4e ldr r3, [pc, #312] ; (17080 ) - 16f46: 619a str r2, [r3, #24] + 16faa: 3a20 subs r2, #32 + 16fac: 4b4e ldr r3, [pc, #312] ; (170e8 ) + 16fae: 619a str r2, [r3, #24] cmd_mode = false; - 16f48: 2200 movs r2, #0 - 16f4a: 4b4c ldr r3, [pc, #304] ; (1707c ) - 16f4c: 701a strb r2, [r3, #0] + 16fb0: 2200 movs r2, #0 + 16fb2: 4b4c ldr r3, [pc, #304] ; (170e4 ) + 16fb4: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16f4e: 2208 movs r2, #8 - 16f50: 494c ldr r1, [pc, #304] ; (17084 ) - 16f52: 484d ldr r0, [pc, #308] ; (17088 ) - 16f54: 4b4d ldr r3, [pc, #308] ; (1708c ) - 16f56: 4798 blx r3 - 16f58: 4b49 ldr r3, [pc, #292] ; (17080 ) - 16f5a: 2240 movs r2, #64 ; 0x40 - 16f5c: 619a str r2, [r3, #24] + 16fb6: 2208 movs r2, #8 + 16fb8: 494c ldr r1, [pc, #304] ; (170ec ) + 16fba: 484d ldr r0, [pc, #308] ; (170f0 ) + 16fbc: 4b4d ldr r3, [pc, #308] ; (170f4 ) + 16fbe: 4798 blx r3 + 16fc0: 4b49 ldr r3, [pc, #292] ; (170e8 ) + 16fc2: 2240 movs r2, #64 ; 0x40 + 16fc4: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16f5e: 615a str r2, [r3, #20] + 16fc6: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16f60: 4b46 ldr r3, [pc, #280] ; (1707c ) - 16f62: 781b ldrb r3, [r3, #0] - 16f64: 2b00 cmp r3, #0 - 16f66: d005 beq.n 16f74 + 16fc8: 4b46 ldr r3, [pc, #280] ; (170e4 ) + 16fca: 781b ldrb r3, [r3, #0] + 16fcc: 2b00 cmp r3, #0 + 16fce: d005 beq.n 16fdc port_base->OUTSET.reg = pin_mask; - 16f68: 3a20 subs r2, #32 - 16f6a: 4b45 ldr r3, [pc, #276] ; (17080 ) - 16f6c: 619a str r2, [r3, #24] + 16fd0: 3a20 subs r2, #32 + 16fd2: 4b45 ldr r3, [pc, #276] ; (170e8 ) + 16fd4: 619a str r2, [r3, #24] cmd_mode = false; - 16f6e: 2200 movs r2, #0 - 16f70: 4b42 ldr r3, [pc, #264] ; (1707c ) - 16f72: 701a strb r2, [r3, #0] + 16fd6: 2200 movs r2, #0 + 16fd8: 4b42 ldr r3, [pc, #264] ; (170e4 ) + 16fda: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16f74: 2200 movs r2, #0 - 16f76: 4943 ldr r1, [pc, #268] ; (17084 ) - 16f78: 4843 ldr r0, [pc, #268] ; (17088 ) - 16f7a: 4b44 ldr r3, [pc, #272] ; (1708c ) - 16f7c: 4798 blx r3 - 16f7e: 4b40 ldr r3, [pc, #256] ; (17080 ) - 16f80: 2240 movs r2, #64 ; 0x40 - 16f82: 619a str r2, [r3, #24] + 16fdc: 2200 movs r2, #0 + 16fde: 4943 ldr r1, [pc, #268] ; (170ec ) + 16fe0: 4843 ldr r0, [pc, #268] ; (170f0 ) + 16fe2: 4b44 ldr r3, [pc, #272] ; (170f4 ) + 16fe4: 4798 blx r3 + 16fe6: 4b40 ldr r3, [pc, #256] ; (170e8 ) + 16fe8: 2240 movs r2, #64 ; 0x40 + 16fea: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16f84: 615a str r2, [r3, #20] + 16fec: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16f86: 4b3d ldr r3, [pc, #244] ; (1707c ) - 16f88: 781b ldrb r3, [r3, #0] - 16f8a: 2b00 cmp r3, #0 - 16f8c: d005 beq.n 16f9a + 16fee: 4b3d ldr r3, [pc, #244] ; (170e4 ) + 16ff0: 781b ldrb r3, [r3, #0] + 16ff2: 2b00 cmp r3, #0 + 16ff4: d005 beq.n 17002 port_base->OUTSET.reg = pin_mask; - 16f8e: 3a20 subs r2, #32 - 16f90: 4b3b ldr r3, [pc, #236] ; (17080 ) - 16f92: 619a str r2, [r3, #24] + 16ff6: 3a20 subs r2, #32 + 16ff8: 4b3b ldr r3, [pc, #236] ; (170e8 ) + 16ffa: 619a str r2, [r3, #24] cmd_mode = false; - 16f94: 2200 movs r2, #0 - 16f96: 4b39 ldr r3, [pc, #228] ; (1707c ) - 16f98: 701a strb r2, [r3, #0] + 16ffc: 2200 movs r2, #0 + 16ffe: 4b39 ldr r3, [pc, #228] ; (170e4 ) + 17000: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16f9a: 2208 movs r2, #8 - 16f9c: 4939 ldr r1, [pc, #228] ; (17084 ) - 16f9e: 483a ldr r0, [pc, #232] ; (17088 ) - 16fa0: 4b3a ldr r3, [pc, #232] ; (1708c ) - 16fa2: 4798 blx r3 - 16fa4: 4b36 ldr r3, [pc, #216] ; (17080 ) - 16fa6: 2240 movs r2, #64 ; 0x40 - 16fa8: 619a str r2, [r3, #24] + 17002: 2208 movs r2, #8 + 17004: 4939 ldr r1, [pc, #228] ; (170ec ) + 17006: 483a ldr r0, [pc, #232] ; (170f0 ) + 17008: 4b3a ldr r3, [pc, #232] ; (170f4 ) + 1700a: 4798 blx r3 + 1700c: 4b36 ldr r3, [pc, #216] ; (170e8 ) + 1700e: 2240 movs r2, #64 ; 0x40 + 17010: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16faa: 615a str r2, [r3, #20] + 17012: 615a str r2, [r3, #20] if(cmd_mode == false) { - 16fac: 4b33 ldr r3, [pc, #204] ; (1707c ) - 16fae: 781b ldrb r3, [r3, #0] - 16fb0: 2b00 cmp r3, #0 - 16fb2: d105 bne.n 16fc0 - 16fb4: 3a20 subs r2, #32 - 16fb6: 4b32 ldr r3, [pc, #200] ; (17080 ) - 16fb8: 615a str r2, [r3, #20] + 17014: 4b33 ldr r3, [pc, #204] ; (170e4 ) + 17016: 781b ldrb r3, [r3, #0] + 17018: 2b00 cmp r3, #0 + 1701a: d105 bne.n 17028 + 1701c: 3a20 subs r2, #32 + 1701e: 4b32 ldr r3, [pc, #200] ; (170e8 ) + 17020: 615a str r2, [r3, #20] cmd_mode = true; - 16fba: 3a1f subs r2, #31 - 16fbc: 4b2f ldr r3, [pc, #188] ; (1707c ) - 16fbe: 701a strb r2, [r3, #0] + 17022: 3a1f subs r2, #31 + 17024: 4b2f ldr r3, [pc, #188] ; (170e4 ) + 17026: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 16fc0: 22b8 movs r2, #184 ; 0xb8 - 16fc2: 4930 ldr r1, [pc, #192] ; (17084 ) - 16fc4: 4830 ldr r0, [pc, #192] ; (17088 ) - 16fc6: 4b31 ldr r3, [pc, #196] ; (1708c ) - 16fc8: 4798 blx r3 + 17028: 22b8 movs r2, #184 ; 0xb8 + 1702a: 4930 ldr r1, [pc, #192] ; (170ec ) + 1702c: 4830 ldr r0, [pc, #192] ; (170f0 ) + 1702e: 4b31 ldr r3, [pc, #196] ; (170f4 ) + 17030: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 16fca: 4b2d ldr r3, [pc, #180] ; (17080 ) - 16fcc: 2240 movs r2, #64 ; 0x40 - 16fce: 619a str r2, [r3, #24] + 17032: 4b2d ldr r3, [pc, #180] ; (170e8 ) + 17034: 2240 movs r2, #64 ; 0x40 + 17036: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16fd0: 615a str r2, [r3, #20] + 17038: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16fd2: 4b2a ldr r3, [pc, #168] ; (1707c ) - 16fd4: 781b ldrb r3, [r3, #0] - 16fd6: 2b00 cmp r3, #0 - 16fd8: d005 beq.n 16fe6 + 1703a: 4b2a ldr r3, [pc, #168] ; (170e4 ) + 1703c: 781b ldrb r3, [r3, #0] + 1703e: 2b00 cmp r3, #0 + 17040: d005 beq.n 1704e port_base->OUTSET.reg = pin_mask; - 16fda: 3a20 subs r2, #32 - 16fdc: 4b28 ldr r3, [pc, #160] ; (17080 ) - 16fde: 619a str r2, [r3, #24] + 17042: 3a20 subs r2, #32 + 17044: 4b28 ldr r3, [pc, #160] ; (170e8 ) + 17046: 619a str r2, [r3, #24] cmd_mode = false; - 16fe0: 2200 movs r2, #0 - 16fe2: 4b26 ldr r3, [pc, #152] ; (1707c ) - 16fe4: 701a strb r2, [r3, #0] + 17048: 2200 movs r2, #0 + 1704a: 4b26 ldr r3, [pc, #152] ; (170e4 ) + 1704c: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 16fe6: 220f movs r2, #15 - 16fe8: 4926 ldr r1, [pc, #152] ; (17084 ) - 16fea: 4827 ldr r0, [pc, #156] ; (17088 ) - 16fec: 4b27 ldr r3, [pc, #156] ; (1708c ) - 16fee: 4798 blx r3 - 16ff0: 4b23 ldr r3, [pc, #140] ; (17080 ) - 16ff2: 2240 movs r2, #64 ; 0x40 - 16ff4: 619a str r2, [r3, #24] + 1704e: 220f movs r2, #15 + 17050: 4926 ldr r1, [pc, #152] ; (170ec ) + 17052: 4827 ldr r0, [pc, #156] ; (170f0 ) + 17054: 4b27 ldr r3, [pc, #156] ; (170f4 ) + 17056: 4798 blx r3 + 17058: 4b23 ldr r3, [pc, #140] ; (170e8 ) + 1705a: 2240 movs r2, #64 ; 0x40 + 1705c: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 16ff6: 615a str r2, [r3, #20] + 1705e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 16ff8: 4b20 ldr r3, [pc, #128] ; (1707c ) - 16ffa: 781b ldrb r3, [r3, #0] - 16ffc: 2b00 cmp r3, #0 - 16ffe: d005 beq.n 1700c + 17060: 4b20 ldr r3, [pc, #128] ; (170e4 ) + 17062: 781b ldrb r3, [r3, #0] + 17064: 2b00 cmp r3, #0 + 17066: d005 beq.n 17074 port_base->OUTSET.reg = pin_mask; - 17000: 3a20 subs r2, #32 - 17002: 4b1f ldr r3, [pc, #124] ; (17080 ) - 17004: 619a str r2, [r3, #24] + 17068: 3a20 subs r2, #32 + 1706a: 4b1f ldr r3, [pc, #124] ; (170e8 ) + 1706c: 619a str r2, [r3, #24] cmd_mode = false; - 17006: 2200 movs r2, #0 - 17008: 4b1c ldr r3, [pc, #112] ; (1707c ) - 1700a: 701a strb r2, [r3, #0] + 1706e: 2200 movs r2, #0 + 17070: 4b1c ldr r3, [pc, #112] ; (170e4 ) + 17072: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 1700c: 2201 movs r2, #1 - 1700e: 491d ldr r1, [pc, #116] ; (17084 ) - 17010: 481d ldr r0, [pc, #116] ; (17088 ) - 17012: 4b1e ldr r3, [pc, #120] ; (1708c ) - 17014: 4798 blx r3 - 17016: 4b1a ldr r3, [pc, #104] ; (17080 ) - 17018: 2240 movs r2, #64 ; 0x40 - 1701a: 619a str r2, [r3, #24] + 17074: 2201 movs r2, #1 + 17076: 491d ldr r1, [pc, #116] ; (170ec ) + 17078: 481d ldr r0, [pc, #116] ; (170f0 ) + 1707a: 4b1e ldr r3, [pc, #120] ; (170f4 ) + 1707c: 4798 blx r3 + 1707e: 4b1a ldr r3, [pc, #104] ; (170e8 ) + 17080: 2240 movs r2, #64 ; 0x40 + 17082: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1701c: 615a str r2, [r3, #20] + 17084: 615a str r2, [r3, #20] if(cmd_mode == false) { - 1701e: 4b17 ldr r3, [pc, #92] ; (1707c ) - 17020: 781b ldrb r3, [r3, #0] - 17022: 2b00 cmp r3, #0 - 17024: d105 bne.n 17032 - 17026: 3a20 subs r2, #32 - 17028: 4b15 ldr r3, [pc, #84] ; (17080 ) - 1702a: 615a str r2, [r3, #20] + 17086: 4b17 ldr r3, [pc, #92] ; (170e4 ) + 17088: 781b ldrb r3, [r3, #0] + 1708a: 2b00 cmp r3, #0 + 1708c: d105 bne.n 1709a + 1708e: 3a20 subs r2, #32 + 17090: 4b15 ldr r3, [pc, #84] ; (170e8 ) + 17092: 615a str r2, [r3, #20] cmd_mode = true; - 1702c: 3a1f subs r2, #31 - 1702e: 4b13 ldr r3, [pc, #76] ; (1707c ) - 17030: 701a strb r2, [r3, #0] + 17094: 3a1f subs r2, #31 + 17096: 4b13 ldr r3, [pc, #76] ; (170e4 ) + 17098: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 17032: 22ba movs r2, #186 ; 0xba - 17034: 4913 ldr r1, [pc, #76] ; (17084 ) - 17036: 4814 ldr r0, [pc, #80] ; (17088 ) - 17038: 4b14 ldr r3, [pc, #80] ; (1708c ) - 1703a: 4798 blx r3 + 1709a: 22ba movs r2, #186 ; 0xba + 1709c: 4913 ldr r1, [pc, #76] ; (170ec ) + 1709e: 4814 ldr r0, [pc, #80] ; (170f0 ) + 170a0: 4b14 ldr r3, [pc, #80] ; (170f4 ) + 170a2: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 1703c: 4b10 ldr r3, [pc, #64] ; (17080 ) - 1703e: 2240 movs r2, #64 ; 0x40 - 17040: 619a str r2, [r3, #24] + 170a4: 4b10 ldr r3, [pc, #64] ; (170e8 ) + 170a6: 2240 movs r2, #64 ; 0x40 + 170a8: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17042: 615a str r2, [r3, #20] + 170aa: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17044: 4b0d ldr r3, [pc, #52] ; (1707c ) - 17046: 781b ldrb r3, [r3, #0] - 17048: 2b00 cmp r3, #0 - 1704a: d005 beq.n 17058 + 170ac: 4b0d ldr r3, [pc, #52] ; (170e4 ) + 170ae: 781b ldrb r3, [r3, #0] + 170b0: 2b00 cmp r3, #0 + 170b2: d005 beq.n 170c0 port_base->OUTSET.reg = pin_mask; - 1704c: 3a20 subs r2, #32 - 1704e: 4b0c ldr r3, [pc, #48] ; (17080 ) - 17050: 619a str r2, [r3, #24] + 170b4: 3a20 subs r2, #32 + 170b6: 4b0c ldr r3, [pc, #48] ; (170e8 ) + 170b8: 619a str r2, [r3, #24] cmd_mode = false; - 17052: 2200 movs r2, #0 - 17054: 4b09 ldr r3, [pc, #36] ; (1707c ) - 17056: 701a strb r2, [r3, #0] + 170ba: 2200 movs r2, #0 + 170bc: 4b09 ldr r3, [pc, #36] ; (170e4 ) + 170be: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17058: 2201 movs r2, #1 - 1705a: 490a ldr r1, [pc, #40] ; (17084 ) - 1705c: 480a ldr r0, [pc, #40] ; (17088 ) - 1705e: 4b0b ldr r3, [pc, #44] ; (1708c ) - 17060: 4798 blx r3 - 17062: 4b07 ldr r3, [pc, #28] ; (17080 ) - 17064: 2240 movs r2, #64 ; 0x40 - 17066: 619a str r2, [r3, #24] + 170c0: 2201 movs r2, #1 + 170c2: 490a ldr r1, [pc, #40] ; (170ec ) + 170c4: 480a ldr r0, [pc, #40] ; (170f0 ) + 170c6: 4b0b ldr r3, [pc, #44] ; (170f4 ) + 170c8: 4798 blx r3 + 170ca: 4b07 ldr r3, [pc, #28] ; (170e8 ) + 170cc: 2240 movs r2, #64 ; 0x40 + 170ce: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17068: 615a str r2, [r3, #20] + 170d0: 615a str r2, [r3, #20] if(cmd_mode == false) { - 1706a: 4b04 ldr r3, [pc, #16] ; (1707c ) - 1706c: 781b ldrb r3, [r3, #0] - 1706e: 2b00 cmp r3, #0 - 17070: d11a bne.n 170a8 - 17072: 3a20 subs r2, #32 - 17074: 4b02 ldr r3, [pc, #8] ; (17080 ) - 17076: 615a str r2, [r3, #20] + 170d2: 4b04 ldr r3, [pc, #16] ; (170e4 ) + 170d4: 781b ldrb r3, [r3, #0] + 170d6: 2b00 cmp r3, #0 + 170d8: d11a bne.n 17110 + 170da: 3a20 subs r2, #32 + 170dc: 4b02 ldr r3, [pc, #8] ; (170e8 ) + 170de: 615a str r2, [r3, #20] cmd_mode = true; - 17078: 3a1f subs r2, #31 - 1707a: e013 b.n 170a4 - 1707c: 2000005c .word 0x2000005c - 17080: 41004400 .word 0x41004400 - 17084: 1c03c3f7 .word 0x1c03c3f7 - 17088: 41004480 .word 0x41004480 - 1708c: 000177ad .word 0x000177ad - 17090: 00001065 .word 0x00001065 - 17094: 00001b57 .word 0x00001b57 - 17098: 00001b58 .word 0x00001b58 - 1709c: 00017c4d .word 0x00017c4d - 170a0: 20000001 .word 0x20000001 - 170a4: 4bd4 ldr r3, [pc, #848] ; (173f8 ) - 170a6: 701a strb r2, [r3, #0] + 170e0: 3a1f subs r2, #31 + 170e2: e013 b.n 1710c + 170e4: 2000005c .word 0x2000005c + 170e8: 41004400 .word 0x41004400 + 170ec: 1c03c3f7 .word 0x1c03c3f7 + 170f0: 41004480 .word 0x41004480 + 170f4: 00017815 .word 0x00017815 + 170f8: 000010cd .word 0x000010cd + 170fc: 00001b57 .word 0x00001b57 + 17100: 00001b58 .word 0x00001b58 + 17104: 00017cdd .word 0x00017cdd + 17108: 20000001 .word 0x20000001 + 1710c: 4bd4 ldr r3, [pc, #848] ; (17460 ) + 1710e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 170a8: 2236 movs r2, #54 ; 0x36 - 170aa: 49d4 ldr r1, [pc, #848] ; (173fc ) - 170ac: 48d4 ldr r0, [pc, #848] ; (17400 ) - 170ae: 4bd5 ldr r3, [pc, #852] ; (17404 ) - 170b0: 4798 blx r3 + 17110: 2236 movs r2, #54 ; 0x36 + 17112: 49d4 ldr r1, [pc, #848] ; (17464 ) + 17114: 48d4 ldr r0, [pc, #848] ; (17468 ) + 17116: 4bd5 ldr r3, [pc, #852] ; (1746c ) + 17118: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 170b2: 4bd5 ldr r3, [pc, #852] ; (17408 ) - 170b4: 2240 movs r2, #64 ; 0x40 - 170b6: 619a str r2, [r3, #24] + 1711a: 4bd5 ldr r3, [pc, #852] ; (17470 ) + 1711c: 2240 movs r2, #64 ; 0x40 + 1711e: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 170b8: 615a str r2, [r3, #20] + 17120: 615a str r2, [r3, #20] if(cmd_mode != false) { - 170ba: 4bcf ldr r3, [pc, #828] ; (173f8 ) - 170bc: 781b ldrb r3, [r3, #0] - 170be: 2b00 cmp r3, #0 - 170c0: d005 beq.n 170ce + 17122: 4bcf ldr r3, [pc, #828] ; (17460 ) + 17124: 781b ldrb r3, [r3, #0] + 17126: 2b00 cmp r3, #0 + 17128: d005 beq.n 17136 port_base->OUTSET.reg = pin_mask; - 170c2: 3a20 subs r2, #32 - 170c4: 4bd0 ldr r3, [pc, #832] ; (17408 ) - 170c6: 619a str r2, [r3, #24] + 1712a: 3a20 subs r2, #32 + 1712c: 4bd0 ldr r3, [pc, #832] ; (17470 ) + 1712e: 619a str r2, [r3, #24] cmd_mode = false; - 170c8: 2200 movs r2, #0 - 170ca: 4bcb ldr r3, [pc, #812] ; (173f8 ) - 170cc: 701a strb r2, [r3, #0] + 17130: 2200 movs r2, #0 + 17132: 4bcb ldr r3, [pc, #812] ; (17460 ) + 17134: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 170ce: 2208 movs r2, #8 - 170d0: 49ca ldr r1, [pc, #808] ; (173fc ) - 170d2: 48cb ldr r0, [pc, #812] ; (17400 ) - 170d4: 4bcb ldr r3, [pc, #812] ; (17404 ) - 170d6: 4798 blx r3 - 170d8: 4bcb ldr r3, [pc, #812] ; (17408 ) - 170da: 2240 movs r2, #64 ; 0x40 - 170dc: 619a str r2, [r3, #24] + 17136: 2208 movs r2, #8 + 17138: 49ca ldr r1, [pc, #808] ; (17464 ) + 1713a: 48cb ldr r0, [pc, #812] ; (17468 ) + 1713c: 4bcb ldr r3, [pc, #812] ; (1746c ) + 1713e: 4798 blx r3 + 17140: 4bcb ldr r3, [pc, #812] ; (17470 ) + 17142: 2240 movs r2, #64 ; 0x40 + 17144: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 170de: 615a str r2, [r3, #20] + 17146: 615a str r2, [r3, #20] if(cmd_mode == false) { - 170e0: 4bc5 ldr r3, [pc, #788] ; (173f8 ) - 170e2: 781b ldrb r3, [r3, #0] - 170e4: 2b00 cmp r3, #0 - 170e6: d105 bne.n 170f4 - 170e8: 3a20 subs r2, #32 - 170ea: 4bc7 ldr r3, [pc, #796] ; (17408 ) - 170ec: 615a str r2, [r3, #20] + 17148: 4bc5 ldr r3, [pc, #788] ; (17460 ) + 1714a: 781b ldrb r3, [r3, #0] + 1714c: 2b00 cmp r3, #0 + 1714e: d105 bne.n 1715c + 17150: 3a20 subs r2, #32 + 17152: 4bc7 ldr r3, [pc, #796] ; (17470 ) + 17154: 615a str r2, [r3, #20] cmd_mode = true; - 170ee: 3a1f subs r2, #31 - 170f0: 4bc1 ldr r3, [pc, #772] ; (173f8 ) - 170f2: 701a strb r2, [r3, #0] + 17156: 3a1f subs r2, #31 + 17158: 4bc1 ldr r3, [pc, #772] ; (17460 ) + 1715a: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 170f4: 223a movs r2, #58 ; 0x3a - 170f6: 49c1 ldr r1, [pc, #772] ; (173fc ) - 170f8: 48c1 ldr r0, [pc, #772] ; (17400 ) - 170fa: 4bc2 ldr r3, [pc, #776] ; (17404 ) - 170fc: 4798 blx r3 + 1715c: 223a movs r2, #58 ; 0x3a + 1715e: 49c1 ldr r1, [pc, #772] ; (17464 ) + 17160: 48c1 ldr r0, [pc, #772] ; (17468 ) + 17162: 4bc2 ldr r3, [pc, #776] ; (1746c ) + 17164: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 170fe: 4bc2 ldr r3, [pc, #776] ; (17408 ) - 17100: 2240 movs r2, #64 ; 0x40 - 17102: 619a str r2, [r3, #24] + 17166: 4bc2 ldr r3, [pc, #776] ; (17470 ) + 17168: 2240 movs r2, #64 ; 0x40 + 1716a: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17104: 615a str r2, [r3, #20] + 1716c: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17106: 4bbc ldr r3, [pc, #752] ; (173f8 ) - 17108: 781b ldrb r3, [r3, #0] - 1710a: 2b00 cmp r3, #0 - 1710c: d005 beq.n 1711a + 1716e: 4bbc ldr r3, [pc, #752] ; (17460 ) + 17170: 781b ldrb r3, [r3, #0] + 17172: 2b00 cmp r3, #0 + 17174: d005 beq.n 17182 port_base->OUTSET.reg = pin_mask; - 1710e: 3a20 subs r2, #32 - 17110: 4bbd ldr r3, [pc, #756] ; (17408 ) - 17112: 619a str r2, [r3, #24] + 17176: 3a20 subs r2, #32 + 17178: 4bbd ldr r3, [pc, #756] ; (17470 ) + 1717a: 619a str r2, [r3, #24] cmd_mode = false; - 17114: 2200 movs r2, #0 - 17116: 4bb8 ldr r3, [pc, #736] ; (173f8 ) - 17118: 701a strb r2, [r3, #0] + 1717c: 2200 movs r2, #0 + 1717e: 4bb8 ldr r3, [pc, #736] ; (17460 ) + 17180: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 1711a: 2250 movs r2, #80 ; 0x50 - 1711c: 49b7 ldr r1, [pc, #732] ; (173fc ) - 1711e: 48b8 ldr r0, [pc, #736] ; (17400 ) - 17120: 4bb8 ldr r3, [pc, #736] ; (17404 ) - 17122: 4798 blx r3 - 17124: 4bb8 ldr r3, [pc, #736] ; (17408 ) - 17126: 2240 movs r2, #64 ; 0x40 - 17128: 619a str r2, [r3, #24] + 17182: 2250 movs r2, #80 ; 0x50 + 17184: 49b7 ldr r1, [pc, #732] ; (17464 ) + 17186: 48b8 ldr r0, [pc, #736] ; (17468 ) + 17188: 4bb8 ldr r3, [pc, #736] ; (1746c ) + 1718a: 4798 blx r3 + 1718c: 4bb8 ldr r3, [pc, #736] ; (17470 ) + 1718e: 2240 movs r2, #64 ; 0x40 + 17190: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1712a: 615a str r2, [r3, #20] + 17192: 615a str r2, [r3, #20] if(cmd_mode == false) { - 1712c: 4bb2 ldr r3, [pc, #712] ; (173f8 ) - 1712e: 781b ldrb r3, [r3, #0] - 17130: 2b00 cmp r3, #0 - 17132: d105 bne.n 17140 - 17134: 3a20 subs r2, #32 - 17136: 4bb4 ldr r3, [pc, #720] ; (17408 ) - 17138: 615a str r2, [r3, #20] + 17194: 4bb2 ldr r3, [pc, #712] ; (17460 ) + 17196: 781b ldrb r3, [r3, #0] + 17198: 2b00 cmp r3, #0 + 1719a: d105 bne.n 171a8 + 1719c: 3a20 subs r2, #32 + 1719e: 4bb4 ldr r3, [pc, #720] ; (17470 ) + 171a0: 615a str r2, [r3, #20] cmd_mode = true; - 1713a: 3a1f subs r2, #31 - 1713c: 4bae ldr r3, [pc, #696] ; (173f8 ) - 1713e: 701a strb r2, [r3, #0] + 171a2: 3a1f subs r2, #31 + 171a4: 4bae ldr r3, [pc, #696] ; (17460 ) + 171a6: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 17140: 22f0 movs r2, #240 ; 0xf0 - 17142: 49ae ldr r1, [pc, #696] ; (173fc ) - 17144: 48ae ldr r0, [pc, #696] ; (17400 ) - 17146: 4baf ldr r3, [pc, #700] ; (17404 ) - 17148: 4798 blx r3 + 171a8: 22f0 movs r2, #240 ; 0xf0 + 171aa: 49ae ldr r1, [pc, #696] ; (17464 ) + 171ac: 48ae ldr r0, [pc, #696] ; (17468 ) + 171ae: 4baf ldr r3, [pc, #700] ; (1746c ) + 171b0: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 1714a: 4baf ldr r3, [pc, #700] ; (17408 ) - 1714c: 2240 movs r2, #64 ; 0x40 - 1714e: 619a str r2, [r3, #24] + 171b2: 4baf ldr r3, [pc, #700] ; (17470 ) + 171b4: 2240 movs r2, #64 ; 0x40 + 171b6: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17150: 615a str r2, [r3, #20] + 171b8: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17152: 4ba9 ldr r3, [pc, #676] ; (173f8 ) - 17154: 781b ldrb r3, [r3, #0] - 17156: 2b00 cmp r3, #0 - 17158: d005 beq.n 17166 + 171ba: 4ba9 ldr r3, [pc, #676] ; (17460 ) + 171bc: 781b ldrb r3, [r3, #0] + 171be: 2b00 cmp r3, #0 + 171c0: d005 beq.n 171ce port_base->OUTSET.reg = pin_mask; - 1715a: 3a20 subs r2, #32 - 1715c: 4baa ldr r3, [pc, #680] ; (17408 ) - 1715e: 619a str r2, [r3, #24] + 171c2: 3a20 subs r2, #32 + 171c4: 4baa ldr r3, [pc, #680] ; (17470 ) + 171c6: 619a str r2, [r3, #24] cmd_mode = false; - 17160: 2200 movs r2, #0 - 17162: 4ba5 ldr r3, [pc, #660] ; (173f8 ) - 17164: 701a strb r2, [r3, #0] + 171c8: 2200 movs r2, #0 + 171ca: 4ba5 ldr r3, [pc, #660] ; (17460 ) + 171cc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17166: 2203 movs r2, #3 - 17168: 49a4 ldr r1, [pc, #656] ; (173fc ) - 1716a: 48a5 ldr r0, [pc, #660] ; (17400 ) - 1716c: 4ba5 ldr r3, [pc, #660] ; (17404 ) - 1716e: 4798 blx r3 - 17170: 4ba5 ldr r3, [pc, #660] ; (17408 ) - 17172: 2240 movs r2, #64 ; 0x40 - 17174: 619a str r2, [r3, #24] + 171ce: 2203 movs r2, #3 + 171d0: 49a4 ldr r1, [pc, #656] ; (17464 ) + 171d2: 48a5 ldr r0, [pc, #660] ; (17468 ) + 171d4: 4ba5 ldr r3, [pc, #660] ; (1746c ) + 171d6: 4798 blx r3 + 171d8: 4ba5 ldr r3, [pc, #660] ; (17470 ) + 171da: 2240 movs r2, #64 ; 0x40 + 171dc: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17176: 615a str r2, [r3, #20] + 171de: 615a str r2, [r3, #20] if(cmd_mode == false) { - 17178: 4b9f ldr r3, [pc, #636] ; (173f8 ) - 1717a: 781b ldrb r3, [r3, #0] - 1717c: 2b00 cmp r3, #0 - 1717e: d105 bne.n 1718c - 17180: 3a20 subs r2, #32 - 17182: 4ba1 ldr r3, [pc, #644] ; (17408 ) - 17184: 615a str r2, [r3, #20] + 171e0: 4b9f ldr r3, [pc, #636] ; (17460 ) + 171e2: 781b ldrb r3, [r3, #0] + 171e4: 2b00 cmp r3, #0 + 171e6: d105 bne.n 171f4 + 171e8: 3a20 subs r2, #32 + 171ea: 4ba1 ldr r3, [pc, #644] ; (17470 ) + 171ec: 615a str r2, [r3, #20] cmd_mode = true; - 17186: 3a1f subs r2, #31 - 17188: 4b9b ldr r3, [pc, #620] ; (173f8 ) - 1718a: 701a strb r2, [r3, #0] + 171ee: 3a1f subs r2, #31 + 171f0: 4b9b ldr r3, [pc, #620] ; (17460 ) + 171f2: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 1718c: 22bc movs r2, #188 ; 0xbc - 1718e: 499b ldr r1, [pc, #620] ; (173fc ) - 17190: 489b ldr r0, [pc, #620] ; (17400 ) - 17192: 4b9c ldr r3, [pc, #624] ; (17404 ) - 17194: 4798 blx r3 + 171f4: 22bc movs r2, #188 ; 0xbc + 171f6: 499b ldr r1, [pc, #620] ; (17464 ) + 171f8: 489b ldr r0, [pc, #620] ; (17468 ) + 171fa: 4b9c ldr r3, [pc, #624] ; (1746c ) + 171fc: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 17196: 4b9c ldr r3, [pc, #624] ; (17408 ) - 17198: 2240 movs r2, #64 ; 0x40 - 1719a: 619a str r2, [r3, #24] + 171fe: 4b9c ldr r3, [pc, #624] ; (17470 ) + 17200: 2240 movs r2, #64 ; 0x40 + 17202: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1719c: 615a str r2, [r3, #20] + 17204: 615a str r2, [r3, #20] if(cmd_mode != false) { - 1719e: 4b96 ldr r3, [pc, #600] ; (173f8 ) - 171a0: 781b ldrb r3, [r3, #0] - 171a2: 2b00 cmp r3, #0 - 171a4: d005 beq.n 171b2 + 17206: 4b96 ldr r3, [pc, #600] ; (17460 ) + 17208: 781b ldrb r3, [r3, #0] + 1720a: 2b00 cmp r3, #0 + 1720c: d005 beq.n 1721a port_base->OUTSET.reg = pin_mask; - 171a6: 3a20 subs r2, #32 - 171a8: 4b97 ldr r3, [pc, #604] ; (17408 ) - 171aa: 619a str r2, [r3, #24] + 1720e: 3a20 subs r2, #32 + 17210: 4b97 ldr r3, [pc, #604] ; (17470 ) + 17212: 619a str r2, [r3, #24] cmd_mode = false; - 171ac: 2200 movs r2, #0 - 171ae: 4b92 ldr r3, [pc, #584] ; (173f8 ) - 171b0: 701a strb r2, [r3, #0] + 17214: 2200 movs r2, #0 + 17216: 4b92 ldr r3, [pc, #584] ; (17460 ) + 17218: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 171b2: 2240 movs r2, #64 ; 0x40 - 171b4: 4991 ldr r1, [pc, #580] ; (173fc ) - 171b6: 4892 ldr r0, [pc, #584] ; (17400 ) - 171b8: 4b92 ldr r3, [pc, #584] ; (17404 ) - 171ba: 4798 blx r3 - 171bc: 4b92 ldr r3, [pc, #584] ; (17408 ) - 171be: 2240 movs r2, #64 ; 0x40 - 171c0: 619a str r2, [r3, #24] + 1721a: 2240 movs r2, #64 ; 0x40 + 1721c: 4991 ldr r1, [pc, #580] ; (17464 ) + 1721e: 4892 ldr r0, [pc, #584] ; (17468 ) + 17220: 4b92 ldr r3, [pc, #584] ; (1746c ) + 17222: 4798 blx r3 + 17224: 4b92 ldr r3, [pc, #584] ; (17470 ) + 17226: 2240 movs r2, #64 ; 0x40 + 17228: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 171c2: 615a str r2, [r3, #20] + 1722a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 171c4: 4b8c ldr r3, [pc, #560] ; (173f8 ) - 171c6: 781b ldrb r3, [r3, #0] - 171c8: 2b00 cmp r3, #0 - 171ca: d005 beq.n 171d8 + 1722c: 4b8c ldr r3, [pc, #560] ; (17460 ) + 1722e: 781b ldrb r3, [r3, #0] + 17230: 2b00 cmp r3, #0 + 17232: d005 beq.n 17240 port_base->OUTSET.reg = pin_mask; - 171cc: 3a20 subs r2, #32 - 171ce: 4b8e ldr r3, [pc, #568] ; (17408 ) - 171d0: 619a str r2, [r3, #24] + 17234: 3a20 subs r2, #32 + 17236: 4b8e ldr r3, [pc, #568] ; (17470 ) + 17238: 619a str r2, [r3, #24] cmd_mode = false; - 171d2: 2200 movs r2, #0 - 171d4: 4b88 ldr r3, [pc, #544] ; (173f8 ) - 171d6: 701a strb r2, [r3, #0] + 1723a: 2200 movs r2, #0 + 1723c: 4b88 ldr r3, [pc, #544] ; (17460 ) + 1723e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 171d8: 2280 movs r2, #128 ; 0x80 - 171da: 4988 ldr r1, [pc, #544] ; (173fc ) - 171dc: 4888 ldr r0, [pc, #544] ; (17400 ) - 171de: 4b89 ldr r3, [pc, #548] ; (17404 ) - 171e0: 4798 blx r3 - 171e2: 4b89 ldr r3, [pc, #548] ; (17408 ) - 171e4: 2240 movs r2, #64 ; 0x40 - 171e6: 619a str r2, [r3, #24] + 17240: 2280 movs r2, #128 ; 0x80 + 17242: 4988 ldr r1, [pc, #544] ; (17464 ) + 17244: 4888 ldr r0, [pc, #544] ; (17468 ) + 17246: 4b89 ldr r3, [pc, #548] ; (1746c ) + 17248: 4798 blx r3 + 1724a: 4b89 ldr r3, [pc, #548] ; (17470 ) + 1724c: 2240 movs r2, #64 ; 0x40 + 1724e: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 171e8: 615a str r2, [r3, #20] + 17250: 615a str r2, [r3, #20] if(cmd_mode != false) { - 171ea: 4b83 ldr r3, [pc, #524] ; (173f8 ) - 171ec: 781b ldrb r3, [r3, #0] - 171ee: 2b00 cmp r3, #0 - 171f0: d005 beq.n 171fe + 17252: 4b83 ldr r3, [pc, #524] ; (17460 ) + 17254: 781b ldrb r3, [r3, #0] + 17256: 2b00 cmp r3, #0 + 17258: d005 beq.n 17266 port_base->OUTSET.reg = pin_mask; - 171f2: 3a20 subs r2, #32 - 171f4: 4b84 ldr r3, [pc, #528] ; (17408 ) - 171f6: 619a str r2, [r3, #24] + 1725a: 3a20 subs r2, #32 + 1725c: 4b84 ldr r3, [pc, #528] ; (17470 ) + 1725e: 619a str r2, [r3, #24] cmd_mode = false; - 171f8: 2200 movs r2, #0 - 171fa: 4b7f ldr r3, [pc, #508] ; (173f8 ) - 171fc: 701a strb r2, [r3, #0] + 17260: 2200 movs r2, #0 + 17262: 4b7f ldr r3, [pc, #508] ; (17460 ) + 17264: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 171fe: 2240 movs r2, #64 ; 0x40 - 17200: 497e ldr r1, [pc, #504] ; (173fc ) - 17202: 487f ldr r0, [pc, #508] ; (17400 ) - 17204: 4b7f ldr r3, [pc, #508] ; (17404 ) - 17206: 4798 blx r3 - 17208: 4b7f ldr r3, [pc, #508] ; (17408 ) - 1720a: 2240 movs r2, #64 ; 0x40 - 1720c: 619a str r2, [r3, #24] + 17266: 2240 movs r2, #64 ; 0x40 + 17268: 497e ldr r1, [pc, #504] ; (17464 ) + 1726a: 487f ldr r0, [pc, #508] ; (17468 ) + 1726c: 4b7f ldr r3, [pc, #508] ; (1746c ) + 1726e: 4798 blx r3 + 17270: 4b7f ldr r3, [pc, #508] ; (17470 ) + 17272: 2240 movs r2, #64 ; 0x40 + 17274: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1720e: 615a str r2, [r3, #20] + 17276: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17210: 4b79 ldr r3, [pc, #484] ; (173f8 ) - 17212: 781b ldrb r3, [r3, #0] - 17214: 2b00 cmp r3, #0 - 17216: d005 beq.n 17224 + 17278: 4b79 ldr r3, [pc, #484] ; (17460 ) + 1727a: 781b ldrb r3, [r3, #0] + 1727c: 2b00 cmp r3, #0 + 1727e: d005 beq.n 1728c port_base->OUTSET.reg = pin_mask; - 17218: 3a20 subs r2, #32 - 1721a: 4b7b ldr r3, [pc, #492] ; (17408 ) - 1721c: 619a str r2, [r3, #24] + 17280: 3a20 subs r2, #32 + 17282: 4b7b ldr r3, [pc, #492] ; (17470 ) + 17284: 619a str r2, [r3, #24] cmd_mode = false; - 1721e: 2200 movs r2, #0 - 17220: 4b75 ldr r3, [pc, #468] ; (173f8 ) - 17222: 701a strb r2, [r3, #0] + 17286: 2200 movs r2, #0 + 17288: 4b75 ldr r3, [pc, #468] ; (17460 ) + 1728a: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17224: 2201 movs r2, #1 - 17226: 4975 ldr r1, [pc, #468] ; (173fc ) - 17228: 4875 ldr r0, [pc, #468] ; (17400 ) - 1722a: 4b76 ldr r3, [pc, #472] ; (17404 ) - 1722c: 4798 blx r3 - 1722e: 4c76 ldr r4, [pc, #472] ; (17408 ) - 17230: 2540 movs r5, #64 ; 0x40 - 17232: 61a5 str r5, [r4, #24] + 1728c: 2201 movs r2, #1 + 1728e: 4975 ldr r1, [pc, #468] ; (17464 ) + 17290: 4875 ldr r0, [pc, #468] ; (17468 ) + 17292: 4b76 ldr r3, [pc, #472] ; (1746c ) + 17294: 4798 blx r3 + 17296: 4c76 ldr r4, [pc, #472] ; (17470 ) + 17298: 2540 movs r5, #64 ; 0x40 + 1729a: 61a5 str r5, [r4, #24] LV_DRV_DELAY_MS(1); - 17234: 2000 movs r0, #0 - 17236: 4b75 ldr r3, [pc, #468] ; (1740c ) - 17238: 4798 blx r3 - 1723a: 0002 movs r2, r0 - 1723c: 2300 movs r3, #0 - 1723e: 4874 ldr r0, [pc, #464] ; (17410 ) - 17240: 2100 movs r1, #0 - 17242: 1880 adds r0, r0, r2 - 17244: 4159 adcs r1, r3 - 17246: 4a73 ldr r2, [pc, #460] ; (17414 ) - 17248: 2300 movs r3, #0 - 1724a: 4e73 ldr r6, [pc, #460] ; (17418 ) - 1724c: 47b0 blx r6 - 1724e: 4b73 ldr r3, [pc, #460] ; (1741c ) - 17250: 4798 blx r3 + 1729c: 2000 movs r0, #0 + 1729e: 4b75 ldr r3, [pc, #468] ; (17474 ) + 172a0: 4798 blx r3 + 172a2: 0002 movs r2, r0 + 172a4: 2300 movs r3, #0 + 172a6: 4874 ldr r0, [pc, #464] ; (17478 ) + 172a8: 2100 movs r1, #0 + 172aa: 1880 adds r0, r0, r2 + 172ac: 4159 adcs r1, r3 + 172ae: 4a73 ldr r2, [pc, #460] ; (1747c ) + 172b0: 2300 movs r3, #0 + 172b2: 4e73 ldr r6, [pc, #460] ; (17480 ) + 172b4: 47b0 blx r6 + 172b6: 4b73 ldr r3, [pc, #460] ; (17484 ) + 172b8: 4798 blx r3 port_base->OUTCLR.reg = pin_mask; - 17252: 6165 str r5, [r4, #20] + 172ba: 6165 str r5, [r4, #20] if(cmd_mode == false) { - 17254: 4b68 ldr r3, [pc, #416] ; (173f8 ) - 17256: 781b ldrb r3, [r3, #0] - 17258: 2b00 cmp r3, #0 - 1725a: d104 bne.n 17266 - 1725c: 2220 movs r2, #32 - 1725e: 6162 str r2, [r4, #20] + 172bc: 4b68 ldr r3, [pc, #416] ; (17460 ) + 172be: 781b ldrb r3, [r3, #0] + 172c0: 2b00 cmp r3, #0 + 172c2: d104 bne.n 172ce + 172c4: 2220 movs r2, #32 + 172c6: 6162 str r2, [r4, #20] cmd_mode = true; - 17260: 3a1f subs r2, #31 - 17262: 4b65 ldr r3, [pc, #404] ; (173f8 ) - 17264: 701a strb r2, [r3, #0] + 172c8: 3a1f subs r2, #31 + 172ca: 4b65 ldr r3, [pc, #404] ; (17460 ) + 172cc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 17266: 2229 movs r2, #41 ; 0x29 - 17268: 4964 ldr r1, [pc, #400] ; (173fc ) - 1726a: 4865 ldr r0, [pc, #404] ; (17400 ) - 1726c: 4b65 ldr r3, [pc, #404] ; (17404 ) - 1726e: 4798 blx r3 + 172ce: 2229 movs r2, #41 ; 0x29 + 172d0: 4964 ldr r1, [pc, #400] ; (17464 ) + 172d2: 4865 ldr r0, [pc, #404] ; (17468 ) + 172d4: 4b65 ldr r3, [pc, #404] ; (1746c ) + 172d6: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 17270: 4b65 ldr r3, [pc, #404] ; (17408 ) - 17272: 2240 movs r2, #64 ; 0x40 - 17274: 619a str r2, [r3, #24] + 172d8: 4b65 ldr r3, [pc, #404] ; (17470 ) + 172da: 2240 movs r2, #64 ; 0x40 + 172dc: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17276: 615a str r2, [r3, #20] + 172de: 615a str r2, [r3, #20] if(cmd_mode == false) { - 17278: 4b5f ldr r3, [pc, #380] ; (173f8 ) - 1727a: 781b ldrb r3, [r3, #0] - 1727c: 2b00 cmp r3, #0 - 1727e: d105 bne.n 1728c - 17280: 3a20 subs r2, #32 - 17282: 4b61 ldr r3, [pc, #388] ; (17408 ) - 17284: 615a str r2, [r3, #20] + 172e0: 4b5f ldr r3, [pc, #380] ; (17460 ) + 172e2: 781b ldrb r3, [r3, #0] + 172e4: 2b00 cmp r3, #0 + 172e6: d105 bne.n 172f4 + 172e8: 3a20 subs r2, #32 + 172ea: 4b61 ldr r3, [pc, #388] ; (17470 ) + 172ec: 615a str r2, [r3, #20] cmd_mode = true; - 17286: 3a1f subs r2, #31 - 17288: 4b5b ldr r3, [pc, #364] ; (173f8 ) - 1728a: 701a strb r2, [r3, #0] + 172ee: 3a1f subs r2, #31 + 172f0: 4b5b ldr r3, [pc, #364] ; (17460 ) + 172f2: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 1728c: 22be movs r2, #190 ; 0xbe - 1728e: 495b ldr r1, [pc, #364] ; (173fc ) - 17290: 485b ldr r0, [pc, #364] ; (17400 ) - 17292: 4b5c ldr r3, [pc, #368] ; (17404 ) - 17294: 4798 blx r3 + 172f4: 22be movs r2, #190 ; 0xbe + 172f6: 495b ldr r1, [pc, #364] ; (17464 ) + 172f8: 485b ldr r0, [pc, #364] ; (17468 ) + 172fa: 4b5c ldr r3, [pc, #368] ; (1746c ) + 172fc: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 17296: 4b5c ldr r3, [pc, #368] ; (17408 ) - 17298: 2240 movs r2, #64 ; 0x40 - 1729a: 619a str r2, [r3, #24] + 172fe: 4b5c ldr r3, [pc, #368] ; (17470 ) + 17300: 2240 movs r2, #64 ; 0x40 + 17302: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1729c: 615a str r2, [r3, #20] + 17304: 615a str r2, [r3, #20] if(cmd_mode != false) { - 1729e: 4b56 ldr r3, [pc, #344] ; (173f8 ) - 172a0: 781b ldrb r3, [r3, #0] - 172a2: 2b00 cmp r3, #0 - 172a4: d005 beq.n 172b2 + 17306: 4b56 ldr r3, [pc, #344] ; (17460 ) + 17308: 781b ldrb r3, [r3, #0] + 1730a: 2b00 cmp r3, #0 + 1730c: d005 beq.n 1731a port_base->OUTSET.reg = pin_mask; - 172a6: 3a20 subs r2, #32 - 172a8: 4b57 ldr r3, [pc, #348] ; (17408 ) - 172aa: 619a str r2, [r3, #24] + 1730e: 3a20 subs r2, #32 + 17310: 4b57 ldr r3, [pc, #348] ; (17470 ) + 17312: 619a str r2, [r3, #24] cmd_mode = false; - 172ac: 2200 movs r2, #0 - 172ae: 4b52 ldr r3, [pc, #328] ; (173f8 ) - 172b0: 701a strb r2, [r3, #0] + 17314: 2200 movs r2, #0 + 17316: 4b52 ldr r3, [pc, #328] ; (17460 ) + 17318: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 172b2: 2206 movs r2, #6 - 172b4: 4951 ldr r1, [pc, #324] ; (173fc ) - 172b6: 4852 ldr r0, [pc, #328] ; (17400 ) - 172b8: 4b52 ldr r3, [pc, #328] ; (17404 ) - 172ba: 4798 blx r3 - 172bc: 4b52 ldr r3, [pc, #328] ; (17408 ) - 172be: 2240 movs r2, #64 ; 0x40 - 172c0: 619a str r2, [r3, #24] + 1731a: 2206 movs r2, #6 + 1731c: 4951 ldr r1, [pc, #324] ; (17464 ) + 1731e: 4852 ldr r0, [pc, #328] ; (17468 ) + 17320: 4b52 ldr r3, [pc, #328] ; (1746c ) + 17322: 4798 blx r3 + 17324: 4b52 ldr r3, [pc, #328] ; (17470 ) + 17326: 2240 movs r2, #64 ; 0x40 + 17328: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 172c2: 615a str r2, [r3, #20] + 1732a: 615a str r2, [r3, #20] if(cmd_mode != false) { - 172c4: 4b4c ldr r3, [pc, #304] ; (173f8 ) - 172c6: 781b ldrb r3, [r3, #0] - 172c8: 2b00 cmp r3, #0 - 172ca: d005 beq.n 172d8 + 1732c: 4b4c ldr r3, [pc, #304] ; (17460 ) + 1732e: 781b ldrb r3, [r3, #0] + 17330: 2b00 cmp r3, #0 + 17332: d005 beq.n 17340 port_base->OUTSET.reg = pin_mask; - 172cc: 3a20 subs r2, #32 - 172ce: 4b4e ldr r3, [pc, #312] ; (17408 ) - 172d0: 619a str r2, [r3, #24] + 17334: 3a20 subs r2, #32 + 17336: 4b4e ldr r3, [pc, #312] ; (17470 ) + 17338: 619a str r2, [r3, #24] cmd_mode = false; - 172d2: 2200 movs r2, #0 - 172d4: 4b48 ldr r3, [pc, #288] ; (173f8 ) - 172d6: 701a strb r2, [r3, #0] + 1733a: 2200 movs r2, #0 + 1733c: 4b48 ldr r3, [pc, #288] ; (17460 ) + 1733e: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 172d8: 2280 movs r2, #128 ; 0x80 - 172da: 4948 ldr r1, [pc, #288] ; (173fc ) - 172dc: 4848 ldr r0, [pc, #288] ; (17400 ) - 172de: 4b49 ldr r3, [pc, #292] ; (17404 ) - 172e0: 4798 blx r3 - 172e2: 4b49 ldr r3, [pc, #292] ; (17408 ) - 172e4: 2240 movs r2, #64 ; 0x40 - 172e6: 619a str r2, [r3, #24] + 17340: 2280 movs r2, #128 ; 0x80 + 17342: 4948 ldr r1, [pc, #288] ; (17464 ) + 17344: 4848 ldr r0, [pc, #288] ; (17468 ) + 17346: 4b49 ldr r3, [pc, #292] ; (1746c ) + 17348: 4798 blx r3 + 1734a: 4b49 ldr r3, [pc, #292] ; (17470 ) + 1734c: 2240 movs r2, #64 ; 0x40 + 1734e: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 172e8: 615a str r2, [r3, #20] + 17350: 615a str r2, [r3, #20] if(cmd_mode != false) { - 172ea: 4b43 ldr r3, [pc, #268] ; (173f8 ) - 172ec: 781b ldrb r3, [r3, #0] - 172ee: 2b00 cmp r3, #0 - 172f0: d005 beq.n 172fe + 17352: 4b43 ldr r3, [pc, #268] ; (17460 ) + 17354: 781b ldrb r3, [r3, #0] + 17356: 2b00 cmp r3, #0 + 17358: d005 beq.n 17366 port_base->OUTSET.reg = pin_mask; - 172f2: 3a20 subs r2, #32 - 172f4: 4b44 ldr r3, [pc, #272] ; (17408 ) - 172f6: 619a str r2, [r3, #24] + 1735a: 3a20 subs r2, #32 + 1735c: 4b44 ldr r3, [pc, #272] ; (17470 ) + 1735e: 619a str r2, [r3, #24] cmd_mode = false; - 172f8: 2200 movs r2, #0 - 172fa: 4b3f ldr r3, [pc, #252] ; (173f8 ) - 172fc: 701a strb r2, [r3, #0] + 17360: 2200 movs r2, #0 + 17362: 4b3f ldr r3, [pc, #252] ; (17460 ) + 17364: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 172fe: 2201 movs r2, #1 - 17300: 493e ldr r1, [pc, #248] ; (173fc ) - 17302: 483f ldr r0, [pc, #252] ; (17400 ) - 17304: 4b3f ldr r3, [pc, #252] ; (17404 ) - 17306: 4798 blx r3 - 17308: 4b3f ldr r3, [pc, #252] ; (17408 ) - 1730a: 2240 movs r2, #64 ; 0x40 - 1730c: 619a str r2, [r3, #24] + 17366: 2201 movs r2, #1 + 17368: 493e ldr r1, [pc, #248] ; (17464 ) + 1736a: 483f ldr r0, [pc, #252] ; (17468 ) + 1736c: 4b3f ldr r3, [pc, #252] ; (1746c ) + 1736e: 4798 blx r3 + 17370: 4b3f ldr r3, [pc, #252] ; (17470 ) + 17372: 2240 movs r2, #64 ; 0x40 + 17374: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1730e: 615a str r2, [r3, #20] + 17376: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17310: 4b39 ldr r3, [pc, #228] ; (173f8 ) - 17312: 781b ldrb r3, [r3, #0] - 17314: 2b00 cmp r3, #0 - 17316: d005 beq.n 17324 + 17378: 4b39 ldr r3, [pc, #228] ; (17460 ) + 1737a: 781b ldrb r3, [r3, #0] + 1737c: 2b00 cmp r3, #0 + 1737e: d005 beq.n 1738c port_base->OUTSET.reg = pin_mask; - 17318: 3a20 subs r2, #32 - 1731a: 4b3b ldr r3, [pc, #236] ; (17408 ) - 1731c: 619a str r2, [r3, #24] + 17380: 3a20 subs r2, #32 + 17382: 4b3b ldr r3, [pc, #236] ; (17470 ) + 17384: 619a str r2, [r3, #24] cmd_mode = false; - 1731e: 2200 movs r2, #0 - 17320: 4b35 ldr r3, [pc, #212] ; (173f8 ) - 17322: 701a strb r2, [r3, #0] + 17386: 2200 movs r2, #0 + 17388: 4b35 ldr r3, [pc, #212] ; (17460 ) + 1738a: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17324: 22f0 movs r2, #240 ; 0xf0 - 17326: 4935 ldr r1, [pc, #212] ; (173fc ) - 17328: 4835 ldr r0, [pc, #212] ; (17400 ) - 1732a: 4b36 ldr r3, [pc, #216] ; (17404 ) - 1732c: 4798 blx r3 - 1732e: 4b36 ldr r3, [pc, #216] ; (17408 ) - 17330: 2240 movs r2, #64 ; 0x40 - 17332: 619a str r2, [r3, #24] + 1738c: 22f0 movs r2, #240 ; 0xf0 + 1738e: 4935 ldr r1, [pc, #212] ; (17464 ) + 17390: 4835 ldr r0, [pc, #212] ; (17468 ) + 17392: 4b36 ldr r3, [pc, #216] ; (1746c ) + 17394: 4798 blx r3 + 17396: 4b36 ldr r3, [pc, #216] ; (17470 ) + 17398: 2240 movs r2, #64 ; 0x40 + 1739a: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17334: 615a str r2, [r3, #20] + 1739c: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17336: 4b30 ldr r3, [pc, #192] ; (173f8 ) - 17338: 781b ldrb r3, [r3, #0] - 1733a: 2b00 cmp r3, #0 - 1733c: d005 beq.n 1734a + 1739e: 4b30 ldr r3, [pc, #192] ; (17460 ) + 173a0: 781b ldrb r3, [r3, #0] + 173a2: 2b00 cmp r3, #0 + 173a4: d005 beq.n 173b2 port_base->OUTSET.reg = pin_mask; - 1733e: 3a20 subs r2, #32 - 17340: 4b31 ldr r3, [pc, #196] ; (17408 ) - 17342: 619a str r2, [r3, #24] + 173a6: 3a20 subs r2, #32 + 173a8: 4b31 ldr r3, [pc, #196] ; (17470 ) + 173aa: 619a str r2, [r3, #24] cmd_mode = false; - 17344: 2200 movs r2, #0 - 17346: 4b2c ldr r3, [pc, #176] ; (173f8 ) - 17348: 701a strb r2, [r3, #0] + 173ac: 2200 movs r2, #0 + 173ae: 4b2c ldr r3, [pc, #176] ; (17460 ) + 173b0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 1734a: 2200 movs r2, #0 - 1734c: 492b ldr r1, [pc, #172] ; (173fc ) - 1734e: 482c ldr r0, [pc, #176] ; (17400 ) - 17350: 4b2c ldr r3, [pc, #176] ; (17404 ) - 17352: 4798 blx r3 - 17354: 4b2c ldr r3, [pc, #176] ; (17408 ) - 17356: 2240 movs r2, #64 ; 0x40 - 17358: 619a str r2, [r3, #24] + 173b2: 2200 movs r2, #0 + 173b4: 492b ldr r1, [pc, #172] ; (17464 ) + 173b6: 482c ldr r0, [pc, #176] ; (17468 ) + 173b8: 4b2c ldr r3, [pc, #176] ; (1746c ) + 173ba: 4798 blx r3 + 173bc: 4b2c ldr r3, [pc, #176] ; (17470 ) + 173be: 2240 movs r2, #64 ; 0x40 + 173c0: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1735a: 615a str r2, [r3, #20] + 173c2: 615a str r2, [r3, #20] if(cmd_mode != false) { - 1735c: 4b26 ldr r3, [pc, #152] ; (173f8 ) - 1735e: 781b ldrb r3, [r3, #0] - 17360: 2b00 cmp r3, #0 - 17362: d005 beq.n 17370 + 173c4: 4b26 ldr r3, [pc, #152] ; (17460 ) + 173c6: 781b ldrb r3, [r3, #0] + 173c8: 2b00 cmp r3, #0 + 173ca: d005 beq.n 173d8 port_base->OUTSET.reg = pin_mask; - 17364: 3a20 subs r2, #32 - 17366: 4b28 ldr r3, [pc, #160] ; (17408 ) - 17368: 619a str r2, [r3, #24] + 173cc: 3a20 subs r2, #32 + 173ce: 4b28 ldr r3, [pc, #160] ; (17470 ) + 173d0: 619a str r2, [r3, #24] cmd_mode = false; - 1736a: 2200 movs r2, #0 - 1736c: 4b22 ldr r3, [pc, #136] ; (173f8 ) - 1736e: 701a strb r2, [r3, #0] + 173d2: 2200 movs r2, #0 + 173d4: 4b22 ldr r3, [pc, #136] ; (17460 ) + 173d6: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17370: 2200 movs r2, #0 - 17372: 4922 ldr r1, [pc, #136] ; (173fc ) - 17374: 4822 ldr r0, [pc, #136] ; (17400 ) - 17376: 4b23 ldr r3, [pc, #140] ; (17404 ) - 17378: 4798 blx r3 - 1737a: 4b23 ldr r3, [pc, #140] ; (17408 ) - 1737c: 2240 movs r2, #64 ; 0x40 - 1737e: 619a str r2, [r3, #24] + 173d8: 2200 movs r2, #0 + 173da: 4922 ldr r1, [pc, #136] ; (17464 ) + 173dc: 4822 ldr r0, [pc, #136] ; (17468 ) + 173de: 4b23 ldr r3, [pc, #140] ; (1746c ) + 173e0: 4798 blx r3 + 173e2: 4b23 ldr r3, [pc, #140] ; (17470 ) + 173e4: 2240 movs r2, #64 ; 0x40 + 173e6: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17380: 615a str r2, [r3, #20] + 173e8: 615a str r2, [r3, #20] if(cmd_mode == false) { - 17382: 4b1d ldr r3, [pc, #116] ; (173f8 ) - 17384: 781b ldrb r3, [r3, #0] - 17386: 2b00 cmp r3, #0 - 17388: d105 bne.n 17396 - 1738a: 3a20 subs r2, #32 - 1738c: 4b1e ldr r3, [pc, #120] ; (17408 ) - 1738e: 615a str r2, [r3, #20] + 173ea: 4b1d ldr r3, [pc, #116] ; (17460 ) + 173ec: 781b ldrb r3, [r3, #0] + 173ee: 2b00 cmp r3, #0 + 173f0: d105 bne.n 173fe + 173f2: 3a20 subs r2, #32 + 173f4: 4b1e ldr r3, [pc, #120] ; (17470 ) + 173f6: 615a str r2, [r3, #20] cmd_mode = true; - 17390: 3a1f subs r2, #31 - 17392: 4b19 ldr r3, [pc, #100] ; (173f8 ) - 17394: 701a strb r2, [r3, #0] + 173f8: 3a1f subs r2, #31 + 173fa: 4b19 ldr r3, [pc, #100] ; (17460 ) + 173fc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 17396: 22d0 movs r2, #208 ; 0xd0 - 17398: 4918 ldr r1, [pc, #96] ; (173fc ) - 1739a: 4819 ldr r0, [pc, #100] ; (17400 ) - 1739c: 4b19 ldr r3, [pc, #100] ; (17404 ) - 1739e: 4798 blx r3 + 173fe: 22d0 movs r2, #208 ; 0xd0 + 17400: 4918 ldr r1, [pc, #96] ; (17464 ) + 17402: 4819 ldr r0, [pc, #100] ; (17468 ) + 17404: 4b19 ldr r3, [pc, #100] ; (1746c ) + 17406: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 173a0: 4b19 ldr r3, [pc, #100] ; (17408 ) - 173a2: 2240 movs r2, #64 ; 0x40 - 173a4: 619a str r2, [r3, #24] + 17408: 4b19 ldr r3, [pc, #100] ; (17470 ) + 1740a: 2240 movs r2, #64 ; 0x40 + 1740c: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 173a6: 615a str r2, [r3, #20] + 1740e: 615a str r2, [r3, #20] if(cmd_mode != false) { - 173a8: 4b13 ldr r3, [pc, #76] ; (173f8 ) - 173aa: 781b ldrb r3, [r3, #0] - 173ac: 2b00 cmp r3, #0 - 173ae: d005 beq.n 173bc + 17410: 4b13 ldr r3, [pc, #76] ; (17460 ) + 17412: 781b ldrb r3, [r3, #0] + 17414: 2b00 cmp r3, #0 + 17416: d005 beq.n 17424 port_base->OUTSET.reg = pin_mask; - 173b0: 3a20 subs r2, #32 - 173b2: 4b15 ldr r3, [pc, #84] ; (17408 ) - 173b4: 619a str r2, [r3, #24] + 17418: 3a20 subs r2, #32 + 1741a: 4b15 ldr r3, [pc, #84] ; (17470 ) + 1741c: 619a str r2, [r3, #24] cmd_mode = false; - 173b6: 2200 movs r2, #0 - 173b8: 4b0f ldr r3, [pc, #60] ; (173f8 ) - 173ba: 701a strb r2, [r3, #0] + 1741e: 2200 movs r2, #0 + 17420: 4b0f ldr r3, [pc, #60] ; (17460 ) + 17422: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 173bc: 220d movs r2, #13 - 173be: 490f ldr r1, [pc, #60] ; (173fc ) - 173c0: 480f ldr r0, [pc, #60] ; (17400 ) - 173c2: 4b10 ldr r3, [pc, #64] ; (17404 ) - 173c4: 4798 blx r3 - 173c6: 2240 movs r2, #64 ; 0x40 - 173c8: 4b0f ldr r3, [pc, #60] ; (17408 ) - 173ca: 619a str r2, [r3, #24] + 17424: 220d movs r2, #13 + 17426: 490f ldr r1, [pc, #60] ; (17464 ) + 17428: 480f ldr r0, [pc, #60] ; (17468 ) + 1742a: 4b10 ldr r3, [pc, #64] ; (1746c ) + 1742c: 4798 blx r3 + 1742e: 2240 movs r2, #64 ; 0x40 + 17430: 4b0f ldr r3, [pc, #60] ; (17470 ) + 17432: 619a str r2, [r3, #24] LV_DRV_DELAY_MS(30); - 173cc: 2000 movs r0, #0 - 173ce: 4b0f ldr r3, [pc, #60] ; (1740c ) - 173d0: 4798 blx r3 - 173d2: 0002 movs r2, r0 - 173d4: 2300 movs r3, #0 - 173d6: 0f11 lsrs r1, r2, #28 - 173d8: 0110 lsls r0, r2, #4 - 173da: 1a80 subs r0, r0, r2 - 173dc: 4199 sbcs r1, r3 - 173de: 1800 adds r0, r0, r0 - 173e0: 4149 adcs r1, r1 - 173e2: 4a0b ldr r2, [pc, #44] ; (17410 ) - 173e4: 2300 movs r3, #0 - 173e6: 1880 adds r0, r0, r2 - 173e8: 4159 adcs r1, r3 - 173ea: 4a0a ldr r2, [pc, #40] ; (17414 ) - 173ec: 2300 movs r3, #0 - 173ee: 4c0a ldr r4, [pc, #40] ; (17418 ) - 173f0: 47a0 blx r4 - 173f2: 4b0a ldr r3, [pc, #40] ; (1741c ) - 173f4: 4798 blx r3 -} - 173f6: bd70 pop {r4, r5, r6, pc} - 173f8: 2000005c .word 0x2000005c - 173fc: 1c03c3f7 .word 0x1c03c3f7 - 17400: 41004480 .word 0x41004480 - 17404: 000177ad .word 0x000177ad - 17408: 41004400 .word 0x41004400 - 1740c: 00001065 .word 0x00001065 - 17410: 00001b57 .word 0x00001b57 - 17414: 00001b58 .word 0x00001b58 - 17418: 00017c4d .word 0x00017c4d - 1741c: 20000001 .word 0x20000001 - -00017420 : -{ - 17420: b5f0 push {r4, r5, r6, r7, lr} - 17422: 46de mov lr, fp - 17424: 4657 mov r7, sl - 17426: 464e mov r6, r9 - 17428: 4645 mov r5, r8 - 1742a: b5e0 push {r5, r6, r7, lr} - 1742c: b083 sub sp, #12 - 1742e: 9000 str r0, [sp, #0] - 17430: 000f movs r7, r1 - 17432: 0016 movs r6, r2 + 17434: 2000 movs r0, #0 + 17436: 4b0f ldr r3, [pc, #60] ; (17474 ) + 17438: 4798 blx r3 + 1743a: 0002 movs r2, r0 + 1743c: 2300 movs r3, #0 + 1743e: 0f11 lsrs r1, r2, #28 + 17440: 0110 lsls r0, r2, #4 + 17442: 1a80 subs r0, r0, r2 + 17444: 4199 sbcs r1, r3 + 17446: 1800 adds r0, r0, r0 + 17448: 4149 adcs r1, r1 + 1744a: 4a0b ldr r2, [pc, #44] ; (17478 ) + 1744c: 2300 movs r3, #0 + 1744e: 1880 adds r0, r0, r2 + 17450: 4159 adcs r1, r3 + 17452: 4a0a ldr r2, [pc, #40] ; (1747c ) + 17454: 2300 movs r3, #0 + 17456: 4c0a ldr r4, [pc, #40] ; (17480 ) + 17458: 47a0 blx r4 + 1745a: 4b0a ldr r3, [pc, #40] ; (17484 ) + 1745c: 4798 blx r3 +} + 1745e: bd70 pop {r4, r5, r6, pc} + 17460: 2000005c .word 0x2000005c + 17464: 1c03c3f7 .word 0x1c03c3f7 + 17468: 41004480 .word 0x41004480 + 1746c: 00017815 .word 0x00017815 + 17470: 41004400 .word 0x41004400 + 17474: 000010cd .word 0x000010cd + 17478: 00001b57 .word 0x00001b57 + 1747c: 00001b58 .word 0x00001b58 + 17480: 00017cdd .word 0x00017cdd + 17484: 20000001 .word 0x20000001 + +00017488 : +{ + 17488: b5f0 push {r4, r5, r6, r7, lr} + 1748a: 46de mov lr, fp + 1748c: 4657 mov r7, sl + 1748e: 464e mov r6, r9 + 17490: 4645 mov r5, r8 + 17492: b5e0 push {r5, r6, r7, lr} + 17494: b083 sub sp, #12 + 17496: 9000 str r0, [sp, #0] + 17498: 000f movs r7, r1 + 1749a: 0016 movs r6, r2 if(area->x2 < 0) return; - 17434: 2204 movs r2, #4 - 17436: 5e8b ldrsh r3, [r1, r2] - 17438: 2b00 cmp r3, #0 - 1743a: db0c blt.n 17456 + 1749c: 2204 movs r2, #4 + 1749e: 5e8b ldrsh r3, [r1, r2] + 174a0: 2b00 cmp r3, #0 + 174a2: db0c blt.n 174be if(area->y2 < 0) return; - 1743c: 2206 movs r2, #6 - 1743e: 5e8b ldrsh r3, [r1, r2] - 17440: 2b00 cmp r3, #0 - 17442: db08 blt.n 17456 + 174a4: 2206 movs r2, #6 + 174a6: 5e8b ldrsh r3, [r1, r2] + 174a8: 2b00 cmp r3, #0 + 174aa: db08 blt.n 174be if(area->x1 > SSD1963_HOR_RES - 1) return; - 17444: 2300 movs r3, #0 - 17446: 5ecc ldrsh r4, [r1, r3] - 17448: 4bb2 ldr r3, [pc, #712] ; (17714 ) - 1744a: 4798 blx r3 - 1744c: 4bb2 ldr r3, [pc, #712] ; (17718 ) - 1744e: 4798 blx r3 - 17450: 3801 subs r0, #1 - 17452: 4284 cmp r4, r0 - 17454: dd06 ble.n 17464 -} - 17456: b003 add sp, #12 - 17458: bc3c pop {r2, r3, r4, r5} - 1745a: 4690 mov r8, r2 - 1745c: 4699 mov r9, r3 - 1745e: 46a2 mov sl, r4 - 17460: 46ab mov fp, r5 - 17462: bdf0 pop {r4, r5, r6, r7, pc} + 174ac: 2300 movs r3, #0 + 174ae: 5ecc ldrsh r4, [r1, r3] + 174b0: 4bb2 ldr r3, [pc, #712] ; (1777c ) + 174b2: 4798 blx r3 + 174b4: 4bb2 ldr r3, [pc, #712] ; (17780 ) + 174b6: 4798 blx r3 + 174b8: 3801 subs r0, #1 + 174ba: 4284 cmp r4, r0 + 174bc: dd06 ble.n 174cc +} + 174be: b003 add sp, #12 + 174c0: bc3c pop {r2, r3, r4, r5} + 174c2: 4690 mov r8, r2 + 174c4: 4699 mov r9, r3 + 174c6: 46a2 mov sl, r4 + 174c8: 46ab mov fp, r5 + 174ca: bdf0 pop {r4, r5, r6, r7, pc} if(area->y1 > SSD1963_VER_RES - 1) return; - 17464: 2302 movs r3, #2 - 17466: 5efc ldrsh r4, [r7, r3] - 17468: 4baa ldr r3, [pc, #680] ; (17714 ) - 1746a: 4798 blx r3 - 1746c: 4bab ldr r3, [pc, #684] ; (1771c ) - 1746e: 4798 blx r3 - 17470: 3801 subs r0, #1 - 17472: 4284 cmp r4, r0 - 17474: dcef bgt.n 17456 + 174cc: 2302 movs r3, #2 + 174ce: 5efc ldrsh r4, [r7, r3] + 174d0: 4baa ldr r3, [pc, #680] ; (1777c ) + 174d2: 4798 blx r3 + 174d4: 4bab ldr r3, [pc, #684] ; (17784 ) + 174d6: 4798 blx r3 + 174d8: 3801 subs r0, #1 + 174da: 4284 cmp r4, r0 + 174dc: dcef bgt.n 174be int32_t act_x1 = area->x1 < 0 ? 0 : area->x1; - 17476: 883b ldrh r3, [r7, #0] - 17478: 1c1d adds r5, r3, #0 - 1747a: b21b sxth r3, r3 - 1747c: 2b00 cmp r3, #0 - 1747e: da00 bge.n 17482 - 17480: e136 b.n 176f0 - 17482: b22b sxth r3, r5 - 17484: 4699 mov r9, r3 + 174de: 883b ldrh r3, [r7, #0] + 174e0: 1c1d adds r5, r3, #0 + 174e2: b21b sxth r3, r3 + 174e4: 2b00 cmp r3, #0 + 174e6: da00 bge.n 174ea + 174e8: e136 b.n 17758 + 174ea: b22b sxth r3, r5 + 174ec: 4699 mov r9, r3 int32_t act_y1 = area->y1 < 0 ? 0 : area->y1; - 17486: 887b ldrh r3, [r7, #2] - 17488: 1c1c adds r4, r3, #0 - 1748a: b21b sxth r3, r3 - 1748c: 2b00 cmp r3, #0 - 1748e: da00 bge.n 17492 - 17490: e130 b.n 176f4 - 17492: b224 sxth r4, r4 - 17494: 46a3 mov fp, r4 + 174ee: 887b ldrh r3, [r7, #2] + 174f0: 1c1c adds r4, r3, #0 + 174f2: b21b sxth r3, r3 + 174f4: 2b00 cmp r3, #0 + 174f6: da00 bge.n 174fa + 174f8: e130 b.n 1775c + 174fa: b224 sxth r4, r4 + 174fc: 46a3 mov fp, r4 int32_t act_x2 = area->x2 > SSD1963_HOR_RES - 1 ? SSD1963_HOR_RES - 1 : area->x2; - 17496: 2304 movs r3, #4 - 17498: 5efd ldrsh r5, [r7, r3] - 1749a: 4b9e ldr r3, [pc, #632] ; (17714 ) - 1749c: 4798 blx r3 - 1749e: 4b9e ldr r3, [pc, #632] ; (17718 ) - 174a0: 4798 blx r3 - 174a2: 3801 subs r0, #1 - 174a4: 4285 cmp r5, r0 - 174a6: dd00 ble.n 174aa - 174a8: e126 b.n 176f8 - 174aa: 2304 movs r3, #4 - 174ac: 5efd ldrsh r5, [r7, r3] + 174fe: 2304 movs r3, #4 + 17500: 5efd ldrsh r5, [r7, r3] + 17502: 4b9e ldr r3, [pc, #632] ; (1777c ) + 17504: 4798 blx r3 + 17506: 4b9e ldr r3, [pc, #632] ; (17780 ) + 17508: 4798 blx r3 + 1750a: 3801 subs r0, #1 + 1750c: 4285 cmp r5, r0 + 1750e: dd00 ble.n 17512 + 17510: e126 b.n 17760 + 17512: 2304 movs r3, #4 + 17514: 5efd ldrsh r5, [r7, r3] int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2; - 174ae: 2206 movs r2, #6 - 174b0: 5ebb ldrsh r3, [r7, r2] - 174b2: 469a mov sl, r3 - 174b4: 4b97 ldr r3, [pc, #604] ; (17714 ) - 174b6: 4798 blx r3 - 174b8: 4b98 ldr r3, [pc, #608] ; (1771c ) - 174ba: 4798 blx r3 - 174bc: 3801 subs r0, #1 - 174be: 4582 cmp sl, r0 - 174c0: dd00 ble.n 174c4 - 174c2: e11f b.n 17704 - 174c4: 2206 movs r2, #6 - 174c6: 5ebb ldrsh r3, [r7, r2] - 174c8: 469a mov sl, r3 + 17516: 2206 movs r2, #6 + 17518: 5ebb ldrsh r3, [r7, r2] + 1751a: 469a mov sl, r3 + 1751c: 4b97 ldr r3, [pc, #604] ; (1777c ) + 1751e: 4798 blx r3 + 17520: 4b98 ldr r3, [pc, #608] ; (17784 ) + 17522: 4798 blx r3 + 17524: 3801 subs r0, #1 + 17526: 4582 cmp sl, r0 + 17528: dd00 ble.n 1752c + 1752a: e11f b.n 1776c + 1752c: 2206 movs r2, #6 + 1752e: 5ebb ldrsh r3, [r7, r2] + 17530: 469a mov sl, r3 port_base->OUTCLR.reg = pin_mask; - 174ca: 2240 movs r2, #64 ; 0x40 - 174cc: 4b94 ldr r3, [pc, #592] ; (17720 ) - 174ce: 615a str r2, [r3, #20] + 17532: 2240 movs r2, #64 ; 0x40 + 17534: 4b94 ldr r3, [pc, #592] ; (17788 ) + 17536: 615a str r2, [r3, #20] if(cmd_mode == false) { - 174d0: 4b94 ldr r3, [pc, #592] ; (17724 ) - 174d2: 781b ldrb r3, [r3, #0] - 174d4: 2b00 cmp r3, #0 - 174d6: d105 bne.n 174e4 - 174d8: 3a20 subs r2, #32 - 174da: 4b91 ldr r3, [pc, #580] ; (17720 ) - 174dc: 615a str r2, [r3, #20] + 17538: 4b94 ldr r3, [pc, #592] ; (1778c ) + 1753a: 781b ldrb r3, [r3, #0] + 1753c: 2b00 cmp r3, #0 + 1753e: d105 bne.n 1754c + 17540: 3a20 subs r2, #32 + 17542: 4b91 ldr r3, [pc, #580] ; (17788 ) + 17544: 615a str r2, [r3, #20] cmd_mode = true; - 174de: 3a1f subs r2, #31 - 174e0: 4b90 ldr r3, [pc, #576] ; (17724 ) - 174e2: 701a strb r2, [r3, #0] + 17546: 3a1f subs r2, #31 + 17548: 4b90 ldr r3, [pc, #576] ; (1778c ) + 1754a: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 174e4: 222a movs r2, #42 ; 0x2a - 174e6: 4990 ldr r1, [pc, #576] ; (17728 ) - 174e8: 4890 ldr r0, [pc, #576] ; (1772c ) - 174ea: 4b91 ldr r3, [pc, #580] ; (17730 ) - 174ec: 4798 blx r3 + 1754c: 222a movs r2, #42 ; 0x2a + 1754e: 4990 ldr r1, [pc, #576] ; (17790 ) + 17550: 4890 ldr r0, [pc, #576] ; (17794 ) + 17552: 4b91 ldr r3, [pc, #580] ; (17798 ) + 17554: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 174ee: 4b8c ldr r3, [pc, #560] ; (17720 ) - 174f0: 2140 movs r1, #64 ; 0x40 - 174f2: 6199 str r1, [r3, #24] + 17556: 4b8c ldr r3, [pc, #560] ; (17788 ) + 17558: 2140 movs r1, #64 ; 0x40 + 1755a: 6199 str r1, [r3, #24] ssd1963_data(act_x1 >> 8); - 174f4: 464a mov r2, r9 - 174f6: 1210 asrs r0, r2, #8 + 1755c: 464a mov r2, r9 + 1755e: 1210 asrs r0, r2, #8 port_base->OUTCLR.reg = pin_mask; - 174f8: 6159 str r1, [r3, #20] + 17560: 6159 str r1, [r3, #20] if(cmd_mode != false) { - 174fa: 4b8a ldr r3, [pc, #552] ; (17724 ) - 174fc: 781b ldrb r3, [r3, #0] - 174fe: 2b00 cmp r3, #0 - 17500: d005 beq.n 1750e + 17562: 4b8a ldr r3, [pc, #552] ; (1778c ) + 17564: 781b ldrb r3, [r3, #0] + 17566: 2b00 cmp r3, #0 + 17568: d005 beq.n 17576 port_base->OUTSET.reg = pin_mask; - 17502: 2220 movs r2, #32 - 17504: 4b86 ldr r3, [pc, #536] ; (17720 ) - 17506: 619a str r2, [r3, #24] + 1756a: 2220 movs r2, #32 + 1756c: 4b86 ldr r3, [pc, #536] ; (17788 ) + 1756e: 619a str r2, [r3, #24] cmd_mode = false; - 17508: 2200 movs r2, #0 - 1750a: 4b86 ldr r3, [pc, #536] ; (17724 ) - 1750c: 701a strb r2, [r3, #0] + 17570: 2200 movs r2, #0 + 17572: 4b86 ldr r3, [pc, #536] ; (1778c ) + 17574: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 1750e: 22ff movs r2, #255 ; 0xff - 17510: 4002 ands r2, r0 - 17512: 4985 ldr r1, [pc, #532] ; (17728 ) - 17514: 4885 ldr r0, [pc, #532] ; (1772c ) - 17516: 4b86 ldr r3, [pc, #536] ; (17730 ) - 17518: 4798 blx r3 - 1751a: 4b81 ldr r3, [pc, #516] ; (17720 ) - 1751c: 2140 movs r1, #64 ; 0x40 - 1751e: 6199 str r1, [r3, #24] + 17576: 22ff movs r2, #255 ; 0xff + 17578: 4002 ands r2, r0 + 1757a: 4985 ldr r1, [pc, #532] ; (17790 ) + 1757c: 4885 ldr r0, [pc, #532] ; (17794 ) + 1757e: 4b86 ldr r3, [pc, #536] ; (17798 ) + 17580: 4798 blx r3 + 17582: 4b81 ldr r3, [pc, #516] ; (17788 ) + 17584: 2140 movs r1, #64 ; 0x40 + 17586: 6199 str r1, [r3, #24] ssd1963_data(0x00FF & act_x1); - 17520: 464a mov r2, r9 - 17522: 4668 mov r0, sp - 17524: 7102 strb r2, [r0, #4] - 17526: 7902 ldrb r2, [r0, #4] + 17588: 464a mov r2, r9 + 1758a: 4668 mov r0, sp + 1758c: 7102 strb r2, [r0, #4] + 1758e: 7902 ldrb r2, [r0, #4] port_base->OUTCLR.reg = pin_mask; - 17528: 6159 str r1, [r3, #20] + 17590: 6159 str r1, [r3, #20] if(cmd_mode != false) { - 1752a: 4b7e ldr r3, [pc, #504] ; (17724 ) - 1752c: 781b ldrb r3, [r3, #0] - 1752e: 2b00 cmp r3, #0 - 17530: d005 beq.n 1753e + 17592: 4b7e ldr r3, [pc, #504] ; (1778c ) + 17594: 781b ldrb r3, [r3, #0] + 17596: 2b00 cmp r3, #0 + 17598: d005 beq.n 175a6 port_base->OUTSET.reg = pin_mask; - 17532: 3920 subs r1, #32 - 17534: 4b7a ldr r3, [pc, #488] ; (17720 ) - 17536: 6199 str r1, [r3, #24] + 1759a: 3920 subs r1, #32 + 1759c: 4b7a ldr r3, [pc, #488] ; (17788 ) + 1759e: 6199 str r1, [r3, #24] cmd_mode = false; - 17538: 2100 movs r1, #0 - 1753a: 4b7a ldr r3, [pc, #488] ; (17724 ) - 1753c: 7019 strb r1, [r3, #0] + 175a0: 2100 movs r1, #0 + 175a2: 4b7a ldr r3, [pc, #488] ; (1778c ) + 175a4: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 1753e: 497a ldr r1, [pc, #488] ; (17728 ) - 17540: 487a ldr r0, [pc, #488] ; (1772c ) - 17542: 4b7b ldr r3, [pc, #492] ; (17730 ) - 17544: 4798 blx r3 - 17546: 4b76 ldr r3, [pc, #472] ; (17720 ) - 17548: 2140 movs r1, #64 ; 0x40 - 1754a: 6199 str r1, [r3, #24] + 175a6: 497a ldr r1, [pc, #488] ; (17790 ) + 175a8: 487a ldr r0, [pc, #488] ; (17794 ) + 175aa: 4b7b ldr r3, [pc, #492] ; (17798 ) + 175ac: 4798 blx r3 + 175ae: 4b76 ldr r3, [pc, #472] ; (17788 ) + 175b0: 2140 movs r1, #64 ; 0x40 + 175b2: 6199 str r1, [r3, #24] ssd1963_data(act_x2 >> 8); - 1754c: 1228 asrs r0, r5, #8 + 175b4: 1228 asrs r0, r5, #8 port_base->OUTCLR.reg = pin_mask; - 1754e: 6159 str r1, [r3, #20] + 175b6: 6159 str r1, [r3, #20] if(cmd_mode != false) { - 17550: 4b74 ldr r3, [pc, #464] ; (17724 ) - 17552: 781b ldrb r3, [r3, #0] - 17554: 2b00 cmp r3, #0 - 17556: d005 beq.n 17564 + 175b8: 4b74 ldr r3, [pc, #464] ; (1778c ) + 175ba: 781b ldrb r3, [r3, #0] + 175bc: 2b00 cmp r3, #0 + 175be: d005 beq.n 175cc port_base->OUTSET.reg = pin_mask; - 17558: 2220 movs r2, #32 - 1755a: 4b71 ldr r3, [pc, #452] ; (17720 ) - 1755c: 619a str r2, [r3, #24] + 175c0: 2220 movs r2, #32 + 175c2: 4b71 ldr r3, [pc, #452] ; (17788 ) + 175c4: 619a str r2, [r3, #24] cmd_mode = false; - 1755e: 2200 movs r2, #0 - 17560: 4b70 ldr r3, [pc, #448] ; (17724 ) - 17562: 701a strb r2, [r3, #0] + 175c6: 2200 movs r2, #0 + 175c8: 4b70 ldr r3, [pc, #448] ; (1778c ) + 175ca: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17564: 22ff movs r2, #255 ; 0xff - 17566: 4002 ands r2, r0 - 17568: 496f ldr r1, [pc, #444] ; (17728 ) - 1756a: 4870 ldr r0, [pc, #448] ; (1772c ) - 1756c: 4b70 ldr r3, [pc, #448] ; (17730 ) - 1756e: 4798 blx r3 - 17570: 4b6b ldr r3, [pc, #428] ; (17720 ) - 17572: 2240 movs r2, #64 ; 0x40 - 17574: 619a str r2, [r3, #24] + 175cc: 22ff movs r2, #255 ; 0xff + 175ce: 4002 ands r2, r0 + 175d0: 496f ldr r1, [pc, #444] ; (17790 ) + 175d2: 4870 ldr r0, [pc, #448] ; (17794 ) + 175d4: 4b70 ldr r3, [pc, #448] ; (17798 ) + 175d6: 4798 blx r3 + 175d8: 4b6b ldr r3, [pc, #428] ; (17788 ) + 175da: 2240 movs r2, #64 ; 0x40 + 175dc: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17576: 615a str r2, [r3, #20] + 175de: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17578: 4b6a ldr r3, [pc, #424] ; (17724 ) - 1757a: 781b ldrb r3, [r3, #0] - 1757c: 2b00 cmp r3, #0 - 1757e: d005 beq.n 1758c + 175e0: 4b6a ldr r3, [pc, #424] ; (1778c ) + 175e2: 781b ldrb r3, [r3, #0] + 175e4: 2b00 cmp r3, #0 + 175e6: d005 beq.n 175f4 port_base->OUTSET.reg = pin_mask; - 17580: 3a20 subs r2, #32 - 17582: 4b67 ldr r3, [pc, #412] ; (17720 ) - 17584: 619a str r2, [r3, #24] + 175e8: 3a20 subs r2, #32 + 175ea: 4b67 ldr r3, [pc, #412] ; (17788 ) + 175ec: 619a str r2, [r3, #24] cmd_mode = false; - 17586: 2200 movs r2, #0 - 17588: 4b66 ldr r3, [pc, #408] ; (17724 ) - 1758a: 701a strb r2, [r3, #0] + 175ee: 2200 movs r2, #0 + 175f0: 4b66 ldr r3, [pc, #408] ; (1778c ) + 175f2: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 1758c: 22ff movs r2, #255 ; 0xff - 1758e: 402a ands r2, r5 - 17590: 4965 ldr r1, [pc, #404] ; (17728 ) - 17592: 4866 ldr r0, [pc, #408] ; (1772c ) - 17594: 4b66 ldr r3, [pc, #408] ; (17730 ) - 17596: 4798 blx r3 - 17598: 4b61 ldr r3, [pc, #388] ; (17720 ) - 1759a: 2240 movs r2, #64 ; 0x40 - 1759c: 619a str r2, [r3, #24] + 175f4: 22ff movs r2, #255 ; 0xff + 175f6: 402a ands r2, r5 + 175f8: 4965 ldr r1, [pc, #404] ; (17790 ) + 175fa: 4866 ldr r0, [pc, #408] ; (17794 ) + 175fc: 4b66 ldr r3, [pc, #408] ; (17798 ) + 175fe: 4798 blx r3 + 17600: 4b61 ldr r3, [pc, #388] ; (17788 ) + 17602: 2240 movs r2, #64 ; 0x40 + 17604: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1759e: 615a str r2, [r3, #20] + 17606: 615a str r2, [r3, #20] if(cmd_mode == false) { - 175a0: 4b60 ldr r3, [pc, #384] ; (17724 ) - 175a2: 781b ldrb r3, [r3, #0] - 175a4: 2b00 cmp r3, #0 - 175a6: d105 bne.n 175b4 - 175a8: 3a20 subs r2, #32 - 175aa: 4b5d ldr r3, [pc, #372] ; (17720 ) - 175ac: 615a str r2, [r3, #20] + 17608: 4b60 ldr r3, [pc, #384] ; (1778c ) + 1760a: 781b ldrb r3, [r3, #0] + 1760c: 2b00 cmp r3, #0 + 1760e: d105 bne.n 1761c + 17610: 3a20 subs r2, #32 + 17612: 4b5d ldr r3, [pc, #372] ; (17788 ) + 17614: 615a str r2, [r3, #20] cmd_mode = true; - 175ae: 3a1f subs r2, #31 - 175b0: 4b5c ldr r3, [pc, #368] ; (17724 ) - 175b2: 701a strb r2, [r3, #0] + 17616: 3a1f subs r2, #31 + 17618: 4b5c ldr r3, [pc, #368] ; (1778c ) + 1761a: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 175b4: 222b movs r2, #43 ; 0x2b - 175b6: 495c ldr r1, [pc, #368] ; (17728 ) - 175b8: 485c ldr r0, [pc, #368] ; (1772c ) - 175ba: 4b5d ldr r3, [pc, #372] ; (17730 ) - 175bc: 4798 blx r3 + 1761c: 222b movs r2, #43 ; 0x2b + 1761e: 495c ldr r1, [pc, #368] ; (17790 ) + 17620: 485c ldr r0, [pc, #368] ; (17794 ) + 17622: 4b5d ldr r3, [pc, #372] ; (17798 ) + 17624: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 175be: 4b58 ldr r3, [pc, #352] ; (17720 ) - 175c0: 2140 movs r1, #64 ; 0x40 - 175c2: 6199 str r1, [r3, #24] + 17626: 4b58 ldr r3, [pc, #352] ; (17788 ) + 17628: 2140 movs r1, #64 ; 0x40 + 1762a: 6199 str r1, [r3, #24] ssd1963_data(act_y1 >> 8); - 175c4: 465a mov r2, fp - 175c6: 1210 asrs r0, r2, #8 + 1762c: 465a mov r2, fp + 1762e: 1210 asrs r0, r2, #8 port_base->OUTCLR.reg = pin_mask; - 175c8: 6159 str r1, [r3, #20] + 17630: 6159 str r1, [r3, #20] if(cmd_mode != false) { - 175ca: 4b56 ldr r3, [pc, #344] ; (17724 ) - 175cc: 781b ldrb r3, [r3, #0] - 175ce: 2b00 cmp r3, #0 - 175d0: d005 beq.n 175de + 17632: 4b56 ldr r3, [pc, #344] ; (1778c ) + 17634: 781b ldrb r3, [r3, #0] + 17636: 2b00 cmp r3, #0 + 17638: d005 beq.n 17646 port_base->OUTSET.reg = pin_mask; - 175d2: 2220 movs r2, #32 - 175d4: 4b52 ldr r3, [pc, #328] ; (17720 ) - 175d6: 619a str r2, [r3, #24] + 1763a: 2220 movs r2, #32 + 1763c: 4b52 ldr r3, [pc, #328] ; (17788 ) + 1763e: 619a str r2, [r3, #24] cmd_mode = false; - 175d8: 2200 movs r2, #0 - 175da: 4b52 ldr r3, [pc, #328] ; (17724 ) - 175dc: 701a strb r2, [r3, #0] + 17640: 2200 movs r2, #0 + 17642: 4b52 ldr r3, [pc, #328] ; (1778c ) + 17644: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 175de: 22ff movs r2, #255 ; 0xff - 175e0: 4002 ands r2, r0 - 175e2: 4951 ldr r1, [pc, #324] ; (17728 ) - 175e4: 4851 ldr r0, [pc, #324] ; (1772c ) - 175e6: 4b52 ldr r3, [pc, #328] ; (17730 ) - 175e8: 4798 blx r3 - 175ea: 4b4d ldr r3, [pc, #308] ; (17720 ) - 175ec: 2140 movs r1, #64 ; 0x40 - 175ee: 6199 str r1, [r3, #24] + 17646: 22ff movs r2, #255 ; 0xff + 17648: 4002 ands r2, r0 + 1764a: 4951 ldr r1, [pc, #324] ; (17790 ) + 1764c: 4851 ldr r0, [pc, #324] ; (17794 ) + 1764e: 4b52 ldr r3, [pc, #328] ; (17798 ) + 17650: 4798 blx r3 + 17652: 4b4d ldr r3, [pc, #308] ; (17788 ) + 17654: 2140 movs r1, #64 ; 0x40 + 17656: 6199 str r1, [r3, #24] ssd1963_data(0x00FF & act_y1); - 175f0: b2e2 uxtb r2, r4 + 17658: b2e2 uxtb r2, r4 port_base->OUTCLR.reg = pin_mask; - 175f2: 6159 str r1, [r3, #20] + 1765a: 6159 str r1, [r3, #20] if(cmd_mode != false) { - 175f4: 4b4b ldr r3, [pc, #300] ; (17724 ) - 175f6: 781b ldrb r3, [r3, #0] - 175f8: 2b00 cmp r3, #0 - 175fa: d005 beq.n 17608 + 1765c: 4b4b ldr r3, [pc, #300] ; (1778c ) + 1765e: 781b ldrb r3, [r3, #0] + 17660: 2b00 cmp r3, #0 + 17662: d005 beq.n 17670 port_base->OUTSET.reg = pin_mask; - 175fc: 3920 subs r1, #32 - 175fe: 4b48 ldr r3, [pc, #288] ; (17720 ) - 17600: 6199 str r1, [r3, #24] + 17664: 3920 subs r1, #32 + 17666: 4b48 ldr r3, [pc, #288] ; (17788 ) + 17668: 6199 str r1, [r3, #24] cmd_mode = false; - 17602: 2100 movs r1, #0 - 17604: 4b47 ldr r3, [pc, #284] ; (17724 ) - 17606: 7019 strb r1, [r3, #0] + 1766a: 2100 movs r1, #0 + 1766c: 4b47 ldr r3, [pc, #284] ; (1778c ) + 1766e: 7019 strb r1, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17608: 4947 ldr r1, [pc, #284] ; (17728 ) - 1760a: 4848 ldr r0, [pc, #288] ; (1772c ) - 1760c: 4b48 ldr r3, [pc, #288] ; (17730 ) - 1760e: 4798 blx r3 - 17610: 4b43 ldr r3, [pc, #268] ; (17720 ) - 17612: 2140 movs r1, #64 ; 0x40 - 17614: 6199 str r1, [r3, #24] + 17670: 4947 ldr r1, [pc, #284] ; (17790 ) + 17672: 4848 ldr r0, [pc, #288] ; (17794 ) + 17674: 4b48 ldr r3, [pc, #288] ; (17798 ) + 17676: 4798 blx r3 + 17678: 4b43 ldr r3, [pc, #268] ; (17788 ) + 1767a: 2140 movs r1, #64 ; 0x40 + 1767c: 6199 str r1, [r3, #24] ssd1963_data(act_y2 >> 8); - 17616: 4652 mov r2, sl - 17618: 1210 asrs r0, r2, #8 + 1767e: 4652 mov r2, sl + 17680: 1210 asrs r0, r2, #8 port_base->OUTCLR.reg = pin_mask; - 1761a: 6159 str r1, [r3, #20] + 17682: 6159 str r1, [r3, #20] if(cmd_mode != false) { - 1761c: 4b41 ldr r3, [pc, #260] ; (17724 ) - 1761e: 781b ldrb r3, [r3, #0] - 17620: 2b00 cmp r3, #0 - 17622: d005 beq.n 17630 + 17684: 4b41 ldr r3, [pc, #260] ; (1778c ) + 17686: 781b ldrb r3, [r3, #0] + 17688: 2b00 cmp r3, #0 + 1768a: d005 beq.n 17698 port_base->OUTSET.reg = pin_mask; - 17624: 2220 movs r2, #32 - 17626: 4b3e ldr r3, [pc, #248] ; (17720 ) - 17628: 619a str r2, [r3, #24] + 1768c: 2220 movs r2, #32 + 1768e: 4b3e ldr r3, [pc, #248] ; (17788 ) + 17690: 619a str r2, [r3, #24] cmd_mode = false; - 1762a: 2200 movs r2, #0 - 1762c: 4b3d ldr r3, [pc, #244] ; (17724 ) - 1762e: 701a strb r2, [r3, #0] + 17692: 2200 movs r2, #0 + 17694: 4b3d ldr r3, [pc, #244] ; (1778c ) + 17696: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17630: 22ff movs r2, #255 ; 0xff - 17632: 4002 ands r2, r0 - 17634: 493c ldr r1, [pc, #240] ; (17728 ) - 17636: 483d ldr r0, [pc, #244] ; (1772c ) - 17638: 4b3d ldr r3, [pc, #244] ; (17730 ) - 1763a: 4798 blx r3 - 1763c: 4b38 ldr r3, [pc, #224] ; (17720 ) - 1763e: 2240 movs r2, #64 ; 0x40 - 17640: 619a str r2, [r3, #24] + 17698: 22ff movs r2, #255 ; 0xff + 1769a: 4002 ands r2, r0 + 1769c: 493c ldr r1, [pc, #240] ; (17790 ) + 1769e: 483d ldr r0, [pc, #244] ; (17794 ) + 176a0: 4b3d ldr r3, [pc, #244] ; (17798 ) + 176a2: 4798 blx r3 + 176a4: 4b38 ldr r3, [pc, #224] ; (17788 ) + 176a6: 2240 movs r2, #64 ; 0x40 + 176a8: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 17642: 615a str r2, [r3, #20] + 176aa: 615a str r2, [r3, #20] if(cmd_mode != false) { - 17644: 4b37 ldr r3, [pc, #220] ; (17724 ) - 17646: 781b ldrb r3, [r3, #0] - 17648: 2b00 cmp r3, #0 - 1764a: d005 beq.n 17658 + 176ac: 4b37 ldr r3, [pc, #220] ; (1778c ) + 176ae: 781b ldrb r3, [r3, #0] + 176b0: 2b00 cmp r3, #0 + 176b2: d005 beq.n 176c0 port_base->OUTSET.reg = pin_mask; - 1764c: 3a20 subs r2, #32 - 1764e: 4b34 ldr r3, [pc, #208] ; (17720 ) - 17650: 619a str r2, [r3, #24] + 176b4: 3a20 subs r2, #32 + 176b6: 4b34 ldr r3, [pc, #208] ; (17788 ) + 176b8: 619a str r2, [r3, #24] cmd_mode = false; - 17652: 2200 movs r2, #0 - 17654: 4b33 ldr r3, [pc, #204] ; (17724 ) - 17656: 701a strb r2, [r3, #0] + 176ba: 2200 movs r2, #0 + 176bc: 4b33 ldr r3, [pc, #204] ; (1778c ) + 176be: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 17658: 22ff movs r2, #255 ; 0xff - 1765a: 4653 mov r3, sl - 1765c: 401a ands r2, r3 - 1765e: 4932 ldr r1, [pc, #200] ; (17728 ) - 17660: 4832 ldr r0, [pc, #200] ; (1772c ) - 17662: 4b33 ldr r3, [pc, #204] ; (17730 ) - 17664: 4798 blx r3 - 17666: 4b2e ldr r3, [pc, #184] ; (17720 ) - 17668: 2240 movs r2, #64 ; 0x40 - 1766a: 619a str r2, [r3, #24] + 176c0: 22ff movs r2, #255 ; 0xff + 176c2: 4653 mov r3, sl + 176c4: 401a ands r2, r3 + 176c6: 4932 ldr r1, [pc, #200] ; (17790 ) + 176c8: 4832 ldr r0, [pc, #200] ; (17794 ) + 176ca: 4b33 ldr r3, [pc, #204] ; (17798 ) + 176cc: 4798 blx r3 + 176ce: 4b2e ldr r3, [pc, #184] ; (17788 ) + 176d0: 2240 movs r2, #64 ; 0x40 + 176d2: 619a str r2, [r3, #24] port_base->OUTCLR.reg = pin_mask; - 1766c: 615a str r2, [r3, #20] + 176d4: 615a str r2, [r3, #20] if(cmd_mode == false) { - 1766e: 4b2d ldr r3, [pc, #180] ; (17724 ) - 17670: 781b ldrb r3, [r3, #0] - 17672: 2b00 cmp r3, #0 - 17674: d105 bne.n 17682 - 17676: 3a20 subs r2, #32 - 17678: 4b29 ldr r3, [pc, #164] ; (17720 ) - 1767a: 615a str r2, [r3, #20] + 176d6: 4b2d ldr r3, [pc, #180] ; (1778c ) + 176d8: 781b ldrb r3, [r3, #0] + 176da: 2b00 cmp r3, #0 + 176dc: d105 bne.n 176ea + 176de: 3a20 subs r2, #32 + 176e0: 4b29 ldr r3, [pc, #164] ; (17788 ) + 176e2: 615a str r2, [r3, #20] cmd_mode = true; - 1767c: 3a1f subs r2, #31 - 1767e: 4b29 ldr r3, [pc, #164] ; (17724 ) - 17680: 701a strb r2, [r3, #0] + 176e4: 3a1f subs r2, #31 + 176e6: 4b29 ldr r3, [pc, #164] ; (1778c ) + 176e8: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(cmd); - 17682: 222c movs r2, #44 ; 0x2c - 17684: 4928 ldr r1, [pc, #160] ; (17728 ) - 17686: 4829 ldr r0, [pc, #164] ; (1772c ) - 17688: 4b29 ldr r3, [pc, #164] ; (17730 ) - 1768a: 4798 blx r3 + 176ea: 222c movs r2, #44 ; 0x2c + 176ec: 4928 ldr r1, [pc, #160] ; (17790 ) + 176ee: 4829 ldr r0, [pc, #164] ; (17794 ) + 176f0: 4b29 ldr r3, [pc, #164] ; (17798 ) + 176f2: 4798 blx r3 port_base->OUTSET.reg = pin_mask; - 1768c: 2240 movs r2, #64 ; 0x40 - 1768e: 4b24 ldr r3, [pc, #144] ; (17720 ) - 17690: 619a str r2, [r3, #24] + 176f4: 2240 movs r2, #64 ; 0x40 + 176f6: 4b24 ldr r3, [pc, #144] ; (17788 ) + 176f8: 619a str r2, [r3, #24] uint16_t full_w = area->x2 - area->x1 + 1; - 17692: 88bb ldrh r3, [r7, #4] - 17694: 3301 adds r3, #1 - 17696: 883a ldrh r2, [r7, #0] - 17698: 1a9b subs r3, r3, r2 - 1769a: b29f uxth r7, r3 + 176fa: 88bb ldrh r3, [r7, #4] + 176fc: 3301 adds r3, #1 + 176fe: 883a ldrh r2, [r7, #0] + 17700: 1a9b subs r3, r3, r2 + 17702: b29f uxth r7, r3 if(cmd_mode != false) { - 1769c: 4a21 ldr r2, [pc, #132] ; (17724 ) - 1769e: 7812 ldrb r2, [r2, #0] - 176a0: 2a00 cmp r2, #0 - 176a2: d005 beq.n 176b0 - 176a4: 2120 movs r1, #32 - 176a6: 4a1e ldr r2, [pc, #120] ; (17720 ) - 176a8: 6191 str r1, [r2, #24] + 17704: 4a21 ldr r2, [pc, #132] ; (1778c ) + 17706: 7812 ldrb r2, [r2, #0] + 17708: 2a00 cmp r2, #0 + 1770a: d005 beq.n 17718 + 1770c: 2120 movs r1, #32 + 1770e: 4a1e ldr r2, [pc, #120] ; (17788 ) + 17710: 6191 str r1, [r2, #24] cmd_mode = false; - 176aa: 2100 movs r1, #0 - 176ac: 4a1d ldr r2, [pc, #116] ; (17724 ) - 176ae: 7011 strb r1, [r2, #0] + 17712: 2100 movs r1, #0 + 17714: 4a1d ldr r2, [pc, #116] ; (1778c ) + 17716: 7011 strb r1, [r2, #0] port_base->OUTCLR.reg = pin_mask; - 176b0: 2140 movs r1, #64 ; 0x40 - 176b2: 4a1b ldr r2, [pc, #108] ; (17720 ) - 176b4: 6151 str r1, [r2, #20] + 17718: 2140 movs r1, #64 ; 0x40 + 1771a: 4a1b ldr r2, [pc, #108] ; (17788 ) + 1771c: 6151 str r1, [r2, #20] uint16_t act_w = act_x2 - act_x1 + 1; - 176b6: 464b mov r3, r9 - 176b8: 1aed subs r5, r5, r3 - 176ba: 3501 adds r5, #1 - 176bc: b2ad uxth r5, r5 + 1771e: 464b mov r3, r9 + 17720: 1aed subs r5, r5, r3 + 17722: 3501 adds r5, #1 + 17724: b2ad uxth r5, r5 for(i = act_y1; i <= act_y2; i++) { - 176be: 45da cmp sl, fp - 176c0: db0f blt.n 176e2 + 17726: 45da cmp sl, fp + 17728: db0f blt.n 1774a color_p += full_w; - 176c2: 007f lsls r7, r7, #1 + 1772a: 007f lsls r7, r7, #1 LV_DRV_DISP_PAR_WR_ARRAY((uint16_t *)color_p, act_w); - 176c4: 4b1b ldr r3, [pc, #108] ; (17734 ) - 176c6: 4698 mov r8, r3 - 176c8: 9501 str r5, [sp, #4] - 176ca: 003d movs r5, r7 - 176cc: 4657 mov r7, sl - 176ce: 9b01 ldr r3, [sp, #4] - 176d0: 0032 movs r2, r6 - 176d2: 4915 ldr r1, [pc, #84] ; (17728 ) - 176d4: 4815 ldr r0, [pc, #84] ; (1772c ) - 176d6: 47c0 blx r8 + 1772c: 4b1b ldr r3, [pc, #108] ; (1779c ) + 1772e: 4698 mov r8, r3 + 17730: 9501 str r5, [sp, #4] + 17732: 003d movs r5, r7 + 17734: 4657 mov r7, sl + 17736: 9b01 ldr r3, [sp, #4] + 17738: 0032 movs r2, r6 + 1773a: 4915 ldr r1, [pc, #84] ; (17790 ) + 1773c: 4815 ldr r0, [pc, #84] ; (17794 ) + 1773e: 47c0 blx r8 color_p += full_w; - 176d8: 1976 adds r6, r6, r5 - 176da: 3401 adds r4, #1 - 176dc: b224 sxth r4, r4 + 17740: 1976 adds r6, r6, r5 + 17742: 3401 adds r4, #1 + 17744: b224 sxth r4, r4 for(i = act_y1; i <= act_y2; i++) { - 176de: 42a7 cmp r7, r4 - 176e0: daf5 bge.n 176ce + 17746: 42a7 cmp r7, r4 + 17748: daf5 bge.n 17736 port_base->OUTSET.reg = pin_mask; - 176e2: 2240 movs r2, #64 ; 0x40 - 176e4: 4b0e ldr r3, [pc, #56] ; (17720 ) - 176e6: 619a str r2, [r3, #24] + 1774a: 2240 movs r2, #64 ; 0x40 + 1774c: 4b0e ldr r3, [pc, #56] ; (17788 ) + 1774e: 619a str r2, [r3, #24] lv_disp_flush_ready(disp_drv); - 176e8: 9800 ldr r0, [sp, #0] - 176ea: 4b13 ldr r3, [pc, #76] ; (17738 ) - 176ec: 4798 blx r3 - 176ee: e6b2 b.n 17456 + 17750: 9800 ldr r0, [sp, #0] + 17752: 4b13 ldr r3, [pc, #76] ; (177a0 ) + 17754: 4798 blx r3 + 17756: e6b2 b.n 174be int32_t act_x1 = area->x1 < 0 ? 0 : area->x1; - 176f0: 2500 movs r5, #0 - 176f2: e6c6 b.n 17482 + 17758: 2500 movs r5, #0 + 1775a: e6c6 b.n 174ea int32_t act_y1 = area->y1 < 0 ? 0 : area->y1; - 176f4: 2400 movs r4, #0 - 176f6: e6cc b.n 17492 + 1775c: 2400 movs r4, #0 + 1775e: e6cc b.n 174fa int32_t act_x2 = area->x2 > SSD1963_HOR_RES - 1 ? SSD1963_HOR_RES - 1 : area->x2; - 176f8: 4b06 ldr r3, [pc, #24] ; (17714 ) - 176fa: 4798 blx r3 - 176fc: 4b06 ldr r3, [pc, #24] ; (17718 ) - 176fe: 4798 blx r3 - 17700: 1e45 subs r5, r0, #1 - 17702: e6d4 b.n 174ae + 17760: 4b06 ldr r3, [pc, #24] ; (1777c ) + 17762: 4798 blx r3 + 17764: 4b06 ldr r3, [pc, #24] ; (17780 ) + 17766: 4798 blx r3 + 17768: 1e45 subs r5, r0, #1 + 1776a: e6d4 b.n 17516 int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2; - 17704: 4b03 ldr r3, [pc, #12] ; (17714 ) - 17706: 4798 blx r3 - 17708: 4b04 ldr r3, [pc, #16] ; (1771c ) - 1770a: 4798 blx r3 - 1770c: 1e43 subs r3, r0, #1 - 1770e: 469a mov sl, r3 - 17710: e6db b.n 174ca - 17712: 46c0 nop ; (mov r8, r8) - 17714: 0000f5a1 .word 0x0000f5a1 - 17718: 0000f5ad .word 0x0000f5ad - 1771c: 0000f5d5 .word 0x0000f5d5 - 17720: 41004400 .word 0x41004400 - 17724: 2000005c .word 0x2000005c - 17728: 1c03c3f7 .word 0x1c03c3f7 - 1772c: 41004480 .word 0x41004480 - 17730: 000177ad .word 0x000177ad - 17734: 000177c5 .word 0x000177c5 - 17738: 0000f671 .word 0x0000f671 - -0001773c : + 1776c: 4b03 ldr r3, [pc, #12] ; (1777c ) + 1776e: 4798 blx r3 + 17770: 4b04 ldr r3, [pc, #16] ; (17784 ) + 17772: 4798 blx r3 + 17774: 1e43 subs r3, r0, #1 + 17776: 469a mov sl, r3 + 17778: e6db b.n 17532 + 1777a: 46c0 nop ; (mov r8, r8) + 1777c: 0000f609 .word 0x0000f609 + 17780: 0000f615 .word 0x0000f615 + 17784: 0000f63d .word 0x0000f63d + 17788: 41004400 .word 0x41004400 + 1778c: 2000005c .word 0x2000005c + 17790: 1c03c3f7 .word 0x1c03c3f7 + 17794: 41004480 .word 0x41004480 + 17798: 00017815 .word 0x00017815 + 1779c: 0001782d .word 0x0001782d + 177a0: 0000f6d9 .word 0x0000f6d9 + +000177a4 : #include "p_gpio.h" void p_gpio_init(void) { - 1773c: b530 push {r4, r5, lr} - 1773e: b083 sub sp, #12 + 177a4: b530 push {r4, r5, lr} + 177a6: b083 sub sp, #12 config->powersave = false; - 17740: aa01 add r2, sp, #4 - 17742: 2400 movs r4, #0 - 17744: 7094 strb r4, [r2, #2] + 177a8: aa01 add r2, sp, #4 + 177aa: 2400 movs r4, #0 + 177ac: 7094 strb r4, [r2, #2] struct port_config data_port_config; port_get_config_defaults(&data_port_config); data_port_config.direction = SSD1963_TFT_DATA_DIR; - 17746: 2501 movs r5, #1 - 17748: 7015 strb r5, [r2, #0] + 177ae: 2501 movs r5, #1 + 177b0: 7015 strb r5, [r2, #0] data_port_config.input_pull = SSD1963_TFT_DATA_PULL; - 1774a: 7054 strb r4, [r2, #1] + 177b2: 7054 strb r4, [r2, #1] port_group_set_config(SSD1963_TFT_DATA_PORT, SSD1963_TFT_DATA_MASK, &data_port_config); - 1774c: 4912 ldr r1, [pc, #72] ; (17798 ) - 1774e: 4813 ldr r0, [pc, #76] ; (1779c ) - 17750: 4b13 ldr r3, [pc, #76] ; (177a0 ) - 17752: 4798 blx r3 - 17754: 466b mov r3, sp - 17756: 709c strb r4, [r3, #2] + 177b4: 4912 ldr r1, [pc, #72] ; (17800 ) + 177b6: 4813 ldr r0, [pc, #76] ; (17804 ) + 177b8: 4b13 ldr r3, [pc, #76] ; (17808 ) + 177ba: 4798 blx r3 + 177bc: 466b mov r3, sp + 177be: 709c strb r4, [r3, #2] struct port_config ssd1963_ctrl_pins_conf; port_get_config_defaults(&ssd1963_ctrl_pins_conf); ssd1963_ctrl_pins_conf.input_pull = PORT_PIN_PULL_NONE; - 17758: 705c strb r4, [r3, #1] + 177c0: 705c strb r4, [r3, #1] ssd1963_ctrl_pins_conf.direction = PORT_PIN_DIR_OUTPUT; - 1775a: 701d strb r5, [r3, #0] + 177c2: 701d strb r5, [r3, #0] port_pin_set_config(SSD1963_TFT_nRST, &ssd1963_ctrl_pins_conf); - 1775c: 4669 mov r1, sp - 1775e: 2004 movs r0, #4 - 17760: 4c10 ldr r4, [pc, #64] ; (177a4 ) - 17762: 47a0 blx r4 + 177c4: 4669 mov r1, sp + 177c6: 2004 movs r0, #4 + 177c8: 4c10 ldr r4, [pc, #64] ; (1780c ) + 177ca: 47a0 blx r4 port_pin_set_config(SSD1963_TFT_RSDC, &ssd1963_ctrl_pins_conf); - 17764: 4669 mov r1, sp - 17766: 2005 movs r0, #5 - 17768: 47a0 blx r4 + 177cc: 4669 mov r1, sp + 177ce: 2005 movs r0, #5 + 177d0: 47a0 blx r4 port_pin_set_config(SSD1963_TFT_nCS, &ssd1963_ctrl_pins_conf); - 1776a: 4669 mov r1, sp - 1776c: 2006 movs r0, #6 - 1776e: 47a0 blx r4 + 177d2: 4669 mov r1, sp + 177d4: 2006 movs r0, #6 + 177d6: 47a0 blx r4 port_pin_set_config(SSD1963_TFT_WR, &ssd1963_ctrl_pins_conf); - 17770: 4669 mov r1, sp - 17772: 2007 movs r0, #7 - 17774: 47a0 blx r4 + 177d8: 4669 mov r1, sp + 177da: 2007 movs r0, #7 + 177dc: 47a0 blx r4 port_pin_set_config(SSD1963_TFT_RD, &ssd1963_ctrl_pins_conf); - 17776: 4669 mov r1, sp - 17778: 200a movs r0, #10 - 1777a: 47a0 blx r4 + 177de: 4669 mov r1, sp + 177e0: 200a movs r0, #10 + 177e2: 47a0 blx r4 port_base->OUTSET.reg = pin_mask; - 1777c: 4b0a ldr r3, [pc, #40] ; (177a8 ) - 1777e: 2210 movs r2, #16 - 17780: 619a str r2, [r3, #24] - 17782: 3210 adds r2, #16 - 17784: 619a str r2, [r3, #24] - 17786: 3220 adds r2, #32 - 17788: 619a str r2, [r3, #24] - 1778a: 3240 adds r2, #64 ; 0x40 - 1778c: 619a str r2, [r3, #24] - 1778e: 2280 movs r2, #128 ; 0x80 - 17790: 00d2 lsls r2, r2, #3 - 17792: 619a str r2, [r3, #24] + 177e4: 4b0a ldr r3, [pc, #40] ; (17810 ) + 177e6: 2210 movs r2, #16 + 177e8: 619a str r2, [r3, #24] + 177ea: 3210 adds r2, #16 + 177ec: 619a str r2, [r3, #24] + 177ee: 3220 adds r2, #32 + 177f0: 619a str r2, [r3, #24] + 177f2: 3240 adds r2, #64 ; 0x40 + 177f4: 619a str r2, [r3, #24] + 177f6: 2280 movs r2, #128 ; 0x80 + 177f8: 00d2 lsls r2, r2, #3 + 177fa: 619a str r2, [r3, #24] port_pin_set_output_level(SSD1963_TFT_nRST, 1); port_pin_set_output_level(SSD1963_TFT_RSDC, 1); port_pin_set_output_level(SSD1963_TFT_nCS, 1); port_pin_set_output_level(SSD1963_TFT_WR, 1); port_pin_set_output_level(SSD1963_TFT_RD, 1); } - 17794: b003 add sp, #12 - 17796: bd30 pop {r4, r5, pc} - 17798: 1c03c3f7 .word 0x1c03c3f7 - 1779c: 41004480 .word 0x41004480 - 177a0: 00000d11 .word 0x00000d11 - 177a4: 00000ced .word 0x00000ced - 177a8: 41004400 .word 0x41004400 + 177fc: b003 add sp, #12 + 177fe: bd30 pop {r4, r5, pc} + 17800: 1c03c3f7 .word 0x1c03c3f7 + 17804: 41004480 .word 0x41004480 + 17808: 00000d79 .word 0x00000d79 + 1780c: 00000d55 .word 0x00000d55 + 17810: 41004400 .word 0x41004400 -000177ac : +00017814 : port->OUTSET.reg = (mask & level_mask); - 177ac: 0013 movs r3, r2 - 177ae: 400b ands r3, r1 - 177b0: 6183 str r3, [r0, #24] + 17814: 0013 movs r3, r2 + 17816: 400b ands r3, r1 + 17818: 6183 str r3, [r0, #24] port->OUTCLR.reg = (mask & ~level_mask); - 177b2: 4391 bics r1, r2 - 177b4: 6141 str r1, [r0, #20] + 1781a: 4391 bics r1, r2 + 1781c: 6141 str r1, [r0, #20] port_base->OUTCLR.reg = pin_mask; - 177b6: 4b02 ldr r3, [pc, #8] ; (177c0 ) - 177b8: 2280 movs r2, #128 ; 0x80 - 177ba: 615a str r2, [r3, #20] + 1781e: 4b02 ldr r3, [pc, #8] ; (17828 ) + 17820: 2280 movs r2, #128 ; 0x80 + 17822: 615a str r2, [r3, #20] port_base->OUTSET.reg = pin_mask; - 177bc: 619a str r2, [r3, #24] + 17824: 619a str r2, [r3, #24] void p_gpio_parallel_wr_word(PortGroup* group, uint32_t mask, uint32_t data) { port_group_set_output_level(group, mask, data); port_pin_set_output_level(SSD1963_TFT_WR, 0); port_pin_set_output_level(SSD1963_TFT_WR, 1); } - 177be: 4770 bx lr - 177c0: 41004400 .word 0x41004400 + 17826: 4770 bx lr + 17828: 41004400 .word 0x41004400 -000177c4 : +0001782c : void p_gpio_parallel_wr_arr(PortGroup* group, uint32_t mask, uint32_t* data, uint32_t len) { - 177c4: b5f0 push {r4, r5, r6, r7, lr} - 177c6: b083 sub sp, #12 - 177c8: 9000 str r0, [sp, #0] - 177ca: 9101 str r1, [sp, #4] + 1782c: b5f0 push {r4, r5, r6, r7, lr} + 1782e: b083 sub sp, #12 + 17830: 9000 str r0, [sp, #0] + 17832: 9101 str r1, [sp, #4] for(int ind = 0; ind < len; ind++) - 177cc: 2b00 cmp r3, #0 - 177ce: d00a beq.n 177e6 - 177d0: 0015 movs r5, r2 - 177d2: 001f movs r7, r3 - 177d4: 2400 movs r4, #0 + 17834: 2b00 cmp r3, #0 + 17836: d00a beq.n 1784e + 17838: 0015 movs r5, r2 + 1783a: 001f movs r7, r3 + 1783c: 2400 movs r4, #0 { p_gpio_parallel_wr_word(group, mask, data[ind]); - 177d6: 4e05 ldr r6, [pc, #20] ; (177ec ) - 177d8: cd04 ldmia r5!, {r2} - 177da: 9901 ldr r1, [sp, #4] - 177dc: 9800 ldr r0, [sp, #0] - 177de: 47b0 blx r6 + 1783e: 4e05 ldr r6, [pc, #20] ; (17854 ) + 17840: cd04 ldmia r5!, {r2} + 17842: 9901 ldr r1, [sp, #4] + 17844: 9800 ldr r0, [sp, #0] + 17846: 47b0 blx r6 for(int ind = 0; ind < len; ind++) - 177e0: 3401 adds r4, #1 - 177e2: 42bc cmp r4, r7 - 177e4: d1f8 bne.n 177d8 + 17848: 3401 adds r4, #1 + 1784a: 42bc cmp r4, r7 + 1784c: d1f8 bne.n 17840 } } - 177e6: b003 add sp, #12 - 177e8: bdf0 pop {r4, r5, r6, r7, pc} - 177ea: 46c0 nop ; (mov r8, r8) - 177ec: 000177ad .word 0x000177ad + 1784e: b003 add sp, #12 + 17850: bdf0 pop {r4, r5, r6, r7, pc} + 17852: 46c0 nop ; (mov r8, r8) + 17854: 00017815 .word 0x00017815 -000177f0 : +00017858 : #include "p_i2c.h" void p_i2c_init(void) { - 177f0: 4770 bx lr + 17858: 4770 bx lr ... -000177f4 : +0001785c : p_printf("Hello WOrld\n"); } void p_printf(const char* str, ...) { - 177f4: b40f push {r0, r1, r2, r3} - 177f6: b530 push {r4, r5, lr} - 177f8: b0c3 sub sp, #268 ; 0x10c - 177fa: ac46 add r4, sp, #280 ; 0x118 - 177fc: cc20 ldmia r4!, {r5} + 1785c: b40f push {r0, r1, r2, r3} + 1785e: b530 push {r4, r5, lr} + 17860: b0c3 sub sp, #268 ; 0x10c + 17862: ac46 add r4, sp, #280 ; 0x118 + 17864: cc20 ldmia r4!, {r5} volatile uint8_t pprint_buffer[ORACLE_DEBUG_PRINT_BUFF_SIZE + 1]; memset(pprint_buffer, '\0', ORACLE_DEBUG_PRINT_BUFF_SIZE + 1); - 177fe: 2202 movs r2, #2 - 17800: 32ff adds r2, #255 ; 0xff - 17802: 2100 movs r1, #0 - 17804: a801 add r0, sp, #4 - 17806: 4b0d ldr r3, [pc, #52] ; (1783c ) - 17808: 4798 blx r3 + 17866: 2202 movs r2, #2 + 17868: 32ff adds r2, #255 ; 0xff + 1786a: 2100 movs r1, #0 + 1786c: a801 add r0, sp, #4 + 1786e: 4b0f ldr r3, [pc, #60] ; (178ac ) + 17870: 4798 blx r3 va_list args; va_start(args, str); - 1780a: 9400 str r4, [sp, #0] + 17872: 9400 str r4, [sp, #0] vsprintf(pprint_buffer, str, args); - 1780c: 0022 movs r2, r4 - 1780e: 0029 movs r1, r5 - 17810: a801 add r0, sp, #4 - 17812: 4b0b ldr r3, [pc, #44] ; (17840 ) - 17814: 4798 blx r3 + 17874: 0022 movs r2, r4 + 17876: 0029 movs r1, r5 + 17878: a801 add r0, sp, #4 + 1787a: 4b0d ldr r3, [pc, #52] ; (178b0 ) + 1787c: 4798 blx r3 va_end(args); uint16_t strsize = (uint16_t)strlen(pprint_buffer); - 17816: a801 add r0, sp, #4 - 17818: 4b0a ldr r3, [pc, #40] ; (17844 ) - 1781a: 4798 blx r3 - 1781c: b282 uxth r2, r0 + 1787e: a801 add r0, sp, #4 + 17880: 4b0c ldr r3, [pc, #48] ; (178b4 ) + 17882: 4798 blx r3 + 17884: b282 uxth r2, r0 if(strsize > ORACLE_DEBUG_PRINT_BUFF_SIZE) - 1781e: 2380 movs r3, #128 ; 0x80 - 17820: 005b lsls r3, r3, #1 - 17822: 429a cmp r2, r3 - 17824: d904 bls.n 17830 - { + 17886: 2380 movs r3, #128 ; 0x80 + 17888: 005b lsls r3, r3, #1 + 1788a: 429a cmp r2, r3 + 1788c: d904 bls.n 17898 // return error return; } usart_write_buffer_wait(&p_debug_inst, pprint_buffer, strsize); + usart_read_job(&p_debug_inst, &rx_char); } - 17826: b043 add sp, #268 ; 0x10c - 17828: bc30 pop {r4, r5} - 1782a: bc08 pop {r3} - 1782c: b004 add sp, #16 - 1782e: 4718 bx r3 + 1788e: b043 add sp, #268 ; 0x10c + 17890: bc30 pop {r4, r5} + 17892: bc08 pop {r3} + 17894: b004 add sp, #16 + 17896: 4718 bx r3 usart_write_buffer_wait(&p_debug_inst, pprint_buffer, strsize); - 17830: a901 add r1, sp, #4 - 17832: 4805 ldr r0, [pc, #20] ; (17848 ) - 17834: 4b05 ldr r3, [pc, #20] ; (1784c ) - 17836: 4798 blx r3 - 17838: e7f5 b.n 17826 - 1783a: 46c0 nop ; (mov r8, r8) - 1783c: 00017f2d .word 0x00017f2d - 17840: 00017fa1 .word 0x00017fa1 - 17844: 00017f61 .word 0x00017f61 - 17848: 20004c58 .word 0x20004c58 - 1784c: 0000090d .word 0x0000090d - -00017850 : -{ - 17850: b570 push {r4, r5, r6, lr} - 17852: b090 sub sp, #64 ; 0x40 + 17898: 4c07 ldr r4, [pc, #28] ; (178b8 ) + 1789a: a901 add r1, sp, #4 + 1789c: 0020 movs r0, r4 + 1789e: 4b07 ldr r3, [pc, #28] ; (178bc ) + 178a0: 4798 blx r3 + usart_read_job(&p_debug_inst, &rx_char); + 178a2: 4907 ldr r1, [pc, #28] ; (178c0 ) + 178a4: 0020 movs r0, r4 + 178a6: 4b07 ldr r3, [pc, #28] ; (178c4 ) + 178a8: 4798 blx r3 + 178aa: e7f0 b.n 1788e + 178ac: 00017fbd .word 0x00017fbd + 178b0: 00018031 .word 0x00018031 + 178b4: 00017ff1 .word 0x00017ff1 + 178b8: 20004c58 .word 0x20004c58 + 178bc: 00000915 .word 0x00000915 + 178c0: 20004e30 .word 0x20004e30 + 178c4: 00000a39 .word 0x00000a39 + +000178c8 : +{ + 178c8: b570 push {r4, r5, r6, lr} + 178ca: b090 sub sp, #64 ; 0x40 { /* Sanity check arguments */ Assert(config); /* Set default config in the config struct */ config->data_order = USART_DATAORDER_LSB; - 17854: 2380 movs r3, #128 ; 0x80 - 17856: 05db lsls r3, r3, #23 - 17858: 9300 str r3, [sp, #0] + 178cc: 2380 movs r3, #128 ; 0x80 + 178ce: 05db lsls r3, r3, #23 + 178d0: 9300 str r3, [sp, #0] config->transfer_mode = USART_TRANSFER_ASYNCHRONOUSLY; - 1785a: 2300 movs r3, #0 - 1785c: 9301 str r3, [sp, #4] + 178d2: 2300 movs r3, #0 + 178d4: 9301 str r3, [sp, #4] config->parity = USART_PARITY_NONE; - 1785e: 22ff movs r2, #255 ; 0xff - 17860: 4669 mov r1, sp - 17862: 810a strh r2, [r1, #8] + 178d6: 22ff movs r2, #255 ; 0xff + 178d8: 4669 mov r1, sp + 178da: 810a strh r2, [r1, #8] config->stopbits = USART_STOPBITS_1; - 17864: 2200 movs r2, #0 - 17866: 728b strb r3, [r1, #10] + 178dc: 2200 movs r2, #0 + 178de: 728b strb r3, [r1, #10] config->character_size = USART_CHARACTER_SIZE_8BIT; - 17868: 72cb strb r3, [r1, #11] + 178e0: 72cb strb r3, [r1, #11] config->baudrate = 9600; config->receiver_enable = true; - 1786a: 2401 movs r4, #1 - 1786c: 2124 movs r1, #36 ; 0x24 - 1786e: 4668 mov r0, sp - 17870: 5444 strb r4, [r0, r1] + 178e2: 2401 movs r4, #1 + 178e4: 2124 movs r1, #36 ; 0x24 + 178e6: 4668 mov r0, sp + 178e8: 5444 strb r4, [r0, r1] config->transmitter_enable = true; - 17872: 3101 adds r1, #1 - 17874: 5444 strb r4, [r0, r1] + 178ea: 3101 adds r1, #1 + 178ec: 5444 strb r4, [r0, r1] config->clock_polarity_inverted = false; - 17876: 3101 adds r1, #1 - 17878: 5443 strb r3, [r0, r1] + 178ee: 3101 adds r1, #1 + 178f0: 5443 strb r3, [r0, r1] config->use_external_clock = false; - 1787a: 3101 adds r1, #1 - 1787c: 5443 strb r3, [r0, r1] + 178f2: 3101 adds r1, #1 + 178f4: 5443 strb r3, [r0, r1] config->ext_clock_freq = 0; - 1787e: 930a str r3, [sp, #40] ; 0x28 + 178f6: 930a str r3, [sp, #40] ; 0x28 config->mux_setting = USART_RX_1_TX_2_XCK_3; config->run_in_standby = false; - 17880: 3105 adds r1, #5 - 17882: 5443 strb r3, [r0, r1] + 178f8: 3105 adds r1, #5 + 178fa: 5443 strb r3, [r0, r1] config->generator_source = GCLK_GENERATOR_0; - 17884: 3101 adds r1, #1 - 17886: 5443 strb r3, [r0, r1] + 178fc: 3101 adds r1, #1 + 178fe: 5443 strb r3, [r0, r1] config->pinmux_pad0 = PINMUX_DEFAULT; config->pinmux_pad1 = PINMUX_DEFAULT; config->pinmux_pad2 = PINMUX_DEFAULT; config->pinmux_pad3 = PINMUX_DEFAULT; #ifdef FEATURE_USART_OVER_SAMPLE config->sample_adjustment = USART_SAMPLE_ADJUSTMENT_7_8_9; - 17888: 9305 str r3, [sp, #20] + 17900: 9305 str r3, [sp, #20] config->sample_rate = USART_SAMPLE_RATE_16X_ARITHMETIC; - 1788a: 8203 strh r3, [r0, #16] + 17902: 8203 strh r3, [r0, #16] #endif #ifdef FEATURE_USART_LIN_SLAVE config->lin_slave_enable = false; - 1788c: 76c3 strb r3, [r0, #27] + 17904: 76c3 strb r3, [r0, #27] config->lin_header_delay = LIN_MASTER_HEADER_DELAY_0; config->lin_break_length = LIN_MASTER_BREAK_LENGTH_13_BIT; #endif #ifdef FEATURE_USART_IMMEDIATE_BUFFER_OVERFLOW_NOTIFICATION config->immediate_buffer_overflow_notification = false; - 1788e: 7602 strb r2, [r0, #24] + 17906: 7602 strb r2, [r0, #24] #endif #ifdef FEATURE_USART_START_FRAME_DECTION config->start_frame_detection_enable = false; - 17890: 7702 strb r2, [r0, #28] + 17908: 7702 strb r2, [r0, #28] #endif #ifdef FEATURE_USART_IRDA config->encoding_format_enable = false; - 17892: 7642 strb r2, [r0, #25] + 1790a: 7642 strb r2, [r0, #25] config->receive_pulse_length = 19; - 17894: 2313 movs r3, #19 - 17896: 7683 strb r3, [r0, #26] + 1790c: 2313 movs r3, #19 + 1790e: 7683 strb r3, [r0, #26] config->iso7816_config.inhibit_nack = ISO7816_INHIBIT_NACK_DISABLE; config->iso7816_config.successive_recv_nack = ISO7816_SUCCESSIVE_RECV_NACK_DISABLE; config->iso7816_config.max_iterations = 7; #endif #ifdef FEATURE_USART_COLLISION_DECTION config->collision_detection_enable = false; - 17898: 7742 strb r2, [r0, #29] + 17910: 7742 strb r2, [r0, #29] p_debug_conf.baudrate = USART_DEBUG_BAUDRATE; - 1789a: 23e1 movs r3, #225 ; 0xe1 - 1789c: 025b lsls r3, r3, #9 - 1789e: 9308 str r3, [sp, #32] + 17912: 23e1 movs r3, #225 ; 0xe1 + 17914: 025b lsls r3, r3, #9 + 17916: 9308 str r3, [sp, #32] p_debug_conf.pinmux_pad0 = USART_DEBUG_PINMUX_PAD0; - 178a0: 4b18 ldr r3, [pc, #96] ; (17904 ) - 178a2: 930c str r3, [sp, #48] ; 0x30 + 17918: 4b18 ldr r3, [pc, #96] ; (1797c ) + 1791a: 930c str r3, [sp, #48] ; 0x30 p_debug_conf.pinmux_pad1 = USART_DEBUG_PINMUX_PAD1; - 178a4: 4b18 ldr r3, [pc, #96] ; (17908 ) - 178a6: 930d str r3, [sp, #52] ; 0x34 + 1791c: 4b18 ldr r3, [pc, #96] ; (17980 ) + 1791e: 930d str r3, [sp, #52] ; 0x34 p_debug_conf.pinmux_pad2 = USART_DEBUG_PINMUX_PAD2; - 178a8: 2301 movs r3, #1 - 178aa: 425b negs r3, r3 - 178ac: 930e str r3, [sp, #56] ; 0x38 + 17920: 2301 movs r3, #1 + 17922: 425b negs r3, r3 + 17924: 930e str r3, [sp, #56] ; 0x38 p_debug_conf.pinmux_pad3 = USART_DEBUG_PINMUX_PAD3; - 178ae: 930f str r3, [sp, #60] ; 0x3c + 17926: 930f str r3, [sp, #60] ; 0x3c p_debug_conf.mux_setting = USART_DEBUG_MUX_SETTING; - 178b0: 2380 movs r3, #128 ; 0x80 - 178b2: 035b lsls r3, r3, #13 - 178b4: 9303 str r3, [sp, #12] + 17928: 2380 movs r3, #128 ; 0x80 + 1792a: 035b lsls r3, r3, #13 + 1792c: 9303 str r3, [sp, #12] usart_init(&p_debug_inst, USART_DEBUG_MODULE, &p_debug_conf); - 178b6: 4e15 ldr r6, [pc, #84] ; (1790c ) - 178b8: 466a mov r2, sp - 178ba: 4915 ldr r1, [pc, #84] ; (17910 ) - 178bc: 0030 movs r0, r6 - 178be: 4b15 ldr r3, [pc, #84] ; (17914 ) - 178c0: 4798 blx r3 + 1792e: 4e15 ldr r6, [pc, #84] ; (17984 ) + 17930: 466a mov r2, sp + 17932: 4915 ldr r1, [pc, #84] ; (17988 ) + 17934: 0030 movs r0, r6 + 17936: 4b15 ldr r3, [pc, #84] ; (1798c ) + 17938: 4798 blx r3 /* Sanity check arguments */ Assert(module); Assert(module->hw); /* Get a pointer to the hardware module instance */ SercomUsart *const usart_hw = &(module->hw->USART); - 178c2: 6835 ldr r5, [r6, #0] + 1793a: 6835 ldr r5, [r6, #0] #if USART_CALLBACK_MODE == true /* Enable Global interrupt for module */ system_interrupt_enable(_sercom_get_interrupt_vector(module->hw)); - 178c4: 0028 movs r0, r5 - 178c6: 4b14 ldr r3, [pc, #80] ; (17918 ) - 178c8: 4798 blx r3 + 1793c: 0028 movs r0, r5 + 1793e: 4b14 ldr r3, [pc, #80] ; (17990 ) + 17940: 4798 blx r3 * \param[in] vector Interrupt vector to enable */ static inline void system_interrupt_enable( const enum system_interrupt_vector vector) { NVIC->ISER[0] = (uint32_t)(1 << ((uint32_t)vector & 0x0000001f)); - 178ca: 231f movs r3, #31 - 178cc: 4018 ands r0, r3 - 178ce: 4084 lsls r4, r0 - 178d0: 4b12 ldr r3, [pc, #72] ; (1791c ) - 178d2: 601c str r4, [r3, #0] + 17942: 231f movs r3, #31 + 17944: 4018 ands r0, r3 + 17946: 4084 lsls r4, r0 + 17948: 4b12 ldr r3, [pc, #72] ; (17994 ) + 1794a: 601c str r4, [r3, #0] SercomUsart *const usart_hw = &(module->hw->USART); - 178d4: 6832 ldr r2, [r6, #0] + 1794c: 6832 ldr r2, [r6, #0] return (usart_hw->SYNCBUSY.reg); - 178d6: 69d3 ldr r3, [r2, #28] + 1794e: 69d3 ldr r3, [r2, #28] while (usart_is_syncing(module)) { - 178d8: 2b00 cmp r3, #0 - 178da: d1fc bne.n 178d6 + 17950: 2b00 cmp r3, #0 + 17952: d1fc bne.n 1794e /* Wait until synchronization is complete */ _usart_wait_for_sync(module); /* Enable USART module */ usart_hw->CTRLA.reg |= SERCOM_USART_CTRLA_ENABLE; - 178dc: 682b ldr r3, [r5, #0] - 178de: 2202 movs r2, #2 - 178e0: 4313 orrs r3, r2 - 178e2: 602b str r3, [r5, #0] + 17954: 682b ldr r3, [r5, #0] + 17956: 2202 movs r2, #2 + 17958: 4313 orrs r3, r2 + 1795a: 602b str r3, [r5, #0] usart_register_callback(&p_debug_inst, p_debug_rx_cb, USART_CALLBACK_BUFFER_RECEIVED); - 178e4: 4c09 ldr r4, [pc, #36] ; (1790c ) - 178e6: 3a01 subs r2, #1 - 178e8: 490d ldr r1, [pc, #52] ; (17920 ) - 178ea: 0020 movs r0, r4 - 178ec: 4b0d ldr r3, [pc, #52] ; (17924 ) - 178ee: 4798 blx r3 + 1795c: 4c09 ldr r4, [pc, #36] ; (17984 ) + 1795e: 3a01 subs r2, #1 + 17960: 490d ldr r1, [pc, #52] ; (17998 ) + 17962: 0020 movs r0, r4 + 17964: 4b0d ldr r3, [pc, #52] ; (1799c ) + 17966: 4798 blx r3 { /* Sanity check arguments */ Assert(module); /* Enable callback */ module->callback_enable_mask |= (1 << callback_type); - 178f0: 2231 movs r2, #49 ; 0x31 - 178f2: 5ca3 ldrb r3, [r4, r2] - 178f4: 2102 movs r1, #2 - 178f6: 430b orrs r3, r1 - 178f8: 54a3 strb r3, [r4, r2] + 17968: 2231 movs r2, #49 ; 0x31 + 1796a: 5ca3 ldrb r3, [r4, r2] + 1796c: 2102 movs r1, #2 + 1796e: 430b orrs r3, r1 + 17970: 54a3 strb r3, [r4, r2] p_printf("Hello WOrld\n"); - 178fa: 480b ldr r0, [pc, #44] ; (17928 ) - 178fc: 4b0b ldr r3, [pc, #44] ; (1792c ) - 178fe: 4798 blx r3 -} - 17900: b010 add sp, #64 ; 0x40 - 17902: bd70 pop {r4, r5, r6, pc} - 17904: 00160002 .word 0x00160002 - 17908: 00170002 .word 0x00170002 - 1790c: 20004c58 .word 0x20004c58 - 17910: 42001400 .word 0x42001400 - 17914: 000005a9 .word 0x000005a9 - 17918: 00000bb5 .word 0x00000bb5 - 1791c: e000e100 .word 0xe000e100 - 17920: 00017931 .word 0x00017931 - 17924: 000009c9 .word 0x000009c9 - 17928: 0001ca1c .word 0x0001ca1c - 1792c: 000177f5 .word 0x000177f5 - -00017930 : -{ - 17930: b510 push {r4, lr} + 17972: 480b ldr r0, [pc, #44] ; (179a0 ) + 17974: 4b0b ldr r3, [pc, #44] ; (179a4 ) + 17976: 4798 blx r3 +} + 17978: b010 add sp, #64 ; 0x40 + 1797a: bd70 pop {r4, r5, r6, pc} + 1797c: 00160002 .word 0x00160002 + 17980: 00170002 .word 0x00170002 + 17984: 20004c58 .word 0x20004c58 + 17988: 42001400 .word 0x42001400 + 1798c: 000005b1 .word 0x000005b1 + 17990: 00000c1d .word 0x00000c1d + 17994: e000e100 .word 0xe000e100 + 17998: 000179a9 .word 0x000179a9 + 1799c: 00000a21 .word 0x00000a21 + 179a0: 0001caac .word 0x0001caac + 179a4: 0001785d .word 0x0001785d + +000179a8 : +{ + 179a8: b510 push {r4, lr} p_printf("%c", (char)rx_char); - 17932: 4b03 ldr r3, [pc, #12] ; (17940 ) - 17934: 8819 ldrh r1, [r3, #0] - 17936: b2c9 uxtb r1, r1 - 17938: 4802 ldr r0, [pc, #8] ; (17944 ) - 1793a: 4b03 ldr r3, [pc, #12] ; (17948 ) - 1793c: 4798 blx r3 -} - 1793e: bd10 pop {r4, pc} - 17940: 20004e30 .word 0x20004e30 - 17944: 0001ca18 .word 0x0001ca18 - 17948: 000177f5 .word 0x000177f5 - -0001794c
: + 179aa: 4b03 ldr r3, [pc, #12] ; (179b8 ) + 179ac: 8819 ldrh r1, [r3, #0] + 179ae: b2c9 uxtb r1, r1 + 179b0: 4802 ldr r0, [pc, #8] ; (179bc ) + 179b2: 4b03 ldr r3, [pc, #12] ; (179c0 ) + 179b4: 4798 blx r3 +} + 179b6: bd10 pop {r4, pc} + 179b8: 20004e30 .word 0x20004e30 + 179bc: 0001caa8 .word 0x0001caa8 + 179c0: 0001785d .word 0x0001785d + +000179c4 : + +void p_debug_start_service(void) +{ + 179c4: b510 push {r4, lr} + usart_read_job(&p_debug_inst, &rx_char); + 179c6: 4902 ldr r1, [pc, #8] ; (179d0 ) + 179c8: 4802 ldr r0, [pc, #8] ; (179d4 ) + 179ca: 4b03 ldr r3, [pc, #12] ; (179d8 ) + 179cc: 4798 blx r3 +} + 179ce: bd10 pop {r4, pc} + 179d0: 20004e30 .word 0x20004e30 + 179d4: 20004c58 .word 0x20004c58 + 179d8: 00000a39 .word 0x00000a39 + +000179dc
: /* * Support and FAQ: visit Microchip Support */ #include "oracle.h" int main (void) { - 1794c: b510 push {r4, lr} + 179dc: b510 push {r4, lr} oracle_init(); - 1794e: 4b02 ldr r3, [pc, #8] ; (17958 ) - 17950: 4798 blx r3 + 179de: 4b02 ldr r3, [pc, #8] ; (179e8 ) + 179e0: 4798 blx r3 for(;;) { oracle_service(); - 17952: 4c02 ldr r4, [pc, #8] ; (1795c ) - 17954: 47a0 blx r4 - 17956: e7fd b.n 17954 - 17958: 00000169 .word 0x00000169 - 1795c: 000001f5 .word 0x000001f5 - -00017960 <__udivsi3>: - 17960: 2200 movs r2, #0 - 17962: 0843 lsrs r3, r0, #1 - 17964: 428b cmp r3, r1 - 17966: d374 bcc.n 17a52 <__udivsi3+0xf2> - 17968: 0903 lsrs r3, r0, #4 - 1796a: 428b cmp r3, r1 - 1796c: d35f bcc.n 17a2e <__udivsi3+0xce> - 1796e: 0a03 lsrs r3, r0, #8 - 17970: 428b cmp r3, r1 - 17972: d344 bcc.n 179fe <__udivsi3+0x9e> - 17974: 0b03 lsrs r3, r0, #12 - 17976: 428b cmp r3, r1 - 17978: d328 bcc.n 179cc <__udivsi3+0x6c> - 1797a: 0c03 lsrs r3, r0, #16 - 1797c: 428b cmp r3, r1 - 1797e: d30d bcc.n 1799c <__udivsi3+0x3c> - 17980: 22ff movs r2, #255 ; 0xff - 17982: 0209 lsls r1, r1, #8 - 17984: ba12 rev r2, r2 - 17986: 0c03 lsrs r3, r0, #16 - 17988: 428b cmp r3, r1 - 1798a: d302 bcc.n 17992 <__udivsi3+0x32> - 1798c: 1212 asrs r2, r2, #8 - 1798e: 0209 lsls r1, r1, #8 - 17990: d065 beq.n 17a5e <__udivsi3+0xfe> - 17992: 0b03 lsrs r3, r0, #12 - 17994: 428b cmp r3, r1 - 17996: d319 bcc.n 179cc <__udivsi3+0x6c> - 17998: e000 b.n 1799c <__udivsi3+0x3c> - 1799a: 0a09 lsrs r1, r1, #8 - 1799c: 0bc3 lsrs r3, r0, #15 - 1799e: 428b cmp r3, r1 - 179a0: d301 bcc.n 179a6 <__udivsi3+0x46> - 179a2: 03cb lsls r3, r1, #15 - 179a4: 1ac0 subs r0, r0, r3 - 179a6: 4152 adcs r2, r2 - 179a8: 0b83 lsrs r3, r0, #14 - 179aa: 428b cmp r3, r1 - 179ac: d301 bcc.n 179b2 <__udivsi3+0x52> - 179ae: 038b lsls r3, r1, #14 - 179b0: 1ac0 subs r0, r0, r3 - 179b2: 4152 adcs r2, r2 - 179b4: 0b43 lsrs r3, r0, #13 - 179b6: 428b cmp r3, r1 - 179b8: d301 bcc.n 179be <__udivsi3+0x5e> - 179ba: 034b lsls r3, r1, #13 - 179bc: 1ac0 subs r0, r0, r3 - 179be: 4152 adcs r2, r2 - 179c0: 0b03 lsrs r3, r0, #12 - 179c2: 428b cmp r3, r1 - 179c4: d301 bcc.n 179ca <__udivsi3+0x6a> - 179c6: 030b lsls r3, r1, #12 - 179c8: 1ac0 subs r0, r0, r3 - 179ca: 4152 adcs r2, r2 - 179cc: 0ac3 lsrs r3, r0, #11 - 179ce: 428b cmp r3, r1 - 179d0: d301 bcc.n 179d6 <__udivsi3+0x76> - 179d2: 02cb lsls r3, r1, #11 - 179d4: 1ac0 subs r0, r0, r3 - 179d6: 4152 adcs r2, r2 - 179d8: 0a83 lsrs r3, r0, #10 - 179da: 428b cmp r3, r1 - 179dc: d301 bcc.n 179e2 <__udivsi3+0x82> - 179de: 028b lsls r3, r1, #10 - 179e0: 1ac0 subs r0, r0, r3 - 179e2: 4152 adcs r2, r2 - 179e4: 0a43 lsrs r3, r0, #9 - 179e6: 428b cmp r3, r1 - 179e8: d301 bcc.n 179ee <__udivsi3+0x8e> - 179ea: 024b lsls r3, r1, #9 - 179ec: 1ac0 subs r0, r0, r3 - 179ee: 4152 adcs r2, r2 - 179f0: 0a03 lsrs r3, r0, #8 - 179f2: 428b cmp r3, r1 - 179f4: d301 bcc.n 179fa <__udivsi3+0x9a> - 179f6: 020b lsls r3, r1, #8 - 179f8: 1ac0 subs r0, r0, r3 - 179fa: 4152 adcs r2, r2 - 179fc: d2cd bcs.n 1799a <__udivsi3+0x3a> - 179fe: 09c3 lsrs r3, r0, #7 + 179e2: 4c02 ldr r4, [pc, #8] ; (179ec ) + 179e4: 47a0 blx r4 + 179e6: e7fd b.n 179e4 + 179e8: 00000169 .word 0x00000169 + 179ec: 000001fd .word 0x000001fd + +000179f0 <__udivsi3>: + 179f0: 2200 movs r2, #0 + 179f2: 0843 lsrs r3, r0, #1 + 179f4: 428b cmp r3, r1 + 179f6: d374 bcc.n 17ae2 <__udivsi3+0xf2> + 179f8: 0903 lsrs r3, r0, #4 + 179fa: 428b cmp r3, r1 + 179fc: d35f bcc.n 17abe <__udivsi3+0xce> + 179fe: 0a03 lsrs r3, r0, #8 17a00: 428b cmp r3, r1 - 17a02: d301 bcc.n 17a08 <__udivsi3+0xa8> - 17a04: 01cb lsls r3, r1, #7 - 17a06: 1ac0 subs r0, r0, r3 - 17a08: 4152 adcs r2, r2 - 17a0a: 0983 lsrs r3, r0, #6 + 17a02: d344 bcc.n 17a8e <__udivsi3+0x9e> + 17a04: 0b03 lsrs r3, r0, #12 + 17a06: 428b cmp r3, r1 + 17a08: d328 bcc.n 17a5c <__udivsi3+0x6c> + 17a0a: 0c03 lsrs r3, r0, #16 17a0c: 428b cmp r3, r1 - 17a0e: d301 bcc.n 17a14 <__udivsi3+0xb4> - 17a10: 018b lsls r3, r1, #6 - 17a12: 1ac0 subs r0, r0, r3 - 17a14: 4152 adcs r2, r2 - 17a16: 0943 lsrs r3, r0, #5 + 17a0e: d30d bcc.n 17a2c <__udivsi3+0x3c> + 17a10: 22ff movs r2, #255 ; 0xff + 17a12: 0209 lsls r1, r1, #8 + 17a14: ba12 rev r2, r2 + 17a16: 0c03 lsrs r3, r0, #16 17a18: 428b cmp r3, r1 - 17a1a: d301 bcc.n 17a20 <__udivsi3+0xc0> - 17a1c: 014b lsls r3, r1, #5 - 17a1e: 1ac0 subs r0, r0, r3 - 17a20: 4152 adcs r2, r2 - 17a22: 0903 lsrs r3, r0, #4 + 17a1a: d302 bcc.n 17a22 <__udivsi3+0x32> + 17a1c: 1212 asrs r2, r2, #8 + 17a1e: 0209 lsls r1, r1, #8 + 17a20: d065 beq.n 17aee <__udivsi3+0xfe> + 17a22: 0b03 lsrs r3, r0, #12 17a24: 428b cmp r3, r1 - 17a26: d301 bcc.n 17a2c <__udivsi3+0xcc> - 17a28: 010b lsls r3, r1, #4 - 17a2a: 1ac0 subs r0, r0, r3 - 17a2c: 4152 adcs r2, r2 - 17a2e: 08c3 lsrs r3, r0, #3 - 17a30: 428b cmp r3, r1 - 17a32: d301 bcc.n 17a38 <__udivsi3+0xd8> - 17a34: 00cb lsls r3, r1, #3 - 17a36: 1ac0 subs r0, r0, r3 - 17a38: 4152 adcs r2, r2 - 17a3a: 0883 lsrs r3, r0, #2 - 17a3c: 428b cmp r3, r1 - 17a3e: d301 bcc.n 17a44 <__udivsi3+0xe4> - 17a40: 008b lsls r3, r1, #2 - 17a42: 1ac0 subs r0, r0, r3 - 17a44: 4152 adcs r2, r2 - 17a46: 0843 lsrs r3, r0, #1 - 17a48: 428b cmp r3, r1 - 17a4a: d301 bcc.n 17a50 <__udivsi3+0xf0> - 17a4c: 004b lsls r3, r1, #1 - 17a4e: 1ac0 subs r0, r0, r3 - 17a50: 4152 adcs r2, r2 - 17a52: 1a41 subs r1, r0, r1 - 17a54: d200 bcs.n 17a58 <__udivsi3+0xf8> - 17a56: 4601 mov r1, r0 - 17a58: 4152 adcs r2, r2 - 17a5a: 4610 mov r0, r2 - 17a5c: 4770 bx lr - 17a5e: e7ff b.n 17a60 <__udivsi3+0x100> - 17a60: b501 push {r0, lr} - 17a62: 2000 movs r0, #0 - 17a64: f000 f8f0 bl 17c48 <__aeabi_idiv0> - 17a68: bd02 pop {r1, pc} - 17a6a: 46c0 nop ; (mov r8, r8) - -00017a6c <__aeabi_uidivmod>: - 17a6c: 2900 cmp r1, #0 - 17a6e: d0f7 beq.n 17a60 <__udivsi3+0x100> - 17a70: e776 b.n 17960 <__udivsi3> - 17a72: 4770 bx lr - -00017a74 <__divsi3>: - 17a74: 4603 mov r3, r0 - 17a76: 430b orrs r3, r1 - 17a78: d47f bmi.n 17b7a <__divsi3+0x106> - 17a7a: 2200 movs r2, #0 - 17a7c: 0843 lsrs r3, r0, #1 - 17a7e: 428b cmp r3, r1 - 17a80: d374 bcc.n 17b6c <__divsi3+0xf8> - 17a82: 0903 lsrs r3, r0, #4 - 17a84: 428b cmp r3, r1 - 17a86: d35f bcc.n 17b48 <__divsi3+0xd4> - 17a88: 0a03 lsrs r3, r0, #8 - 17a8a: 428b cmp r3, r1 - 17a8c: d344 bcc.n 17b18 <__divsi3+0xa4> - 17a8e: 0b03 lsrs r3, r0, #12 + 17a26: d319 bcc.n 17a5c <__udivsi3+0x6c> + 17a28: e000 b.n 17a2c <__udivsi3+0x3c> + 17a2a: 0a09 lsrs r1, r1, #8 + 17a2c: 0bc3 lsrs r3, r0, #15 + 17a2e: 428b cmp r3, r1 + 17a30: d301 bcc.n 17a36 <__udivsi3+0x46> + 17a32: 03cb lsls r3, r1, #15 + 17a34: 1ac0 subs r0, r0, r3 + 17a36: 4152 adcs r2, r2 + 17a38: 0b83 lsrs r3, r0, #14 + 17a3a: 428b cmp r3, r1 + 17a3c: d301 bcc.n 17a42 <__udivsi3+0x52> + 17a3e: 038b lsls r3, r1, #14 + 17a40: 1ac0 subs r0, r0, r3 + 17a42: 4152 adcs r2, r2 + 17a44: 0b43 lsrs r3, r0, #13 + 17a46: 428b cmp r3, r1 + 17a48: d301 bcc.n 17a4e <__udivsi3+0x5e> + 17a4a: 034b lsls r3, r1, #13 + 17a4c: 1ac0 subs r0, r0, r3 + 17a4e: 4152 adcs r2, r2 + 17a50: 0b03 lsrs r3, r0, #12 + 17a52: 428b cmp r3, r1 + 17a54: d301 bcc.n 17a5a <__udivsi3+0x6a> + 17a56: 030b lsls r3, r1, #12 + 17a58: 1ac0 subs r0, r0, r3 + 17a5a: 4152 adcs r2, r2 + 17a5c: 0ac3 lsrs r3, r0, #11 + 17a5e: 428b cmp r3, r1 + 17a60: d301 bcc.n 17a66 <__udivsi3+0x76> + 17a62: 02cb lsls r3, r1, #11 + 17a64: 1ac0 subs r0, r0, r3 + 17a66: 4152 adcs r2, r2 + 17a68: 0a83 lsrs r3, r0, #10 + 17a6a: 428b cmp r3, r1 + 17a6c: d301 bcc.n 17a72 <__udivsi3+0x82> + 17a6e: 028b lsls r3, r1, #10 + 17a70: 1ac0 subs r0, r0, r3 + 17a72: 4152 adcs r2, r2 + 17a74: 0a43 lsrs r3, r0, #9 + 17a76: 428b cmp r3, r1 + 17a78: d301 bcc.n 17a7e <__udivsi3+0x8e> + 17a7a: 024b lsls r3, r1, #9 + 17a7c: 1ac0 subs r0, r0, r3 + 17a7e: 4152 adcs r2, r2 + 17a80: 0a03 lsrs r3, r0, #8 + 17a82: 428b cmp r3, r1 + 17a84: d301 bcc.n 17a8a <__udivsi3+0x9a> + 17a86: 020b lsls r3, r1, #8 + 17a88: 1ac0 subs r0, r0, r3 + 17a8a: 4152 adcs r2, r2 + 17a8c: d2cd bcs.n 17a2a <__udivsi3+0x3a> + 17a8e: 09c3 lsrs r3, r0, #7 17a90: 428b cmp r3, r1 - 17a92: d328 bcc.n 17ae6 <__divsi3+0x72> - 17a94: 0c03 lsrs r3, r0, #16 - 17a96: 428b cmp r3, r1 - 17a98: d30d bcc.n 17ab6 <__divsi3+0x42> - 17a9a: 22ff movs r2, #255 ; 0xff - 17a9c: 0209 lsls r1, r1, #8 - 17a9e: ba12 rev r2, r2 - 17aa0: 0c03 lsrs r3, r0, #16 - 17aa2: 428b cmp r3, r1 - 17aa4: d302 bcc.n 17aac <__divsi3+0x38> - 17aa6: 1212 asrs r2, r2, #8 - 17aa8: 0209 lsls r1, r1, #8 - 17aaa: d065 beq.n 17b78 <__divsi3+0x104> - 17aac: 0b03 lsrs r3, r0, #12 - 17aae: 428b cmp r3, r1 - 17ab0: d319 bcc.n 17ae6 <__divsi3+0x72> - 17ab2: e000 b.n 17ab6 <__divsi3+0x42> - 17ab4: 0a09 lsrs r1, r1, #8 - 17ab6: 0bc3 lsrs r3, r0, #15 - 17ab8: 428b cmp r3, r1 - 17aba: d301 bcc.n 17ac0 <__divsi3+0x4c> - 17abc: 03cb lsls r3, r1, #15 - 17abe: 1ac0 subs r0, r0, r3 - 17ac0: 4152 adcs r2, r2 - 17ac2: 0b83 lsrs r3, r0, #14 - 17ac4: 428b cmp r3, r1 - 17ac6: d301 bcc.n 17acc <__divsi3+0x58> - 17ac8: 038b lsls r3, r1, #14 - 17aca: 1ac0 subs r0, r0, r3 - 17acc: 4152 adcs r2, r2 - 17ace: 0b43 lsrs r3, r0, #13 - 17ad0: 428b cmp r3, r1 - 17ad2: d301 bcc.n 17ad8 <__divsi3+0x64> - 17ad4: 034b lsls r3, r1, #13 - 17ad6: 1ac0 subs r0, r0, r3 - 17ad8: 4152 adcs r2, r2 - 17ada: 0b03 lsrs r3, r0, #12 - 17adc: 428b cmp r3, r1 - 17ade: d301 bcc.n 17ae4 <__divsi3+0x70> - 17ae0: 030b lsls r3, r1, #12 - 17ae2: 1ac0 subs r0, r0, r3 - 17ae4: 4152 adcs r2, r2 - 17ae6: 0ac3 lsrs r3, r0, #11 - 17ae8: 428b cmp r3, r1 - 17aea: d301 bcc.n 17af0 <__divsi3+0x7c> - 17aec: 02cb lsls r3, r1, #11 - 17aee: 1ac0 subs r0, r0, r3 - 17af0: 4152 adcs r2, r2 - 17af2: 0a83 lsrs r3, r0, #10 - 17af4: 428b cmp r3, r1 - 17af6: d301 bcc.n 17afc <__divsi3+0x88> - 17af8: 028b lsls r3, r1, #10 - 17afa: 1ac0 subs r0, r0, r3 - 17afc: 4152 adcs r2, r2 - 17afe: 0a43 lsrs r3, r0, #9 - 17b00: 428b cmp r3, r1 - 17b02: d301 bcc.n 17b08 <__divsi3+0x94> - 17b04: 024b lsls r3, r1, #9 - 17b06: 1ac0 subs r0, r0, r3 - 17b08: 4152 adcs r2, r2 - 17b0a: 0a03 lsrs r3, r0, #8 - 17b0c: 428b cmp r3, r1 - 17b0e: d301 bcc.n 17b14 <__divsi3+0xa0> - 17b10: 020b lsls r3, r1, #8 - 17b12: 1ac0 subs r0, r0, r3 - 17b14: 4152 adcs r2, r2 - 17b16: d2cd bcs.n 17ab4 <__divsi3+0x40> - 17b18: 09c3 lsrs r3, r0, #7 + 17a92: d301 bcc.n 17a98 <__udivsi3+0xa8> + 17a94: 01cb lsls r3, r1, #7 + 17a96: 1ac0 subs r0, r0, r3 + 17a98: 4152 adcs r2, r2 + 17a9a: 0983 lsrs r3, r0, #6 + 17a9c: 428b cmp r3, r1 + 17a9e: d301 bcc.n 17aa4 <__udivsi3+0xb4> + 17aa0: 018b lsls r3, r1, #6 + 17aa2: 1ac0 subs r0, r0, r3 + 17aa4: 4152 adcs r2, r2 + 17aa6: 0943 lsrs r3, r0, #5 + 17aa8: 428b cmp r3, r1 + 17aaa: d301 bcc.n 17ab0 <__udivsi3+0xc0> + 17aac: 014b lsls r3, r1, #5 + 17aae: 1ac0 subs r0, r0, r3 + 17ab0: 4152 adcs r2, r2 + 17ab2: 0903 lsrs r3, r0, #4 + 17ab4: 428b cmp r3, r1 + 17ab6: d301 bcc.n 17abc <__udivsi3+0xcc> + 17ab8: 010b lsls r3, r1, #4 + 17aba: 1ac0 subs r0, r0, r3 + 17abc: 4152 adcs r2, r2 + 17abe: 08c3 lsrs r3, r0, #3 + 17ac0: 428b cmp r3, r1 + 17ac2: d301 bcc.n 17ac8 <__udivsi3+0xd8> + 17ac4: 00cb lsls r3, r1, #3 + 17ac6: 1ac0 subs r0, r0, r3 + 17ac8: 4152 adcs r2, r2 + 17aca: 0883 lsrs r3, r0, #2 + 17acc: 428b cmp r3, r1 + 17ace: d301 bcc.n 17ad4 <__udivsi3+0xe4> + 17ad0: 008b lsls r3, r1, #2 + 17ad2: 1ac0 subs r0, r0, r3 + 17ad4: 4152 adcs r2, r2 + 17ad6: 0843 lsrs r3, r0, #1 + 17ad8: 428b cmp r3, r1 + 17ada: d301 bcc.n 17ae0 <__udivsi3+0xf0> + 17adc: 004b lsls r3, r1, #1 + 17ade: 1ac0 subs r0, r0, r3 + 17ae0: 4152 adcs r2, r2 + 17ae2: 1a41 subs r1, r0, r1 + 17ae4: d200 bcs.n 17ae8 <__udivsi3+0xf8> + 17ae6: 4601 mov r1, r0 + 17ae8: 4152 adcs r2, r2 + 17aea: 4610 mov r0, r2 + 17aec: 4770 bx lr + 17aee: e7ff b.n 17af0 <__udivsi3+0x100> + 17af0: b501 push {r0, lr} + 17af2: 2000 movs r0, #0 + 17af4: f000 f8f0 bl 17cd8 <__aeabi_idiv0> + 17af8: bd02 pop {r1, pc} + 17afa: 46c0 nop ; (mov r8, r8) + +00017afc <__aeabi_uidivmod>: + 17afc: 2900 cmp r1, #0 + 17afe: d0f7 beq.n 17af0 <__udivsi3+0x100> + 17b00: e776 b.n 179f0 <__udivsi3> + 17b02: 4770 bx lr + +00017b04 <__divsi3>: + 17b04: 4603 mov r3, r0 + 17b06: 430b orrs r3, r1 + 17b08: d47f bmi.n 17c0a <__divsi3+0x106> + 17b0a: 2200 movs r2, #0 + 17b0c: 0843 lsrs r3, r0, #1 + 17b0e: 428b cmp r3, r1 + 17b10: d374 bcc.n 17bfc <__divsi3+0xf8> + 17b12: 0903 lsrs r3, r0, #4 + 17b14: 428b cmp r3, r1 + 17b16: d35f bcc.n 17bd8 <__divsi3+0xd4> + 17b18: 0a03 lsrs r3, r0, #8 17b1a: 428b cmp r3, r1 - 17b1c: d301 bcc.n 17b22 <__divsi3+0xae> - 17b1e: 01cb lsls r3, r1, #7 - 17b20: 1ac0 subs r0, r0, r3 - 17b22: 4152 adcs r2, r2 - 17b24: 0983 lsrs r3, r0, #6 + 17b1c: d344 bcc.n 17ba8 <__divsi3+0xa4> + 17b1e: 0b03 lsrs r3, r0, #12 + 17b20: 428b cmp r3, r1 + 17b22: d328 bcc.n 17b76 <__divsi3+0x72> + 17b24: 0c03 lsrs r3, r0, #16 17b26: 428b cmp r3, r1 - 17b28: d301 bcc.n 17b2e <__divsi3+0xba> - 17b2a: 018b lsls r3, r1, #6 - 17b2c: 1ac0 subs r0, r0, r3 - 17b2e: 4152 adcs r2, r2 - 17b30: 0943 lsrs r3, r0, #5 + 17b28: d30d bcc.n 17b46 <__divsi3+0x42> + 17b2a: 22ff movs r2, #255 ; 0xff + 17b2c: 0209 lsls r1, r1, #8 + 17b2e: ba12 rev r2, r2 + 17b30: 0c03 lsrs r3, r0, #16 17b32: 428b cmp r3, r1 - 17b34: d301 bcc.n 17b3a <__divsi3+0xc6> - 17b36: 014b lsls r3, r1, #5 - 17b38: 1ac0 subs r0, r0, r3 - 17b3a: 4152 adcs r2, r2 - 17b3c: 0903 lsrs r3, r0, #4 + 17b34: d302 bcc.n 17b3c <__divsi3+0x38> + 17b36: 1212 asrs r2, r2, #8 + 17b38: 0209 lsls r1, r1, #8 + 17b3a: d065 beq.n 17c08 <__divsi3+0x104> + 17b3c: 0b03 lsrs r3, r0, #12 17b3e: 428b cmp r3, r1 - 17b40: d301 bcc.n 17b46 <__divsi3+0xd2> - 17b42: 010b lsls r3, r1, #4 - 17b44: 1ac0 subs r0, r0, r3 - 17b46: 4152 adcs r2, r2 - 17b48: 08c3 lsrs r3, r0, #3 - 17b4a: 428b cmp r3, r1 - 17b4c: d301 bcc.n 17b52 <__divsi3+0xde> - 17b4e: 00cb lsls r3, r1, #3 - 17b50: 1ac0 subs r0, r0, r3 - 17b52: 4152 adcs r2, r2 - 17b54: 0883 lsrs r3, r0, #2 - 17b56: 428b cmp r3, r1 - 17b58: d301 bcc.n 17b5e <__divsi3+0xea> - 17b5a: 008b lsls r3, r1, #2 - 17b5c: 1ac0 subs r0, r0, r3 - 17b5e: 4152 adcs r2, r2 - 17b60: 0843 lsrs r3, r0, #1 - 17b62: 428b cmp r3, r1 - 17b64: d301 bcc.n 17b6a <__divsi3+0xf6> - 17b66: 004b lsls r3, r1, #1 - 17b68: 1ac0 subs r0, r0, r3 - 17b6a: 4152 adcs r2, r2 - 17b6c: 1a41 subs r1, r0, r1 - 17b6e: d200 bcs.n 17b72 <__divsi3+0xfe> - 17b70: 4601 mov r1, r0 - 17b72: 4152 adcs r2, r2 - 17b74: 4610 mov r0, r2 - 17b76: 4770 bx lr - 17b78: e05d b.n 17c36 <__divsi3+0x1c2> - 17b7a: 0fca lsrs r2, r1, #31 - 17b7c: d000 beq.n 17b80 <__divsi3+0x10c> - 17b7e: 4249 negs r1, r1 - 17b80: 1003 asrs r3, r0, #32 - 17b82: d300 bcc.n 17b86 <__divsi3+0x112> - 17b84: 4240 negs r0, r0 - 17b86: 4053 eors r3, r2 - 17b88: 2200 movs r2, #0 - 17b8a: 469c mov ip, r3 - 17b8c: 0903 lsrs r3, r0, #4 - 17b8e: 428b cmp r3, r1 - 17b90: d32d bcc.n 17bee <__divsi3+0x17a> - 17b92: 0a03 lsrs r3, r0, #8 - 17b94: 428b cmp r3, r1 - 17b96: d312 bcc.n 17bbe <__divsi3+0x14a> - 17b98: 22fc movs r2, #252 ; 0xfc - 17b9a: 0189 lsls r1, r1, #6 - 17b9c: ba12 rev r2, r2 - 17b9e: 0a03 lsrs r3, r0, #8 - 17ba0: 428b cmp r3, r1 - 17ba2: d30c bcc.n 17bbe <__divsi3+0x14a> - 17ba4: 0189 lsls r1, r1, #6 - 17ba6: 1192 asrs r2, r2, #6 - 17ba8: 428b cmp r3, r1 - 17baa: d308 bcc.n 17bbe <__divsi3+0x14a> - 17bac: 0189 lsls r1, r1, #6 - 17bae: 1192 asrs r2, r2, #6 - 17bb0: 428b cmp r3, r1 - 17bb2: d304 bcc.n 17bbe <__divsi3+0x14a> - 17bb4: 0189 lsls r1, r1, #6 - 17bb6: d03a beq.n 17c2e <__divsi3+0x1ba> - 17bb8: 1192 asrs r2, r2, #6 - 17bba: e000 b.n 17bbe <__divsi3+0x14a> - 17bbc: 0989 lsrs r1, r1, #6 - 17bbe: 09c3 lsrs r3, r0, #7 - 17bc0: 428b cmp r3, r1 - 17bc2: d301 bcc.n 17bc8 <__divsi3+0x154> - 17bc4: 01cb lsls r3, r1, #7 - 17bc6: 1ac0 subs r0, r0, r3 - 17bc8: 4152 adcs r2, r2 - 17bca: 0983 lsrs r3, r0, #6 - 17bcc: 428b cmp r3, r1 - 17bce: d301 bcc.n 17bd4 <__divsi3+0x160> - 17bd0: 018b lsls r3, r1, #6 - 17bd2: 1ac0 subs r0, r0, r3 - 17bd4: 4152 adcs r2, r2 - 17bd6: 0943 lsrs r3, r0, #5 - 17bd8: 428b cmp r3, r1 - 17bda: d301 bcc.n 17be0 <__divsi3+0x16c> - 17bdc: 014b lsls r3, r1, #5 - 17bde: 1ac0 subs r0, r0, r3 - 17be0: 4152 adcs r2, r2 - 17be2: 0903 lsrs r3, r0, #4 - 17be4: 428b cmp r3, r1 - 17be6: d301 bcc.n 17bec <__divsi3+0x178> - 17be8: 010b lsls r3, r1, #4 - 17bea: 1ac0 subs r0, r0, r3 - 17bec: 4152 adcs r2, r2 - 17bee: 08c3 lsrs r3, r0, #3 - 17bf0: 428b cmp r3, r1 - 17bf2: d301 bcc.n 17bf8 <__divsi3+0x184> - 17bf4: 00cb lsls r3, r1, #3 - 17bf6: 1ac0 subs r0, r0, r3 - 17bf8: 4152 adcs r2, r2 - 17bfa: 0883 lsrs r3, r0, #2 - 17bfc: 428b cmp r3, r1 - 17bfe: d301 bcc.n 17c04 <__divsi3+0x190> - 17c00: 008b lsls r3, r1, #2 - 17c02: 1ac0 subs r0, r0, r3 - 17c04: 4152 adcs r2, r2 - 17c06: d2d9 bcs.n 17bbc <__divsi3+0x148> - 17c08: 0843 lsrs r3, r0, #1 - 17c0a: 428b cmp r3, r1 - 17c0c: d301 bcc.n 17c12 <__divsi3+0x19e> - 17c0e: 004b lsls r3, r1, #1 - 17c10: 1ac0 subs r0, r0, r3 - 17c12: 4152 adcs r2, r2 - 17c14: 1a41 subs r1, r0, r1 - 17c16: d200 bcs.n 17c1a <__divsi3+0x1a6> - 17c18: 4601 mov r1, r0 - 17c1a: 4663 mov r3, ip - 17c1c: 4152 adcs r2, r2 - 17c1e: 105b asrs r3, r3, #1 - 17c20: 4610 mov r0, r2 - 17c22: d301 bcc.n 17c28 <__divsi3+0x1b4> - 17c24: 4240 negs r0, r0 - 17c26: 2b00 cmp r3, #0 - 17c28: d500 bpl.n 17c2c <__divsi3+0x1b8> - 17c2a: 4249 negs r1, r1 - 17c2c: 4770 bx lr - 17c2e: 4663 mov r3, ip - 17c30: 105b asrs r3, r3, #1 - 17c32: d300 bcc.n 17c36 <__divsi3+0x1c2> - 17c34: 4240 negs r0, r0 - 17c36: b501 push {r0, lr} - 17c38: 2000 movs r0, #0 - 17c3a: f000 f805 bl 17c48 <__aeabi_idiv0> - 17c3e: bd02 pop {r1, pc} - -00017c40 <__aeabi_idivmod>: - 17c40: 2900 cmp r1, #0 - 17c42: d0f8 beq.n 17c36 <__divsi3+0x1c2> - 17c44: e716 b.n 17a74 <__divsi3> - 17c46: 4770 bx lr - -00017c48 <__aeabi_idiv0>: - 17c48: 4770 bx lr - 17c4a: 46c0 nop ; (mov r8, r8) - -00017c4c <__aeabi_uldivmod>: - 17c4c: 2b00 cmp r3, #0 - 17c4e: d111 bne.n 17c74 <__aeabi_uldivmod+0x28> - 17c50: 2a00 cmp r2, #0 - 17c52: d10f bne.n 17c74 <__aeabi_uldivmod+0x28> - 17c54: 2900 cmp r1, #0 - 17c56: d100 bne.n 17c5a <__aeabi_uldivmod+0xe> - 17c58: 2800 cmp r0, #0 - 17c5a: d002 beq.n 17c62 <__aeabi_uldivmod+0x16> - 17c5c: 2100 movs r1, #0 - 17c5e: 43c9 mvns r1, r1 - 17c60: 1c08 adds r0, r1, #0 - 17c62: b407 push {r0, r1, r2} - 17c64: 4802 ldr r0, [pc, #8] ; (17c70 <__aeabi_uldivmod+0x24>) - 17c66: a102 add r1, pc, #8 ; (adr r1, 17c70 <__aeabi_uldivmod+0x24>) - 17c68: 1840 adds r0, r0, r1 - 17c6a: 9002 str r0, [sp, #8] - 17c6c: bd03 pop {r0, r1, pc} - 17c6e: 46c0 nop ; (mov r8, r8) - 17c70: ffffffd9 .word 0xffffffd9 - 17c74: b403 push {r0, r1} - 17c76: 4668 mov r0, sp - 17c78: b501 push {r0, lr} - 17c7a: 9802 ldr r0, [sp, #8] - 17c7c: f000 f830 bl 17ce0 <__udivmoddi4> - 17c80: 9b01 ldr r3, [sp, #4] - 17c82: 469e mov lr, r3 - 17c84: b002 add sp, #8 - 17c86: bc0c pop {r2, r3} - 17c88: 4770 bx lr - 17c8a: 46c0 nop ; (mov r8, r8) - -00017c8c <__aeabi_lmul>: - 17c8c: b5f0 push {r4, r5, r6, r7, lr} - 17c8e: 46ce mov lr, r9 - 17c90: 4647 mov r7, r8 - 17c92: 0415 lsls r5, r2, #16 - 17c94: 0c2d lsrs r5, r5, #16 - 17c96: 002e movs r6, r5 - 17c98: b580 push {r7, lr} - 17c9a: 0407 lsls r7, r0, #16 - 17c9c: 0c14 lsrs r4, r2, #16 - 17c9e: 0c3f lsrs r7, r7, #16 - 17ca0: 4699 mov r9, r3 - 17ca2: 0c03 lsrs r3, r0, #16 - 17ca4: 437e muls r6, r7 - 17ca6: 435d muls r5, r3 - 17ca8: 4367 muls r7, r4 - 17caa: 4363 muls r3, r4 - 17cac: 197f adds r7, r7, r5 - 17cae: 0c34 lsrs r4, r6, #16 - 17cb0: 19e4 adds r4, r4, r7 - 17cb2: 469c mov ip, r3 - 17cb4: 42a5 cmp r5, r4 - 17cb6: d903 bls.n 17cc0 <__aeabi_lmul+0x34> - 17cb8: 2380 movs r3, #128 ; 0x80 - 17cba: 025b lsls r3, r3, #9 - 17cbc: 4698 mov r8, r3 - 17cbe: 44c4 add ip, r8 - 17cc0: 464b mov r3, r9 - 17cc2: 4351 muls r1, r2 - 17cc4: 4343 muls r3, r0 - 17cc6: 0436 lsls r6, r6, #16 - 17cc8: 0c36 lsrs r6, r6, #16 - 17cca: 0c25 lsrs r5, r4, #16 - 17ccc: 0424 lsls r4, r4, #16 - 17cce: 4465 add r5, ip - 17cd0: 19a4 adds r4, r4, r6 - 17cd2: 1859 adds r1, r3, r1 - 17cd4: 1949 adds r1, r1, r5 - 17cd6: 0020 movs r0, r4 - 17cd8: bc0c pop {r2, r3} - 17cda: 4690 mov r8, r2 - 17cdc: 4699 mov r9, r3 - 17cde: bdf0 pop {r4, r5, r6, r7, pc} - -00017ce0 <__udivmoddi4>: - 17ce0: b5f0 push {r4, r5, r6, r7, lr} - 17ce2: 4657 mov r7, sl - 17ce4: 464e mov r6, r9 - 17ce6: 4645 mov r5, r8 - 17ce8: 46de mov lr, fp - 17cea: b5e0 push {r5, r6, r7, lr} - 17cec: 0004 movs r4, r0 - 17cee: b083 sub sp, #12 - 17cf0: 000d movs r5, r1 - 17cf2: 4692 mov sl, r2 - 17cf4: 4699 mov r9, r3 - 17cf6: 428b cmp r3, r1 - 17cf8: d82f bhi.n 17d5a <__udivmoddi4+0x7a> - 17cfa: d02c beq.n 17d56 <__udivmoddi4+0x76> - 17cfc: 4649 mov r1, r9 - 17cfe: 4650 mov r0, sl - 17d00: f000 f8cc bl 17e9c <__clzdi2> - 17d04: 0029 movs r1, r5 - 17d06: 0006 movs r6, r0 - 17d08: 0020 movs r0, r4 - 17d0a: f000 f8c7 bl 17e9c <__clzdi2> - 17d0e: 1a33 subs r3, r6, r0 - 17d10: 4698 mov r8, r3 - 17d12: 3b20 subs r3, #32 - 17d14: 469b mov fp, r3 - 17d16: d500 bpl.n 17d1a <__udivmoddi4+0x3a> - 17d18: e074 b.n 17e04 <__udivmoddi4+0x124> - 17d1a: 4653 mov r3, sl - 17d1c: 465a mov r2, fp - 17d1e: 4093 lsls r3, r2 - 17d20: 001f movs r7, r3 - 17d22: 4653 mov r3, sl - 17d24: 4642 mov r2, r8 - 17d26: 4093 lsls r3, r2 - 17d28: 001e movs r6, r3 - 17d2a: 42af cmp r7, r5 - 17d2c: d829 bhi.n 17d82 <__udivmoddi4+0xa2> - 17d2e: d026 beq.n 17d7e <__udivmoddi4+0x9e> - 17d30: 465b mov r3, fp - 17d32: 1ba4 subs r4, r4, r6 - 17d34: 41bd sbcs r5, r7 - 17d36: 2b00 cmp r3, #0 - 17d38: da00 bge.n 17d3c <__udivmoddi4+0x5c> - 17d3a: e079 b.n 17e30 <__udivmoddi4+0x150> - 17d3c: 2200 movs r2, #0 - 17d3e: 2300 movs r3, #0 - 17d40: 9200 str r2, [sp, #0] - 17d42: 9301 str r3, [sp, #4] - 17d44: 2301 movs r3, #1 - 17d46: 465a mov r2, fp - 17d48: 4093 lsls r3, r2 - 17d4a: 9301 str r3, [sp, #4] - 17d4c: 2301 movs r3, #1 - 17d4e: 4642 mov r2, r8 - 17d50: 4093 lsls r3, r2 - 17d52: 9300 str r3, [sp, #0] - 17d54: e019 b.n 17d8a <__udivmoddi4+0xaa> - 17d56: 4282 cmp r2, r0 - 17d58: d9d0 bls.n 17cfc <__udivmoddi4+0x1c> - 17d5a: 2200 movs r2, #0 - 17d5c: 2300 movs r3, #0 - 17d5e: 9200 str r2, [sp, #0] - 17d60: 9301 str r3, [sp, #4] - 17d62: 9b0c ldr r3, [sp, #48] ; 0x30 - 17d64: 2b00 cmp r3, #0 - 17d66: d001 beq.n 17d6c <__udivmoddi4+0x8c> - 17d68: 601c str r4, [r3, #0] - 17d6a: 605d str r5, [r3, #4] - 17d6c: 9800 ldr r0, [sp, #0] - 17d6e: 9901 ldr r1, [sp, #4] - 17d70: b003 add sp, #12 - 17d72: bc3c pop {r2, r3, r4, r5} - 17d74: 4690 mov r8, r2 - 17d76: 4699 mov r9, r3 - 17d78: 46a2 mov sl, r4 - 17d7a: 46ab mov fp, r5 - 17d7c: bdf0 pop {r4, r5, r6, r7, pc} - 17d7e: 42a3 cmp r3, r4 - 17d80: d9d6 bls.n 17d30 <__udivmoddi4+0x50> - 17d82: 2200 movs r2, #0 - 17d84: 2300 movs r3, #0 - 17d86: 9200 str r2, [sp, #0] - 17d88: 9301 str r3, [sp, #4] - 17d8a: 4643 mov r3, r8 - 17d8c: 2b00 cmp r3, #0 - 17d8e: d0e8 beq.n 17d62 <__udivmoddi4+0x82> - 17d90: 07fb lsls r3, r7, #31 - 17d92: 0872 lsrs r2, r6, #1 - 17d94: 431a orrs r2, r3 - 17d96: 4646 mov r6, r8 - 17d98: 087b lsrs r3, r7, #1 - 17d9a: e00e b.n 17dba <__udivmoddi4+0xda> - 17d9c: 42ab cmp r3, r5 - 17d9e: d101 bne.n 17da4 <__udivmoddi4+0xc4> - 17da0: 42a2 cmp r2, r4 - 17da2: d80c bhi.n 17dbe <__udivmoddi4+0xde> - 17da4: 1aa4 subs r4, r4, r2 - 17da6: 419d sbcs r5, r3 - 17da8: 2001 movs r0, #1 - 17daa: 1924 adds r4, r4, r4 - 17dac: 416d adcs r5, r5 - 17dae: 2100 movs r1, #0 - 17db0: 3e01 subs r6, #1 - 17db2: 1824 adds r4, r4, r0 - 17db4: 414d adcs r5, r1 - 17db6: 2e00 cmp r6, #0 - 17db8: d006 beq.n 17dc8 <__udivmoddi4+0xe8> - 17dba: 42ab cmp r3, r5 - 17dbc: d9ee bls.n 17d9c <__udivmoddi4+0xbc> - 17dbe: 3e01 subs r6, #1 - 17dc0: 1924 adds r4, r4, r4 - 17dc2: 416d adcs r5, r5 - 17dc4: 2e00 cmp r6, #0 - 17dc6: d1f8 bne.n 17dba <__udivmoddi4+0xda> - 17dc8: 465b mov r3, fp - 17dca: 9800 ldr r0, [sp, #0] - 17dcc: 9901 ldr r1, [sp, #4] - 17dce: 1900 adds r0, r0, r4 - 17dd0: 4169 adcs r1, r5 - 17dd2: 2b00 cmp r3, #0 - 17dd4: db22 blt.n 17e1c <__udivmoddi4+0x13c> - 17dd6: 002b movs r3, r5 - 17dd8: 465a mov r2, fp - 17dda: 40d3 lsrs r3, r2 - 17ddc: 002a movs r2, r5 - 17dde: 4644 mov r4, r8 - 17de0: 40e2 lsrs r2, r4 - 17de2: 001c movs r4, r3 - 17de4: 465b mov r3, fp - 17de6: 0015 movs r5, r2 - 17de8: 2b00 cmp r3, #0 - 17dea: db2c blt.n 17e46 <__udivmoddi4+0x166> - 17dec: 0026 movs r6, r4 - 17dee: 409e lsls r6, r3 - 17df0: 0033 movs r3, r6 - 17df2: 0026 movs r6, r4 - 17df4: 4647 mov r7, r8 - 17df6: 40be lsls r6, r7 - 17df8: 0032 movs r2, r6 - 17dfa: 1a80 subs r0, r0, r2 - 17dfc: 4199 sbcs r1, r3 - 17dfe: 9000 str r0, [sp, #0] - 17e00: 9101 str r1, [sp, #4] - 17e02: e7ae b.n 17d62 <__udivmoddi4+0x82> - 17e04: 4642 mov r2, r8 - 17e06: 2320 movs r3, #32 - 17e08: 1a9b subs r3, r3, r2 - 17e0a: 4652 mov r2, sl - 17e0c: 40da lsrs r2, r3 - 17e0e: 4641 mov r1, r8 - 17e10: 0013 movs r3, r2 - 17e12: 464a mov r2, r9 - 17e14: 408a lsls r2, r1 - 17e16: 0017 movs r7, r2 - 17e18: 431f orrs r7, r3 - 17e1a: e782 b.n 17d22 <__udivmoddi4+0x42> - 17e1c: 4642 mov r2, r8 - 17e1e: 2320 movs r3, #32 - 17e20: 1a9b subs r3, r3, r2 - 17e22: 002a movs r2, r5 - 17e24: 4646 mov r6, r8 - 17e26: 409a lsls r2, r3 - 17e28: 0023 movs r3, r4 - 17e2a: 40f3 lsrs r3, r6 - 17e2c: 4313 orrs r3, r2 - 17e2e: e7d5 b.n 17ddc <__udivmoddi4+0xfc> - 17e30: 4642 mov r2, r8 - 17e32: 2320 movs r3, #32 - 17e34: 2100 movs r1, #0 - 17e36: 1a9b subs r3, r3, r2 - 17e38: 2200 movs r2, #0 - 17e3a: 9100 str r1, [sp, #0] - 17e3c: 9201 str r2, [sp, #4] - 17e3e: 2201 movs r2, #1 - 17e40: 40da lsrs r2, r3 - 17e42: 9201 str r2, [sp, #4] - 17e44: e782 b.n 17d4c <__udivmoddi4+0x6c> - 17e46: 4642 mov r2, r8 - 17e48: 2320 movs r3, #32 - 17e4a: 0026 movs r6, r4 - 17e4c: 1a9b subs r3, r3, r2 - 17e4e: 40de lsrs r6, r3 - 17e50: 002f movs r7, r5 - 17e52: 46b4 mov ip, r6 - 17e54: 4097 lsls r7, r2 - 17e56: 4666 mov r6, ip - 17e58: 003b movs r3, r7 - 17e5a: 4333 orrs r3, r6 - 17e5c: e7c9 b.n 17df2 <__udivmoddi4+0x112> - 17e5e: 46c0 nop ; (mov r8, r8) - -00017e60 <__clzsi2>: - 17e60: 211c movs r1, #28 - 17e62: 2301 movs r3, #1 - 17e64: 041b lsls r3, r3, #16 - 17e66: 4298 cmp r0, r3 - 17e68: d301 bcc.n 17e6e <__clzsi2+0xe> - 17e6a: 0c00 lsrs r0, r0, #16 - 17e6c: 3910 subs r1, #16 - 17e6e: 0a1b lsrs r3, r3, #8 - 17e70: 4298 cmp r0, r3 - 17e72: d301 bcc.n 17e78 <__clzsi2+0x18> - 17e74: 0a00 lsrs r0, r0, #8 - 17e76: 3908 subs r1, #8 - 17e78: 091b lsrs r3, r3, #4 - 17e7a: 4298 cmp r0, r3 - 17e7c: d301 bcc.n 17e82 <__clzsi2+0x22> - 17e7e: 0900 lsrs r0, r0, #4 - 17e80: 3904 subs r1, #4 - 17e82: a202 add r2, pc, #8 ; (adr r2, 17e8c <__clzsi2+0x2c>) - 17e84: 5c10 ldrb r0, [r2, r0] - 17e86: 1840 adds r0, r0, r1 - 17e88: 4770 bx lr - 17e8a: 46c0 nop ; (mov r8, r8) - 17e8c: 02020304 .word 0x02020304 - 17e90: 01010101 .word 0x01010101 + 17b40: d319 bcc.n 17b76 <__divsi3+0x72> + 17b42: e000 b.n 17b46 <__divsi3+0x42> + 17b44: 0a09 lsrs r1, r1, #8 + 17b46: 0bc3 lsrs r3, r0, #15 + 17b48: 428b cmp r3, r1 + 17b4a: d301 bcc.n 17b50 <__divsi3+0x4c> + 17b4c: 03cb lsls r3, r1, #15 + 17b4e: 1ac0 subs r0, r0, r3 + 17b50: 4152 adcs r2, r2 + 17b52: 0b83 lsrs r3, r0, #14 + 17b54: 428b cmp r3, r1 + 17b56: d301 bcc.n 17b5c <__divsi3+0x58> + 17b58: 038b lsls r3, r1, #14 + 17b5a: 1ac0 subs r0, r0, r3 + 17b5c: 4152 adcs r2, r2 + 17b5e: 0b43 lsrs r3, r0, #13 + 17b60: 428b cmp r3, r1 + 17b62: d301 bcc.n 17b68 <__divsi3+0x64> + 17b64: 034b lsls r3, r1, #13 + 17b66: 1ac0 subs r0, r0, r3 + 17b68: 4152 adcs r2, r2 + 17b6a: 0b03 lsrs r3, r0, #12 + 17b6c: 428b cmp r3, r1 + 17b6e: d301 bcc.n 17b74 <__divsi3+0x70> + 17b70: 030b lsls r3, r1, #12 + 17b72: 1ac0 subs r0, r0, r3 + 17b74: 4152 adcs r2, r2 + 17b76: 0ac3 lsrs r3, r0, #11 + 17b78: 428b cmp r3, r1 + 17b7a: d301 bcc.n 17b80 <__divsi3+0x7c> + 17b7c: 02cb lsls r3, r1, #11 + 17b7e: 1ac0 subs r0, r0, r3 + 17b80: 4152 adcs r2, r2 + 17b82: 0a83 lsrs r3, r0, #10 + 17b84: 428b cmp r3, r1 + 17b86: d301 bcc.n 17b8c <__divsi3+0x88> + 17b88: 028b lsls r3, r1, #10 + 17b8a: 1ac0 subs r0, r0, r3 + 17b8c: 4152 adcs r2, r2 + 17b8e: 0a43 lsrs r3, r0, #9 + 17b90: 428b cmp r3, r1 + 17b92: d301 bcc.n 17b98 <__divsi3+0x94> + 17b94: 024b lsls r3, r1, #9 + 17b96: 1ac0 subs r0, r0, r3 + 17b98: 4152 adcs r2, r2 + 17b9a: 0a03 lsrs r3, r0, #8 + 17b9c: 428b cmp r3, r1 + 17b9e: d301 bcc.n 17ba4 <__divsi3+0xa0> + 17ba0: 020b lsls r3, r1, #8 + 17ba2: 1ac0 subs r0, r0, r3 + 17ba4: 4152 adcs r2, r2 + 17ba6: d2cd bcs.n 17b44 <__divsi3+0x40> + 17ba8: 09c3 lsrs r3, r0, #7 + 17baa: 428b cmp r3, r1 + 17bac: d301 bcc.n 17bb2 <__divsi3+0xae> + 17bae: 01cb lsls r3, r1, #7 + 17bb0: 1ac0 subs r0, r0, r3 + 17bb2: 4152 adcs r2, r2 + 17bb4: 0983 lsrs r3, r0, #6 + 17bb6: 428b cmp r3, r1 + 17bb8: d301 bcc.n 17bbe <__divsi3+0xba> + 17bba: 018b lsls r3, r1, #6 + 17bbc: 1ac0 subs r0, r0, r3 + 17bbe: 4152 adcs r2, r2 + 17bc0: 0943 lsrs r3, r0, #5 + 17bc2: 428b cmp r3, r1 + 17bc4: d301 bcc.n 17bca <__divsi3+0xc6> + 17bc6: 014b lsls r3, r1, #5 + 17bc8: 1ac0 subs r0, r0, r3 + 17bca: 4152 adcs r2, r2 + 17bcc: 0903 lsrs r3, r0, #4 + 17bce: 428b cmp r3, r1 + 17bd0: d301 bcc.n 17bd6 <__divsi3+0xd2> + 17bd2: 010b lsls r3, r1, #4 + 17bd4: 1ac0 subs r0, r0, r3 + 17bd6: 4152 adcs r2, r2 + 17bd8: 08c3 lsrs r3, r0, #3 + 17bda: 428b cmp r3, r1 + 17bdc: d301 bcc.n 17be2 <__divsi3+0xde> + 17bde: 00cb lsls r3, r1, #3 + 17be0: 1ac0 subs r0, r0, r3 + 17be2: 4152 adcs r2, r2 + 17be4: 0883 lsrs r3, r0, #2 + 17be6: 428b cmp r3, r1 + 17be8: d301 bcc.n 17bee <__divsi3+0xea> + 17bea: 008b lsls r3, r1, #2 + 17bec: 1ac0 subs r0, r0, r3 + 17bee: 4152 adcs r2, r2 + 17bf0: 0843 lsrs r3, r0, #1 + 17bf2: 428b cmp r3, r1 + 17bf4: d301 bcc.n 17bfa <__divsi3+0xf6> + 17bf6: 004b lsls r3, r1, #1 + 17bf8: 1ac0 subs r0, r0, r3 + 17bfa: 4152 adcs r2, r2 + 17bfc: 1a41 subs r1, r0, r1 + 17bfe: d200 bcs.n 17c02 <__divsi3+0xfe> + 17c00: 4601 mov r1, r0 + 17c02: 4152 adcs r2, r2 + 17c04: 4610 mov r0, r2 + 17c06: 4770 bx lr + 17c08: e05d b.n 17cc6 <__divsi3+0x1c2> + 17c0a: 0fca lsrs r2, r1, #31 + 17c0c: d000 beq.n 17c10 <__divsi3+0x10c> + 17c0e: 4249 negs r1, r1 + 17c10: 1003 asrs r3, r0, #32 + 17c12: d300 bcc.n 17c16 <__divsi3+0x112> + 17c14: 4240 negs r0, r0 + 17c16: 4053 eors r3, r2 + 17c18: 2200 movs r2, #0 + 17c1a: 469c mov ip, r3 + 17c1c: 0903 lsrs r3, r0, #4 + 17c1e: 428b cmp r3, r1 + 17c20: d32d bcc.n 17c7e <__divsi3+0x17a> + 17c22: 0a03 lsrs r3, r0, #8 + 17c24: 428b cmp r3, r1 + 17c26: d312 bcc.n 17c4e <__divsi3+0x14a> + 17c28: 22fc movs r2, #252 ; 0xfc + 17c2a: 0189 lsls r1, r1, #6 + 17c2c: ba12 rev r2, r2 + 17c2e: 0a03 lsrs r3, r0, #8 + 17c30: 428b cmp r3, r1 + 17c32: d30c bcc.n 17c4e <__divsi3+0x14a> + 17c34: 0189 lsls r1, r1, #6 + 17c36: 1192 asrs r2, r2, #6 + 17c38: 428b cmp r3, r1 + 17c3a: d308 bcc.n 17c4e <__divsi3+0x14a> + 17c3c: 0189 lsls r1, r1, #6 + 17c3e: 1192 asrs r2, r2, #6 + 17c40: 428b cmp r3, r1 + 17c42: d304 bcc.n 17c4e <__divsi3+0x14a> + 17c44: 0189 lsls r1, r1, #6 + 17c46: d03a beq.n 17cbe <__divsi3+0x1ba> + 17c48: 1192 asrs r2, r2, #6 + 17c4a: e000 b.n 17c4e <__divsi3+0x14a> + 17c4c: 0989 lsrs r1, r1, #6 + 17c4e: 09c3 lsrs r3, r0, #7 + 17c50: 428b cmp r3, r1 + 17c52: d301 bcc.n 17c58 <__divsi3+0x154> + 17c54: 01cb lsls r3, r1, #7 + 17c56: 1ac0 subs r0, r0, r3 + 17c58: 4152 adcs r2, r2 + 17c5a: 0983 lsrs r3, r0, #6 + 17c5c: 428b cmp r3, r1 + 17c5e: d301 bcc.n 17c64 <__divsi3+0x160> + 17c60: 018b lsls r3, r1, #6 + 17c62: 1ac0 subs r0, r0, r3 + 17c64: 4152 adcs r2, r2 + 17c66: 0943 lsrs r3, r0, #5 + 17c68: 428b cmp r3, r1 + 17c6a: d301 bcc.n 17c70 <__divsi3+0x16c> + 17c6c: 014b lsls r3, r1, #5 + 17c6e: 1ac0 subs r0, r0, r3 + 17c70: 4152 adcs r2, r2 + 17c72: 0903 lsrs r3, r0, #4 + 17c74: 428b cmp r3, r1 + 17c76: d301 bcc.n 17c7c <__divsi3+0x178> + 17c78: 010b lsls r3, r1, #4 + 17c7a: 1ac0 subs r0, r0, r3 + 17c7c: 4152 adcs r2, r2 + 17c7e: 08c3 lsrs r3, r0, #3 + 17c80: 428b cmp r3, r1 + 17c82: d301 bcc.n 17c88 <__divsi3+0x184> + 17c84: 00cb lsls r3, r1, #3 + 17c86: 1ac0 subs r0, r0, r3 + 17c88: 4152 adcs r2, r2 + 17c8a: 0883 lsrs r3, r0, #2 + 17c8c: 428b cmp r3, r1 + 17c8e: d301 bcc.n 17c94 <__divsi3+0x190> + 17c90: 008b lsls r3, r1, #2 + 17c92: 1ac0 subs r0, r0, r3 + 17c94: 4152 adcs r2, r2 + 17c96: d2d9 bcs.n 17c4c <__divsi3+0x148> + 17c98: 0843 lsrs r3, r0, #1 + 17c9a: 428b cmp r3, r1 + 17c9c: d301 bcc.n 17ca2 <__divsi3+0x19e> + 17c9e: 004b lsls r3, r1, #1 + 17ca0: 1ac0 subs r0, r0, r3 + 17ca2: 4152 adcs r2, r2 + 17ca4: 1a41 subs r1, r0, r1 + 17ca6: d200 bcs.n 17caa <__divsi3+0x1a6> + 17ca8: 4601 mov r1, r0 + 17caa: 4663 mov r3, ip + 17cac: 4152 adcs r2, r2 + 17cae: 105b asrs r3, r3, #1 + 17cb0: 4610 mov r0, r2 + 17cb2: d301 bcc.n 17cb8 <__divsi3+0x1b4> + 17cb4: 4240 negs r0, r0 + 17cb6: 2b00 cmp r3, #0 + 17cb8: d500 bpl.n 17cbc <__divsi3+0x1b8> + 17cba: 4249 negs r1, r1 + 17cbc: 4770 bx lr + 17cbe: 4663 mov r3, ip + 17cc0: 105b asrs r3, r3, #1 + 17cc2: d300 bcc.n 17cc6 <__divsi3+0x1c2> + 17cc4: 4240 negs r0, r0 + 17cc6: b501 push {r0, lr} + 17cc8: 2000 movs r0, #0 + 17cca: f000 f805 bl 17cd8 <__aeabi_idiv0> + 17cce: bd02 pop {r1, pc} + +00017cd0 <__aeabi_idivmod>: + 17cd0: 2900 cmp r1, #0 + 17cd2: d0f8 beq.n 17cc6 <__divsi3+0x1c2> + 17cd4: e716 b.n 17b04 <__divsi3> + 17cd6: 4770 bx lr + +00017cd8 <__aeabi_idiv0>: + 17cd8: 4770 bx lr + 17cda: 46c0 nop ; (mov r8, r8) + +00017cdc <__aeabi_uldivmod>: + 17cdc: 2b00 cmp r3, #0 + 17cde: d111 bne.n 17d04 <__aeabi_uldivmod+0x28> + 17ce0: 2a00 cmp r2, #0 + 17ce2: d10f bne.n 17d04 <__aeabi_uldivmod+0x28> + 17ce4: 2900 cmp r1, #0 + 17ce6: d100 bne.n 17cea <__aeabi_uldivmod+0xe> + 17ce8: 2800 cmp r0, #0 + 17cea: d002 beq.n 17cf2 <__aeabi_uldivmod+0x16> + 17cec: 2100 movs r1, #0 + 17cee: 43c9 mvns r1, r1 + 17cf0: 1c08 adds r0, r1, #0 + 17cf2: b407 push {r0, r1, r2} + 17cf4: 4802 ldr r0, [pc, #8] ; (17d00 <__aeabi_uldivmod+0x24>) + 17cf6: a102 add r1, pc, #8 ; (adr r1, 17d00 <__aeabi_uldivmod+0x24>) + 17cf8: 1840 adds r0, r0, r1 + 17cfa: 9002 str r0, [sp, #8] + 17cfc: bd03 pop {r0, r1, pc} + 17cfe: 46c0 nop ; (mov r8, r8) + 17d00: ffffffd9 .word 0xffffffd9 + 17d04: b403 push {r0, r1} + 17d06: 4668 mov r0, sp + 17d08: b501 push {r0, lr} + 17d0a: 9802 ldr r0, [sp, #8] + 17d0c: f000 f830 bl 17d70 <__udivmoddi4> + 17d10: 9b01 ldr r3, [sp, #4] + 17d12: 469e mov lr, r3 + 17d14: b002 add sp, #8 + 17d16: bc0c pop {r2, r3} + 17d18: 4770 bx lr + 17d1a: 46c0 nop ; (mov r8, r8) + +00017d1c <__aeabi_lmul>: + 17d1c: b5f0 push {r4, r5, r6, r7, lr} + 17d1e: 46ce mov lr, r9 + 17d20: 4647 mov r7, r8 + 17d22: 0415 lsls r5, r2, #16 + 17d24: 0c2d lsrs r5, r5, #16 + 17d26: 002e movs r6, r5 + 17d28: b580 push {r7, lr} + 17d2a: 0407 lsls r7, r0, #16 + 17d2c: 0c14 lsrs r4, r2, #16 + 17d2e: 0c3f lsrs r7, r7, #16 + 17d30: 4699 mov r9, r3 + 17d32: 0c03 lsrs r3, r0, #16 + 17d34: 437e muls r6, r7 + 17d36: 435d muls r5, r3 + 17d38: 4367 muls r7, r4 + 17d3a: 4363 muls r3, r4 + 17d3c: 197f adds r7, r7, r5 + 17d3e: 0c34 lsrs r4, r6, #16 + 17d40: 19e4 adds r4, r4, r7 + 17d42: 469c mov ip, r3 + 17d44: 42a5 cmp r5, r4 + 17d46: d903 bls.n 17d50 <__aeabi_lmul+0x34> + 17d48: 2380 movs r3, #128 ; 0x80 + 17d4a: 025b lsls r3, r3, #9 + 17d4c: 4698 mov r8, r3 + 17d4e: 44c4 add ip, r8 + 17d50: 464b mov r3, r9 + 17d52: 4351 muls r1, r2 + 17d54: 4343 muls r3, r0 + 17d56: 0436 lsls r6, r6, #16 + 17d58: 0c36 lsrs r6, r6, #16 + 17d5a: 0c25 lsrs r5, r4, #16 + 17d5c: 0424 lsls r4, r4, #16 + 17d5e: 4465 add r5, ip + 17d60: 19a4 adds r4, r4, r6 + 17d62: 1859 adds r1, r3, r1 + 17d64: 1949 adds r1, r1, r5 + 17d66: 0020 movs r0, r4 + 17d68: bc0c pop {r2, r3} + 17d6a: 4690 mov r8, r2 + 17d6c: 4699 mov r9, r3 + 17d6e: bdf0 pop {r4, r5, r6, r7, pc} + +00017d70 <__udivmoddi4>: + 17d70: b5f0 push {r4, r5, r6, r7, lr} + 17d72: 4657 mov r7, sl + 17d74: 464e mov r6, r9 + 17d76: 4645 mov r5, r8 + 17d78: 46de mov lr, fp + 17d7a: b5e0 push {r5, r6, r7, lr} + 17d7c: 0004 movs r4, r0 + 17d7e: b083 sub sp, #12 + 17d80: 000d movs r5, r1 + 17d82: 4692 mov sl, r2 + 17d84: 4699 mov r9, r3 + 17d86: 428b cmp r3, r1 + 17d88: d82f bhi.n 17dea <__udivmoddi4+0x7a> + 17d8a: d02c beq.n 17de6 <__udivmoddi4+0x76> + 17d8c: 4649 mov r1, r9 + 17d8e: 4650 mov r0, sl + 17d90: f000 f8cc bl 17f2c <__clzdi2> + 17d94: 0029 movs r1, r5 + 17d96: 0006 movs r6, r0 + 17d98: 0020 movs r0, r4 + 17d9a: f000 f8c7 bl 17f2c <__clzdi2> + 17d9e: 1a33 subs r3, r6, r0 + 17da0: 4698 mov r8, r3 + 17da2: 3b20 subs r3, #32 + 17da4: 469b mov fp, r3 + 17da6: d500 bpl.n 17daa <__udivmoddi4+0x3a> + 17da8: e074 b.n 17e94 <__udivmoddi4+0x124> + 17daa: 4653 mov r3, sl + 17dac: 465a mov r2, fp + 17dae: 4093 lsls r3, r2 + 17db0: 001f movs r7, r3 + 17db2: 4653 mov r3, sl + 17db4: 4642 mov r2, r8 + 17db6: 4093 lsls r3, r2 + 17db8: 001e movs r6, r3 + 17dba: 42af cmp r7, r5 + 17dbc: d829 bhi.n 17e12 <__udivmoddi4+0xa2> + 17dbe: d026 beq.n 17e0e <__udivmoddi4+0x9e> + 17dc0: 465b mov r3, fp + 17dc2: 1ba4 subs r4, r4, r6 + 17dc4: 41bd sbcs r5, r7 + 17dc6: 2b00 cmp r3, #0 + 17dc8: da00 bge.n 17dcc <__udivmoddi4+0x5c> + 17dca: e079 b.n 17ec0 <__udivmoddi4+0x150> + 17dcc: 2200 movs r2, #0 + 17dce: 2300 movs r3, #0 + 17dd0: 9200 str r2, [sp, #0] + 17dd2: 9301 str r3, [sp, #4] + 17dd4: 2301 movs r3, #1 + 17dd6: 465a mov r2, fp + 17dd8: 4093 lsls r3, r2 + 17dda: 9301 str r3, [sp, #4] + 17ddc: 2301 movs r3, #1 + 17dde: 4642 mov r2, r8 + 17de0: 4093 lsls r3, r2 + 17de2: 9300 str r3, [sp, #0] + 17de4: e019 b.n 17e1a <__udivmoddi4+0xaa> + 17de6: 4282 cmp r2, r0 + 17de8: d9d0 bls.n 17d8c <__udivmoddi4+0x1c> + 17dea: 2200 movs r2, #0 + 17dec: 2300 movs r3, #0 + 17dee: 9200 str r2, [sp, #0] + 17df0: 9301 str r3, [sp, #4] + 17df2: 9b0c ldr r3, [sp, #48] ; 0x30 + 17df4: 2b00 cmp r3, #0 + 17df6: d001 beq.n 17dfc <__udivmoddi4+0x8c> + 17df8: 601c str r4, [r3, #0] + 17dfa: 605d str r5, [r3, #4] + 17dfc: 9800 ldr r0, [sp, #0] + 17dfe: 9901 ldr r1, [sp, #4] + 17e00: b003 add sp, #12 + 17e02: bc3c pop {r2, r3, r4, r5} + 17e04: 4690 mov r8, r2 + 17e06: 4699 mov r9, r3 + 17e08: 46a2 mov sl, r4 + 17e0a: 46ab mov fp, r5 + 17e0c: bdf0 pop {r4, r5, r6, r7, pc} + 17e0e: 42a3 cmp r3, r4 + 17e10: d9d6 bls.n 17dc0 <__udivmoddi4+0x50> + 17e12: 2200 movs r2, #0 + 17e14: 2300 movs r3, #0 + 17e16: 9200 str r2, [sp, #0] + 17e18: 9301 str r3, [sp, #4] + 17e1a: 4643 mov r3, r8 + 17e1c: 2b00 cmp r3, #0 + 17e1e: d0e8 beq.n 17df2 <__udivmoddi4+0x82> + 17e20: 07fb lsls r3, r7, #31 + 17e22: 0872 lsrs r2, r6, #1 + 17e24: 431a orrs r2, r3 + 17e26: 4646 mov r6, r8 + 17e28: 087b lsrs r3, r7, #1 + 17e2a: e00e b.n 17e4a <__udivmoddi4+0xda> + 17e2c: 42ab cmp r3, r5 + 17e2e: d101 bne.n 17e34 <__udivmoddi4+0xc4> + 17e30: 42a2 cmp r2, r4 + 17e32: d80c bhi.n 17e4e <__udivmoddi4+0xde> + 17e34: 1aa4 subs r4, r4, r2 + 17e36: 419d sbcs r5, r3 + 17e38: 2001 movs r0, #1 + 17e3a: 1924 adds r4, r4, r4 + 17e3c: 416d adcs r5, r5 + 17e3e: 2100 movs r1, #0 + 17e40: 3e01 subs r6, #1 + 17e42: 1824 adds r4, r4, r0 + 17e44: 414d adcs r5, r1 + 17e46: 2e00 cmp r6, #0 + 17e48: d006 beq.n 17e58 <__udivmoddi4+0xe8> + 17e4a: 42ab cmp r3, r5 + 17e4c: d9ee bls.n 17e2c <__udivmoddi4+0xbc> + 17e4e: 3e01 subs r6, #1 + 17e50: 1924 adds r4, r4, r4 + 17e52: 416d adcs r5, r5 + 17e54: 2e00 cmp r6, #0 + 17e56: d1f8 bne.n 17e4a <__udivmoddi4+0xda> + 17e58: 465b mov r3, fp + 17e5a: 9800 ldr r0, [sp, #0] + 17e5c: 9901 ldr r1, [sp, #4] + 17e5e: 1900 adds r0, r0, r4 + 17e60: 4169 adcs r1, r5 + 17e62: 2b00 cmp r3, #0 + 17e64: db22 blt.n 17eac <__udivmoddi4+0x13c> + 17e66: 002b movs r3, r5 + 17e68: 465a mov r2, fp + 17e6a: 40d3 lsrs r3, r2 + 17e6c: 002a movs r2, r5 + 17e6e: 4644 mov r4, r8 + 17e70: 40e2 lsrs r2, r4 + 17e72: 001c movs r4, r3 + 17e74: 465b mov r3, fp + 17e76: 0015 movs r5, r2 + 17e78: 2b00 cmp r3, #0 + 17e7a: db2c blt.n 17ed6 <__udivmoddi4+0x166> + 17e7c: 0026 movs r6, r4 + 17e7e: 409e lsls r6, r3 + 17e80: 0033 movs r3, r6 + 17e82: 0026 movs r6, r4 + 17e84: 4647 mov r7, r8 + 17e86: 40be lsls r6, r7 + 17e88: 0032 movs r2, r6 + 17e8a: 1a80 subs r0, r0, r2 + 17e8c: 4199 sbcs r1, r3 + 17e8e: 9000 str r0, [sp, #0] + 17e90: 9101 str r1, [sp, #4] + 17e92: e7ae b.n 17df2 <__udivmoddi4+0x82> + 17e94: 4642 mov r2, r8 + 17e96: 2320 movs r3, #32 + 17e98: 1a9b subs r3, r3, r2 + 17e9a: 4652 mov r2, sl + 17e9c: 40da lsrs r2, r3 + 17e9e: 4641 mov r1, r8 + 17ea0: 0013 movs r3, r2 + 17ea2: 464a mov r2, r9 + 17ea4: 408a lsls r2, r1 + 17ea6: 0017 movs r7, r2 + 17ea8: 431f orrs r7, r3 + 17eaa: e782 b.n 17db2 <__udivmoddi4+0x42> + 17eac: 4642 mov r2, r8 + 17eae: 2320 movs r3, #32 + 17eb0: 1a9b subs r3, r3, r2 + 17eb2: 002a movs r2, r5 + 17eb4: 4646 mov r6, r8 + 17eb6: 409a lsls r2, r3 + 17eb8: 0023 movs r3, r4 + 17eba: 40f3 lsrs r3, r6 + 17ebc: 4313 orrs r3, r2 + 17ebe: e7d5 b.n 17e6c <__udivmoddi4+0xfc> + 17ec0: 4642 mov r2, r8 + 17ec2: 2320 movs r3, #32 + 17ec4: 2100 movs r1, #0 + 17ec6: 1a9b subs r3, r3, r2 + 17ec8: 2200 movs r2, #0 + 17eca: 9100 str r1, [sp, #0] + 17ecc: 9201 str r2, [sp, #4] + 17ece: 2201 movs r2, #1 + 17ed0: 40da lsrs r2, r3 + 17ed2: 9201 str r2, [sp, #4] + 17ed4: e782 b.n 17ddc <__udivmoddi4+0x6c> + 17ed6: 4642 mov r2, r8 + 17ed8: 2320 movs r3, #32 + 17eda: 0026 movs r6, r4 + 17edc: 1a9b subs r3, r3, r2 + 17ede: 40de lsrs r6, r3 + 17ee0: 002f movs r7, r5 + 17ee2: 46b4 mov ip, r6 + 17ee4: 4097 lsls r7, r2 + 17ee6: 4666 mov r6, ip + 17ee8: 003b movs r3, r7 + 17eea: 4333 orrs r3, r6 + 17eec: e7c9 b.n 17e82 <__udivmoddi4+0x112> + 17eee: 46c0 nop ; (mov r8, r8) + +00017ef0 <__clzsi2>: + 17ef0: 211c movs r1, #28 + 17ef2: 2301 movs r3, #1 + 17ef4: 041b lsls r3, r3, #16 + 17ef6: 4298 cmp r0, r3 + 17ef8: d301 bcc.n 17efe <__clzsi2+0xe> + 17efa: 0c00 lsrs r0, r0, #16 + 17efc: 3910 subs r1, #16 + 17efe: 0a1b lsrs r3, r3, #8 + 17f00: 4298 cmp r0, r3 + 17f02: d301 bcc.n 17f08 <__clzsi2+0x18> + 17f04: 0a00 lsrs r0, r0, #8 + 17f06: 3908 subs r1, #8 + 17f08: 091b lsrs r3, r3, #4 + 17f0a: 4298 cmp r0, r3 + 17f0c: d301 bcc.n 17f12 <__clzsi2+0x22> + 17f0e: 0900 lsrs r0, r0, #4 + 17f10: 3904 subs r1, #4 + 17f12: a202 add r2, pc, #8 ; (adr r2, 17f1c <__clzsi2+0x2c>) + 17f14: 5c10 ldrb r0, [r2, r0] + 17f16: 1840 adds r0, r0, r1 + 17f18: 4770 bx lr + 17f1a: 46c0 nop ; (mov r8, r8) + 17f1c: 02020304 .word 0x02020304 + 17f20: 01010101 .word 0x01010101 ... -00017e9c <__clzdi2>: - 17e9c: b510 push {r4, lr} - 17e9e: 2900 cmp r1, #0 - 17ea0: d103 bne.n 17eaa <__clzdi2+0xe> - 17ea2: f7ff ffdd bl 17e60 <__clzsi2> - 17ea6: 3020 adds r0, #32 - 17ea8: e002 b.n 17eb0 <__clzdi2+0x14> - 17eaa: 1c08 adds r0, r1, #0 - 17eac: f7ff ffd8 bl 17e60 <__clzsi2> - 17eb0: bd10 pop {r4, pc} - 17eb2: 46c0 nop ; (mov r8, r8) - -00017eb4 <__libc_init_array>: - 17eb4: b570 push {r4, r5, r6, lr} - 17eb6: 2600 movs r6, #0 - 17eb8: 4d0c ldr r5, [pc, #48] ; (17eec <__libc_init_array+0x38>) - 17eba: 4c0d ldr r4, [pc, #52] ; (17ef0 <__libc_init_array+0x3c>) - 17ebc: 1b64 subs r4, r4, r5 - 17ebe: 10a4 asrs r4, r4, #2 - 17ec0: 42a6 cmp r6, r4 - 17ec2: d109 bne.n 17ed8 <__libc_init_array+0x24> - 17ec4: 2600 movs r6, #0 - 17ec6: f004 fdcb bl 1ca60 <_init> - 17eca: 4d0a ldr r5, [pc, #40] ; (17ef4 <__libc_init_array+0x40>) - 17ecc: 4c0a ldr r4, [pc, #40] ; (17ef8 <__libc_init_array+0x44>) - 17ece: 1b64 subs r4, r4, r5 - 17ed0: 10a4 asrs r4, r4, #2 - 17ed2: 42a6 cmp r6, r4 - 17ed4: d105 bne.n 17ee2 <__libc_init_array+0x2e> - 17ed6: bd70 pop {r4, r5, r6, pc} - 17ed8: 00b3 lsls r3, r6, #2 - 17eda: 58eb ldr r3, [r5, r3] - 17edc: 4798 blx r3 - 17ede: 3601 adds r6, #1 - 17ee0: e7ee b.n 17ec0 <__libc_init_array+0xc> - 17ee2: 00b3 lsls r3, r6, #2 - 17ee4: 58eb ldr r3, [r5, r3] - 17ee6: 4798 blx r3 - 17ee8: 3601 adds r6, #1 - 17eea: e7f2 b.n 17ed2 <__libc_init_array+0x1e> - 17eec: 0001ca6c .word 0x0001ca6c - 17ef0: 0001ca6c .word 0x0001ca6c - 17ef4: 0001ca6c .word 0x0001ca6c - 17ef8: 0001ca70 .word 0x0001ca70 - -00017efc : - 17efc: b530 push {r4, r5, lr} - 17efe: 2400 movs r4, #0 - 17f00: 42a2 cmp r2, r4 - 17f02: d101 bne.n 17f08 - 17f04: 2000 movs r0, #0 - 17f06: e005 b.n 17f14 - 17f08: 5d03 ldrb r3, [r0, r4] - 17f0a: 1c65 adds r5, r4, #1 - 17f0c: 5d0c ldrb r4, [r1, r4] - 17f0e: 42a3 cmp r3, r4 - 17f10: d001 beq.n 17f16 - 17f12: 1b18 subs r0, r3, r4 - 17f14: bd30 pop {r4, r5, pc} - 17f16: 002c movs r4, r5 - 17f18: e7f2 b.n 17f00 - -00017f1a : - 17f1a: 2300 movs r3, #0 - 17f1c: b510 push {r4, lr} - 17f1e: 429a cmp r2, r3 - 17f20: d100 bne.n 17f24 - 17f22: bd10 pop {r4, pc} - 17f24: 5ccc ldrb r4, [r1, r3] - 17f26: 54c4 strb r4, [r0, r3] - 17f28: 3301 adds r3, #1 - 17f2a: e7f8 b.n 17f1e - -00017f2c : - 17f2c: 0003 movs r3, r0 - 17f2e: 1882 adds r2, r0, r2 - 17f30: 4293 cmp r3, r2 - 17f32: d100 bne.n 17f36 - 17f34: 4770 bx lr - 17f36: 7019 strb r1, [r3, #0] - 17f38: 3301 adds r3, #1 - 17f3a: e7f9 b.n 17f30 - -00017f3c : - 17f3c: 7802 ldrb r2, [r0, #0] - 17f3e: 780b ldrb r3, [r1, #0] - 17f40: 2a00 cmp r2, #0 - 17f42: d003 beq.n 17f4c - 17f44: 3001 adds r0, #1 - 17f46: 3101 adds r1, #1 - 17f48: 429a cmp r2, r3 - 17f4a: d0f7 beq.n 17f3c - 17f4c: 1ad0 subs r0, r2, r3 - 17f4e: 4770 bx lr - -00017f50 : - 17f50: 1c03 adds r3, r0, #0 - 17f52: 780a ldrb r2, [r1, #0] - 17f54: 3101 adds r1, #1 - 17f56: 701a strb r2, [r3, #0] - 17f58: 3301 adds r3, #1 - 17f5a: 2a00 cmp r2, #0 - 17f5c: d1f9 bne.n 17f52 - 17f5e: 4770 bx lr - -00017f60 : - 17f60: 2300 movs r3, #0 - 17f62: 5cc2 ldrb r2, [r0, r3] - 17f64: 3301 adds r3, #1 - 17f66: 2a00 cmp r2, #0 - 17f68: d1fb bne.n 17f62 - 17f6a: 1e58 subs r0, r3, #1 - 17f6c: 4770 bx lr +00017f2c <__clzdi2>: + 17f2c: b510 push {r4, lr} + 17f2e: 2900 cmp r1, #0 + 17f30: d103 bne.n 17f3a <__clzdi2+0xe> + 17f32: f7ff ffdd bl 17ef0 <__clzsi2> + 17f36: 3020 adds r0, #32 + 17f38: e002 b.n 17f40 <__clzdi2+0x14> + 17f3a: 1c08 adds r0, r1, #0 + 17f3c: f7ff ffd8 bl 17ef0 <__clzsi2> + 17f40: bd10 pop {r4, pc} + 17f42: 46c0 nop ; (mov r8, r8) + +00017f44 <__libc_init_array>: + 17f44: b570 push {r4, r5, r6, lr} + 17f46: 2600 movs r6, #0 + 17f48: 4d0c ldr r5, [pc, #48] ; (17f7c <__libc_init_array+0x38>) + 17f4a: 4c0d ldr r4, [pc, #52] ; (17f80 <__libc_init_array+0x3c>) + 17f4c: 1b64 subs r4, r4, r5 + 17f4e: 10a4 asrs r4, r4, #2 + 17f50: 42a6 cmp r6, r4 + 17f52: d109 bne.n 17f68 <__libc_init_array+0x24> + 17f54: 2600 movs r6, #0 + 17f56: f004 fdcb bl 1caf0 <_init> + 17f5a: 4d0a ldr r5, [pc, #40] ; (17f84 <__libc_init_array+0x40>) + 17f5c: 4c0a ldr r4, [pc, #40] ; (17f88 <__libc_init_array+0x44>) + 17f5e: 1b64 subs r4, r4, r5 + 17f60: 10a4 asrs r4, r4, #2 + 17f62: 42a6 cmp r6, r4 + 17f64: d105 bne.n 17f72 <__libc_init_array+0x2e> + 17f66: bd70 pop {r4, r5, r6, pc} + 17f68: 00b3 lsls r3, r6, #2 + 17f6a: 58eb ldr r3, [r5, r3] + 17f6c: 4798 blx r3 + 17f6e: 3601 adds r6, #1 + 17f70: e7ee b.n 17f50 <__libc_init_array+0xc> + 17f72: 00b3 lsls r3, r6, #2 + 17f74: 58eb ldr r3, [r5, r3] + 17f76: 4798 blx r3 + 17f78: 3601 adds r6, #1 + 17f7a: e7f2 b.n 17f62 <__libc_init_array+0x1e> + 17f7c: 0001cafc .word 0x0001cafc + 17f80: 0001cafc .word 0x0001cafc + 17f84: 0001cafc .word 0x0001cafc + 17f88: 0001cb00 .word 0x0001cb00 + +00017f8c : + 17f8c: b530 push {r4, r5, lr} + 17f8e: 2400 movs r4, #0 + 17f90: 42a2 cmp r2, r4 + 17f92: d101 bne.n 17f98 + 17f94: 2000 movs r0, #0 + 17f96: e005 b.n 17fa4 + 17f98: 5d03 ldrb r3, [r0, r4] + 17f9a: 1c65 adds r5, r4, #1 + 17f9c: 5d0c ldrb r4, [r1, r4] + 17f9e: 42a3 cmp r3, r4 + 17fa0: d001 beq.n 17fa6 + 17fa2: 1b18 subs r0, r3, r4 + 17fa4: bd30 pop {r4, r5, pc} + 17fa6: 002c movs r4, r5 + 17fa8: e7f2 b.n 17f90 + +00017faa : + 17faa: 2300 movs r3, #0 + 17fac: b510 push {r4, lr} + 17fae: 429a cmp r2, r3 + 17fb0: d100 bne.n 17fb4 + 17fb2: bd10 pop {r4, pc} + 17fb4: 5ccc ldrb r4, [r1, r3] + 17fb6: 54c4 strb r4, [r0, r3] + 17fb8: 3301 adds r3, #1 + 17fba: e7f8 b.n 17fae + +00017fbc : + 17fbc: 0003 movs r3, r0 + 17fbe: 1882 adds r2, r0, r2 + 17fc0: 4293 cmp r3, r2 + 17fc2: d100 bne.n 17fc6 + 17fc4: 4770 bx lr + 17fc6: 7019 strb r1, [r3, #0] + 17fc8: 3301 adds r3, #1 + 17fca: e7f9 b.n 17fc0 + +00017fcc : + 17fcc: 7802 ldrb r2, [r0, #0] + 17fce: 780b ldrb r3, [r1, #0] + 17fd0: 2a00 cmp r2, #0 + 17fd2: d003 beq.n 17fdc + 17fd4: 3001 adds r0, #1 + 17fd6: 3101 adds r1, #1 + 17fd8: 429a cmp r2, r3 + 17fda: d0f7 beq.n 17fcc + 17fdc: 1ad0 subs r0, r2, r3 + 17fde: 4770 bx lr + +00017fe0 : + 17fe0: 1c03 adds r3, r0, #0 + 17fe2: 780a ldrb r2, [r1, #0] + 17fe4: 3101 adds r1, #1 + 17fe6: 701a strb r2, [r3, #0] + 17fe8: 3301 adds r3, #1 + 17fea: 2a00 cmp r2, #0 + 17fec: d1f9 bne.n 17fe2 + 17fee: 4770 bx lr + +00017ff0 : + 17ff0: 2300 movs r3, #0 + 17ff2: 5cc2 ldrb r2, [r0, r3] + 17ff4: 3301 adds r3, #1 + 17ff6: 2a00 cmp r2, #0 + 17ff8: d1fb bne.n 17ff2 + 17ffa: 1e58 subs r0, r3, #1 + 17ffc: 4770 bx lr ... -00017f70 <_vsiprintf_r>: - 17f70: b530 push {r4, r5, lr} - 17f72: b09b sub sp, #108 ; 0x6c - 17f74: 9100 str r1, [sp, #0] - 17f76: 9104 str r1, [sp, #16] - 17f78: 4908 ldr r1, [pc, #32] ; (17f9c <_vsiprintf_r+0x2c>) - 17f7a: 466d mov r5, sp - 17f7c: 9102 str r1, [sp, #8] - 17f7e: 9105 str r1, [sp, #20] - 17f80: 2101 movs r1, #1 - 17f82: 2482 movs r4, #130 ; 0x82 - 17f84: 4249 negs r1, r1 - 17f86: 81e9 strh r1, [r5, #14] - 17f88: 00a4 lsls r4, r4, #2 - 17f8a: 4669 mov r1, sp - 17f8c: 81ac strh r4, [r5, #12] - 17f8e: f000 f875 bl 1807c <_svfiprintf_r> - 17f92: 2300 movs r3, #0 - 17f94: 9a00 ldr r2, [sp, #0] - 17f96: 7013 strb r3, [r2, #0] - 17f98: b01b add sp, #108 ; 0x6c - 17f9a: bd30 pop {r4, r5, pc} - 17f9c: 7fffffff .word 0x7fffffff - -00017fa0 : - 17fa0: b510 push {r4, lr} - 17fa2: 0013 movs r3, r2 - 17fa4: 000a movs r2, r1 - 17fa6: 0001 movs r1, r0 - 17fa8: 4802 ldr r0, [pc, #8] ; (17fb4 ) - 17faa: 6800 ldr r0, [r0, #0] - 17fac: f7ff ffe0 bl 17f70 <_vsiprintf_r> - 17fb0: bd10 pop {r4, pc} - 17fb2: 46c0 nop ; (mov r8, r8) - 17fb4: 20000060 .word 0x20000060 - -00017fb8 <__ssputs_r>: - 17fb8: b5f0 push {r4, r5, r6, r7, lr} - 17fba: 688e ldr r6, [r1, #8] - 17fbc: b085 sub sp, #20 - 17fbe: 0007 movs r7, r0 - 17fc0: 000c movs r4, r1 - 17fc2: 9203 str r2, [sp, #12] - 17fc4: 9301 str r3, [sp, #4] - 17fc6: 429e cmp r6, r3 - 17fc8: d839 bhi.n 1803e <__ssputs_r+0x86> - 17fca: 2390 movs r3, #144 ; 0x90 - 17fcc: 898a ldrh r2, [r1, #12] - 17fce: 00db lsls r3, r3, #3 - 17fd0: 421a tst r2, r3 - 17fd2: d034 beq.n 1803e <__ssputs_r+0x86> - 17fd4: 2503 movs r5, #3 - 17fd6: 6909 ldr r1, [r1, #16] - 17fd8: 6823 ldr r3, [r4, #0] - 17fda: 1a5b subs r3, r3, r1 - 17fdc: 9302 str r3, [sp, #8] - 17fde: 6963 ldr r3, [r4, #20] - 17fe0: 9802 ldr r0, [sp, #8] - 17fe2: 435d muls r5, r3 - 17fe4: 0feb lsrs r3, r5, #31 - 17fe6: 195d adds r5, r3, r5 - 17fe8: 9b01 ldr r3, [sp, #4] - 17fea: 106d asrs r5, r5, #1 - 17fec: 3301 adds r3, #1 - 17fee: 181b adds r3, r3, r0 - 17ff0: 42ab cmp r3, r5 - 17ff2: d900 bls.n 17ff6 <__ssputs_r+0x3e> - 17ff4: 001d movs r5, r3 - 17ff6: 0553 lsls r3, r2, #21 - 17ff8: d532 bpl.n 18060 <__ssputs_r+0xa8> - 17ffa: 0029 movs r1, r5 - 17ffc: 0038 movs r0, r7 - 17ffe: f000 fb31 bl 18664 <_malloc_r> - 18002: 1e06 subs r6, r0, #0 - 18004: d109 bne.n 1801a <__ssputs_r+0x62> - 18006: 230c movs r3, #12 - 18008: 603b str r3, [r7, #0] - 1800a: 2340 movs r3, #64 ; 0x40 - 1800c: 2001 movs r0, #1 - 1800e: 89a2 ldrh r2, [r4, #12] - 18010: 4240 negs r0, r0 - 18012: 4313 orrs r3, r2 - 18014: 81a3 strh r3, [r4, #12] - 18016: b005 add sp, #20 - 18018: bdf0 pop {r4, r5, r6, r7, pc} - 1801a: 9a02 ldr r2, [sp, #8] - 1801c: 6921 ldr r1, [r4, #16] - 1801e: f7ff ff7c bl 17f1a - 18022: 89a3 ldrh r3, [r4, #12] - 18024: 4a14 ldr r2, [pc, #80] ; (18078 <__ssputs_r+0xc0>) - 18026: 401a ands r2, r3 - 18028: 2380 movs r3, #128 ; 0x80 - 1802a: 4313 orrs r3, r2 - 1802c: 81a3 strh r3, [r4, #12] - 1802e: 9b02 ldr r3, [sp, #8] - 18030: 6126 str r6, [r4, #16] - 18032: 18f6 adds r6, r6, r3 - 18034: 6026 str r6, [r4, #0] - 18036: 6165 str r5, [r4, #20] - 18038: 9e01 ldr r6, [sp, #4] - 1803a: 1aed subs r5, r5, r3 - 1803c: 60a5 str r5, [r4, #8] - 1803e: 9b01 ldr r3, [sp, #4] - 18040: 42b3 cmp r3, r6 - 18042: d200 bcs.n 18046 <__ssputs_r+0x8e> - 18044: 001e movs r6, r3 - 18046: 0032 movs r2, r6 - 18048: 9903 ldr r1, [sp, #12] - 1804a: 6820 ldr r0, [r4, #0] - 1804c: f000 faad bl 185aa - 18050: 68a3 ldr r3, [r4, #8] - 18052: 2000 movs r0, #0 - 18054: 1b9b subs r3, r3, r6 - 18056: 60a3 str r3, [r4, #8] - 18058: 6823 ldr r3, [r4, #0] - 1805a: 199e adds r6, r3, r6 - 1805c: 6026 str r6, [r4, #0] - 1805e: e7da b.n 18016 <__ssputs_r+0x5e> - 18060: 002a movs r2, r5 - 18062: 0038 movs r0, r7 - 18064: f000 fb5c bl 18720 <_realloc_r> - 18068: 1e06 subs r6, r0, #0 - 1806a: d1e0 bne.n 1802e <__ssputs_r+0x76> - 1806c: 6921 ldr r1, [r4, #16] - 1806e: 0038 movs r0, r7 - 18070: f000 faae bl 185d0 <_free_r> - 18074: e7c7 b.n 18006 <__ssputs_r+0x4e> - 18076: 46c0 nop ; (mov r8, r8) - 18078: fffffb7f .word 0xfffffb7f - -0001807c <_svfiprintf_r>: - 1807c: b5f0 push {r4, r5, r6, r7, lr} - 1807e: b09f sub sp, #124 ; 0x7c - 18080: 9002 str r0, [sp, #8] - 18082: 9305 str r3, [sp, #20] - 18084: 898b ldrh r3, [r1, #12] - 18086: 000f movs r7, r1 - 18088: 0016 movs r6, r2 - 1808a: 061b lsls r3, r3, #24 - 1808c: d511 bpl.n 180b2 <_svfiprintf_r+0x36> - 1808e: 690b ldr r3, [r1, #16] - 18090: 2b00 cmp r3, #0 - 18092: d10e bne.n 180b2 <_svfiprintf_r+0x36> - 18094: 2140 movs r1, #64 ; 0x40 - 18096: f000 fae5 bl 18664 <_malloc_r> - 1809a: 6038 str r0, [r7, #0] - 1809c: 6138 str r0, [r7, #16] - 1809e: 2800 cmp r0, #0 - 180a0: d105 bne.n 180ae <_svfiprintf_r+0x32> - 180a2: 230c movs r3, #12 - 180a4: 9a02 ldr r2, [sp, #8] - 180a6: 3801 subs r0, #1 - 180a8: 6013 str r3, [r2, #0] - 180aa: b01f add sp, #124 ; 0x7c - 180ac: bdf0 pop {r4, r5, r6, r7, pc} - 180ae: 2340 movs r3, #64 ; 0x40 - 180b0: 617b str r3, [r7, #20] - 180b2: 2300 movs r3, #0 - 180b4: ad06 add r5, sp, #24 - 180b6: 616b str r3, [r5, #20] - 180b8: 3320 adds r3, #32 - 180ba: 766b strb r3, [r5, #25] - 180bc: 3310 adds r3, #16 - 180be: 76ab strb r3, [r5, #26] - 180c0: 0034 movs r4, r6 - 180c2: 7823 ldrb r3, [r4, #0] - 180c4: 2b00 cmp r3, #0 - 180c6: d147 bne.n 18158 <_svfiprintf_r+0xdc> - 180c8: 1ba3 subs r3, r4, r6 - 180ca: 9304 str r3, [sp, #16] - 180cc: d00d beq.n 180ea <_svfiprintf_r+0x6e> - 180ce: 1ba3 subs r3, r4, r6 - 180d0: 0032 movs r2, r6 - 180d2: 0039 movs r1, r7 - 180d4: 9802 ldr r0, [sp, #8] - 180d6: f7ff ff6f bl 17fb8 <__ssputs_r> - 180da: 1c43 adds r3, r0, #1 - 180dc: d100 bne.n 180e0 <_svfiprintf_r+0x64> - 180de: e0b5 b.n 1824c <_svfiprintf_r+0x1d0> - 180e0: 696a ldr r2, [r5, #20] - 180e2: 9b04 ldr r3, [sp, #16] - 180e4: 4694 mov ip, r2 - 180e6: 4463 add r3, ip - 180e8: 616b str r3, [r5, #20] - 180ea: 7823 ldrb r3, [r4, #0] - 180ec: 2b00 cmp r3, #0 - 180ee: d100 bne.n 180f2 <_svfiprintf_r+0x76> - 180f0: e0ac b.n 1824c <_svfiprintf_r+0x1d0> - 180f2: 2201 movs r2, #1 - 180f4: 2300 movs r3, #0 - 180f6: 4252 negs r2, r2 - 180f8: 606a str r2, [r5, #4] - 180fa: a902 add r1, sp, #8 - 180fc: 3254 adds r2, #84 ; 0x54 - 180fe: 1852 adds r2, r2, r1 - 18100: 3401 adds r4, #1 - 18102: 602b str r3, [r5, #0] - 18104: 60eb str r3, [r5, #12] - 18106: 60ab str r3, [r5, #8] - 18108: 7013 strb r3, [r2, #0] - 1810a: 65ab str r3, [r5, #88] ; 0x58 - 1810c: 4e58 ldr r6, [pc, #352] ; (18270 <_svfiprintf_r+0x1f4>) - 1810e: 2205 movs r2, #5 - 18110: 7821 ldrb r1, [r4, #0] - 18112: 0030 movs r0, r6 - 18114: f000 fa3e bl 18594 - 18118: 1c62 adds r2, r4, #1 - 1811a: 2800 cmp r0, #0 - 1811c: d120 bne.n 18160 <_svfiprintf_r+0xe4> - 1811e: 6829 ldr r1, [r5, #0] - 18120: 06cb lsls r3, r1, #27 - 18122: d504 bpl.n 1812e <_svfiprintf_r+0xb2> - 18124: 2353 movs r3, #83 ; 0x53 - 18126: ae02 add r6, sp, #8 - 18128: 3020 adds r0, #32 - 1812a: 199b adds r3, r3, r6 - 1812c: 7018 strb r0, [r3, #0] - 1812e: 070b lsls r3, r1, #28 - 18130: d504 bpl.n 1813c <_svfiprintf_r+0xc0> - 18132: 2353 movs r3, #83 ; 0x53 - 18134: 202b movs r0, #43 ; 0x2b - 18136: ae02 add r6, sp, #8 - 18138: 199b adds r3, r3, r6 - 1813a: 7018 strb r0, [r3, #0] - 1813c: 7823 ldrb r3, [r4, #0] - 1813e: 2b2a cmp r3, #42 ; 0x2a - 18140: d016 beq.n 18170 <_svfiprintf_r+0xf4> - 18142: 2000 movs r0, #0 - 18144: 210a movs r1, #10 - 18146: 9b09 ldr r3, [sp, #36] ; 0x24 - 18148: 7822 ldrb r2, [r4, #0] - 1814a: 3a30 subs r2, #48 ; 0x30 - 1814c: 2a09 cmp r2, #9 - 1814e: d955 bls.n 181fc <_svfiprintf_r+0x180> - 18150: 2800 cmp r0, #0 - 18152: d015 beq.n 18180 <_svfiprintf_r+0x104> - 18154: 9309 str r3, [sp, #36] ; 0x24 - 18156: e013 b.n 18180 <_svfiprintf_r+0x104> - 18158: 2b25 cmp r3, #37 ; 0x25 - 1815a: d0b5 beq.n 180c8 <_svfiprintf_r+0x4c> - 1815c: 3401 adds r4, #1 - 1815e: e7b0 b.n 180c2 <_svfiprintf_r+0x46> - 18160: 2301 movs r3, #1 - 18162: 1b80 subs r0, r0, r6 - 18164: 4083 lsls r3, r0 - 18166: 6829 ldr r1, [r5, #0] - 18168: 0014 movs r4, r2 - 1816a: 430b orrs r3, r1 - 1816c: 602b str r3, [r5, #0] - 1816e: e7cd b.n 1810c <_svfiprintf_r+0x90> - 18170: 9b05 ldr r3, [sp, #20] - 18172: 1d18 adds r0, r3, #4 - 18174: 681b ldr r3, [r3, #0] - 18176: 9005 str r0, [sp, #20] - 18178: 2b00 cmp r3, #0 - 1817a: db39 blt.n 181f0 <_svfiprintf_r+0x174> - 1817c: 9309 str r3, [sp, #36] ; 0x24 - 1817e: 0014 movs r4, r2 - 18180: 7823 ldrb r3, [r4, #0] - 18182: 2b2e cmp r3, #46 ; 0x2e - 18184: d10b bne.n 1819e <_svfiprintf_r+0x122> - 18186: 7863 ldrb r3, [r4, #1] - 18188: 1c62 adds r2, r4, #1 - 1818a: 2b2a cmp r3, #42 ; 0x2a - 1818c: d13e bne.n 1820c <_svfiprintf_r+0x190> - 1818e: 9b05 ldr r3, [sp, #20] - 18190: 3402 adds r4, #2 - 18192: 1d1a adds r2, r3, #4 - 18194: 681b ldr r3, [r3, #0] - 18196: 9205 str r2, [sp, #20] - 18198: 2b00 cmp r3, #0 - 1819a: db34 blt.n 18206 <_svfiprintf_r+0x18a> - 1819c: 9307 str r3, [sp, #28] - 1819e: 4e35 ldr r6, [pc, #212] ; (18274 <_svfiprintf_r+0x1f8>) +00018000 <_vsiprintf_r>: + 18000: b530 push {r4, r5, lr} + 18002: b09b sub sp, #108 ; 0x6c + 18004: 9100 str r1, [sp, #0] + 18006: 9104 str r1, [sp, #16] + 18008: 4908 ldr r1, [pc, #32] ; (1802c <_vsiprintf_r+0x2c>) + 1800a: 466d mov r5, sp + 1800c: 9102 str r1, [sp, #8] + 1800e: 9105 str r1, [sp, #20] + 18010: 2101 movs r1, #1 + 18012: 2482 movs r4, #130 ; 0x82 + 18014: 4249 negs r1, r1 + 18016: 81e9 strh r1, [r5, #14] + 18018: 00a4 lsls r4, r4, #2 + 1801a: 4669 mov r1, sp + 1801c: 81ac strh r4, [r5, #12] + 1801e: f000 f875 bl 1810c <_svfiprintf_r> + 18022: 2300 movs r3, #0 + 18024: 9a00 ldr r2, [sp, #0] + 18026: 7013 strb r3, [r2, #0] + 18028: b01b add sp, #108 ; 0x6c + 1802a: bd30 pop {r4, r5, pc} + 1802c: 7fffffff .word 0x7fffffff + +00018030 : + 18030: b510 push {r4, lr} + 18032: 0013 movs r3, r2 + 18034: 000a movs r2, r1 + 18036: 0001 movs r1, r0 + 18038: 4802 ldr r0, [pc, #8] ; (18044 ) + 1803a: 6800 ldr r0, [r0, #0] + 1803c: f7ff ffe0 bl 18000 <_vsiprintf_r> + 18040: bd10 pop {r4, pc} + 18042: 46c0 nop ; (mov r8, r8) + 18044: 20000060 .word 0x20000060 + +00018048 <__ssputs_r>: + 18048: b5f0 push {r4, r5, r6, r7, lr} + 1804a: 688e ldr r6, [r1, #8] + 1804c: b085 sub sp, #20 + 1804e: 0007 movs r7, r0 + 18050: 000c movs r4, r1 + 18052: 9203 str r2, [sp, #12] + 18054: 9301 str r3, [sp, #4] + 18056: 429e cmp r6, r3 + 18058: d839 bhi.n 180ce <__ssputs_r+0x86> + 1805a: 2390 movs r3, #144 ; 0x90 + 1805c: 898a ldrh r2, [r1, #12] + 1805e: 00db lsls r3, r3, #3 + 18060: 421a tst r2, r3 + 18062: d034 beq.n 180ce <__ssputs_r+0x86> + 18064: 2503 movs r5, #3 + 18066: 6909 ldr r1, [r1, #16] + 18068: 6823 ldr r3, [r4, #0] + 1806a: 1a5b subs r3, r3, r1 + 1806c: 9302 str r3, [sp, #8] + 1806e: 6963 ldr r3, [r4, #20] + 18070: 9802 ldr r0, [sp, #8] + 18072: 435d muls r5, r3 + 18074: 0feb lsrs r3, r5, #31 + 18076: 195d adds r5, r3, r5 + 18078: 9b01 ldr r3, [sp, #4] + 1807a: 106d asrs r5, r5, #1 + 1807c: 3301 adds r3, #1 + 1807e: 181b adds r3, r3, r0 + 18080: 42ab cmp r3, r5 + 18082: d900 bls.n 18086 <__ssputs_r+0x3e> + 18084: 001d movs r5, r3 + 18086: 0553 lsls r3, r2, #21 + 18088: d532 bpl.n 180f0 <__ssputs_r+0xa8> + 1808a: 0029 movs r1, r5 + 1808c: 0038 movs r0, r7 + 1808e: f000 fb31 bl 186f4 <_malloc_r> + 18092: 1e06 subs r6, r0, #0 + 18094: d109 bne.n 180aa <__ssputs_r+0x62> + 18096: 230c movs r3, #12 + 18098: 603b str r3, [r7, #0] + 1809a: 2340 movs r3, #64 ; 0x40 + 1809c: 2001 movs r0, #1 + 1809e: 89a2 ldrh r2, [r4, #12] + 180a0: 4240 negs r0, r0 + 180a2: 4313 orrs r3, r2 + 180a4: 81a3 strh r3, [r4, #12] + 180a6: b005 add sp, #20 + 180a8: bdf0 pop {r4, r5, r6, r7, pc} + 180aa: 9a02 ldr r2, [sp, #8] + 180ac: 6921 ldr r1, [r4, #16] + 180ae: f7ff ff7c bl 17faa + 180b2: 89a3 ldrh r3, [r4, #12] + 180b4: 4a14 ldr r2, [pc, #80] ; (18108 <__ssputs_r+0xc0>) + 180b6: 401a ands r2, r3 + 180b8: 2380 movs r3, #128 ; 0x80 + 180ba: 4313 orrs r3, r2 + 180bc: 81a3 strh r3, [r4, #12] + 180be: 9b02 ldr r3, [sp, #8] + 180c0: 6126 str r6, [r4, #16] + 180c2: 18f6 adds r6, r6, r3 + 180c4: 6026 str r6, [r4, #0] + 180c6: 6165 str r5, [r4, #20] + 180c8: 9e01 ldr r6, [sp, #4] + 180ca: 1aed subs r5, r5, r3 + 180cc: 60a5 str r5, [r4, #8] + 180ce: 9b01 ldr r3, [sp, #4] + 180d0: 42b3 cmp r3, r6 + 180d2: d200 bcs.n 180d6 <__ssputs_r+0x8e> + 180d4: 001e movs r6, r3 + 180d6: 0032 movs r2, r6 + 180d8: 9903 ldr r1, [sp, #12] + 180da: 6820 ldr r0, [r4, #0] + 180dc: f000 faad bl 1863a + 180e0: 68a3 ldr r3, [r4, #8] + 180e2: 2000 movs r0, #0 + 180e4: 1b9b subs r3, r3, r6 + 180e6: 60a3 str r3, [r4, #8] + 180e8: 6823 ldr r3, [r4, #0] + 180ea: 199e adds r6, r3, r6 + 180ec: 6026 str r6, [r4, #0] + 180ee: e7da b.n 180a6 <__ssputs_r+0x5e> + 180f0: 002a movs r2, r5 + 180f2: 0038 movs r0, r7 + 180f4: f000 fb5c bl 187b0 <_realloc_r> + 180f8: 1e06 subs r6, r0, #0 + 180fa: d1e0 bne.n 180be <__ssputs_r+0x76> + 180fc: 6921 ldr r1, [r4, #16] + 180fe: 0038 movs r0, r7 + 18100: f000 faae bl 18660 <_free_r> + 18104: e7c7 b.n 18096 <__ssputs_r+0x4e> + 18106: 46c0 nop ; (mov r8, r8) + 18108: fffffb7f .word 0xfffffb7f + +0001810c <_svfiprintf_r>: + 1810c: b5f0 push {r4, r5, r6, r7, lr} + 1810e: b09f sub sp, #124 ; 0x7c + 18110: 9002 str r0, [sp, #8] + 18112: 9305 str r3, [sp, #20] + 18114: 898b ldrh r3, [r1, #12] + 18116: 000f movs r7, r1 + 18118: 0016 movs r6, r2 + 1811a: 061b lsls r3, r3, #24 + 1811c: d511 bpl.n 18142 <_svfiprintf_r+0x36> + 1811e: 690b ldr r3, [r1, #16] + 18120: 2b00 cmp r3, #0 + 18122: d10e bne.n 18142 <_svfiprintf_r+0x36> + 18124: 2140 movs r1, #64 ; 0x40 + 18126: f000 fae5 bl 186f4 <_malloc_r> + 1812a: 6038 str r0, [r7, #0] + 1812c: 6138 str r0, [r7, #16] + 1812e: 2800 cmp r0, #0 + 18130: d105 bne.n 1813e <_svfiprintf_r+0x32> + 18132: 230c movs r3, #12 + 18134: 9a02 ldr r2, [sp, #8] + 18136: 3801 subs r0, #1 + 18138: 6013 str r3, [r2, #0] + 1813a: b01f add sp, #124 ; 0x7c + 1813c: bdf0 pop {r4, r5, r6, r7, pc} + 1813e: 2340 movs r3, #64 ; 0x40 + 18140: 617b str r3, [r7, #20] + 18142: 2300 movs r3, #0 + 18144: ad06 add r5, sp, #24 + 18146: 616b str r3, [r5, #20] + 18148: 3320 adds r3, #32 + 1814a: 766b strb r3, [r5, #25] + 1814c: 3310 adds r3, #16 + 1814e: 76ab strb r3, [r5, #26] + 18150: 0034 movs r4, r6 + 18152: 7823 ldrb r3, [r4, #0] + 18154: 2b00 cmp r3, #0 + 18156: d147 bne.n 181e8 <_svfiprintf_r+0xdc> + 18158: 1ba3 subs r3, r4, r6 + 1815a: 9304 str r3, [sp, #16] + 1815c: d00d beq.n 1817a <_svfiprintf_r+0x6e> + 1815e: 1ba3 subs r3, r4, r6 + 18160: 0032 movs r2, r6 + 18162: 0039 movs r1, r7 + 18164: 9802 ldr r0, [sp, #8] + 18166: f7ff ff6f bl 18048 <__ssputs_r> + 1816a: 1c43 adds r3, r0, #1 + 1816c: d100 bne.n 18170 <_svfiprintf_r+0x64> + 1816e: e0b5 b.n 182dc <_svfiprintf_r+0x1d0> + 18170: 696a ldr r2, [r5, #20] + 18172: 9b04 ldr r3, [sp, #16] + 18174: 4694 mov ip, r2 + 18176: 4463 add r3, ip + 18178: 616b str r3, [r5, #20] + 1817a: 7823 ldrb r3, [r4, #0] + 1817c: 2b00 cmp r3, #0 + 1817e: d100 bne.n 18182 <_svfiprintf_r+0x76> + 18180: e0ac b.n 182dc <_svfiprintf_r+0x1d0> + 18182: 2201 movs r2, #1 + 18184: 2300 movs r3, #0 + 18186: 4252 negs r2, r2 + 18188: 606a str r2, [r5, #4] + 1818a: a902 add r1, sp, #8 + 1818c: 3254 adds r2, #84 ; 0x54 + 1818e: 1852 adds r2, r2, r1 + 18190: 3401 adds r4, #1 + 18192: 602b str r3, [r5, #0] + 18194: 60eb str r3, [r5, #12] + 18196: 60ab str r3, [r5, #8] + 18198: 7013 strb r3, [r2, #0] + 1819a: 65ab str r3, [r5, #88] ; 0x58 + 1819c: 4e58 ldr r6, [pc, #352] ; (18300 <_svfiprintf_r+0x1f4>) + 1819e: 2205 movs r2, #5 181a0: 7821 ldrb r1, [r4, #0] - 181a2: 2203 movs r2, #3 - 181a4: 0030 movs r0, r6 - 181a6: f000 f9f5 bl 18594 + 181a2: 0030 movs r0, r6 + 181a4: f000 fa3e bl 18624 + 181a8: 1c62 adds r2, r4, #1 181aa: 2800 cmp r0, #0 - 181ac: d006 beq.n 181bc <_svfiprintf_r+0x140> - 181ae: 2340 movs r3, #64 ; 0x40 - 181b0: 1b80 subs r0, r0, r6 - 181b2: 4083 lsls r3, r0 - 181b4: 682a ldr r2, [r5, #0] - 181b6: 3401 adds r4, #1 - 181b8: 4313 orrs r3, r2 - 181ba: 602b str r3, [r5, #0] - 181bc: 7821 ldrb r1, [r4, #0] - 181be: 2206 movs r2, #6 - 181c0: 482d ldr r0, [pc, #180] ; (18278 <_svfiprintf_r+0x1fc>) - 181c2: 1c66 adds r6, r4, #1 - 181c4: 7629 strb r1, [r5, #24] - 181c6: f000 f9e5 bl 18594 - 181ca: 2800 cmp r0, #0 - 181cc: d046 beq.n 1825c <_svfiprintf_r+0x1e0> - 181ce: 4b2b ldr r3, [pc, #172] ; (1827c <_svfiprintf_r+0x200>) - 181d0: 2b00 cmp r3, #0 - 181d2: d12f bne.n 18234 <_svfiprintf_r+0x1b8> - 181d4: 6829 ldr r1, [r5, #0] - 181d6: 9b05 ldr r3, [sp, #20] - 181d8: 2207 movs r2, #7 - 181da: 05c9 lsls r1, r1, #23 - 181dc: d528 bpl.n 18230 <_svfiprintf_r+0x1b4> - 181de: 189b adds r3, r3, r2 - 181e0: 4393 bics r3, r2 - 181e2: 3308 adds r3, #8 - 181e4: 9305 str r3, [sp, #20] - 181e6: 696b ldr r3, [r5, #20] - 181e8: 9a03 ldr r2, [sp, #12] - 181ea: 189b adds r3, r3, r2 - 181ec: 616b str r3, [r5, #20] - 181ee: e767 b.n 180c0 <_svfiprintf_r+0x44> - 181f0: 425b negs r3, r3 - 181f2: 60eb str r3, [r5, #12] - 181f4: 2302 movs r3, #2 - 181f6: 430b orrs r3, r1 - 181f8: 602b str r3, [r5, #0] - 181fa: e7c0 b.n 1817e <_svfiprintf_r+0x102> - 181fc: 434b muls r3, r1 - 181fe: 3401 adds r4, #1 - 18200: 189b adds r3, r3, r2 - 18202: 2001 movs r0, #1 - 18204: e7a0 b.n 18148 <_svfiprintf_r+0xcc> - 18206: 2301 movs r3, #1 - 18208: 425b negs r3, r3 - 1820a: e7c7 b.n 1819c <_svfiprintf_r+0x120> - 1820c: 2300 movs r3, #0 + 181ac: d120 bne.n 181f0 <_svfiprintf_r+0xe4> + 181ae: 6829 ldr r1, [r5, #0] + 181b0: 06cb lsls r3, r1, #27 + 181b2: d504 bpl.n 181be <_svfiprintf_r+0xb2> + 181b4: 2353 movs r3, #83 ; 0x53 + 181b6: ae02 add r6, sp, #8 + 181b8: 3020 adds r0, #32 + 181ba: 199b adds r3, r3, r6 + 181bc: 7018 strb r0, [r3, #0] + 181be: 070b lsls r3, r1, #28 + 181c0: d504 bpl.n 181cc <_svfiprintf_r+0xc0> + 181c2: 2353 movs r3, #83 ; 0x53 + 181c4: 202b movs r0, #43 ; 0x2b + 181c6: ae02 add r6, sp, #8 + 181c8: 199b adds r3, r3, r6 + 181ca: 7018 strb r0, [r3, #0] + 181cc: 7823 ldrb r3, [r4, #0] + 181ce: 2b2a cmp r3, #42 ; 0x2a + 181d0: d016 beq.n 18200 <_svfiprintf_r+0xf4> + 181d2: 2000 movs r0, #0 + 181d4: 210a movs r1, #10 + 181d6: 9b09 ldr r3, [sp, #36] ; 0x24 + 181d8: 7822 ldrb r2, [r4, #0] + 181da: 3a30 subs r2, #48 ; 0x30 + 181dc: 2a09 cmp r2, #9 + 181de: d955 bls.n 1828c <_svfiprintf_r+0x180> + 181e0: 2800 cmp r0, #0 + 181e2: d015 beq.n 18210 <_svfiprintf_r+0x104> + 181e4: 9309 str r3, [sp, #36] ; 0x24 + 181e6: e013 b.n 18210 <_svfiprintf_r+0x104> + 181e8: 2b25 cmp r3, #37 ; 0x25 + 181ea: d0b5 beq.n 18158 <_svfiprintf_r+0x4c> + 181ec: 3401 adds r4, #1 + 181ee: e7b0 b.n 18152 <_svfiprintf_r+0x46> + 181f0: 2301 movs r3, #1 + 181f2: 1b80 subs r0, r0, r6 + 181f4: 4083 lsls r3, r0 + 181f6: 6829 ldr r1, [r5, #0] + 181f8: 0014 movs r4, r2 + 181fa: 430b orrs r3, r1 + 181fc: 602b str r3, [r5, #0] + 181fe: e7cd b.n 1819c <_svfiprintf_r+0x90> + 18200: 9b05 ldr r3, [sp, #20] + 18202: 1d18 adds r0, r3, #4 + 18204: 681b ldr r3, [r3, #0] + 18206: 9005 str r0, [sp, #20] + 18208: 2b00 cmp r3, #0 + 1820a: db39 blt.n 18280 <_svfiprintf_r+0x174> + 1820c: 9309 str r3, [sp, #36] ; 0x24 1820e: 0014 movs r4, r2 - 18210: 200a movs r0, #10 - 18212: 001a movs r2, r3 - 18214: 606b str r3, [r5, #4] - 18216: 7821 ldrb r1, [r4, #0] - 18218: 3930 subs r1, #48 ; 0x30 - 1821a: 2909 cmp r1, #9 - 1821c: d903 bls.n 18226 <_svfiprintf_r+0x1aa> - 1821e: 2b00 cmp r3, #0 - 18220: d0bd beq.n 1819e <_svfiprintf_r+0x122> - 18222: 9207 str r2, [sp, #28] - 18224: e7bb b.n 1819e <_svfiprintf_r+0x122> - 18226: 4342 muls r2, r0 - 18228: 3401 adds r4, #1 - 1822a: 1852 adds r2, r2, r1 - 1822c: 2301 movs r3, #1 - 1822e: e7f2 b.n 18216 <_svfiprintf_r+0x19a> - 18230: 3307 adds r3, #7 - 18232: e7d5 b.n 181e0 <_svfiprintf_r+0x164> - 18234: ab05 add r3, sp, #20 - 18236: 9300 str r3, [sp, #0] - 18238: 003a movs r2, r7 - 1823a: 4b11 ldr r3, [pc, #68] ; (18280 <_svfiprintf_r+0x204>) - 1823c: 0029 movs r1, r5 - 1823e: 9802 ldr r0, [sp, #8] - 18240: e000 b.n 18244 <_svfiprintf_r+0x1c8> - 18242: bf00 nop - 18244: 9003 str r0, [sp, #12] - 18246: 9b03 ldr r3, [sp, #12] - 18248: 3301 adds r3, #1 - 1824a: d1cc bne.n 181e6 <_svfiprintf_r+0x16a> - 1824c: 89bb ldrh r3, [r7, #12] - 1824e: 980b ldr r0, [sp, #44] ; 0x2c - 18250: 065b lsls r3, r3, #25 - 18252: d400 bmi.n 18256 <_svfiprintf_r+0x1da> - 18254: e729 b.n 180aa <_svfiprintf_r+0x2e> - 18256: 2001 movs r0, #1 - 18258: 4240 negs r0, r0 - 1825a: e726 b.n 180aa <_svfiprintf_r+0x2e> - 1825c: ab05 add r3, sp, #20 - 1825e: 9300 str r3, [sp, #0] - 18260: 003a movs r2, r7 - 18262: 4b07 ldr r3, [pc, #28] ; (18280 <_svfiprintf_r+0x204>) - 18264: 0029 movs r1, r5 - 18266: 9802 ldr r0, [sp, #8] - 18268: f000 f87a bl 18360 <_printf_i> - 1826c: e7ea b.n 18244 <_svfiprintf_r+0x1c8> - 1826e: 46c0 nop ; (mov r8, r8) - 18270: 0001ca2c .word 0x0001ca2c - 18274: 0001ca32 .word 0x0001ca32 - 18278: 0001ca36 .word 0x0001ca36 - 1827c: 00000000 .word 0x00000000 - 18280: 00017fb9 .word 0x00017fb9 - -00018284 <_printf_common>: - 18284: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 18286: 0015 movs r5, r2 - 18288: 9301 str r3, [sp, #4] - 1828a: 688a ldr r2, [r1, #8] - 1828c: 690b ldr r3, [r1, #16] - 1828e: 9000 str r0, [sp, #0] - 18290: 000c movs r4, r1 - 18292: 4293 cmp r3, r2 - 18294: da00 bge.n 18298 <_printf_common+0x14> - 18296: 0013 movs r3, r2 - 18298: 0022 movs r2, r4 - 1829a: 602b str r3, [r5, #0] - 1829c: 3243 adds r2, #67 ; 0x43 - 1829e: 7812 ldrb r2, [r2, #0] - 182a0: 2a00 cmp r2, #0 - 182a2: d001 beq.n 182a8 <_printf_common+0x24> - 182a4: 3301 adds r3, #1 - 182a6: 602b str r3, [r5, #0] - 182a8: 6823 ldr r3, [r4, #0] - 182aa: 069b lsls r3, r3, #26 - 182ac: d502 bpl.n 182b4 <_printf_common+0x30> - 182ae: 682b ldr r3, [r5, #0] - 182b0: 3302 adds r3, #2 - 182b2: 602b str r3, [r5, #0] - 182b4: 2706 movs r7, #6 - 182b6: 6823 ldr r3, [r4, #0] - 182b8: 401f ands r7, r3 - 182ba: d027 beq.n 1830c <_printf_common+0x88> - 182bc: 0023 movs r3, r4 - 182be: 3343 adds r3, #67 ; 0x43 - 182c0: 781b ldrb r3, [r3, #0] - 182c2: 1e5a subs r2, r3, #1 - 182c4: 4193 sbcs r3, r2 - 182c6: 6822 ldr r2, [r4, #0] - 182c8: 0692 lsls r2, r2, #26 - 182ca: d430 bmi.n 1832e <_printf_common+0xaa> - 182cc: 0022 movs r2, r4 - 182ce: 9901 ldr r1, [sp, #4] - 182d0: 3243 adds r2, #67 ; 0x43 - 182d2: 9800 ldr r0, [sp, #0] - 182d4: 9e08 ldr r6, [sp, #32] - 182d6: 47b0 blx r6 - 182d8: 1c43 adds r3, r0, #1 - 182da: d025 beq.n 18328 <_printf_common+0xa4> - 182dc: 2306 movs r3, #6 - 182de: 6820 ldr r0, [r4, #0] - 182e0: 682a ldr r2, [r5, #0] - 182e2: 68e1 ldr r1, [r4, #12] - 182e4: 4003 ands r3, r0 - 182e6: 2500 movs r5, #0 - 182e8: 2b04 cmp r3, #4 - 182ea: d103 bne.n 182f4 <_printf_common+0x70> - 182ec: 1a8d subs r5, r1, r2 - 182ee: 43eb mvns r3, r5 - 182f0: 17db asrs r3, r3, #31 - 182f2: 401d ands r5, r3 - 182f4: 68a3 ldr r3, [r4, #8] - 182f6: 6922 ldr r2, [r4, #16] - 182f8: 4293 cmp r3, r2 - 182fa: dd01 ble.n 18300 <_printf_common+0x7c> - 182fc: 1a9b subs r3, r3, r2 - 182fe: 18ed adds r5, r5, r3 - 18300: 2700 movs r7, #0 - 18302: 42bd cmp r5, r7 - 18304: d120 bne.n 18348 <_printf_common+0xc4> - 18306: 2000 movs r0, #0 - 18308: e010 b.n 1832c <_printf_common+0xa8> - 1830a: 3701 adds r7, #1 - 1830c: 68e3 ldr r3, [r4, #12] - 1830e: 682a ldr r2, [r5, #0] - 18310: 1a9b subs r3, r3, r2 - 18312: 429f cmp r7, r3 - 18314: dad2 bge.n 182bc <_printf_common+0x38> - 18316: 0022 movs r2, r4 - 18318: 2301 movs r3, #1 - 1831a: 3219 adds r2, #25 - 1831c: 9901 ldr r1, [sp, #4] - 1831e: 9800 ldr r0, [sp, #0] - 18320: 9e08 ldr r6, [sp, #32] - 18322: 47b0 blx r6 - 18324: 1c43 adds r3, r0, #1 - 18326: d1f0 bne.n 1830a <_printf_common+0x86> - 18328: 2001 movs r0, #1 - 1832a: 4240 negs r0, r0 - 1832c: bdfe pop {r1, r2, r3, r4, r5, r6, r7, pc} - 1832e: 2030 movs r0, #48 ; 0x30 - 18330: 18e1 adds r1, r4, r3 - 18332: 3143 adds r1, #67 ; 0x43 - 18334: 7008 strb r0, [r1, #0] - 18336: 0021 movs r1, r4 - 18338: 1c5a adds r2, r3, #1 - 1833a: 3145 adds r1, #69 ; 0x45 - 1833c: 7809 ldrb r1, [r1, #0] - 1833e: 18a2 adds r2, r4, r2 - 18340: 3243 adds r2, #67 ; 0x43 - 18342: 3302 adds r3, #2 - 18344: 7011 strb r1, [r2, #0] - 18346: e7c1 b.n 182cc <_printf_common+0x48> - 18348: 0022 movs r2, r4 - 1834a: 2301 movs r3, #1 - 1834c: 321a adds r2, #26 - 1834e: 9901 ldr r1, [sp, #4] - 18350: 9800 ldr r0, [sp, #0] - 18352: 9e08 ldr r6, [sp, #32] - 18354: 47b0 blx r6 - 18356: 1c43 adds r3, r0, #1 - 18358: d0e6 beq.n 18328 <_printf_common+0xa4> - 1835a: 3701 adds r7, #1 - 1835c: e7d1 b.n 18302 <_printf_common+0x7e> + 18210: 7823 ldrb r3, [r4, #0] + 18212: 2b2e cmp r3, #46 ; 0x2e + 18214: d10b bne.n 1822e <_svfiprintf_r+0x122> + 18216: 7863 ldrb r3, [r4, #1] + 18218: 1c62 adds r2, r4, #1 + 1821a: 2b2a cmp r3, #42 ; 0x2a + 1821c: d13e bne.n 1829c <_svfiprintf_r+0x190> + 1821e: 9b05 ldr r3, [sp, #20] + 18220: 3402 adds r4, #2 + 18222: 1d1a adds r2, r3, #4 + 18224: 681b ldr r3, [r3, #0] + 18226: 9205 str r2, [sp, #20] + 18228: 2b00 cmp r3, #0 + 1822a: db34 blt.n 18296 <_svfiprintf_r+0x18a> + 1822c: 9307 str r3, [sp, #28] + 1822e: 4e35 ldr r6, [pc, #212] ; (18304 <_svfiprintf_r+0x1f8>) + 18230: 7821 ldrb r1, [r4, #0] + 18232: 2203 movs r2, #3 + 18234: 0030 movs r0, r6 + 18236: f000 f9f5 bl 18624 + 1823a: 2800 cmp r0, #0 + 1823c: d006 beq.n 1824c <_svfiprintf_r+0x140> + 1823e: 2340 movs r3, #64 ; 0x40 + 18240: 1b80 subs r0, r0, r6 + 18242: 4083 lsls r3, r0 + 18244: 682a ldr r2, [r5, #0] + 18246: 3401 adds r4, #1 + 18248: 4313 orrs r3, r2 + 1824a: 602b str r3, [r5, #0] + 1824c: 7821 ldrb r1, [r4, #0] + 1824e: 2206 movs r2, #6 + 18250: 482d ldr r0, [pc, #180] ; (18308 <_svfiprintf_r+0x1fc>) + 18252: 1c66 adds r6, r4, #1 + 18254: 7629 strb r1, [r5, #24] + 18256: f000 f9e5 bl 18624 + 1825a: 2800 cmp r0, #0 + 1825c: d046 beq.n 182ec <_svfiprintf_r+0x1e0> + 1825e: 4b2b ldr r3, [pc, #172] ; (1830c <_svfiprintf_r+0x200>) + 18260: 2b00 cmp r3, #0 + 18262: d12f bne.n 182c4 <_svfiprintf_r+0x1b8> + 18264: 6829 ldr r1, [r5, #0] + 18266: 9b05 ldr r3, [sp, #20] + 18268: 2207 movs r2, #7 + 1826a: 05c9 lsls r1, r1, #23 + 1826c: d528 bpl.n 182c0 <_svfiprintf_r+0x1b4> + 1826e: 189b adds r3, r3, r2 + 18270: 4393 bics r3, r2 + 18272: 3308 adds r3, #8 + 18274: 9305 str r3, [sp, #20] + 18276: 696b ldr r3, [r5, #20] + 18278: 9a03 ldr r2, [sp, #12] + 1827a: 189b adds r3, r3, r2 + 1827c: 616b str r3, [r5, #20] + 1827e: e767 b.n 18150 <_svfiprintf_r+0x44> + 18280: 425b negs r3, r3 + 18282: 60eb str r3, [r5, #12] + 18284: 2302 movs r3, #2 + 18286: 430b orrs r3, r1 + 18288: 602b str r3, [r5, #0] + 1828a: e7c0 b.n 1820e <_svfiprintf_r+0x102> + 1828c: 434b muls r3, r1 + 1828e: 3401 adds r4, #1 + 18290: 189b adds r3, r3, r2 + 18292: 2001 movs r0, #1 + 18294: e7a0 b.n 181d8 <_svfiprintf_r+0xcc> + 18296: 2301 movs r3, #1 + 18298: 425b negs r3, r3 + 1829a: e7c7 b.n 1822c <_svfiprintf_r+0x120> + 1829c: 2300 movs r3, #0 + 1829e: 0014 movs r4, r2 + 182a0: 200a movs r0, #10 + 182a2: 001a movs r2, r3 + 182a4: 606b str r3, [r5, #4] + 182a6: 7821 ldrb r1, [r4, #0] + 182a8: 3930 subs r1, #48 ; 0x30 + 182aa: 2909 cmp r1, #9 + 182ac: d903 bls.n 182b6 <_svfiprintf_r+0x1aa> + 182ae: 2b00 cmp r3, #0 + 182b0: d0bd beq.n 1822e <_svfiprintf_r+0x122> + 182b2: 9207 str r2, [sp, #28] + 182b4: e7bb b.n 1822e <_svfiprintf_r+0x122> + 182b6: 4342 muls r2, r0 + 182b8: 3401 adds r4, #1 + 182ba: 1852 adds r2, r2, r1 + 182bc: 2301 movs r3, #1 + 182be: e7f2 b.n 182a6 <_svfiprintf_r+0x19a> + 182c0: 3307 adds r3, #7 + 182c2: e7d5 b.n 18270 <_svfiprintf_r+0x164> + 182c4: ab05 add r3, sp, #20 + 182c6: 9300 str r3, [sp, #0] + 182c8: 003a movs r2, r7 + 182ca: 4b11 ldr r3, [pc, #68] ; (18310 <_svfiprintf_r+0x204>) + 182cc: 0029 movs r1, r5 + 182ce: 9802 ldr r0, [sp, #8] + 182d0: e000 b.n 182d4 <_svfiprintf_r+0x1c8> + 182d2: bf00 nop + 182d4: 9003 str r0, [sp, #12] + 182d6: 9b03 ldr r3, [sp, #12] + 182d8: 3301 adds r3, #1 + 182da: d1cc bne.n 18276 <_svfiprintf_r+0x16a> + 182dc: 89bb ldrh r3, [r7, #12] + 182de: 980b ldr r0, [sp, #44] ; 0x2c + 182e0: 065b lsls r3, r3, #25 + 182e2: d400 bmi.n 182e6 <_svfiprintf_r+0x1da> + 182e4: e729 b.n 1813a <_svfiprintf_r+0x2e> + 182e6: 2001 movs r0, #1 + 182e8: 4240 negs r0, r0 + 182ea: e726 b.n 1813a <_svfiprintf_r+0x2e> + 182ec: ab05 add r3, sp, #20 + 182ee: 9300 str r3, [sp, #0] + 182f0: 003a movs r2, r7 + 182f2: 4b07 ldr r3, [pc, #28] ; (18310 <_svfiprintf_r+0x204>) + 182f4: 0029 movs r1, r5 + 182f6: 9802 ldr r0, [sp, #8] + 182f8: f000 f87a bl 183f0 <_printf_i> + 182fc: e7ea b.n 182d4 <_svfiprintf_r+0x1c8> + 182fe: 46c0 nop ; (mov r8, r8) + 18300: 0001cabc .word 0x0001cabc + 18304: 0001cac2 .word 0x0001cac2 + 18308: 0001cac6 .word 0x0001cac6 + 1830c: 00000000 .word 0x00000000 + 18310: 00018049 .word 0x00018049 + +00018314 <_printf_common>: + 18314: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} + 18316: 0015 movs r5, r2 + 18318: 9301 str r3, [sp, #4] + 1831a: 688a ldr r2, [r1, #8] + 1831c: 690b ldr r3, [r1, #16] + 1831e: 9000 str r0, [sp, #0] + 18320: 000c movs r4, r1 + 18322: 4293 cmp r3, r2 + 18324: da00 bge.n 18328 <_printf_common+0x14> + 18326: 0013 movs r3, r2 + 18328: 0022 movs r2, r4 + 1832a: 602b str r3, [r5, #0] + 1832c: 3243 adds r2, #67 ; 0x43 + 1832e: 7812 ldrb r2, [r2, #0] + 18330: 2a00 cmp r2, #0 + 18332: d001 beq.n 18338 <_printf_common+0x24> + 18334: 3301 adds r3, #1 + 18336: 602b str r3, [r5, #0] + 18338: 6823 ldr r3, [r4, #0] + 1833a: 069b lsls r3, r3, #26 + 1833c: d502 bpl.n 18344 <_printf_common+0x30> + 1833e: 682b ldr r3, [r5, #0] + 18340: 3302 adds r3, #2 + 18342: 602b str r3, [r5, #0] + 18344: 2706 movs r7, #6 + 18346: 6823 ldr r3, [r4, #0] + 18348: 401f ands r7, r3 + 1834a: d027 beq.n 1839c <_printf_common+0x88> + 1834c: 0023 movs r3, r4 + 1834e: 3343 adds r3, #67 ; 0x43 + 18350: 781b ldrb r3, [r3, #0] + 18352: 1e5a subs r2, r3, #1 + 18354: 4193 sbcs r3, r2 + 18356: 6822 ldr r2, [r4, #0] + 18358: 0692 lsls r2, r2, #26 + 1835a: d430 bmi.n 183be <_printf_common+0xaa> + 1835c: 0022 movs r2, r4 + 1835e: 9901 ldr r1, [sp, #4] + 18360: 3243 adds r2, #67 ; 0x43 + 18362: 9800 ldr r0, [sp, #0] + 18364: 9e08 ldr r6, [sp, #32] + 18366: 47b0 blx r6 + 18368: 1c43 adds r3, r0, #1 + 1836a: d025 beq.n 183b8 <_printf_common+0xa4> + 1836c: 2306 movs r3, #6 + 1836e: 6820 ldr r0, [r4, #0] + 18370: 682a ldr r2, [r5, #0] + 18372: 68e1 ldr r1, [r4, #12] + 18374: 4003 ands r3, r0 + 18376: 2500 movs r5, #0 + 18378: 2b04 cmp r3, #4 + 1837a: d103 bne.n 18384 <_printf_common+0x70> + 1837c: 1a8d subs r5, r1, r2 + 1837e: 43eb mvns r3, r5 + 18380: 17db asrs r3, r3, #31 + 18382: 401d ands r5, r3 + 18384: 68a3 ldr r3, [r4, #8] + 18386: 6922 ldr r2, [r4, #16] + 18388: 4293 cmp r3, r2 + 1838a: dd01 ble.n 18390 <_printf_common+0x7c> + 1838c: 1a9b subs r3, r3, r2 + 1838e: 18ed adds r5, r5, r3 + 18390: 2700 movs r7, #0 + 18392: 42bd cmp r5, r7 + 18394: d120 bne.n 183d8 <_printf_common+0xc4> + 18396: 2000 movs r0, #0 + 18398: e010 b.n 183bc <_printf_common+0xa8> + 1839a: 3701 adds r7, #1 + 1839c: 68e3 ldr r3, [r4, #12] + 1839e: 682a ldr r2, [r5, #0] + 183a0: 1a9b subs r3, r3, r2 + 183a2: 429f cmp r7, r3 + 183a4: dad2 bge.n 1834c <_printf_common+0x38> + 183a6: 0022 movs r2, r4 + 183a8: 2301 movs r3, #1 + 183aa: 3219 adds r2, #25 + 183ac: 9901 ldr r1, [sp, #4] + 183ae: 9800 ldr r0, [sp, #0] + 183b0: 9e08 ldr r6, [sp, #32] + 183b2: 47b0 blx r6 + 183b4: 1c43 adds r3, r0, #1 + 183b6: d1f0 bne.n 1839a <_printf_common+0x86> + 183b8: 2001 movs r0, #1 + 183ba: 4240 negs r0, r0 + 183bc: bdfe pop {r1, r2, r3, r4, r5, r6, r7, pc} + 183be: 2030 movs r0, #48 ; 0x30 + 183c0: 18e1 adds r1, r4, r3 + 183c2: 3143 adds r1, #67 ; 0x43 + 183c4: 7008 strb r0, [r1, #0] + 183c6: 0021 movs r1, r4 + 183c8: 1c5a adds r2, r3, #1 + 183ca: 3145 adds r1, #69 ; 0x45 + 183cc: 7809 ldrb r1, [r1, #0] + 183ce: 18a2 adds r2, r4, r2 + 183d0: 3243 adds r2, #67 ; 0x43 + 183d2: 3302 adds r3, #2 + 183d4: 7011 strb r1, [r2, #0] + 183d6: e7c1 b.n 1835c <_printf_common+0x48> + 183d8: 0022 movs r2, r4 + 183da: 2301 movs r3, #1 + 183dc: 321a adds r2, #26 + 183de: 9901 ldr r1, [sp, #4] + 183e0: 9800 ldr r0, [sp, #0] + 183e2: 9e08 ldr r6, [sp, #32] + 183e4: 47b0 blx r6 + 183e6: 1c43 adds r3, r0, #1 + 183e8: d0e6 beq.n 183b8 <_printf_common+0xa4> + 183ea: 3701 adds r7, #1 + 183ec: e7d1 b.n 18392 <_printf_common+0x7e> ... -00018360 <_printf_i>: - 18360: b5f0 push {r4, r5, r6, r7, lr} - 18362: b08b sub sp, #44 ; 0x2c - 18364: 9206 str r2, [sp, #24] - 18366: 000a movs r2, r1 - 18368: 3243 adds r2, #67 ; 0x43 - 1836a: 9307 str r3, [sp, #28] - 1836c: 9005 str r0, [sp, #20] - 1836e: 9204 str r2, [sp, #16] - 18370: 7e0a ldrb r2, [r1, #24] - 18372: 000c movs r4, r1 - 18374: 9b10 ldr r3, [sp, #64] ; 0x40 - 18376: 2a6e cmp r2, #110 ; 0x6e - 18378: d100 bne.n 1837c <_printf_i+0x1c> - 1837a: e08f b.n 1849c <_printf_i+0x13c> - 1837c: d817 bhi.n 183ae <_printf_i+0x4e> - 1837e: 2a63 cmp r2, #99 ; 0x63 - 18380: d02c beq.n 183dc <_printf_i+0x7c> - 18382: d808 bhi.n 18396 <_printf_i+0x36> - 18384: 2a00 cmp r2, #0 - 18386: d100 bne.n 1838a <_printf_i+0x2a> - 18388: e099 b.n 184be <_printf_i+0x15e> - 1838a: 2a58 cmp r2, #88 ; 0x58 - 1838c: d054 beq.n 18438 <_printf_i+0xd8> - 1838e: 0026 movs r6, r4 - 18390: 3642 adds r6, #66 ; 0x42 - 18392: 7032 strb r2, [r6, #0] - 18394: e029 b.n 183ea <_printf_i+0x8a> - 18396: 2a64 cmp r2, #100 ; 0x64 - 18398: d001 beq.n 1839e <_printf_i+0x3e> - 1839a: 2a69 cmp r2, #105 ; 0x69 - 1839c: d1f7 bne.n 1838e <_printf_i+0x2e> - 1839e: 6821 ldr r1, [r4, #0] - 183a0: 681a ldr r2, [r3, #0] - 183a2: 0608 lsls r0, r1, #24 - 183a4: d523 bpl.n 183ee <_printf_i+0x8e> - 183a6: 1d11 adds r1, r2, #4 - 183a8: 6019 str r1, [r3, #0] - 183aa: 6815 ldr r5, [r2, #0] - 183ac: e025 b.n 183fa <_printf_i+0x9a> - 183ae: 2a73 cmp r2, #115 ; 0x73 - 183b0: d100 bne.n 183b4 <_printf_i+0x54> - 183b2: e088 b.n 184c6 <_printf_i+0x166> - 183b4: d808 bhi.n 183c8 <_printf_i+0x68> - 183b6: 2a6f cmp r2, #111 ; 0x6f - 183b8: d029 beq.n 1840e <_printf_i+0xae> - 183ba: 2a70 cmp r2, #112 ; 0x70 - 183bc: d1e7 bne.n 1838e <_printf_i+0x2e> - 183be: 2220 movs r2, #32 - 183c0: 6809 ldr r1, [r1, #0] - 183c2: 430a orrs r2, r1 - 183c4: 6022 str r2, [r4, #0] - 183c6: e003 b.n 183d0 <_printf_i+0x70> - 183c8: 2a75 cmp r2, #117 ; 0x75 - 183ca: d020 beq.n 1840e <_printf_i+0xae> - 183cc: 2a78 cmp r2, #120 ; 0x78 - 183ce: d1de bne.n 1838e <_printf_i+0x2e> - 183d0: 0022 movs r2, r4 - 183d2: 2178 movs r1, #120 ; 0x78 - 183d4: 3245 adds r2, #69 ; 0x45 - 183d6: 7011 strb r1, [r2, #0] - 183d8: 4a6c ldr r2, [pc, #432] ; (1858c <_printf_i+0x22c>) - 183da: e030 b.n 1843e <_printf_i+0xde> - 183dc: 000e movs r6, r1 - 183de: 681a ldr r2, [r3, #0] - 183e0: 3642 adds r6, #66 ; 0x42 - 183e2: 1d11 adds r1, r2, #4 - 183e4: 6019 str r1, [r3, #0] - 183e6: 6813 ldr r3, [r2, #0] - 183e8: 7033 strb r3, [r6, #0] - 183ea: 2301 movs r3, #1 - 183ec: e079 b.n 184e2 <_printf_i+0x182> - 183ee: 0649 lsls r1, r1, #25 - 183f0: d5d9 bpl.n 183a6 <_printf_i+0x46> - 183f2: 1d11 adds r1, r2, #4 - 183f4: 6019 str r1, [r3, #0] - 183f6: 2300 movs r3, #0 - 183f8: 5ed5 ldrsh r5, [r2, r3] - 183fa: 2d00 cmp r5, #0 - 183fc: da03 bge.n 18406 <_printf_i+0xa6> - 183fe: 232d movs r3, #45 ; 0x2d - 18400: 9a04 ldr r2, [sp, #16] - 18402: 426d negs r5, r5 - 18404: 7013 strb r3, [r2, #0] - 18406: 4b62 ldr r3, [pc, #392] ; (18590 <_printf_i+0x230>) - 18408: 270a movs r7, #10 - 1840a: 9303 str r3, [sp, #12] - 1840c: e02f b.n 1846e <_printf_i+0x10e> - 1840e: 6820 ldr r0, [r4, #0] - 18410: 6819 ldr r1, [r3, #0] - 18412: 0605 lsls r5, r0, #24 - 18414: d503 bpl.n 1841e <_printf_i+0xbe> - 18416: 1d08 adds r0, r1, #4 - 18418: 6018 str r0, [r3, #0] - 1841a: 680d ldr r5, [r1, #0] - 1841c: e005 b.n 1842a <_printf_i+0xca> - 1841e: 0640 lsls r0, r0, #25 - 18420: d5f9 bpl.n 18416 <_printf_i+0xb6> - 18422: 680d ldr r5, [r1, #0] - 18424: 1d08 adds r0, r1, #4 - 18426: 6018 str r0, [r3, #0] - 18428: b2ad uxth r5, r5 - 1842a: 4b59 ldr r3, [pc, #356] ; (18590 <_printf_i+0x230>) - 1842c: 2708 movs r7, #8 - 1842e: 9303 str r3, [sp, #12] - 18430: 2a6f cmp r2, #111 ; 0x6f - 18432: d018 beq.n 18466 <_printf_i+0x106> - 18434: 270a movs r7, #10 - 18436: e016 b.n 18466 <_printf_i+0x106> - 18438: 3145 adds r1, #69 ; 0x45 - 1843a: 700a strb r2, [r1, #0] - 1843c: 4a54 ldr r2, [pc, #336] ; (18590 <_printf_i+0x230>) - 1843e: 9203 str r2, [sp, #12] - 18440: 681a ldr r2, [r3, #0] - 18442: 6821 ldr r1, [r4, #0] - 18444: 1d10 adds r0, r2, #4 - 18446: 6018 str r0, [r3, #0] - 18448: 6815 ldr r5, [r2, #0] - 1844a: 0608 lsls r0, r1, #24 - 1844c: d522 bpl.n 18494 <_printf_i+0x134> - 1844e: 07cb lsls r3, r1, #31 - 18450: d502 bpl.n 18458 <_printf_i+0xf8> - 18452: 2320 movs r3, #32 - 18454: 4319 orrs r1, r3 - 18456: 6021 str r1, [r4, #0] - 18458: 2710 movs r7, #16 - 1845a: 2d00 cmp r5, #0 - 1845c: d103 bne.n 18466 <_printf_i+0x106> - 1845e: 2320 movs r3, #32 - 18460: 6822 ldr r2, [r4, #0] - 18462: 439a bics r2, r3 - 18464: 6022 str r2, [r4, #0] - 18466: 0023 movs r3, r4 - 18468: 2200 movs r2, #0 - 1846a: 3343 adds r3, #67 ; 0x43 - 1846c: 701a strb r2, [r3, #0] - 1846e: 6863 ldr r3, [r4, #4] - 18470: 60a3 str r3, [r4, #8] - 18472: 2b00 cmp r3, #0 - 18474: db5c blt.n 18530 <_printf_i+0x1d0> - 18476: 2204 movs r2, #4 - 18478: 6821 ldr r1, [r4, #0] - 1847a: 4391 bics r1, r2 - 1847c: 6021 str r1, [r4, #0] - 1847e: 2d00 cmp r5, #0 - 18480: d158 bne.n 18534 <_printf_i+0x1d4> - 18482: 9e04 ldr r6, [sp, #16] - 18484: 2b00 cmp r3, #0 - 18486: d064 beq.n 18552 <_printf_i+0x1f2> - 18488: 0026 movs r6, r4 - 1848a: 9b03 ldr r3, [sp, #12] - 1848c: 3642 adds r6, #66 ; 0x42 - 1848e: 781b ldrb r3, [r3, #0] - 18490: 7033 strb r3, [r6, #0] - 18492: e05e b.n 18552 <_printf_i+0x1f2> - 18494: 0648 lsls r0, r1, #25 - 18496: d5da bpl.n 1844e <_printf_i+0xee> - 18498: b2ad uxth r5, r5 - 1849a: e7d8 b.n 1844e <_printf_i+0xee> - 1849c: 6809 ldr r1, [r1, #0] - 1849e: 681a ldr r2, [r3, #0] - 184a0: 0608 lsls r0, r1, #24 - 184a2: d505 bpl.n 184b0 <_printf_i+0x150> - 184a4: 1d11 adds r1, r2, #4 - 184a6: 6019 str r1, [r3, #0] - 184a8: 6813 ldr r3, [r2, #0] - 184aa: 6962 ldr r2, [r4, #20] - 184ac: 601a str r2, [r3, #0] - 184ae: e006 b.n 184be <_printf_i+0x15e> - 184b0: 0649 lsls r1, r1, #25 - 184b2: d5f7 bpl.n 184a4 <_printf_i+0x144> - 184b4: 1d11 adds r1, r2, #4 - 184b6: 6019 str r1, [r3, #0] - 184b8: 6813 ldr r3, [r2, #0] - 184ba: 8aa2 ldrh r2, [r4, #20] - 184bc: 801a strh r2, [r3, #0] - 184be: 2300 movs r3, #0 - 184c0: 9e04 ldr r6, [sp, #16] - 184c2: 6123 str r3, [r4, #16] - 184c4: e054 b.n 18570 <_printf_i+0x210> - 184c6: 681a ldr r2, [r3, #0] - 184c8: 1d11 adds r1, r2, #4 - 184ca: 6019 str r1, [r3, #0] - 184cc: 6816 ldr r6, [r2, #0] - 184ce: 2100 movs r1, #0 - 184d0: 6862 ldr r2, [r4, #4] - 184d2: 0030 movs r0, r6 - 184d4: f000 f85e bl 18594 - 184d8: 2800 cmp r0, #0 - 184da: d001 beq.n 184e0 <_printf_i+0x180> - 184dc: 1b80 subs r0, r0, r6 - 184de: 6060 str r0, [r4, #4] - 184e0: 6863 ldr r3, [r4, #4] - 184e2: 6123 str r3, [r4, #16] - 184e4: 2300 movs r3, #0 - 184e6: 9a04 ldr r2, [sp, #16] - 184e8: 7013 strb r3, [r2, #0] - 184ea: e041 b.n 18570 <_printf_i+0x210> - 184ec: 6923 ldr r3, [r4, #16] - 184ee: 0032 movs r2, r6 - 184f0: 9906 ldr r1, [sp, #24] - 184f2: 9805 ldr r0, [sp, #20] - 184f4: 9d07 ldr r5, [sp, #28] - 184f6: 47a8 blx r5 - 184f8: 1c43 adds r3, r0, #1 - 184fa: d043 beq.n 18584 <_printf_i+0x224> - 184fc: 6823 ldr r3, [r4, #0] - 184fe: 2500 movs r5, #0 - 18500: 079b lsls r3, r3, #30 - 18502: d40f bmi.n 18524 <_printf_i+0x1c4> - 18504: 9b09 ldr r3, [sp, #36] ; 0x24 - 18506: 68e0 ldr r0, [r4, #12] - 18508: 4298 cmp r0, r3 - 1850a: da3d bge.n 18588 <_printf_i+0x228> - 1850c: 0018 movs r0, r3 - 1850e: e03b b.n 18588 <_printf_i+0x228> - 18510: 0022 movs r2, r4 - 18512: 2301 movs r3, #1 - 18514: 3219 adds r2, #25 - 18516: 9906 ldr r1, [sp, #24] - 18518: 9805 ldr r0, [sp, #20] - 1851a: 9e07 ldr r6, [sp, #28] - 1851c: 47b0 blx r6 - 1851e: 1c43 adds r3, r0, #1 - 18520: d030 beq.n 18584 <_printf_i+0x224> - 18522: 3501 adds r5, #1 - 18524: 68e3 ldr r3, [r4, #12] - 18526: 9a09 ldr r2, [sp, #36] ; 0x24 - 18528: 1a9b subs r3, r3, r2 - 1852a: 429d cmp r5, r3 - 1852c: dbf0 blt.n 18510 <_printf_i+0x1b0> - 1852e: e7e9 b.n 18504 <_printf_i+0x1a4> - 18530: 2d00 cmp r5, #0 - 18532: d0a9 beq.n 18488 <_printf_i+0x128> - 18534: 9e04 ldr r6, [sp, #16] - 18536: 0028 movs r0, r5 - 18538: 0039 movs r1, r7 - 1853a: f7ff fa97 bl 17a6c <__aeabi_uidivmod> - 1853e: 9b03 ldr r3, [sp, #12] - 18540: 3e01 subs r6, #1 - 18542: 5c5b ldrb r3, [r3, r1] - 18544: 0028 movs r0, r5 - 18546: 7033 strb r3, [r6, #0] - 18548: 0039 movs r1, r7 - 1854a: f7ff fa09 bl 17960 <__udivsi3> - 1854e: 1e05 subs r5, r0, #0 - 18550: d1f1 bne.n 18536 <_printf_i+0x1d6> - 18552: 2f08 cmp r7, #8 - 18554: d109 bne.n 1856a <_printf_i+0x20a> - 18556: 6823 ldr r3, [r4, #0] - 18558: 07db lsls r3, r3, #31 - 1855a: d506 bpl.n 1856a <_printf_i+0x20a> - 1855c: 6863 ldr r3, [r4, #4] - 1855e: 6922 ldr r2, [r4, #16] - 18560: 4293 cmp r3, r2 - 18562: dc02 bgt.n 1856a <_printf_i+0x20a> - 18564: 2330 movs r3, #48 ; 0x30 - 18566: 3e01 subs r6, #1 - 18568: 7033 strb r3, [r6, #0] - 1856a: 9b04 ldr r3, [sp, #16] - 1856c: 1b9b subs r3, r3, r6 - 1856e: 6123 str r3, [r4, #16] - 18570: 9b07 ldr r3, [sp, #28] - 18572: aa09 add r2, sp, #36 ; 0x24 - 18574: 9300 str r3, [sp, #0] - 18576: 0021 movs r1, r4 - 18578: 9b06 ldr r3, [sp, #24] - 1857a: 9805 ldr r0, [sp, #20] - 1857c: f7ff fe82 bl 18284 <_printf_common> - 18580: 1c43 adds r3, r0, #1 - 18582: d1b3 bne.n 184ec <_printf_i+0x18c> - 18584: 2001 movs r0, #1 - 18586: 4240 negs r0, r0 - 18588: b00b add sp, #44 ; 0x2c - 1858a: bdf0 pop {r4, r5, r6, r7, pc} - 1858c: 0001ca4e .word 0x0001ca4e - 18590: 0001ca3d .word 0x0001ca3d - -00018594 : - 18594: b2c9 uxtb r1, r1 - 18596: 1882 adds r2, r0, r2 - 18598: 4290 cmp r0, r2 - 1859a: d101 bne.n 185a0 - 1859c: 2000 movs r0, #0 - 1859e: 4770 bx lr - 185a0: 7803 ldrb r3, [r0, #0] - 185a2: 428b cmp r3, r1 - 185a4: d0fb beq.n 1859e - 185a6: 3001 adds r0, #1 - 185a8: e7f6 b.n 18598 - -000185aa : - 185aa: b510 push {r4, lr} - 185ac: 4288 cmp r0, r1 - 185ae: d902 bls.n 185b6 - 185b0: 188b adds r3, r1, r2 - 185b2: 4298 cmp r0, r3 - 185b4: d308 bcc.n 185c8 - 185b6: 2300 movs r3, #0 - 185b8: 429a cmp r2, r3 - 185ba: d007 beq.n 185cc - 185bc: 5ccc ldrb r4, [r1, r3] - 185be: 54c4 strb r4, [r0, r3] - 185c0: 3301 adds r3, #1 - 185c2: e7f9 b.n 185b8 - 185c4: 5c8b ldrb r3, [r1, r2] - 185c6: 5483 strb r3, [r0, r2] - 185c8: 3a01 subs r2, #1 - 185ca: d2fb bcs.n 185c4 - 185cc: bd10 pop {r4, pc} +000183f0 <_printf_i>: + 183f0: b5f0 push {r4, r5, r6, r7, lr} + 183f2: b08b sub sp, #44 ; 0x2c + 183f4: 9206 str r2, [sp, #24] + 183f6: 000a movs r2, r1 + 183f8: 3243 adds r2, #67 ; 0x43 + 183fa: 9307 str r3, [sp, #28] + 183fc: 9005 str r0, [sp, #20] + 183fe: 9204 str r2, [sp, #16] + 18400: 7e0a ldrb r2, [r1, #24] + 18402: 000c movs r4, r1 + 18404: 9b10 ldr r3, [sp, #64] ; 0x40 + 18406: 2a6e cmp r2, #110 ; 0x6e + 18408: d100 bne.n 1840c <_printf_i+0x1c> + 1840a: e08f b.n 1852c <_printf_i+0x13c> + 1840c: d817 bhi.n 1843e <_printf_i+0x4e> + 1840e: 2a63 cmp r2, #99 ; 0x63 + 18410: d02c beq.n 1846c <_printf_i+0x7c> + 18412: d808 bhi.n 18426 <_printf_i+0x36> + 18414: 2a00 cmp r2, #0 + 18416: d100 bne.n 1841a <_printf_i+0x2a> + 18418: e099 b.n 1854e <_printf_i+0x15e> + 1841a: 2a58 cmp r2, #88 ; 0x58 + 1841c: d054 beq.n 184c8 <_printf_i+0xd8> + 1841e: 0026 movs r6, r4 + 18420: 3642 adds r6, #66 ; 0x42 + 18422: 7032 strb r2, [r6, #0] + 18424: e029 b.n 1847a <_printf_i+0x8a> + 18426: 2a64 cmp r2, #100 ; 0x64 + 18428: d001 beq.n 1842e <_printf_i+0x3e> + 1842a: 2a69 cmp r2, #105 ; 0x69 + 1842c: d1f7 bne.n 1841e <_printf_i+0x2e> + 1842e: 6821 ldr r1, [r4, #0] + 18430: 681a ldr r2, [r3, #0] + 18432: 0608 lsls r0, r1, #24 + 18434: d523 bpl.n 1847e <_printf_i+0x8e> + 18436: 1d11 adds r1, r2, #4 + 18438: 6019 str r1, [r3, #0] + 1843a: 6815 ldr r5, [r2, #0] + 1843c: e025 b.n 1848a <_printf_i+0x9a> + 1843e: 2a73 cmp r2, #115 ; 0x73 + 18440: d100 bne.n 18444 <_printf_i+0x54> + 18442: e088 b.n 18556 <_printf_i+0x166> + 18444: d808 bhi.n 18458 <_printf_i+0x68> + 18446: 2a6f cmp r2, #111 ; 0x6f + 18448: d029 beq.n 1849e <_printf_i+0xae> + 1844a: 2a70 cmp r2, #112 ; 0x70 + 1844c: d1e7 bne.n 1841e <_printf_i+0x2e> + 1844e: 2220 movs r2, #32 + 18450: 6809 ldr r1, [r1, #0] + 18452: 430a orrs r2, r1 + 18454: 6022 str r2, [r4, #0] + 18456: e003 b.n 18460 <_printf_i+0x70> + 18458: 2a75 cmp r2, #117 ; 0x75 + 1845a: d020 beq.n 1849e <_printf_i+0xae> + 1845c: 2a78 cmp r2, #120 ; 0x78 + 1845e: d1de bne.n 1841e <_printf_i+0x2e> + 18460: 0022 movs r2, r4 + 18462: 2178 movs r1, #120 ; 0x78 + 18464: 3245 adds r2, #69 ; 0x45 + 18466: 7011 strb r1, [r2, #0] + 18468: 4a6c ldr r2, [pc, #432] ; (1861c <_printf_i+0x22c>) + 1846a: e030 b.n 184ce <_printf_i+0xde> + 1846c: 000e movs r6, r1 + 1846e: 681a ldr r2, [r3, #0] + 18470: 3642 adds r6, #66 ; 0x42 + 18472: 1d11 adds r1, r2, #4 + 18474: 6019 str r1, [r3, #0] + 18476: 6813 ldr r3, [r2, #0] + 18478: 7033 strb r3, [r6, #0] + 1847a: 2301 movs r3, #1 + 1847c: e079 b.n 18572 <_printf_i+0x182> + 1847e: 0649 lsls r1, r1, #25 + 18480: d5d9 bpl.n 18436 <_printf_i+0x46> + 18482: 1d11 adds r1, r2, #4 + 18484: 6019 str r1, [r3, #0] + 18486: 2300 movs r3, #0 + 18488: 5ed5 ldrsh r5, [r2, r3] + 1848a: 2d00 cmp r5, #0 + 1848c: da03 bge.n 18496 <_printf_i+0xa6> + 1848e: 232d movs r3, #45 ; 0x2d + 18490: 9a04 ldr r2, [sp, #16] + 18492: 426d negs r5, r5 + 18494: 7013 strb r3, [r2, #0] + 18496: 4b62 ldr r3, [pc, #392] ; (18620 <_printf_i+0x230>) + 18498: 270a movs r7, #10 + 1849a: 9303 str r3, [sp, #12] + 1849c: e02f b.n 184fe <_printf_i+0x10e> + 1849e: 6820 ldr r0, [r4, #0] + 184a0: 6819 ldr r1, [r3, #0] + 184a2: 0605 lsls r5, r0, #24 + 184a4: d503 bpl.n 184ae <_printf_i+0xbe> + 184a6: 1d08 adds r0, r1, #4 + 184a8: 6018 str r0, [r3, #0] + 184aa: 680d ldr r5, [r1, #0] + 184ac: e005 b.n 184ba <_printf_i+0xca> + 184ae: 0640 lsls r0, r0, #25 + 184b0: d5f9 bpl.n 184a6 <_printf_i+0xb6> + 184b2: 680d ldr r5, [r1, #0] + 184b4: 1d08 adds r0, r1, #4 + 184b6: 6018 str r0, [r3, #0] + 184b8: b2ad uxth r5, r5 + 184ba: 4b59 ldr r3, [pc, #356] ; (18620 <_printf_i+0x230>) + 184bc: 2708 movs r7, #8 + 184be: 9303 str r3, [sp, #12] + 184c0: 2a6f cmp r2, #111 ; 0x6f + 184c2: d018 beq.n 184f6 <_printf_i+0x106> + 184c4: 270a movs r7, #10 + 184c6: e016 b.n 184f6 <_printf_i+0x106> + 184c8: 3145 adds r1, #69 ; 0x45 + 184ca: 700a strb r2, [r1, #0] + 184cc: 4a54 ldr r2, [pc, #336] ; (18620 <_printf_i+0x230>) + 184ce: 9203 str r2, [sp, #12] + 184d0: 681a ldr r2, [r3, #0] + 184d2: 6821 ldr r1, [r4, #0] + 184d4: 1d10 adds r0, r2, #4 + 184d6: 6018 str r0, [r3, #0] + 184d8: 6815 ldr r5, [r2, #0] + 184da: 0608 lsls r0, r1, #24 + 184dc: d522 bpl.n 18524 <_printf_i+0x134> + 184de: 07cb lsls r3, r1, #31 + 184e0: d502 bpl.n 184e8 <_printf_i+0xf8> + 184e2: 2320 movs r3, #32 + 184e4: 4319 orrs r1, r3 + 184e6: 6021 str r1, [r4, #0] + 184e8: 2710 movs r7, #16 + 184ea: 2d00 cmp r5, #0 + 184ec: d103 bne.n 184f6 <_printf_i+0x106> + 184ee: 2320 movs r3, #32 + 184f0: 6822 ldr r2, [r4, #0] + 184f2: 439a bics r2, r3 + 184f4: 6022 str r2, [r4, #0] + 184f6: 0023 movs r3, r4 + 184f8: 2200 movs r2, #0 + 184fa: 3343 adds r3, #67 ; 0x43 + 184fc: 701a strb r2, [r3, #0] + 184fe: 6863 ldr r3, [r4, #4] + 18500: 60a3 str r3, [r4, #8] + 18502: 2b00 cmp r3, #0 + 18504: db5c blt.n 185c0 <_printf_i+0x1d0> + 18506: 2204 movs r2, #4 + 18508: 6821 ldr r1, [r4, #0] + 1850a: 4391 bics r1, r2 + 1850c: 6021 str r1, [r4, #0] + 1850e: 2d00 cmp r5, #0 + 18510: d158 bne.n 185c4 <_printf_i+0x1d4> + 18512: 9e04 ldr r6, [sp, #16] + 18514: 2b00 cmp r3, #0 + 18516: d064 beq.n 185e2 <_printf_i+0x1f2> + 18518: 0026 movs r6, r4 + 1851a: 9b03 ldr r3, [sp, #12] + 1851c: 3642 adds r6, #66 ; 0x42 + 1851e: 781b ldrb r3, [r3, #0] + 18520: 7033 strb r3, [r6, #0] + 18522: e05e b.n 185e2 <_printf_i+0x1f2> + 18524: 0648 lsls r0, r1, #25 + 18526: d5da bpl.n 184de <_printf_i+0xee> + 18528: b2ad uxth r5, r5 + 1852a: e7d8 b.n 184de <_printf_i+0xee> + 1852c: 6809 ldr r1, [r1, #0] + 1852e: 681a ldr r2, [r3, #0] + 18530: 0608 lsls r0, r1, #24 + 18532: d505 bpl.n 18540 <_printf_i+0x150> + 18534: 1d11 adds r1, r2, #4 + 18536: 6019 str r1, [r3, #0] + 18538: 6813 ldr r3, [r2, #0] + 1853a: 6962 ldr r2, [r4, #20] + 1853c: 601a str r2, [r3, #0] + 1853e: e006 b.n 1854e <_printf_i+0x15e> + 18540: 0649 lsls r1, r1, #25 + 18542: d5f7 bpl.n 18534 <_printf_i+0x144> + 18544: 1d11 adds r1, r2, #4 + 18546: 6019 str r1, [r3, #0] + 18548: 6813 ldr r3, [r2, #0] + 1854a: 8aa2 ldrh r2, [r4, #20] + 1854c: 801a strh r2, [r3, #0] + 1854e: 2300 movs r3, #0 + 18550: 9e04 ldr r6, [sp, #16] + 18552: 6123 str r3, [r4, #16] + 18554: e054 b.n 18600 <_printf_i+0x210> + 18556: 681a ldr r2, [r3, #0] + 18558: 1d11 adds r1, r2, #4 + 1855a: 6019 str r1, [r3, #0] + 1855c: 6816 ldr r6, [r2, #0] + 1855e: 2100 movs r1, #0 + 18560: 6862 ldr r2, [r4, #4] + 18562: 0030 movs r0, r6 + 18564: f000 f85e bl 18624 + 18568: 2800 cmp r0, #0 + 1856a: d001 beq.n 18570 <_printf_i+0x180> + 1856c: 1b80 subs r0, r0, r6 + 1856e: 6060 str r0, [r4, #4] + 18570: 6863 ldr r3, [r4, #4] + 18572: 6123 str r3, [r4, #16] + 18574: 2300 movs r3, #0 + 18576: 9a04 ldr r2, [sp, #16] + 18578: 7013 strb r3, [r2, #0] + 1857a: e041 b.n 18600 <_printf_i+0x210> + 1857c: 6923 ldr r3, [r4, #16] + 1857e: 0032 movs r2, r6 + 18580: 9906 ldr r1, [sp, #24] + 18582: 9805 ldr r0, [sp, #20] + 18584: 9d07 ldr r5, [sp, #28] + 18586: 47a8 blx r5 + 18588: 1c43 adds r3, r0, #1 + 1858a: d043 beq.n 18614 <_printf_i+0x224> + 1858c: 6823 ldr r3, [r4, #0] + 1858e: 2500 movs r5, #0 + 18590: 079b lsls r3, r3, #30 + 18592: d40f bmi.n 185b4 <_printf_i+0x1c4> + 18594: 9b09 ldr r3, [sp, #36] ; 0x24 + 18596: 68e0 ldr r0, [r4, #12] + 18598: 4298 cmp r0, r3 + 1859a: da3d bge.n 18618 <_printf_i+0x228> + 1859c: 0018 movs r0, r3 + 1859e: e03b b.n 18618 <_printf_i+0x228> + 185a0: 0022 movs r2, r4 + 185a2: 2301 movs r3, #1 + 185a4: 3219 adds r2, #25 + 185a6: 9906 ldr r1, [sp, #24] + 185a8: 9805 ldr r0, [sp, #20] + 185aa: 9e07 ldr r6, [sp, #28] + 185ac: 47b0 blx r6 + 185ae: 1c43 adds r3, r0, #1 + 185b0: d030 beq.n 18614 <_printf_i+0x224> + 185b2: 3501 adds r5, #1 + 185b4: 68e3 ldr r3, [r4, #12] + 185b6: 9a09 ldr r2, [sp, #36] ; 0x24 + 185b8: 1a9b subs r3, r3, r2 + 185ba: 429d cmp r5, r3 + 185bc: dbf0 blt.n 185a0 <_printf_i+0x1b0> + 185be: e7e9 b.n 18594 <_printf_i+0x1a4> + 185c0: 2d00 cmp r5, #0 + 185c2: d0a9 beq.n 18518 <_printf_i+0x128> + 185c4: 9e04 ldr r6, [sp, #16] + 185c6: 0028 movs r0, r5 + 185c8: 0039 movs r1, r7 + 185ca: f7ff fa97 bl 17afc <__aeabi_uidivmod> + 185ce: 9b03 ldr r3, [sp, #12] + 185d0: 3e01 subs r6, #1 + 185d2: 5c5b ldrb r3, [r3, r1] + 185d4: 0028 movs r0, r5 + 185d6: 7033 strb r3, [r6, #0] + 185d8: 0039 movs r1, r7 + 185da: f7ff fa09 bl 179f0 <__udivsi3> + 185de: 1e05 subs r5, r0, #0 + 185e0: d1f1 bne.n 185c6 <_printf_i+0x1d6> + 185e2: 2f08 cmp r7, #8 + 185e4: d109 bne.n 185fa <_printf_i+0x20a> + 185e6: 6823 ldr r3, [r4, #0] + 185e8: 07db lsls r3, r3, #31 + 185ea: d506 bpl.n 185fa <_printf_i+0x20a> + 185ec: 6863 ldr r3, [r4, #4] + 185ee: 6922 ldr r2, [r4, #16] + 185f0: 4293 cmp r3, r2 + 185f2: dc02 bgt.n 185fa <_printf_i+0x20a> + 185f4: 2330 movs r3, #48 ; 0x30 + 185f6: 3e01 subs r6, #1 + 185f8: 7033 strb r3, [r6, #0] + 185fa: 9b04 ldr r3, [sp, #16] + 185fc: 1b9b subs r3, r3, r6 + 185fe: 6123 str r3, [r4, #16] + 18600: 9b07 ldr r3, [sp, #28] + 18602: aa09 add r2, sp, #36 ; 0x24 + 18604: 9300 str r3, [sp, #0] + 18606: 0021 movs r1, r4 + 18608: 9b06 ldr r3, [sp, #24] + 1860a: 9805 ldr r0, [sp, #20] + 1860c: f7ff fe82 bl 18314 <_printf_common> + 18610: 1c43 adds r3, r0, #1 + 18612: d1b3 bne.n 1857c <_printf_i+0x18c> + 18614: 2001 movs r0, #1 + 18616: 4240 negs r0, r0 + 18618: b00b add sp, #44 ; 0x2c + 1861a: bdf0 pop {r4, r5, r6, r7, pc} + 1861c: 0001cade .word 0x0001cade + 18620: 0001cacd .word 0x0001cacd + +00018624 : + 18624: b2c9 uxtb r1, r1 + 18626: 1882 adds r2, r0, r2 + 18628: 4290 cmp r0, r2 + 1862a: d101 bne.n 18630 + 1862c: 2000 movs r0, #0 + 1862e: 4770 bx lr + 18630: 7803 ldrb r3, [r0, #0] + 18632: 428b cmp r3, r1 + 18634: d0fb beq.n 1862e + 18636: 3001 adds r0, #1 + 18638: e7f6 b.n 18628 + +0001863a : + 1863a: b510 push {r4, lr} + 1863c: 4288 cmp r0, r1 + 1863e: d902 bls.n 18646 + 18640: 188b adds r3, r1, r2 + 18642: 4298 cmp r0, r3 + 18644: d308 bcc.n 18658 + 18646: 2300 movs r3, #0 + 18648: 429a cmp r2, r3 + 1864a: d007 beq.n 1865c + 1864c: 5ccc ldrb r4, [r1, r3] + 1864e: 54c4 strb r4, [r0, r3] + 18650: 3301 adds r3, #1 + 18652: e7f9 b.n 18648 + 18654: 5c8b ldrb r3, [r1, r2] + 18656: 5483 strb r3, [r0, r2] + 18658: 3a01 subs r2, #1 + 1865a: d2fb bcs.n 18654 + 1865c: bd10 pop {r4, pc} ... -000185d0 <_free_r>: - 185d0: b570 push {r4, r5, r6, lr} - 185d2: 0005 movs r5, r0 - 185d4: 2900 cmp r1, #0 - 185d6: d010 beq.n 185fa <_free_r+0x2a> - 185d8: 1f0c subs r4, r1, #4 - 185da: 6823 ldr r3, [r4, #0] - 185dc: 2b00 cmp r3, #0 - 185de: da00 bge.n 185e2 <_free_r+0x12> - 185e0: 18e4 adds r4, r4, r3 - 185e2: 0028 movs r0, r5 - 185e4: f000 f8d4 bl 18790 <__malloc_lock> - 185e8: 4a1d ldr r2, [pc, #116] ; (18660 <_free_r+0x90>) - 185ea: 6813 ldr r3, [r2, #0] - 185ec: 2b00 cmp r3, #0 - 185ee: d105 bne.n 185fc <_free_r+0x2c> - 185f0: 6063 str r3, [r4, #4] - 185f2: 6014 str r4, [r2, #0] - 185f4: 0028 movs r0, r5 - 185f6: f000 f8cc bl 18792 <__malloc_unlock> - 185fa: bd70 pop {r4, r5, r6, pc} - 185fc: 42a3 cmp r3, r4 - 185fe: d909 bls.n 18614 <_free_r+0x44> - 18600: 6821 ldr r1, [r4, #0] - 18602: 1860 adds r0, r4, r1 - 18604: 4283 cmp r3, r0 - 18606: d1f3 bne.n 185f0 <_free_r+0x20> - 18608: 6818 ldr r0, [r3, #0] - 1860a: 685b ldr r3, [r3, #4] - 1860c: 1841 adds r1, r0, r1 - 1860e: 6021 str r1, [r4, #0] - 18610: e7ee b.n 185f0 <_free_r+0x20> - 18612: 0013 movs r3, r2 - 18614: 685a ldr r2, [r3, #4] - 18616: 2a00 cmp r2, #0 - 18618: d001 beq.n 1861e <_free_r+0x4e> - 1861a: 42a2 cmp r2, r4 - 1861c: d9f9 bls.n 18612 <_free_r+0x42> - 1861e: 6819 ldr r1, [r3, #0] - 18620: 1858 adds r0, r3, r1 - 18622: 42a0 cmp r0, r4 - 18624: d10b bne.n 1863e <_free_r+0x6e> - 18626: 6820 ldr r0, [r4, #0] - 18628: 1809 adds r1, r1, r0 - 1862a: 1858 adds r0, r3, r1 - 1862c: 6019 str r1, [r3, #0] - 1862e: 4282 cmp r2, r0 - 18630: d1e0 bne.n 185f4 <_free_r+0x24> - 18632: 6810 ldr r0, [r2, #0] - 18634: 6852 ldr r2, [r2, #4] - 18636: 1841 adds r1, r0, r1 - 18638: 6019 str r1, [r3, #0] - 1863a: 605a str r2, [r3, #4] - 1863c: e7da b.n 185f4 <_free_r+0x24> - 1863e: 42a0 cmp r0, r4 - 18640: d902 bls.n 18648 <_free_r+0x78> - 18642: 230c movs r3, #12 - 18644: 602b str r3, [r5, #0] - 18646: e7d5 b.n 185f4 <_free_r+0x24> - 18648: 6821 ldr r1, [r4, #0] - 1864a: 1860 adds r0, r4, r1 - 1864c: 4282 cmp r2, r0 - 1864e: d103 bne.n 18658 <_free_r+0x88> - 18650: 6810 ldr r0, [r2, #0] - 18652: 6852 ldr r2, [r2, #4] - 18654: 1841 adds r1, r0, r1 - 18656: 6021 str r1, [r4, #0] - 18658: 6062 str r2, [r4, #4] - 1865a: 605c str r4, [r3, #4] - 1865c: e7ca b.n 185f4 <_free_r+0x24> - 1865e: 46c0 nop ; (mov r8, r8) - 18660: 20004c8c .word 0x20004c8c - -00018664 <_malloc_r>: - 18664: 2303 movs r3, #3 - 18666: b570 push {r4, r5, r6, lr} - 18668: 1ccd adds r5, r1, #3 - 1866a: 439d bics r5, r3 - 1866c: 3508 adds r5, #8 - 1866e: 0006 movs r6, r0 - 18670: 2d0c cmp r5, #12 - 18672: d21e bcs.n 186b2 <_malloc_r+0x4e> - 18674: 250c movs r5, #12 - 18676: 42a9 cmp r1, r5 - 18678: d81d bhi.n 186b6 <_malloc_r+0x52> - 1867a: 0030 movs r0, r6 - 1867c: f000 f888 bl 18790 <__malloc_lock> - 18680: 4a25 ldr r2, [pc, #148] ; (18718 <_malloc_r+0xb4>) - 18682: 6814 ldr r4, [r2, #0] - 18684: 0021 movs r1, r4 - 18686: 2900 cmp r1, #0 - 18688: d119 bne.n 186be <_malloc_r+0x5a> - 1868a: 4c24 ldr r4, [pc, #144] ; (1871c <_malloc_r+0xb8>) - 1868c: 6823 ldr r3, [r4, #0] - 1868e: 2b00 cmp r3, #0 - 18690: d103 bne.n 1869a <_malloc_r+0x36> - 18692: 0030 movs r0, r6 - 18694: f000 f86a bl 1876c <_sbrk_r> - 18698: 6020 str r0, [r4, #0] - 1869a: 0029 movs r1, r5 - 1869c: 0030 movs r0, r6 - 1869e: f000 f865 bl 1876c <_sbrk_r> - 186a2: 1c43 adds r3, r0, #1 - 186a4: d12c bne.n 18700 <_malloc_r+0x9c> - 186a6: 230c movs r3, #12 - 186a8: 0030 movs r0, r6 - 186aa: 6033 str r3, [r6, #0] - 186ac: f000 f871 bl 18792 <__malloc_unlock> - 186b0: e003 b.n 186ba <_malloc_r+0x56> - 186b2: 2d00 cmp r5, #0 - 186b4: dadf bge.n 18676 <_malloc_r+0x12> - 186b6: 230c movs r3, #12 - 186b8: 6033 str r3, [r6, #0] - 186ba: 2000 movs r0, #0 - 186bc: bd70 pop {r4, r5, r6, pc} - 186be: 680b ldr r3, [r1, #0] - 186c0: 1b5b subs r3, r3, r5 - 186c2: d41a bmi.n 186fa <_malloc_r+0x96> - 186c4: 2b0b cmp r3, #11 - 186c6: d903 bls.n 186d0 <_malloc_r+0x6c> - 186c8: 600b str r3, [r1, #0] - 186ca: 18cc adds r4, r1, r3 - 186cc: 6025 str r5, [r4, #0] - 186ce: e003 b.n 186d8 <_malloc_r+0x74> - 186d0: 428c cmp r4, r1 - 186d2: d10e bne.n 186f2 <_malloc_r+0x8e> - 186d4: 6863 ldr r3, [r4, #4] - 186d6: 6013 str r3, [r2, #0] - 186d8: 0030 movs r0, r6 - 186da: f000 f85a bl 18792 <__malloc_unlock> - 186de: 0020 movs r0, r4 - 186e0: 2207 movs r2, #7 - 186e2: 300b adds r0, #11 - 186e4: 1d23 adds r3, r4, #4 - 186e6: 4390 bics r0, r2 - 186e8: 1ac3 subs r3, r0, r3 - 186ea: d0e7 beq.n 186bc <_malloc_r+0x58> - 186ec: 425a negs r2, r3 - 186ee: 50e2 str r2, [r4, r3] - 186f0: e7e4 b.n 186bc <_malloc_r+0x58> - 186f2: 684b ldr r3, [r1, #4] - 186f4: 6063 str r3, [r4, #4] - 186f6: 000c movs r4, r1 - 186f8: e7ee b.n 186d8 <_malloc_r+0x74> - 186fa: 000c movs r4, r1 - 186fc: 6849 ldr r1, [r1, #4] - 186fe: e7c2 b.n 18686 <_malloc_r+0x22> - 18700: 2303 movs r3, #3 - 18702: 1cc4 adds r4, r0, #3 - 18704: 439c bics r4, r3 - 18706: 42a0 cmp r0, r4 - 18708: d0e0 beq.n 186cc <_malloc_r+0x68> - 1870a: 1a21 subs r1, r4, r0 - 1870c: 0030 movs r0, r6 - 1870e: f000 f82d bl 1876c <_sbrk_r> - 18712: 1c43 adds r3, r0, #1 - 18714: d1da bne.n 186cc <_malloc_r+0x68> - 18716: e7c6 b.n 186a6 <_malloc_r+0x42> - 18718: 20004c8c .word 0x20004c8c - 1871c: 20004c90 .word 0x20004c90 - -00018720 <_realloc_r>: - 18720: b5f8 push {r3, r4, r5, r6, r7, lr} - 18722: 0007 movs r7, r0 - 18724: 000d movs r5, r1 - 18726: 0016 movs r6, r2 - 18728: 2900 cmp r1, #0 - 1872a: d105 bne.n 18738 <_realloc_r+0x18> - 1872c: 0011 movs r1, r2 - 1872e: f7ff ff99 bl 18664 <_malloc_r> - 18732: 0004 movs r4, r0 - 18734: 0020 movs r0, r4 - 18736: bdf8 pop {r3, r4, r5, r6, r7, pc} - 18738: 2a00 cmp r2, #0 - 1873a: d103 bne.n 18744 <_realloc_r+0x24> - 1873c: f7ff ff48 bl 185d0 <_free_r> - 18740: 0034 movs r4, r6 - 18742: e7f7 b.n 18734 <_realloc_r+0x14> - 18744: f000 f826 bl 18794 <_malloc_usable_size_r> - 18748: 002c movs r4, r5 - 1874a: 4286 cmp r6, r0 - 1874c: d9f2 bls.n 18734 <_realloc_r+0x14> - 1874e: 0031 movs r1, r6 - 18750: 0038 movs r0, r7 - 18752: f7ff ff87 bl 18664 <_malloc_r> - 18756: 1e04 subs r4, r0, #0 - 18758: d0ec beq.n 18734 <_realloc_r+0x14> - 1875a: 0029 movs r1, r5 - 1875c: 0032 movs r2, r6 - 1875e: f7ff fbdc bl 17f1a - 18762: 0029 movs r1, r5 - 18764: 0038 movs r0, r7 - 18766: f7ff ff33 bl 185d0 <_free_r> - 1876a: e7e3 b.n 18734 <_realloc_r+0x14> - -0001876c <_sbrk_r>: - 1876c: 2300 movs r3, #0 - 1876e: b570 push {r4, r5, r6, lr} - 18770: 4c06 ldr r4, [pc, #24] ; (1878c <_sbrk_r+0x20>) - 18772: 0005 movs r5, r0 - 18774: 0008 movs r0, r1 - 18776: 6023 str r3, [r4, #0] - 18778: f7e8 fe3a bl 13f0 <_sbrk> - 1877c: 1c43 adds r3, r0, #1 - 1877e: d103 bne.n 18788 <_sbrk_r+0x1c> - 18780: 6823 ldr r3, [r4, #0] - 18782: 2b00 cmp r3, #0 - 18784: d000 beq.n 18788 <_sbrk_r+0x1c> - 18786: 602b str r3, [r5, #0] - 18788: bd70 pop {r4, r5, r6, pc} - 1878a: 46c0 nop ; (mov r8, r8) - 1878c: 20004e34 .word 0x20004e34 - -00018790 <__malloc_lock>: - 18790: 4770 bx lr - -00018792 <__malloc_unlock>: - 18792: 4770 bx lr - -00018794 <_malloc_usable_size_r>: - 18794: 1f0b subs r3, r1, #4 - 18796: 681b ldr r3, [r3, #0] - 18798: 1f18 subs r0, r3, #4 - 1879a: 2b00 cmp r3, #0 - 1879c: da01 bge.n 187a2 <_malloc_usable_size_r+0xe> - 1879e: 580b ldr r3, [r1, r0] - 187a0: 18c0 adds r0, r0, r3 - 187a2: 4770 bx lr - 187a4: 42000800 .word 0x42000800 - 187a8: 42000c00 .word 0x42000c00 - 187ac: 42001000 .word 0x42001000 - 187b0: 42001400 .word 0x42001400 - 187b4: 42001800 .word 0x42001800 - 187b8: 42001c00 .word 0x42001c00 - 187bc: 00000d46 .word 0x00000d46 - 187c0: 00000d42 .word 0x00000d42 - 187c4: 00000d42 .word 0x00000d42 - 187c8: 00000da8 .word 0x00000da8 - 187cc: 00000da8 .word 0x00000da8 - 187d0: 00000d5a .word 0x00000d5a - 187d4: 00000d4c .word 0x00000d4c - 187d8: 00000d60 .word 0x00000d60 - 187dc: 00000d96 .word 0x00000d96 - 187e0: 00000e30 .word 0x00000e30 - 187e4: 00000e10 .word 0x00000e10 - 187e8: 00000e10 .word 0x00000e10 - 187ec: 00000e9c .word 0x00000e9c - 187f0: 00000e22 .word 0x00000e22 - 187f4: 00000e3e .word 0x00000e3e - 187f8: 00000e14 .word 0x00000e14 - 187fc: 00000e4c .word 0x00000e4c - 18800: 00000e8c .word 0x00000e8c - 18804: 2074754f .word 0x2074754f - 18808: 6d20666f .word 0x6d20666f - 1880c: 726f6d65 .word 0x726f6d65 - 18810: 0079 .short 0x0079 - 18812: f800 .short 0xf800 - 18814: 00002242 .word 0x00002242 - 18818: 000022be .word 0x000022be - 1881c: 000022c8 .word 0x000022c8 - 18820: 000022de .word 0x000022de - 18824: 000022ee .word 0x000022ee - 18828: 000022fe .word 0x000022fe - 1882c: 0000231c .word 0x0000231c - 18830: 00002334 .word 0x00002334 - 18834: 0000234a .word 0x0000234a - 18838: 00002368 .word 0x00002368 - 1883c: 00002372 .word 0x00002372 - 18840: 00002388 .word 0x00002388 - 18844: 00002398 .word 0x00002398 - 18848: 000023a8 .word 0x000023a8 - 1884c: 000023c6 .word 0x000023c6 - 18850: 000023de .word 0x000023de - 18854: 000023e8 .word 0x000023e8 - 18858: 000023fe .word 0x000023fe - 1885c: 0000240e .word 0x0000240e - 18860: 0000241e .word 0x0000241e - 18864: 0000243c .word 0x0000243c - 18868: 0000ffff .word 0x0000ffff - 1886c: 4c4c554e .word 0x4c4c554e - 18870: 696f7020 .word 0x696f7020 - 18874: 7265746e .word 0x7265746e - 18878: 00000000 .word 0x00000000 - 1887c: 6f5f766c .word 0x6f5f766c - 18880: 00006a62 .word 0x00006a62 - 18884: 000007e0 .word 0x000007e0 - 18888: 00007e8c .word 0x00007e8c - 1888c: 00007e90 .word 0x00007e90 - 18890: 00007e8c .word 0x00007e8c - 18894: 00007e94 .word 0x00007e94 - 18898: 00007e98 .word 0x00007e98 - 1889c: 00007e9c .word 0x00007e9c - 188a0: 00007ea0 .word 0x00007ea0 - 188a4: 00007e94 .word 0x00007e94 - 188a8: 00007e98 .word 0x00007e98 - 188ac: 00007e9c .word 0x00007e9c - 188b0: 00007ea0 .word 0x00007ea0 - 188b4: 0000ffff .word 0x0000ffff - 188b8: 640a6f4e .word 0x640a6f4e - 188bc: 00617461 .word 0x00617461 - 188c0: 00008150 .word 0x00008150 - 188c4: 00008138 .word 0x00008138 - 188c8: 0000813c .word 0x0000813c - 188cc: 00008140 .word 0x00008140 - 188d0: 00008144 .word 0x00008144 - 188d4: 00008148 .word 0x00008148 - 188d8: 000000ff .word 0x000000ff - -000188dc <_lv_bpp1_opa_table>: - 188dc: 0000ff00 .... - -000188e0 <_lv_bpp2_opa_table>: - 188e0: ffaa5500 .U.. - -000188e4 <_lv_bpp4_opa_table>: - 188e4: 33221100 77665544 bbaa9988 ffeeddcc .."3DUfw........ - -000188f4 <_lv_bpp8_opa_table>: - 188f4: 03020100 07060504 0b0a0908 0f0e0d0c ................ - 18904: 13121110 17161514 1b1a1918 1f1e1d1c ................ - 18914: 23222120 27262524 2b2a2928 2f2e2d2c !"#$%&'()*+,-./ - 18924: 33323130 37363534 3b3a3938 3f3e3d3c 0123456789:;<=>? - 18934: 43424140 47464544 4b4a4948 4f4e4d4c @ABCDEFGHIJKLMNO - 18944: 53525150 57565554 5b5a5958 5f5e5d5c PQRSTUVWXYZ[\]^_ - 18954: 63626160 67666564 6b6a6968 6f6e6d6c `abcdefghijklmno - 18964: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~. - 18974: 83828180 87868584 8b8a8988 8f8e8d8c ................ - 18984: 93929190 97969594 9b9a9998 9f9e9d9c ................ - 18994: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac ................ - 189a4: b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc ................ - 189b4: c3c2c1c0 c7c6c5c4 cbcac9c8 cfcecdcc ................ - 189c4: d3d2d1d0 d7d6d5d4 dbdad9d8 dfdedddc ................ - 189d4: e3e2e1e0 e7e6e5e4 ebeae9e8 efeeedec ................ - 189e4: f3f2f1f0 f7f6f5f4 fbfaf9f8 fffefdfc ................ - -000189f4 : - 189f4: 81808080 83828281 87868584 8d8c8a89 ................ - 18a04: 9593918f 9e9b9997 a7a5a2a0 b2afadaa ................ - 18a14: 000000b5 0000ffff 33221100 77665544 .........."3DUfw - 18a24: bbaa9988 ffeeddcc 33221100 77665544 .........."3DUfw - 18a34: bbaa9988 ffeeddcc 006e6962 0000ea54 ........bin.T... - 18a44: 0000ea5a 0000e9f0 0000ea42 0000ea48 Z.......B...H... - 18a54: 0000ea54 0000ea54 0000ea54 0000ea4e T...T...T...N... - 18a64: 0000ec90 0000ec94 0000ec5a 0000ec84 ........Z....... - 18a74: 0000ec88 0000ec90 0000ec90 0000ec90 ................ - 18a84: 0000ec8c 0000ec3a 0000ec3e 0000ec04 ....:...>....... - 18a94: 0000ec2e 0000ec32 0000ec3a 0000ec3a ....2...:...:... - 18aa4: 0000ec3a 0000ec36 0000eb8a 0000eb8e :...6........... - 18ab4: 0000eb64 0000eb7e 0000eb82 0000eb8a d...~........... - 18ac4: 0000eb8a 0000eb8a 0000eb86 0000ed08 ................ - 18ad4: 0000ed5c 0000ed62 0000ed68 0000ed6e \...b...h...n... - 18ae4: 0000ed74 0000ed7a 0000ed80 0000ee30 t...z.......0... - 18af4: 0000ee34 0000ee20 0000ee24 0000ee28 4... ...$...(... - 18b04: 0000ee30 0000ee30 0000ee30 0000ee2c 0...0...0...,... - 18b14: 0000f090 0000f094 0000f080 0000f084 ................ - 18b24: 0000f088 0000f090 0000f090 0000f090 ................ - 18b34: 0000f08c 0000f008 0000f038 0000eff8 ........8....... - 18b44: 0000effc 0000f000 0000f008 0000f008 ................ - 18b54: 0000f008 0000f004 0000efd0 0000efd6 ................ - 18b64: 0000ef8c 0000efbe 0000efc4 0000efd0 ................ - 18b74: 0000efd0 0000efd0 0000efca 0000f10a ................ - 18b84: 0000f166 0000f16c 0000f172 0000f178 f...l...r...x... - 18b94: 0000f17e 0000f184 0000f18a ~........... - -00018ba0 : - 18ba0: 00000020 0001005f 00000000 00000000 ..._........... - 18bb0: 00000000 000000b0 0060f7f3 0001c7d0 ..........`..... - 18bc0: 00000000 0002003b ....;... - -00018bc8 : +00018660 <_free_r>: + 18660: b570 push {r4, r5, r6, lr} + 18662: 0005 movs r5, r0 + 18664: 2900 cmp r1, #0 + 18666: d010 beq.n 1868a <_free_r+0x2a> + 18668: 1f0c subs r4, r1, #4 + 1866a: 6823 ldr r3, [r4, #0] + 1866c: 2b00 cmp r3, #0 + 1866e: da00 bge.n 18672 <_free_r+0x12> + 18670: 18e4 adds r4, r4, r3 + 18672: 0028 movs r0, r5 + 18674: f000 f8d4 bl 18820 <__malloc_lock> + 18678: 4a1d ldr r2, [pc, #116] ; (186f0 <_free_r+0x90>) + 1867a: 6813 ldr r3, [r2, #0] + 1867c: 2b00 cmp r3, #0 + 1867e: d105 bne.n 1868c <_free_r+0x2c> + 18680: 6063 str r3, [r4, #4] + 18682: 6014 str r4, [r2, #0] + 18684: 0028 movs r0, r5 + 18686: f000 f8cc bl 18822 <__malloc_unlock> + 1868a: bd70 pop {r4, r5, r6, pc} + 1868c: 42a3 cmp r3, r4 + 1868e: d909 bls.n 186a4 <_free_r+0x44> + 18690: 6821 ldr r1, [r4, #0] + 18692: 1860 adds r0, r4, r1 + 18694: 4283 cmp r3, r0 + 18696: d1f3 bne.n 18680 <_free_r+0x20> + 18698: 6818 ldr r0, [r3, #0] + 1869a: 685b ldr r3, [r3, #4] + 1869c: 1841 adds r1, r0, r1 + 1869e: 6021 str r1, [r4, #0] + 186a0: e7ee b.n 18680 <_free_r+0x20> + 186a2: 0013 movs r3, r2 + 186a4: 685a ldr r2, [r3, #4] + 186a6: 2a00 cmp r2, #0 + 186a8: d001 beq.n 186ae <_free_r+0x4e> + 186aa: 42a2 cmp r2, r4 + 186ac: d9f9 bls.n 186a2 <_free_r+0x42> + 186ae: 6819 ldr r1, [r3, #0] + 186b0: 1858 adds r0, r3, r1 + 186b2: 42a0 cmp r0, r4 + 186b4: d10b bne.n 186ce <_free_r+0x6e> + 186b6: 6820 ldr r0, [r4, #0] + 186b8: 1809 adds r1, r1, r0 + 186ba: 1858 adds r0, r3, r1 + 186bc: 6019 str r1, [r3, #0] + 186be: 4282 cmp r2, r0 + 186c0: d1e0 bne.n 18684 <_free_r+0x24> + 186c2: 6810 ldr r0, [r2, #0] + 186c4: 6852 ldr r2, [r2, #4] + 186c6: 1841 adds r1, r0, r1 + 186c8: 6019 str r1, [r3, #0] + 186ca: 605a str r2, [r3, #4] + 186cc: e7da b.n 18684 <_free_r+0x24> + 186ce: 42a0 cmp r0, r4 + 186d0: d902 bls.n 186d8 <_free_r+0x78> + 186d2: 230c movs r3, #12 + 186d4: 602b str r3, [r5, #0] + 186d6: e7d5 b.n 18684 <_free_r+0x24> + 186d8: 6821 ldr r1, [r4, #0] + 186da: 1860 adds r0, r4, r1 + 186dc: 4282 cmp r2, r0 + 186de: d103 bne.n 186e8 <_free_r+0x88> + 186e0: 6810 ldr r0, [r2, #0] + 186e2: 6852 ldr r2, [r2, #4] + 186e4: 1841 adds r1, r0, r1 + 186e6: 6021 str r1, [r4, #0] + 186e8: 6062 str r2, [r4, #4] + 186ea: 605c str r4, [r3, #4] + 186ec: e7ca b.n 18684 <_free_r+0x24> + 186ee: 46c0 nop ; (mov r8, r8) + 186f0: 20004c8c .word 0x20004c8c + +000186f4 <_malloc_r>: + 186f4: 2303 movs r3, #3 + 186f6: b570 push {r4, r5, r6, lr} + 186f8: 1ccd adds r5, r1, #3 + 186fa: 439d bics r5, r3 + 186fc: 3508 adds r5, #8 + 186fe: 0006 movs r6, r0 + 18700: 2d0c cmp r5, #12 + 18702: d21e bcs.n 18742 <_malloc_r+0x4e> + 18704: 250c movs r5, #12 + 18706: 42a9 cmp r1, r5 + 18708: d81d bhi.n 18746 <_malloc_r+0x52> + 1870a: 0030 movs r0, r6 + 1870c: f000 f888 bl 18820 <__malloc_lock> + 18710: 4a25 ldr r2, [pc, #148] ; (187a8 <_malloc_r+0xb4>) + 18712: 6814 ldr r4, [r2, #0] + 18714: 0021 movs r1, r4 + 18716: 2900 cmp r1, #0 + 18718: d119 bne.n 1874e <_malloc_r+0x5a> + 1871a: 4c24 ldr r4, [pc, #144] ; (187ac <_malloc_r+0xb8>) + 1871c: 6823 ldr r3, [r4, #0] + 1871e: 2b00 cmp r3, #0 + 18720: d103 bne.n 1872a <_malloc_r+0x36> + 18722: 0030 movs r0, r6 + 18724: f000 f86a bl 187fc <_sbrk_r> + 18728: 6020 str r0, [r4, #0] + 1872a: 0029 movs r1, r5 + 1872c: 0030 movs r0, r6 + 1872e: f000 f865 bl 187fc <_sbrk_r> + 18732: 1c43 adds r3, r0, #1 + 18734: d12c bne.n 18790 <_malloc_r+0x9c> + 18736: 230c movs r3, #12 + 18738: 0030 movs r0, r6 + 1873a: 6033 str r3, [r6, #0] + 1873c: f000 f871 bl 18822 <__malloc_unlock> + 18740: e003 b.n 1874a <_malloc_r+0x56> + 18742: 2d00 cmp r5, #0 + 18744: dadf bge.n 18706 <_malloc_r+0x12> + 18746: 230c movs r3, #12 + 18748: 6033 str r3, [r6, #0] + 1874a: 2000 movs r0, #0 + 1874c: bd70 pop {r4, r5, r6, pc} + 1874e: 680b ldr r3, [r1, #0] + 18750: 1b5b subs r3, r3, r5 + 18752: d41a bmi.n 1878a <_malloc_r+0x96> + 18754: 2b0b cmp r3, #11 + 18756: d903 bls.n 18760 <_malloc_r+0x6c> + 18758: 600b str r3, [r1, #0] + 1875a: 18cc adds r4, r1, r3 + 1875c: 6025 str r5, [r4, #0] + 1875e: e003 b.n 18768 <_malloc_r+0x74> + 18760: 428c cmp r4, r1 + 18762: d10e bne.n 18782 <_malloc_r+0x8e> + 18764: 6863 ldr r3, [r4, #4] + 18766: 6013 str r3, [r2, #0] + 18768: 0030 movs r0, r6 + 1876a: f000 f85a bl 18822 <__malloc_unlock> + 1876e: 0020 movs r0, r4 + 18770: 2207 movs r2, #7 + 18772: 300b adds r0, #11 + 18774: 1d23 adds r3, r4, #4 + 18776: 4390 bics r0, r2 + 18778: 1ac3 subs r3, r0, r3 + 1877a: d0e7 beq.n 1874c <_malloc_r+0x58> + 1877c: 425a negs r2, r3 + 1877e: 50e2 str r2, [r4, r3] + 18780: e7e4 b.n 1874c <_malloc_r+0x58> + 18782: 684b ldr r3, [r1, #4] + 18784: 6063 str r3, [r4, #4] + 18786: 000c movs r4, r1 + 18788: e7ee b.n 18768 <_malloc_r+0x74> + 1878a: 000c movs r4, r1 + 1878c: 6849 ldr r1, [r1, #4] + 1878e: e7c2 b.n 18716 <_malloc_r+0x22> + 18790: 2303 movs r3, #3 + 18792: 1cc4 adds r4, r0, #3 + 18794: 439c bics r4, r3 + 18796: 42a0 cmp r0, r4 + 18798: d0e0 beq.n 1875c <_malloc_r+0x68> + 1879a: 1a21 subs r1, r4, r0 + 1879c: 0030 movs r0, r6 + 1879e: f000 f82d bl 187fc <_sbrk_r> + 187a2: 1c43 adds r3, r0, #1 + 187a4: d1da bne.n 1875c <_malloc_r+0x68> + 187a6: e7c6 b.n 18736 <_malloc_r+0x42> + 187a8: 20004c8c .word 0x20004c8c + 187ac: 20004c90 .word 0x20004c90 + +000187b0 <_realloc_r>: + 187b0: b5f8 push {r3, r4, r5, r6, r7, lr} + 187b2: 0007 movs r7, r0 + 187b4: 000d movs r5, r1 + 187b6: 0016 movs r6, r2 + 187b8: 2900 cmp r1, #0 + 187ba: d105 bne.n 187c8 <_realloc_r+0x18> + 187bc: 0011 movs r1, r2 + 187be: f7ff ff99 bl 186f4 <_malloc_r> + 187c2: 0004 movs r4, r0 + 187c4: 0020 movs r0, r4 + 187c6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 187c8: 2a00 cmp r2, #0 + 187ca: d103 bne.n 187d4 <_realloc_r+0x24> + 187cc: f7ff ff48 bl 18660 <_free_r> + 187d0: 0034 movs r4, r6 + 187d2: e7f7 b.n 187c4 <_realloc_r+0x14> + 187d4: f000 f826 bl 18824 <_malloc_usable_size_r> + 187d8: 002c movs r4, r5 + 187da: 4286 cmp r6, r0 + 187dc: d9f2 bls.n 187c4 <_realloc_r+0x14> + 187de: 0031 movs r1, r6 + 187e0: 0038 movs r0, r7 + 187e2: f7ff ff87 bl 186f4 <_malloc_r> + 187e6: 1e04 subs r4, r0, #0 + 187e8: d0ec beq.n 187c4 <_realloc_r+0x14> + 187ea: 0029 movs r1, r5 + 187ec: 0032 movs r2, r6 + 187ee: f7ff fbdc bl 17faa + 187f2: 0029 movs r1, r5 + 187f4: 0038 movs r0, r7 + 187f6: f7ff ff33 bl 18660 <_free_r> + 187fa: e7e3 b.n 187c4 <_realloc_r+0x14> + +000187fc <_sbrk_r>: + 187fc: 2300 movs r3, #0 + 187fe: b570 push {r4, r5, r6, lr} + 18800: 4c06 ldr r4, [pc, #24] ; (1881c <_sbrk_r+0x20>) + 18802: 0005 movs r5, r0 + 18804: 0008 movs r0, r1 + 18806: 6023 str r3, [r4, #0] + 18808: f7e8 fe26 bl 1458 <_sbrk> + 1880c: 1c43 adds r3, r0, #1 + 1880e: d103 bne.n 18818 <_sbrk_r+0x1c> + 18810: 6823 ldr r3, [r4, #0] + 18812: 2b00 cmp r3, #0 + 18814: d000 beq.n 18818 <_sbrk_r+0x1c> + 18816: 602b str r3, [r5, #0] + 18818: bd70 pop {r4, r5, r6, pc} + 1881a: 46c0 nop ; (mov r8, r8) + 1881c: 20004e34 .word 0x20004e34 + +00018820 <__malloc_lock>: + 18820: 4770 bx lr + +00018822 <__malloc_unlock>: + 18822: 4770 bx lr + +00018824 <_malloc_usable_size_r>: + 18824: 1f0b subs r3, r1, #4 + 18826: 681b ldr r3, [r3, #0] + 18828: 1f18 subs r0, r3, #4 + 1882a: 2b00 cmp r3, #0 + 1882c: da01 bge.n 18832 <_malloc_usable_size_r+0xe> + 1882e: 580b ldr r3, [r1, r0] + 18830: 18c0 adds r0, r0, r3 + 18832: 4770 bx lr + 18834: 42000800 .word 0x42000800 + 18838: 42000c00 .word 0x42000c00 + 1883c: 42001000 .word 0x42001000 + 18840: 42001400 .word 0x42001400 + 18844: 42001800 .word 0x42001800 + 18848: 42001c00 .word 0x42001c00 + 1884c: 00000dae .word 0x00000dae + 18850: 00000daa .word 0x00000daa + 18854: 00000daa .word 0x00000daa + 18858: 00000e10 .word 0x00000e10 + 1885c: 00000e10 .word 0x00000e10 + 18860: 00000dc2 .word 0x00000dc2 + 18864: 00000db4 .word 0x00000db4 + 18868: 00000dc8 .word 0x00000dc8 + 1886c: 00000dfe .word 0x00000dfe + 18870: 00000e98 .word 0x00000e98 + 18874: 00000e78 .word 0x00000e78 + 18878: 00000e78 .word 0x00000e78 + 1887c: 00000f04 .word 0x00000f04 + 18880: 00000e8a .word 0x00000e8a + 18884: 00000ea6 .word 0x00000ea6 + 18888: 00000e7c .word 0x00000e7c + 1888c: 00000eb4 .word 0x00000eb4 + 18890: 00000ef4 .word 0x00000ef4 + 18894: 2074754f .word 0x2074754f + 18898: 6d20666f .word 0x6d20666f + 1889c: 726f6d65 .word 0x726f6d65 + 188a0: 0079 .short 0x0079 + 188a2: f800 .short 0xf800 + 188a4: 000022aa .word 0x000022aa + 188a8: 00002326 .word 0x00002326 + 188ac: 00002330 .word 0x00002330 + 188b0: 00002346 .word 0x00002346 + 188b4: 00002356 .word 0x00002356 + 188b8: 00002366 .word 0x00002366 + 188bc: 00002384 .word 0x00002384 + 188c0: 0000239c .word 0x0000239c + 188c4: 000023b2 .word 0x000023b2 + 188c8: 000023d0 .word 0x000023d0 + 188cc: 000023da .word 0x000023da + 188d0: 000023f0 .word 0x000023f0 + 188d4: 00002400 .word 0x00002400 + 188d8: 00002410 .word 0x00002410 + 188dc: 0000242e .word 0x0000242e + 188e0: 00002446 .word 0x00002446 + 188e4: 00002450 .word 0x00002450 + 188e8: 00002466 .word 0x00002466 + 188ec: 00002476 .word 0x00002476 + 188f0: 00002486 .word 0x00002486 + 188f4: 000024a4 .word 0x000024a4 + 188f8: 0000ffff .word 0x0000ffff + 188fc: 4c4c554e .word 0x4c4c554e + 18900: 696f7020 .word 0x696f7020 + 18904: 7265746e .word 0x7265746e + 18908: 00000000 .word 0x00000000 + 1890c: 6f5f766c .word 0x6f5f766c + 18910: 00006a62 .word 0x00006a62 + 18914: 000007e0 .word 0x000007e0 + 18918: 00007ef4 .word 0x00007ef4 + 1891c: 00007ef8 .word 0x00007ef8 + 18920: 00007ef4 .word 0x00007ef4 + 18924: 00007efc .word 0x00007efc + 18928: 00007f00 .word 0x00007f00 + 1892c: 00007f04 .word 0x00007f04 + 18930: 00007f08 .word 0x00007f08 + 18934: 00007efc .word 0x00007efc + 18938: 00007f00 .word 0x00007f00 + 1893c: 00007f04 .word 0x00007f04 + 18940: 00007f08 .word 0x00007f08 + 18944: 0000ffff .word 0x0000ffff + 18948: 640a6f4e .word 0x640a6f4e + 1894c: 00617461 .word 0x00617461 + 18950: 000081b8 .word 0x000081b8 + 18954: 000081a0 .word 0x000081a0 + 18958: 000081a4 .word 0x000081a4 + 1895c: 000081a8 .word 0x000081a8 + 18960: 000081ac .word 0x000081ac + 18964: 000081b0 .word 0x000081b0 + 18968: 000000ff .word 0x000000ff + +0001896c <_lv_bpp1_opa_table>: + 1896c: 0000ff00 .... + +00018970 <_lv_bpp2_opa_table>: + 18970: ffaa5500 .U.. + +00018974 <_lv_bpp4_opa_table>: + 18974: 33221100 77665544 bbaa9988 ffeeddcc .."3DUfw........ + +00018984 <_lv_bpp8_opa_table>: + 18984: 03020100 07060504 0b0a0908 0f0e0d0c ................ + 18994: 13121110 17161514 1b1a1918 1f1e1d1c ................ + 189a4: 23222120 27262524 2b2a2928 2f2e2d2c !"#$%&'()*+,-./ + 189b4: 33323130 37363534 3b3a3938 3f3e3d3c 0123456789:;<=>? + 189c4: 43424140 47464544 4b4a4948 4f4e4d4c @ABCDEFGHIJKLMNO + 189d4: 53525150 57565554 5b5a5958 5f5e5d5c PQRSTUVWXYZ[\]^_ + 189e4: 63626160 67666564 6b6a6968 6f6e6d6c `abcdefghijklmno + 189f4: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~. + 18a04: 83828180 87868584 8b8a8988 8f8e8d8c ................ + 18a14: 93929190 97969594 9b9a9998 9f9e9d9c ................ + 18a24: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac ................ + 18a34: b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc ................ + 18a44: c3c2c1c0 c7c6c5c4 cbcac9c8 cfcecdcc ................ + 18a54: d3d2d1d0 d7d6d5d4 dbdad9d8 dfdedddc ................ + 18a64: e3e2e1e0 e7e6e5e4 ebeae9e8 efeeedec ................ + 18a74: f3f2f1f0 f7f6f5f4 fbfaf9f8 fffefdfc ................ + +00018a84 : + 18a84: 81808080 83828281 87868584 8d8c8a89 ................ + 18a94: 9593918f 9e9b9997 a7a5a2a0 b2afadaa ................ + 18aa4: 000000b5 0000ffff 33221100 77665544 .........."3DUfw + 18ab4: bbaa9988 ffeeddcc 33221100 77665544 .........."3DUfw + 18ac4: bbaa9988 ffeeddcc 006e6962 0000eabc ........bin..... + 18ad4: 0000eac2 0000ea58 0000eaaa 0000eab0 ....X........... + 18ae4: 0000eabc 0000eabc 0000eabc 0000eab6 ................ + 18af4: 0000ecf8 0000ecfc 0000ecc2 0000ecec ................ + 18b04: 0000ecf0 0000ecf8 0000ecf8 0000ecf8 ................ + 18b14: 0000ecf4 0000eca2 0000eca6 0000ec6c ............l... + 18b24: 0000ec96 0000ec9a 0000eca2 0000eca2 ................ + 18b34: 0000eca2 0000ec9e 0000ebf2 0000ebf6 ................ + 18b44: 0000ebcc 0000ebe6 0000ebea 0000ebf2 ................ + 18b54: 0000ebf2 0000ebf2 0000ebee 0000ed70 ............p... + 18b64: 0000edc4 0000edca 0000edd0 0000edd6 ................ + 18b74: 0000eddc 0000ede2 0000ede8 0000ee98 ................ + 18b84: 0000ee9c 0000ee88 0000ee8c 0000ee90 ................ + 18b94: 0000ee98 0000ee98 0000ee98 0000ee94 ................ + 18ba4: 0000f0f8 0000f0fc 0000f0e8 0000f0ec ................ + 18bb4: 0000f0f0 0000f0f8 0000f0f8 0000f0f8 ................ + 18bc4: 0000f0f4 0000f070 0000f0a0 0000f060 ....p.......`... + 18bd4: 0000f064 0000f068 0000f070 0000f070 d...h...p...p... + 18be4: 0000f070 0000f06c 0000f038 0000f03e p...l...8...>... + 18bf4: 0000eff4 0000f026 0000f02c 0000f038 ....&...,...8... + 18c04: 0000f038 0000f038 0000f032 0000f172 8...8...2...r... + 18c14: 0000f1ce 0000f1d4 0000f1da 0000f1e0 ................ + 18c24: 0000f1e6 0000f1ec 0000f1f2 ............ + +00018c30 : + 18c30: 00000020 0001005f 00000000 00000000 ..._........... + 18c40: 00000000 000000b0 0060f7f3 0001c860 ..........`.`... + 18c50: 00000000 0002003b ....;... + +00018c58 : ... - 18bd0: 04500000 00000000 04500000 00010c03 ..P.......P..... - 18be0: 06400012 07010505 0b40001f 00000c0b ..@.......@..... - 18bf0: 09f00061 fe00100a 0d8000b1 00000c0d a............... - 18c00: 0b0000ff ff000d0b 03600147 07010502 ........G.`..... - 18c10: 0560014c fd010f04 0570016a fd000f04 L.`.....j.p..... - 18c20: 06600188 05000707 095001a1 02010808 ..`.......P..... - 18c30: 03a001c1 fe000503 062001c9 03000306 .......... ..... - 18c40: 03a001d2 00000303 05a001d7 feff1008 ................ - 18c50: 0ab00217 00000c0a 05f00253 00000c05 ........S....... - 18c60: 09300271 00000c09 092002a7 00000c09 q.0....... ..... - 18c70: 0ab002dd 00000c0b 0930031f 00000c09 ..........0..... - 18c80: 09e00355 00000c0a 09900391 00000c09 U............... - 18c90: 0a5003c7 00000c0a 09e00403 00000c0a ..P............. - 18ca0: 03a0043f 00000903 03a0044d fd000c03 ?.......M....... - 18cb0: 0950045f 02010808 0950047f 03010608 _.P.......P..... - 18cc0: 09500497 02010808 093004b7 00000c09 ..P.......0..... - 18cd0: 109004ed fd000f10 0bb00565 00ff0c0d ........e....... - 18ce0: 0c2005b3 00010c0b 0b9005f5 00000c0b .. ............. - 18cf0: 0d300637 00010c0c 0ac0067f 00010c09 7.0............. - 18d00: 0a3006b5 00010c09 0c6006eb 00000c0c ..0.......`..... - 18d10: 0d000733 00010c0b 04f00775 00010c03 3.......u....... - 18d20: 08300787 00ff0c08 0b8007b7 00010c0b ..0............. - 18d30: 098007f9 00010c09 0f40082f 00010c0d ......../.@..... - 18d40: 0d00087d 00010c0b 0d7008bf 00000c0d }.........p..... - 18d50: 0b90090d 00010c0a 0d700949 fd000f0e ........I.p..... - 18d60: 0ba009b2 00010c0a 09f009ee 00000c0a ................ - 18d70: 09600a2a 00000c0a 0ca00a66 00010c0b *.`.....f....... - 18d80: 0b600aa8 00ff0c0d 12000af6 00000c12 ..`............. - 18d90: 0ac00b62 00000c0b 0a600ba4 00ff0c0c b.........`..... - 18da0: 0a800bec 00000c0b 05500c2e fd010f05 ..........P..... - 18db0: 05a00c54 feff1008 05500c94 fd000f04 T.........P..... - 18dc0: 09500cb2 02010708 08000cce fe000208 ..P............. - 18dd0: 09a00cd6 0a010205 09900cdb 00000909 ................ - 18de0: 0af00d04 00010c0a 09200d40 00000909 ........@. ..... - 18df0: 0af00d69 00000c0a 09d00da5 0000090a i............... - 18e00: 05a00dd2 00000c07 0b100dfc fd000c0a ................ - 18e10: 0ae00e38 00010c09 04700e6e 00010c03 8.......n.p..... - 18e20: 04900e80 fdfe0f06 09e00ead 00010c09 ................ - 18e30: 04700ee3 00010c02 10f00eef 0001090f ..p............. - 18e40: 0ae00f33 00010909 0a300f5c 0000090a 3.......\.0..... - 18e50: 0af00f89 fd010c0a 0af00fc5 fd000c0a ................ - 18e60: 06901001 00010906 0800101c 00000908 ................ - 18e70: 06a01040 00000b07 0ad01067 00010909 @.......g....... - 18e80: 08f01090 00ff090a 0e6010bd 0000090f ..........`..... - 18e90: 08d01101 00000909 08f0112a fdff0c0a ........*....... - 18ea0: 08501166 00000908 05a0118a fd000f06 f.P............. - 18eb0: 04d011b7 fd010f03 05a011ce fd000f05 ................ - 18ec0: 095011f4 04000509 06b0120b 06000606 ..P............. - 18ed0: 0500121d 03010403 10001223 fe001110 ........#....... - 18ee0: 100012ab 00000c10 1000130b ff000e10 ................ - 18ef0: 1000137b 00000c10 0b0013db 00000c0b {............... - 18f00: 1000141d fe001010 1000149d fe001010 ................ - 18f10: 1200151d ff000e12 1000159b fe001010 ................ - 18f20: 1200161b 00000c12 10001687 fe001010 ................ - 18f30: 08001707 ff000e08 0c00173f ff000e0c ........?....... - 18f40: 12001793 fe001012 10001823 00000c10 ........#....... - 18f50: 0e001883 fe02100a 0e0018d3 fd00120e ................ - 18f60: 0e001951 ff000f0e 0e0019ba ff000e0e Q............... - 18f70: 0e001a1c fe02100a 0e001a6c ffff0e10 ........l....... - 18f80: 0a001adc ff000e0a 0a001b22 ff000e0a ........"....... - 18f90: 0e001b68 ff000e0e 0e001bca 0400040e h............... - 18fa0: 12001be6 00000c12 14001c52 fe001014 ........R....... - 18fb0: 12001cf2 feff1014 10001d92 fe001010 ................ - 18fc0: 0e001e12 01000a0e 0e001e58 01000a0e ........X....... - 18fd0: 14001e9e ff000e14 10001f2a 00000c10 ........*....... - 18fe0: 10001f8a fe001010 1000200a feff1111 ......... ...... - 18ff0: 0e00209b ff000e0f 0e002104 fe00100e . .......!...... - 19000: 0e002174 ff000e0e 0a0021d6 feff100c t!.......!...... - 19010: 0e002236 fe00100e 0e0022a6 fe00100e 6"......."...... - 19020: 12002316 00000c12 10002382 fdff1212 .#.......#...... - 19030: 0c002424 fe00100c 14002484 ff000f14 $$.......$...... - 19040: 1400251a 01000a14 1400257e 01000a14 .%......~%...... - 19050: 140025e2 01000a14 14002646 01000a14 .%......F&...... - 19060: 140026aa 01000a14 1400270e ff000e15 .&.......'...... - 19070: 0e0027a1 fe01100c 0e002801 fe00100e .'.......(...... - 19080: 10002871 fdff1111 14002902 00000c14 q(.......)...... - 19090: 0c00297a fe00100c 102029da 01000b11 z).......) ..... - -000190a0 : - 190a0: aff00bbf 089ee00a c0078cd0 bf100000 ................ - 190b0: 1ff5e01a e4f3513f f2403e0f 00100872 ....?Q...>@.r... - 190c0: e003c005 007a0000 0900005c 01a00780 ......z.\....... - 190d0: ffffffff 733e03fd 0030833c 00c500f2 ......>s<.0..... - 190e0: 0e100f00 f0020030 9f00f200 ffffffff ....0........... - 190f0: 36c33841 890030e3 00005c00 a007700a A8.6.0...\...p.. - 19100: 79000000 00000000 00000079 20e9ff5c ...y....y...\.. - 19110: 9ebcfc06 79b00e90 800f1000 0d000079 .......y....y... - 19120: 000079f5 50fdef03 cf060000 000040fe .y.....P.....@.. - 19130: 00f15e79 f3057900 07790007 bce92ff1 y^...y....y../.. - 19140: ae03a0af 0000d7ff 00007900 00790000 .........y....y. - 19150: 80de0300 00d00500 01500ce4 004c00e3 ..........P...L. - 19160: 00a9005a c004a006 4c00004e 500d5a00 Z.......N..L.Z.P - 19170: 1ce40000 0000a058 e173ce03 0000e93c ....X.....s.<... - 19180: 400ed600 7c0000a8 d003c003 3c202e00 ...@...|...... < - 19190: 0b003d00 09e20070 00d00680 00a0dd04 .=..p........... - 191a0: 00b1ef09 3ce40900 d90000a0 00007d00 .......<.....}.. - 191b0: a01cc00c ae3f0000 010000c1 0000c0df ......?......... - 191c0: 708feb03 00db0018 3ff0657f ea8f0040 ...p.....e.?@... - 191d0: 0000f703 f90b70cf 40bfcf66 30eadf08 .....p..f..@...0 - 191e0: 000000a5 f5000000 72e4e4f5 f205da00 ...........r.... - 191f0: 700fc00b 205f403f 007f106f 205f106f ...p?@_ o...o._ - 19200: 700f403f f205c00b 303fda00 f106b00c ?@.p......?0.... - 19210: e900f601 ad00bc00 ad00ae00 e900bc00 ................ - 19220: f106f601 303fb00c 06004a00 2ba0a474 ......?0.J..t..+ - 19230: 7f00e5ff 6b7b20fb a004008d 00130000 ..... {k........ - 19240: 10050000 500f0000 500f0000 511f0100 .......P...P...Q - 19250: ffffef10 744f34f3 500f0040 500f0000 .....4Ot@..P...P - 19260: fd520900 0fc5a00b 10110100 04f3ff1f ..R............. - 19270: 12034044 00901efc 00f10500 00b00a00 D@.............. - 19280: 00600f00 00105f00 0000ab00 0000f600 ..`.._.......... - 19290: 0000f105 0000b00a 0000600f 0000104f .........`..O... - 192a0: 000000ac 040000f6 0a0000f1 0e0000c0 ................ - 192b0: 4f000060 00000010 00c5ef08 cfa8cf00 `..O............ - 192c0: 00f50770 c00df20a 1ff80100 dc000080 p............... - 192d0: 0000603f 00603fbd 801fbd00 0ddc0000 ?`...?`......... - 192e0: f80100c0 0a00f507 a8cf00f2 080070cf .............p.. - 192f0: ef00c5ef f37a36ff 05305f00 305f00f3 .....6z.._0..._0 - 19300: 5f00f305 00f30530 f305305f 05305f00 ..._0..._0..._0. - 19310: fdbe04f3 98fd0770 002890cf 0000bf00 ....p.....(..... - 19320: 00f20700 00af0000 804f0000 c03f0000 ..........O...?. - 19330: c13e0000 c12e0000 d12e0000 f82e0000 ..>............. - 19340: ff467777 6ffaffff 02ffffff b09f7777 wwF....o....ww.. - 19350: e10c0000 f3090000 f6050000 df000000 ................ - 19360: 040010e9 0000fd59 00f40600 643f0000 ....Y.........?d - 19370: f3080040 fb8cc9bf d7ff7c00 01000000 @........|...... - 19380: 000000eb 0010be00 506f0000 2f000000 ..........oP.../ - 19390: 00000090 0000d00c 01f30800 f80300d5 ................ - 193a0: 00602f00 f72322ed ffff6f21 5581ffff ./`.."#.!o.....U - 193b0: 52f95655 2f000000 00000060 0500f602 UV.R.../`....... - 193c0: 00ffffff 7077777f 0000e008 0000ad00 .....wwp........ - 193d0: 10c20b00 ffdf0000 550430fb 0020ff68 .........0.Uh. . - 193e0: 00f80400 920f0000 f6050050 fd8ad98f ........P....... - 193f0: e9ef5b10 ce050010 9f0060fc 05708bc8 .[.......`....p. - 19400: 000000f8 0000d00c 00801f00 682f0000 ............../h - 19410: 3f10faef d08f64ee 0600f12f 00c00ef4 ...?.d../....... - 19420: f109f602 01f30600 b09f86de d8ef1900 ................ - 19430: ffff8f00 77f7e8ff 008ffc77 90554f00 .......ww....OU. - 19440: 00e00b00 00f80200 109f0000 b00f0000 ................ - 19450: f4060000 dd000000 3f000000 0a000070 ...........?p... - 19460: 010000f1 000000f9 00d7ff5c af76fc06 ........\.....v. - 19470: 00d00ca0 c00df109 07f20700 c05e11f7 ..............^. - 19480: feffbf00 54f90910 802fd07e 4ff60400 .......T~./....O - 19490: f8000050 0500a01f 76fb09f6 6c00d0af P..........v...l - 194a0: 0010d8ff 0080fd8e fc68f80c 00505f00 ..........h.._P. - 194b0: 008f703f 7fc00e00 f01f0030 cf13d41f ?p......0....... - 194c0: ffef04f1 0200f0a9 00f00a31 a00e0000 ........1....... - 194d0: 9f000000 8da70930 df0700f7 1e0040eb ....0........@.. - 194e0: 1003fc92 00000000 1efc1203 fc921e90 ................ - 194f0: 00001003 01000000 a8d01fe9 00a0300e .............0.. - 19500: 00420000 03f37d01 bf10e89f ee0000b5 ..B..}.......... - 19510: 17000081 0000b4df 00d2af04 ef820100 ................ - 19520: 45f3ffff 00515555 01000000 ef101111 ...EUUQ......... - 19530: 34f3ffff 50404444 ef000000 06000092 ...4DD@P........ - 19540: 0000b5cf 00e29f03 02f36c00 bf20e99e .........l.... . - 19550: 930000c6 04000000 0770fdbe a0bf77fc ..........p..w.. - 19560: cf000027 09000000 010000f0 010000ea '............... - 19570: 000010dd 000010ce 0000603f 00003001 ........?`...0.. - 19580: 00000100 00f50600 405f0000 17000000 .........._@.... - 19590: 00b5fdce fb050000 c27d2353 406e0000 ........S#}...n@ - 195a0: 8e000000 01f40210 493ffaae 1e900ab0 ..........?I.... - 195b0: 40ef5be6 8f300fe3 40af0010 d9001f98 .[.@..0....@.... - 195c0: 403f0000 e8003f6a 401f0000 d9001f5c ..?@j?.....@\... - 195d0: 403f0000 8f300f6a 40af0010 1e900a98 ..?@j.0....@.... - 195e0: a6de5ad6 01f303f2 ee16faaf 406e0050 .Z..........P.n@ - 195f0: 00000000 fb060000 00752353 17000000 ........S#u..... - 19600: 00a3fdce 02000000 000000fd f49f0000 ................ - 19610: 00000000 00b09e0f f2060000 0000207f ............. .. - 19620: f801dc00 4f000000 00e00b60 00f00b00 .......O`....... - 19630: 0100604f ed1111fa ff8f0000 00f3ffff O`.............. - 19640: 4444c40e f406a04f af000000 0000cd10 ..DDO........... - 19650: 5ff80200 40ebffff 5755f805 405f40df ..._...@..UW.@_@ - 19660: 05fa0100 0f0000f4 11515fa0 ff05f43a ........._Q.:... - 19670: 00faffff 5944745f 00f405fa 5ff20800 ...._tDY......._ - 19680: 5f000040 0000f445 855ff209 05fb6a55 @.._E....._.Uj.. - 19690: d7ffffff 8d020000 0400b4fe f99db8ff ................ - 196a0: 0020fd02 20bf5008 0f000000 000000a0 .. ..P. ........ - 196b0: 0000f602 602f0000 00000000 000000fa ....../`........ - 196c0: 00f20b00 2f000000 850000d2 89fb5f00 ......./....._.. - 196d0: 290080df 5f40ebdf 30eaffff 77975f00 ...)..@_...0._.w - 196e0: 5f00f89e af000040 00405f60 5fe00d00 ..._@...`_@...._ - 196f0: 06000040 00405ff4 5ff60300 03000040 @...._@...._@... - 19700: 00405ff6 5ff40600 0d000040 00405fe0 ._@...._@...._@. - 19710: 5f60af00 f89e7797 ffff5f00 5f0030ea ..`_.w..._...0._ - 19720: 95ffffff 747777f9 0000405f 0000f405 .....wwt_@...... - 19730: 11515f00 ffff0511 745fe0ff f4054444 ._Q......._tDD.. - 19740: 5f000000 05000040 000000f4 7777975f ..._@......._.ww - 19750: ffffff65 ffff5ffd 77f995ff 405f7477 e...._.....wwt_@ - 19760: f4050000 5f000000 05000040 102222f5 ......._@...."". - 19770: feffff5f 5555f805 00405f40 00f40500 _.....UU@_@..... - 19780: 405f0000 f4050000 00000000 b5fe8d01 .._@............ - 19790: fb4f0000 02b0df89 060020fd 00f20b60 ..O...... ..`... - 197a0: 0f000000 000000a0 00602f00 2f000000 ........./`..../ - 197b0: 09000060 00a00ff0 0bf00900 090000f2 `............... - 197c0: 20fd02f0 00f00a00 df89fb4f 8d0200c0 ... ....O....... - 197d0: 5f00c6fe 4f000040 0000f455 405ff504 ..._@..OU....._@ - 197e0: 554f0000 040000f4 22525ff5 ff555f22 ..OU....._R""_U. - 197f0: f5ffffff 5555855f 00f4558f 5ff50400 ...._.UU.U....._ - 19800: 4f000040 0000f455 405ff504 554f0000 @..OU....._@..OU - 19810: 040000f4 f4455ff5 5ff4455f 455ff445 ....._E._E._E._E - 19820: f4455ff4 00f4455f 00faffff 00fa7777 ._E._E......ww.. - 19830: 00fa0000 00fa0000 00fa0000 00fa0000 ................ - 19840: 00fa0000 00fa0000 07f90000 0df60320 ............ ... - 19850: 01f18ee9 5f30fbae eb020040 0100f405 ......0_@....... - 19860: 405f00ec 0510de01 20ce00f4 bf405f00 .._@....... ._@. - 19870: f4050030 0000909f 40efcf5f 91ff0500 0......._..@.... - 19880: 5f0010ee 00fc03a0 0600f405 405f00f8 ..._.........._@ - 19890: 05f50900 0c0000f4 00405ff2 00f40500 ........._@..... - 198a0: 405f0000 f4050000 5f000000 05000040 .._@......._@... - 198b0: 000000f4 0000405f 0000f405 00405f00 ...._@......._@. - 198c0: 00f40500 975f0000 ff257777 5ff5ffff ......_.ww%...._ - 198d0: 00000040 00fc951e f9080000 0000f55f @..........._... - 198e0: fd95ff02 ae0000e0 705f5ff9 955f3f00 .........__p.?_. - 198f0: 0b108ff3 315ff9c0 0ff304e9 f207f395 ......_1........ - 19900: 5ff900db 20ef0d30 00f3950f f900905f ..._0.. ...._... - 19910: 7100305f f3950f00 00000000 00505ff9 _0.q........._P. - 19920: ff554f00 f5040020 0000fd5f f9fa554f .OU. ..._...OU.. - 19930: 5ff50400 4f00f54a f20df455 405ff504 ..._J..OU....._@ - 19940: 554fd02f 946f00f4 00405ff5 f455afaf /.OU..o.._@...U. - 19950: f5df0000 0200405f 00f455ff 00f50600 ...._@...U...... - 19960: b5fe8d01 ff040000 00fa9eb8 0020fd02 .............. . - 19970: bf00f908 0a000020 00a00ff2 723f0000 .... .........?r - 19980: 000000f6 602ff900 0f000000 0000fa90 ....../`........ - 19990: 0bf70300 000000f2 d22f20af 908f0000 ......... /..... - 199a0: 89fb4f00 0000a0ef 50ebdf28 ffff5f00 .O......(..P._.. - 199b0: 975f00d7 5fc0bf78 f6070040 0000405f .._.x.._@..._@.. - 199c0: 00405ffa 405ffa00 5ff80300 f16e2362 ._@..._@..._b#n. - 199d0: fdffff5f 54855f30 405f0020 5f000000 _...0_.T ._@..._ - 199e0: 00000040 0000405f 8d010000 0000b5fe @..._@.......... - 199f0: 89fb4e00 0200a0ef 080020fd f20a00f9 .N....... ...... - 19a00: af000000 00a00f20 703f0000 0000602f .... .....?p/`.. - 19a10: 2f900f00 00000060 901f900f 2f000000 .../`........../ - 19a20: 00f10b70 20af0000 0010fc03 0000f907 p...... ........ - 19a30: df78fa6f 030000b0 00c5ffae 00000000 o.x............. - 19a40: b015d43e 02000000 0080ffbf 01000000 >............... - 19a50: ff5f0031 5f00d7ff c0bf7897 0700405f 1._...._.x.._@.. - 19a60: 00405ff6 405ffa00 5ffa0000 f8030040 ._@..._@..._@... - 19a70: 6e23525f ffff5fe1 855f30fc 5f00f955 _R#n._...0_.U.._ - 19a80: 407f0040 0c00405f 00405fe0 5c00f902 @..@_@..._@....\ - 19a90: 0720d9ef 90af87fc 0100c00e 00800f10 .. ............. - 19aa0: f50d0000 03000000 0050eaef feae0500 ..........P..... - 19ab0: 00000040 0000f14e 08f30500 f2080000 @...N........... - 19ac0: bf77fa2f ff9d02a0 ffff00c7 67f5ffff /.w............g - 19ad0: 7277fb78 00f70100 f7010000 01000000 x.wr............ - 19ae0: 000000f7 0000f701 00f70100 f7010000 ................ - 19af0: 01000000 000000f7 0000f701 00f70100 ................ - 19b00: f7010000 306f0000 168f0000 080000f3 ......o0........ - 19b10: 00306ff1 f3168f00 f1080000 0000306f .o0.........o0.. - 19b20: 00f3168f 6ff10800 8f000030 0000f405 .......o0....... - 19b30: 703ff009 00cd0000 5f0020de a8ff0480 ..?p..... ._.... - 19b40: 0300d0bf 0081fdbe 0000e00c 6f306f00 .............o0o - 19b50: 0c000050 00fb00c0 00f60300 0000f209 P............... - 19b60: 2f0000ae 901f0080 00ce0000 0000f207 .../............ - 19b70: db00f605 0e000000 00504fc0 3b8f0000 .........OP....; - 19b80: 000000e0 00f8fb02 0b000000 000010ff ................ - 19b90: b04f0000 405f0000 00df0000 0ff50200 ..O..._@........ - 19ba0: ff020090 f0070040 0700e00b 0c0090fe ....@........... - 19bb0: 00f306b0 00e0aa0c f801601f f3541f00 .........`....T. - 19bc0: 00106f00 107f00cd 00cc00f8 cb207f00 .o............ . - 19bd0: f701ad00 712f0000 265f00f6 0d0000f2 ....../q.._&.... - 19be0: 0f00f1c6 0000d07b 00c0fd08 0080df0b ....{........... - 19bf0: 70ff0300 30ff0600 ef000000 fe010020 ...p...0.... ... - 19c00: 903f0000 00cd0000 7f00408f 10de0030 ..?......@..0... - 19c10: 0300802f 00d00cfa f3fb0700 0c000000 /............... - 19c20: 000000f8 00c0ef01 7fbf0000 6f000070 ............p..o - 19c30: 0020af60 ed01b02f 00f10c00 f607f804 `. ./........... - 19c40: f3090000 0000e00c f703f207 901f0000 ................ - 19c50: 0010af00 1f00109e 00f602a0 0bf30800 ................ - 19c60: 000000d0 00404fec fb5f0000 00000000 .....O@..._..... - 19c70: 0000f20c f0090000 00000000 0000f009 ................ - 19c80: f0090000 00000000 0000f009 ffffff3f ............?... - 19c90: 777701fd 0090bf77 c01e0000 0c000000 ..www........... - 19ca0: 000000f2 0000f508 00f90400 ec010000 ................ - 19cb0: 00000000 000020cf 00508f00 904f0000 ..... ....P...O. - 19cc0: 1e000000 777777f8 ffffff05 ff5ff0ff .....www......_. - 19cd0: 5f50f705 00f30530 f305305f 05305f00 ..P_0..._0..._0. - 19ce0: 305f00f3 5f00f305 00f30530 f705305f .._0..._0..._0.. - 19cf0: 00ff5f50 0000007e 0000401f 0000900c P_..~....@...... - 19d00: 0000e007 0000f402 0000c900 00007e00 .............~.. - 19d10: 00402f00 00900c00 00e00700 00f30200 ./@............. - 19d20: 00d90000 007e0000 302f0000 900d0000 ......~.../0.... - 19d30: e0070000 ea35fabf ea00ea00 ea00ea00 ......5......... - 19d40: ea00ea00 ea00ea00 ea00ea00 ea35ea00 ..............5. - 19d50: 2f00fabf 9d000080 f30000e0 d00600d5 .../............ - 19d60: 600c007b 103f201f 009a800b ffffe004 {..`. ?......... - 19d70: 1111ffff f6071111 01e70300 0080fd9e ................ - 19d80: 90af87ce af000002 06000000 ffbe02f2 ................ - 19d90: 42ec20ff 502ff227 ec207f00 02f27f42 . .B'./P.. .B... - 19da0: 206ffbbf 0000008f 00008f00 008f0000 ..o ............ - 19db0: 8f000000 00b3fe2b ef78ec8f 00a08f30 ....+.....x.0... - 19dc0: 208fc01e 8ff10700 f3050000 0700208f ... ......... .. - 19dd0: 00a08ff1 ec8fd01e 8e30ef78 00b3fe2b ........x.0.+... - 19de0: c4ef3a00 7cd84f00 00d00df4 00f61307 .:...O.|........ - 19df0: 304f0000 f6030000 0d000000 100600d0 ..O0............ - 19e00: f47cd74f c4ef3a00 00000000 0000f701 O.|..:.......... - 19e10: 00f70100 f7010000 a3ff3b00 87fd04f7 .........;...... - 19e20: d00ef7ce 3ff70b00 f7030060 0100304f .......?`...O0.. - 19e30: 00503ff7 c00ef703 04f70a00 f7be65fc .?P..........e.. - 19e40: b2ff3b00 fe3b00f7 fc0400a2 0e20ee67 .;....;.....g. . - 19e50: a01e00c0 0700503f ffff4ff0 723ff1ff ....?P...O....?r - 19e60: 0e202222 000200c0 af87fd04 ef3a0050 "" .........P.:. - 19e70: 5d0000d6 b52f00fc 00f30470 a0ffff0c ...]../.p....... - 19e80: 0053f748 0500305f 5f0000f3 f3050030 H.S._0....._0... - 19e90: 305f0000 00f30500 00305f00 b2ff3b00 .._0....._0..;.. - 19ea0: 87fe04e9 d10ef9cf 3ff90a00 f9010060 ...........?`... - 19eb0: 0000404f 00603ff9 d00ef901 04f90900 O@...?`......... - 19ec0: f8cf87fd b3ff3b00 000000f7 e909f405 .....;.......... - 19ed0: 01b0af77 00d8ff7c 0000008f 0000f008 w...|........... - 19ee0: 00008f00 bff20800 fb8f10ea f808fd89 ................ - 19ef0: 8ff40600 781f0010 f80000f0 0f00008f .......x........ - 19f00: 0000f088 00008ff8 00f0880f 1a9ef800 ................ - 19f10: f00800f2 8ff0088f 088ff008 f0088ff0 ................ - 19f20: 00e20700 0000f309 f1070000 00f10700 ................ - 19f30: 0700f107 f10700f1 00f10700 0700f107 ................ - 19f40: f10700f1 18f00800 fc3ec06e 00008f20 ........n.>. ... - 19f50: 00f00800 008f0000 f0080000 8fd11d00 ................ - 19f60: 08e21d00 00e21df0 00f32d8f 70fffe08 .........-.....p - 19f70: bfe28f00 01f20830 008f10ee f008fb03 ....0........... - 19f80: 8ff70700 8f8f8f8f 8f8f8f8f 8e8f8f8f ................ - 19f90: 3b91fe3c ff08a2fe c6cf9f96 708fd08f <..;...........p - 19fa0: 00c09f00 00f1585f 0100f605 00008ff7 ...._X.......... - 19fb0: 0f00404f 0400f088 f80000f4 4f00008f O@.............O - 19fc0: 880f0040 f40400f0 8ff80000 404f0000 @.............O@ - 19fd0: 8e800f00 08a1fe3b d08fa6ff 6f00808f ....;..........o - 19fe0: 0100f148 00008ff7 00f0880f 008ff800 H............... - 19ff0: f0880f00 8ff80000 800f0000 c4ef3b00 .............;.. - 1a000: 87fd0400 d00e60cf 3ff10b00 f5030060 .....`.....?`... - 1a010: 0100304f 00603ff7 d00ef503 04f10b00 O0...?`......... - 1a020: 60cf77fd c4ef3b00 fe3b8e00 fb8f00b3 .w.`.;....;..... - 1a030: 8f30df57 c00d0090 0700108f 00008ff1 W.0............. - 1a040: 208ff305 8ff10700 d01e00a0 ef78ec8f ... ..........x. - 1a050: fe2b8f30 008f00b3 8f000000 00000000 0.+............. - 1a060: 0000008f ff3b0000 fd04f7a2 0ef7de87 ......;......... - 1a070: f70b00d0 0300603f 00304ff7 603ff701 ....?`...O0...?` - 1a080: 0ef70300 f70b00d0 ce77fd04 ff3b00f7 ..........w...;. - 1a090: 0000f7a3 00f70100 f7010000 01000000 ................ - 1a0a0: f02b8ef7 8f90ed8f 208f00a0 00008f00 ..+........ .... - 1a0b0: 8f00008f 008f0000 00008f00 91fdae02 ................ - 1a0c0: d069d71e 0000304f 0010b42f 60fdef06 ..i.O0../......` - 1a0d0: f55b0100 f7000001 f36ba75f 40ecdf19 ..[....._.k....@ - 1a0e0: 0000f305 cf00305f 8f04faff f3053075 ...._0......u0.. - 1a0f0: 305f0000 00f30500 00305f00 0000f404 .._0....._0..... - 1a100: 0080c61f ae10fc5d 5a2f0000 f50200e0 ....]...../Z.... - 1a110: 2f0000ae 0200e05a 0000aef5 00f0592f .../Z......./Y.. - 1a120: 306ff504 ee51af00 02f5bf76 503ffbbe ..o0..Q.v.....?P - 1a130: 0000c00d 00f206cb f900f502 00e00900 ................ - 1a140: 800f009e 6f602f00 c00c0010 050000cb ...../`o........ - 1a150: 0000f4f6 00d0ef00 708f0000 0000bb00 ...........p.... - 1a160: 4f00109f 0e00f116 c00900f6 fc05600f ...O.........`.. - 1a170: 00f600b0 5fab00ac 05105f10 f7500ff1 ......._._....P. - 1a180: 0f00b00a c009f076 ac0000f5 8f4f00ba ....v.........O. - 1a190: ff040000 a0ef0040 e00e0000 00f40800 ....@........... - 1a1a0: 00704f00 308f209f cd00505f 0200902e .Op.. .0_P...... - 1a1b0: 0000d0ff 0000f60a 00e1fd04 c00deb01 ................ - 1a1c0: 3f10be00 00406f80 c00d407f 06cb0000 ...?.o@..@...... - 1a1d0: f40200f3 0900ea00 108f00d0 1f00701f .............p.. - 1a1e0: 00107f70 00d9e00a f2f90300 cf000000 p............... - 1a1f0: 000000b0 0000406f 0000ad00 00f5791c ....o@.......y.. - 1a200: 70ee1a00 ff4f0000 5515f9ff 0000f45b ...p..O....U[... - 1a210: 0100804f 0b0000ec 8f0000e1 f7040040 O...........@... - 1a220: e51e0000 ff5f5355 2c00fcff 61af00f5 ....US_....,...a - 1a230: 0000cc00 db0000db 00db0000 1f00ea02 ................ - 1a240: fa0500f4 00db0000 0000db00 cc0000db ................ - 1a250: 61af0000 5ff52c00 155ff115 f1155ff1 ...a.,._.._.._.. - 1a260: 5ff1155f 155ff115 f1155ff1 80be105f _.._.._.._.._... - 1a270: 0140af03 701f00f6 1f00f701 00f90070 ..@....p....p... - 1a280: fb00fb0a 01701f20 701f00f7 af03f601 .... .p....p.... - 1a290: 0090be40 00000000 00e43d00 f5860cb5 @........=...... - 1a2a0: 03f0201e 000290ef 02001000 400d90ce . .............@ - 1a2b0: 0e003b89 0d0e003b ce028940 f8080090 .;..;...@....... - 1a2c0: 00f7e7ef 00000000 00000000 00000000 ................ - 1a2d0: 00dc4900 16000000 00ffffbf ff8d0300 .I.............. - 1a2e0: 00ffffff ffffcf00 00ffffff ffffff00 ................ - 1a2f0: 00ffc7ff eaffff00 00ff0051 0083ff00 ........Q....... - 1a300: 00ff0000 0000ff00 00ff0000 0000ff00 ................ - 1a310: 00ff0000 0000ff00 00ff0000 0000ff00 ................ - 1a320: 00ffff2b 0000ff00 2bffffdf 0000ffff +..........+.... - 1a330: dffdffdf 0000ffff dfb2ff2b 0000fdff ........+....... - 1a340: 2b000000 0000b2ff d0000000 ffffff0f ...+............ - 1a350: ff0df0ff 8888c8ff f0ffff8c 0000800f ................ - 1a360: f00ff008 0000800f ff0ff008 000080ff ................ - 1a370: f0ffff08 ccccec0f f00ff0ce ccccec0f ................ - 1a380: ff0ff0ce 000080ff f0ffff08 0000800f ................ - 1a390: f00ff008 0000800f ff0ff008 8888c8ff ................ - 1a3a0: d0ffff8c ffffff0f df0df0ff ffff73ff .............s.. - 1a3b0: fffdffff ffffa5ff ffffffff ffffa5ff ................ - 1a3c0: dfffffff ffff73ff 00fdffff 00000000 .....s.......... - 1a3d0: df000000 ffff73ff fffdffff ffffa5ff .....s.......... - 1a3e0: ffffffff ffffa5ff dfffffff ffff73ff .............s.. - 1a3f0: 00fdffff 00000000 df000000 ffff73ff .............s.. - 1a400: fffdffff ffffa5ff ffffffff ffffa5ff ................ - 1a410: dfffffff ffff73ff 00fdffff 00000000 .....s.......... - 1a420: 00b10a00 00000000 00fcbf00 00000000 ................ - 1a430: 00fbff0b 00000000 1bc0ffbf 0b0000a0 ................ - 1a440: cf00fcff bf0000fb bf00c0ff ff0bb0ff ................ - 1a450: 0c0000fc ffbffbff 000000c0 fbffffcf ................ - 1a460: 00000000 b0ffff0c 00000000 00fbbf00 ................ - 1a470: 00000000 00b00b00 03000000 03000000 ................ - 1a480: 0010fc08 fcfff81c f5ff1c10 ff2cfcff ..............,. - 1a490: ffff05f5 0500f5ff 00f5ffff fdff1d00 ................ - 1a4a0: ff1c0010 1c10fcff fcfff9ff 05f5ff1c ................ - 1a4b0: f5dffcff d1ff0500 040000a4 000000a1 ................ - 1a4c0: 0000e04f 10020000 1003f16f d05f0000 O.......o....._. - 1a4d0: d13ff16f f1ff0300 fd5ff16f 40ff0d00 o.?.....o._....@ - 1a4e0: ff09f16f 00f74f70 cf00f16f 00f09fe0 o...pO..o....... - 1a4f0: 5f00f16f 00c0bff3 2f00f16f 00c0bff5 o.._....o../.... - 1a500: 1f00e04f 00e0aff6 4f000000 00f46ff4 O..........O.o.. - 1a510: af000000 10fe0ff0 ff050000 d3ff06a0 ................ - 1a520: ff7f0000 ff9f0020 f4ffbeda ff060000 .... ........... - 1a530: 30fdffff 17000000 0050cabd 00000000 ...0......P..... - 1a540: 0000b88b 00000000 0000ffff 06300000 ..............0. - 1a550: 0360ffff dffd0400 effdffff ffff0d40 ..`.........@... - 1a560: ffffffff ffff4fd0 ffff9ff9 ffff08f4 .....O.......... - 1a570: ffff0220 f9ff0080 ff9f0000 f9ff0000 ............... - 1a580: ff9f0000 ffff0800 ffff0220 ffff4f80 ........ ....O.. - 1a590: ffff9ff9 ffff0df4 ffffffff dffe04d0 ................ - 1a5a0: dffdffff 06300040 0360ffff 00000000 ....@.0...`..... - 1a5b0: 0000ffff 00000000 0000b88b 00000000 ................ - 1a5c0: 3f30dd03 000000f3 f5ff6f00 0000f44f ..0?.....o..O... - 1a5d0: 99ff0900 00f4bfff f6bf0100 f4ff6f22 ............"o.. - 1a5e0: fe2d0000 ef53ff35 ff0400f4 f8ff8fc1 ..-.5.S......... - 1a5f0: 7f40fe2d ffff1afa f7afa1ff ffdf82cf -.@............. - 1a600: 28fdffff ff0e14fc ffffffff 0f0041e0 ...(.........A.. - 1a610: ffffffff 0000f0ff 00f9ff0f 00f0ff8f ................ - 1a620: f8ff0f00 f0ff8f00 ff0f0000 ff8f00f8 ................ - 1a630: 0e0000f0 6f00f6ff 0000e0ff fddf0000 .......o........ - 1a640: 00000000 ffff0000 00000000 ffff0000 ................ - 1a650: 00000000 ffff0000 00000000 ffff0000 ................ - 1a660: 00000000 ffff0000 00000000 ffffff4f ............O... - 1a670: 0000f4ff ffffff0b 0000b0ff ffffbf00 ................ - 1a680: 000000fb ffff0b00 000000b0 fbbf0000 ................ - 1a690: df000000 b11bfcff fffdffcf 2cc2ffff ..............., - 1a6a0: ffffffff ffffffff ffffffff ffffffff ................ - 1a6b0: dfffe0f0 ffffffff 00fdffff ffffef04 ................ - 1a6c0: 0040feff ffff1e00 e1ffffff b0af0000 ..@............. - 1a6d0: 0b000000 ff0500fa 00000010 1e50ff01 ..............P. - 1a6e0: 000000f6 e16f0000 0000b0af 0b000000 ......o......... - 1a6f0: fffffffa ff080080 ffffffff 1f00f1ff ................ - 1a700: ffffffff ffffffff ffffffff ffffffff ................ - 1a710: ffffffff ffffffff ffffffff ff8fffff ................ - 1a720: ffffffff 00f8ffff dabd0600 00ff0250 ............P... - 1a730: ffffef05 00ff42fe 7ba7ff7f 05fff9ff .....B.....{.... - 1a740: 0000c1ff 0effff2c 020000fc 5fffdf22 ....,.......".._ - 1a750: 0f0000f2 8fffffff 0f0000b0 00ffffff ................ + 18c60: 04500000 00000000 04500000 00010c03 ..P.......P..... + 18c70: 06400012 07010505 0b40001f 00000c0b ..@.......@..... + 18c80: 09f00061 fe00100a 0d8000b1 00000c0d a............... + 18c90: 0b0000ff ff000d0b 03600147 07010502 ........G.`..... + 18ca0: 0560014c fd010f04 0570016a fd000f04 L.`.....j.p..... + 18cb0: 06600188 05000707 095001a1 02010808 ..`.......P..... + 18cc0: 03a001c1 fe000503 062001c9 03000306 .......... ..... + 18cd0: 03a001d2 00000303 05a001d7 feff1008 ................ + 18ce0: 0ab00217 00000c0a 05f00253 00000c05 ........S....... + 18cf0: 09300271 00000c09 092002a7 00000c09 q.0....... ..... + 18d00: 0ab002dd 00000c0b 0930031f 00000c09 ..........0..... + 18d10: 09e00355 00000c0a 09900391 00000c09 U............... + 18d20: 0a5003c7 00000c0a 09e00403 00000c0a ..P............. + 18d30: 03a0043f 00000903 03a0044d fd000c03 ?.......M....... + 18d40: 0950045f 02010808 0950047f 03010608 _.P.......P..... + 18d50: 09500497 02010808 093004b7 00000c09 ..P.......0..... + 18d60: 109004ed fd000f10 0bb00565 00ff0c0d ........e....... + 18d70: 0c2005b3 00010c0b 0b9005f5 00000c0b .. ............. + 18d80: 0d300637 00010c0c 0ac0067f 00010c09 7.0............. + 18d90: 0a3006b5 00010c09 0c6006eb 00000c0c ..0.......`..... + 18da0: 0d000733 00010c0b 04f00775 00010c03 3.......u....... + 18db0: 08300787 00ff0c08 0b8007b7 00010c0b ..0............. + 18dc0: 098007f9 00010c09 0f40082f 00010c0d ......../.@..... + 18dd0: 0d00087d 00010c0b 0d7008bf 00000c0d }.........p..... + 18de0: 0b90090d 00010c0a 0d700949 fd000f0e ........I.p..... + 18df0: 0ba009b2 00010c0a 09f009ee 00000c0a ................ + 18e00: 09600a2a 00000c0a 0ca00a66 00010c0b *.`.....f....... + 18e10: 0b600aa8 00ff0c0d 12000af6 00000c12 ..`............. + 18e20: 0ac00b62 00000c0b 0a600ba4 00ff0c0c b.........`..... + 18e30: 0a800bec 00000c0b 05500c2e fd010f05 ..........P..... + 18e40: 05a00c54 feff1008 05500c94 fd000f04 T.........P..... + 18e50: 09500cb2 02010708 08000cce fe000208 ..P............. + 18e60: 09a00cd6 0a010205 09900cdb 00000909 ................ + 18e70: 0af00d04 00010c0a 09200d40 00000909 ........@. ..... + 18e80: 0af00d69 00000c0a 09d00da5 0000090a i............... + 18e90: 05a00dd2 00000c07 0b100dfc fd000c0a ................ + 18ea0: 0ae00e38 00010c09 04700e6e 00010c03 8.......n.p..... + 18eb0: 04900e80 fdfe0f06 09e00ead 00010c09 ................ + 18ec0: 04700ee3 00010c02 10f00eef 0001090f ..p............. + 18ed0: 0ae00f33 00010909 0a300f5c 0000090a 3.......\.0..... + 18ee0: 0af00f89 fd010c0a 0af00fc5 fd000c0a ................ + 18ef0: 06901001 00010906 0800101c 00000908 ................ + 18f00: 06a01040 00000b07 0ad01067 00010909 @.......g....... + 18f10: 08f01090 00ff090a 0e6010bd 0000090f ..........`..... + 18f20: 08d01101 00000909 08f0112a fdff0c0a ........*....... + 18f30: 08501166 00000908 05a0118a fd000f06 f.P............. + 18f40: 04d011b7 fd010f03 05a011ce fd000f05 ................ + 18f50: 095011f4 04000509 06b0120b 06000606 ..P............. + 18f60: 0500121d 03010403 10001223 fe001110 ........#....... + 18f70: 100012ab 00000c10 1000130b ff000e10 ................ + 18f80: 1000137b 00000c10 0b0013db 00000c0b {............... + 18f90: 1000141d fe001010 1000149d fe001010 ................ + 18fa0: 1200151d ff000e12 1000159b fe001010 ................ + 18fb0: 1200161b 00000c12 10001687 fe001010 ................ + 18fc0: 08001707 ff000e08 0c00173f ff000e0c ........?....... + 18fd0: 12001793 fe001012 10001823 00000c10 ........#....... + 18fe0: 0e001883 fe02100a 0e0018d3 fd00120e ................ + 18ff0: 0e001951 ff000f0e 0e0019ba ff000e0e Q............... + 19000: 0e001a1c fe02100a 0e001a6c ffff0e10 ........l....... + 19010: 0a001adc ff000e0a 0a001b22 ff000e0a ........"....... + 19020: 0e001b68 ff000e0e 0e001bca 0400040e h............... + 19030: 12001be6 00000c12 14001c52 fe001014 ........R....... + 19040: 12001cf2 feff1014 10001d92 fe001010 ................ + 19050: 0e001e12 01000a0e 0e001e58 01000a0e ........X....... + 19060: 14001e9e ff000e14 10001f2a 00000c10 ........*....... + 19070: 10001f8a fe001010 1000200a feff1111 ......... ...... + 19080: 0e00209b ff000e0f 0e002104 fe00100e . .......!...... + 19090: 0e002174 ff000e0e 0a0021d6 feff100c t!.......!...... + 190a0: 0e002236 fe00100e 0e0022a6 fe00100e 6"......."...... + 190b0: 12002316 00000c12 10002382 fdff1212 .#.......#...... + 190c0: 0c002424 fe00100c 14002484 ff000f14 $$.......$...... + 190d0: 1400251a 01000a14 1400257e 01000a14 .%......~%...... + 190e0: 140025e2 01000a14 14002646 01000a14 .%......F&...... + 190f0: 140026aa 01000a14 1400270e ff000e15 .&.......'...... + 19100: 0e0027a1 fe01100c 0e002801 fe00100e .'.......(...... + 19110: 10002871 fdff1111 14002902 00000c14 q(.......)...... + 19120: 0c00297a fe00100c 102029da 01000b11 z).......) ..... + +00019130 : + 19130: aff00bbf 089ee00a c0078cd0 bf100000 ................ + 19140: 1ff5e01a e4f3513f f2403e0f 00100872 ....?Q...>@.r... + 19150: e003c005 007a0000 0900005c 01a00780 ......z.\....... + 19160: ffffffff 733e03fd 0030833c 00c500f2 ......>s<.0..... + 19170: 0e100f00 f0020030 9f00f200 ffffffff ....0........... + 19180: 36c33841 890030e3 00005c00 a007700a A8.6.0...\...p.. + 19190: 79000000 00000000 00000079 20e9ff5c ...y....y...\.. + 191a0: 9ebcfc06 79b00e90 800f1000 0d000079 .......y....y... + 191b0: 000079f5 50fdef03 cf060000 000040fe .y.....P.....@.. + 191c0: 00f15e79 f3057900 07790007 bce92ff1 y^...y....y../.. + 191d0: ae03a0af 0000d7ff 00007900 00790000 .........y....y. + 191e0: 80de0300 00d00500 01500ce4 004c00e3 ..........P...L. + 191f0: 00a9005a c004a006 4c00004e 500d5a00 Z.......N..L.Z.P + 19200: 1ce40000 0000a058 e173ce03 0000e93c ....X.....s.<... + 19210: 400ed600 7c0000a8 d003c003 3c202e00 ...@...|...... < + 19220: 0b003d00 09e20070 00d00680 00a0dd04 .=..p........... + 19230: 00b1ef09 3ce40900 d90000a0 00007d00 .......<.....}.. + 19240: a01cc00c ae3f0000 010000c1 0000c0df ......?......... + 19250: 708feb03 00db0018 3ff0657f ea8f0040 ...p.....e.?@... + 19260: 0000f703 f90b70cf 40bfcf66 30eadf08 .....p..f..@...0 + 19270: 000000a5 f5000000 72e4e4f5 f205da00 ...........r.... + 19280: 700fc00b 205f403f 007f106f 205f106f ...p?@_ o...o._ + 19290: 700f403f f205c00b 303fda00 f106b00c ?@.p......?0.... + 192a0: e900f601 ad00bc00 ad00ae00 e900bc00 ................ + 192b0: f106f601 303fb00c 06004a00 2ba0a474 ......?0.J..t..+ + 192c0: 7f00e5ff 6b7b20fb a004008d 00130000 ..... {k........ + 192d0: 10050000 500f0000 500f0000 511f0100 .......P...P...Q + 192e0: ffffef10 744f34f3 500f0040 500f0000 .....4Ot@..P...P + 192f0: fd520900 0fc5a00b 10110100 04f3ff1f ..R............. + 19300: 12034044 00901efc 00f10500 00b00a00 D@.............. + 19310: 00600f00 00105f00 0000ab00 0000f600 ..`.._.......... + 19320: 0000f105 0000b00a 0000600f 0000104f .........`..O... + 19330: 000000ac 040000f6 0a0000f1 0e0000c0 ................ + 19340: 4f000060 00000010 00c5ef08 cfa8cf00 `..O............ + 19350: 00f50770 c00df20a 1ff80100 dc000080 p............... + 19360: 0000603f 00603fbd 801fbd00 0ddc0000 ?`...?`......... + 19370: f80100c0 0a00f507 a8cf00f2 080070cf .............p.. + 19380: ef00c5ef f37a36ff 05305f00 305f00f3 .....6z.._0..._0 + 19390: 5f00f305 00f30530 f305305f 05305f00 ..._0..._0..._0. + 193a0: fdbe04f3 98fd0770 002890cf 0000bf00 ....p.....(..... + 193b0: 00f20700 00af0000 804f0000 c03f0000 ..........O...?. + 193c0: c13e0000 c12e0000 d12e0000 f82e0000 ..>............. + 193d0: ff467777 6ffaffff 02ffffff b09f7777 wwF....o....ww.. + 193e0: e10c0000 f3090000 f6050000 df000000 ................ + 193f0: 040010e9 0000fd59 00f40600 643f0000 ....Y.........?d + 19400: f3080040 fb8cc9bf d7ff7c00 01000000 @........|...... + 19410: 000000eb 0010be00 506f0000 2f000000 ..........oP.../ + 19420: 00000090 0000d00c 01f30800 f80300d5 ................ + 19430: 00602f00 f72322ed ffff6f21 5581ffff ./`.."#.!o.....U + 19440: 52f95655 2f000000 00000060 0500f602 UV.R.../`....... + 19450: 00ffffff 7077777f 0000e008 0000ad00 .....wwp........ + 19460: 10c20b00 ffdf0000 550430fb 0020ff68 .........0.Uh. . + 19470: 00f80400 920f0000 f6050050 fd8ad98f ........P....... + 19480: e9ef5b10 ce050010 9f0060fc 05708bc8 .[.......`....p. + 19490: 000000f8 0000d00c 00801f00 682f0000 ............../h + 194a0: 3f10faef d08f64ee 0600f12f 00c00ef4 ...?.d../....... + 194b0: f109f602 01f30600 b09f86de d8ef1900 ................ + 194c0: ffff8f00 77f7e8ff 008ffc77 90554f00 .......ww....OU. + 194d0: 00e00b00 00f80200 109f0000 b00f0000 ................ + 194e0: f4060000 dd000000 3f000000 0a000070 ...........?p... + 194f0: 010000f1 000000f9 00d7ff5c af76fc06 ........\.....v. + 19500: 00d00ca0 c00df109 07f20700 c05e11f7 ..............^. + 19510: feffbf00 54f90910 802fd07e 4ff60400 .......T~./....O + 19520: f8000050 0500a01f 76fb09f6 6c00d0af P..........v...l + 19530: 0010d8ff 0080fd8e fc68f80c 00505f00 ..........h.._P. + 19540: 008f703f 7fc00e00 f01f0030 cf13d41f ?p......0....... + 19550: ffef04f1 0200f0a9 00f00a31 a00e0000 ........1....... + 19560: 9f000000 8da70930 df0700f7 1e0040eb ....0........@.. + 19570: 1003fc92 00000000 1efc1203 fc921e90 ................ + 19580: 00001003 01000000 a8d01fe9 00a0300e .............0.. + 19590: 00420000 03f37d01 bf10e89f ee0000b5 ..B..}.......... + 195a0: 17000081 0000b4df 00d2af04 ef820100 ................ + 195b0: 45f3ffff 00515555 01000000 ef101111 ...EUUQ......... + 195c0: 34f3ffff 50404444 ef000000 06000092 ...4DD@P........ + 195d0: 0000b5cf 00e29f03 02f36c00 bf20e99e .........l.... . + 195e0: 930000c6 04000000 0770fdbe a0bf77fc ..........p..w.. + 195f0: cf000027 09000000 010000f0 010000ea '............... + 19600: 000010dd 000010ce 0000603f 00003001 ........?`...0.. + 19610: 00000100 00f50600 405f0000 17000000 .........._@.... + 19620: 00b5fdce fb050000 c27d2353 406e0000 ........S#}...n@ + 19630: 8e000000 01f40210 493ffaae 1e900ab0 ..........?I.... + 19640: 40ef5be6 8f300fe3 40af0010 d9001f98 .[.@..0....@.... + 19650: 403f0000 e8003f6a 401f0000 d9001f5c ..?@j?.....@\... + 19660: 403f0000 8f300f6a 40af0010 1e900a98 ..?@j.0....@.... + 19670: a6de5ad6 01f303f2 ee16faaf 406e0050 .Z..........P.n@ + 19680: 00000000 fb060000 00752353 17000000 ........S#u..... + 19690: 00a3fdce 02000000 000000fd f49f0000 ................ + 196a0: 00000000 00b09e0f f2060000 0000207f ............. .. + 196b0: f801dc00 4f000000 00e00b60 00f00b00 .......O`....... + 196c0: 0100604f ed1111fa ff8f0000 00f3ffff O`.............. + 196d0: 4444c40e f406a04f af000000 0000cd10 ..DDO........... + 196e0: 5ff80200 40ebffff 5755f805 405f40df ..._...@..UW.@_@ + 196f0: 05fa0100 0f0000f4 11515fa0 ff05f43a ........._Q.:... + 19700: 00faffff 5944745f 00f405fa 5ff20800 ...._tDY......._ + 19710: 5f000040 0000f445 855ff209 05fb6a55 @.._E....._.Uj.. + 19720: d7ffffff 8d020000 0400b4fe f99db8ff ................ + 19730: 0020fd02 20bf5008 0f000000 000000a0 .. ..P. ........ + 19740: 0000f602 602f0000 00000000 000000fa ....../`........ + 19750: 00f20b00 2f000000 850000d2 89fb5f00 ......./....._.. + 19760: 290080df 5f40ebdf 30eaffff 77975f00 ...)..@_...0._.w + 19770: 5f00f89e af000040 00405f60 5fe00d00 ..._@...`_@...._ + 19780: 06000040 00405ff4 5ff60300 03000040 @...._@...._@... + 19790: 00405ff6 5ff40600 0d000040 00405fe0 ._@...._@...._@. + 197a0: 5f60af00 f89e7797 ffff5f00 5f0030ea ..`_.w..._...0._ + 197b0: 95ffffff 747777f9 0000405f 0000f405 .....wwt_@...... + 197c0: 11515f00 ffff0511 745fe0ff f4054444 ._Q......._tDD.. + 197d0: 5f000000 05000040 000000f4 7777975f ..._@......._.ww + 197e0: ffffff65 ffff5ffd 77f995ff 405f7477 e...._.....wwt_@ + 197f0: f4050000 5f000000 05000040 102222f5 ......._@...."". + 19800: feffff5f 5555f805 00405f40 00f40500 _.....UU@_@..... + 19810: 405f0000 f4050000 00000000 b5fe8d01 .._@............ + 19820: fb4f0000 02b0df89 060020fd 00f20b60 ..O...... ..`... + 19830: 0f000000 000000a0 00602f00 2f000000 ........./`..../ + 19840: 09000060 00a00ff0 0bf00900 090000f2 `............... + 19850: 20fd02f0 00f00a00 df89fb4f 8d0200c0 ... ....O....... + 19860: 5f00c6fe 4f000040 0000f455 405ff504 ..._@..OU....._@ + 19870: 554f0000 040000f4 22525ff5 ff555f22 ..OU....._R""_U. + 19880: f5ffffff 5555855f 00f4558f 5ff50400 ...._.UU.U....._ + 19890: 4f000040 0000f455 405ff504 554f0000 @..OU....._@..OU + 198a0: 040000f4 f4455ff5 5ff4455f 455ff445 ....._E._E._E._E + 198b0: f4455ff4 00f4455f 00faffff 00fa7777 ._E._E......ww.. + 198c0: 00fa0000 00fa0000 00fa0000 00fa0000 ................ + 198d0: 00fa0000 00fa0000 07f90000 0df60320 ............ ... + 198e0: 01f18ee9 5f30fbae eb020040 0100f405 ......0_@....... + 198f0: 405f00ec 0510de01 20ce00f4 bf405f00 .._@....... ._@. + 19900: f4050030 0000909f 40efcf5f 91ff0500 0......._..@.... + 19910: 5f0010ee 00fc03a0 0600f405 405f00f8 ..._.........._@ + 19920: 05f50900 0c0000f4 00405ff2 00f40500 ........._@..... + 19930: 405f0000 f4050000 5f000000 05000040 .._@......._@... + 19940: 000000f4 0000405f 0000f405 00405f00 ...._@......._@. + 19950: 00f40500 975f0000 ff257777 5ff5ffff ......_.ww%...._ + 19960: 00000040 00fc951e f9080000 0000f55f @..........._... + 19970: fd95ff02 ae0000e0 705f5ff9 955f3f00 .........__p.?_. + 19980: 0b108ff3 315ff9c0 0ff304e9 f207f395 ......_1........ + 19990: 5ff900db 20ef0d30 00f3950f f900905f ..._0.. ...._... + 199a0: 7100305f f3950f00 00000000 00505ff9 _0.q........._P. + 199b0: ff554f00 f5040020 0000fd5f f9fa554f .OU. ..._...OU.. + 199c0: 5ff50400 4f00f54a f20df455 405ff504 ..._J..OU....._@ + 199d0: 554fd02f 946f00f4 00405ff5 f455afaf /.OU..o.._@...U. + 199e0: f5df0000 0200405f 00f455ff 00f50600 ...._@...U...... + 199f0: b5fe8d01 ff040000 00fa9eb8 0020fd02 .............. . + 19a00: bf00f908 0a000020 00a00ff2 723f0000 .... .........?r + 19a10: 000000f6 602ff900 0f000000 0000fa90 ....../`........ + 19a20: 0bf70300 000000f2 d22f20af 908f0000 ......... /..... + 19a30: 89fb4f00 0000a0ef 50ebdf28 ffff5f00 .O......(..P._.. + 19a40: 975f00d7 5fc0bf78 f6070040 0000405f .._.x.._@..._@.. + 19a50: 00405ffa 405ffa00 5ff80300 f16e2362 ._@..._@..._b#n. + 19a60: fdffff5f 54855f30 405f0020 5f000000 _...0_.T ._@..._ + 19a70: 00000040 0000405f 8d010000 0000b5fe @..._@.......... + 19a80: 89fb4e00 0200a0ef 080020fd f20a00f9 .N....... ...... + 19a90: af000000 00a00f20 703f0000 0000602f .... .....?p/`.. + 19aa0: 2f900f00 00000060 901f900f 2f000000 .../`........../ + 19ab0: 00f10b70 20af0000 0010fc03 0000f907 p...... ........ + 19ac0: df78fa6f 030000b0 00c5ffae 00000000 o.x............. + 19ad0: b015d43e 02000000 0080ffbf 01000000 >............... + 19ae0: ff5f0031 5f00d7ff c0bf7897 0700405f 1._...._.x.._@.. + 19af0: 00405ff6 405ffa00 5ffa0000 f8030040 ._@..._@..._@... + 19b00: 6e23525f ffff5fe1 855f30fc 5f00f955 _R#n._...0_.U.._ + 19b10: 407f0040 0c00405f 00405fe0 5c00f902 @..@_@..._@....\ + 19b20: 0720d9ef 90af87fc 0100c00e 00800f10 .. ............. + 19b30: f50d0000 03000000 0050eaef feae0500 ..........P..... + 19b40: 00000040 0000f14e 08f30500 f2080000 @...N........... + 19b50: bf77fa2f ff9d02a0 ffff00c7 67f5ffff /.w............g + 19b60: 7277fb78 00f70100 f7010000 01000000 x.wr............ + 19b70: 000000f7 0000f701 00f70100 f7010000 ................ + 19b80: 01000000 000000f7 0000f701 00f70100 ................ + 19b90: f7010000 306f0000 168f0000 080000f3 ......o0........ + 19ba0: 00306ff1 f3168f00 f1080000 0000306f .o0.........o0.. + 19bb0: 00f3168f 6ff10800 8f000030 0000f405 .......o0....... + 19bc0: 703ff009 00cd0000 5f0020de a8ff0480 ..?p..... ._.... + 19bd0: 0300d0bf 0081fdbe 0000e00c 6f306f00 .............o0o + 19be0: 0c000050 00fb00c0 00f60300 0000f209 P............... + 19bf0: 2f0000ae 901f0080 00ce0000 0000f207 .../............ + 19c00: db00f605 0e000000 00504fc0 3b8f0000 .........OP....; + 19c10: 000000e0 00f8fb02 0b000000 000010ff ................ + 19c20: b04f0000 405f0000 00df0000 0ff50200 ..O..._@........ + 19c30: ff020090 f0070040 0700e00b 0c0090fe ....@........... + 19c40: 00f306b0 00e0aa0c f801601f f3541f00 .........`....T. + 19c50: 00106f00 107f00cd 00cc00f8 cb207f00 .o............ . + 19c60: f701ad00 712f0000 265f00f6 0d0000f2 ....../q.._&.... + 19c70: 0f00f1c6 0000d07b 00c0fd08 0080df0b ....{........... + 19c80: 70ff0300 30ff0600 ef000000 fe010020 ...p...0.... ... + 19c90: 903f0000 00cd0000 7f00408f 10de0030 ..?......@..0... + 19ca0: 0300802f 00d00cfa f3fb0700 0c000000 /............... + 19cb0: 000000f8 00c0ef01 7fbf0000 6f000070 ............p..o + 19cc0: 0020af60 ed01b02f 00f10c00 f607f804 `. ./........... + 19cd0: f3090000 0000e00c f703f207 901f0000 ................ + 19ce0: 0010af00 1f00109e 00f602a0 0bf30800 ................ + 19cf0: 000000d0 00404fec fb5f0000 00000000 .....O@..._..... + 19d00: 0000f20c f0090000 00000000 0000f009 ................ + 19d10: f0090000 00000000 0000f009 ffffff3f ............?... + 19d20: 777701fd 0090bf77 c01e0000 0c000000 ..www........... + 19d30: 000000f2 0000f508 00f90400 ec010000 ................ + 19d40: 00000000 000020cf 00508f00 904f0000 ..... ....P...O. + 19d50: 1e000000 777777f8 ffffff05 ff5ff0ff .....www......_. + 19d60: 5f50f705 00f30530 f305305f 05305f00 ..P_0..._0..._0. + 19d70: 305f00f3 5f00f305 00f30530 f705305f .._0..._0..._0.. + 19d80: 00ff5f50 0000007e 0000401f 0000900c P_..~....@...... + 19d90: 0000e007 0000f402 0000c900 00007e00 .............~.. + 19da0: 00402f00 00900c00 00e00700 00f30200 ./@............. + 19db0: 00d90000 007e0000 302f0000 900d0000 ......~.../0.... + 19dc0: e0070000 ea35fabf ea00ea00 ea00ea00 ......5......... + 19dd0: ea00ea00 ea00ea00 ea00ea00 ea35ea00 ..............5. + 19de0: 2f00fabf 9d000080 f30000e0 d00600d5 .../............ + 19df0: 600c007b 103f201f 009a800b ffffe004 {..`. ?......... + 19e00: 1111ffff f6071111 01e70300 0080fd9e ................ + 19e10: 90af87ce af000002 06000000 ffbe02f2 ................ + 19e20: 42ec20ff 502ff227 ec207f00 02f27f42 . .B'./P.. .B... + 19e30: 206ffbbf 0000008f 00008f00 008f0000 ..o ............ + 19e40: 8f000000 00b3fe2b ef78ec8f 00a08f30 ....+.....x.0... + 19e50: 208fc01e 8ff10700 f3050000 0700208f ... ......... .. + 19e60: 00a08ff1 ec8fd01e 8e30ef78 00b3fe2b ........x.0.+... + 19e70: c4ef3a00 7cd84f00 00d00df4 00f61307 .:...O.|........ + 19e80: 304f0000 f6030000 0d000000 100600d0 ..O0............ + 19e90: f47cd74f c4ef3a00 00000000 0000f701 O.|..:.......... + 19ea0: 00f70100 f7010000 a3ff3b00 87fd04f7 .........;...... + 19eb0: d00ef7ce 3ff70b00 f7030060 0100304f .......?`...O0.. + 19ec0: 00503ff7 c00ef703 04f70a00 f7be65fc .?P..........e.. + 19ed0: b2ff3b00 fe3b00f7 fc0400a2 0e20ee67 .;....;.....g. . + 19ee0: a01e00c0 0700503f ffff4ff0 723ff1ff ....?P...O....?r + 19ef0: 0e202222 000200c0 af87fd04 ef3a0050 "" .........P.:. + 19f00: 5d0000d6 b52f00fc 00f30470 a0ffff0c ...]../.p....... + 19f10: 0053f748 0500305f 5f0000f3 f3050030 H.S._0....._0... + 19f20: 305f0000 00f30500 00305f00 b2ff3b00 .._0....._0..;.. + 19f30: 87fe04e9 d10ef9cf 3ff90a00 f9010060 ...........?`... + 19f40: 0000404f 00603ff9 d00ef901 04f90900 O@...?`......... + 19f50: f8cf87fd b3ff3b00 000000f7 e909f405 .....;.......... + 19f60: 01b0af77 00d8ff7c 0000008f 0000f008 w...|........... + 19f70: 00008f00 bff20800 fb8f10ea f808fd89 ................ + 19f80: 8ff40600 781f0010 f80000f0 0f00008f .......x........ + 19f90: 0000f088 00008ff8 00f0880f 1a9ef800 ................ + 19fa0: f00800f2 8ff0088f 088ff008 f0088ff0 ................ + 19fb0: 00e20700 0000f309 f1070000 00f10700 ................ + 19fc0: 0700f107 f10700f1 00f10700 0700f107 ................ + 19fd0: f10700f1 18f00800 fc3ec06e 00008f20 ........n.>. ... + 19fe0: 00f00800 008f0000 f0080000 8fd11d00 ................ + 19ff0: 08e21d00 00e21df0 00f32d8f 70fffe08 .........-.....p + 1a000: bfe28f00 01f20830 008f10ee f008fb03 ....0........... + 1a010: 8ff70700 8f8f8f8f 8f8f8f8f 8e8f8f8f ................ + 1a020: 3b91fe3c ff08a2fe c6cf9f96 708fd08f <..;...........p + 1a030: 00c09f00 00f1585f 0100f605 00008ff7 ...._X.......... + 1a040: 0f00404f 0400f088 f80000f4 4f00008f O@.............O + 1a050: 880f0040 f40400f0 8ff80000 404f0000 @.............O@ + 1a060: 8e800f00 08a1fe3b d08fa6ff 6f00808f ....;..........o + 1a070: 0100f148 00008ff7 00f0880f 008ff800 H............... + 1a080: f0880f00 8ff80000 800f0000 c4ef3b00 .............;.. + 1a090: 87fd0400 d00e60cf 3ff10b00 f5030060 .....`.....?`... + 1a0a0: 0100304f 00603ff7 d00ef503 04f10b00 O0...?`......... + 1a0b0: 60cf77fd c4ef3b00 fe3b8e00 fb8f00b3 .w.`.;....;..... + 1a0c0: 8f30df57 c00d0090 0700108f 00008ff1 W.0............. + 1a0d0: 208ff305 8ff10700 d01e00a0 ef78ec8f ... ..........x. + 1a0e0: fe2b8f30 008f00b3 8f000000 00000000 0.+............. + 1a0f0: 0000008f ff3b0000 fd04f7a2 0ef7de87 ......;......... + 1a100: f70b00d0 0300603f 00304ff7 603ff701 ....?`...O0...?` + 1a110: 0ef70300 f70b00d0 ce77fd04 ff3b00f7 ..........w...;. + 1a120: 0000f7a3 00f70100 f7010000 01000000 ................ + 1a130: f02b8ef7 8f90ed8f 208f00a0 00008f00 ..+........ .... + 1a140: 8f00008f 008f0000 00008f00 91fdae02 ................ + 1a150: d069d71e 0000304f 0010b42f 60fdef06 ..i.O0../......` + 1a160: f55b0100 f7000001 f36ba75f 40ecdf19 ..[....._.k....@ + 1a170: 0000f305 cf00305f 8f04faff f3053075 ...._0......u0.. + 1a180: 305f0000 00f30500 00305f00 0000f404 .._0....._0..... + 1a190: 0080c61f ae10fc5d 5a2f0000 f50200e0 ....]...../Z.... + 1a1a0: 2f0000ae 0200e05a 0000aef5 00f0592f .../Z......./Y.. + 1a1b0: 306ff504 ee51af00 02f5bf76 503ffbbe ..o0..Q.v.....?P + 1a1c0: 0000c00d 00f206cb f900f502 00e00900 ................ + 1a1d0: 800f009e 6f602f00 c00c0010 050000cb ...../`o........ + 1a1e0: 0000f4f6 00d0ef00 708f0000 0000bb00 ...........p.... + 1a1f0: 4f00109f 0e00f116 c00900f6 fc05600f ...O.........`.. + 1a200: 00f600b0 5fab00ac 05105f10 f7500ff1 ......._._....P. + 1a210: 0f00b00a c009f076 ac0000f5 8f4f00ba ....v.........O. + 1a220: ff040000 a0ef0040 e00e0000 00f40800 ....@........... + 1a230: 00704f00 308f209f cd00505f 0200902e .Op.. .0_P...... + 1a240: 0000d0ff 0000f60a 00e1fd04 c00deb01 ................ + 1a250: 3f10be00 00406f80 c00d407f 06cb0000 ...?.o@..@...... + 1a260: f40200f3 0900ea00 108f00d0 1f00701f .............p.. + 1a270: 00107f70 00d9e00a f2f90300 cf000000 p............... + 1a280: 000000b0 0000406f 0000ad00 00f5791c ....o@.......y.. + 1a290: 70ee1a00 ff4f0000 5515f9ff 0000f45b ...p..O....U[... + 1a2a0: 0100804f 0b0000ec 8f0000e1 f7040040 O...........@... + 1a2b0: e51e0000 ff5f5355 2c00fcff 61af00f5 ....US_....,...a + 1a2c0: 0000cc00 db0000db 00db0000 1f00ea02 ................ + 1a2d0: fa0500f4 00db0000 0000db00 cc0000db ................ + 1a2e0: 61af0000 5ff52c00 155ff115 f1155ff1 ...a.,._.._.._.. + 1a2f0: 5ff1155f 155ff115 f1155ff1 80be105f _.._.._.._.._... + 1a300: 0140af03 701f00f6 1f00f701 00f90070 ..@....p....p... + 1a310: fb00fb0a 01701f20 701f00f7 af03f601 .... .p....p.... + 1a320: 0090be40 00000000 00e43d00 f5860cb5 @........=...... + 1a330: 03f0201e 000290ef 02001000 400d90ce . .............@ + 1a340: 0e003b89 0d0e003b ce028940 f8080090 .;..;...@....... + 1a350: 00f7e7ef 00000000 00000000 00000000 ................ + 1a360: 00dc4900 16000000 00ffffbf ff8d0300 .I.............. + 1a370: 00ffffff ffffcf00 00ffffff ffffff00 ................ + 1a380: 00ffc7ff eaffff00 00ff0051 0083ff00 ........Q....... + 1a390: 00ff0000 0000ff00 00ff0000 0000ff00 ................ + 1a3a0: 00ff0000 0000ff00 00ff0000 0000ff00 ................ + 1a3b0: 00ffff2b 0000ff00 2bffffdf 0000ffff +..........+.... + 1a3c0: dffdffdf 0000ffff dfb2ff2b 0000fdff ........+....... + 1a3d0: 2b000000 0000b2ff d0000000 ffffff0f ...+............ + 1a3e0: ff0df0ff 8888c8ff f0ffff8c 0000800f ................ + 1a3f0: f00ff008 0000800f ff0ff008 000080ff ................ + 1a400: f0ffff08 ccccec0f f00ff0ce ccccec0f ................ + 1a410: ff0ff0ce 000080ff f0ffff08 0000800f ................ + 1a420: f00ff008 0000800f ff0ff008 8888c8ff ................ + 1a430: d0ffff8c ffffff0f df0df0ff ffff73ff .............s.. + 1a440: fffdffff ffffa5ff ffffffff ffffa5ff ................ + 1a450: dfffffff ffff73ff 00fdffff 00000000 .....s.......... + 1a460: df000000 ffff73ff fffdffff ffffa5ff .....s.......... + 1a470: ffffffff ffffa5ff dfffffff ffff73ff .............s.. + 1a480: 00fdffff 00000000 df000000 ffff73ff .............s.. + 1a490: fffdffff ffffa5ff ffffffff ffffa5ff ................ + 1a4a0: dfffffff ffff73ff 00fdffff 00000000 .....s.......... + 1a4b0: 00b10a00 00000000 00fcbf00 00000000 ................ + 1a4c0: 00fbff0b 00000000 1bc0ffbf 0b0000a0 ................ + 1a4d0: cf00fcff bf0000fb bf00c0ff ff0bb0ff ................ + 1a4e0: 0c0000fc ffbffbff 000000c0 fbffffcf ................ + 1a4f0: 00000000 b0ffff0c 00000000 00fbbf00 ................ + 1a500: 00000000 00b00b00 03000000 03000000 ................ + 1a510: 0010fc08 fcfff81c f5ff1c10 ff2cfcff ..............,. + 1a520: ffff05f5 0500f5ff 00f5ffff fdff1d00 ................ + 1a530: ff1c0010 1c10fcff fcfff9ff 05f5ff1c ................ + 1a540: f5dffcff d1ff0500 040000a4 000000a1 ................ + 1a550: 0000e04f 10020000 1003f16f d05f0000 O.......o....._. + 1a560: d13ff16f f1ff0300 fd5ff16f 40ff0d00 o.?.....o._....@ + 1a570: ff09f16f 00f74f70 cf00f16f 00f09fe0 o...pO..o....... + 1a580: 5f00f16f 00c0bff3 2f00f16f 00c0bff5 o.._....o../.... + 1a590: 1f00e04f 00e0aff6 4f000000 00f46ff4 O..........O.o.. + 1a5a0: af000000 10fe0ff0 ff050000 d3ff06a0 ................ + 1a5b0: ff7f0000 ff9f0020 f4ffbeda ff060000 .... ........... + 1a5c0: 30fdffff 17000000 0050cabd 00000000 ...0......P..... + 1a5d0: 0000b88b 00000000 0000ffff 06300000 ..............0. + 1a5e0: 0360ffff dffd0400 effdffff ffff0d40 ..`.........@... + 1a5f0: ffffffff ffff4fd0 ffff9ff9 ffff08f4 .....O.......... + 1a600: ffff0220 f9ff0080 ff9f0000 f9ff0000 ............... + 1a610: ff9f0000 ffff0800 ffff0220 ffff4f80 ........ ....O.. + 1a620: ffff9ff9 ffff0df4 ffffffff dffe04d0 ................ + 1a630: dffdffff 06300040 0360ffff 00000000 ....@.0...`..... + 1a640: 0000ffff 00000000 0000b88b 00000000 ................ + 1a650: 3f30dd03 000000f3 f5ff6f00 0000f44f ..0?.....o..O... + 1a660: 99ff0900 00f4bfff f6bf0100 f4ff6f22 ............"o.. + 1a670: fe2d0000 ef53ff35 ff0400f4 f8ff8fc1 ..-.5.S......... + 1a680: 7f40fe2d ffff1afa f7afa1ff ffdf82cf -.@............. + 1a690: 28fdffff ff0e14fc ffffffff 0f0041e0 ...(.........A.. + 1a6a0: ffffffff 0000f0ff 00f9ff0f 00f0ff8f ................ + 1a6b0: f8ff0f00 f0ff8f00 ff0f0000 ff8f00f8 ................ + 1a6c0: 0e0000f0 6f00f6ff 0000e0ff fddf0000 .......o........ + 1a6d0: 00000000 ffff0000 00000000 ffff0000 ................ + 1a6e0: 00000000 ffff0000 00000000 ffff0000 ................ + 1a6f0: 00000000 ffff0000 00000000 ffffff4f ............O... + 1a700: 0000f4ff ffffff0b 0000b0ff ffffbf00 ................ + 1a710: 000000fb ffff0b00 000000b0 fbbf0000 ................ + 1a720: df000000 b11bfcff fffdffcf 2cc2ffff ..............., + 1a730: ffffffff ffffffff ffffffff ffffffff ................ + 1a740: dfffe0f0 ffffffff 00fdffff ffffef04 ................ + 1a750: 0040feff ffff1e00 e1ffffff b0af0000 ..@............. + 1a760: 0b000000 ff0500fa 00000010 1e50ff01 ..............P. + 1a770: 000000f6 e16f0000 0000b0af 0b000000 ......o......... + 1a780: fffffffa ff080080 ffffffff 1f00f1ff ................ + 1a790: ffffffff ffffffff ffffffff ffffffff ................ + 1a7a0: ffffffff ffffffff ffffffff ff8fffff ................ + 1a7b0: ffffffff 00f8ffff dabd0600 00ff0250 ............P... + 1a7c0: ffffef05 00ff42fe 7ba7ff7f 05fff9ff .....B.....{.... + 1a7d0: 0000c1ff 0effff2c 020000fc 5fffdf22 ....,.......".._ + 1a7e0: 0f0000f2 8fffffff 0f0000b0 00ffffff ................ ... - 1a76c: ff000000 00f0ffff fff80b00 00f0ffff ................ - 1a77c: fff42f00 002022fd ffe0cf00 0000c2ff ./..." ......... - 1a78c: ff40ff2c 6ab7ff9f ff00f7ff ffffdf24 ,.@....j....$... - 1a79c: ff0050fe dbac0520 00000060 00000000 .P.. ...`....... - 1a7ac: 008d0000 00ff0800 dfff8f00 ffffffff ................ - 1a7bc: ffffffff ffffffff ffffffff dfffffff ................ - 1a7cc: 00ffffff 00ff8f00 00ff0800 008d0000 ................ + 1a7fc: ff000000 00f0ffff fff80b00 00f0ffff ................ + 1a80c: fff42f00 002022fd ffe0cf00 0000c2ff ./..." ......... + 1a81c: ff40ff2c 6ab7ff9f ff00f7ff ffffdf24 ,.@....j....$... + 1a82c: ff0050fe dbac0520 00000060 00000000 .P.. ...`....... + 1a83c: 008d0000 00ff0800 dfff8f00 ffffffff ................ + 1a84c: ffffffff ffffffff ffffffff dfffffff ................ + 1a85c: 00ffffff 00ff8f00 00ff0800 008d0000 ................ ... - 1a7e8: 0000008d 00ff0800 8f000000 cf0000ff ................ - 1a7f8: 01ffffff ffffff50 fff706ff 00ffffff ....P........... - 1a808: ffffffbe ffae00ff 05ffffff ffffdff8 ................ - 1a818: 006002ff 00ff9f00 09000000 000000ff ..`............. - 1a828: 009e0000 00000000 00000000 00000000 ................ - 1a838: 00100600 00000000 d21f0000 00000000 ................ - 1a848: 0300008d 000010ee 0a00ff08 00b02fb1 ............./.. - 1a858: 00ff8f00 f407fc05 ffffffdf 605f5002 .............P_` - 1a868: fffffff9 0df706ff ffffbdc0 ae00ffff ................ - 1a878: ff9ff009 00ffffff 8ff009ae ffffffff ................ - 1a888: c00df706 ffffdfad 5f5002ff 0000e960 ..........P_`... - 1a898: 0500ff8f 00f406fc 00ff0800 b02fb10a ............../. - 1a8a8: 8d000000 ee020000 00000010 1f000000 ................ - 1a8b8: 000000d2 00000000 8f001006 ffffffff ................ - 1a8c8: fff8ffff fffffffc ffffffff ffff2f20 ............ /.. - 1a8d8: fcffffff ffff0c00 ffffffee feff2f20 ............ /.. - 1a8e8: ffffef22 e2fffffc ffff2e00 20fe4efe "............N. - 1a8f8: ffff0200 00c202e2 ffff0000 00000020 ............ ... - 1a908: ffff0000 00000000 ffff0000 ffffffff ................ - 1a918: 8fffffff ffffffff 00f8ffff 00000000 ................ - 1a928: 010030ff 0040ffcc 40ffff2d ffffef03 .0....@.-..@.... - 1a938: ffff3f40 ffff44ff ff9fffff ffffffff @?...D.......... - 1a948: ffffffff ffffffff ffffafff ff45ffff ..............E. - 1a958: 40ffffff ffffff4f ffef0340 2e0040ff ...@O...@....@.. - 1a968: 0030ffff 0000cc01 00000000 00000000 ..0............. - 1a978: 918f0000 00000000 70ffff00 00000000 ...........p.... - 1a988: 40fdffff ff000000 10faffff ffff0000 ...@............ - 1a998: 00f7ffff ffffff00 00d5ffff ffffffff ................ - 1a9a8: ffb2ffff ffffffff fffffdff ffffffff ................ - 1a9b8: fffffffd b2ffffff ffffffff ff00d5ff ................ - 1a9c8: f7ffffff ffff0000 0010faff fdffff00 ................ - 1a9d8: 00000040 0070ffff 8e000000 000000a1 @.....p......... + 1a878: 0000008d 00ff0800 8f000000 cf0000ff ................ + 1a888: 01ffffff ffffff50 fff706ff 00ffffff ....P........... + 1a898: ffffffbe ffae00ff 05ffffff ffffdff8 ................ + 1a8a8: 006002ff 00ff9f00 09000000 000000ff ..`............. + 1a8b8: 009e0000 00000000 00000000 00000000 ................ + 1a8c8: 00100600 00000000 d21f0000 00000000 ................ + 1a8d8: 0300008d 000010ee 0a00ff08 00b02fb1 ............./.. + 1a8e8: 00ff8f00 f407fc05 ffffffdf 605f5002 .............P_` + 1a8f8: fffffff9 0df706ff ffffbdc0 ae00ffff ................ + 1a908: ff9ff009 00ffffff 8ff009ae ffffffff ................ + 1a918: c00df706 ffffdfad 5f5002ff 0000e960 ..........P_`... + 1a928: 0500ff8f 00f406fc 00ff0800 b02fb10a ............../. + 1a938: 8d000000 ee020000 00000010 1f000000 ................ + 1a948: 000000d2 00000000 8f001006 ffffffff ................ + 1a958: fff8ffff fffffffc ffffffff ffff2f20 ............ /.. + 1a968: fcffffff ffff0c00 ffffffee feff2f20 ............ /.. + 1a978: ffffef22 e2fffffc ffff2e00 20fe4efe "............N. + 1a988: ffff0200 00c202e2 ffff0000 00000020 ............ ... + 1a998: ffff0000 00000000 ffff0000 ffffffff ................ + 1a9a8: 8fffffff ffffffff 00f8ffff 00000000 ................ + 1a9b8: 010030ff 0040ffcc 40ffff2d ffffef03 .0....@.-..@.... + 1a9c8: ffff3f40 ffff44ff ff9fffff ffffffff @?...D.......... + 1a9d8: ffffffff ffffffff ffffafff ff45ffff ..............E. + 1a9e8: 40ffffff ffffff4f ffef0340 2e0040ff ...@O...@....@.. + 1a9f8: 0030ffff 0000cc01 00000000 00000000 ..0............. + 1aa08: 918f0000 00000000 70ffff00 00000000 ...........p.... + 1aa18: 40fdffff ff000000 10faffff ffff0000 ...@............ + 1aa28: 00f7ffff ffffff00 00d5ffff ffffffff ................ + 1aa38: ffb2ffff ffffffff fffffdff ffffffff ................ + 1aa48: fffffffd b2ffffff ffffffff ff00d5ff ................ + 1aa58: f7ffffff ffff0000 0010faff fdffff00 ................ + 1aa68: 00000040 0070ffff 8e000000 000000a1 @.....p......... ... - 1a9f8: 00f8ff8f fff8ff8f ff00ffff ffffffff ................ - 1aa08: ffff00ff ffffffff ffffff00 00ffffff ................ - 1aa18: ffffffff ff00ffff ffffffff ffff00ff ................ - 1aa28: ffffffff ffffff00 00ffffff ffffffff ................ - 1aa38: ff00ffff ffffffff ffff00ff ffffffff ................ - 1aa48: ffffff00 00ffffff 7fffffff 7f00f7ff ................ - 1aa58: ff8ff7ff ffffffff fffffff8 ffffffff ................ - 1aa68: ffffffff ffffffff ffffffff ffffffff ................ - 1aa78: ffffffff ffffffff ffffffff ffffffff ................ - 1aa88: ffffffff ffffffff ffffffff ffffffff ................ - 1aa98: ffffffff ffffffff ffffffff ffffffff ................ - 1aaa8: ffffffff ffffffff ffffffff ffff8fff ................ - 1aab8: f8ffffff 00000000 0010cc00 d2ffff03 ................ - 1aac8: ffff0400 ff0430fe 04f4ffff ffffffff .....0.......... - 1aad8: ffffff54 fffff9ff ffffffff ffffffff T............... - 1aae8: ffffffff fffffff9 ffff44ff ff04f3ff .........D...... - 1aaf8: 0430feff 00d2ffff 10ccff04 00ff0300 ..0............. - 1ab08: 00000000 2d000000 000000d2 ef010000 .......-........ - 1ab18: 000010fe ff1d0000 0000d1ff ffcf0000 ................ - 1ab28: 0000fcff ffff0b00 00b0ffff ffffaf00 ................ - 1ab38: 00faffff ffffff09 90ffffff ffffff0f ................ - 1ab48: f0ffffff ffffff08 80ffffff 00000000 ................ - 1ab58: 00000000 ffffff0c c0ffffff ffffff0f ................ - 1ab68: f0ffffff ffffff0f f0ffffff ffffff0c ................ - 1ab78: c0ffffff 1a000000 01000040 0000f0df ........@....... - 1ab88: 00a0ff1d 00fadf01 a0ff1d00 fadf0100 ................ - 1ab98: ff0c0000 0d0000a0 000080ff 00f8df01 ................ - 1aba8: ff1d0000 01000080 0000f8df 80ff1d00 ................ - 1abb8: df010000 000000f0 a104501b 0f000000 .........P...... - 1abc8: 000010fd 00d1ff0a fdaf0000 0a000010 ................ - 1abd8: 0000d1ff 10fdaf00 ff0a0000 080000c0 ................ - 1abe8: 0000d0ff 0010fd8f 00d1ff08 10fd8f00 ................ - 1abf8: d1ff0800 fd0f0000 05000010 000000b1 ................ - 1ac08: ff040000 00000040 80ff0800 00000000 ....@........... - 1ac18: 0080ff08 08000000 000080ff ff080000 ................ - 1ac28: 48000080 c8ff8c88 ffff8488 ffffffff ...H............ - 1ac38: ffffffff ffffffff ff8c8848 008488c8 ........H....... - 1ac48: 80ff0800 00000000 0080ff08 08000000 ................ - 1ac58: 000080ff ff080000 00000080 40ff0400 ...............@ - 1ac68: 44140000 44444444 ffffef41 feffffff ...DDDDDA....... - 1ac78: ffffffff 7bffffff bbbbbbbb 0000b7bb .......{........ - 1ac88: daffad05 00000050 88fcdf04 0040fdcf ....P.........@. - 1ac98: 40fe7f00 f7ef0400 f4ff0700 4f809e00 ...@...........O - 1aca8: ff4f70ff f8af00c0 dff4ff0c ff9a80ff .pO............. - 1acb8: fdff08fe ef80ffdf ff08feff c0ff4ffd .............O.. - 1acc8: 0cf8ff8f ff07f4ff 80ee08f4 0070ff4f ............O.p. - 1acd8: 0040fe7f 00f8ef04 fcdf0400 40fdcf88 ..@............@ - 1ace8: 05000000 50daffad 208c0000 00000000 .......P... .... - 1acf8: 00000000 0000e4df 00000000 ff1b0000 ................ - 1ad08: fddf4980 000000a5 ffff7f00 d4ff8cd8 .I.............. - 1ad18: 04000000 0000f8ef 0070ff4e ff1c0000 ........N.p..... - 1ad28: ff04e869 e30400f7 fffe9f00 40ffcf80 i..............@ - 1ad38: 0570ff0d 8fe0ffff ff0dd0ff ff2d00f7 ..p...........-. - 1ad48: d0ff8fe0 00fcff04 cff8af00 7f0030ff .............0.. - 1ad58: 060040ff 00f7ffff f4ff0800 ff3e0000 .@............>. - 1ad68: 000000a0 82c8ff4d 00f7bf01 5a000000 ....M..........Z - 1ad78: 0810fcdf 0000a0ff 00000000 fd4e0000 ..............N. + 1aa88: 00f8ff8f fff8ff8f ff00ffff ffffffff ................ + 1aa98: ffff00ff ffffffff ffffff00 00ffffff ................ + 1aaa8: ffffffff ff00ffff ffffffff ffff00ff ................ + 1aab8: ffffffff ffffff00 00ffffff ffffffff ................ + 1aac8: ff00ffff ffffffff ffff00ff ffffffff ................ + 1aad8: ffffff00 00ffffff 7fffffff 7f00f7ff ................ + 1aae8: ff8ff7ff ffffffff fffffff8 ffffffff ................ + 1aaf8: ffffffff ffffffff ffffffff ffffffff ................ + 1ab08: ffffffff ffffffff ffffffff ffffffff ................ + 1ab18: ffffffff ffffffff ffffffff ffffffff ................ + 1ab28: ffffffff ffffffff ffffffff ffffffff ................ + 1ab38: ffffffff ffffffff ffffffff ffff8fff ................ + 1ab48: f8ffffff 00000000 0010cc00 d2ffff03 ................ + 1ab58: ffff0400 ff0430fe 04f4ffff ffffffff .....0.......... + 1ab68: ffffff54 fffff9ff ffffffff ffffffff T............... + 1ab78: ffffffff fffffff9 ffff44ff ff04f3ff .........D...... + 1ab88: 0430feff 00d2ffff 10ccff04 00ff0300 ..0............. + 1ab98: 00000000 2d000000 000000d2 ef010000 .......-........ + 1aba8: 000010fe ff1d0000 0000d1ff ffcf0000 ................ + 1abb8: 0000fcff ffff0b00 00b0ffff ffffaf00 ................ + 1abc8: 00faffff ffffff09 90ffffff ffffff0f ................ + 1abd8: f0ffffff ffffff08 80ffffff 00000000 ................ + 1abe8: 00000000 ffffff0c c0ffffff ffffff0f ................ + 1abf8: f0ffffff ffffff0f f0ffffff ffffff0c ................ + 1ac08: c0ffffff 1a000000 01000040 0000f0df ........@....... + 1ac18: 00a0ff1d 00fadf01 a0ff1d00 fadf0100 ................ + 1ac28: ff0c0000 0d0000a0 000080ff 00f8df01 ................ + 1ac38: ff1d0000 01000080 0000f8df 80ff1d00 ................ + 1ac48: df010000 000000f0 a104501b 0f000000 .........P...... + 1ac58: 000010fd 00d1ff0a fdaf0000 0a000010 ................ + 1ac68: 0000d1ff 10fdaf00 ff0a0000 080000c0 ................ + 1ac78: 0000d0ff 0010fd8f 00d1ff08 10fd8f00 ................ + 1ac88: d1ff0800 fd0f0000 05000010 000000b1 ................ + 1ac98: ff040000 00000040 80ff0800 00000000 ....@........... + 1aca8: 0080ff08 08000000 000080ff ff080000 ................ + 1acb8: 48000080 c8ff8c88 ffff8488 ffffffff ...H............ + 1acc8: ffffffff ffffffff ff8c8848 008488c8 ........H....... + 1acd8: 80ff0800 00000000 0080ff08 08000000 ................ + 1ace8: 000080ff ff080000 00000080 40ff0400 ...............@ + 1acf8: 44140000 44444444 ffffef41 feffffff ...DDDDDA....... + 1ad08: ffffffff 7bffffff bbbbbbbb 0000b7bb .......{........ + 1ad18: daffad05 00000050 88fcdf04 0040fdcf ....P.........@. + 1ad28: 40fe7f00 f7ef0400 f4ff0700 4f809e00 ...@...........O + 1ad38: ff4f70ff f8af00c0 dff4ff0c ff9a80ff .pO............. + 1ad48: fdff08fe ef80ffdf ff08feff c0ff4ffd .............O.. + 1ad58: 0cf8ff8f ff07f4ff 80ee08f4 0070ff4f ............O.p. + 1ad68: 0040fe7f 00f8ef04 fcdf0400 40fdcf88 ..@............@ + 1ad78: 05000000 50daffad 208c0000 00000000 .......P... .... + 1ad88: 00000000 0000e4df 00000000 ff1b0000 ................ + 1ad98: fddf4980 000000a5 ffff7f00 d4ff8cd8 .I.............. + 1ada8: 04000000 0000f8ef 0070ff4e ff1c0000 ........N.p..... + 1adb8: ff04e869 e30400f7 fffe9f00 40ffcf80 i..............@ + 1adc8: 0570ff0d 8fe0ffff ff0dd0ff ff2d00f7 ..p...........-. + 1add8: d0ff8fe0 00fcff04 cff8af00 7f0030ff .............0.. + 1ade8: 060040ff 00f7ffff f4ff0800 ff3e0000 .@............>. + 1adf8: 000000a0 82c8ff4d 00f7bf01 5a000000 ....M..........Z + 1ae08: 0810fcdf 0000a0ff 00000000 fd4e0000 ..............N. ... - 1ad90: 0000c802 d22d0000 00000000 00000000 ......-......... - 1ada0: 0000fbbf 00000000 ffff0500 00000050 ............P... - 1adb0: 0d000000 00d0ffff 00000000 ffff7f00 ................ - 1adc0: 000000f7 ff010000 10ff8dd8 00000000 ................ - 1add0: 0aa0ff0a 0000a0ff ff3f0000 f3ff0bb0 ..........?..... - 1ade0: 00000000 0cc0ffcf 0000fcff ffff0500 ................ - 1adf0: ffff0dd0 0e000050 9ff9ffff 00e0ffff ....P........... - 1ae00: ffff8f00 ffff2ee2 ff0200f8 0990ffff ................ - 1ae10: 10ffffff ffffff0a ffff3ee3 ff0fa0ff .........>...... - 1ae20: ffffffff f0ffffff ffffff08 ffffffff ................ - 1ae30: 000080ff 00000000 00000000 00000000 ................ - 1ae40: 000000d8 00000000 ffff80ff ff070070 ............p... - 1ae50: fffff8ff ff6f00f6 8e78fdff e8ff15ff ......o...x..... - 1ae60: 0200e2ff 20fe4fe5 000020fe 00f3ff13 .....O. . ...... - 1ae70: 00000052 0031ff3f 02000052 205ef4ef R...?.1.R.....^ - 1ae80: 8e7820fe e8ff51ff ffffe2ff ff6f00f6 . x..Q........o. - 1ae90: fffffdff ff070070 0000f8ff 00000000 ....p........... - 1aea0: 000080ff 00000000 000000d8 00000000 ................ + 1ae20: 0000c802 d22d0000 00000000 00000000 ......-......... + 1ae30: 0000fbbf 00000000 ffff0500 00000050 ............P... + 1ae40: 0d000000 00d0ffff 00000000 ffff7f00 ................ + 1ae50: 000000f7 ff010000 10ff8dd8 00000000 ................ + 1ae60: 0aa0ff0a 0000a0ff ff3f0000 f3ff0bb0 ..........?..... + 1ae70: 00000000 0cc0ffcf 0000fcff ffff0500 ................ + 1ae80: ffff0dd0 0e000050 9ff9ffff 00e0ffff ....P........... + 1ae90: ffff8f00 ffff2ee2 ff0200f8 0990ffff ................ + 1aea0: 10ffffff ffffff0a ffff3ee3 ff0fa0ff .........>...... + 1aeb0: ffffffff f0ffffff ffffff08 ffffffff ................ + 1aec0: 000080ff 00000000 00000000 00000000 ................ + 1aed0: 000000d8 00000000 ffff80ff ff070070 ............p... + 1aee0: fffff8ff ff6f00f6 8e78fdff e8ff15ff ......o...x..... + 1aef0: 0200e2ff 20fe4fe5 000020fe 00f3ff13 .....O. . ...... + 1af00: 00000052 0031ff3f 02000052 205ef4ef R...?.1.R.....^ + 1af10: 8e7820fe e8ff51ff ffffe2ff ff6f00f6 . x..Q........o. + 1af20: fffffdff ff070070 0000f8ff 00000000 ....p........... + 1af30: 000080ff 00000000 000000d8 00000000 ................ ... - 1aeb8: 01000000 000010dd ff1d0000 000000d1 ................ - 1aec8: fdffdf01 1d000010 d1ff99ff f9df0100 ................ - 1aed8: 10fd9f00 0090ff1d bfd1ff09 000000f9 ................ - 1aee8: 905ffb9f 09000000 000000f5 00000000 .._............. - 1aef8: 00000000 5f000000 00000090 f9bff509 ......._........ - 1af08: 9f000000 90ff1dfb d1ff0900 00f9df01 ................ - 1af18: 0010fd9f ff99ff1d 010000d1 10fdffdf ................ - 1af28: 1d000000 0000d1ff dd010000 00000010 ................ + 1af48: 01000000 000010dd ff1d0000 000000d1 ................ + 1af58: fdffdf01 1d000010 d1ff99ff f9df0100 ................ + 1af68: 10fd9f00 0090ff1d bfd1ff09 000000f9 ................ + 1af78: 905ffb9f 09000000 000000f5 00000000 .._............. + 1af88: 00000000 5f000000 00000090 f9bff509 ......._........ + 1af98: 9f000000 90ff1dfb d1ff0900 00f9df01 ................ + 1afa8: 0010fd9f ff99ff1d 010000d1 10fdffdf ................ + 1afb8: 1d000000 0000d1ff dd010000 00000010 ................ ... - 1af48: 00d11d00 00000000 df010000 ffef10fd ................ - 1af58: 00d0ffff d1ffff1d ffffffaf cfcf00f0 ................ - 1af68: 0000fcfc 00f00f00 b6f11f6b 0f000000 ........k....... - 1af78: 0f0000f0 000000f0 00f00f00 00f00f00 ................ - 1af88: 0f000000 0f0000f0 000000f0 b6f11f6b ............k... - 1af98: 00f00f00 cfcf0000 0f00fcfc faffffff ................ - 1afa8: d1ffff1d ffff0d00 df01feff 000010fd ................ - 1afb8: 00000000 00d11d00 00000000 00000000 ................ - 1afc8: ff8f0000 0000e2ff ffff0000 0020feff .............. . - 1afd8: ffff0000 ffffffff fffff8ff ffffffff ................ - 1afe8: ffffffff ffffffff ffffffff ffffffff ................ - 1aff8: ffffffff ffffffff ffffffff ffffffff ................ - 1b008: ffffffff ffffffff ffffffff ffffffff ................ - 1b018: ffffffff ffffffff ff8fffff ffffffff ................ - 1b028: 0000f8ff 00b00b00 00000000 00fbbf00 ................ - 1b038: 00000000 b0ffff0b 00000000 fbffffbf ................ - 1b048: 0b000000 ffffffff 4f0000b0 ffffffff ...........O.... - 1b058: 000000f4 00ffff00 00000000 00ffff00 ................ - 1b068: 00000000 00ffff00 00000000 00ffff00 ................ - 1b078: 00000000 00ffff00 ffdf0000 0ffddff0 ................ - 1b088: fffffdff 9f0000f9 ffffffff ffffffff ................ - 1b098: ffffffff f0ffffff ffdfffe0 ffffffff ................ - 1b0a8: 0000fdff 00000000 00000000 00000000 ................ - 1b0b8: 0062ea0a 00000000 f0ffff02 00000000 ..b............. - 1b0c8: ffff9f00 00000000 ffff0f00 000000d0 ................ - 1b0d8: ffff0200 000000fb ef030000 000070ff .............p.. - 1b0e8: 04000000 0000f2ff 00000000 0000fbbf ................ - 1b0f8: 00000000 0030ff6f 00000200 0090ff4f ....o.0.....O... - 1b108: 00f38f02 00d0ff6f e4ffff0a 00d1ffbf ....o........... - 1b118: ffffef00 00d1ffff ffff0a00 0090ffff ................ - 1b128: ff6f0000 0030fbff ff020000 000072db ..o...0......r.. - 1b138: 08000000 000080ee ff086106 2d0080ff .........a.....- - 1b148: 33efd0ff ff2e00fe 3ff30ef3 f3ff2ee0 ...3.......?.... - 1b158: ffff8f00 00f3ff6e ffff8e00 0000f3ff ....n........... - 1b168: ffef0200 000000f3 ffff2e00 08000030 ............0... - 1b178: ffffffef ff080030 ffeff6ff 33ef0030 ....0.......0..3 - 1b188: ffef02fe 3ff30e30 ffef02e0 f8ff8f30 ....0..?....0... - 1b198: fddf0200 00e88e00 10660000 ffdf0000 ..........f..... - 1b1a8: 00200dff ffffff00 0000e20f 0fffffff .. ............. - 1b1b8: fff0dffd 0020ffff fffff0ff ffffffff ...... ......... - 1b1c8: fffffff0 f0ffffff ffffffff fff0ffff ................ - 1b1d8: ffffffff fffff0ff ffffffff fffffff0 ................ - 1b1e8: f0ffffff ffffffff fff0ffff ffffffff ................ - 1b1f8: ffdff0ff fffdffff 000000f9 ffff0000 ................ - 1b208: 00ffffff ffffdf00 0000fdff ffffff8f ................ - 1b218: ff00c2ff ffffffff 00ff20fe ff010000 ......... ...... - 1b228: 0000ffe2 fcff0000 000000ff ffffff00 ................ - 1b238: 00000000 ffffffff ffffffff ffffffff ................ - 1b248: ffffffff 11fbffff ffffffbf 1f00f1ff ................ - 1b258: ffffffff ff1f00f1 fbffffff ffffbf11 ................ - 1b268: ffffffff 8fffffff ffffffff df00f8ff ................ - 1b278: 0000fdff fcffff01 ff030000 0000f7ff ................ - 1b288: f2ffff06 ff080000 0000d0ff ffffff0a ................ - 1b298: ff0cd0ff a0ffffff ffffff0e ff0d20ff ............. .. - 1b2a8: 00f8ffff ff0a0000 000000e0 0050ff0e ..............P. - 1b2b8: fc2f0000 00000000 0000f35f a09f0000 ../....._....... - 1b2c8: 00000000 000010df 00d70000 04000000 ................ - 1b2d8: 000040ee 99ffdf00 0000fdff ff99ffff .@.............. - 1b2e8: ff0000ff ffffffff ffff0000 00000090 ................ - 1b2f8: 0dffff00 200dffff ff0fffff ffe20fff ....... ........ - 1b308: ffff0fff fffffd0f 20ffff0f 0fffff00 ........... .... - 1b318: ffffffff ff0fffff ffffffff ffff0fff ................ - 1b328: ffdfffff ffffff0f 0f0000ff ffffffff ................ - 1b338: ff0f0000 00ffffff ffff0d00 0000fdff ................ - 1b348: 0000cc00 02000000 000030ff ffbf0100 .........0...... - 1b358: 000020fc ffffff1e 9f0000e1 f8ffffff . .............. - 1b368: ffef0000 00fdffff ffffff00 0100ffff ................ - 1b378: ffffffff ff0300ff ffffffff ffff0830 ............0... - 1b388: 80ffffff ffffff1e cfe1ffff ffffffff ................ - 1b398: ffcffcff ffffffff 000000fc 00000000 ................ - 1b3a8: ff0e0000 000000e0 40ee0400 ff8f0000 ...........@.... - 1b3b8: ffffffff fff8ffff ffffffff ffffffff ................ - 1b3c8: 0ff000ff 000ff000 f000ffff 0ff0000f ................ - 1b3d8: ffffff00 ffffffff ffffffff 888008f8 ................ - 1b3e8: ff8f8008 8008f8ff 8f800888 ffffffff ................ - 1b3f8: ffffffff 00ffffff 000000f0 ffff000f ................ - 1b408: 0000f000 ff000f00 ffffffff ffffffff ................ - 1b418: ffff8fff ffffffff 0000f8ff 00000000 ................ + 1afd8: 00d11d00 00000000 df010000 ffef10fd ................ + 1afe8: 00d0ffff d1ffff1d ffffffaf cfcf00f0 ................ + 1aff8: 0000fcfc 00f00f00 b6f11f6b 0f000000 ........k....... + 1b008: 0f0000f0 000000f0 00f00f00 00f00f00 ................ + 1b018: 0f000000 0f0000f0 000000f0 b6f11f6b ............k... + 1b028: 00f00f00 cfcf0000 0f00fcfc faffffff ................ + 1b038: d1ffff1d ffff0d00 df01feff 000010fd ................ + 1b048: 00000000 00d11d00 00000000 00000000 ................ + 1b058: ff8f0000 0000e2ff ffff0000 0020feff .............. . + 1b068: ffff0000 ffffffff fffff8ff ffffffff ................ + 1b078: ffffffff ffffffff ffffffff ffffffff ................ + 1b088: ffffffff ffffffff ffffffff ffffffff ................ + 1b098: ffffffff ffffffff ffffffff ffffffff ................ + 1b0a8: ffffffff ffffffff ff8fffff ffffffff ................ + 1b0b8: 0000f8ff 00b00b00 00000000 00fbbf00 ................ + 1b0c8: 00000000 b0ffff0b 00000000 fbffffbf ................ + 1b0d8: 0b000000 ffffffff 4f0000b0 ffffffff ...........O.... + 1b0e8: 000000f4 00ffff00 00000000 00ffff00 ................ + 1b0f8: 00000000 00ffff00 00000000 00ffff00 ................ + 1b108: 00000000 00ffff00 ffdf0000 0ffddff0 ................ + 1b118: fffffdff 9f0000f9 ffffffff ffffffff ................ + 1b128: ffffffff f0ffffff ffdfffe0 ffffffff ................ + 1b138: 0000fdff 00000000 00000000 00000000 ................ + 1b148: 0062ea0a 00000000 f0ffff02 00000000 ..b............. + 1b158: ffff9f00 00000000 ffff0f00 000000d0 ................ + 1b168: ffff0200 000000fb ef030000 000070ff .............p.. + 1b178: 04000000 0000f2ff 00000000 0000fbbf ................ + 1b188: 00000000 0030ff6f 00000200 0090ff4f ....o.0.....O... + 1b198: 00f38f02 00d0ff6f e4ffff0a 00d1ffbf ....o........... + 1b1a8: ffffef00 00d1ffff ffff0a00 0090ffff ................ + 1b1b8: ff6f0000 0030fbff ff020000 000072db ..o...0......r.. + 1b1c8: 08000000 000080ee ff086106 2d0080ff .........a.....- + 1b1d8: 33efd0ff ff2e00fe 3ff30ef3 f3ff2ee0 ...3.......?.... + 1b1e8: ffff8f00 00f3ff6e ffff8e00 0000f3ff ....n........... + 1b1f8: ffef0200 000000f3 ffff2e00 08000030 ............0... + 1b208: ffffffef ff080030 ffeff6ff 33ef0030 ....0.......0..3 + 1b218: ffef02fe 3ff30e30 ffef02e0 f8ff8f30 ....0..?....0... + 1b228: fddf0200 00e88e00 10660000 ffdf0000 ..........f..... + 1b238: 00200dff ffffff00 0000e20f 0fffffff .. ............. + 1b248: fff0dffd 0020ffff fffff0ff ffffffff ...... ......... + 1b258: fffffff0 f0ffffff ffffffff fff0ffff ................ + 1b268: ffffffff fffff0ff ffffffff fffffff0 ................ + 1b278: f0ffffff ffffffff fff0ffff ffffffff ................ + 1b288: ffdff0ff fffdffff 000000f9 ffff0000 ................ + 1b298: 00ffffff ffffdf00 0000fdff ffffff8f ................ + 1b2a8: ff00c2ff ffffffff 00ff20fe ff010000 ......... ...... + 1b2b8: 0000ffe2 fcff0000 000000ff ffffff00 ................ + 1b2c8: 00000000 ffffffff ffffffff ffffffff ................ + 1b2d8: ffffffff 11fbffff ffffffbf 1f00f1ff ................ + 1b2e8: ffffffff ff1f00f1 fbffffff ffffbf11 ................ + 1b2f8: ffffffff 8fffffff ffffffff df00f8ff ................ + 1b308: 0000fdff fcffff01 ff030000 0000f7ff ................ + 1b318: f2ffff06 ff080000 0000d0ff ffffff0a ................ + 1b328: ff0cd0ff a0ffffff ffffff0e ff0d20ff ............. .. + 1b338: 00f8ffff ff0a0000 000000e0 0050ff0e ..............P. + 1b348: fc2f0000 00000000 0000f35f a09f0000 ../....._....... + 1b358: 00000000 000010df 00d70000 04000000 ................ + 1b368: 000040ee 99ffdf00 0000fdff ff99ffff .@.............. + 1b378: ff0000ff ffffffff ffff0000 00000090 ................ + 1b388: 0dffff00 200dffff ff0fffff ffe20fff ....... ........ + 1b398: ffff0fff fffffd0f 20ffff0f 0fffff00 ........... .... + 1b3a8: ffffffff ff0fffff ffffffff ffff0fff ................ + 1b3b8: ffdfffff ffffff0f 0f0000ff ffffffff ................ + 1b3c8: ff0f0000 00ffffff ffff0d00 0000fdff ................ + 1b3d8: 0000cc00 02000000 000030ff ffbf0100 .........0...... + 1b3e8: 000020fc ffffff1e 9f0000e1 f8ffffff . .............. + 1b3f8: ffef0000 00fdffff ffffff00 0100ffff ................ + 1b408: ffffffff ff0300ff ffffffff ffff0830 ............0... + 1b418: 80ffffff ffffff1e cfe1ffff ffffffff ................ + 1b428: ffcffcff ffffffff 000000fc 00000000 ................ + 1b438: ff0e0000 000000e0 40ee0400 ff8f0000 ...........@.... + 1b448: ffffffff fff8ffff ffffffff ffffffff ................ + 1b458: 0ff000ff 000ff000 f000ffff 0ff0000f ................ + 1b468: ffffff00 ffffffff ffffffff 888008f8 ................ + 1b478: ff8f8008 8008f8ff 8f800888 ffffffff ................ + 1b488: ffffffff 00ffffff 000000f0 ffff000f ................ + 1b498: 0000f000 ff000f00 ffffffff ffffffff ................ + 1b4a8: ffff8fff ffffffff 0000f8ff 00000000 ................ ... - 1b430: 70af0300 00000000 ffcf0400 000000f0 ...p............ - 1b440: ffdf0600 0000a0ff ffef1700 0030ffff ..............0. - 1b450: ffff1800 00fcffff ffff2a00 f4ffffff .........*...... - 1b460: ffff0800 ffffffff ff0f00d0 ffffffff ................ - 1b470: 080060ff ffffffff 0000feff 00000000 .`.............. - 1b480: 00f7ffff 00000000 f1ffff00 00000000 ................ - 1b490: ffff0000 00000080 ff000000 000010ff ................ - 1b4a0: 00000000 0000faff 00000000 00f2ff00 ................ - 1b4b0: 00000000 808f0000 00000000 00000000 ................ - 1b4c0: 00000000 f0ffffdf ffff00d2 20fef0ff ............... - 1b4d0: f0ffffff ffffe2ff fdfff0ff f2ffffff ................ - 1b4e0: ffff0000 ffffffff ffffffff ffffffff ................ - 1b4f0: ffffffff ffffffff ffffffff ffffffff ................ - 1b500: ffffffff ffffffff ffffffff ffffffff ................ - 1b510: ffffffff ffffffff ffffffff ffdfffff ................ - 1b520: fdffffff 00000000 00000000 00000000 ................ - 1b530: feef9c04 000040c9 ffef0700 feffffff .....@.......... - 1b540: df040070 8aa8fcff 40fdffcf 00d5ff6f p..........@o... - 1b550: 5d000000 f6cff6ff 00000000 fc6f0000 ...]..........o. - 1b560: 5a00301a 00a5fddf 0000a103 ffffff4d .0.Z........M... - 1b570: 0000d4ff feff0500 ffef8aa8 01000050 ............P... - 1b580: 000070df 0010fd07 00120000 21000000 .p.............! - 1b590: 00000000 e44e0000 00000000 00000000 ......N......... - 1b5a0: 0000feef 00000000 feef0000 00000000 ................ - 1b5b0: 00000000 0000e44e ff8f0000 ffffffff ....N........... - 1b5c0: 80ffffff ffffffff ffffffff 00fff0ff ................ - 1b5d0: 00000000 fd0f0000 ffff0fff ffffffff ................ - 1b5e0: 0fffff0f ffffffff ff00ffff ffff0fff ................ - 1b5f0: ffffffff 0fffff00 ffffffff ff0fffff ................ - 1b600: 000000ff 00000000 fffffd0f ffffffff ................ - 1b610: f0ffffff ffffff8f ffffffff ff8f80ff ................ - 1b620: ffffffff 80ffffff ffffffff ffffffff ................ - 1b630: 00fff0ff 00000000 fd0f0000 ffff0fff ................ - 1b640: 00f0ffff 0fffff0f ffffffff ff0000f0 ................ - 1b650: ffff0fff 00f0ffff 0fffff00 ffffffff ................ - 1b660: ff0f00f0 000000ff 00000000 fffffd0f ................ - 1b670: ffffffff f0ffffff ffffff8f ffffffff ................ - 1b680: ff8f80ff ffffffff 80ffffff ffffffff ................ - 1b690: ffffffff 00fff0ff 00000000 fd0f0000 ................ - 1b6a0: ffff0fff 000000ff 0fffff0f 00ffffff ................ - 1b6b0: ff000000 ffff0fff 000000ff 0fffff00 ................ - 1b6c0: 00ffffff ff0f0000 000000ff 00000000 ................ - 1b6d0: fffffd0f ffffffff f0ffffff ffffff8f ................ - 1b6e0: ffffffff ff8f80ff ffffffff 80ffffff ................ - 1b6f0: ffffffff ffffffff 00fff0ff 00000000 ................ - 1b700: fd0f0000 f0ff0fff 00000000 0fffff0f ................ - 1b710: 0000f0ff ff000000 f0ff0fff 00000000 ................ - 1b720: 0fffff00 0000f0ff ff0f0000 000000ff ................ - 1b730: 00000000 fffffd0f ffffffff f0ffffff ................ - 1b740: ffffff8f ffffffff ff8f80ff ffffffff ................ - 1b750: 80ffffff ffffffff ffffffff 00fff0ff ................ - 1b760: 00000000 fd0f0000 000000ff 00000000 ................ - 1b770: 00ffff0f 00000000 ff000000 000000ff ................ - 1b780: 00000000 00ffff00 00000000 ff0f0000 ................ - 1b790: 000000ff 00000000 fffffd0f ffffffff ................ - 1b7a0: f0ffffff ffffff8f ffffffff 000080ff ................ - 1b7b0: 01000000 00000000 00000000 10fd0700 ................ - 1b7c0: 00000000 cf010000 0000f5ff 00000000 ................ - 1b7d0: fe29b900 00000010 3f000000 00000210 ..)........?.... - 1b7e0: df030000 00900a80 70030000 77ffdf00 ...........p...w - 1b7f0: 555555f7 0fd38f55 dfccfdff cdccccdc .UUUU........... - 1b800: fe8fb0ff 00aa0010 404d0000 00104600 ..........M@.F.. - 1b810: 3302f201 00000010 09000000 00f9cfb1 ...3............ - 1b820: 00000000 ff0a0000 000090ff 00000000 ................ - 1b830: f9bf0000 00000000 00000000 00002201 .............".. - 1b840: df180000 020092fd ffeffbef faff0d30 ............0... - 1b850: 4fe0ff2e ff03faff fafa9ff5 cffa4f35 ...O........5O.. - 1b860: 0b3d8ac0 03fbeffd fffe8f12 ff06b0ff ..=............. - 1b870: d1ffffff efffff08 9f1011fd 59d1dfff ...............Y - 1b880: affd0b3b 1d38fad7 faff5ffb 0df7df01 ;.....8.._...... - 1b890: ff1dfaff fcef03f1 0050ffdf a3fedf18 ..........P..... - 1b8a0: 7f000000 0000f7ff ffffffef effeffff ................ - 1b8b0: ffffffff 0000feff 00000000 ffff0f00 ................ - 1b8c0: f0ffffff ffffff0f 0ff0ffff f9999ff9 ................ - 1b8d0: f80ff09f 8ff8888f 8ff80ff0 f08ff888 ................ - 1b8e0: 888ff80f 0ff08ff8 f8888ff8 f80ff08f ................ - 1b8f0: 8ff8888f 8ff80ff0 f08ff888 999ff90f ................ - 1b900: 0ff09ff9 ffffffff ff08f0ff ffffffff ................ - 1b910: 00000080 7f000000 000000a0 8f000000 ................ - 1b920: 0000b0ff 0d000000 00a0ffff 8a000000 ................ - 1b930: 00ffff1d 8f000000 70ff1dfa 8f000000 ...........p.... - 1b940: 801dfaff 8f000000 00faffff 8f000000 ................ - 1b950: 80ffffff 8f000000 80ffffff 8f000000 ................ - 1b960: 80ffffff 8f000000 80ffffff 6f000000 ...............o - 1b970: 80ffffff 0b000000 80ffffff 00000000 ................ - 1b980: 80ffffdf 00000000 80ffff0e 00000000 ................ - 1b990: 60dbde00 00000000 00000000 00000000 ...`............ - 1b9a0: 00000000 ffffff1b e4ffffff ffdf0100 ................ - 1b9b0: ffffffff 1d00feff effaffff ffffaffe ................ - 1b9c0: ffffdf01 0ae22ea0 ff1dffff 02e2ffff ................ - 1b9d0: ffff2e20 ffffffcf ef0220fe ffcfffff ........ ...... - 1b9e0: 20feffff ffffef02 ffffff1d 2e2002e2 ... .......... . - 1b9f0: df01ffff 2ea0ffff ffff0ae2 ffff1d00 ................ - 1ba00: affeeffa 0100ffff ffffffdf feffffff ................ - 1ba10: ff1b0000 ffffffff 0800e4ff e4ffffff ................ - 1ba20: ffff8f00 f808feff ff400b0f 0b0ff88f ..........@..... - 1ba30: f8ffff40 ff400b0f ffffffff ffffffff @.....@......... - 1ba40: ffffffff ffffffff ffffffff ffffffff ................ - 1ba50: ffffffff ffffffff ffffffff ffffffff ................ - 1ba60: ffffffff ffffffff ffffffff ffefffff ................ - 1ba70: feffffff ffffff4e 0000e4ff 00000000 ....N........... - 1ba80: 00000100 00000000 00e00300 00001000 ................ - 1ba90: 10ef0200 0000bf00 f17f0000 00f1cf00 ................ - 1baa0: ff070000 77ffcf11 bf777777 ffffcff1 .......wwww..... - 1bab0: ffffffff ffff17ff ffffffff ff07e0ff ................ - 1bac0: 000000f1 06000000 000010ff 00000000 ................ - 1bad0: 0000a005 00000000 ........ - -0001bad8 : - 1bad8: 00000100 00000000 00000100 00000003 ................ - 1bae8: 00000200 00000000 00000000 00000000 ................ - 1baf8: 00010000 00000000 00000000 00000000 ................ - 1bb08: 000c0100 0000fa07 f1f20000 04060c02 ................ - 1bb18: 010d02f6 0008030b 00000000 00000000 ................ - 1bb28: 020f0000 000000fe 00000000 00000000 ................ - 1bb38: f8000500 00000000 0504fb00 00fd0000 ................ - 1bb48: fd0003fe fbfffd00 00000000 fd0000fd ................ - 1bb58: fd0000fc 0000fb00 00000000 fd000000 ................ - 1bb68: 00fc00fd 00e100f9 0500fb00 fb000008 ................ - 1bb78: 05080303 000005fc 000000f1 00000000 ................ - 1bb88: 00000000 000000f7 00000000 00000000 ................ - 1bb98: f9000000 f600f3fd 000000fe 000a0100 ................ - 1bba8: 01fffef8 0000fc00 0000edfe 00000000 ................ - 1bbb8: 00000000 0afeec00 00000000 00000000 ................ - 1bbc8: 00000000 000000f6 00000000 08000000 ................ - 1bbd8: 00000300 000000fb 00000000 00000000 ................ - 1bbe8: 00000000 020a0000 00000001 00000000 ................ + 1b4c0: 70af0300 00000000 ffcf0400 000000f0 ...p............ + 1b4d0: ffdf0600 0000a0ff ffef1700 0030ffff ..............0. + 1b4e0: ffff1800 00fcffff ffff2a00 f4ffffff .........*...... + 1b4f0: ffff0800 ffffffff ff0f00d0 ffffffff ................ + 1b500: 080060ff ffffffff 0000feff 00000000 .`.............. + 1b510: 00f7ffff 00000000 f1ffff00 00000000 ................ + 1b520: ffff0000 00000080 ff000000 000010ff ................ + 1b530: 00000000 0000faff 00000000 00f2ff00 ................ + 1b540: 00000000 808f0000 00000000 00000000 ................ + 1b550: 00000000 f0ffffdf ffff00d2 20fef0ff ............... + 1b560: f0ffffff ffffe2ff fdfff0ff f2ffffff ................ + 1b570: ffff0000 ffffffff ffffffff ffffffff ................ + 1b580: ffffffff ffffffff ffffffff ffffffff ................ + 1b590: ffffffff ffffffff ffffffff ffffffff ................ + 1b5a0: ffffffff ffffffff ffffffff ffdfffff ................ + 1b5b0: fdffffff 00000000 00000000 00000000 ................ + 1b5c0: feef9c04 000040c9 ffef0700 feffffff .....@.......... + 1b5d0: df040070 8aa8fcff 40fdffcf 00d5ff6f p..........@o... + 1b5e0: 5d000000 f6cff6ff 00000000 fc6f0000 ...]..........o. + 1b5f0: 5a00301a 00a5fddf 0000a103 ffffff4d .0.Z........M... + 1b600: 0000d4ff feff0500 ffef8aa8 01000050 ............P... + 1b610: 000070df 0010fd07 00120000 21000000 .p.............! + 1b620: 00000000 e44e0000 00000000 00000000 ......N......... + 1b630: 0000feef 00000000 feef0000 00000000 ................ + 1b640: 00000000 0000e44e ff8f0000 ffffffff ....N........... + 1b650: 80ffffff ffffffff ffffffff 00fff0ff ................ + 1b660: 00000000 fd0f0000 ffff0fff ffffffff ................ + 1b670: 0fffff0f ffffffff ff00ffff ffff0fff ................ + 1b680: ffffffff 0fffff00 ffffffff ff0fffff ................ + 1b690: 000000ff 00000000 fffffd0f ffffffff ................ + 1b6a0: f0ffffff ffffff8f ffffffff ff8f80ff ................ + 1b6b0: ffffffff 80ffffff ffffffff ffffffff ................ + 1b6c0: 00fff0ff 00000000 fd0f0000 ffff0fff ................ + 1b6d0: 00f0ffff 0fffff0f ffffffff ff0000f0 ................ + 1b6e0: ffff0fff 00f0ffff 0fffff00 ffffffff ................ + 1b6f0: ff0f00f0 000000ff 00000000 fffffd0f ................ + 1b700: ffffffff f0ffffff ffffff8f ffffffff ................ + 1b710: ff8f80ff ffffffff 80ffffff ffffffff ................ + 1b720: ffffffff 00fff0ff 00000000 fd0f0000 ................ + 1b730: ffff0fff 000000ff 0fffff0f 00ffffff ................ + 1b740: ff000000 ffff0fff 000000ff 0fffff00 ................ + 1b750: 00ffffff ff0f0000 000000ff 00000000 ................ + 1b760: fffffd0f ffffffff f0ffffff ffffff8f ................ + 1b770: ffffffff ff8f80ff ffffffff 80ffffff ................ + 1b780: ffffffff ffffffff 00fff0ff 00000000 ................ + 1b790: fd0f0000 f0ff0fff 00000000 0fffff0f ................ + 1b7a0: 0000f0ff ff000000 f0ff0fff 00000000 ................ + 1b7b0: 0fffff00 0000f0ff ff0f0000 000000ff ................ + 1b7c0: 00000000 fffffd0f ffffffff f0ffffff ................ + 1b7d0: ffffff8f ffffffff ff8f80ff ffffffff ................ + 1b7e0: 80ffffff ffffffff ffffffff 00fff0ff ................ + 1b7f0: 00000000 fd0f0000 000000ff 00000000 ................ + 1b800: 00ffff0f 00000000 ff000000 000000ff ................ + 1b810: 00000000 00ffff00 00000000 ff0f0000 ................ + 1b820: 000000ff 00000000 fffffd0f ffffffff ................ + 1b830: f0ffffff ffffff8f ffffffff 000080ff ................ + 1b840: 01000000 00000000 00000000 10fd0700 ................ + 1b850: 00000000 cf010000 0000f5ff 00000000 ................ + 1b860: fe29b900 00000010 3f000000 00000210 ..)........?.... + 1b870: df030000 00900a80 70030000 77ffdf00 ...........p...w + 1b880: 555555f7 0fd38f55 dfccfdff cdccccdc .UUUU........... + 1b890: fe8fb0ff 00aa0010 404d0000 00104600 ..........M@.F.. + 1b8a0: 3302f201 00000010 09000000 00f9cfb1 ...3............ + 1b8b0: 00000000 ff0a0000 000090ff 00000000 ................ + 1b8c0: f9bf0000 00000000 00000000 00002201 .............".. + 1b8d0: df180000 020092fd ffeffbef faff0d30 ............0... + 1b8e0: 4fe0ff2e ff03faff fafa9ff5 cffa4f35 ...O........5O.. + 1b8f0: 0b3d8ac0 03fbeffd fffe8f12 ff06b0ff ..=............. + 1b900: d1ffffff efffff08 9f1011fd 59d1dfff ...............Y + 1b910: affd0b3b 1d38fad7 faff5ffb 0df7df01 ;.....8.._...... + 1b920: ff1dfaff fcef03f1 0050ffdf a3fedf18 ..........P..... + 1b930: 7f000000 0000f7ff ffffffef effeffff ................ + 1b940: ffffffff 0000feff 00000000 ffff0f00 ................ + 1b950: f0ffffff ffffff0f 0ff0ffff f9999ff9 ................ + 1b960: f80ff09f 8ff8888f 8ff80ff0 f08ff888 ................ + 1b970: 888ff80f 0ff08ff8 f8888ff8 f80ff08f ................ + 1b980: 8ff8888f 8ff80ff0 f08ff888 999ff90f ................ + 1b990: 0ff09ff9 ffffffff ff08f0ff ffffffff ................ + 1b9a0: 00000080 7f000000 000000a0 8f000000 ................ + 1b9b0: 0000b0ff 0d000000 00a0ffff 8a000000 ................ + 1b9c0: 00ffff1d 8f000000 70ff1dfa 8f000000 ...........p.... + 1b9d0: 801dfaff 8f000000 00faffff 8f000000 ................ + 1b9e0: 80ffffff 8f000000 80ffffff 8f000000 ................ + 1b9f0: 80ffffff 8f000000 80ffffff 6f000000 ...............o + 1ba00: 80ffffff 0b000000 80ffffff 00000000 ................ + 1ba10: 80ffffdf 00000000 80ffff0e 00000000 ................ + 1ba20: 60dbde00 00000000 00000000 00000000 ...`............ + 1ba30: 00000000 ffffff1b e4ffffff ffdf0100 ................ + 1ba40: ffffffff 1d00feff effaffff ffffaffe ................ + 1ba50: ffffdf01 0ae22ea0 ff1dffff 02e2ffff ................ + 1ba60: ffff2e20 ffffffcf ef0220fe ffcfffff ........ ...... + 1ba70: 20feffff ffffef02 ffffff1d 2e2002e2 ... .......... . + 1ba80: df01ffff 2ea0ffff ffff0ae2 ffff1d00 ................ + 1ba90: affeeffa 0100ffff ffffffdf feffffff ................ + 1baa0: ff1b0000 ffffffff 0800e4ff e4ffffff ................ + 1bab0: ffff8f00 f808feff ff400b0f 0b0ff88f ..........@..... + 1bac0: f8ffff40 ff400b0f ffffffff ffffffff @.....@......... + 1bad0: ffffffff ffffffff ffffffff ffffffff ................ + 1bae0: ffffffff ffffffff ffffffff ffffffff ................ + 1baf0: ffffffff ffffffff ffffffff ffefffff ................ + 1bb00: feffffff ffffff4e 0000e4ff 00000000 ....N........... + 1bb10: 00000100 00000000 00e00300 00001000 ................ + 1bb20: 10ef0200 0000bf00 f17f0000 00f1cf00 ................ + 1bb30: ff070000 77ffcf11 bf777777 ffffcff1 .......wwww..... + 1bb40: ffffffff ffff17ff ffffffff ff07e0ff ................ + 1bb50: 000000f1 06000000 000010ff 00000000 ................ + 1bb60: 0000a005 00000000 ........ + +0001bb68 : + 1bb68: 00000100 00000000 00000100 00000003 ................ + 1bb78: 00000200 00000000 00000000 00000000 ................ + 1bb88: 00010000 00000000 00000000 00000000 ................ + 1bb98: 000c0100 0000fa07 f1f20000 04060c02 ................ + 1bba8: 010d02f6 0008030b 00000000 00000000 ................ + 1bbb8: 020f0000 000000fe 00000000 00000000 ................ + 1bbc8: f8000500 00000000 0504fb00 00fd0000 ................ + 1bbd8: fd0003fe fbfffd00 00000000 fd0000fd ................ + 1bbe8: fd0000fc 0000fb00 00000000 fd000000 ................ + 1bbf8: 00fc00fd 00e100f9 0500fb00 fb000008 ................ + 1bc08: 05080303 000005fc 000000f1 00000000 ................ + 1bc18: 00000000 000000f7 00000000 00000000 ................ + 1bc28: f9000000 f600f3fd 000000fe 000a0100 ................ + 1bc38: 01fffef8 0000fc00 0000edfe 00000000 ................ + 1bc48: 00000000 0afeec00 00000000 00000000 ................ + 1bc58: 00000000 000000f6 00000000 08000000 ................ + 1bc68: 00000300 000000fb 00000000 00000000 ................ + 1bc78: 00000000 020a0000 00000001 00000000 ................ ... - 1bc18: 000000f7 00000000 00000000 00000000 ................ - 1bc28: 00000000 02000000 fd080305 fd050000 ................ - 1bc38: 0702ddf8 00fd0105 00080009 00e80008 ................ - 1bc48: 080008fd 000305fd 00fd0100 0014fc00 ................ - 1bc58: 00080014 0804030b f7000000 00000000 ................ - 1bc68: 0200fe01 02fbfdfb 0000fd00 0000f600 ................ + 1bca8: 000000f7 00000000 00000000 00000000 ................ + 1bcb8: 00000000 02000000 fd080305 fd050000 ................ + 1bcc8: 0702ddf8 00fd0105 00080009 00e80008 ................ + 1bcd8: 080008fd 000305fd 00fd0100 0014fc00 ................ + 1bce8: 00080014 0804030b f7000000 00000000 ................ + 1bcf8: 0200fe01 02fbfdfb 0000fd00 0000f600 ................ ... - 1bc80: 0000ef00 00000000 00000000 00000000 ................ - 1bc90: 00f20100 000000f0 1900fe00 0303fdfd ................ - 1bca0: 03fd00fe 00f20000 00000000 00000000 ................ - 1bcb0: 00e70000 00000003 00000000 00000000 ................ - 1bcc0: 0f00f000 00f70000 e7ef0008 0008fbef ................ - 1bcd0: 0300ef00 00fc00fa 00000000 00000000 ................ - 1bce0: 07000000 0000e108 00000000 00000000 ................ - 1bcf0: 000c0000 00000002 02020000 ff00fbfd ................ - 1bd00: 0000fdff 000000fe 00fe00fb fa00fbfa ................ - 1bd10: 00fbf8f8 00fb00fb fe000000 00030000 ................ - 1bd20: 0100fd02 03000000 000000fe ff0303fe ................ - 1bd30: fb000000 0000ff00 01000000 00fe0300 ................ - 1bd40: 00fc00fd 0800fe00 00fd0000 00000000 ................ - 1bd50: fefe01ff 00fd0000 000000fd 00000000 ................ - 1bd60: ffff0000 00fdfd00 00000000 fe000001 ................ - 1bd70: fdfdfd00 00000000 00000000 0000fe00 ................ - 1bd80: fdfe0000 f800fc00 0005f8fe 0503fb00 ................ - 1bd90: fffa0007 f4ff00fd f202fe03 01000003 ................ - 1bda0: fef200f3 f300feea 00070500 00000003 ................ - 1bdb0: fb000100 00f800fd 00fd0000 00fd0000 ................ - 1bdc0: 00000000 ff00ffff 000000fd 00000000 ................ - 1bdd0: fe00fdfd 0000fefd 000000fd 00000000 ................ - 1bde0: 00000000 fd00fefe fb00fe00 fd000003 ................ - 1bdf0: 00030301 00000000 0000fe00 02000000 ................ - 1be00: 00fd0000 00fdfefd 00000000 00020000 ................ - 1be10: 000000fe 00fcfd00 fe0800fb 0000f801 ................ - 1be20: f5f3f307 fe0003fb fb00fbef fb04fb00 ................ - 1be30: 00f900f0 02ff0100 000300fe f300f6f8 ................ - 1be40: f8fafbfa fbfff9fd 010002f9 0000fd00 ................ - 1be50: 03000200 00000000 00000000 fd000000 ................ - 1be60: ff00ff00 fafc00fd f800fffa 00000000 ................ - 1be70: 00fe0000 01000000 000000fe 00000003 ................ - 1be80: 00000000 00000c00 00000000 00000002 ................ - 1be90: 000000fd 00000000 00000000 000300fb ................ + 1bd10: 0000ef00 00000000 00000000 00000000 ................ + 1bd20: 00f20100 000000f0 1900fe00 0303fdfd ................ + 1bd30: 03fd00fe 00f20000 00000000 00000000 ................ + 1bd40: 00e70000 00000003 00000000 00000000 ................ + 1bd50: 0f00f000 00f70000 e7ef0008 0008fbef ................ + 1bd60: 0300ef00 00fc00fa 00000000 00000000 ................ + 1bd70: 07000000 0000e108 00000000 00000000 ................ + 1bd80: 000c0000 00000002 02020000 ff00fbfd ................ + 1bd90: 0000fdff 000000fe 00fe00fb fa00fbfa ................ + 1bda0: 00fbf8f8 00fb00fb fe000000 00030000 ................ + 1bdb0: 0100fd02 03000000 000000fe ff0303fe ................ + 1bdc0: fb000000 0000ff00 01000000 00fe0300 ................ + 1bdd0: 00fc00fd 0800fe00 00fd0000 00000000 ................ + 1bde0: fefe01ff 00fd0000 000000fd 00000000 ................ + 1bdf0: ffff0000 00fdfd00 00000000 fe000001 ................ + 1be00: fdfdfd00 00000000 00000000 0000fe00 ................ + 1be10: fdfe0000 f800fc00 0005f8fe 0503fb00 ................ + 1be20: fffa0007 f4ff00fd f202fe03 01000003 ................ + 1be30: fef200f3 f300feea 00070500 00000003 ................ + 1be40: fb000100 00f800fd 00fd0000 00fd0000 ................ + 1be50: 00000000 ff00ffff 000000fd 00000000 ................ + 1be60: fe00fdfd 0000fefd 000000fd 00000000 ................ + 1be70: 00000000 fd00fefe fb00fe00 fd000003 ................ + 1be80: 00030301 00000000 0000fe00 02000000 ................ + 1be90: 00fd0000 00fdfefd 00000000 00020000 ................ + 1bea0: 000000fe 00fcfd00 fe0800fb 0000f801 ................ + 1beb0: f5f3f307 fe0003fb fb00fbef fb04fb00 ................ + 1bec0: 00f900f0 02ff0100 000300fe f300f6f8 ................ + 1bed0: f8fafbfa fbfff9fd 010002f9 0000fd00 ................ + 1bee0: 03000200 00000000 00000000 fd000000 ................ + 1bef0: ff00ff00 fafc00fd f800fffa 00000000 ................ + 1bf00: 00fe0000 01000000 000000fe 00000003 ................ + 1bf10: 00000000 00000c00 00000000 00000002 ................ + 1bf20: 000000fd 00000000 00000000 000300fb ................ ... - 1beac: 000000fe 000000fb 00f8f300 f3fc0000 ................ - 1bebc: 03fd0000 0000f900 00000000 00000000 ................ - 1becc: fb0000fc 00000000 00000000 00000000 ................ - 1bedc: 00fb0003 03000000 fbfb0200 fdfdfd00 ................ - 1beec: 00000000 00f80000 fdfc00fd f8fafa00 ................ - 1befc: 00fb00fe 000000f8 00001400 fd000001 ................ - 1bf0c: f5000300 00000000 08fbe800 00f5fe08 ................ - 1bf1c: f300fc03 ee03fdff 040003fd f8f7fcf7 ................ - 1bf2c: f10000f5 00000f00 000000ff f9fdffff ................ - 1bf3c: 00e8fff8 00000000 00000000 00000001 ................ + 1bf3c: 000000fe 000000fb 00f8f300 f3fc0000 ................ + 1bf4c: 03fd0000 0000f900 00000000 00000000 ................ + 1bf5c: fb0000fc 00000000 00000000 00000000 ................ + 1bf6c: 00fb0003 03000000 fbfb0200 fdfdfd00 ................ + 1bf7c: 00000000 00f80000 fdfc00fd f8fafa00 ................ + 1bf8c: 00fb00fe 000000f8 00001400 fd000001 ................ + 1bf9c: f5000300 00000000 08fbe800 00f5fe08 ................ + 1bfac: f300fc03 ee03fdff 040003fd f8f7fcf7 ................ + 1bfbc: f10000f5 00000f00 000000ff f9fdffff ................ + 1bfcc: 00e8fff8 00000000 00000000 00000001 ................ ... - 1bf58: ff00fd00 0000fcfd 00fd00fb 00000000 ................ + 1bfe8: ff00fd00 0000fcfd 00fd00fb 00000000 ................ ... - 1bf70: 00ff0000 050000fb fa0003ff f9fffe03 ................ - 1bf80: fdfd00fd fcfc00fe fffe0000 00fdfcfe ................ - 1bf90: 0300fd00 00fa00fe 00fb0000 fcfc00fc ................ - 1bfa0: 00000003 00000000 0003fb00 fdfe00fc ................ - 1bfb0: fefefef8 fffdfeff 00000000 fefefd00 ................ - 1bfc0: 00000000 fe00fe03 fe000000 fdfefefd ................ - 1bfd0: 0a0200fe 00f900ff fd0005fe 0004fdf5 ................ - 1bfe0: 03fcf400 fe0002fc fc00f8fe fc000001 ................ - 1bff0: 03000000 00fbfb03 fdfcfdfc 01fc00fd ................ - 1c000: 0008fcfb 00000000 00000000 00000003 ................ + 1c000: 00ff0000 050000fb fa0003ff f9fffe03 ................ + 1c010: fdfd00fd fcfc00fe fffe0000 00fdfcfe ................ + 1c020: 0300fd00 00fa00fe 00fb0000 fcfc00fc ................ + 1c030: 00000003 00000000 0003fb00 fdfe00fc ................ + 1c040: fefefef8 fffdfeff 00000000 fefefd00 ................ + 1c050: 00000000 fe00fe03 fe000000 fdfefefd ................ + 1c060: 0a0200fe 00f900ff fd0005fe 0004fdf5 ................ + 1c070: 03fcf400 fe0002fc fc00f8fe fc000001 ................ + 1c080: 03000000 00fbfb03 fdfcfdfc 01fc00fd ................ + 1c090: 0008fcfb 00000000 00000000 00000003 ................ ... - 1c024: 000000fc 00000000 00000000 00000000 ................ + 1c0b4: 000000fc 00000000 00000000 00000000 ................ ... - 1c050: 000000fe 00000000 00000000 00000000 ................ + 1c0e0: 000000fe 00000000 00000000 00000000 ................ ... - 1c06c: fdfe0000 00000000 00000000 00000000 ................ - 1c07c: fd0000fc fdfd0000 00000000 000000fd ................ - 1c08c: 0000ff00 fe000000 00000000 00fb00fc ................ - 1c09c: 00f80000 0105fa02 0000f4fe f600fdfa ................ - 1c0ac: 0000f9fa f6f6fdf5 00f900f4 00fd1102 ................ - 1c0bc: fdfffdfa f7fbf9fc 00fdfaf6 0100fe00 ................ - 1c0cc: feee0000 f7fa0608 00f80100 05fdfef3 ................ - 1c0dc: 0001fde8 f3fdef00 0000edfd 010f00ee ................ - 1c0ec: 0000fe00 feff0000 ef00fef6 00000000 ................ - 1c0fc: 00fe00f8 00f4f9ff f8fcff00 00fe00fd ................ - 1c10c: f4000000 fef8f8fd fcfdfafc f8fefb00 ................ - 1c11c: fbfd00fc 0100fbfd 00f8fe00 00fb0005 ................ - 1c12c: 03000000 0afb0200 fdfdfd00 00000000 ................ - 1c13c: 00f80000 fdfc00fd f8fafa00 02fb00fe ................ - 1c14c: 0000000a 00001400 fd000001 00000300 ................ - 1c15c: 00000000 00ff0000 00000000 0000fbfe ................ - 1c16c: ff000000 fd000000 fb0000fd fb0000fd ................ - 1c17c: 00ff0400 00000000 00000100 05040000 ................ - 1c18c: f800fe02 f80800fc 0afbfbf8 feea0305 ................ - 1c19c: fd00fd05 00f7fd03 fefd03fd 0000fef8 ................ - 1c1ac: f9000508 07fdf200 fd01f6fd 0afdf8f8 ................ - 1c1bc: 00fc0003 080200f9 faf6f7fa ed010008 ................ - 1c1cc: fefc03fe f7fa00fa 00fefcfc fdfbfa00 ................ - 1c1dc: fd060800 fcf200f2 fff1f700 f9f8fcf8 ................ - 1c1ec: fd000007 00fefb00 0400fbfd 000003f8 ................ - 1c1fc: fafd00f2 faf8fefc f800faf8 f8fbfafd ................ - 1c20c: 010000fd f800fc0c fbfd00fd f6f9f9fa ................ - 1c21c: 0005fbfd fdf300fc f7f80502 fd08f8fb ................ - 1c22c: 05fbe801 00f7fcfa fdfdf5f8 f8fbfdfe ................ - 1c23c: 080000ff 00effe07 f606faf1 f5f7fbef ................ - 1c24c: 0005f8f3 fd000000 fd030000 05fb0205 ................ - 1c25c: fff80000 0100ff00 0000fe01 00000000 ................ - 1c26c: 000000fd 01080200 0000fd00 fefe0000 ................ - 1c27c: 000000fd 00000201 00020000 000a00fe ................ - 1c28c: fd010105 00000500 00000200 00000000 ................ - 1c29c: 00000000 07000800 00000000 00000000 ................ - 1c2ac: 00000000 00f10000 080004fd 03190000 ................ - 1c2bc: 0303fbfb 00f301fe 00f10c00 00000000 ................ - 1c2cc: 00000000 0aef0000 00000024 00000000 ........$....... - 1c2dc: 00000000 0000f100 00000000 00000000 ................ + 1c0fc: fdfe0000 00000000 00000000 00000000 ................ + 1c10c: fd0000fc fdfd0000 00000000 000000fd ................ + 1c11c: 0000ff00 fe000000 00000000 00fb00fc ................ + 1c12c: 00f80000 0105fa02 0000f4fe f600fdfa ................ + 1c13c: 0000f9fa f6f6fdf5 00f900f4 00fd1102 ................ + 1c14c: fdfffdfa f7fbf9fc 00fdfaf6 0100fe00 ................ + 1c15c: feee0000 f7fa0608 00f80100 05fdfef3 ................ + 1c16c: 0001fde8 f3fdef00 0000edfd 010f00ee ................ + 1c17c: 0000fe00 feff0000 ef00fef6 00000000 ................ + 1c18c: 00fe00f8 00f4f9ff f8fcff00 00fe00fd ................ + 1c19c: f4000000 fef8f8fd fcfdfafc f8fefb00 ................ + 1c1ac: fbfd00fc 0100fbfd 00f8fe00 00fb0005 ................ + 1c1bc: 03000000 0afb0200 fdfdfd00 00000000 ................ + 1c1cc: 00f80000 fdfc00fd f8fafa00 02fb00fe ................ + 1c1dc: 0000000a 00001400 fd000001 00000300 ................ + 1c1ec: 00000000 00ff0000 00000000 0000fbfe ................ + 1c1fc: ff000000 fd000000 fb0000fd fb0000fd ................ + 1c20c: 00ff0400 00000000 00000100 05040000 ................ + 1c21c: f800fe02 f80800fc 0afbfbf8 feea0305 ................ + 1c22c: fd00fd05 00f7fd03 fefd03fd 0000fef8 ................ + 1c23c: f9000508 07fdf200 fd01f6fd 0afdf8f8 ................ + 1c24c: 00fc0003 080200f9 faf6f7fa ed010008 ................ + 1c25c: fefc03fe f7fa00fa 00fefcfc fdfbfa00 ................ + 1c26c: fd060800 fcf200f2 fff1f700 f9f8fcf8 ................ + 1c27c: fd000007 00fefb00 0400fbfd 000003f8 ................ + 1c28c: fafd00f2 faf8fefc f800faf8 f8fbfafd ................ + 1c29c: 010000fd f800fc0c fbfd00fd f6f9f9fa ................ + 1c2ac: 0005fbfd fdf300fc f7f80502 fd08f8fb ................ + 1c2bc: 05fbe801 00f7fcfa fdfdf5f8 f8fbfdfe ................ + 1c2cc: 080000ff 00effe07 f606faf1 f5f7fbef ................ + 1c2dc: 0005f8f3 fd000000 fd030000 05fb0205 ................ + 1c2ec: fff80000 0100ff00 0000fe01 00000000 ................ + 1c2fc: 000000fd 01080200 0000fd00 fefe0000 ................ + 1c30c: 000000fd 00000201 00020000 000a00fe ................ + 1c31c: fd010105 00000500 00000200 00000000 ................ + 1c32c: 00000000 07000800 00000000 00000000 ................ + 1c33c: 00000000 00f10000 080004fd 03190000 ................ + 1c34c: 0303fbfb 00f301fe 00f10c00 00000000 ................ + 1c35c: 00000000 0aef0000 00000024 00000000 ........$....... + 1c36c: 00000000 0000f100 00000000 00000000 ................ ... - 1c2fc: fb0000fc 000000fe 00000000 00000000 ................ + 1c38c: fb0000fc 000000fe 00000000 00000000 ................ ... - 1c314: 00f900fe 00000100 fefb2103 03f90708 .........!...... - 1c324: 03030000 000000fd 00000000 00000000 ................ - 1c334: 000007df 00000000 00000000 00000000 ................ - 1c344: f9000000 f9000000 00000000 0000fffa ................ - 1c354: fd00fa00 0000f400 00000000 00000000 ................ - 1c364: 0000ef00 00010000 00000000 0000fd00 ................ - 1c374: 00fc00fb 000000f9 00fd03fc fafdf900 ................ - 1c384: 00f90000 00f400fd eb0000fd f7fdf6fb ................ - 1c394: 00ef0000 0000fff9 00000000 fbfc0000 ................ - 1c3a4: 0000fcfe 00fa0000 05fd03fa fefafe00 ................ - 1c3b4: fd00fbfc f902feff 000000ff 00fcfee9 ................ - 1c3c4: f4fe00fa fe0000fe 000000fe fe000200 ................ - 1c3d4: 0004fefc 00000000 00000000 00000000 ................ + 1c3a4: 00f900fe 00000100 fefb2103 03f90708 .........!...... + 1c3b4: 03030000 000000fd 00000000 00000000 ................ + 1c3c4: 000007df 00000000 00000000 00000000 ................ + 1c3d4: f9000000 f9000000 00000000 0000fffa ................ + 1c3e4: fd00fa00 0000f400 00000000 00000000 ................ + 1c3f4: 0000ef00 00010000 00000000 0000fd00 ................ + 1c404: 00fc00fb 000000f9 00fd03fc fafdf900 ................ + 1c414: 00f90000 00f400fd eb0000fd f7fdf6fb ................ + 1c424: 00ef0000 0000fff9 00000000 fbfc0000 ................ + 1c434: 0000fcfe 00fa0000 05fd03fa fefafe00 ................ + 1c444: fd00fbfc f902feff 000000ff 00fcfee9 ................ + 1c454: f4fe00fa fe0000fe 000000fe fe000200 ................ + 1c464: 0004fefc 00000000 00000000 00000000 ................ ... - 1c400: 00030000 00000000 fe00fa00 fb000000 ................ - 1c410: 00000003 00fbfdf9 fd00f900 0000f400 ................ - 1c420: 00e70000 00f3f7fb fe00ef00 000000fc ................ - 1c430: 00000000 fffcfd00 000001fc 0800fd04 ................ - 1c440: f8fdfd0d 06040d03 030b03f9 00070607 ................ + 1c490: 00030000 00000000 fe00fa00 fb000000 ................ + 1c4a0: 00000003 00fbfdf9 fd00f900 0000f400 ................ + 1c4b0: 00e70000 00f3f7fb fe00ef00 000000fc ................ + 1c4c0: 00000000 fffcfd00 000001fc 0800fd04 ................ + 1c4d0: f8fdfd0d 06040d03 030b03f9 00070607 ................ ... - 1c458: 0c100000 fe00fdfb 00140b14 00030000 ................ - 1c468: 00000900 000000fc 00000000 00fe0000 ................ - 1c478: 00000000 04000000 00000000 f6fefdea ................ - 1c488: ef0000f3 00000000 00000000 00000000 ................ - 1c498: 00000000 0000fc00 00000000 fe000000 ................ + 1c4e8: 0c100000 fe00fdfb 00140b14 00030000 ................ + 1c4f8: 00000900 000000fc 00000000 00fe0000 ................ + 1c508: 00000000 04000000 00000000 f6fefdea ................ + 1c518: ef0000f3 00000000 00000000 00000000 ................ + 1c528: 00000000 0000fc00 00000000 fe000000 ................ ... - 1c4b0: 00000004 fefdea00 0000f3f6 000000f6 ................ + 1c540: 00000004 fefdea00 0000f3f6 000000f6 ................ ... - 1c4d0: 000000fe fd0003fa f8030502 03feff00 ................ - 1c4e0: 00000200 00fa0000 00fbfefe 1000f6fe ................ - 1c4f0: fefa00fd 00fcfe00 fdfbf9fd fc000000 ................ + 1c560: 000000fe fd0003fa f8030502 03feff00 ................ + 1c570: 00000200 00fa0000 00fbfefe 1000f6fe ................ + 1c580: fefa00fd 00fcfe00 fdfbf9fd fc000000 ................ ... - 1c508: 0000fe00 00000000 00040000 ea000000 ................ - 1c518: f3f6fefd 00ef0000 00000000 00000d00 ................ + 1c598: 0000fe00 00000000 00040000 ea000000 ................ + 1c5a8: f3f6fefd 00ef0000 00000000 00000d00 ................ ... - 1c530: fdf800fc fdfe08fe 01fe01f6 0601f9fe ................ - 1c540: 02010201 00fdf6fa f5f9fbf6 fbfc00f6 ................ - 1c550: fefefdfd fe00fefd 040004ff 000800fe ................ + 1c5c0: fdf800fc fdfe08fe 01fe01f6 0601f9fe ................ + 1c5d0: 02010201 00fdf6fa f5f9fbf6 fbfc00f6 ................ + 1c5e0: fefefdfd fe00fefd 040004ff 000800fe ................ ... - 1c568: fe000000 0000fdfd 00ff00f9 000000fc ................ + 1c5f8: fe000000 0000fdfd 00ff00f9 000000fc ................ ... - 1c580: 000000f1 00000000 00000000 fd00fdfd ................ - 1c590: 00000000 fc0000fe fc0003fd f900fefb ................ - 1c5a0: fdfefafe 0000fc00 00000000 00000000 ................ - 1c5b0: 0800ef00 00fb0000 fd000000 0000fd00 ................ - 1c5c0: fe0000ff 0000fa00 f8f8fd0b ff030302 ................ - 1c5d0: 020402f9 fe080208 f60000f9 f9f80000 ................ - 1c5e0: 00fb0000 fc00fcfd fe00fc00 f8fe0004 ................ - 1c5f0: 000009fd 00fb00fe 00fa0300 0002fd03 ................ - 1c600: fe00f800 03fd00ff 000000fe 00fafdf6 ................ - 1c610: f40000f8 00fd0900 000200fb f8fd00fd ................ - 1c620: 0003fd00 fe000000 fd030000 fd000001 ................ - 1c630: 00fd00fe 00000000 00000000 00000000 ................ - 1c640: 00000000 000600f0 0000fe00 00010000 ................ - 1c650: 0000fdfd 06000500 00000000 01f1f000 ................ - 1c660: f604080b 09000b02 00000500 00000000 ................ - 1c670: 00000000 00000e00 00000000 00000000 ................ + 1c610: 000000f1 00000000 00000000 fd00fdfd ................ + 1c620: 00000000 fc0000fe fc0003fd f900fefb ................ + 1c630: fdfefafe 0000fc00 00000000 00000000 ................ + 1c640: 0800ef00 00fb0000 fd000000 0000fd00 ................ + 1c650: fe0000ff 0000fa00 f8f8fd0b ff030302 ................ + 1c660: 020402f9 fe080208 f60000f9 f9f80000 ................ + 1c670: 00fb0000 fc00fcfd fe00fc00 f8fe0004 ................ + 1c680: 000009fd 00fb00fe 00fa0300 0002fd03 ................ + 1c690: fe00f800 03fd00ff 000000fe 00fafdf6 ................ + 1c6a0: f40000f8 00fd0900 000200fb f8fd00fd ................ + 1c6b0: 0003fd00 fe000000 fd030000 fd000001 ................ + 1c6c0: 00fd00fe 00000000 00000000 00000000 ................ + 1c6d0: 00000000 000600f0 0000fe00 00010000 ................ + 1c6e0: 0000fdfd 06000500 00000000 01f1f000 ................ + 1c6f0: f604080b 09000b02 00000500 00000000 ................ + 1c700: 00000000 00000e00 00000000 00000000 ................ ... -0001c688 : - 1c688: 0001bad8 0001c698 0001c734 0000313d ........4...=1.. - -0001c698 : - 1c698: 02010000 05040300 08070602 0a090a09 ................ - 1c6a8: 0d000c0b 11100f0e 140c1312 00000014 ................ - 1c6b8: 18171615 1b1a1619 1e1d1d1c 1d1d201f ............. .. - 1c6c8: 23222116 251e2403 28272625 002b2a29 .!"#.$.%%&'()*+. - 1c6d8: 2e2d002c 3231302f 34342d33 2d2d3035 ,.-./0123-4450-- - 1c6e8: 37362e2e 3a333938 3c3a3b3a 09000029 ..67893::;:<)... - 1c6f8: 0000093d 00000000 00000000 00000000 =............... +0001c718 : + 1c718: 0001bb68 0001c728 0001c7c4 0000313d h...(.......=1.. + +0001c728 : + 1c728: 02010000 05040300 08070602 0a090a09 ................ + 1c738: 0d000c0b 11100f0e 140c1312 00000014 ................ + 1c748: 18171615 1b1a1619 1e1d1d1c 1d1d201f ............. .. + 1c758: 23222116 251e2403 28272625 002b2a29 .!"#.$.%%&'()*+. + 1c768: 2e2d002c 3231302f 34342d33 2d2d3035 ,.-./0123-4450-- + 1c778: 37362e2e 3a333938 3c3a3b3a 09000029 ..67893::;:<)... + 1c788: 0000093d 00000000 00000000 00000000 =............... ... -0001c734 : - 1c734: 02010000 05040300 08070602 0a090a09 ................ - 1c744: 0e0d0c0b 0c11100f 15141312 00000015 ................ - 1c754: 19181716 19191917 1a191917 19191919 ................ - 1c764: 19171917 1d1c1b03 201f1e1d 00232221 ........... !"#. - 1c774: 26250024 00272727 29282627 2a2a2626 $.%&'''.'&()&&** - 1c784: 2a272a27 2e2d2c2b 302e2f2e 09230000 '*'*+,-../.0..#. - 1c794: 00000931 00000000 00000000 00000000 1............... +0001c7c4 : + 1c7c4: 02010000 05040300 08070602 0a090a09 ................ + 1c7d4: 0e0d0c0b 0c11100f 15141312 00000015 ................ + 1c7e4: 19181716 19191917 1a191917 19191919 ................ + 1c7f4: 19171917 1d1c1b03 201f1e1d 00232221 ........... !"#. + 1c804: 26250024 00272727 29282627 2a2a2626 $.%&'''.'&()&&** + 1c814: 2a272a27 2e2d2c2b 302e2f2e 09230000 '*'*+,-../.0..#. + 1c824: 00000931 00000000 00000000 00000000 1............... ... -0001c7d0 : - 1c7d0: 1f720000 ef58ef51 ef5cef5b ef61ef5d ..r.Q.X.[.\.].a. - 1c7e0: ef65ef63 ef6cef69 ef76ef71 ef78ef77 c.e.i.l.q.v.w.x. - 1c7f0: ef98ef8e ef9cef9b efa1ef9d efa3efa2 ................ - 1c800: efb7efa4 efbeefb8 efc1efc0 efc7efc4 ................ - 1c810: efc9efc8 efe3efcb f014efe5 f017f015 ................ - 1c820: f03af037 f06cf043 f0abf074 f190f13b 7.:.C.l.t...;... - 1c830: f192f191 f194f193 f1e3f1d7 f254f23d ............=.T. - 1c840: f712f4aa 0000f7f2 ........ - -0001c848 : - 1c848: 0000f751 00000000 0000fee6 0000ff40 Q...........@... - 1c858: 0000ff48 0000ff72 0000ff88 0000ff9e H...r........... - 1c868: 0000ffd4 0000fff6 00010020 00010056 ........ ...V... - 1c878: 00010066 00010096 000100b2 000100c2 f............... - 1c888: 000100f2 0001010e 0001011e 0001014e ............N... - 1c898: 0001016a 0001017a 000101b0 j...z....... - -0001c8a4 : - 1c8a4: 023c0000 06b30478 0b2808ee 0f990d61 ..<.x.....(.a... - 1c8b4: 140611d0 186c163a 1ccb1a9d 21211ef7 ....:.l.......!! - 1c8c4: 256c2348 29ac278e 2ddf2bc7 32032ff3 H#l%.'.).+.-./.2 - 1c8d4: 36183410 3a1c381c 3e0e3c17 41ec3fff .4.6.8.:.<.>.?.A - 1c8e4: 45b643d4 496a4793 4d084b3c 508d4ecd .C.E.GjI...(...P....... - 1c974: 00011d20 00011c84 00011c9e 0001231a ............#.. - 1c984: 00011d8e 00011e66 00012138 00011c6a ....f...8!..j... - 1c994: 0001236c 000120ca 000123d0 00011d96 l#... ...#...... - 1c9a4: 00011d9e 00011ce0 00011da6 00011ef0 ................ - 1c9b4: 00011dae 00012072 000120b0 000123ac ....r ... ...#.. - 1c9c4: 00011e9e 00011ec2 00012062 00011f0a ........b ...... - 1c9d4: 0001202a 00011e1c 000122be 000122f6 * ......."...".. - 1c9e4: 00011dee 00011d4e 00012194 00011f5c ....N....!..\... - 1c9f4: 00011fcc 00012262 00011fec 000121f8 ....b".......!.. - 1ca04: 00012248 94d38c51 0000ffff 00008410 H"..Q........... - 1ca14: 008c80ef 00006325 6c6c6548 4f57206f ....%c..Hello WO - 1ca24: 0a646c72 00000000 2b302d23 6c680020 rld.....#-0+ .hl - 1ca34: 6665004c 47464567 32313000 36353433 L.efgEFG.0123456 - 1ca44: 41393837 45444342 31300046 35343332 789ABCDEF.012345 - 1ca54: 39383736 64636261 00006665 6789abcdef.. - -0001ca60 <_init>: - 1ca60: b5f8 push {r3, r4, r5, r6, r7, lr} - 1ca62: 46c0 nop ; (mov r8, r8) - 1ca64: bcf8 pop {r3, r4, r5, r6, r7} - 1ca66: bc08 pop {r3} - 1ca68: 469e mov lr, r3 - 1ca6a: 4770 bx lr - -0001ca6c <__init_array_start>: - 1ca6c: 000000dd .word 0x000000dd - -0001ca70 <_fini>: - 1ca70: b5f8 push {r3, r4, r5, r6, r7, lr} - 1ca72: 46c0 nop ; (mov r8, r8) - 1ca74: bcf8 pop {r3, r4, r5, r6, r7} - 1ca76: bc08 pop {r3} - 1ca78: 469e mov lr, r3 - 1ca7a: 4770 bx lr - -0001ca7c <__fini_array_start>: - 1ca7c: 000000b5 .word 0x000000b5 +0001c860 : + 1c860: 1f720000 ef58ef51 ef5cef5b ef61ef5d ..r.Q.X.[.\.].a. + 1c870: ef65ef63 ef6cef69 ef76ef71 ef78ef77 c.e.i.l.q.v.w.x. + 1c880: ef98ef8e ef9cef9b efa1ef9d efa3efa2 ................ + 1c890: efb7efa4 efbeefb8 efc1efc0 efc7efc4 ................ + 1c8a0: efc9efc8 efe3efcb f014efe5 f017f015 ................ + 1c8b0: f03af037 f06cf043 f0abf074 f190f13b 7.:.C.l.t...;... + 1c8c0: f192f191 f194f193 f1e3f1d7 f254f23d ............=.T. + 1c8d0: f712f4aa 0000f7f2 ........ + +0001c8d8 : + 1c8d8: 0000f7b9 00000000 0000ff4e 0000ffa8 ........N....... + 1c8e8: 0000ffb0 0000ffda 0000fff0 00010006 ................ + 1c8f8: 0001003c 0001005e 00010088 000100be <...^........... + 1c908: 000100ce 000100fe 0001011a 0001012a ............*... + 1c918: 0001015a 00010176 00010186 000101b6 Z...v........... + 1c928: 000101d2 000101e2 00010218 ............ + +0001c934 : + 1c934: 023c0000 06b30478 0b2808ee 0f990d61 ..<.x.....(.a... + 1c944: 140611d0 186c163a 1ccb1a9d 21211ef7 ....:.l.......!! + 1c954: 256c2348 29ac278e 2ddf2bc7 32032ff3 H#l%.'.).+.-./.2 + 1c964: 36183410 3a1c381c 3e0e3c17 41ec3fff .4.6.8.:.<.>.?.A + 1c974: 45b643d4 496a4793 4d084b3c 508d4ecd .C.E.GjI: + 1caf0: b5f8 push {r3, r4, r5, r6, r7, lr} + 1caf2: 46c0 nop ; (mov r8, r8) + 1caf4: bcf8 pop {r3, r4, r5, r6, r7} + 1caf6: bc08 pop {r3} + 1caf8: 469e mov lr, r3 + 1cafa: 4770 bx lr + +0001cafc <__init_array_start>: + 1cafc: 000000dd .word 0x000000dd + +0001cb00 <_fini>: + 1cb00: b5f8 push {r3, r4, r5, r6, r7, lr} + 1cb02: 46c0 nop ; (mov r8, r8) + 1cb04: bcf8 pop {r3, r4, r5, r6, r7} + 1cb06: bc08 pop {r3} + 1cb08: 469e mov lr, r3 + 1cb0a: 4770 bx lr + +0001cb0c <__fini_array_start>: + 1cb0c: 000000b5 .word 0x000000b5 Disassembly of section .relocate: @@ -61992,21 +62118,21 @@ void portable_delay_cycles(unsigned long n) 2000000c: 0001 0000 .... 20000010 : -20000010: 90a0 0001 8bc8 0001 8ba0 0001 c688 0001 ................ +20000010: 9130 0001 8c58 0001 8c30 0001 c718 0001 0...X...0....... 20000020: 0010 5002 0000 0000 0000 0000 0000 0000 ...P............ 20000030 : -20000030: f255 0000 e849 0000 0012 0003 0000 0000 U...I........... +20000030: f2bd 0000 e8b1 0000 0012 0003 0000 0000 ................ 20000040: 0010 2000 ... 20000044 : 20000044: 2bec 2000 0010 0000 2bfc 2000 0010 0000 .+. .....+. .... 20000054 <_lv_txt_encoded_get_char_id>: -20000054: 16ed 0001 .... +20000054: 1755 0001 U... 20000058 <_lv_txt_encoded_next>: -20000058: 15dd 0001 .... +20000058: 1645 0001 E... 2000005c : 2000005c: 0001 0000 .... diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.map b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.map index 25195e1..84c9754 100644 --- a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.map +++ b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.map @@ -1967,14 +1967,10 @@ Discarded input sections .bss 0x00000000 0x0 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o .text._usart_write_buffer 0x00000000 0x3c src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o - .text._usart_read_buffer - 0x00000000 0x50 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o .text.usart_unregister_callback 0x00000000 0x18 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o .text.usart_write_job 0x00000000 0x1c src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o - .text.usart_read_job - 0x00000000 0x10 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o .text.usart_write_buffer_job 0x00000000 0x20 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o .text.usart_read_buffer_job @@ -17537,8 +17533,6 @@ Discarded input sections .text 0x00000000 0x0 src/drivers/p_usart.o .data 0x00000000 0x0 src/drivers/p_usart.o .bss 0x00000000 0x0 src/drivers/p_usart.o - .text.p_debug_start_service - 0x00000000 0x18 src/drivers/p_usart.o .bss.cpu_irq_critical_section_counter 0x00000000 0x4 src/drivers/p_usart.o .bss.cpu_irq_prev_interrupt_state @@ -18230,7 +18224,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtn.o 0x00002000 STACK_SIZE = DEFINED (STACK_SIZE)?STACK_SIZE:DEFINED (__stack_size__)?__stack_size__:0x2000 -.text 0x00000000 0x1ca80 +.text 0x00000000 0x1cb10 0x00000000 . = ALIGN (0x4) 0x00000000 _sfixed = . *(.vectors .vectors.*) @@ -18245,1252 +18239,1261 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin 0x00000144 0x24 src/drivers/p_time.o 0x00000144 SysTick_Handler .text.oracle_init - 0x00000168 0x8c src/oracle.o + 0x00000168 0x94 src/oracle.o 0x00000168 oracle_init .text.oracle_service - 0x000001f4 0x40 src/oracle.o - 0x000001f4 oracle_service + 0x000001fc 0x40 src/oracle.o + 0x000001fc oracle_service .text.long_division - 0x00000234 0xba src/ASF/sam0/drivers/sercom/sercom.o + 0x0000023c 0xba src/ASF/sam0/drivers/sercom/sercom.o .text._sercom_get_sync_baud_val - 0x000002ee 0x28 src/ASF/sam0/drivers/sercom/sercom.o - 0x000002ee _sercom_get_sync_baud_val - *fill* 0x00000316 0x2 + 0x000002f6 0x28 src/ASF/sam0/drivers/sercom/sercom.o + 0x000002f6 _sercom_get_sync_baud_val + *fill* 0x0000031e 0x2 .text._sercom_get_async_baud_val - 0x00000318 0x94 src/ASF/sam0/drivers/sercom/sercom.o - 0x00000318 _sercom_get_async_baud_val + 0x00000320 0x94 src/ASF/sam0/drivers/sercom/sercom.o + 0x00000320 _sercom_get_async_baud_val .text.sercom_set_gclk_generator - 0x000003ac 0x4c src/ASF/sam0/drivers/sercom/sercom.o - 0x000003ac sercom_set_gclk_generator + 0x000003b4 0x4c src/ASF/sam0/drivers/sercom/sercom.o + 0x000003b4 sercom_set_gclk_generator .text._sercom_get_default_pad - 0x000003f8 0x178 src/ASF/sam0/drivers/sercom/sercom.o - 0x000003f8 _sercom_get_default_pad + 0x00000400 0x178 src/ASF/sam0/drivers/sercom/sercom.o + 0x00000400 _sercom_get_default_pad .text._sercom_get_sercom_inst_index - 0x00000570 0x38 src/ASF/sam0/drivers/sercom/sercom.o - 0x00000570 _sercom_get_sercom_inst_index + 0x00000578 0x38 src/ASF/sam0/drivers/sercom/sercom.o + 0x00000578 _sercom_get_sercom_inst_index .text.usart_init - 0x000005a8 0x33c src/ASF/sam0/drivers/sercom/usart/usart.o - 0x000005a8 usart_init + 0x000005b0 0x33c src/ASF/sam0/drivers/sercom/usart/usart.o + 0x000005b0 usart_init .text.usart_write_wait - 0x000008e4 0x26 src/ASF/sam0/drivers/sercom/usart/usart.o - 0x000008e4 usart_write_wait - *fill* 0x0000090a 0x2 + 0x000008ec 0x26 src/ASF/sam0/drivers/sercom/usart/usart.o + 0x000008ec usart_write_wait + *fill* 0x00000912 0x2 .text.usart_write_buffer_wait - 0x0000090c 0xbc src/ASF/sam0/drivers/sercom/usart/usart.o - 0x0000090c usart_write_buffer_wait + 0x00000914 0xbc src/ASF/sam0/drivers/sercom/usart/usart.o + 0x00000914 usart_write_buffer_wait + .text._usart_read_buffer + 0x000009d0 0x50 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + 0x000009d0 _usart_read_buffer .text.usart_register_callback - 0x000009c8 0x18 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o - 0x000009c8 usart_register_callback + 0x00000a20 0x18 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + 0x00000a20 usart_register_callback + .text.usart_read_job + 0x00000a38 0x10 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + 0x00000a38 usart_read_job .text._usart_interrupt_handler - 0x000009e0 0x194 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o - 0x000009e0 _usart_interrupt_handler + 0x00000a48 0x194 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + 0x00000a48 _usart_interrupt_handler .text._sercom_default_handler - 0x00000b74 0x2 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - *fill* 0x00000b76 0x2 + 0x00000bdc 0x2 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + *fill* 0x00000bde 0x2 .text._sercom_set_handler - 0x00000b78 0x3c src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000b78 _sercom_set_handler + 0x00000be0 0x3c src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000be0 _sercom_set_handler .text._sercom_get_interrupt_vector - 0x00000bb4 0x30 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000bb4 _sercom_get_interrupt_vector + 0x00000c1c 0x30 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000c1c _sercom_get_interrupt_vector .text.SERCOM0_Handler - 0x00000be4 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000be4 SERCOM0_Handler + 0x00000c4c 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000c4c SERCOM0_Handler .text.SERCOM1_Handler - 0x00000bf4 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000bf4 SERCOM1_Handler + 0x00000c5c 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000c5c SERCOM1_Handler .text.SERCOM2_Handler - 0x00000c04 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000c04 SERCOM2_Handler + 0x00000c6c 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000c6c SERCOM2_Handler .text.SERCOM3_Handler - 0x00000c14 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000c14 SERCOM3_Handler + 0x00000c7c 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000c7c SERCOM3_Handler .text.SERCOM4_Handler - 0x00000c24 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000c24 SERCOM4_Handler + 0x00000c8c 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000c8c SERCOM4_Handler .text.SERCOM5_Handler - 0x00000c34 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - 0x00000c34 SERCOM5_Handler + 0x00000c9c 0x10 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + 0x00000c9c SERCOM5_Handler .text.cpu_irq_enter_critical - 0x00000c44 0x40 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o - 0x00000c44 cpu_irq_enter_critical + 0x00000cac 0x40 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o + 0x00000cac cpu_irq_enter_critical .text.cpu_irq_leave_critical - 0x00000c84 0x30 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o - 0x00000c84 cpu_irq_leave_critical + 0x00000cec 0x30 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o + 0x00000cec cpu_irq_leave_critical .text.system_board_init - 0x00000cb4 0x38 src/ASF/sam0/boards/samd21_xplained_pro/board_init.o - 0x00000cb4 board_init - 0x00000cb4 system_board_init + 0x00000d1c 0x38 src/ASF/sam0/boards/samd21_xplained_pro/board_init.o + 0x00000d1c board_init + 0x00000d1c system_board_init .text.port_pin_set_config - 0x00000cec 0x24 src/ASF/sam0/drivers/port/port.o - 0x00000cec port_pin_set_config + 0x00000d54 0x24 src/ASF/sam0/drivers/port/port.o + 0x00000d54 port_pin_set_config .text.port_group_set_config - 0x00000d10 0x24 src/ASF/sam0/drivers/port/port.o - 0x00000d10 port_group_set_config + 0x00000d78 0x24 src/ASF/sam0/drivers/port/port.o + 0x00000d78 port_group_set_config .text.system_clock_source_get_hz - 0x00000d34 0x94 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o - 0x00000d34 system_clock_source_get_hz + 0x00000d9c 0x94 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + 0x00000d9c system_clock_source_get_hz .text.system_clock_source_osc8m_set_config - 0x00000dc8 0x3c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o - 0x00000dc8 system_clock_source_osc8m_set_config + 0x00000e30 0x3c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + 0x00000e30 system_clock_source_osc8m_set_config .text.system_clock_source_enable - 0x00000e04 0xa8 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o - 0x00000e04 system_clock_source_enable + 0x00000e6c 0xa8 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + 0x00000e6c system_clock_source_enable .text.system_clock_init - 0x00000eac 0x98 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o - 0x00000eac system_clock_init + 0x00000f14 0x98 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + 0x00000f14 system_clock_init .text.system_gclk_init - 0x00000f44 0x24 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x00000f44 system_gclk_init + 0x00000fac 0x24 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x00000fac system_gclk_init .text.system_gclk_gen_set_config - 0x00000f68 0xb8 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x00000f68 system_gclk_gen_set_config + 0x00000fd0 0xb8 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x00000fd0 system_gclk_gen_set_config .text.system_gclk_gen_enable - 0x00001020 0x44 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x00001020 system_gclk_gen_enable + 0x00001088 0x44 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x00001088 system_gclk_gen_enable .text.system_gclk_gen_get_hz - 0x00001064 0x8c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x00001064 system_gclk_gen_get_hz + 0x000010cc 0x8c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x000010cc system_gclk_gen_get_hz .text.system_gclk_chan_enable - 0x000010f0 0x30 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x000010f0 system_gclk_chan_enable + 0x00001158 0x30 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x00001158 system_gclk_chan_enable .text.system_gclk_chan_disable - 0x00001120 0x5c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x00001120 system_gclk_chan_disable + 0x00001188 0x5c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x00001188 system_gclk_chan_disable .text.system_gclk_chan_set_config - 0x0000117c 0x1c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x0000117c system_gclk_chan_set_config + 0x000011e4 0x1c src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x000011e4 system_gclk_chan_set_config .text.system_gclk_chan_get_hz - 0x00001198 0x34 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - 0x00001198 system_gclk_chan_get_hz + 0x00001200 0x34 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + 0x00001200 system_gclk_chan_get_hz .text._system_pinmux_config - 0x000011cc 0xa8 src/ASF/sam0/drivers/system/pinmux/pinmux.o + 0x00001234 0xa8 src/ASF/sam0/drivers/system/pinmux/pinmux.o .text.system_pinmux_pin_set_config - 0x00001274 0x30 src/ASF/sam0/drivers/system/pinmux/pinmux.o - 0x00001274 system_pinmux_pin_set_config + 0x000012dc 0x30 src/ASF/sam0/drivers/system/pinmux/pinmux.o + 0x000012dc system_pinmux_pin_set_config .text.system_pinmux_group_set_config - 0x000012a4 0x34 src/ASF/sam0/drivers/system/pinmux/pinmux.o - 0x000012a4 system_pinmux_group_set_config + 0x0000130c 0x34 src/ASF/sam0/drivers/system/pinmux/pinmux.o + 0x0000130c system_pinmux_group_set_config .text._system_dummy_init - 0x000012d8 0x2 src/ASF/sam0/drivers/system/system.o - 0x000012d8 _system_extint_init - 0x000012d8 _system_events_init - 0x000012d8 _system_dummy_init - 0x000012d8 _system_divas_init - *fill* 0x000012da 0x2 + 0x00001340 0x2 src/ASF/sam0/drivers/system/system.o + 0x00001340 _system_extint_init + 0x00001340 _system_events_init + 0x00001340 _system_dummy_init + 0x00001340 _system_divas_init + *fill* 0x00001342 0x2 .text.system_init - 0x000012dc 0x2c src/ASF/sam0/drivers/system/system.o - 0x000012dc system_init + 0x00001344 0x2c src/ASF/sam0/drivers/system/system.o + 0x00001344 system_init .text.Dummy_Handler - 0x00001308 0x2 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o - 0x00001308 DMAC_Handler - 0x00001308 HardFault_Handler - 0x00001308 AC_Handler - 0x00001308 PendSV_Handler - 0x00001308 NMI_Handler - 0x00001308 TC7_Handler - 0x00001308 ADC_Handler - 0x00001308 TCC1_Handler - 0x00001308 TCC0_Handler - 0x00001308 RTC_Handler - 0x00001308 EIC_Handler - 0x00001308 TC6_Handler - 0x00001308 WDT_Handler - 0x00001308 TC4_Handler - 0x00001308 USB_Handler - 0x00001308 TC3_Handler - 0x00001308 Dummy_Handler - 0x00001308 PM_Handler - 0x00001308 SVC_Handler - 0x00001308 TCC2_Handler - 0x00001308 EVSYS_Handler - 0x00001308 I2S_Handler - 0x00001308 NVMCTRL_Handler - 0x00001308 DAC_Handler - 0x00001308 PTC_Handler - 0x00001308 TC5_Handler - 0x00001308 SYSCTRL_Handler - *fill* 0x0000130a 0x2 + 0x00001370 0x2 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o + 0x00001370 DMAC_Handler + 0x00001370 HardFault_Handler + 0x00001370 AC_Handler + 0x00001370 PendSV_Handler + 0x00001370 NMI_Handler + 0x00001370 TC7_Handler + 0x00001370 ADC_Handler + 0x00001370 TCC1_Handler + 0x00001370 TCC0_Handler + 0x00001370 RTC_Handler + 0x00001370 EIC_Handler + 0x00001370 TC6_Handler + 0x00001370 WDT_Handler + 0x00001370 TC4_Handler + 0x00001370 USB_Handler + 0x00001370 TC3_Handler + 0x00001370 Dummy_Handler + 0x00001370 PM_Handler + 0x00001370 SVC_Handler + 0x00001370 TCC2_Handler + 0x00001370 EVSYS_Handler + 0x00001370 I2S_Handler + 0x00001370 NVMCTRL_Handler + 0x00001370 DAC_Handler + 0x00001370 PTC_Handler + 0x00001370 TC5_Handler + 0x00001370 SYSCTRL_Handler + *fill* 0x00001372 0x2 .text.Reset_Handler - 0x0000130c 0xe4 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o - 0x0000130c Reset_Handler - .text._sbrk 0x000013f0 0x24 src/ASF/sam0/utils/syscalls/gcc/syscalls.o - 0x000013f0 _sbrk + 0x00001374 0xe4 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o + 0x00001374 Reset_Handler + .text._sbrk 0x00001458 0x24 src/ASF/sam0/utils/syscalls/gcc/syscalls.o + 0x00001458 _sbrk .text.lv_debug_check_null - 0x00001414 0x8 src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o - 0x00001414 lv_debug_check_null + 0x0000147c 0x8 src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o + 0x0000147c lv_debug_check_null .text.lv_debug_log_error - 0x0000141c 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o - 0x0000141c lv_debug_log_error + 0x00001484 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o + 0x00001484 lv_debug_log_error .text.lv_disp_get_scr_act - 0x00001444 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o - 0x00001444 lv_disp_get_scr_act + 0x000014ac 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o + 0x000014ac lv_disp_get_scr_act .text.lv_disp_get_layer_top - 0x00001460 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o - 0x00001460 lv_disp_get_layer_top + 0x000014c8 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o + 0x000014c8 lv_disp_get_layer_top .text.lv_disp_get_layer_sys - 0x0000147c 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o - 0x0000147c lv_disp_get_layer_sys + 0x000014e4 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o + 0x000014e4 lv_disp_get_layer_sys .text.obj_to_foreground - 0x00001498 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x00001500 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o .text.focus_next_core - 0x000014cc 0xfc src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x00001534 0xfc src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o .text._lv_group_init - 0x000015c8 0x14 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - 0x000015c8 _lv_group_init + 0x00001630 0x14 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x00001630 _lv_group_init .text.lv_group_focus_next - 0x000015dc 0x18 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - 0x000015dc lv_group_focus_next + 0x00001644 0x18 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x00001644 lv_group_focus_next .text.lv_group_focus_prev - 0x000015f4 0x18 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - 0x000015f4 lv_group_focus_prev + 0x0000165c 0x18 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000165c lv_group_focus_prev .text.lv_group_refocus - 0x0000160c 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x00001674 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o .text.lv_group_add_obj - 0x00001640 0x9c src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - 0x00001640 lv_group_add_obj + 0x000016a8 0x9c src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x000016a8 lv_group_add_obj .text.lv_group_get_focused - 0x000016dc 0x16 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - 0x000016dc lv_group_get_focused + 0x00001744 0x16 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x00001744 lv_group_get_focused .text.lv_group_get_editing - 0x000016f2 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - 0x000016f2 lv_group_get_editing - *fill* 0x00001702 0x2 + 0x0000175a 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000175a lv_group_get_editing + *fill* 0x0000176a 0x2 .text.lv_indev_get_act - 0x00001704 0xc src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00001704 lv_indev_get_act + 0x0000176c 0xc src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o + 0x0000176c lv_indev_get_act .text.lv_indev_reset - 0x00001710 0x80 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00001710 lv_indev_reset + 0x00001778 0x80 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o + 0x00001778 lv_indev_reset .text._lv_indev_init - 0x00001790 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00001790 _lv_indev_init + 0x000017f8 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o + 0x000017f8 _lv_indev_init .text.refresh_children_position - 0x000017a0 0x58 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - .text.lv_init 0x000017f8 0xb4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000017f8 lv_init + 0x00001808 0x58 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + .text.lv_init 0x00001860 0xb4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001860 lv_init .text.lv_obj_set_click - 0x000018ac 0x38 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000018ac lv_obj_set_click + 0x00001914 0x38 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001914 lv_obj_set_click .text.lv_event_send_func - 0x000018e4 0xc4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000018e4 lv_event_send_func + 0x0000194c 0xc4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000194c lv_event_send_func .text.lv_event_send - 0x000019a8 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000019a8 lv_event_send + 0x00001a10 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001a10 lv_event_send .text.lv_signal_send - 0x000019ec 0x18 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000019ec lv_signal_send + 0x00001a54 0x18 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001a54 lv_signal_send .text.lv_obj_refresh_ext_draw_pad - 0x00001a04 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001a04 lv_obj_refresh_ext_draw_pad + 0x00001a6c 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001a6c lv_obj_refresh_ext_draw_pad .text.lv_obj_get_parent - 0x00001a38 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001a38 lv_obj_get_parent + 0x00001aa0 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001aa0 lv_obj_get_parent .text.lv_obj_get_screen - 0x00001a60 0x3c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001a60 lv_obj_get_screen + 0x00001ac8 0x3c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001ac8 lv_obj_get_screen .text.lv_obj_get_disp - 0x00001a9c 0x8c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001a9c lv_obj_get_disp + 0x00001b04 0x8c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001b04 lv_obj_get_disp .text.lv_obj_get_child - 0x00001b28 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001b28 lv_obj_get_child + 0x00001b90 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001b90 lv_obj_get_child .text.lv_obj_get_coords - 0x00001b6c 0x3c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001b6c lv_obj_get_coords + 0x00001bd4 0x3c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001bd4 lv_obj_get_coords .text.lv_obj_get_x - 0x00001ba8 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001ba8 lv_obj_get_x + 0x00001c10 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001c10 lv_obj_get_x .text.lv_obj_get_y - 0x00001bec 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001bec lv_obj_get_y + 0x00001c54 0x44 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001c54 lv_obj_get_y .text.lv_obj_get_width - 0x00001c30 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001c30 lv_obj_get_width + 0x00001c98 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001c98 lv_obj_get_width .text.lv_obj_get_height - 0x00001c60 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001c60 lv_obj_get_height + 0x00001cc8 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001cc8 lv_obj_get_height .text.lv_obj_get_style_list - 0x00001c90 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001c90 lv_obj_get_style_list + 0x00001cf8 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001cf8 lv_obj_get_style_list .text.trans_del - 0x00001cc0 0xac src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001d28 0xac src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_clean_style_list - 0x00001d6c 0x2c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001d6c lv_obj_clean_style_list + 0x00001dd4 0x2c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001dd4 lv_obj_clean_style_list .text.trans_anim_ready_cb - 0x00001d98 0x84 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001e00 0x84 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_get_hidden - 0x00001e1c 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001e1c lv_obj_get_hidden + 0x00001e84 0x30 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001e84 lv_obj_get_hidden .text.lv_obj_invalidate_area - 0x00001e4c 0xfc src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001e4c lv_obj_invalidate_area + 0x00001eb4 0xfc src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001eb4 lv_obj_invalidate_area .text.lv_obj_invalidate - 0x00001f48 0x68 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001f48 lv_obj_invalidate + 0x00001fb0 0x68 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00001fb0 lv_obj_invalidate .text.lv_obj_move_foreground - 0x00001fb0 0x6c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00001fb0 lv_obj_move_foreground + 0x00002018 0x6c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002018 lv_obj_move_foreground .text.lv_obj_set_pos - 0x0000201c 0xc4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000201c lv_obj_set_pos + 0x00002084 0xc4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002084 lv_obj_set_pos .text.lv_obj_align - 0x000020e0 0xd0 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000020e0 lv_obj_align + 0x00002148 0xd0 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002148 lv_obj_align .text.lv_obj_align_origo - 0x000021b0 0x2cc src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000021b0 lv_obj_align_origo + 0x00002218 0x2cc src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002218 lv_obj_align_origo .text.lv_obj_realign - 0x0000247c 0x68 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000247c lv_obj_realign + 0x000024e4 0x68 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000024e4 lv_obj_realign .text.refresh_children_style - 0x000024e4 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000254c 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_refresh_style - 0x00002524 0xec src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002524 lv_obj_refresh_style + 0x0000258c 0xec src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000258c lv_obj_refresh_style .text.lv_obj_reset_style_list - 0x00002610 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002610 lv_obj_reset_style_list + 0x00002678 0x1c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002678 lv_obj_reset_style_list .text.report_style_mod_core - 0x0000262c 0xa0 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002694 0xa0 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_report_style_mod - 0x000026cc 0x64 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000026cc lv_obj_report_style_mod + 0x00002734 0x64 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002734 lv_obj_report_style_mod .text.trans_anim_cb - 0x00002730 0x124 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002798 0x124 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_get_base_dir - 0x00002854 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002854 lv_obj_get_base_dir + 0x000028bc 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000028bc lv_obj_get_base_dir .text.lv_obj_create - 0x0000287c 0x448 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000287c lv_obj_create + 0x000028e4 0x448 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000028e4 lv_obj_create .text.lv_obj_is_protected - 0x00002cc4 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002cc4 lv_obj_is_protected + 0x00002d2c 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002d2c lv_obj_is_protected .text.lv_obj_get_state - 0x00002cf8 0x50 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002cf8 lv_obj_get_state + 0x00002d60 0x50 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002d60 lv_obj_get_state .text._lv_obj_get_style_int - 0x00002d48 0xc0 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002d48 _lv_obj_get_style_int + 0x00002db0 0xc0 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002db0 _lv_obj_get_style_int .text._lv_obj_get_style_color - 0x00002e08 0xa4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002e08 _lv_obj_get_style_color + 0x00002e70 0xa4 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002e70 _lv_obj_get_style_color .text._lv_obj_get_style_opa - 0x00002eac 0xac src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002eac _lv_obj_get_style_opa + 0x00002f14 0xac src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002f14 _lv_obj_get_style_opa .text._lv_obj_get_style_ptr - 0x00002f58 0xb8 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002f58 _lv_obj_get_style_ptr + 0x00002fc0 0xb8 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002fc0 _lv_obj_get_style_ptr .text.trans_anim_start_cb - 0x00003010 0x74 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003078 0x74 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_set_state - 0x00003084 0x494 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003084 lv_obj_set_state + 0x000030ec 0x494 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000030ec lv_obj_set_state .text.lv_obj_add_state - 0x00003518 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003518 lv_obj_add_state + 0x00003580 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003580 lv_obj_add_state .text.lv_obj_clear_state - 0x00003558 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003558 lv_obj_clear_state + 0x000035c0 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000035c0 lv_obj_clear_state .text.lv_obj_get_group - 0x00003598 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003598 lv_obj_get_group + 0x00003600 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003600 lv_obj_get_group .text.lv_obj_is_focused - 0x000035c0 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000035c0 lv_obj_is_focused + 0x00003628 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003628 lv_obj_is_focused .text.lv_obj_handle_get_type_signal - 0x00003600 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003600 lv_obj_handle_get_type_signal + 0x00003668 0x28 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003668 lv_obj_handle_get_type_signal .text.lv_obj_init_draw_rect_dsc - 0x00003628 0x350 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003628 lv_obj_init_draw_rect_dsc + 0x00003690 0x350 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003690 lv_obj_init_draw_rect_dsc .text.lv_obj_design - 0x00003978 0x254 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000039e0 0x254 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_get_draw_rect_ext_pad_size - 0x00003bcc 0x20c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003bcc lv_obj_get_draw_rect_ext_pad_size + 0x00003c34 0x20c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003c34 lv_obj_get_draw_rect_ext_pad_size .text.lv_obj_signal - 0x00003dd8 0x118 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003e40 0x118 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_refr_get_top_obj - 0x00003ef0 0x9c src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00003f58 0x9c src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_obj - 0x00003f8c 0xf4 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00003ff4 0xf4 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_obj_and_children - 0x00004080 0x90 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x000040e8 0x90 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_vdb_flush - 0x00004110 0x80 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00004178 0x80 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_area_part - 0x00004190 0xa4 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x000041f8 0xa4 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o .text._lv_refr_init - 0x00004234 0x2 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00004234 _lv_refr_init - *fill* 0x00004236 0x2 + 0x0000429c 0x2 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x0000429c _lv_refr_init + *fill* 0x0000429e 0x2 .text._lv_inv_area - 0x00004238 0x110 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00004238 _lv_inv_area + 0x000042a0 0x110 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x000042a0 _lv_inv_area .text._lv_refr_get_disp_refreshing - 0x00004348 0xc src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00004348 _lv_refr_get_disp_refreshing + 0x000043b0 0xc src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x000043b0 _lv_refr_get_disp_refreshing .text._lv_disp_refr_task - 0x00004354 0x590 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00004354 _lv_disp_refr_task + 0x000043bc 0x590 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + 0x000043bc _lv_disp_refr_task .text.lv_style_init - 0x000048e4 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000048e4 lv_style_init + 0x0000494c 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000494c lv_style_init .text.lv_style_list_init - 0x000048f4 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000048f4 lv_style_list_init + 0x0000495c 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000495c lv_style_list_init .text._lv_style_list_remove_style - 0x00004904 0xb0 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004904 _lv_style_list_remove_style + 0x0000496c 0xb0 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000496c _lv_style_list_remove_style .text._lv_style_list_add_style - 0x000049b4 0xa8 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000049b4 _lv_style_list_add_style + 0x00004a1c 0xa8 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004a1c _lv_style_list_add_style .text.get_alloc_local_style - 0x00004a5c 0x84 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004ac4 0x84 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o .text.lv_style_reset - 0x00004ae0 0x14 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004ae0 lv_style_reset + 0x00004b48 0x14 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004b48 lv_style_reset .text._lv_style_get_mem_size - 0x00004af4 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004af4 _lv_style_get_mem_size + 0x00004b5c 0x40 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004b5c _lv_style_get_mem_size .text.lv_style_copy - 0x00004b34 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004b34 lv_style_copy + 0x00004b9c 0x34 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004b9c lv_style_copy .text.lv_style_remove_prop - 0x00004b68 0x124 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004b68 lv_style_remove_prop + 0x00004bd0 0x124 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004bd0 lv_style_remove_prop .text._lv_style_set_int - 0x00004c8c 0x160 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004c8c _lv_style_set_int + 0x00004cf4 0x160 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004cf4 _lv_style_set_int .text._lv_style_set_color - 0x00004dec 0x160 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004dec _lv_style_set_color + 0x00004e54 0x160 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004e54 _lv_style_set_color .text._lv_style_set_opa - 0x00004f4c 0x154 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00004f4c _lv_style_set_opa + 0x00004fb4 0x154 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00004fb4 _lv_style_set_opa .text._lv_style_set_ptr - 0x000050a0 0x17c src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000050a0 _lv_style_set_ptr + 0x00005108 0x17c src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005108 _lv_style_set_ptr .text._lv_style_get_int - 0x0000521c 0xe0 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x0000521c _lv_style_get_int + 0x00005284 0xe0 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005284 _lv_style_get_int .text._lv_style_get_opa - 0x000052fc 0xda src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000052fc _lv_style_get_opa + 0x00005364 0xda src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005364 _lv_style_get_opa .text._lv_style_get_color - 0x000053d6 0xe0 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000053d6 _lv_style_get_color + 0x0000543e 0xe0 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000543e _lv_style_get_color .text._lv_style_get_ptr - 0x000054b6 0xe8 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000054b6 _lv_style_get_ptr + 0x0000551e 0xe8 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000551e _lv_style_get_ptr .text.lv_style_list_get_local_style - 0x0000559e 0x1a src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x0000559e lv_style_list_get_local_style + 0x00005606 0x1a src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005606 lv_style_list_get_local_style .text._lv_style_list_get_transition_style - 0x000055b8 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000055b8 _lv_style_list_get_transition_style + 0x00005620 0x10 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005620 _lv_style_list_get_transition_style .text._lv_style_list_reset - 0x000055c8 0x70 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000055c8 _lv_style_list_reset + 0x00005630 0x70 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005630 _lv_style_list_reset .text.lv_style_list_copy - 0x00005638 0xc8 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00005638 lv_style_list_copy + 0x000056a0 0xc8 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x000056a0 lv_style_list_copy .text._lv_style_list_add_trans_style - 0x00005700 0x78 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00005700 _lv_style_list_add_trans_style + 0x00005768 0x78 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005768 _lv_style_list_add_trans_style .text._lv_style_list_get_int - 0x00005778 0xd4 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00005778 _lv_style_list_get_int + 0x000057e0 0xd4 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x000057e0 _lv_style_list_get_int .text._lv_style_list_get_color - 0x0000584c 0xcc src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x0000584c _lv_style_list_get_color + 0x000058b4 0xcc src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x000058b4 _lv_style_list_get_color .text._lv_style_list_get_opa - 0x00005918 0xd4 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x00005918 _lv_style_list_get_opa + 0x00005980 0xd4 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005980 _lv_style_list_get_opa .text._lv_style_list_get_ptr - 0x000059ec 0xbc src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - 0x000059ec _lv_style_list_get_ptr + 0x00005a54 0xbc src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + 0x00005a54 _lv_style_list_get_ptr .text.color_blend_true_color_additive - 0x00005aa8 0xa6 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00005b10 0xa6 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .text.color_blend_true_color_subtractive - 0x00005b4e 0xb6 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00005bb6 0xb6 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .text._lv_blend_fill - 0x00005c04 0xce4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - 0x00005c04 _lv_blend_fill + 0x00005c6c 0xce4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00005c6c _lv_blend_fill .text._lv_blend_map - 0x000068e8 0xc64 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - 0x000068e8 _lv_blend_map + 0x00006950 0xc64 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00006950 _lv_blend_map .text.lv_draw_map - 0x0000754c 0x8a8 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000075b4 0x8a8 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o .text.show_error - 0x00007df4 0x50 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00007e5c 0x50 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o .text.lv_draw_img_dsc_init - 0x00007e44 0x38 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00007e44 lv_draw_img_dsc_init + 0x00007eac 0x38 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00007eac lv_draw_img_dsc_init .text.lv_img_cf_get_px_size - 0x00007e7c 0x30 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00007e7c lv_img_cf_get_px_size + 0x00007ee4 0x30 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00007ee4 lv_img_cf_get_px_size .text.lv_img_cf_is_chroma_keyed - 0x00007eac 0x14 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00007eac lv_img_cf_is_chroma_keyed + 0x00007f14 0x14 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00007f14 lv_img_cf_is_chroma_keyed .text.lv_img_cf_has_alpha - 0x00007ec0 0x18 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00007ec0 lv_img_cf_has_alpha + 0x00007f28 0x18 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00007f28 lv_img_cf_has_alpha .text.lv_draw_img - 0x00007ed8 0x220 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00007ed8 lv_draw_img + 0x00007f40 0x220 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00007f40 lv_draw_img .text.lv_img_src_get_type - 0x000080f8 0x1a src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x000080f8 lv_img_src_get_type - *fill* 0x00008112 0x2 + 0x00008160 0x1a src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00008160 lv_img_src_get_type + *fill* 0x0000817a 0x2 .text.hex_char_to_num - 0x00008114 0x48 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x0000817c 0x48 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o .text.lv_draw_label_dsc_init - 0x0000815c 0x50 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x0000815c lv_draw_label_dsc_init + 0x000081c4 0x50 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x000081c4 lv_draw_label_dsc_init .text.lv_draw_label - 0x000081ac 0xeec src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x000081ac lv_draw_label + 0x00008214 0xeec src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00008214 lv_draw_label .text.lv_draw_line_dsc_init - 0x00009098 0x30 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o - 0x00009098 lv_draw_line_dsc_init + 0x00009100 0x30 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x00009100 lv_draw_line_dsc_init .text.lv_draw_line - 0x000090c8 0x95c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o - 0x000090c8 lv_draw_line + 0x00009130 0x95c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x00009130 lv_draw_line .text.lv_draw_mask_line - 0x00009a24 0x51c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x00009a8c 0x51c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .text.lv_draw_mask_radius - 0x00009f40 0x644 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x00009fa8 0x644 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .text.lv_draw_mask_add - 0x0000a584 0x38 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000a584 lv_draw_mask_add + 0x0000a5ec 0x38 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000a5ec lv_draw_mask_add .text.lv_draw_mask_apply - 0x0000a5bc 0x54 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000a5bc lv_draw_mask_apply + 0x0000a624 0x54 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000a624 lv_draw_mask_apply .text.lv_draw_mask_remove_id - 0x0000a610 0x1c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000a610 lv_draw_mask_remove_id + 0x0000a678 0x1c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000a678 lv_draw_mask_remove_id .text.lv_draw_mask_remove_custom - 0x0000a62c 0x2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000a62c lv_draw_mask_remove_custom + 0x0000a694 0x2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000a694 lv_draw_mask_remove_custom .text.lv_draw_mask_get_cnt - 0x0000a658 0x24 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000a658 lv_draw_mask_get_cnt + 0x0000a6c0 0x24 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000a6c0 lv_draw_mask_get_cnt .text.lv_draw_mask_line_points_init - 0x0000a67c 0x170 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000a67c lv_draw_mask_line_points_init + 0x0000a6e4 0x170 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000a6e4 lv_draw_mask_line_points_init .text.lv_draw_mask_radius_init - 0x0000a7ec 0x68 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000a7ec lv_draw_mask_radius_init + 0x0000a854 0x68 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000a854 lv_draw_mask_radius_init .text.shadow_blur_corner - 0x0000a854 0x264 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000a8bc 0x264 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o .text.lv_draw_rect_dsc_init - 0x0000aab8 0xa4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - 0x0000aab8 lv_draw_rect_dsc_init + 0x0000ab20 0xa4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000ab20 lv_draw_rect_dsc_init .text.lv_draw_rect - 0x0000ab5c 0x2528 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - 0x0000ab5c lv_draw_rect + 0x0000abc4 0x2528 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000abc4 lv_draw_rect .text.lv_img_buf_get_px_color - 0x0000d084 0x120 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000d084 lv_img_buf_get_px_color + 0x0000d0ec 0x120 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000d0ec lv_img_buf_get_px_color .text.lv_img_buf_get_px_alpha - 0x0000d1a4 0x104 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000d1a4 lv_img_buf_get_px_alpha + 0x0000d20c 0x104 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000d20c lv_img_buf_get_px_alpha .text._lv_img_buf_transform_init - 0x0000d2a8 0x134 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000d2a8 _lv_img_buf_transform_init + 0x0000d310 0x134 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000d310 _lv_img_buf_transform_init .text._lv_img_buf_get_transformed_area - 0x0000d3dc 0x1d0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000d3dc _lv_img_buf_get_transformed_area + 0x0000d444 0x1d0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000d444 _lv_img_buf_get_transformed_area .text._lv_img_buf_transform_anti_alias - 0x0000d5ac 0x454 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000d5ac _lv_img_buf_transform_anti_alias + 0x0000d614 0x454 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000d614 _lv_img_buf_transform_anti_alias .text._lv_img_cache_open - 0x0000da00 0x180 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000da00 _lv_img_cache_open + 0x0000da68 0x180 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000da68 _lv_img_cache_open .text.lv_img_cache_invalidate_src - 0x0000db80 0x70 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000db80 lv_img_cache_invalidate_src + 0x0000dbe8 0x70 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000dbe8 lv_img_cache_invalidate_src .text.lv_img_cache_set_size - 0x0000dbf0 0xb0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000dbf0 lv_img_cache_set_size + 0x0000dc58 0xb0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000dc58 lv_img_cache_set_size .text.lv_img_decoder_built_in_info - 0x0000dca0 0xe0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000dca0 lv_img_decoder_built_in_info + 0x0000dd08 0xe0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000dd08 lv_img_decoder_built_in_info .text.lv_img_decoder_built_in_close - 0x0000dd80 0x44 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000dd80 lv_img_decoder_built_in_close + 0x0000dde8 0x44 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000dde8 lv_img_decoder_built_in_close .text.lv_img_decoder_built_in_open - 0x0000ddc4 0x304 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000ddc4 lv_img_decoder_built_in_open + 0x0000de2c 0x304 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000de2c lv_img_decoder_built_in_open .text.lv_img_decoder_built_in_read_line - 0x0000e0c8 0x418 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000e0c8 lv_img_decoder_built_in_read_line + 0x0000e130 0x418 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000e130 lv_img_decoder_built_in_read_line .text.lv_img_decoder_get_info - 0x0000e4e0 0x54 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000e4e0 lv_img_decoder_get_info + 0x0000e548 0x54 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000e548 lv_img_decoder_get_info .text.lv_img_decoder_open - 0x0000e534 0xc4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000e534 lv_img_decoder_open + 0x0000e59c 0xc4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000e59c lv_img_decoder_open .text.lv_img_decoder_read_line - 0x0000e5f8 0x24 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000e5f8 lv_img_decoder_read_line + 0x0000e660 0x24 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000e660 lv_img_decoder_read_line .text.lv_img_decoder_close - 0x0000e61c 0x2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000e61c lv_img_decoder_close + 0x0000e684 0x2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000e684 lv_img_decoder_close .text.lv_img_decoder_create - 0x0000e648 0x48 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000e648 lv_img_decoder_create + 0x0000e6b0 0x48 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000e6b0 lv_img_decoder_create .text._lv_img_decoder_init - 0x0000e690 0x60 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000e690 _lv_img_decoder_init + 0x0000e6f8 0x60 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000e6f8 _lv_img_decoder_init .text.lv_font_get_glyph_bitmap - 0x0000e6f0 0x8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o - 0x0000e6f0 lv_font_get_glyph_bitmap + 0x0000e758 0x8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o + 0x0000e758 lv_font_get_glyph_bitmap .text.lv_font_get_glyph_dsc - 0x0000e6f8 0x8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o - 0x0000e6f8 lv_font_get_glyph_dsc + 0x0000e760 0x8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o + 0x0000e760 lv_font_get_glyph_dsc .text.lv_font_get_glyph_width - 0x0000e700 0x24 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o - 0x0000e700 lv_font_get_glyph_width + 0x0000e768 0x24 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o + 0x0000e768 lv_font_get_glyph_width .text.kern_pair_8_compare - 0x0000e724 0x14 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0000e78c 0x14 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.kern_pair_16_compare - 0x0000e738 0x14 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0000e7a0 0x14 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.unicode_list_compare - 0x0000e74c 0x8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0000e7b4 0x8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.get_glyph_dsc_id - 0x0000e754 0xf4 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0000e7bc 0xf4 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.lv_font_get_bitmap_fmt_txt - 0x0000e848 0xa0c src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x0000e848 lv_font_get_bitmap_fmt_txt + 0x0000e8b0 0xa0c src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0000e8b0 lv_font_get_bitmap_fmt_txt .text.lv_font_get_glyph_dsc_fmt_txt - 0x0000f254 0x180 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x0000f254 lv_font_get_glyph_dsc_fmt_txt + 0x0000f2bc 0x180 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0000f2bc lv_font_get_glyph_dsc_fmt_txt .text._lv_font_clean_up_fmt_txt - 0x0000f3d4 0x20 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x0000f3d4 _lv_font_clean_up_fmt_txt + 0x0000f43c 0x20 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0000f43c _lv_font_clean_up_fmt_txt .text.lv_disp_drv_init - 0x0000f3f4 0x64 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f3f4 lv_disp_drv_init + 0x0000f45c 0x64 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f45c lv_disp_drv_init .text.lv_disp_buf_init - 0x0000f458 0x20 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f458 lv_disp_buf_init + 0x0000f4c0 0x20 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f4c0 lv_disp_buf_init .text.lv_disp_drv_register - 0x0000f478 0x128 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f478 lv_disp_drv_register + 0x0000f4e0 0x128 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f4e0 lv_disp_drv_register .text.lv_disp_get_default - 0x0000f5a0 0xc src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f5a0 lv_disp_get_default + 0x0000f608 0xc src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f608 lv_disp_get_default .text.lv_disp_get_hor_res - 0x0000f5ac 0x28 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f5ac lv_disp_get_hor_res + 0x0000f614 0x28 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f614 lv_disp_get_hor_res .text.lv_disp_get_ver_res - 0x0000f5d4 0x28 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f5d4 lv_disp_get_ver_res + 0x0000f63c 0x28 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f63c lv_disp_get_ver_res .text.lv_disp_get_dpi - 0x0000f5fc 0x1c src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f5fc lv_disp_get_dpi + 0x0000f664 0x1c src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f664 lv_disp_get_dpi .text.lv_disp_get_size_category - 0x0000f618 0x58 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f618 lv_disp_get_size_category + 0x0000f680 0x58 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f680 lv_disp_get_size_category .text.lv_disp_flush_ready - 0x0000f670 0xc src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f670 lv_disp_flush_ready + 0x0000f6d8 0xc src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f6d8 lv_disp_flush_ready .text.lv_disp_get_next - 0x0000f67c 0x24 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f67c lv_disp_get_next + 0x0000f6e4 0x24 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f6e4 lv_disp_get_next .text.lv_disp_get_buf - 0x0000f6a0 0x4 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f6a0 lv_disp_get_buf + 0x0000f708 0x4 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f708 lv_disp_get_buf .text.lv_disp_is_double_buf - 0x0000f6a4 0x16 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f6a4 lv_disp_is_double_buf - *fill* 0x0000f6ba 0x2 + 0x0000f70c 0x16 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f70c lv_disp_is_double_buf + *fill* 0x0000f722 0x2 .text.lv_disp_is_true_double_buf - 0x0000f6bc 0x28 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x0000f6bc lv_disp_is_true_double_buf + 0x0000f724 0x28 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x0000f724 lv_disp_is_true_double_buf .text.lv_indev_get_next - 0x0000f6e4 0x24 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - 0x0000f6e4 lv_indev_get_next + 0x0000f74c 0x24 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + 0x0000f74c lv_indev_get_next .text.lv_tick_inc - 0x0000f708 0x1c src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x0000f708 lv_tick_inc + 0x0000f770 0x1c src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x0000f770 lv_tick_inc .text.lv_tick_get - 0x0000f724 0x1c src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x0000f724 lv_tick_get + 0x0000f78c 0x1c src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x0000f78c lv_tick_get .text.lv_tick_elaps - 0x0000f740 0x10 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x0000f740 lv_tick_elaps + 0x0000f7a8 0x10 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x0000f7a8 lv_tick_elaps .text.lv_anim_path_linear - 0x0000f750 0x2c src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0000f750 lv_anim_path_linear + 0x0000f7b8 0x2c src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0000f7b8 lv_anim_path_linear .text.anim_mark_list_change - 0x0000f77c 0x40 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0000f7e4 0x40 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o .text.anim_task - 0x0000f7bc 0x1d4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0000f824 0x1d4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o .text._lv_anim_core_init - 0x0000f990 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0000f990 _lv_anim_core_init + 0x0000f9f8 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0000f9f8 _lv_anim_core_init .text.lv_anim_init - 0x0000f9e4 0x44 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0000f9e4 lv_anim_init + 0x0000fa4c 0x44 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0000fa4c lv_anim_init .text.lv_anim_del - 0x0000fa28 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0000fa28 lv_anim_del + 0x0000fa90 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0000fa90 lv_anim_del .text.lv_anim_start - 0x0000faa4 0xa0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0000faa4 lv_anim_start + 0x0000fb0c 0xa0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0000fb0c lv_anim_start .text.lv_point_within_circle - 0x0000fb44 0x3c src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fbac 0x3c src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o .text.lv_area_set_height - 0x0000fb80 0xa src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fb80 lv_area_set_height + 0x0000fbe8 0xa src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fbe8 lv_area_set_height .text.lv_area_get_size - 0x0000fb8a 0x1c src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fb8a lv_area_get_size + 0x0000fbf2 0x1c src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fbf2 lv_area_get_size .text._lv_area_intersect - 0x0000fba6 0x6e src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fba6 _lv_area_intersect + 0x0000fc0e 0x6e src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fc0e _lv_area_intersect .text._lv_area_join - 0x0000fc14 0x4c src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fc14 _lv_area_join + 0x0000fc7c 0x4c src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fc7c _lv_area_join .text._lv_area_is_point_on - 0x0000fc60 0x190 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fc60 _lv_area_is_point_on + 0x0000fcc8 0x190 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fcc8 _lv_area_is_point_on .text._lv_area_is_on - 0x0000fdf0 0x42 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fdf0 _lv_area_is_on - *fill* 0x0000fe32 0x2 + 0x0000fe58 0x42 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fe58 _lv_area_is_on + *fill* 0x0000fe9a 0x2 .text._lv_area_is_in - 0x0000fe34 0xa4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fe34 _lv_area_is_in + 0x0000fe9c 0xa4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000fe9c _lv_area_is_in .text._lv_area_align - 0x0000fed8 0x2f4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0000fed8 _lv_area_align + 0x0000ff40 0x2f4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0000ff40 _lv_area_align .text.lv_color_fill - 0x000101cc 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o - 0x000101cc lv_color_fill + 0x00010234 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00010234 lv_color_fill .text.lv_color_lighten - 0x00010220 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o - 0x00010220 lv_color_lighten + 0x00010288 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00010288 lv_color_lighten .text.lv_color_darken - 0x00010274 0x4a src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o - 0x00010274 lv_color_darken + 0x000102dc 0x4a src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o + 0x000102dc lv_color_darken .text.lv_fs_get_real_path - 0x000102be 0x22 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00010326 0x22 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o .text._lv_fs_init - 0x000102e0 0x14 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x000102e0 _lv_fs_init + 0x00010348 0x14 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00010348 _lv_fs_init .text.lv_fs_close - 0x000102f4 0x30 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x000102f4 lv_fs_close + 0x0001035c 0x30 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x0001035c lv_fs_close .text.lv_fs_read - 0x00010324 0x42 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00010324 lv_fs_read + 0x0001038c 0x42 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x0001038c lv_fs_read .text.lv_fs_seek - 0x00010366 0x22 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00010366 lv_fs_seek + 0x000103ce 0x22 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x000103ce lv_fs_seek .text.lv_fs_get_drv - 0x00010388 0x38 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00010388 lv_fs_get_drv + 0x000103f0 0x38 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x000103f0 lv_fs_get_drv .text.lv_fs_open - 0x000103c0 0xc8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x000103c0 lv_fs_open + 0x00010428 0xc8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00010428 lv_fs_open .text.lv_fs_get_ext - 0x00010488 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00010488 lv_fs_get_ext + 0x000104f0 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x000104f0 lv_fs_get_ext .text.node_set_next - 0x000104dc 0x3c src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00010544 0x3c src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o .text.node_set_prev - 0x00010518 0x38 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00010580 0x38 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o .text._lv_ll_init - 0x00010550 0x14 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00010550 _lv_ll_init + 0x000105b8 0x14 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x000105b8 _lv_ll_init .text._lv_ll_ins_head - 0x00010564 0x50 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00010564 _lv_ll_ins_head + 0x000105cc 0x50 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x000105cc _lv_ll_ins_head .text._lv_ll_ins_tail - 0x000105b4 0x50 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000105b4 _lv_ll_ins_tail + 0x0001061c 0x50 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x0001061c _lv_ll_ins_tail .text._lv_ll_get_head - 0x00010604 0xc src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00010604 _lv_ll_get_head + 0x0001066c 0xc src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x0001066c _lv_ll_get_head .text._lv_ll_get_tail - 0x00010610 0xc src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00010610 _lv_ll_get_tail + 0x00010678 0xc src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00010678 _lv_ll_get_tail .text._lv_ll_get_next - 0x0001061c 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x0001061c _lv_ll_get_next + 0x00010684 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00010684 _lv_ll_get_next .text._lv_ll_get_prev - 0x00010644 0x26 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00010644 _lv_ll_get_prev - *fill* 0x0001066a 0x2 + 0x000106ac 0x26 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x000106ac _lv_ll_get_prev + *fill* 0x000106d2 0x2 .text._lv_ll_ins_prev - 0x0001066c 0x80 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x0001066c _lv_ll_ins_prev + 0x000106d4 0x80 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x000106d4 _lv_ll_ins_prev .text._lv_ll_remove - 0x000106ec 0x90 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000106ec _lv_ll_remove + 0x00010754 0x90 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00010754 _lv_ll_remove .text._lv_ll_chg_list - 0x0001077c 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x0001077c _lv_ll_chg_list + 0x000107e4 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x000107e4 _lv_ll_chg_list .text._lv_ll_move_before - 0x000107f8 0xb4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000107f8 _lv_ll_move_before + 0x00010860 0xb4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00010860 _lv_ll_move_before .text._lv_ll_is_empty - 0x000108ac 0x1e src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x000108ac _lv_ll_is_empty - *fill* 0x000108ca 0x2 + 0x00010914 0x1e src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00010914 _lv_ll_is_empty + *fill* 0x00010932 0x2 .text._lv_trigo_sin - 0x000108cc 0x74 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o - 0x000108cc _lv_trigo_sin + 0x00010934 0x74 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o + 0x00010934 _lv_trigo_sin .text._lv_sqrt - 0x00010940 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o - 0x00010940 _lv_sqrt + 0x000109a8 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o + 0x000109a8 _lv_sqrt .text.ent_get_next - 0x00010968 0x2c src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000109d0 0x2c src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o .text.ent_trunc - 0x00010994 0x4a src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - *fill* 0x000109de 0x2 + 0x000109fc 0x4a src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + *fill* 0x00010a46 0x2 .text._lv_mem_init - 0x000109e0 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x000109e0 _lv_mem_init + 0x00010a48 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010a48 _lv_mem_init .text.lv_mem_alloc - 0x00010a08 0x64 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010a08 lv_mem_alloc + 0x00010a70 0x64 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010a70 lv_mem_alloc .text.lv_mem_defrag - 0x00010a6c 0x64 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010a6c lv_mem_defrag + 0x00010ad4 0x64 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010ad4 lv_mem_defrag .text.lv_mem_free - 0x00010ad0 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010ad0 lv_mem_free + 0x00010b38 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010b38 lv_mem_free .text._lv_mem_get_size - 0x00010b4c 0x20 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010b4c _lv_mem_get_size + 0x00010bb4 0x20 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010bb4 _lv_mem_get_size .text._lv_mem_buf_release - 0x00010b6c 0x60 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010b6c _lv_mem_buf_release + 0x00010bd4 0x60 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010bd4 _lv_mem_buf_release .text._lv_mem_buf_free_all - 0x00010bcc 0x58 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010bcc _lv_mem_buf_free_all + 0x00010c34 0x58 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010c34 _lv_mem_buf_free_all .text._lv_memcpy - 0x00010c24 0x1b6 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010c24 _lv_memcpy - *fill* 0x00010dda 0x2 + 0x00010c8c 0x1b6 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010c8c _lv_memcpy + *fill* 0x00010e42 0x2 .text.lv_mem_realloc - 0x00010ddc 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010ddc lv_mem_realloc + 0x00010e44 0x7c src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010e44 lv_mem_realloc .text._lv_mem_buf_get - 0x00010e58 0xec src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010e58 _lv_mem_buf_get + 0x00010ec0 0xec src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010ec0 _lv_mem_buf_get .text._lv_memset - 0x00010f44 0xa0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010f44 _lv_memset + 0x00010fac 0xa0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00010fac _lv_memset .text._lv_memset_00 - 0x00010fe4 0xa4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00010fe4 _lv_memset_00 + 0x0001104c 0xa4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x0001104c _lv_memset_00 .text._lv_memset_ff - 0x00011088 0xa8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00011088 _lv_memset_ff + 0x000110f0 0xa8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000110f0 _lv_memset_ff .text._lv_task_core_init - 0x00011130 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00011130 _lv_task_core_init + 0x00011198 0x28 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00011198 _lv_task_core_init .text.lv_task_create_basic - 0x00011158 0xf0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00011158 lv_task_create_basic + 0x000111c0 0xf0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000111c0 lv_task_create_basic .text.lv_task_del - 0x00011248 0x44 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00011248 lv_task_del + 0x000112b0 0x44 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000112b0 lv_task_del .text.lv_task_exec - 0x0001128c 0x68 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000112f4 0x68 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o .text.lv_task_handler - 0x000112f4 0x1ec src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - 0x000112f4 lv_task_handler + 0x0001135c 0x1ec src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x0001135c lv_task_handler .text.lv_task_set_prio - 0x000114e0 0x90 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - 0x000114e0 lv_task_set_prio + 0x00011548 0x90 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00011548 lv_task_set_prio .text.lv_task_create - 0x00011570 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00011570 lv_task_create + 0x000115d8 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000115d8 lv_task_create .text.lv_task_ready - 0x000115c4 0x18 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - 0x000115c4 lv_task_ready + 0x0001162c 0x18 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + 0x0001162c lv_task_ready .text.lv_txt_utf8_next - 0x000115dc 0x110 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00011644 0x110 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_get_char_id - 0x000116ec 0x34 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00011754 0x34 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o .text._lv_txt_is_cmd - 0x00011720 0x40 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00011720 _lv_txt_is_cmd + 0x00011788 0x40 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00011788 _lv_txt_is_cmd .text._lv_txt_get_next_line - 0x00011760 0x278 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00011760 _lv_txt_get_next_line + 0x000117c8 0x278 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x000117c8 _lv_txt_get_next_line .text._lv_txt_get_width - 0x000119d8 0xa4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x000119d8 _lv_txt_get_width + 0x00011a40 0xa4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00011a40 _lv_txt_get_width .text._lv_txt_get_size - 0x00011a7c 0x10c src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00011a7c _lv_txt_get_size + 0x00011ae4 0x10c src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00011ae4 _lv_txt_get_size .text._lv_utils_bsearch - 0x00011b88 0x5e src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o - 0x00011b88 _lv_utils_bsearch - *fill* 0x00011be6 0x2 + 0x00011bf0 0x5e src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o + 0x00011bf0 _lv_utils_bsearch + *fill* 0x00011c4e 0x2 .text.lv_theme_set_act - 0x00011be8 0xc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x00011be8 lv_theme_set_act + 0x00011c50 0xc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x00011c50 lv_theme_set_act .text.lv_theme_get_font_normal - 0x00011bf4 0xc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x00011bf4 lv_theme_get_font_normal + 0x00011c5c 0xc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x00011c5c lv_theme_get_font_normal .text.lv_theme_apply - 0x00011c00 0x10 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x00011c00 lv_theme_apply + 0x00011c68 0x10 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x00011c68 lv_theme_apply .text.theme_apply - 0x00011c10 0x81c src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00011c78 0x81c src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.style_init_reset - 0x0001242c 0x24 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00012494 0x24 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.basic_init - 0x00012450 0x11cc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x000124b8 0x11cc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.bar_init - 0x0001361c 0x154 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00013684 0x154 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.slider_init - 0x00013770 0x294 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x000137d8 0x294 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.switch_init - 0x00013a04 0x140 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00013a6c 0x140 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.linemeter_init - 0x00013b44 0x224 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00013bac 0x224 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.gauge_init - 0x00013d68 0x4a8 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00013dd0 0x4a8 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.arc_init - 0x00014210 0x104 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00014278 0x104 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.led_init - 0x00014314 0x114 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001437c 0x114 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.lv_theme_material_init - 0x00014428 0x24dc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o - 0x00014428 lv_theme_material_init + 0x00014490 0x24dc src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00014490 lv_theme_material_init .text.ssd1963_init - 0x00016904 0xb1c src/devices/display/p_ssd1963.o - 0x00016904 ssd1963_init + 0x0001696c 0xb1c src/devices/display/p_ssd1963.o + 0x0001696c ssd1963_init .text.ssd1963_flush - 0x00017420 0x31c src/devices/display/p_ssd1963.o - 0x00017420 ssd1963_flush + 0x00017488 0x31c src/devices/display/p_ssd1963.o + 0x00017488 ssd1963_flush .text.p_gpio_init - 0x0001773c 0x70 src/drivers/p_gpio.o - 0x0001773c p_gpio_init + 0x000177a4 0x70 src/drivers/p_gpio.o + 0x000177a4 p_gpio_init .text.p_gpio_parallel_wr_word - 0x000177ac 0x18 src/drivers/p_gpio.o - 0x000177ac p_gpio_parallel_wr_word + 0x00017814 0x18 src/drivers/p_gpio.o + 0x00017814 p_gpio_parallel_wr_word .text.p_gpio_parallel_wr_arr - 0x000177c4 0x2c src/drivers/p_gpio.o - 0x000177c4 p_gpio_parallel_wr_arr + 0x0001782c 0x2c src/drivers/p_gpio.o + 0x0001782c p_gpio_parallel_wr_arr .text.p_i2c_init - 0x000177f0 0x2 src/drivers/p_i2c.o - 0x000177f0 p_i2c_init - *fill* 0x000177f2 0x2 + 0x00017858 0x2 src/drivers/p_i2c.o + 0x00017858 p_i2c_init + *fill* 0x0001785a 0x2 .text.p_printf - 0x000177f4 0x5c src/drivers/p_usart.o - 0x000177f4 p_printf + 0x0001785c 0x6c src/drivers/p_usart.o + 0x0001785c p_printf .text.p_usart_init - 0x00017850 0xe0 src/drivers/p_usart.o - 0x00017850 p_usart_init + 0x000178c8 0xe0 src/drivers/p_usart.o + 0x000178c8 p_usart_init .text.p_debug_rx_cb - 0x00017930 0x1c src/drivers/p_usart.o - .text.main 0x0001794c 0x14 src/main.o - 0x0001794c main - .text 0x00017960 0x114 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_udivsi3.o) - 0x00017960 __aeabi_uidiv - 0x00017960 __udivsi3 - 0x00017a6c __aeabi_uidivmod - .text 0x00017a74 0x1d4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_divsi3.o) - 0x00017a74 __divsi3 - 0x00017a74 __aeabi_idiv - 0x00017c40 __aeabi_idivmod - .text 0x00017c48 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_dvmd_tls.o) - 0x00017c48 __aeabi_idiv0 - 0x00017c48 __aeabi_ldiv0 - .text 0x00017c4c 0x40 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_aeabi_uldivmod.o) - 0x00017c4c __aeabi_uldivmod - .text 0x00017c8c 0x54 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_muldi3.o) - 0x00017c8c __muldi3 - 0x00017c8c __aeabi_lmul - .text 0x00017ce0 0x180 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_udivmoddi4.o) - 0x00017ce0 __udivmoddi4 - .text 0x00017e60 0x3c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_clzsi2.o) - 0x00017e60 __clzsi2 - .text 0x00017e9c 0x18 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_clzdi2.o) - 0x00017e9c __clzdi2 + 0x000179a8 0x1c src/drivers/p_usart.o + .text.p_debug_start_service + 0x000179c4 0x18 src/drivers/p_usart.o + 0x000179c4 p_debug_start_service + .text.main 0x000179dc 0x14 src/main.o + 0x000179dc main + .text 0x000179f0 0x114 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_udivsi3.o) + 0x000179f0 __aeabi_uidiv + 0x000179f0 __udivsi3 + 0x00017afc __aeabi_uidivmod + .text 0x00017b04 0x1d4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_divsi3.o) + 0x00017b04 __divsi3 + 0x00017b04 __aeabi_idiv + 0x00017cd0 __aeabi_idivmod + .text 0x00017cd8 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_dvmd_tls.o) + 0x00017cd8 __aeabi_idiv0 + 0x00017cd8 __aeabi_ldiv0 + .text 0x00017cdc 0x40 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_aeabi_uldivmod.o) + 0x00017cdc __aeabi_uldivmod + .text 0x00017d1c 0x54 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_muldi3.o) + 0x00017d1c __muldi3 + 0x00017d1c __aeabi_lmul + .text 0x00017d70 0x180 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_udivmoddi4.o) + 0x00017d70 __udivmoddi4 + .text 0x00017ef0 0x3c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_clzsi2.o) + 0x00017ef0 __clzsi2 + .text 0x00017f2c 0x18 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_clzdi2.o) + 0x00017f2c __clzdi2 .text.__libc_init_array - 0x00017eb4 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-init.o) - 0x00017eb4 __libc_init_array - .text.memcmp 0x00017efc 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memcmp.o) - 0x00017efc memcmp - .text.memcpy 0x00017f1a 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memcpy-stub.o) - 0x00017f1a memcpy - .text.memset 0x00017f2c 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memset.o) - 0x00017f2c memset - .text 0x00017f3c 0x14 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-strcmp.o) - 0x00017f3c strcmp - .text.strcpy 0x00017f50 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-strcpy.o) - 0x00017f50 strcpy - .text 0x00017f60 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-strlen.o) - 0x00017f60 strlen - *fill* 0x00017f6e 0x2 + 0x00017f44 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-init.o) + 0x00017f44 __libc_init_array + .text.memcmp 0x00017f8c 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memcmp.o) + 0x00017f8c memcmp + .text.memcpy 0x00017faa 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memcpy-stub.o) + 0x00017faa memcpy + .text.memset 0x00017fbc 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memset.o) + 0x00017fbc memset + .text 0x00017fcc 0x14 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-strcmp.o) + 0x00017fcc strcmp + .text.strcpy 0x00017fe0 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-strcpy.o) + 0x00017fe0 strcpy + .text 0x00017ff0 0xe c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-strlen.o) + 0x00017ff0 strlen + *fill* 0x00017ffe 0x2 .text._vsprintf_r - 0x00017f70 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-vsprintf.o) - 0x00017f70 _vsprintf_r - 0x00017f70 _vsiprintf_r + 0x00018000 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-vsprintf.o) + 0x00018000 _vsprintf_r + 0x00018000 _vsiprintf_r .text.vsprintf - 0x00017fa0 0x18 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-vsprintf.o) - 0x00017fa0 vsiprintf - 0x00017fa0 vsprintf + 0x00018030 0x18 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-vsprintf.o) + 0x00018030 vsiprintf + 0x00018030 vsprintf .text.__ssputs_r - 0x00017fb8 0xc4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-svfprintf.o) - 0x00017fb8 __ssputs_r + 0x00018048 0xc4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-svfprintf.o) + 0x00018048 __ssputs_r .text._svfprintf_r - 0x0001807c 0x208 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-svfprintf.o) - 0x0001807c _svfiprintf_r - 0x0001807c _svfprintf_r + 0x0001810c 0x208 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-svfprintf.o) + 0x0001810c _svfiprintf_r + 0x0001810c _svfprintf_r .text._printf_common - 0x00018284 0xda c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-vfprintf_i.o) - 0x00018284 _printf_common - *fill* 0x0001835e 0x2 + 0x00018314 0xda c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-vfprintf_i.o) + 0x00018314 _printf_common + *fill* 0x000183ee 0x2 .text._printf_i - 0x00018360 0x234 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-vfprintf_i.o) - 0x00018360 _printf_i - .text.memchr 0x00018594 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memchr-stub.o) - 0x00018594 memchr - .text.memmove 0x000185aa 0x24 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memmove.o) - 0x000185aa memmove - *fill* 0x000185ce 0x2 - .text._free_r 0x000185d0 0x94 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-freer.o) - 0x000185d0 _free_r + 0x000183f0 0x234 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-vfprintf_i.o) + 0x000183f0 _printf_i + .text.memchr 0x00018624 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memchr-stub.o) + 0x00018624 memchr + .text.memmove 0x0001863a 0x24 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-memmove.o) + 0x0001863a memmove + *fill* 0x0001865e 0x2 + .text._free_r 0x00018660 0x94 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-freer.o) + 0x00018660 _free_r .text._malloc_r - 0x00018664 0xbc c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-mallocr.o) - 0x00018664 _malloc_r + 0x000186f4 0xbc c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-mallocr.o) + 0x000186f4 _malloc_r .text._realloc_r - 0x00018720 0x4c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-reallocr.o) - 0x00018720 _realloc_r - .text._sbrk_r 0x0001876c 0x24 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-sbrkr.o) - 0x0001876c _sbrk_r + 0x000187b0 0x4c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-reallocr.o) + 0x000187b0 _realloc_r + .text._sbrk_r 0x000187fc 0x24 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-sbrkr.o) + 0x000187fc _sbrk_r .text.__malloc_lock - 0x00018790 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-mlock.o) - 0x00018790 __malloc_lock + 0x00018820 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-mlock.o) + 0x00018820 __malloc_lock .text.__malloc_unlock - 0x00018792 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-mlock.o) - 0x00018792 __malloc_unlock + 0x00018822 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-mlock.o) + 0x00018822 __malloc_unlock .text._malloc_usable_size_r - 0x00018794 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-msizer.o) - 0x00018794 _malloc_usable_size_r + 0x00018824 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-msizer.o) + 0x00018824 _malloc_usable_size_r *(.glue_7t) - .glue_7t 0x000187a4 0x0 linker stubs + .glue_7t 0x00018834 0x0 linker stubs *(.glue_7) - .glue_7 0x000187a4 0x0 linker stubs + .glue_7 0x00018834 0x0 linker stubs *(.rodata .rodata* .gnu.linkonce.r.*) - .rodata 0x000187a4 0x18 src/ASF/sam0/drivers/sercom/sercom.o + .rodata 0x00018834 0x18 src/ASF/sam0/drivers/sercom/sercom.o .rodata.system_clock_source_get_hz - 0x000187bc 0x24 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + 0x0001884c 0x24 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o .rodata.system_clock_source_enable - 0x000187e0 0x24 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + 0x00018870 0x24 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o .rodata.lv_group_create.str1.4 - 0x00018804 0xe src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + 0x00018894 0xe src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o .rodata.lv_init.cst2 - 0x00018812 0x2 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000188a2 0x2 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .rodata.lv_obj_align_origo - 0x00018814 0x54 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - .rodata 0x00018868 0x2 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000188a4 0x54 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + .rodata 0x000188f8 0x2 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .rodata.lv_obj_create.str1.4 - 0x0001886a 0xe src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - *fill* 0x0001886a 0x2 + 0x000188fa 0xe src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + *fill* 0x000188fa 0x2 .rodata.lv_obj_del_async.str1.4 - 0x0001886c 0xd src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - *fill* 0x00018879 0x3 + 0x000188fc 0xd src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + *fill* 0x00018909 0x3 .rodata.lv_obj_signal.str1.4 - 0x0001887c 0x7 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0001890c 0x7 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o .rodata._lv_style_list_remove_style.str1.4 - 0x00018883 0xe src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - *fill* 0x00018883 0x1 + 0x00018913 0xe src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + *fill* 0x00018913 0x1 .rodata.lv_draw_map.cst2 - 0x00018884 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - *fill* 0x00018886 0x2 + 0x00018914 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + *fill* 0x00018916 0x2 .rodata.lv_img_cf_get_px_size - 0x00018888 0x2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .rodata 0x000188b4 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - *fill* 0x000188b6 0x2 + 0x00018918 0x2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .rodata 0x00018944 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + *fill* 0x00018946 0x2 .rodata.lv_draw_img.str1.4 - 0x000188b8 0x8 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00018948 0x8 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o .rodata.hex_char_to_num - 0x000188c0 0x18 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00018950 0x18 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o .rodata.lv_draw_label.cst1 - 0x000188d8 0x1 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - *fill* 0x000188d9 0x3 + 0x00018968 0x1 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + *fill* 0x00018969 0x3 .rodata._lv_bpp1_opa_table - 0x000188dc 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x000188dc _lv_bpp1_opa_table - *fill* 0x000188de 0x2 + 0x0001896c 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x0001896c _lv_bpp1_opa_table + *fill* 0x0001896e 0x2 .rodata._lv_bpp2_opa_table - 0x000188e0 0x4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x000188e0 _lv_bpp2_opa_table + 0x00018970 0x4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00018970 _lv_bpp2_opa_table .rodata._lv_bpp4_opa_table - 0x000188e4 0x10 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x000188e4 _lv_bpp4_opa_table + 0x00018974 0x10 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00018974 _lv_bpp4_opa_table .rodata._lv_bpp8_opa_table - 0x000188f4 0x100 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x000188f4 _lv_bpp8_opa_table + 0x00018984 0x100 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00018984 _lv_bpp8_opa_table .rodata.wcorr.9232 - 0x000189f4 0x21 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o - *fill* 0x00018a15 0x3 - .rodata 0x00018a18 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - *fill* 0x00018a1a 0x2 - .rodata 0x00018a1c 0x10 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x00018a84 0x21 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o + *fill* 0x00018aa5 0x3 + .rodata 0x00018aa8 0x2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + *fill* 0x00018aaa 0x2 + .rodata 0x00018aac 0x10 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o .rodata.lv_img_cache_set_size.str1.4 - 0x00018a2c 0xe src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .rodata 0x00018a2c 0x10 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x00018abc 0xe src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .rodata 0x00018abc 0x10 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o .rodata.lv_img_decoder_built_in_open.str1.4 - 0x00018a3c 0x4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x00018acc 0x4 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o 0x12 (size before relaxing) .rodata.lv_font_get_bitmap_fmt_txt - 0x00018a40 0x160 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00018ad0 0x160 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .rodata.lv_font_get_bitmap_fmt_txt.str1.4 - 0x00018ba0 0xe src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .rodata.cmaps 0x00018ba0 0x28 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + 0x00018c30 0xe src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .rodata.cmaps 0x00018c30 0x28 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o .rodata.glyph_dsc - 0x00018bc8 0x4d8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + 0x00018c58 0x4d8 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o .rodata.gylph_bitmap - 0x000190a0 0x2a38 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + 0x00019130 0x2a38 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o .rodata.kern_class_values - 0x0001bad8 0xbad src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - *fill* 0x0001c685 0x3 + 0x0001bb68 0xbad src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + *fill* 0x0001c715 0x3 .rodata.kern_classes - 0x0001c688 0x10 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + 0x0001c718 0x10 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o .rodata.kern_left_class_mapping - 0x0001c698 0x9b src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - *fill* 0x0001c733 0x1 + 0x0001c728 0x9b src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + *fill* 0x0001c7c3 0x1 .rodata.kern_right_class_mapping - 0x0001c734 0x9b src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - *fill* 0x0001c7cf 0x1 + 0x0001c7c4 0x9b src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + *fill* 0x0001c85f 0x1 .rodata.unicode_list_1 - 0x0001c7d0 0x76 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + 0x0001c860 0x76 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o .rodata.lv_disp_drv_register.str1.4 - 0x0001c846 0xe src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - *fill* 0x0001c846 0x2 + 0x0001c8d6 0xe src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + *fill* 0x0001c8d6 0x2 .rodata.lv_anim_path_def - 0x0001c848 0x8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0001c848 lv_anim_path_def + 0x0001c8d8 0x8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0001c8d8 lv_anim_path_def .rodata.lv_anim_start.str1.4 - 0x0001c850 0xe src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0001c8e0 0xe src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o .rodata._lv_area_align - 0x0001c850 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0001c8e0 0x54 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o .rodata.lv_fs_drv_register.str1.4 - 0x0001c8a4 0xe src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x0001c934 0xe src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o .rodata.lv_fs_get_ext.str1.4 - 0x0001c8a4 0x4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x0001c934 0x4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o 0x1 (size before relaxing) .rodata.sin0_90_table - 0x0001c8a4 0xb6 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o + 0x0001c934 0xb6 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o .rodata.lv_task_create_basic.str1.4 - 0x0001c95a 0xe src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - *fill* 0x0001c95a 0x2 + 0x0001c9ea 0xe src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + *fill* 0x0001c9ea 0x2 .rodata._lv_txt_get_next_line.str1.4 - 0x0001c95c 0x8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x0001c9ec 0x8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o .rodata.theme_apply - 0x0001c964 0xa4 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001c9f4 0xa4 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .rodata.basic_init.cst2 - 0x0001ca08 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001ca98 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .rodata.bar_init.cst2 - 0x0001ca0a 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001ca9a 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .rodata.linemeter_init.cst2 - 0x0001ca0a 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001ca9a 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .rodata.lv_theme_material_init.cst2 - 0x0001ca0a 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001ca9a 0x2 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o 0x4 (size before relaxing) - .rodata 0x0001ca0c 0x6 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o - *fill* 0x0001ca12 0x2 + .rodata 0x0001ca9c 0x6 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + *fill* 0x0001caa2 0x2 .rodata.lv_theme_material_init.str1.4 - 0x0001ca14 0x4 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001caa4 0x4 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o .rodata.p_debug_rx_cb.str1.4 - 0x0001ca18 0x3 src/drivers/p_usart.o - *fill* 0x0001ca1b 0x1 + 0x0001caa8 0x3 src/drivers/p_usart.o + *fill* 0x0001caab 0x1 .rodata.p_usart_init.str1.4 - 0x0001ca1c 0x10 src/drivers/p_usart.o + 0x0001caac 0x10 src/drivers/p_usart.o 0xd (size before relaxing) .rodata._svfprintf_r.str1.1 - 0x0001ca2c 0x11 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-svfprintf.o) + 0x0001cabc 0x11 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-svfprintf.o) .rodata._printf_i.str1.1 - 0x0001ca3d 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-vfprintf_i.o) + 0x0001cacd 0x22 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v6-m\libc_nano.a(lib_a-nano-vfprintf_i.o) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x0001ca60 . = ALIGN (0x4) - *fill* 0x0001ca5f 0x1 + 0x0001caf0 . = ALIGN (0x4) + *fill* 0x0001caef 0x1 *(.init) - .init 0x0001ca60 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crti.o - 0x0001ca60 _init - .init 0x0001ca64 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtn.o - 0x0001ca6c . = ALIGN (0x4) - 0x0001ca6c __preinit_array_start = . + .init 0x0001caf0 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crti.o + 0x0001caf0 _init + .init 0x0001caf4 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtn.o + 0x0001cafc . = ALIGN (0x4) + 0x0001cafc __preinit_array_start = . *(.preinit_array) - 0x0001ca6c __preinit_array_end = . - 0x0001ca6c . = ALIGN (0x4) - 0x0001ca6c __init_array_start = . + 0x0001cafc __preinit_array_end = . + 0x0001cafc . = ALIGN (0x4) + 0x0001cafc __init_array_start = . *(SORT(.init_array.*)) *(.init_array) - .init_array 0x0001ca6c 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o - 0x0001ca70 __init_array_end = . - 0x0001ca70 . = ALIGN (0x4) + .init_array 0x0001cafc 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o + 0x0001cb00 __init_array_end = . + 0x0001cb00 . = ALIGN (0x4) *crtbegin.o(.ctors) *(EXCLUDE_FILE(*crtend.o) .ctors) *(SORT(.ctors.*)) *crtend.o(.ctors) - 0x0001ca70 . = ALIGN (0x4) + 0x0001cb00 . = ALIGN (0x4) *(.fini) - .fini 0x0001ca70 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crti.o - 0x0001ca70 _fini - .fini 0x0001ca74 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtn.o - 0x0001ca7c . = ALIGN (0x4) - 0x0001ca7c __fini_array_start = . + .fini 0x0001cb00 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crti.o + 0x0001cb00 _fini + .fini 0x0001cb04 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtn.o + 0x0001cb0c . = ALIGN (0x4) + 0x0001cb0c __fini_array_start = . *(.fini_array) - .fini_array 0x0001ca7c 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o + .fini_array 0x0001cb0c 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o *(SORT(.fini_array.*)) - 0x0001ca80 __fini_array_end = . + 0x0001cb10 __fini_array_end = . *crtbegin.o(.dtors) *(EXCLUDE_FILE(*crtend.o) .dtors) *(SORT(.dtors.*)) *crtend.o(.dtors) - 0x0001ca80 . = ALIGN (0x4) - 0x0001ca80 _efixed = . + 0x0001cb10 . = ALIGN (0x4) + 0x0001cb10 _efixed = . [!provide] PROVIDE (__exidx_start, .) -.vfp11_veneer 0x0001ca80 0x0 - .vfp11_veneer 0x0001ca80 0x0 linker stubs +.vfp11_veneer 0x0001cb10 0x0 + .vfp11_veneer 0x0001cb10 0x0 linker stubs -.v4_bx 0x0001ca80 0x0 - .v4_bx 0x0001ca80 0x0 linker stubs +.v4_bx 0x0001cb10 0x0 + .v4_bx 0x0001cb10 0x0 linker stubs -.iplt 0x0001ca80 0x0 - .iplt 0x0001ca80 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o +.iplt 0x0001cb10 0x0 + .iplt 0x0001cb10 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o -.ARM.exidx 0x0001ca80 0x8 +.ARM.exidx 0x0001cb10 0x8 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x0001ca80 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_udivmoddi4.o) + .ARM.exidx 0x0001cb10 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m\libgcc.a(_udivmoddi4.o) [!provide] PROVIDE (__exidx_end, .) -.eh_frame 0x0001ca88 0x0 - .eh_frame 0x0001ca88 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o +.eh_frame 0x0001cb18 0x0 + .eh_frame 0x0001cb18 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o -.rel.dyn 0x0001ca88 0x0 - .rel.iplt 0x0001ca88 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o +.rel.dyn 0x0001cb18 0x0 + .rel.iplt 0x0001cb18 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o -.jcr 0x0001ca88 0x0 - .jcr 0x0001ca88 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o +.jcr 0x0001cb18 0x0 + .jcr 0x0001cb18 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o -.igot.plt 0x0001ca88 0x0 - .igot.plt 0x0001ca88 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o - 0x0001ca88 . = ALIGN (0x4) - 0x0001ca88 _etext = . +.igot.plt 0x0001cb18 0x0 + .igot.plt 0x0001cb18 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v6-m/crtbegin.o + 0x0001cb18 . = ALIGN (0x4) + 0x0001cb18 _etext = . -.relocate 0x20000000 0xc4 load address 0x0001ca88 +.relocate 0x20000000 0xc4 load address 0x0001cb18 0x20000000 . = ALIGN (0x4) 0x20000000 _srelocate = . *(.ramfunc .ramfunc.*) @@ -19525,7 +19528,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin 0x200000c4 . = ALIGN (0x4) 0x200000c4 _erelocate = . -.bss 0x200000c8 0x4d70 load address 0x0001cb50 +.bss 0x200000c8 0x4d70 load address 0x0001cbe0 0x200000c8 . = ALIGN (0x4) 0x200000c8 _sbss = . 0x200000c8 _szero = . @@ -19678,7 +19681,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin 0x20004e38 _ebss = . 0x20004e38 _ezero = . -.stack 0x20004e38 0x2000 load address 0x000218c0 +.stack 0x20004e38 0x2000 load address 0x00021950 0x20004e38 . = ALIGN (0x8) 0x20004e38 _sstack = . 0x20006e38 . = (. + STACK_SIZE) @@ -19925,121 +19928,121 @@ OUTPUT(oracle_test_d21.elf elf32-littlearm) .comment 0x00000059 0x5a src/drivers/p_usart.o .comment 0x00000059 0x5a src/main.o -.debug_info 0x00000000 0x8aa76 +.debug_info 0x00000000 0x8aaaa .debug_info 0x00000000 0xa64 src/ASF/common2/services/delay/sam0/cycle_counter.o .debug_info 0x00000a64 0x1550 src/drivers/p_time.o - .debug_info 0x00001fb4 0x17ed src/oracle.o - .debug_info 0x000037a1 0x2ddf src/ASF/sam0/drivers/sercom/sercom.o - .debug_info 0x00006580 0x499e src/ASF/sam0/drivers/sercom/usart/usart.o - .debug_info 0x0000af1e 0x3048 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o - .debug_info 0x0000df66 0x2be7 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - .debug_info 0x00010b4d 0xb05 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o - .debug_info 0x00011652 0x12ad src/ASF/sam0/boards/samd21_xplained_pro/board_init.o - .debug_info 0x000128ff 0x12b6 src/ASF/sam0/drivers/port/port.o - .debug_info 0x00013bb5 0x37aa src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o - .debug_info 0x0001735f 0x1ec7 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - .debug_info 0x00019226 0x13f3 src/ASF/sam0/drivers/system/pinmux/pinmux.o - .debug_info 0x0001a619 0xa73 src/ASF/sam0/drivers/system/system.o - .debug_info 0x0001b08c 0x3a3f src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o - .debug_info 0x0001eacb 0xd98 src/ASF/sam0/utils/syscalls/gcc/syscalls.o - .debug_info 0x0001f863 0x1c8e src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_info 0x000214f1 0x1a42 src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_info 0x00022f33 0x2636 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - .debug_info 0x00025569 0x40b8 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_info 0x00029621 0xcf42 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_info 0x00036563 0x2b13 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_info 0x00039076 0x2fbc src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - .debug_info 0x0003c032 0x313e src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_info 0x0003f170 0x366d src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_info 0x000427dd 0x31bb src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_info 0x00045998 0x2cee src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_info 0x00048686 0x32d1 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_info 0x0004b957 0x58e9 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_info 0x00051240 0x22e5 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_info 0x00053525 0x1748 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_info 0x00054c6d 0x2c5a src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_info 0x000578c7 0xcf2 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o - .debug_info 0x000585b9 0x21ba src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_info 0x0005a773 0x13df src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_info 0x0005bb52 0x2809 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_info 0x0005e35b 0x2282 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_info 0x000605dd 0x161 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_info 0x0006073e 0x1ede src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_info 0x0006261c 0x156a src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_info 0x00063b86 0x6b0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_info 0x00064236 0x2293 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_info 0x000664c9 0x153e src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_info 0x00067a07 0x16ab src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_info 0x000690b2 0xcd4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_info 0x00069d86 0x1c4a src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_info 0x0006b9d0 0x1bf8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_info 0x0006d5c8 0x192d src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_info 0x0006eef5 0xddf src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_info 0x0006fcd4 0x1670 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_info 0x00071344 0xc718 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_info 0x0007da5c 0x6feb src/devices/display/p_ssd1963.o - .debug_info 0x00084a47 0x161d src/drivers/p_gpio.o - .debug_info 0x00086064 0xa5c src/drivers/p_i2c.o - .debug_info 0x00086ac0 0x3524 src/drivers/p_usart.o - .debug_info 0x00089fe4 0xa92 src/main.o + .debug_info 0x00001fb4 0x1807 src/oracle.o + .debug_info 0x000037bb 0x2ddf src/ASF/sam0/drivers/sercom/sercom.o + .debug_info 0x0000659a 0x499e src/ASF/sam0/drivers/sercom/usart/usart.o + .debug_info 0x0000af38 0x3048 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + .debug_info 0x0000df80 0x2be7 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + .debug_info 0x00010b67 0xb05 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o + .debug_info 0x0001166c 0x12ad src/ASF/sam0/boards/samd21_xplained_pro/board_init.o + .debug_info 0x00012919 0x12b6 src/ASF/sam0/drivers/port/port.o + .debug_info 0x00013bcf 0x37aa src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + .debug_info 0x00017379 0x1ec7 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + .debug_info 0x00019240 0x13f3 src/ASF/sam0/drivers/system/pinmux/pinmux.o + .debug_info 0x0001a633 0xa73 src/ASF/sam0/drivers/system/system.o + .debug_info 0x0001b0a6 0x3a3f src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o + .debug_info 0x0001eae5 0xd98 src/ASF/sam0/utils/syscalls/gcc/syscalls.o + .debug_info 0x0001f87d 0x1c8e src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_info 0x0002150b 0x1a42 src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_info 0x00022f4d 0x2636 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + .debug_info 0x00025583 0x40b8 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_info 0x0002963b 0xcf42 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_info 0x0003657d 0x2b13 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_info 0x00039090 0x2fbc src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + .debug_info 0x0003c04c 0x313e src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_info 0x0003f18a 0x366d src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_info 0x000427f7 0x31bb src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_info 0x000459b2 0x2cee src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_info 0x000486a0 0x32d1 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_info 0x0004b971 0x58e9 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_info 0x0005125a 0x22e5 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_info 0x0005353f 0x1748 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_info 0x00054c87 0x2c5a src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_info 0x000578e1 0xcf2 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o + .debug_info 0x000585d3 0x21ba src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_info 0x0005a78d 0x13df src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_info 0x0005bb6c 0x2809 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_info 0x0005e375 0x2282 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_info 0x000605f7 0x161 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_info 0x00060758 0x1ede src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_info 0x00062636 0x156a src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_info 0x00063ba0 0x6b0 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_info 0x00064250 0x2293 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_info 0x000664e3 0x153e src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_info 0x00067a21 0x16ab src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_info 0x000690cc 0xcd4 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_info 0x00069da0 0x1c4a src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_info 0x0006b9ea 0x1bf8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_info 0x0006d5e2 0x192d src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_info 0x0006ef0f 0xddf src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_info 0x0006fcee 0x1670 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_info 0x0007135e 0xc718 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_info 0x0007da76 0x6feb src/devices/display/p_ssd1963.o + .debug_info 0x00084a61 0x161d src/drivers/p_gpio.o + .debug_info 0x0008607e 0xa5c src/drivers/p_i2c.o + .debug_info 0x00086ada 0x353e src/drivers/p_usart.o + .debug_info 0x0008a018 0xa92 src/main.o -.debug_abbrev 0x00000000 0xbbde +.debug_abbrev 0x00000000 0xbbd3 .debug_abbrev 0x00000000 0x1e7 src/ASF/common2/services/delay/sam0/cycle_counter.o .debug_abbrev 0x000001e7 0x27e src/drivers/p_time.o - .debug_abbrev 0x00000465 0x2da src/oracle.o - .debug_abbrev 0x0000073f 0x378 src/ASF/sam0/drivers/sercom/sercom.o - .debug_abbrev 0x00000ab7 0x467 src/ASF/sam0/drivers/sercom/usart/usart.o - .debug_abbrev 0x00000f1e 0x416 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o - .debug_abbrev 0x00001334 0x2d8 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - .debug_abbrev 0x0000160c 0x23b src/ASF/common/utils/interrupt/interrupt_sam_nvic.o - .debug_abbrev 0x00001847 0x2dc src/ASF/sam0/boards/samd21_xplained_pro/board_init.o - .debug_abbrev 0x00001b23 0x298 src/ASF/sam0/drivers/port/port.o - .debug_abbrev 0x00001dbb 0x465 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o - .debug_abbrev 0x00002220 0x40d src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - .debug_abbrev 0x0000262d 0x361 src/ASF/sam0/drivers/system/pinmux/pinmux.o - .debug_abbrev 0x0000298e 0x1e1 src/ASF/sam0/drivers/system/system.o - .debug_abbrev 0x00002b6f 0x234 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o - .debug_abbrev 0x00002da3 0x257 src/ASF/sam0/utils/syscalls/gcc/syscalls.o - .debug_abbrev 0x00002ffa 0x34a src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_abbrev 0x00003344 0x29f src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_abbrev 0x000035e3 0x39a src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - .debug_abbrev 0x0000397d 0x4d4 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_abbrev 0x00003e51 0x533 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_abbrev 0x00004384 0x4e7 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_abbrev 0x0000486b 0x44d src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - .debug_abbrev 0x00004cb8 0x490 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_abbrev 0x00005148 0x467 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_abbrev 0x000055af 0x441 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_abbrev 0x000059f0 0x3c1 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_abbrev 0x00005db1 0x4a9 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_abbrev 0x0000625a 0x484 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_abbrev 0x000066de 0x44f src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_abbrev 0x00006b2d 0x2b8 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_abbrev 0x00006de5 0x4ad src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_abbrev 0x00007292 0x21a src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o - .debug_abbrev 0x000074ac 0x41e src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_abbrev 0x000078ca 0x1f0 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_abbrev 0x00007aba 0x3f8 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_abbrev 0x00007eb2 0x282 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_abbrev 0x00008134 0xcb src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_abbrev 0x000081ff 0x44a src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_abbrev 0x00008649 0x3f8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_abbrev 0x00008a41 0x262 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_abbrev 0x00008ca3 0x3c3 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_abbrev 0x00009066 0x20f src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_abbrev 0x00009275 0x3f6 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_abbrev 0x0000966b 0x245 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_abbrev 0x000098b0 0x3ee src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_abbrev 0x00009c9e 0x420 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_abbrev 0x0000a0be 0x47e src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_abbrev 0x0000a53c 0x238 src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_abbrev 0x0000a774 0x270 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_abbrev 0x0000a9e4 0x385 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_abbrev 0x0000ad69 0x3ab src/devices/display/p_ssd1963.o - .debug_abbrev 0x0000b114 0x341 src/drivers/p_gpio.o - .debug_abbrev 0x0000b455 0x1be src/drivers/p_i2c.o - .debug_abbrev 0x0000b613 0x3ec src/drivers/p_usart.o - .debug_abbrev 0x0000b9ff 0x1df src/main.o + .debug_abbrev 0x00000465 0x2cf src/oracle.o + .debug_abbrev 0x00000734 0x378 src/ASF/sam0/drivers/sercom/sercom.o + .debug_abbrev 0x00000aac 0x467 src/ASF/sam0/drivers/sercom/usart/usart.o + .debug_abbrev 0x00000f13 0x416 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + .debug_abbrev 0x00001329 0x2d8 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + .debug_abbrev 0x00001601 0x23b src/ASF/common/utils/interrupt/interrupt_sam_nvic.o + .debug_abbrev 0x0000183c 0x2dc src/ASF/sam0/boards/samd21_xplained_pro/board_init.o + .debug_abbrev 0x00001b18 0x298 src/ASF/sam0/drivers/port/port.o + .debug_abbrev 0x00001db0 0x465 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + .debug_abbrev 0x00002215 0x40d src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + .debug_abbrev 0x00002622 0x361 src/ASF/sam0/drivers/system/pinmux/pinmux.o + .debug_abbrev 0x00002983 0x1e1 src/ASF/sam0/drivers/system/system.o + .debug_abbrev 0x00002b64 0x234 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o + .debug_abbrev 0x00002d98 0x257 src/ASF/sam0/utils/syscalls/gcc/syscalls.o + .debug_abbrev 0x00002fef 0x34a src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_abbrev 0x00003339 0x29f src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_abbrev 0x000035d8 0x39a src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + .debug_abbrev 0x00003972 0x4d4 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_abbrev 0x00003e46 0x533 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_abbrev 0x00004379 0x4e7 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_abbrev 0x00004860 0x44d src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + .debug_abbrev 0x00004cad 0x490 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_abbrev 0x0000513d 0x467 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_abbrev 0x000055a4 0x441 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_abbrev 0x000059e5 0x3c1 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_abbrev 0x00005da6 0x4a9 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_abbrev 0x0000624f 0x484 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_abbrev 0x000066d3 0x44f src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_abbrev 0x00006b22 0x2b8 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_abbrev 0x00006dda 0x4ad src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_abbrev 0x00007287 0x21a src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o + .debug_abbrev 0x000074a1 0x41e src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_abbrev 0x000078bf 0x1f0 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_abbrev 0x00007aaf 0x3f8 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_abbrev 0x00007ea7 0x282 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_abbrev 0x00008129 0xcb src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_abbrev 0x000081f4 0x44a src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_abbrev 0x0000863e 0x3f8 src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_abbrev 0x00008a36 0x262 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_abbrev 0x00008c98 0x3c3 src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_abbrev 0x0000905b 0x20f src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_abbrev 0x0000926a 0x3f6 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_abbrev 0x00009660 0x245 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_abbrev 0x000098a5 0x3ee src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_abbrev 0x00009c93 0x420 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_abbrev 0x0000a0b3 0x47e src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_abbrev 0x0000a531 0x238 src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_abbrev 0x0000a769 0x270 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_abbrev 0x0000a9d9 0x385 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_abbrev 0x0000ad5e 0x3ab src/devices/display/p_ssd1963.o + .debug_abbrev 0x0000b109 0x341 src/drivers/p_gpio.o + .debug_abbrev 0x0000b44a 0x1be src/drivers/p_i2c.o + .debug_abbrev 0x0000b608 0x3ec src/drivers/p_usart.o + .debug_abbrev 0x0000b9f4 0x1df src/main.o .debug_aranges 0x00000000 0x17e0 .debug_aranges @@ -20459,174 +20462,174 @@ OUTPUT(oracle_test_d21.elf elf32-littlearm) .debug_macro 0x0002596b 0x45d src/drivers/p_usart.o .debug_macro 0x00025dc8 0x663 src/main.o -.debug_line 0x00000000 0x310b3 +.debug_line 0x00000000 0x310b5 .debug_line 0x00000000 0x99c src/ASF/common2/services/delay/sam0/cycle_counter.o .debug_line 0x0000099c 0x1cfd src/drivers/p_time.o - .debug_line 0x00002699 0x1d4e src/oracle.o - .debug_line 0x000043e7 0xbf0 src/ASF/sam0/drivers/sercom/sercom.o - .debug_line 0x00004fd7 0xd27 src/ASF/sam0/drivers/sercom/usart/usart.o - .debug_line 0x00005cfe 0xcea src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o - .debug_line 0x000069e8 0xb94 src/ASF/sam0/drivers/sercom/sercom_interrupt.o - .debug_line 0x0000757c 0x8e5 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o - .debug_line 0x00007e61 0x9a3 src/ASF/sam0/boards/samd21_xplained_pro/board_init.o - .debug_line 0x00008804 0x917 src/ASF/sam0/drivers/port/port.o - .debug_line 0x0000911b 0xc6d src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o - .debug_line 0x00009d88 0xc93 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o - .debug_line 0x0000aa1b 0x964 src/ASF/sam0/drivers/system/pinmux/pinmux.o - .debug_line 0x0000b37f 0xa0e src/ASF/sam0/drivers/system/system.o - .debug_line 0x0000bd8d 0x669 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o - .debug_line 0x0000c3f6 0x409 src/ASF/sam0/utils/syscalls/gcc/syscalls.o - .debug_line 0x0000c7ff 0xae9 src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_line 0x0000d2e8 0xa7b src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_line 0x0000dd63 0xecd src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o - .debug_line 0x0000ec30 0x1020 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_line 0x0000fc50 0x261c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_line 0x0001226c 0xdc7 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_line 0x00013033 0x1157 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o - .debug_line 0x0001418a 0x1070 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_line 0x000151fa 0xf83 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_line 0x0001617d 0xe6a src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_line 0x00016fe7 0xd2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_line 0x00017d13 0x139a src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_line 0x000190ad 0x12ff src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_line 0x0001a3ac 0xa60 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_line 0x0001ae0c 0xcea src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_line 0x0001baf6 0xf79 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_line 0x0001ca6f 0x467 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o - .debug_line 0x0001ced6 0x1077 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_line 0x0001df4d 0x159a src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_line 0x0001f4e7 0x10c4 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_line 0x000205ab 0xcd7 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_line 0x00021282 0x317 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_line 0x00021599 0xe65 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_line 0x000223fe 0x70b src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_line 0x00022b09 0x407 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_line 0x00022f10 0xeef src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_line 0x00023dff 0x885 src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_line 0x00024684 0x58f src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_line 0x00024c13 0x45e src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_line 0x00025071 0xbb2 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_line 0x00025c23 0xd98 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_line 0x000269bb 0x75e src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_line 0x00027119 0x4f9 src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_line 0x00027612 0xc28 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_line 0x0002823a 0x333c src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_line 0x0002b576 0x267b src/devices/display/p_ssd1963.o - .debug_line 0x0002dbf1 0xd51 src/drivers/p_gpio.o - .debug_line 0x0002e942 0xce5 src/drivers/p_i2c.o - .debug_line 0x0002f627 0xdb9 src/drivers/p_usart.o - .debug_line 0x000303e0 0xcd3 src/main.o + .debug_line 0x00002699 0x1d4f src/oracle.o + .debug_line 0x000043e8 0xbf0 src/ASF/sam0/drivers/sercom/sercom.o + .debug_line 0x00004fd8 0xd27 src/ASF/sam0/drivers/sercom/usart/usart.o + .debug_line 0x00005cff 0xcea src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + .debug_line 0x000069e9 0xb94 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + .debug_line 0x0000757d 0x8e5 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o + .debug_line 0x00007e62 0x9a3 src/ASF/sam0/boards/samd21_xplained_pro/board_init.o + .debug_line 0x00008805 0x917 src/ASF/sam0/drivers/port/port.o + .debug_line 0x0000911c 0xc6d src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + .debug_line 0x00009d89 0xc93 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + .debug_line 0x0000aa1c 0x964 src/ASF/sam0/drivers/system/pinmux/pinmux.o + .debug_line 0x0000b380 0xa0e src/ASF/sam0/drivers/system/system.o + .debug_line 0x0000bd8e 0x669 src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o + .debug_line 0x0000c3f7 0x409 src/ASF/sam0/utils/syscalls/gcc/syscalls.o + .debug_line 0x0000c800 0xae9 src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_line 0x0000d2e9 0xa7b src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_line 0x0000dd64 0xecd src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + .debug_line 0x0000ec31 0x1020 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_line 0x0000fc51 0x261c src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_line 0x0001226d 0xdc7 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_line 0x00013034 0x1157 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + .debug_line 0x0001418b 0x1070 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_line 0x000151fb 0xf83 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_line 0x0001617e 0xe6a src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_line 0x00016fe8 0xd2c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_line 0x00017d14 0x139a src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_line 0x000190ae 0x12ff src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_line 0x0001a3ad 0xa60 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_line 0x0001ae0d 0xcea src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_line 0x0001baf7 0xf79 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_line 0x0001ca70 0x467 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o + .debug_line 0x0001ced7 0x1077 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_line 0x0001df4e 0x159a src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_line 0x0001f4e8 0x10c4 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_line 0x000205ac 0xcd7 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_line 0x00021283 0x317 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_line 0x0002159a 0xe65 src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_line 0x000223ff 0x70b src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_line 0x00022b0a 0x407 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_line 0x00022f11 0xeef src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_line 0x00023e00 0x885 src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_line 0x00024685 0x58f src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_line 0x00024c14 0x45e src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_line 0x00025072 0xbb2 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_line 0x00025c24 0xd98 src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_line 0x000269bc 0x75e src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_line 0x0002711a 0x4f9 src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_line 0x00027613 0xc28 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_line 0x0002823b 0x333c src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_line 0x0002b577 0x267b src/devices/display/p_ssd1963.o + .debug_line 0x0002dbf2 0xd51 src/drivers/p_gpio.o + .debug_line 0x0002e943 0xce5 src/drivers/p_i2c.o + .debug_line 0x0002f628 0xdba src/drivers/p_usart.o + .debug_line 0x000303e2 0xcd3 src/main.o .debug_str 0x00000000 0x9fce7 .debug_str 0x00000000 0x8373e src/ASF/common2/services/delay/sam0/cycle_counter.o 0x84042 (size before relaxing) .debug_str 0x0008373e 0x9749 src/drivers/p_time.o 0x8d87c (size before relaxing) - .debug_str 0x0008ce87 0xcf8 src/oracle.o - 0x8e4c5 (size before relaxing) - .debug_str 0x0008db7f 0xd68 src/ASF/sam0/drivers/sercom/sercom.o + .debug_str 0x0008ce87 0xd0e src/oracle.o + 0x8e4db (size before relaxing) + .debug_str 0x0008db95 0xd68 src/ASF/sam0/drivers/sercom/sercom.o 0x85466 (size before relaxing) - .debug_str 0x0008e8e7 0xd92 src/ASF/sam0/drivers/sercom/usart/usart.o + .debug_str 0x0008e8fd 0xd92 src/ASF/sam0/drivers/sercom/usart/usart.o 0x8621f (size before relaxing) - .debug_str 0x0008f679 0x216 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o + .debug_str 0x0008f68f 0x216 src/ASF/sam0/drivers/sercom/usart/usart_interrupt.o 0x85465 (size before relaxing) - .debug_str 0x0008f88f 0x548 src/ASF/sam0/drivers/sercom/sercom_interrupt.o + .debug_str 0x0008f8a5 0x548 src/ASF/sam0/drivers/sercom/sercom_interrupt.o 0x85301 (size before relaxing) - .debug_str 0x0008fdd7 0x53 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o + .debug_str 0x0008fded 0x53 src/ASF/common/utils/interrupt/interrupt_sam_nvic.o 0x83d73 (size before relaxing) - .debug_str 0x0008fe2a 0x2ce src/ASF/sam0/boards/samd21_xplained_pro/board_init.o + .debug_str 0x0008fe40 0x2ce src/ASF/sam0/boards/samd21_xplained_pro/board_init.o 0x87db0 (size before relaxing) - .debug_str 0x000900f8 0x5e src/ASF/sam0/drivers/port/port.o + .debug_str 0x0009010e 0x5e src/ASF/sam0/drivers/port/port.o 0x8419f (size before relaxing) - .debug_str 0x00090156 0x278d src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o + .debug_str 0x0009016c 0x278d src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/clock.o 0x86f0c (size before relaxing) - .debug_str 0x000928e3 0x1e3 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o + .debug_str 0x000928f9 0x1e3 src/ASF/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/gclk.o 0x84a36 (size before relaxing) - .debug_str 0x00092ac6 0x179 src/ASF/sam0/drivers/system/pinmux/pinmux.o + .debug_str 0x00092adc 0x179 src/ASF/sam0/drivers/system/pinmux/pinmux.o 0x84215 (size before relaxing) - .debug_str 0x00092c3f 0x3b src/ASF/sam0/drivers/system/system.o + .debug_str 0x00092c55 0x3b src/ASF/sam0/drivers/system/system.o 0x83e50 (size before relaxing) - .debug_str 0x00092c7a 0xeea src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o + .debug_str 0x00092c90 0xeea src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.o 0x6ee77 (size before relaxing) - .debug_str 0x00093b64 0x689 src/ASF/sam0/utils/syscalls/gcc/syscalls.o + .debug_str 0x00093b7a 0x689 src/ASF/sam0/utils/syscalls/gcc/syscalls.o 0x742e (size before relaxing) - .debug_str 0x000941ed 0x7be src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_str 0x00094203 0x7be src/ASF/thirdparty/lvgl/src/lv_core/lv_debug.o 0xab70 (size before relaxing) - .debug_str 0x000949ab 0x15a src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_str 0x000949c1 0x15a src/ASF/thirdparty/lvgl/src/lv_core/lv_disp.o 0xa76c (size before relaxing) - .debug_str 0x00094b05 0xca6 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o + .debug_str 0x00094b1b 0xca6 src/ASF/thirdparty/lvgl/src/lv_core/lv_group.o 0xb5ff (size before relaxing) - .debug_str 0x000957ab 0xa23 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_str 0x000957c1 0xa23 src/ASF/thirdparty/lvgl/src/lv_core/lv_indev.o 0xb6fb (size before relaxing) - .debug_str 0x000961ce 0x2f29 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_str 0x000961e4 0x2f29 src/ASF/thirdparty/lvgl/src/lv_core/lv_obj.o 0xef98 (size before relaxing) - .debug_str 0x000990f7 0x337 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_str 0x0009910d 0x337 src/ASF/thirdparty/lvgl/src/lv_core/lv_refr.o 0xb1f8 (size before relaxing) - .debug_str 0x0009942e 0x322 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o + .debug_str 0x00099444 0x322 src/ASF/thirdparty/lvgl/src/lv_core/lv_style.o 0xac50 (size before relaxing) - .debug_str 0x00099750 0x7aa src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_str 0x00099766 0x7aa src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_blend.o 0xaefe (size before relaxing) - .debug_str 0x00099efa 0x66c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_str 0x00099f10 0x66c src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_img.o 0xb486 (size before relaxing) - .debug_str 0x0009a566 0x3a0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_str 0x0009a57c 0x3a0 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_label.o 0xb446 (size before relaxing) - .debug_str 0x0009a906 0x24b src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_str 0x0009a91c 0x24b src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_line.o 0xbf71 (size before relaxing) - .debug_str 0x0009ab51 0x331 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_str 0x0009ab67 0x331 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_mask.o 0xb1dc (size before relaxing) - .debug_str 0x0009ae82 0x309 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_str 0x0009ae98 0x309 src/ASF/thirdparty/lvgl/src/lv_draw/lv_draw_rect.o 0xb62d (size before relaxing) - .debug_str 0x0009b18b 0x110 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_str 0x0009b1a1 0x110 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_buf.o 0x9c76 (size before relaxing) - .debug_str 0x0009b29b 0xe7 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_str 0x0009b2b1 0xe7 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_cache.o 0xad56 (size before relaxing) - .debug_str 0x0009b382 0x4a2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_str 0x0009b398 0x4a2 src/ASF/thirdparty/lvgl/src/lv_draw/lv_img_decoder.o 0xb56a (size before relaxing) - .debug_str 0x0009b824 0x45 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o + .debug_str 0x0009b83a 0x45 src/ASF/thirdparty/lvgl/src/lv_font/lv_font.o 0x7feb (size before relaxing) - .debug_str 0x0009b869 0x524 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_str 0x0009b87f 0x524 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o 0xab60 (size before relaxing) - .debug_str 0x0009bd8d 0xf1 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_str 0x0009bda3 0xf1 src/ASF/thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o 0xb503 (size before relaxing) - .debug_str 0x0009be7e 0x174 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_str 0x0009be94 0x174 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_disp.o 0xb65a (size before relaxing) - .debug_str 0x0009bff2 0x76 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_str 0x0009c008 0x76 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_indev.o 0xb3e8 (size before relaxing) - .debug_str 0x0009c068 0x58 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_str 0x0009c07e 0x58 src/ASF/thirdparty/lvgl/src/lv_hal/lv_hal_tick.o 0x4842 (size before relaxing) - .debug_str 0x0009c0c0 0x1df src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_str 0x0009c0d6 0x1df src/ASF/thirdparty/lvgl/src/lv_misc/lv_anim.o 0xaf01 (size before relaxing) - .debug_str 0x0009c29f 0xcb src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_str 0x0009c2b5 0xcb src/ASF/thirdparty/lvgl/src/lv_misc/lv_area.o 0x7dd3 (size before relaxing) - .debug_str 0x0009c36a 0xd5 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_str 0x0009c380 0xd5 src/ASF/thirdparty/lvgl/src/lv_misc/lv_color.o 0x5483 (size before relaxing) - .debug_str 0x0009c43f 0x1ac src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_str 0x0009c455 0x1ac src/ASF/thirdparty/lvgl/src/lv_misc/lv_fs.o 0xafaa (size before relaxing) - .debug_str 0x0009c5eb 0x98 src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_str 0x0009c601 0x98 src/ASF/thirdparty/lvgl/src/lv_misc/lv_gc.o 0x9d4c (size before relaxing) - .debug_str 0x0009c683 0x192 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_str 0x0009c699 0x192 src/ASF/thirdparty/lvgl/src/lv_misc/lv_ll.o 0x7986 (size before relaxing) - .debug_str 0x0009c815 0x92 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_str 0x0009c82b 0x92 src/ASF/thirdparty/lvgl/src/lv_misc/lv_math.o 0x79d2 (size before relaxing) - .debug_str 0x0009c8a7 0x297 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_str 0x0009c8bd 0x297 src/ASF/thirdparty/lvgl/src/lv_misc/lv_mem.o 0xa064 (size before relaxing) - .debug_str 0x0009cb3e 0x1eb src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_str 0x0009cb54 0x1eb src/ASF/thirdparty/lvgl/src/lv_misc/lv_task.o 0xaed0 (size before relaxing) - .debug_str 0x0009cd29 0x298 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_str 0x0009cd3f 0x298 src/ASF/thirdparty/lvgl/src/lv_misc/lv_txt.o 0x87e1 (size before relaxing) - .debug_str 0x0009cfc1 0x5f src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_str 0x0009cfd7 0x5f src/ASF/thirdparty/lvgl/src/lv_misc/lv_utils.o 0x8583 (size before relaxing) - .debug_str 0x0009d020 0xc8 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_str 0x0009d036 0xc8 src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme.o 0xa83f (size before relaxing) - .debug_str 0x0009d0e8 0x195b src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_str 0x0009d0fe 0x195b src/ASF/thirdparty/lvgl/src/lv_themes/lv_theme_material.o 0xe367 (size before relaxing) - .debug_str 0x0009ea43 0xf4 src/devices/display/p_ssd1963.o + .debug_str 0x0009ea59 0xf4 src/devices/display/p_ssd1963.o 0x8e72e (size before relaxing) - .debug_str 0x0009eb37 0x67 src/drivers/p_gpio.o + .debug_str 0x0009eb4d 0x67 src/drivers/p_gpio.o 0x88c74 (size before relaxing) - .debug_str 0x0009eb9e 0x17 src/drivers/p_i2c.o + .debug_str 0x0009ebb4 0x17 src/drivers/p_i2c.o 0x886d5 (size before relaxing) - .debug_str 0x0009ebb5 0x1124 src/drivers/p_usart.o + .debug_str 0x0009ebcb 0x110e src/drivers/p_usart.o 0x8b299 (size before relaxing) .debug_str 0x0009fcd9 0xe src/main.o 0x886d6 (size before relaxing) @@ -23893,6 +23896,7 @@ oracle_init src/oracle.o oracle_service src/oracle.o src/main.o p_debug_start_service src/drivers/p_usart.o + src/oracle.o p_gpio_init src/drivers/p_gpio.o src/oracle.o p_gpio_parallel_wr_arr src/drivers/p_gpio.o diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.srec b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.srec index faf5ab4..b951382 100644 --- a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.srec +++ b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/oracle_test_d21.srec @@ -1,7352 +1,7361 @@ S01700006F7261636C655F746573745F6432312E7372656352 -S214000000386E00200D1300000913000009130000CD +S214000000386E002075130000711300007113000095 S21400001000000000000000000000000000000000DB -S21400002000000000000000000000000009130000AF -S2140000300000000000000000091300004501000059 -S214000040091300000913000009130000091300003B -S214000050091300000913000009130000091300002B -S21400006009130000E50B0000F50B0000050C00006E -S214000070150C0000250C0000350C000009130000CC -S21400008009130000091300000913000009130000FB -S21400009009130000091300000913000009130000EB -S2140000A009130000091300000913000009130000DB +S2140000200000000000000000000000007113000047 +S21400003000000000000000007113000045010000F1 +S214000040711300007113000071130000711300009B +S214000050711300007113000071130000711300008B +S214000060711300004D0C00005D0C00006D0C0000CC +S2140000707D0C00008D0C00009D0C0000711300002C +S214000080711300007113000071130000711300005B +S214000090711300007113000071130000711300004B +S2140000A0711300007113000071130000711300003B S2140000B00000000010B5064C2378002B07D1054B36 S2140000C0002B02D0044800E000BF0123237010BDBF -S2140000D0C80000200000000088CA0100084B10B5C8 +S2140000D0C80000200000000018CB0100084B10B537 S2140000E0002B03D00749084800E000BF0748036814 S2140000F0002B00D110BD064B002BFBD09847F9E72C -S21400010000000000CC00002088CA010088CA010058 +S21400010000000000CC00002018CB010018CB010036 S2140001100000000010B5084A00201060074B53602E S214000120074C236A1B021B0AC02109060B432362E5 S21400013090600723136010BD10E000E03F1F000032 S21400014000ED00E070B506490A684B6801240025FA S21400015012196B410A604B600120024B984770BD34 -S214000160E800002009F7000030B58DB0134B984723 -S2140001700122134B1A70BFF35F8F62B6114B98477C -S214000180114B9847114B9847114B9847114B98477E -S214000190114B9847114C96235B0100221049200012 -S2140001A0104DA84701A8104B9847104B0493029493 -S2140001B001A80F4B98470DB030BDC046DD120000B9 -S2140001C00C00002051780100F17701003D77010016 -S2140001D015010000F91700000569010070260020CF -S2140001E0F000002059F40000F5F30000217401002F -S2140001F079F4000010B50020084B98470200002351 -S2140002000748002180185941064A0023064CA0479B -S214000210064B9847064B984710BDC0466510000031 -S214000220571B0000581B00004D7C010001000020F9 -S214000230F5120100F0B5DE4657464E464546E0B597 -S21400024087B08046049116001F000022002300217C -S2140002508B463F2401202100009601975C460394BC -S2140002604446059413E02024641A0500E540A84699 -S21400027014E0009C019D121BAB415C464D462C438E -S214000280A346039C45462C430394013925D32024DA -S21400029064420C19E7D40500A540A84604008C402B -S2140002A0A14692185B4114001D00059E4F463E4035 -S2140002B0B446049E47463E40B246664657463E43D0 -S2140002C003D00600264332002B00009C019D9D4271 -S2140002D0DBD8CED19442D8D8CBE7039B584619003A -S2140002E007B03CBC90469946A246AB46F0BD10B55A -S2140002F0490840230024814202D2180010BD1C0089 -S214000300091A631C9BB28842F9D94023FF2CF4D803 -S21400031014800023F1E70000F0B583B00F0016004C -S21400032008AA117804004C434022BC4202D91000AF -S21400033003B0F0BD002B14D1020008000021194CB8 -S214000340A04701003A0000230020174CA0470022D7 -S2140003500123121A8B41120C1B041A43328000220E -S214000360E5E70022012BF9D10A00002300210D4CFD -S214000370A04702000B0000920193380000210A4CAF -S214000380A047050080239B0140229842CFD8790FD2 -S214000390F800009A019BA047EA00821AD2B25203E4 -S2140003A02A43DBE78D7C01003502000010B582B0E1 -S2140003B004000E4B1B78002B07D0002905D10B4BF1 -S2140003C05B78834210D01D200CE001A90C7013202E -S2140003D0074B98471320074B9847044B5C70012245 -S2140003E01A70002002B010BD0020FBE79426002003 -S2140003F07D110000F1100000404B984231D00AD920 -S2140004003F4B98424DD03F4B98425AD03E4B984275 -S21400041037D0002070473D4B98420CD03C4B98425A -S214000420F7D1012917D000295DD0022915D003295C -S21400043015D00020EEE7012907D0002951D0022967 -S21400044005D0032905D00020E4E73248E2E7324829 -S214000450E0E73248DEE73248DCE73248DAE732489F -S214000460D8E7012907D000293FD0022905D0032963 -S21400047005D00020CEE72D48CCE72D48CAE72D480A -S214000480C8E7012907D0002931D0022905D0032961 -S21400049005D00020BEE72848BCE72848BAE7284829 -S2140004A0B8E7012907D0002923D0022905D003295F -S2140004B005D00020AEE72348ACE72348AAE7234848 -S2140004C0A8E7012907D0002915D0022905D003295D -S2140004D005D000209EE71E489CE71E489AE71E4867 -S2140004E098E71E4896E7032094E71D4892E71D48C4 -S2140004F090E71D488EE71D488CE7C0460010004276 -S21400050000180042001C004200140042000800428E -S214000510000C00420300050003000600030007006D -S2140005200300010003001E0003001F000300090073 -S21400053003000A0003000B00030011000300120072 -S2140005400300130003000D0003000E0003000F005D -S214000550030017000300180003001900030004003E -S214000560030008000300100003000C000300160040 -S21400057030B587B00B4B6A4632CB32C232CB32C272 -S214000580009B83420BD001239A0069465258824250 -S21400059006D00133062BF7D1002007B030BD00236C -S2140005A0D8B2FAE7A4870100F0B5DE4657464E46B5 -S2140005B04546E0B591B005000C001600296008001D -S2140005C0BA4B9847020023680520DB0706D511B012 -S2140005D03CBC90469946A246AB46F0BD2368173011 -S2140005E09B07F4D4B249086A971C0123BB40034317 -S2140005F00B620FA92D27F35D0B701432D3B2029352 -S2140006001800AC4B98470298AB4B9847F05D00211A -S214000610AA4B9847F37A6B712423F35CAB712523BE -S214000620F35CEB71F37E2B72337F6B722B6898460C -S21400063018009E4B9847143000220E2306A98C46BD -S21400064063441A80328A02928023DB019A4200D1E8 -S2140006509AE00FD9C023DB01029A9A4200D18EE0BD -S21400066080231B029A4200D01BE10323069300233B -S214000670079308E080239B019A4200D011E11023E3 -S21400068006930F3B079333680593F3689B4673699D -S2140006900393337E04932623F35C9A467368994645 -S2140006A0002B00D19CE080235B05994500D180E0BB -S2140006B0737E002B02D0B37E424693730E2306AAA7 -S2140006C0944663441B8842469381059B5A461343CF -S2140006D0039A13434A461343029F1F43049B1B027D -S2140006E01F4353465B071F432723F35C002B01D1B0 -S2140006F004331F43737E9B02327F52021343727F82 -S214000700120213432422B25C520413432522B25C25 -S21400071012041343B17AF27A114319433389FF2B3B -S21400072000D181E080225204174319432C23F35C46 -S214000730002B03D1624B9B789B0701D580231F4378 -S2140007402A68D369002BFCD1434659602A68D369CE -S214000750002BFCD143461F600EAB80221A7000228D -S2140007605A70DA709A70336B0A93736B0B93B36B91 -S2140007700C93F36B02930D9300270AAE63E00823F5 -S2140007800693073B07937EE733680593F3689B461B -S21400079073690393337E04932623F35C9A46736847 -S2140007A09946002B18D080235B05994501D0002080 -S2140007B025E02723F35C002B00D079E7336A1F007F -S2140007C0C0B2404B984701000E2206AB9C466244DE -S2140007D038003D4B984712E0082306930023079302 -S2140007E02723F35C002B0ED0069B0093079B0E225C -S2140007F006A98C466244B16A306A344FB84700286E -S21400080000D0E4E654E7336A1F00C0B22D4B984789 -S2140008100100069B0093079B0E2206A884466244AE -S21400082038002A4FB847EAE7F37E002B00D17DE771 -S2140008308023DB041F4379E72000254B984707E019 -S2140008400137042F0DD0F9B2BB0098590028F3D019 -S214000850431CF5D00EA90870000CC0B21D4B98477B -S214000860EEE70023EB602B616B61AB61EB612B6203 -S214000870AB626B620022EB85AB853033EA54013302 -S214000880EA540133EA540133EA542868074B984780 -S21400089004001149114B9847A400114BE550002065 -S2140008A095E61023069300230793ECE671050000F7 -S2140008B0000400407D110000F1100000AD030000B0 -S2140008C00020004199110000EF020000190300000B -S2140008D0F903000075120000E1090000790B000022 -S2140008E0944C0020C2791C23002A01D118007047BE -S2140008F0C28D92B2173B002AF8D1026811850221F8 -S214000900137E0B42FCD00023F0E70000F0B5CE4685 -S214000910474680B583B0050001911720002A04D110 -S21400092003B00CBC90469946F0BDEB790530002B21 -S214000930F6D02C68013A93B2994600260127204B40 -S214000940984611E0731C9BB2019A915D6A79012A60 -S21400095017D089B21E0028001A4B98474B46013B19 -S2140009609BB29946434513D0237E3B42EAD1144BB3 -S214000970227E3A42E6D1012B19D0013B002BF7D15B -S214000980E0E70236B6B2019AD35C1B021943E2E7EF -S214000990237E9B070DD40A4B0221227E0A420AD1EF -S2140009A0012B0AD0013B002BF7D10020B8E712201C -S2140009B0B6E70020B4E70020B2E71220B0E7C04652 -S2140009C0FFFF0000E5080000931C9B00C318596059 -S2140009D03021012393401A00435C1343435470476D -S2140009E0F8B58000624BC5582C68E369002BFCD133 -S2140009F0237EA67D1E403023EB5C3122AF5C1F4079 -S214000A00F30722D5EB8D9BB2002B1CD0AA6A137875 -S214000A10DBB2511CA962697901290ED09BB2DB05B5 -S214000A20DB0D2385EB8D013B9BB2EB85002B0CD1B8 -S214000A30013323750133A37507E0517809020B4390 -S214000A400232AA62EBE701232375B30706D5022319 -S214000A50237500223133EA54FB071AD4730765D591 -S214000A60AB8D9BB2002B5FD0638BDBB21A0714D41E -S214000A703F221340002B34D09A0711D51A22322376 -S214000A80EA54303B63837B0750D528006B69984750 -S214000A904CE02800EB689847E0E737221340E9E788 -S214000AA05A0705D51E223223EA542E3B6383EAE713 -S214000AB0DA0705D513223223EA54313B6383E2E793 -S214000AC0DA0605D542223223EA54223B6383DAE76C -S214000AD020221A42D7D021323223EA54123B6383B3 -S214000AE0D1E7238DDB05DB0DDAB2696A0A706A6A24 -S214000AF0511C69626979012910D0AB8D013B9BB20C -S214000B00AB85002B12D10433237500222E33EA5412 -S214000B10BB070BD528002B69984707E01B0A5370C4 -S214000B206B6A01336B62E8E704232375F30604D58A -S214000B30102323752376FB060ED4B30604D5202394 -S214000B40237523763B070BD4330704D50823237578 -S214000B502376BB0608D4F8BD2800EB699847ECE777 -S214000B602800AB699847EFE72B6A28009847F2E71A -S214000B70944C002070470000F0B50A4B1B78002B01 -S214000B800CD1094F094E0A4D0024DE515A19146043 -S214000B900433182BF9D10122024B1A708000024B45 -S214000BA0C150F0BD9626002098260020750B000048 -S214000BB0944C002000B583B009236A4613700133B5 -S214000BC05370013393700133D370013313710133C3 -S214000BD05371034B98476B46185603B000BDC0468A -S214000BE07105000010B5024B1B680020984710BD29 -S214000BF09826002010B5024B5B680120984710BD70 -S214000C009826002010B5024B9B680220984710BD1E -S214000C109826002010B5024BDB680320984710BDCD -S214000C209826002010B5024B1B690420984710BD7B -S214000C309826002010B5024B5B690520984710BD2A -S214000C40982600200C4B1B68002B06D1EFF3108370 -S214000C50002B07D00022094B1A70074A136801338D -S214000C601360704772B6BFF35F8F0022044B1A7092 -S214000C700132024B1A70F0E7B0260020B42600209E -S214000C800C000020084B1A68013A1A601B68002BFB -S214000C9009D1064B1B78002B05D00122044B1A7095 -S214000CA0BFF35F8F62B67047B0260020B4260020E0 -S214000CB00C000020F0B583B001AC0125657000275C -S214000CC0A770257021003E20064EB0478022D20530 -S214000CD0054B9A612770657021000F20B04703B05E -S214000CE0F0BDC046ED0C00008044004100B583B066 -S214000CF001AB80221A700A785A704A789A708A78FD -S214000D00DA701900014B984703B000BD7512000059 -S214000D1010B582B001AB80241C7014785C705478D7 -S214000D209C709278DA701A00014B984702B010BD9A -S214000D30A512000010B5082803D880001C4B1B58CD -S214000D409F46002032E01B4B18692FE01A4B1B6AA7 -S214000D509B059B0F1948D84028E0164B586925E09C -S214000D60144B1B6800209B0720D513491022CB6824 -S214000D701A42FCD00F4B1A6824231340042B01D0D0 -S214000D800F4813E000200F4B98470A4B9B681B0444 -S214000D901B0C58430AE05023074AD35C00205B072D -S214000DA004D5044BD86801E08020000210BDC04680 -S214000DB0BC870100B82600200008004000127A0018 -S214000DC0006CDC029911000070B50C490B6A0478BF -S214000DD0857840780122104080014026B3430343C3 -S214000DE02A40D2018020834313430322224012026A -S214000DF00348034013430B6270BDC0460008004022 -S214000E00FFFCFFFF082803D88000254B1B589F4691 -S214000E10172044E0234A136A02210B431362002082 -S214000E203DE0204A936902210B439361002036E09F -S214000E301C4A138A02210B43138200202FE0194A12 -S214000E40938A02210B439382002028E016490B6800 -S214000E50022213430B60134B9A8419000E32CB68A0 -S214000E601A42FCD0104A91680E4BD96252689A62B8 -S214000E7000229A8419001032CB681A42FCD00A4B22 -S214000E801B689BB2074A9384002008E00549442269 -S214000E908B5C022003438B54002000E00020704748 -S214000EA0E087010000080040B826002030B585B075 -S214000EB0C222D2001A4B9A601A4A53681E218B43EC -S214000EC0536001236A4613700024174DE0B269464A -S214000ED0A8470134252CF9D103A800244470012525 -S214000EE085700470114B98470620114B9847114B9C -S214000EF09847114B1C725C729C72DC7201956B46B3 -S214000F005C7006236A461370147254726946002099 -S214000F100A4B984700200A4B984705B030BDC0469C -S214000F2000080040004000417D110000C90D00008F -S214000F30050E0000450F000000040040690F000089 -S214000F4021100000064A936908210B439361012291 -S214000F50044B1A7019000B781342FCD17047C04638 -S214000F6000040040000C004070B5060004000D7838 -S214000F702D0205434B78002B02D08023DB021D4355 -S214000F804B7A002B02D080231B031D4348680128A0 -S214000F9010D9431E184234D1022830D90223002229 -S214000FA001325B009842FBD81202324314008023C1 -S214000FB05B031D430B7A002B02D080239B031D434B -S214000FC0134A53785BB2002BFBDB124B9847124B4D -S214000FD01E700F4A53785BB2002BFBDB0C4B9C60F9 -S214000FE01A0053785BB2002BFBDB094A536880215A -S214000FF049020B401D435560084B984770BD0022C0 -S214001000D2E70402344380239B021D43D2E7C04646 -S214001010000C0040450C0000080C0040850C000049 -S21400102010B504000B4A53785BB2002BFBDB0A4B6F -S21400103098470A4B1C70074A53785BB2002BFBDBC1 -S214001040044A516880235B020B435360044B984765 -S21400105010BDC046000C0040450C0000040C0040CB -S214001060850C000070B504001A4A53785BB2002B5A -S214001070FBDB194B9847194B1C70164A53785BB22A -S214001080002BFBDB134E7068C004C00E144B984751 -S2140010900500124B1C707668F602F60F114B1C709A -S2140010A00C4A53785BB2002BFBDB0A4B9C6824028D -S2140010B0240C0D4B9847002E07D1012C07D9210090 -S2140010C028000A4B9847050001E00134E540280057 -S2140010D070BDC046000C0040450C0000040C0040EB -S2140010E0350D0000080C0040850C000061790100F9 -S2140010F010B50400064B9847064B1C70064A5388EA -S2140011008021C9010B435380044B984710BDC0464D -S214001110450C0000020C0040000C0040850C00004E -S21400112010B504000F4B98470F4B1C700F4A53889E -S2140011301B05180F53880E490B40538053880D49E2 -S2140011400B40538011008022D2014B881342FCD101 -S21400115006494A8803020648024013434B80064B62 -S214001160984710BD450C0000020C0040000C0040E3 -S214001170FFF0FFFFFFBFFFFF850C000010B50C78E7 -S21400118024020443024B9847A4B2024B5C8010BD75 -S21400119021110000000C004010B50400064B9847D3 -S2140011A0064B1C70064B5C882405240F054B98479D -S2140011B02000054B984710BD450C0000020C00406F -S2140011C0000C0040850C00006510000030B5D37898 -S2140011D0002B35D11378802B29D01B06802464027F -S2140011E0234354780225AC4306D19478002C20D1B2 -S2140011F08024A402234341605478013C012C1CD96E -S2140012000D042D0CA024E4052C431C4384620D0C15 -S214001210D02424062C431C438462D478002C22D18C -S2140012205B031CD59378012B1ED0416117E0002389 -S214001230D7E7C024E4022343DDE70D4C2340DFE775 -S21400124041600C04240CA023DB05234383620C0CB2 -S214001250D0231B0623438362D378002B03D1537815 -S214001260013B012B02D930BD8161F8E78160FAE7C6 -S214001270FFFFFBFF10B50A00C1090023002904D1B7 -S2140012804309DB0105498C4663441F2420400121A5 -S21400129081401800024B984710BDC04600440041EC -S2140012A0CD110000F0B583B000900E00019200242E -S2140012B00127084D02E00134202C09D03300E3401A -S2140012C01F42F8D0019A3900A1400098A847F2E7DB -S2140012D003B0F0BDCD1100007047000010B5054BFF -S2140012E09847054B9847054B9847054B9847054B3D -S2140012F0984710BDAD0E0000B50C0000D9120000D6 -S214001300D9120000D9120000FEE70000F8B52A4AFC -S2140013102A4B9A4211D01A00294B9A420DD2294ADA -S21400132003339B1A9B0801339B0000222348224963 -S2140013308C58845004329A42FAD1234A234B9A425C -S2140013400AD2D34321495B1803218B4304339B18ED -S214001350002102C29342FCD11D4AFF211D4B8B4344 -S2140013609360FD3990235B001B4AD1501B4AD3780B -S2140013700325AB4302242343D370D3780C27BB4307 -S21400138008263343D370164B987B30229043202296 -S21400139010439873997BB943314399739A7BAA4358 -S2140013A022439A730F4A536880210B4353600E4BB7 -S2140013B098470E4B9847FEE788CA010000000020B9 -S2140013C0C400002004000020C8000020384E002082 -S2140013D000ED00E0000000000070004100500041F9 -S2140013E00048004100400041B57E01004D790100F3 -S2140013F00300064A1268002A04D0044A1068C3187C -S214001400136070470249014A1160F6E7D0260020B3 -S214001410386E0020431E9841C0B2704710B5C0B069 -S2140014200400064B9847E52801D940B010BD0200DD -S21400143021006846024B9847F7E7C046617F0100E7 -S214001440250C010010B5002801D0C06B10BD034B61 -S21400145098470028F9D10020F8E7C046A1F500001B -S21400146010B5002801D0006C10BD034B984700282B -S214001470F9D10020F8E7C046A1F5000010B5002815 -S21400148001D0406C10BD034B98470028F9D10020CE -S214001490F8E7C046A1F50000F8B5002811D00025F1 -S2140014A034272026074C02E0A047002804D0C35D5E -S2140014B01E42F9D00500F7E7002D02D02800024BA7 -S2140014C09847F8BD391A0000B11F0000F8B5DE468F -S2140014D057464E464546E0B506008A469046037D8A -S2140014E0DB073CD4C468012399460025324F0F33EE -S2140014F09B4615E0337D5A461A4201D1002D2ED167 -S2140015004B46002B2BD03000D0470400002D4CD08B -S21400151000239946002C03D02068B84700280CD03A -S214001520002CE7D0002D06D021003000C047040074 -S214001530A842EFD113E02500F6E7F368A3420ED0E9 -S214001540002B16D01868C369002217219847F36845 -S214001550186800220E21194B9847012805D03CBC7C -S21400156090469946A246AB46F8BDF3681868144BF9 -S2140015709847F4602068C369002216219847F368EC -S214001580186800220D210D4B98470128E7D1F36813 -S21400159018680C4B9847F3681868094B98473369E6 -S2140015A0002BDCD030009847D9E70028D7D00500BC -S2140015B000239946B0E7C0461D1E0000A91900008A -S2140015C0491F00009914000010B518210148024B6D -S2140015D0984710BD184E00205105010010B5024A6C -S2140015E00249034B984710BD1D0601000506010081 -S2140015F0CD14000010B5024A0249034B984710BDAF -S2140016004506010011060100CD14000070B5040067 -S214001610037DDD06ED0F1022134303751B0708D567 -S214001620054B98472D01237D102293432B432375AA -S21400163070BD024B9847F5E7F5150000DD15000074 -S214001640F8B505000C00002810D006001B4B984784 -S21400165000280CD003689C4208D0194F01003000C7 -S214001660B847002803D00368A342F7D1F8BDA36BA0 -S214001670002B07D02000134B9847002802D0A06B01 -S214001680114B9847A5632800104B98470600104B4F -S214001690984700280BD0002EE8D034602800074B6F -S2140016A098478642E2D12800074B9847DEE732008B -S2140016B00023084808498847FEE7C046050601009B -S2140016C01D060100C13500000D160000B50501001D -S2140016D015140000048801001D140000002804D022 -S2140016E0C368002B03D0186870470020FCE7002072 -S2140016F0FAE7002803D0007D8007C00F704700205F -S214001700FCE70000014B18687047C046D42600204E -S214001710F8B50C00002815D05022835C02210B433C -S2140017208354184B1B68984205D0002C07D0C36B17 -S2140017309C4204D0F8BD0022134B1A60F5E7002344 -S214001740C363F7E70020114B98470028F2D00D4FEF -S2140017500D4D0E4E07E000232B600CE00023C36304 -S214001760B0470028E6D05022835C02210B43835406 -S2140017703B688342EFD0002CF0D0C36B9C42EFD185 -S214001780ECE7C046D4260020D8260020E5F6000068 -S21400179010B500210020014B984710BD111700001E -S2140017A0F0B585B00D00029116000392031D01935B -S2140017B018000F4B9847041E18D0ADB2B7B20D4EA6 -S2140017C0238AEB182382638AFB186382A38AEB18AA -S2140017D0A382E38AFB18E382039A02992000FFF7AC -S2140017E0DFFF21000198B047041EE9D105B0F0BD27 -S2140017F0050601001D06010030B585B0194B1B78A3 -S214001800002B01D005B030BD174B9847174B9847B3 -S214001810174B9847174B9847174B98471021174870 -S214001820174CA047174B02930193009302221F21E7 -S21400183015480088154DA847154B9847154B9847EF -S214001840B82149001448A04760211448A047144B0B -S2140018509847144B98470120134B98470122014B99 -S2140018601A70CFE7E4260020E109010031110100DB -S214001870E102010091F90000C9150000684D002042 -S21400188051050100300000201288010029440100A3 -S214001890E91B010035420000C44C0020B84C002073 -S2140018A09117000091E60000F1DB000070B504001F -S2140018B00D00094B9847002808D0342201231D400C -S2140018C0A35C012083432B43A35470BD2200002356 -S2140018D0024803498847FEE7151400006C8801009B -S2140018E01D140000F0B587B007000C0001921E0022 -S2140018F0002904D00800254B984700283CD003ABAD -S214001900039400221A710592214B1B68002B00D00D -S214001910059303AA1E4B1A601E4B1D681E601E4BC5 -S2140019209847002804D08368002B01D00199984777 -S214001930002F02D001992000B847164B1D60144BAB -S2140019401A6892681A6003AB1B790020002B11D12D -S214001950002C17D03433E35C01305B060AD52068D0 -S214001960002811D0320001990C4B984701384242AA -S2140019704241D0B207B0F0BD220000230848094912 -S2140019808847FEE70120F5E70120F3E7151400007D -S214001990E0260020DC26002005170000A91900001C -S2140019A06C8801001D14000070B504000D001600C0 -S2140019B0002810D0094B9847002805D122000023A4 -S2140019C0074808498847FEE7A06933002A00210037 -S2140019D0054CA04770BD0120FCE7C046151400006A -S2140019E06C8801001D140000E518000010B50028E2 -S2140019F004D0C369002B03D0984710BD0120FCE734 -S214001A000120FAE710B50400084B9847002805D1D6 -S214001A1022000023064807498847FEE7002363861E -S214001A20E369002206212000984710BD1514000027 -S214001A306C8801001D14000010B50400054B984783 -S214001A40002801D0206810BD220000230248034968 -S214001A508847FEE7151400006C8801001D1400007E -S214001A6070B50400094B9847002801D0084D06E0E1 -S214001A7022000023074808498847FEE704002000A4 -S214001A80A8470028FAD1200070BDC04615140000F3 -S214001A90391A00006C8801001D140000F0B5C64617 -S214001AA000B50400194B984700280FD02368002B78 -S214001AB003D02000164B984704001648164B98474C -S214001AC0071E1ED0144B9846144E0BE0220000232F -S214001AD0134814498847FEE739000E480F4B9847CD -S214001AE0071E0ED03D0030352800C0470028F3D032 -S214001AF0844206D001002800B0470028ECD084427B -S214001B00F8D1380004BC9046F0BDC046151400005D -S214001B10611A0000C44C0020050601001D060100E5 -S214001B206C8801001D14000070B504000D000A4BFF -S214001B309847002806D0002D0AD0201D2900074B04 -S214001B40984770BD22000023054806498847FEE7EF -S214001B50201D054B9847F4E7151400001D060100EC -S214001B606C8801001D1400000506010070B5040015 -S214001B700D000A4B9847002809D020001830103472 -S214001B802178297001350134A042F9D170BD2200B8 -S214001B900023034803498847FEE7C04615140000A3 -S214001BA06C8801001D14000010B504000B4B98470C -S214001BB0002805D12200002309480A498847FEE785 -S214001BC02000094B9847002804D0238A008A181A58 -S214001BD000B210BD1023E05EFBE7C04615140000FF -S214001BE06C8801001D140000391A000010B50400AE -S214001BF00B4B9847002805D12200002309480A49C4 -S214001C008847FEE72000094B9847002804D0638ADF -S214001C10408A181A00B210BD1223E05EFBE7C046E9 -S214001C20151400006C8801001D140000391A00000D -S214001C3010B50400074B9847002805D0A08A01304D -S214001C40238AC01A00B210BD2200002302480349AE -S214001C508847FEE7151400006C8801001D1400007C -S214001C6010B50400074B9847002805D0E08A0130DD -S214001C70638AC01A00B210BD22000023024803493E -S214001C808847FEE7151400006C8801001D1400004C -S214001C9000B583B0002902D1283003B000BD6B46E2 -S214001CA01970002301936A460821044B98470128BF -S214001CB001D10198F1E70020EFE7C046ED190000DA -S214001CC0F0B5DE4657464646C0B580468A46934639 -S214001CD01E001D481D4B9847041E2FD0B0422DD025 -S214001CE01B4F0AE0A3885B4515D05B46FF2B12D03E -S214001CF0002D23D02C00AE4220D021001248B84739 -S214001D00050020684045F3D1A1795145EAD05346F5 -S214001D10FF2BEDD1E6E70F4B98470F4B9847A1886E -S214001D200E4B9847002120000D4B9847210006488F -S214001D300C4B984720000C4B9847D9E71CBC9046A4 -S214001D409A46A346F0BDC046684D00201106010025 -S214001D5045060100911C0000B9550000694B0000C3 -S214001D6029FA0000ED060100D10A010070B5040052 -S214001D700D00064B9847002807D0054B98470023D0 -S214001D80FF2229002000034CA04770BD911C0000D4 -S214001D90C9550000C11C0000F8B504681748184B68 -S214001DA09847002820D00026144D164F04E0010066 -S214001DB02800B84700280DD08442F8D0036822686F -S214001DC09342F4D143681B02626812029A42EED133 -S214001DD00126ECE7002E07D0210008480A4B98475A -S214001DE020000A4B9847F8BDA1792068084B984711 -S214001DF0084B9847A188084B9847EDE7684D0020A8 -S214001E00050601001D060100ED060100D10A0100CD -S214001E10911C0000B9550000694B000010B5040085 -S214001E20074B9847002804D03423E05CC006C00F58 -S214001E3010BD22000023034803498847FEE7C0463A -S214001E40151400006C8801001D140000F0B585B064 -S214001E5004000E00304B9847002805D122000023CE -S214001E602E482F498847FEE720002E4B984700282B -S214001E7001D005B0F0BD20002B4B984707002B4B38 -S214001E80984705002A4B9847874209D02800294BD7 -S214001E909847874204D02800274B98478742E8D1C6 -S214001EA03222A35E210010310022885C6F46D05596 -S214001EB00132082AF9D19BB23A88D21A3A807A8837 -S214001EC0D21A7A80BA889A18BA80FA889B186A4614 -S214001ED0FB80310002A8194B98470028C9D0200083 -S214001EE0174B9847041E11D0144E2200103202A938 -S214001EF00800B0470028BCD020000A4B98470028AE -S214001F00B7D120000E4B9847041EEED102A9280038 -S214001F100C4B9847ADE7C046151400006C880100CE -S214001F201D1400001D1E0000611A00009D1A00000E -S214001F3045140000611400007D140000A7FB00009B -S214001F40391A00003942000030B583B00400144B43 -S214001F50984700281DD03223E25E20001030002370 -S214001F60C15C6D4659550133082BF9D193B22A88C6 -S214001F70D21A69462A806A88D21A6A80AA889A186B -S214001F80AA80EA889B18EB802000064B984703B08F -S214001F9030BD22000023044804498847FEE7C046B7 -S214001FA0151400004D1E00006C8801001D14000072 -S214001FB0F8B50400124B9847002805D122000023EC -S214001FC0104811498847FEE72000104B9847050047 -S214001FD0061D30000E4B984784420FD028000D4F48 -S214001FE0B84701232200310030000B4EB0472200D4 -S214001FF001212800EB6998472800B847F8BDC0467D -S214002000151400006C8801001D140000391A000029 -S21400201005060100491F00007D070100F0B5D64601 -S2140020204F464646C0B582B004000D001700264B4A -S2140020309847002841D02668002E38D0338A228A56 -S2140020409B1A5B199BB29A461BB29846758A638A9E -S214002050ED1AED19ADB22BB299464346002B02D1CC -S2140020604B46002B23D02000184FB8476946200067 -S214002070174B9847238A53442382638AEB1863825C -S214002080A38A5344A382E38AED18E5824A46414672 -S2140020902000104B98476A4602212000E3699847C3 -S2140020A0F36922000121300098472000B84702B0AB -S2140020B01CBC90469946A246F0BD22000023064866 -S2140020C006498847FEE7C04615140000491F000071 -S2140020D06D1B0000A11700006C8801001D14000095 -S2140020E0F0B5D6464F464646C0B584B004000F004D -S2140020F0019299460CAB00229A5E9046264B984772 -S214002100002805D122000023244825498847FEE7F9 -S214002110002F0AD03800204B984700280AD13A00F2 -S21400212000231E481E498847FEE720001D4B98479F -S2140021300700EFE703AD21001031380010302B0008 -S214002140019A194EB0472000164B98471222835E1C -S2140021506A88424429884944008A091A09B22980B3 -S214002160D21A12B26A802000104B984748236A465B -S2140021701279E254043B4A46E25202334246E252A5 -S21400218027644922A35C02218B43A35404B01CBCE1 -S21400219090469946A246F0BD151400006C880100D2 -S2140021A01D140000391A0000D9FE00001D20000092 -S2140021B0F0B5DE4657464E464546E0B583B0804607 -S2140021C00191924699460CAB00229B5E9B46A14B22 -S2140021D09847002805D1424600239F489F498847D4 -S2140021E0FEE740469E4B9847050040469D4B984765 -S2140021F0040040469C4B9847C30F1B185B101EB24A -S21400220040469A4B9847C70F3F187F103FB2019B36 -S214002210002B0BD001988F4B984700280BD05346C5 -S214002220142B1FD89B00924AD3589F464046914B8A -S21400223098470190EEE7019A002387488749884728 -S214002240FEE7019C2000884B9847C50F2D186D109F -S214002250AD1B2DB22000854B9847C40F2418641080 -S214002260E41B24B24046834B9847019A138A4B449A -S2140022705D19018A691A1500528A5A441219448A4D -S214002280121B12B209B240467B4B9847482342467F -S2140022905146D154043B4946D15202335946D15295 -S2140022A01564492243469B5C02210B4341468B54EE -S2140022B003B03CBC90469946A246AB46F0BD75427C -S2140022C02DB27C4224B2CDE70198674B9847C50FE4 -S2140022D02D186D10AD1B2DB27C4224B2C2E70198BA -S2140022E0614B9847851B2DB27C4224B2BAE77542F3 -S2140022F02DB201985D4B9847C41B24B2B2E7019CEF -S2140023002000594B9847C50F2D186D10AD1B2DB2E8 -S2140023102000564B9847C41B24B2A3E7019C20001C -S214002320514B9847851B2DB22000504B9847C41B35 -S21400233024B297E775422DB201984C4B9847C40FCC -S21400234024186410E41B24B28CE7019C2000464B42 -S2140023509847851B2DB22000444B9847C40F24187D -S2140023606410E41B24B27DE775422DB27C4224B291 -S21400237078E701983C4B9847C50F2D186D10AD1B9C -S2140023802DB27C4224B26DE70198374B9847851BE7 -S2140023902DB27C4224B265E775422DB20198334BCC -S2140023A09847C41B24B25DE7019C20002E4B98473B -S2140023B0C50F2D186D10AD1B2DB220002B4B984766 -S2140023C0C41B24B24EE7019C2000274B9847851B70 -S2140023D02DB22000254B9847C41B24B242E7754215 -S2140023E02DB27C4224B23DE775422DB201981F4BB8 -S2140023F09847C40F24186410E41B24B232E77542D1 -S2140024002DB20198194B9847C41B24B22AE70198AD -S214002410154B9847851B2DB27C4224B222E7019CBF -S2140024202000114B9847851B2DB220000F4B984774 -S214002430C40F24186410E41B24B213E7019C200088 -S214002440094B9847851B2DB22000084B9847C41BA4 -S21400245024B207E7151400006C8801001D14000064 -S214002460A91B0000ED1B0000311C0000611C0000D1 -S21400247014880100391A00001D20000010B582B033 -S2140024800400134B9847002810D04923E35C9B07B1 -S21400249012D54423E35E4822A25C4621615E009189 -S2140024A0216C20000B4CA04702B010BD2200002378 -S2140024B009480A498847FEE74423E35E4822A25CAF -S2140024C04621615E0091216C2000054CA047EBE799 -S2140024D015140000B12100006C8801001D140000D6 -S2140024E0E1200000F8B5060000210C4B9847041EBA -S2140024F012D00B4D094F2000A847002204212000CF -S214002500E36998472000A8472000FFF7EBFF21006B -S2140025103000B847041EEED1F8BDC046291B0000A7 -S214002520491F000070B505000C00314B9847002885 -S21400253013D0712C3ED8702C1BD2412C13D8402CB3 -S21400254017D2022C05D3072C13D92300103B082BD7 -S2140025500FD92800274B984728E02A000023264852 -S21400256026498847FEE7532C21D8502C01D24C2C04 -S214002570EFD128001F4B9847002204212800EB6962 -S2140025809847152C0AD3182C01D9FF2C06D1286899 -S214002590002803D0C3690022012198472800154B64 -S2140025A09847FF2C20D024B2002C1DDB70BD5C2C7D -S2140025B0CFD1DEE77F2C0AD9114B9C4210D8114BA5 -S2140025C09C42D6D2902CD4D0FF2CC2D1D1E77E2C00 -S2140025D0CFD2732CBDD3752CCBD97C2CB9D1C8E700 -S2140025E0094B9C42B5D1C4E72800084B9847DDE765 -S2140025F015140000491F00006C8801001D1400001F -S21400260081800000808000008E800000E5240000AD -S21400261010B50400034B9847FF212000024B984753 -S21400262010BDC0466D1D000025250000F0B5C6464D -S21400263000B582B0070001910025214B9846002383 -S21400264000931CE05A1CD2B20AE0A7420FD0002F1B -S2140026500DD00133DBB28B420DD01A000628F1D024 -S214002660009C8A42F1D2920034681459EDE7FF21AB -S2140026700198144B98470135EDB2402D0CD0290037 -S2140026800198C047061E07D001790029F3D0437988 -S214002690062018400023E0E7002101980A4B9847DF -S2140026A0041E09D0084E21003800FFF7BFFF2100A6 -S2140026B00198B047041EF6D102B004BC9046F0BDA7 -S2140026C0911C000025250000291B0000F0B5D64609 -S2140026D04F4680B583B001900020114B9847814645 -S2140026E0002817D00F4B9A460F4F104E4D463035E8 -S2140026F02800D047041E07D021000198B8472100C3 -S2140027002800B047041EF7D14846054B9847814637 -S2140027100028EBD103B00CBC91469A46F0BDC046EB -S2140027207DF60000050601002D2600001D060100AE -S214002730F8B504000D00817900683F4B98473F4B81 -S2140027409847A1880F230B40082B19DC002D08D1D1 -S2140027500823E25E3A4B9847A1882068394B984791 -S214002760F8BDFF2D09D00823E65E0C23E25E921B1F -S2140027706A431212921912B2ECE70C23E25EE9E702 -S2140027800B2B3CDC002D05DDFE2D05DDA2892E4B36 -S2140027909847E1E72289FAE7EDB2FF22521B637BF6 -S2140027A0DB086B43667AF60856439E1933029B197C -S2140027B0DB019B191B01DB0EA7897F05BF0E6F434C -S2140027C026897605B60E5643BF193E02F619F6015F -S2140027D0F619F600277BFF06FF0E7D43277AFF06D5 -S2140027E0FF0E7A43AD182A025219D201521912016D -S2140027F0B60E7601D20EDB0232431A43C7E70D2B24 -S21400280011DC002D05DDFE2D05DD227B0F4B9847E4 -S214002810A2E7227AFAE7227A237B9B1A5D432D12DF -S2140028205219D2B2F2E77F2D03DCA268084B984714 -S21400283092E7E268FAE7C046911C0000B95500002E -S2140028408D4C000025250000ED4D00004D4F00008A -S214002850A150000010B50400054B9847002801D091 -S214002860002010BD22000023024803498847FEE7E7 -S214002870151400006C8801001D140000F8B5DE4633 -S21400288057464E464546E0B582460D0000280AD01B -S214002890E94B9847002800D03AE152460023E74823 -S2140028A0E7498847FEE7E74B9847002800D104E24F -S2140028B03030E54B98470400DF4B9847002805D199 -S2140028C022000023E148DE498847FEE7002C00D1BD -S2140028D0ECE14C212000DE4B98472200343253783E -S2140028E030218B435370DB4BE361DB4B23620023C9 -S2140028F0A361238263820020D84B98470138A082C8 -S2140029000020D74B98470138E082201D4C21D54B3C -S214002910984700210020618600233022A05401320F -S214002920A3541732A3544423E1520233E1522164E4 -S2140029300132A35C0127BB43A354A163342398460A -S214002940E25C4B33134001229446624613437D22D9 -S2140029501340793A9343270034377A780E26B243E9 -S2140029600626B1464E4632430826B3430836B343DE -S2140029702C36A0551C3EB3432036B3434646A355DB -S21400298063461A437A703D23E05461620C3F380078 -S214002990B54B9847002D00D140E12900283138007A -S2140029A0B24B984729001831220010322B00103302 -S2140029B018781070013201338B42F9D13222AB5EA7 -S2140029C063863023EA5CE2540133EA5CE254173350 -S2140029D0EA5CE254043BEA5EE2520233EA5EE2520A -S2140029E02B6C23644922A95C01239B4601273940AE -S2140029F0A35C584683430B43A354AB69A3613423BB -S214002A00EA5CD209D101E25C94467F2266463240F7 -S214002A100A43E254EA5CD207D20FE15C81430A43E0 -S214002A20E254EA5C52083A405200E15C0226B143A6 -S214002A300A43E25435229446AA5C210034310C360F -S214002A401640B0464A780E26B243464632434A708F -S214002A50EA5C92083A409200E65CB0460426B1462C -S214002A604646484686433243E254EA5CD2083A4039 -S214002A70D200E05C80460820464686433243E25455 -S214002A80EA5C12093A401201E05C80461020464695 -S214002A9086433243E254EA5C52093A405201E05C13 -S214002AA080462020464686433243E254EA5C92093A -S214002AB03A409201E75C402087433A43E2540833A9 -S214002AC0EA5CE2546346EB5CDB07DB0F4A78584669 -S214002AD0824313434B70A86B002802D02100644B3E -S214002AE098472800634B9847002800D1D2E0534609 -S214002AF0002B00D1DAE028005F4B9847070028003B -S214002B005E4B98470200390020005D4B9847C4E0B2 -S214002B105346181D4C4B98470400474B98470028CF -S214002B204BD0002C00D1C1E04C212000484B9847E8 -S214002B305346236022003432537830218B4353703F -S214002B40444BE361444B23620023A36153461222A5 -S214002B509B5E638253465F8A00204A4B9847322327 -S214002B60434350334022FF32012093422BD8C019F2 -S214002B70E0822000444B9847012830D0534610226C -S214002B809B5E238253461F8A00203E4B9847642351 -S214002B90434350334022FF32012093420AD900209B -S214002BA0384B98470300642058435030A021374BD9 -S214002BB0984780B2C019A082A7E6220000232348C7 -S214002BC01F498847FEE700202E4B98470300322017 -S214002BD058435030A0212D4B984780B2C7E7534644 -S214002BE014229B5EA38253469F8A0020254B98475B -S214002BF06423434350334022FF32012093420AD9D4 -S214002C000020204B98470300642058435030A021F2 -S214002C101E4B984780B2381A208276E65346002B21 -S214002C2004D0022120001A4B984736E001212000EC -S214002C30174B98473AE0C046151400006C88010010 -S214002C401D140000A1F500006505010004880100C0 -S214002C50E50F0100D93D000079390000ADF5000010 -S214002C60D5F5000051050100F54800003956000072 -S214002C7041160000391A0000A91B0000ED1B0000D9 -S214002C801D200000FDF500005528000061790100B8 -S214002C90011C01005346002B08D05346DB69220076 -S214002CA00121504698472000054B984720003CBC21 -S214002CB090469946A246AB46F8BD5446F6E7C0464F -S214002CC0491F000070B504000D00084B9847002807 -S214002CD006D03C23E05C2840431E9841C0B270BD3D -S214002CE022000023024803498847FEE71514000027 -S214002CF06C8801001D14000070B582B005000E003F -S214002D000D4B9847002805D03F2E09D83D23E85C98 -S214002D1002B070BD2A000023084809498847FEE72C -S214002D2001AC267000236370220009212800054BA1 -S214002D3098476078ECE7C046151400006C880100E0 -S214002D401D140000ED190000F0B5DE4657464E464D -S214002D50C0B584B006000D001700130A01930028C2 -S214002D6030D0244B9B46244B9A46244B99460CE085 -S214002D7002AB06330020185E04B01CBC91469A468F -S214002D80A346F0BD0025002E1DD029003000D847F0 -S214002D90009029003000D04704023C19A4B202ABD0 -S214002DA09A1D21000098C8470128E1D06B461B7980 -S214002DB05BB2002B07DA002DE4D13000104B9847A9 -S214002DC00600DFE714000F4B1C40222C10D007D85B -S214002DD00620032CD0D0072C08D180204000CBE75B -S214002DE00F20312CC8D00130C02CC5D00020C3E73E -S214002DF0FF20C1E7911C0000F92C00007957000065 -S214002E00391A0000FF80FFFFF0B5DE4657464E46F3 -S214002E10C0B584B006000D001700130A0193002801 -S214002E2028D01C4B9B461C4B9A461C4B994605E0EB -S214002E3003AB188825E00025002E1CD029003000A2 -S214002E40D847009029003000D04704023C19A4B2AD -S214002E5003AA21000098C8470128E9D06B461B79D1 -S214002E605BB2002B07DA002DE5D130000C4B9847FB -S214002E700600E0E714000B4B1C40293C0020012C08 -S214002E8005D904B01CBC91469A46A346F0BD064B35 -S214002E901888F6E7911C0000F92C00004D58000039 -S214002EA0391A0000FF80FFFF68880100F0B5DE4693 -S214002EB057464E46C0B584B006000D001700130AEC -S214002EC00193002829D01E4B9B461E4B9A461E4B4C -S214002ED0994605E002ABD8792AE00025002E1DD0E1 -S214002EE029003000D847009029003000D04704025F -S214002EF03C19A4B202ABDA1D21000098C84701288D -S214002F00E8D06B461B795BB2002B07DA002DE4D1C4 -S214002F1030000E4B98470600DFE714000C4B1C40B1 -S214002F206D2C0BD00B4B9C4208D02C2C06D0FF20CF -S214002F3004B01CBC91469A46A346F0BD0020F7E7B5 -S214002F40911C0000F92C000019590000391A0000E5 -S214002F50FF80FFFFAD800000F0B5DE4657464E46C8 -S214002F60C0B584B006000D001700130A01930028B0 -S214002F702CD01F4B9B461F4B9A461F4B994609E089 -S214002F80039804B01CBC91469A46A346F0BD0025A3 -S214002F90002E1CD029003000D847009029003000B1 -S214002FA0D04704023C19A4B203AA21000098C847DF -S214002FB00128E5D06B461B795BB2002B07DA002DA3 -S214002FC0E5D130000D4B98470600E0E714000C4BA7 -S214002FD01C40BE2C09D00B4B9C4203D07E2C01D04B -S214002FE00020CEE7084B9847CBE70848C9E7C0461D -S214002FF0911C0000F92C0000ED590000391A000061 -S214003000FF80FFFF8E800000F51B010048C801000E -S21400301070B50468A5880F232B40082B13DD0B2BF7 -S21400302018DD0D2B1DDDA1792A002068104B98476E -S214003030A0600023A380A17923002A0020680D4EFB -S214003040B047A58070BDA1792A0020680A4B984732 -S2140030502081EEE7A1792A002068084B9847208156 -S214003060E7E7A1792A002068054B98472072E0E739 -S214003070592F0000C11C0000492D0000092E000039 -S214003080AD2E0000F0B5DE4657464E464546E0B546 -S2140030909DB004008B463D23C35C8B4200D108E202 -S2140030A0C34B9847002808D03D23E25C91465A4619 -S2140030B0E25400230093CA46B2E122000023BD4832 -S2140030C0BD498847FEE773790422134373713D2395 -S2140030D099465246E2542A0000992000B74FB84756 -S2140030E007904B465A46E2542A0000992000B847FB -S2140030F080467379042293437371079B83424BD0B7 -S2140031003D265346A3552A0000992000AB4B98470E -S214003110020081465B46A35529000198A84B9847B4 -S214003120012D00D194E0A748A74B98470600A04B76 -S2140031309847002800D1A0E0002E2DD04B463381C2 -S2140031404346B3813460B5806B461B78B3710CA8D8 -S2140031509E4B98470C969E4B0D939E4B0E939E4B04 -S2140031600F9300231293FF331393069B1493059B30 -S2140031705B421593049B1800083010AA197811704A -S214003180013201338342F9D10CA83622835C012137 -S2140031908B438354914B9847029B023302930C2B2C -S2140031A000D137E109AB029AD55A002DF4D0039826 -S2140031B08B4B9847009920008A4B984706008A4B0D -S2140031C0984701900F232B40082B00DC7BE70B2B46 -S2140031D059DD0D2B00DDA3E07379042213437371D0 -S2140031E03D2399465246E2542A00009920007F4F1C -S2140031F0B84780464B465A46E2542A0000992000BB -S214003200B847070073790422934373714346834299 -S214003210C2D03D265346A3552A0000992000734B82 -S2140032209847020007905B46A35529000198704B0B -S21400323098476448644B984706005D4B98470028BB -S21400324068D0002EA8D06B461B7F3372377379E7A1 -S214003250684B994500D133E1984500D063E72000DC -S214003260654FB847C60F3618761036B22000B847F6 -S214003270C30F1B185B101BB23AE1320000235F48F5 -S2140032804D498847FEE773790422134373713D2343 -S21400329099465246E2542A0000992000584B984618 -S2140032A09847071C4B465A46E2542A0000992000CD -S2140032B0C0476B4698837379042293437371BFB2F9 -S2140032C083B29F4200D167E73D265346A3552A00A6 -S2140032D0009920004A4B9847071C5B46A355021CE2 -S2140032E029000198474B98473648374B98470600C1 -S2140032F02F4B9847002807D0002E00D14CE7378187 -S2140033006B469B8BB3811DE7320000233B482A495E -S2140033108847FEE732000023384827498847FEE7FB -S2140033203D2399465246E25473790422134373713F -S2140033302A0000992000344FB84708904B465A465A -S214003340E2542A0000992000B84707000C907379D1 -S2140033500422934373710CA908A82C4B98470028A5 -S21400336000D119E73D265346A3552A0000992000B0 -S214003370254B9847814608905B46A35502002900D6 -S2140033800198234B98470F480F4B98470600084B69 -S2140033909847002806D0002E00D1FDE64B46B360C5 -S2140033A0F760CFE632000023144803498847FEE75B -S2140033B0151400006C8801001D140000492D000043 -S2140033C08D4C0000684D002065050100E5F9000001 -S2140033D03127000011300000991D0000A5FA0000FA -S2140033E001570000911C0000B9550000AD2E0000EA -S2140033F04D4F0000FF7F0000311C000004880100D4 -S214003400092E0000ED4D0000592F0000FD7E010042 -S214003410A1500000009B0133DBB20093402B44D048 -S21400342000992000364B9847039000283DD04379FA -S2140034301B07EFD4B022009E31002000314B984786 -S2140034400690B122310020002E4B98470590BE22F0 -S214003450310020002C4B98470490B2223100200007 -S214003460284B984709AD2880B32231002000254B11 -S21400347098476880B42231002000224B9847A880E5 -S214003480B522310020001F4B9847E880B622310055 -S21400349020001C4B98472881B72231002000194B8A -S2140034A098476881002302937CE6FF212000174B93 -S2140034B098471DB03CBC90469946A246AB46F0BD28 -S2140034C02000134FB847C60F3618761036B22000C5 -S2140034D0B847C30F1B185B101BB2711C5A1C8A42DC -S2140034E000DD0A0012B291460A4A904500D01AE65C -S2140034F001360133B34200DD33001BB2984612E6B4 -S214003500911C0000492D0000592F000025250000C1 -S214003510311C0000FF7F000070B504000D000A4B50 -S2140035209847002809D03D23E35C290019438B42C5 -S21400353002D02000054B984770BD220000230448A7 -S21400354004498847FEE7C046151400008530000091 -S2140035506C8801001D14000070B504000D000A4BB5 -S2140035609847002809D03D23E35C1900A9438B4205 -S21400357002D02000054B984770BD22000023044867 -S21400358004498847FEE7C046151400008530000051 -S2140035906C8801001D14000010B50400054B984708 -S2140035A0002801D0A06B10BD22000023024803496A -S2140035B08847FEE7151400006C8801001D14000003 -S2140035C010B504000A4B9847002809D0A06B0028C5 -S2140035D00CD0084B9847201A44426041C0B210BD38 -S2140035E022000023044805498847FEE70020F6E746 -S2140035F015140000DD1600006C8801001D14000084 -S21400360010B50368002B0DD0021D01231468002C92 -S21400361004D00133DBB20432072BF7D19B001950DC -S214003620012010BD0023F9E7F0B5CE4600B582B004 -S21400363005000E0014000122C84B98472080C84A97 -S21400364031002800C74B984701900700052835D958 -S214003650237B002B3FD1237D002B00D06CE0237F03 -S214003660002B00D08FE03623E35C002B00D0AFE0C9 -S2140036702823E35C052B00D9F7E04423E35C052B05 -S21400368000D923E1F92F22D86B469B88227B5A4328 -S214003690120A2273227D5A43120A22752821625C7E -S2140036A05A43120A62540E31625C5A43120A62543A -S2140036B04422A75C5F433F0AA75408E00023237315 -S2140036C023752822A3540E32A3540E32A35402B0FC -S2140036D004BC9146F0BD2C2231002800A14B98472F -S2140036E020730528B7D92922310028009E4B984719 -S2140036F06080232231002800984B9847C0B2A07102 -S214003700002806D1202231002800944B9847607389 -S214003710A1E72A2231002800934B9847A080212257 -S214003720310028008D4B994698472081222231008F -S2140037302800C8476081E5E7302231002800874B23 -S21400374098472082002800D189E73C2231002800D3 -S214003750844B98472075052806D832223100280069 -S2140037607E4B984760757AE73122310028007B4B04 -S2140037709847FF23184060823922310028007A4B90 -S2140037809847E081E9E7402231002800734B9847CC -S2140037902083002800D166E74C2231002800714BB8 -S2140037A098472077052806D84222310028006B4B20 -S2140037B09847607757E7412231002800674B9847C3 -S2140037C06083492231002800674B9847E082EBE788 -S2140037D06E2231002800654B9847E062002800D131 -S2140037E046E76C22310028005E4B98473623E054AB -S2140037F0052800D83CE76D2231002800594B984731 -S2140038003723E054612231002800544B98470300C8 -S214003810581E83413822A05C012188431843A054D7 -S214003820E06A534B984702280BD03723E35C052BFE -S21400383014D8602231002800484B98473923E054BA -S21400384016E7692231002800474B9847A086494A68 -S21400385031002800454B98472063EAE7692231008B -S2140038602800414B9847A086E3E750223100280005 -S2140038703A4B98472084002800D1FEE65C223100AF -S2140038802800384B98472823E054052800D8F4E64B -S214003890512231002800314B9946984760845222C5 -S2140038A031002800C847A084532231002800C847AA -S2140038B0E0845922310028002B4B9847E08354229D -S2140038C031002800C8472923E054D6E67F2231007D -S2140038D02800264B9847E063002800D1D2E67C22D9 -S2140038E0310028001F4B98474423E054052800D891 -S2140038F0C8E6732231002800184B9946984748239B -S214003900E052742231002800C8474A23E052792248 -S21400391031002800144B98474623E0527E2231009F -S2140039202800124B98472064702231002800C847B0 -S2140039304C23E052712231002800C8474E23E05243 -S214003940752231002800C8475023E0547222310007 -S2140039502800C8475123E05494E6C046492D00008D -S2140039600C800000AD2E0000092E0000592F00002C -S214003970F98000008E800000F0B59BB004000E00B9 -S214003980022A07D0002A61D00020012A00D1B5E023 -S2140039901BB0F0BD0021814B984703000320002B8D -S2140039A0F6D10122002120007C4FB8470190042266 -S2140039B000212000B8470500052200212000B84756 -S2140039C027001037002305A9FA5C5A540133082B48 -S2140039D0FAD1ADB205A90B885B1B0B808B88ED185E -S2140039E08D8080B24B881B1A4B80CB88C018C8804D -S2140039F0019A30006A4B984703000220002BC7D07C -S214003A002C2200212000674B984703000220F92B48 -S214003A10BED9202200212000604B9847C3B2022066 -S214003A20002BB5D13222002120005C4B9847C3B250 -S214003A300220002BACD15C4A00212000594B98474D -S214003A400023F92282425B41581CA1E705A8574B88 -S214003A509847332200212000504B9847002802D078 -S214003A60002205AB1A7505AA00212000504B984786 -S214003A70042200212000494FB847050005220021F6 -S214003A802000B84727001037002303A9FA5C5A54D1 -S214003A900133082BFAD1ADB203AB1A88521B1A8039 -S214003AA09A88AD189D8080B25A88121A5A80DA8891 -S214003AB08018D88005AA310018003E4B984702228D -S214003AC000212000354B9847002801D100205FE7F1 -S214003AD01C20394B984705000122002120002F4B5F -S214003AE098470200002339002800344EB047982338 -S214003AF09B00E1182800324B9847E7E70132002187 -S214003B002000264B9847002840D133220021200071 -S214003B10224B984703000020002B00D138E705AD64 -S214003B202800224B984700232B733622AB540E3ABC -S214003B30AB542A00002120001D4B98470422002188 -S214003B402000164FB8470500052200212000B84780 -S214003B501034002303A9E25C5A540133082BFAD12F -S214003B60ADB203AB1A88521B1A809A88AD189D8096 -S214003B7080B25A88121A5A80DA888018D88005AA25 -S214003B80310018000B4B9847002001E798239B0054 -S214003B90E0180C4B98470C4B9847B6E7492D0000A9 -S214003BA035FE0000AD2E00000C800000B9AA000013 -S214003BB0293600005DAB0000590E0100EDA700009D -S214003BC085A500002DA600006D0B0100F0B5DE46B1 -S214003BD057464E46C0B58AB0040004915022784B32 -S214003BE098470600051E30D17F22049F390020002A -S214003BF0744B9847061E06D07C2239002000724B74 -S214003C009847052850D84022049920006C4B9847C6 -S214003C10061E00D0C0E0042204992000684FB84772 -S214003C200600052204992000B847031CB04200DABB -S214003C30331C1AB2002A01DDED182DB228000AB096 -S214003C401CBC91469A46A346F0BD5C22049920000F -S214003C505D4B984700250528C6D95322049D2900A8 -S214003C602000574FB847F30F9E19761001363618C6 -S214003C70B6B25122049529002000B847050052220A -S214003C8004992000B847EA17AB185340C2178018AB -S214003C905040984200DA18003018031C020401D481 -S214003CA01DB2A1E70023FBE77022049F3900200025 -S214003CB0434B994698470590702239002000C84724 -S214003CC083467E220497390020003E4B9847020028 -S214003CD006AF00218A4602913C4B0193594600915B -S214003CE0059B310038003A4EB04708AE5346338045 -S214003CF073803B88013BB3807B88013BF380752251 -S214003D00049F39002000C847059073223900200020 -S214003D10C8478246742239002000C847814607AA51 -S214003D2013006A46127D2000103005933100294F9B -S214003D30B847059A138853449BB252884A4492B2B5 -S214003D401020215E36889E1936B28E1BAE4200DAEF -S214003D502E001221605E08A94988511809B236B2B1 -S214003D60411AB14200DA310008A880881B181BB23D -S214003D701425605F09B21B1A8B4200DA0B0008A9F3 -S214003D80C988521812B21620215E1BB2521A9A42E5 -S214003D9000DA1A0015B236E74C22049920000A4BC6 -S214003DA09847052800D836E7412204992000044B9E -S214003DB098478619AE4200DA2E0035B22BE7C04689 -S214003DC0492D0000592F0000AD2E0000187C000081 -S214003DD07D1A0100D9FE000010B5040008291BD08A -S214003DE0072924D0012927D006292BD0032935D02E -S214003DF004293DD00B293FD00B000D3B012B40D9A9 -S214003E00162943D0172957D0012000290AD12000AF -S214003E102C4B9847012005E01378002B03D128345B -S214003E205460012010BD002353600120FAE72649A4 -S214003E301000264B9847F5E7254B98470123584036 -S214003E40C0B2EFE70021234B9847638E1A1C1BB2C3 -S214003E50834200DA021C62860120E3E74923C35C42 -S214003E600120DB07DED520001B4B98470120D9E751 -S214003E701A4B98470120D5E70531194B9847012082 -S214003E80D0E71021174B98470120CBE7164B9847F1 -S214003E90164B9847002805D006212000104B98475F -S214003EA00120BFE7022120000D4B98470421200087 -S214003EB00C4B98470120B5E711390A4B984701206B -S214003EC0B0E7C0466D1D00007C880100013600008A -S214003ED0C52C0000CD3B00007D240000051A000024 -S214003EE0193500005935000099350000F31600001A -S214003EF0F0B5CE4600B582B0040001900D0010313A -S214003F0000221F4B9847002827D03423EB5CDB06A3 -S214003F1025D42B6A002B28D002222100280098479F -S214003F20814603281DD02E1D3000164B9847041ED0 -S214003F300BD0154F21000198FFF7DAFF002808D1B3 -S214003F4021003000B847041EF4D100204B46012B58 -S214003F5009D002B004BC9146F0BD0020F9E700206D -S214003F60F7E70020F5E72800F3E72E1D3000054BA5 -S214003F7098470400022399460028DAD1E9E7C046AC -S214003F8035FE0000050601001D060100F0B5D64608 -S214003F904F4680B58DB007000D003423C35CDB06AA -S214003FA004D50DB00CBC91469A46F0BD3223C65ED1 -S214003FB006AC21002E4B9847B3B22288D21A228034 -S214003FC06288D21A6280A2889A18A280E2889B1819 -S214003FD0E3802200290008A8264B98470028E0D056 -S214003FE03B6A002B03D0002208A93800984706A990 -S214003FF038001F4B984706AA29000AA81D4B984769 -S214004000002807D13B6A002BCBD0012208A9380034 -S2140040109847C6E73B1D01931800174B9847051EA7 -S214004020F0D0134B9A46134B9946144E04E02900E1 -S2140040300198B047051EE5D004AC21002800D04703 -S2140040406B8E2288D21A22806288D21A6280A28858 -S2140040509A18A280E2889B18E38022000AA902A888 -S214004060C8470028E3D002A92800FFF78FFFDEE745 -S2140040706D1B0000A7FB00001106010045060100AD -S214004080F0B5D64600B582B0041E01910DD0019958 -S21400409020001A4B98472000194B9847051E0AD057 -S2140040A0184B9A46154E1F0010E0174B1868174B12 -S2140040B09847041EEBD102B004BC9246F0BD28001F -S2140040C00F4B98472C000028F5D005002B1D0093B9 -S2140040D021001800D047041E07D001992000B047E1 -S2140040E021000098B847041EF7D12B6A002BE6D0B3 -S2140040F00122019928009847E1E7C0468D3F00005D -S214004100391A000045060100E82600204514000084 -S21400411070B51C4D28681C4B9847040028681B4B3C -S214004120984700280DD10123A361164B18684368F1 -S2140041301A6AD2070FD51B6A9B070CD50123E361C9 -S2140041400BE0104D2868A369002BECD0C369002B48 -S214004150F9D09847F6E70023E361C368002B03D045 -S21400416021001031A26898472368002B06D06268A9 -S214004170002A03D0A1688B4201D0A36070BDA26064 -S214004180FCE7C046E8260020A1F60000A5F60000E1 -S21400419070B582B005001C4E30681C4B9847040072 -S2140041A030681B4B9847002809D1174E3068A36922 -S2140041B0002B04D0C369002BF9D09847F6E72200FD -S2140041C0103229006846134B98470F4C2068124B54 -S2140041D0984701006846114B98476946104DA84716 -S2140041E02068104B98476946A84720680E4B9847AA -S2140041F06946A84720680D4B9847002801D002B0B2 -S21400420070BD0B4B9847FAE7E8260020A1F60000A1 -S214004210A5F60000A7FB000045140000F13E0000D4 -S21400422081400000611400007D140000BDF600000F -S2140042301141000070470000F0B585B005000E0083 -S214004240002857D0002E5AD002AC0023238063806B -S2140042502800374B98470138A0802800354B9847F0 -S2140042600138E080220031006846334B984700282A -S2140042704BD02B69002B02D0694628009847B42300 -S2140042805B00EB5A9B059B0D002B14DD00210024E0 -S2140042902A4EB4277F000931C900691800226846F3 -S2140042A0B047002831D10134A4B22100EB5B9B0556 -S2140042B09B0D9C42EFDB1F2B29DC0933DB00EB1840 -S2140042C000226946515C99540132082AF9D1B4217A -S2140042D049006B5A9A058020C00384466244920DBA -S2140042E09B0A9B0213436B52E86A6639FF39144BEC -S2140042F098470AE0134B9847051E06D0A2E7B4225B -S2140043005200AB5A9B0A9B02AB5205B0F0BDB422DA -S2140043105200AB5A9B0A9B02AB522800483000233F -S21400432002A95A5CC2540133082BFAD1CFE7C04623 -S214004330ADF50000D5F50000A7FB000035FE000037 -S214004340E1140100A1F50000014B18687047C04653 -S214004350E8260020F0B5DE4657464E464546E0B510 -S21400436089B00500C74B98470590C74CEB6823609B -S21400437000212800C54B98472068C36B002B0ED041 -S214004380B4235B00C35A9B0548270026002B00D1A8 -S21400439084E2BD4B9846BE4B9A46C34656E0B422CE -S2140043A05200835A9B0A9B0283526DE200194930E1 -S2140043B0FF30073B03700134B34B1868B4235B002F -S2140043C0C35A9B059B0D9C4235D203194933FF33D4 -S2140043D01B78002BEFD1A642EDD025000935ED0065 -S2140043E04119C019D0470028E5D05B4619684A191C -S2140043F0C91906A8A74B984706A8A74B99469847F9 -S21400440000905B461B68D819C84701905B461B683E -S2140044105819C847019B9C466044009B8342CAD2F9 -S214004420994B1868C119002306AA9A5CCA5401332E -S214004430082BF9D1BAE70136934B1868B4235B0012 -S214004440C35A9B059B0D08379E420FD280194930F0 -S214004450FF300378002BEED143461868B4235B0088 -S214004460C35A9B0500D1FBE10024AEE700218B4A2E -S2140044701160B4225200825A920500D1F8E11A0067 -S214004480013A04922DD4049942184932FF32127828 -S214004490002A0DD04733FF33C3180A00013A05D36C -S2140044A0013B59780029F9D1049201E000230493D6 -S2140044B041682023CA5C0124A243CA544168CA5CEE -S2140044C002208243CA54704B1C68B4235B00E35A34 -S2140044D09B0500D1CCE14823019300239B4627008F -S2140044E044E000230493E3E7796820228B5C0120F4 -S2140044F003438B5444E0644C2068694B984705009E -S214004500002606822068674B98470138A8826E828C -S2140045102068654B98470138E8822368596820224E -S2140045208B5C022003438B540098604B9847564B95 -S21400453018688369002B09D0019B9C466044564B43 -S2140045409847564B1A6894466044186001239C4668 -S214004550E3444D4B1F68019B08330193B4235B0073 -S214004560FB5A9B059B0D9B4500DB81E15B46FB18D8 -S2140045704933FF331B78002BE8D1049B5B45B3D04F -S214004580796820228B5C022083438B54019B9C46D7 -S214004590BC44634600933800454B98470028AAD190 -S2140045A0394B9A4618683E4B984706005B46DB0038 -S2140045B0FF184C23FC5A0134043BFB5AE41A23B27E -S2140045C098464E23FC5E651C4A23FB5AED1A2DB214 -S2140045D053461868344B9847844231DA4E23FB5EC4 -S2140045E099464146F068334B9847A846854200DD19 -S2140045F08046254B1B681B69002B2FD0002306AA7C -S21400460013809380538043461DB21F4B9A46434601 -S214004610B0461E006C1E24B206ABDC8053461868FB -S214004620036906A9984706AB0621595E4B1C06AAE5 -S21400463052889B1A1BB29E420ADA251EEADC76E7EF -S214004640114B1868184B9847013803B29946C8E7CB -S2140046504646002D00DC6AE74B1C98464A23FC5E63 -S2140046604B4602934346E318013B4B4567DC434603 -S2140046706A46938193899A46013B03934B46B94613 -S2140046801F0026E025F70000E8260020E1140100C0 -S214004690F1FD000015FC00008BFB0000EC2600205E -S2140046A0A1F60000ADF50000D5F500009141000030 -S2140046B0BDF6000061790100AF421CD000987D4B2A -S2140046C09847544424B24346E318013B029A934267 -S2140046D01ADC48234A46D35E33824C234A46D35ECE -S2140046E0B3827482A4B2039BE5182DB2F582AF4262 -S2140046F0E2DAF7823D00704B1B68596820228B5C1B -S214004700022003438B54D9E73B004F469946A94500 -S21400471000D10CE74823FB5E33824C23FB5EB3825A -S21400472074824B46F382644B1B68596820228B5C6C -S214004730022003438B5400985E4B9847F7E600250B -S214004740E5E75E4B9847002804D05B4B1868436942 -S214004750002B1FD0584C2068483080214900584D07 -S214004760A84720684930FF302021A8472168B42296 -S21400477052008B5A9B0A9B028B520598514B9847C6 -S214004780010020688369002B00D179E04E4A126848 -S214004790984775E04D4B984704004D4B9847A369E2 -S2140047A0002BFCD1A3689B46236899469B4501D104 -S2140047B063689946404C2068464B984700902368AB -S2140047C0B42252009A5A9205C4D04200924600265D -S2140047D035000BE00136B6B23500374B1B68B42205 -S2140047E052009A5A9205920D9642B3DA5A194932F5 -S2140047F0FF321278002AEDD1EA009B184A229F5E0B -S21400480048229A5E009C7C43A41864004C215B5AA4 -S21400481001339B1A1BB25B0001932B000933DB00AC -S214004820254A126802929446634406229B5EBB4267 -S214004830D0DBA046D8444C440935ED00019A21004F -S2140048404046254B984701373FB2D04454441A4B54 -S2140048501B6802935B1906229B5EBB42EEDAB9E741 -S2140048600022194B1A60B4235B00C35A9B0512D171 -S214004870114B1868B4235B00C35A9B0500D060E751 -S214004880164B9847164B984709B03CBC904699463D -S214004890A246AB46F0BD0023049309E600220A4B6D -S2140048A01A60B4235B00C35A9B05E9D00023049327 -S2140048B0FEE5C04691410000E8260020BDF6000057 -S2140048C0E50F010041F70000EC260020A1F60000ED -S2140048D011410000ADF50000250C0100CD0B0100D4 -S2140048E0D5F3000010B50421014B984710BDC04613 -S2140048F0E50F010010B50821014B984710BDC046D2 -S214004900E50F010070B504000D000679002E45D0B5 -S2140049100068036899420CD0031D721ED2B20132A1 -S214004920920082189A4239D00433191F0968A942A6 -S214004930F8D1012E10D0711E8900194B9847060039 -S214004940184B9847002811D0002E27D02279002A2D -S21400495021D00021002314E0134B98470023236046 -S2140049602371637901229343637117E032000023B9 -S2140049700E480F498847FEE70133DBB222799A4298 -S21400498009D99A00206812589542F5D088008251BD -S2140049900131C9B2F0E7013A2271266070BDC04607 -S2140049A0DD0D010015140000D10A01000488010085 -S2140049B01D14000070B505000C00002830D01F4BF9 -S2140049C098472B79002B2CD104201D4B98470600C6 -S2140049D030001C4B984700282AD0002E20D06B7938 -S2140049E05908012211401A4200D001312A79914219 -S2140049F010D2154BD3189B00F31814481018013A20 -S214004A00521AD2B2821A9200B21818685860043B42 -S214004A109342FAD189008C512B7901332B712E6089 -S214004A2070BD013399002868094B98470600CFE708 -S214004A3032000023074808498847FEE7054900007A -S214004A40090A010015140000FFFFFF3FFEFFFF3FAD -S214004A50DD0D0100048801001D14000070B505007E -S214004A604279D3070FD506231340063B5A425341DB -S214004A70DBB20279002A22D09A4222D902689B0031 -S214004A809C58200070BD04200F4B984704000F4B25 -S214004A90984700280DD0002CF3D020000C4B9847E8 -S214004AA0210028000B4B98476B79012213436B714A -S214004AB0E7E722000023084808498847FEE7002465 -S214004AC0DFE70024DDE7C046090A010015140000F0 -S214004AD0E5480000B5490000048801001D140000E8 -S214004AE010B504000068024B98470023236010BDF1 -S214004AF0D10A010010B50168002919D00B78FF2BE8 -S214004B0012D000200F2403E0901C0B5CFF2B0CD06F -S214004B102340821C082BF7DD821C0B2BF4DD021DC4 -S214004B200D2BF1DC421CEFE70020023080B210BDF6 -S214004B300020FCE770B506000C1E0DD00B68002B9D -S214004B400AD00800054B98470500054B984730608B -S214004B5021682A00034B984770BDC046F54A0000FE -S214004B60090A0100250C0100F0B5DE4657464E4600 -S214004B704546E0B585B0061E039100D17BE000688F -S214004B80002800D17BE0CCB20B0A9846191C0378AB -S214004B90FF2B4ED0012252420292934600227F25DE -S214004BA0AA464906490E8C46703DC146B0461CE0F2 -S214004BB0811849784F464F4056463E420DD049062A -S214004BC0490E01910F006646B74310D159450EDDD8 -S214004BD009B28B4611B2029109E04346C8461E0050 -S214004BE015E08A1C835CFF2B0DD09C42E0D02B4046 -S214004BF0911C082BF5DD911C0B2BF2DD111D0D2BE6 -S214004C00EFDC511CEDE74346C8461E00029A002A18 -S214004C1033DB14008018437842465A4013000020C5 -S214004C205B060AD005B03CBC90469946A246AB4609 -S214004C30F0BD01235B420293E8E73000114B984732 -S214004C400F23039A134004210B2B03DD01390D2B90 -S214004C5000DD03310D00411A8C4206D233685A1922 -S214004C60125D1A5501348C42F8D13068064B9847CD -S214004C7030600120D6E70020D4E70020D2E70020ED -S214004C80D0E7C046F54A0000DD0D0100F0B5DE466F -S214004C9057464E464546E0B587B0060002ABD9807B -S214004CA003AB1A800468002C58D0CDB20B0A9A4683 -S214004CB0191C2378FF2B4DD0012252429046944671 -S214004CC000227F2083464906490E894670380296A0 -S214004CD01AE0A118497856464E405F4637420DD036 -S214004CE04906490E01910E004F46BE430ED161455E -S214004CF00CDD09B28C4611B2884607E0029E13E02E -S214004D008A1CA35CFF2B0DD09D42E2D00340911C71 -S214004D10082BF5DD911C0B2BF2DD111D0D2BEFDCA6 -S214004D20511CEDE7029E4246002A17DBA3185B786B -S214004D3055465D406B0611D10232A41803AB1A78B3 -S214004D4022705B78637007B03CBC90469946A246DA -S214004D50AB46F0BD01235B429846E4E7FF220E23F4 -S214004D6002A98C4663441A8030001B4B98470028E3 -S214004D7000D10230043085B229002000174B984736 -S214004D803060174B9847002820D0002EDBD0AB1F92 -S214004D9032689446634402AA9179063219705278B2 -S214004DA05A702B1F32689446634403AA1178197010 -S214004DB052785A70023D33685D190E2302AA944653 -S214004DC063441A782A705B786B70BCE732680023FD -S214004DD0044805498847FEE7F54A0000DD0D010056 -S214004DE015140000048801001D140000F0B5DE460E -S214004DF057464E464546E0B587B0060003AB1A80D8 -S214004E0002ABD9800468002C58D0CDB20B0A9A4663 -S214004E10191C2378FF2B4DD001225242904694460F -S214004E2000227F2083464906490E8946703802963E -S214004E301AE0A118497856464E405F4637420DD0D4 -S214004E404906490E01910E004F46BE430ED16145FC -S214004E500CDD09B28C4611B2884607E0029E13E0CC -S214004E608A1CA35CFF2B0DD09D42E2D00340911C10 -S214004E70082BF5DD911C0B2BF2DD111D0D2BEFDC45 -S214004E80511CEDE7029E4246002A17DBA3185B780A -S214004E9055465D406B0611D10232A41803AB1A7852 -S214004EA022705B78637007B03CBC90469946A24679 -S214004EB0AB46F0BD01235B429846E4E7FF220E2393 -S214004EC002A98C4663441A8030001B4B9847002882 -S214004ED000D10230043085B229002000174B9847D5 -S214004EE03060174B9847002820D0002EDBD0AB1F31 -S214004EF032689446634402AA917906321970527851 -S214004F005A702B1F32689446634403AA11781970AE -S214004F1052785A70023D33685D190E2302AA9446F1 -S214004F2063441A782A705B786B70BCE7326800239B -S214004F30044805498847FEE7F54A0000DD0D0100F4 -S214004F4015140000048801001D140000F0B5DE46AC -S214004F5057464E464546E0B587B00600019202AB7E -S214004F60D9800468002C55D0C8B20B0A9A46191C82 -S214004F702378FF2B4AD001225242904694460022C4 -S214004F807F25AB464906490E8946703D02961AE0D3 -S214004F90A118497856464E405F4637420DD049061E -S214004FA0490E00910E004F46BE430ED161450CDD02 -S214004FB009B28C4611B2884607E0029E13E08A1CAE -S214004FC0A35CFF2B0DD09842E2D02B40911C082BFF -S214004FD0F5DD911C0B2BF2DD111D0D2BEFDC511CAA -S214004FE0EDE7029E4246002A14DBA3185B78504683 -S214004FF0584043060ED1A2186B461B79937007B033 -S2140050003CBC90469946A246AB46F0BD01235B42A7 -S2140050109846E7E7FF220E2302A98C4663441A80CF -S21400502030001A4B9847002800D10230033085B272 -S21400503029002000164B98473060164B98470028EA -S2140050401DD0002EDBD06B1F32689446634402AA44 -S21400505091790632197052785A7033685B19033B9F -S2140050606A4612791A70023D33685D190E2302AA49 -S214005070944663441A782A705B786B70BFE7326890 -S2140050800023054805498847FEE7C046F54A000064 -S214005090DD0D010015140000048801001D14000039 -S2140050A0F0B5DE4657464E464546E0B587B00600A4 -S2140050B0029202ABD9800468002C5FD0CDB20B0AF6 -S2140050C09A46181C2378FF2B54D001225242904651 -S2140050D0944600227F218B464006410E89460F21CA -S2140050E001961AE0A0184078564646405F4637427A -S2140050F00DD04006400E009006004F46BE430ED12F -S21400510060450CDD00B2844610B2804607E0019E82 -S21400511013E0821CA35CFF2B0DD09D42E2D00B4017 -S214005120901C082BF5DD901C0B2BF2DD101D0D2BB3 -S214005130EFDC501CEDE7019E4246002A1EDBA3185A -S2140051405B7855465D406B0618D10232A41802AB58 -S2140051501B78237002AB5B78637002AB9B78A370FE -S21400516002ABDB78E37007B03CBC90469946A2469B -S214005170AB46F0BD01235B429846DDE7FF220E23D7 -S21400518002A98C4663441A8030001F4B98470028BB -S21400519000D10230063085B2290020001B4B98470C -S2140051A030601B4B9847002828D0002EDBD02B0001 -S2140051B0083B32689446634402AA91790632197015 -S2140051C052785A70AB1F32689446634402AA12782B -S2140051D01A7002AA52785A7002AA92789A7002AA94 -S2140051E0D278DA70023D33685D190E2302AA94461F -S2140051F063441A782A705B786B70B4E732680023D1 -S214005200044805498847FEE7F54A0000DD0D010021 -S21400521015140000048801001D140000F0B5DE46D9 -S21400522057464E464546E0B585B08146039200286F -S2140052305BD00568002D5BD0CEB2090A081C2B781F -S214005240FF2B4ED0012252420292934600227F2428 -S214005250A2464006400E84460F2788461AE0A81845 -S214005260407844464440514621420DD04006400E08 -S2140052700190040061468C430ED158450CDD01B206 -S2140052808B4611B2029107E0414613E0821CAB5CEC -S214005290FF2B0DD09E42E2D03B40901C082BF5DD44 -S2140052A0901C0B2BF2DD101D0D2BEFDC501CEDE7D8 -S2140052B04146029A002A1EDB931CED182B780398B1 -S2140052C003706B7843704B461B689A1850784906F3 -S2140052D0490E084005B03CBC90469946A246AB46EF -S2140052E0F0BD01235B420293E3E701204042F1E771 -S2140052F001204042EEE701204042EBE7F0B5DE46F3 -S21400530057464E464546E0B585B08146039200288E -S21400531058D00568002D58D0CEB2090A081C2B7844 -S214005320FF2B4BD0012252420292934600227F244A -S214005330A2464006400E84460F2788461AE0A81864 -S214005340407844464440514621420DD04006400E27 -S2140053500190040061468C430ED158450CDD01B225 -S2140053608B4611B2029107E0414613E0821CAB5C0B -S214005370FF2B0DD09E42E2D03B40901C082BF5DD63 -S214005380901C0B2BF2DD101D0D2BEFDC501CEDE7F7 -S2140053904146029A002A1BDBAD18AB7803980370CF -S2140053A04B461B689A1850784906490E084005B0C7 -S2140053B03CBC90469946A246AB46F0BD01235B42F4 -S2140053C00293E6E701204042F1E701204042EEE783 -S2140053D001204042EBE7F0B5DE4657464E464546CE -S2140053E0E0B585B08146039200285BD00568002DA5 -S2140053F05BD0CEB2090A081C2B78FF2B4ED00122B8 -S21400540052420292934600227F24A2464006400E55 -S21400541084460F2788461AE0A81840784446444039 -S214005420514621420DD04006400E019004006146D0 -S2140054308C430ED158450CDD01B28B4611B2029159 -S21400544007E0414613E0821CAB5CFF2B0DD09E426A -S214005450E2D03B40901C082BF5DD901C0B2BF2DDB8 -S214005460101D0D2BEFDC501CEDE74146029A002A7A -S2140054701EDB931CED182B78039803706B78437033 -S2140054804B461B689A1850784906490E084005B0E6 -S2140054903CBC90469946A246AB46F0BD01235B4213 -S2140054A00293E3E701204042F1E701204042EEE7A5 -S2140054B001204042EBE7F0B5DE4657464E464546ED -S2140054C0E0B585B08146934600285FD00668002E7A -S2140054D05FD0CFB20A0A111C3378FF2B52D00120BE -S2140054E04042039002900024803082464906490ECE -S2140054F08C460F2190461BE03219507842464240B7 -S214005500554615420ED04006400E019005006246F4 -S21400551095430FD1029A90420CDD02B2029222B25B -S214005520039207E0424613E0941C335DFF2B0DD038 -S2140055309F42E1D00B40A21C082BF5DDA21C0B2BD2 -S214005540F2DD221D0D2BEFDC621CEDE74246039CCC -S214005550002C21DB20000234361900235C46F15C67 -S214005560E1540133042BFAD14B461B681B185878BC -S2140055705206520E104005B03CBC90469946A246D4 -S214005580AB46F0BD01235B420393E0E701204042B7 -S214005590F1E701204042EEE701204042EBE7437985 -S2140055A0DA0707D59B0702D40368186870470368B4 -S2140055B05868FBE70020F9E743799B0702D50368A4 -S2140055C0186870470020FCE770B5041E26D04379A3 -S2140055D0DB0708D5144B9847051E04D0134B984795 -S2140055E02800134B984763799B0709D52000114B79 -S2140055F09847051E04D00D4B984728000C4B98473B -S2140056002379002B0BD100232360237163790122B9 -S21400561093430132934302329343637170BD206813 -S214005620034B9847EFE7C0469F550000E14A00004D -S214005630D10A0100B955000070B505000C002B4BCF -S21400564098472368002B3ED06379DA071FD49B0760 -S21400565010D5207901388000254B9847286022799C -S214005660013A92002368191D224B98472379013B83 -S2140056702B7128E0207980001D4B984728602279FE -S214005680920021681B4B984723792B711BE09B07E0 -S2140056901AD5207902388000154B98472860227961 -S2140056A0023A920021680831124B98472379023B50 -S2140056B02B712800104DA84706002000A8470100BF -S2140056C030000E4B984770BD207901388000084B9B -S2140056D0984728602279013A92002368191D054BE5 -S2140056E098472379013B2B71E3E7C046C955000074 -S2140056F0090A0100250C01005D4A0000354B000038 -S21400570070B5050043799B0704D5144B98470400F1 -S214005710200070BD0420124B98470400114B984798 -S214005720002815D0002CF3D020000F4B98472100FE -S21400573028000E4B98476B79022213436B71DB07E8 -S214005740E6D52B681A68596819602B685A60DFE737 -S21400575022000023064807498847FEE7B95500009F -S214005760090A010015140000E5480000B5490000CC -S214005770048801001D140000F0B5D6464F46464684 -S214005780C0B584B0051E0191914658D00368002B21 -S21400579057D00B0A9846002202ABDA800279002A1C -S2140057A042DD00240126764206239A46264F16E05E -S2140057B00131C9B219E002AB06331B884A46138092 -S2140057C0012036E0B34205DD02AB06331B884A46AD -S2140057D013800600013424B22A79944226DAE1B214 -S2140057E06B7950460340062BE2D00020002A04D0F6 -S2140057F0914202D289002B68C85802AB9A1D0199C3 -S214005800B84703008045D6D06A799107DAD50028D4 -S214005810D8DB002CD6D15207D4D402AB06331B8873 -S2140058204A461380012004E001267642F04380B207 -S214005830C00B04B01CBC90469946A246F0BD0020A2 -S214005840F7E70020F5E7C0461D520000F0B5D64643 -S2140058504F464646C0B584B0051E0191914654D0C9 -S2140058600368002B53D00B0A9846002203AB1A801D -S2140058700279002A3EDD00240126764206239A4657 -S214005880244F14E00131C9B217E003AB1B884A4627 -S2140058901380012033E0B34204DD03AB1B884A4685 -S2140058A013800600013424B22A79944224DAE1B245 -S2140058B06B7950460340062BE4D00020002A04D023 -S2140058C0914202D289002B68C85803AA0199B847AA -S2140058D003008045D9D06A799107DCD50028DADB49 -S2140058E0002CD8D15207D6D403AB1B884A46138067 -S2140058F0012004E001267642F04380B2C00B04B0DB -S2140059001CBC90469946A246F0BD0020F7E7002052 -S214005910F5E7C046D7530000F0B5D6464F46464694 -S214005920C0B584B0051E0191914658D00368002B7F -S21400593057D00B0A9846002202ABDA710279002A89 -S21400594042DD00240126764206239A46264F16E0BC -S2140059500131C9B219E002AB07331B784A4613700F -S214005960012036E0B34205DD02AB07331B784A461A -S21400597013700600013424B22A79944226DAE1B282 -S2140059806B7950460340062BE2D00020002A04D054 -S214005990914202D289002B68C85802ABDA1D0199E1 -S2140059A0B84703008045D6D06A799107DAD5002833 -S2140059B0D8DB002CD6D15207D4D402AB07331B78E1 -S2140059C04A461370012004E001267642F04380B276 -S2140059D0C00B04B01CBC90469946A246F0BD002001 -S2140059E0F7E70020F5E7C046FD520000F0B5D646C2 -S2140059F04F464646C0B584B0050001911700002802 -S214005A004CD00368002B4BD00B0A98460279002A2C -S214005A1039DD00240126764206239A46214B994614 -S214005A2010E00131C9B213E0039B3B6001202FE078 -S214005A30B34202DD039B3B600600013424B22A79A0 -S214005A40944222DAE1B26B7950460340062BE8D046 -S214005A500020002A04D0914202D289002B68C85840 -S214005A6003AA0199C84703008045DDD06A799107EB -S214005A70DED50028DCDB002CDAD15207D8D4039B15 -S214005A803B60012004E001267642F04380B2C00B62 -S214005A9004B01CBC90469946A246F0BD0020F7E72D -S214005AA00020F5E7B7540000F0B5051CCB06DB0E6A -S214005AB04F05BF0E0904C90E052A3DD92804C00E9D -S214005AC040181F2800D91F201F240440A4466E0536 -S214005AD0B60EF6193F2E00D93F263F242640ED0687 -S214005AE0ED0EED181F2D00D91F251F242C40FF2A70 -S214005AF027D0FF25AD1A54436B43E3181802C0188D -S214005B00C001C018000156436F43F7193E02F6194C -S214005B10F601F619F600B60E7601C00E63465A4335 -S214005B206943521811028918C9018A18D20DD2B2D7 -S214005B30D20230431043F0BD7801C902184308432F -S214005B40F9E770016346DA0220431043F3E7F0B545 -S214005B50C64600B5051CC806C30E98464F05BF0EC0 -S214005B600904C90E052A41D92804C00E081AC343E1 -S214005B70DB1718401F2303409C466E05B60EB81B65 -S214005B80C343DB1718403F260640ED06ED0E43469E -S214005B905D1BE843C01705401F242C40FF2A2BD06E -S214005BA0FF25AD1A544340466843241820020019C6 -S214005BB0C0010019000156436F43F7193E02F6195B -S214005BC0F601F619F600B60E7601C00E63465A4385 -S214005BD06943521811028918C9018A18D20DD2B227 -S214005BE0D2023043104304BC9046F0BD7801C9028F -S214005BF0034318000843F6E776016346D8023443A9 -S214005C002043F0E7F0B5DE4657464E464546E0B53B -S214005C1093B004000D0069468A8206931CAB1F7879 -S214005C201DAB1B789B461EAB1E785B46042B01D92A -S214005C30002F06D113B03CBC90469946A246AB4610 -S214005C40F0BDBF4B98478246BE4B98478046836858 -S214005C5004932A00210010A8BB4B98470028E9D0DF -S214005C6043461A8A10AB1988891A89B20B918C465A -S214005C7008B20A9018804046418A5D886D1A2DB297 -S214005C805D809888801A80B29880DA88521A12B29C -S214005C909146DA80069A002A18D053461B7ADB070C -S214005CA014D4411C6346C91A09B200290EDD13003C -S214005CB09446614480240A9A94461A789442924103 -S214005CC01A7001338B42F8D163460A9353465B69D8 -S214005CD0002B00D18CE06B469E8A994B98470500B6 -S214005CE043469B8A01334246128A9B1A1BB205938F -S214005CF0012F46D010AA0023D15E069B5B1A984659 -S214005D00938801335B1A1BB208930221535E190075 -S214005D1007930623D35E994200DD8BE710AF01ABF5 -S214005D209A46B14646460023FC5E0422BB5E9C4271 -S214005D301BDC6B461C229B5E9846069623B2069A90 -S214005D40125D59464A43120A02925246494611804B -S214005D5042460092059A049928006E69B0470134BD -S214005D600422BB5E9C42E9DD069E089B9C46664478 -S214005D70079B01331A00079306217B5E9A42D2DD09 -S214005D8058E710AB02215A5E924606229B5E9A4561 -S214005D9000DD4FE710AC01AB9946B0460023E75E46 -S214005DA00422A35E9F421BDC53461EB2424669464F -S214005DB00A83B0463BB25A4602924A466946098B67 -S214005DC0118042460092059A049928006E69B047F1 -S214005DD001370422A35E9F42ECDD6B461B8B984680 -S214005DE001239C46E2440622A35E9A45D6DD21E7BF -S214005DF0002E01D000F027FC6B469B8A6A4613846F -S214005E004F4B9847040043469D8A01351B8AED1A7E -S214005E102DB210A80023C15E838801335B1A1BB223 -S214005E200B930A930623C25E0223C35E561CF61A21 -S214005E3036B20E960C936B435B185B0004998C4647 -S214005E4063440793012F1ED05B46FA2B00D927E147 -S214005E500C9B934200DDEDE6079B1A886B46998AF9 -S214005E600B04DB0E05934B059B0E0893CB06DB0E4F -S214005E709C466B000F9313000026002089B20E91FB -S214005E8002009946D0E35B46FA2B24D9636A002BBE -S214005E9004D010A82D4B9847F02812D86D00002487 -S214005EA00E9B002B00DCC5E6294E079F0B9A6B461F -S214005EB0198C3800B0477F1901340E9BA342F5DCDD -S214005EC0B8E66B469A8A1A80666A10AB2A0004996E -S214005ED02000B047AEE6236A002B3DD010A81B4B2F -S214005EE09847F02838D90A9B002B09DD6B469E8A16 -S214005EF0184B0B9A52009A181E8002339342FBD11D -S214005F0010AB02229E5E06229B5E9E4200DD91E65C -S214005F106D00104B984610AFAA465B4600930B9B4D -S214005F204246079989462000256AA847CC46D444AD -S214005F306346079301360622BB5E9E42EDDD79E698 -S214005F4049430000A1F60000A7FB00008BFB000001 -S214005F50CD010100F026002000236A461383928AB2 -S214005F60D306DB0E9C46131C1A005705BF0E1C04F6 -S214005F70E40E5B4663431802C018C001C018C00D8B -S214005F801F23984618405A467A4313029B18DB0193 -S214005F909A18D200930E9A465946634659430B0206 -S214005FA05B18DB015918C90D434619405B466A4623 -S214005FB01382138A5C4305945F43089764465C43E8 -S214005FC009945B46DF43FFB20E9B002B00DC31E6F4 -S214005FD06B000E93731C0D930B9B5B000F930123BA -S214005FE00C93BFB21F263E330B93634B9846072392 -S214005FF09946524648E02B78B3430B432B70049BDC -S2140060005B012F88424617403B432B80C7001B0A84 -S2140060104A4613401F436F700234544526D025006D -S2140060206B461B8B2788BB42E5D06B461F83607888 -S214006030C00863465843059B9B465844000A3040B8 -S2140060407A05920E63465A43089B9B465A44120AA8 -S2140060500B9B1A4004922178C906C90E6346594321 -S214006060099B9B465944090A3140C4E7049A67468F -S214006070079B0E9CA446634407930C9B01330C932A -S2140060800D9C9C4200D1D5E50A9B002BF0DD079BBA -S2140060901C000F9DAA46534404929A46BC46BEE78F -S2140060A00E9B002B00DCC5E50B9B043B05936B00A9 -S2140060B00F93069B099300230D936B461A8C1704C7 -S2140060C0FB0E049353059B0E9A46D306DB0E9B46A7 -S2140060D013E26A46128C328001340133984501DCA3 -S2140060E000F0E8FB0236A2073FD020780028F3D065 -S2140060F0FF28EED0FF22151A049F47437178C9087F -S21400610069437F183A02D219D201D219D20D4946F4 -S2140061100A4006925746474331884905890E694327 -S2140061207F183902C919C901C919C9005F467843E1 -S2140061303778FA06D20E5543451928024019C00191 -S2140061404019C00D4A461040974338433070890EB8 -S21400615048013188084D294001433180069AD20013 -S2140061604905490F0A437270B6E72200059999421D -S21400617000DBA4E35EE1C0461FF8FFFF6946098C1A -S21400618021806180A180E1800432043308340599BF -S214006190994200DA49E111680029F5D00131EDD0C5 -S2140061A01578002D46D0FF2D00D12EE1FF21491B8A -S2140061B08C46049868436178C9086646714340185F -S2140061C001020918C9010918C90D39408A46280074 -S2140061D006994843814620884005800E70438144D6 -S2140061E0484600024844C0014844C0005E46754325 -S2140061F02678B046F606F60EB146664649464E4343 -S214006200B446AC4461460D026544ED016544ED0DAF -S2140062103D404646BE4335432570800E45012088E6 -S214006220BE490840284320805146C9004005400F1B -S214006230014361705578002D4AD0FF2D00D1E8E06B -S214006240A11CFF20401B8446049868438946E178D9 -S214006250C90866467143401801020918C9010918A1 -S214006260C90D39400C912800069E7043824660880E -S2140062704005800E664670438244504600025044F5 -S214006280C0015044C0005E467543A678B046F60688 -S214006290F60EB246664651464E43B446AC44614698 -S2140062A00D026544ED016544ED0D3D404646BE4396 -S2140062B03543A570800E4001658898490D402843F7 -S2140062C060800C99C9004005400F01434846417064 -S2140062D09578002D4AD0FF2D00D19EE0211DFF208D -S2140062E0401B84460498684389466179C908664617 -S2140062F07143401801020918C9010918C90D39402F -S2140063000C912800069E70438246A0884005800EA9 -S214006310664670438244504600025044C0015044D2 -S214006320C0005E4675432679B046F606F60EB246BF -S214006330664651464E43B446AC4461460D0265443B -S214006340ED016544ED0D3D404646BE43354325719F -S214006350800E4001A58871490D402843A0800C9905 -S214006360C9004005400F014348464170D578002DCE -S21400637000D109E7FF2D54D0A11DFF20401B844605 -S214006380049868438946E179C9086646714340180F -S21400639001020918C9010918C90D39400C912800D5 -S2140063A0069E70438246E0884005800E664670432F -S2140063B08244504600025044C0015044C0005E462D -S2140063C07543A679B046F606F60EB24666465146C0 -S2140063D04E43B446AC4461460D026544ED01654447 -S2140063E0ED0D3D404646BE433543A571800E400147 -S2140063F0E5884A490D402843E0800C99C9004005CD -S214006400400F014348464170BEE66946098C21802C -S21400641010E76946098C61805AE76946098CA180B5 -S214006420A4E76946098CE180AEE606998A460A9991 -S214006430994250DD5E0007998C466644D21A904613 -S2140064400A9A914606E06A46128C3280013302367A -S214006450994540DD4246D05C0028F7D0FF28F2D0B0 -S214006460FF22141A049A42437178C90861435118EE -S2140064700A025218D2015218D20D1F273A4006922D -S2140064805546454331884905890E61436D182902F2 -S2140064904919C9014919C9005D4668433578EA06B5 -S2140064A0D20E5443041920020019C0010019C00D71 -S2140064B007401F2085432F433770890E48013188D7 -S2140064C0164C214001433180069AD2004905490FF7 -S2140064D00A437270BAE7079B0F9A94466344079381 -S2140064E0099B0B9A9446634409930D9B01330D93C5 -S2140064F00E9A9A4201DCFFF79DFB0A9A002A00DCFE -S214006500E5E1099B990700D1E4E1079E9846002340 -S2140065101F21894644469046E7E5C0461FF8FFFF20 -S2140065200D9EFF2A65D0FF2E67D0FF239B1B4A785F -S214006530D20899465A43059B7343D21813029B18F8 -S214006540DB019B18DB0D1F221A4004920A885205B5 -S214006550920E4B465A43089B73439A465244130284 -S2140065609A4692445346DB019A465244D20D0B7823 -S214006570DB06DB0E9A464B46544663439A46634612 -S21400658073439946CA4453461B029946D1444B4628 -S214006590DB019946D1444B46DB0D1F242340994628 -S2140065A0099BA3439A464B465446234399463F23AA -S2140065B01A4052014B46444623401A43049BDB02D2 -S2140065C05205520D13436A4693849BB20A8891463D -S2140065D00B802A0001300231B84210D00578002D19 -S2140065E0F8D0954205D0FF2D9AD05E466E43360A07 -S2140065F099E70A884A4596D1EAE70E9BE6E70799A7 -S2140066000F9880464144079106990B98804641446E -S21400661006910C99013108000C9110A90624095F17 -S214006620884201DDFFF706FB0A990029E7DD079996 -S214006630069804000B9DA84644442700A74CA04695 -S2140066405C460D94CAE76B469C8A012E45D0022E06 -S21400665001D0FFF7EFFAA24B09936B469A8AD3064E -S214006660DB0E0E9353059B0E0C931604F30E0D9340 -S21400667043469B8A01334246128A9B1A19B20895F2 -S2140066804D436D00049B9C46AC4463460793012F24 -S21400669026D001300B9BC01A03B29846069B0A9A76 -S2140066A09E1A079B1A88089B4B4501DDFFF7C2FA26 -S2140066B04B000A93100000210C9B5B019A46434650 -S2140066C00B93099B98460D9B99466B461C8234009B -S2140066D05B4606930E9B9B46DEE0824B0993BCE727 -S2140066E000236A4693825B460D9F7B431802C018C0 -S2140066F0C001C018C00D1F2528405A460C9B5A439F -S21400670013029B18DB019B18DB009A0E92465A4632 -S2140067100E9E724313029B18DB019B18DB0D1D4077 -S214006720089A4A4501DDFFF785FA4A00914633008C -S2140067301F22134098464A460B92B9466B461C8366 -S2140067402C005A460A920C9B9B4650E02B781F2240 -S2140067509343049A13432B707A012B889C465F4B15 -S21400676061460B4013432B80C2005B055B0F13434F -S2140067706B700134023610AB04229B5E9C4224DC14 -S21400678035006B469B8A32889342DFD011006B46F9 -S2140067909A8206981F239843434618435B465B013C -S2140067A04E4F384018434B46DB024005400D184319 -S2140067B06B4618830A9A099B9847C106CB0E04932A -S2140067C04705BF0E0004C00EC0E7049CBA46079BF0 -S2140067D00B9A944663440793089B01331A00089368 -S2140067E010AB06215B5E9A4201DDFFF723FA10AB81 -S2140067F000229E5E370004229B5E9E42E7DC760007 -S214006800079B9C46664404943C005746B8E73A8883 -S2140068109446059A944524D115E01F23049898437E -S2140068205B4618432D4B1840534618434B46DB0235 -S2140068304005400D18436B4618823988C04780B221 -S214006840A15D3B88059338800135023710AB0426DE -S2140068509B5F9D420CDC2E00635D002BF4D08B42C8 -S214006860D5D006990A00F92BD7D85A43120AD4E78E -S214006870059A079B0A9DAC46634407930B9B9C4670 -S2140068806444089B01331D00089310AB06269B5FEB -S2140068909D4201DDFFF7CEF910AB00255F5F3D009E -S2140068A004269B5F9F42E4DC7F00079B9C46674470 -S2140068B00592D0E722000599994200DA0BE65C00C3 -S2140068C007998C4664441F275146069163E4099A4B -S2140068D00023F0E7099A002348E4C0461FF8FFFFAC -S2140068E04F5B0000A95A0000F0B5DE4657464E46FC -S2140068F04546E0B593B00C0007921D001CAB1F7810 -S2140069001DAB1B789B461EAB1E785B46042B01D93D -S214006910002F06D113B03CBC90469946A246AB4623 -S214006920F0BD0A00010010A8D74B98470028F1D008 -S214006930D64B98478046D64B984781468368059342 -S214006940028A10AB1988891A89B209918C4608B256 -S214006950824618804846418A5888401A80B20A9073 -S21400696000B2089058809888801A80B29880DA889A -S214006970521A92B20B9212B20C92DA80002D14D0F8 -S21400698043461B7ADB0710D4411C6346C91A09B27A -S21400699000290ADD2B006918802294461A7894454F -S2140069A092411A7001338B42F8D143465B69002B43 -S2140069B000D1C3E0B54B98470C904B4610229B5E27 -S2140069C098464B469B8A013342469B1A1BB2069357 -S2140069D010A90023C85E0023E25EA38801339B1A39 -S2140069E01BB20226895F09910226A45FA4464E4682 -S2140069F01224365F6446A41B0C1B5C434646921B5F -S214006A00A41A6400079A9446A44462460892012F8A -S214006A1053D02A1A904610AA0624125F099C944264 -S214006A2000DD77E710AA0424125F5B000A93099141 -S214006A3010AB079301AB9A460132131A1BB20B93A5 -S214006A400C9E079A130000255D5F2C00130004229D -S214006A509B5E9D421FDC6D00089B9C4665446B4612 -S214006A6024229B5E994623B24246125D59464A430B -S214006A70120A02922A8851460A804A460092069ACC -S214006A80059930007769B84701340235079B042220 -S214006A909B5E9C42E7DD0B9B9C46E044089B0A9A63 -S214006AA0944663440893099B01331A000993079B95 -S214006AB006215B5E9A42C4DD2CE710AA0620125E11 -S214006AC08A4200DA26E75B0009938A4610AB0793F2 -S214006AD001AB99460C9E079A13000027DF5F3C0027 -S214006AE0130004229B5E9F421ADC7F00089B9C4694 -S214006AF0674453461BB2984623B25A4602923A88D7 -S214006B0049460A8042460092069A05993000756901 -S214006B10A84701340237079B04229B5E9C42EBDDAC -S214006B20089B099A94466344089301239C46E244D2 -S214006B30079B06229B5E9A45CDDDEBE6002E01D034 -S214006B4000F0FDFB4B4610229B5E1A004B469B8ACC -S214006B5001330D929B1A1BB298460130099BC01A4E -S214006B6003B20C9306930B9801300A9BC01A03B22B -S214006B700B930023E25EA6880136B61A36B2089852 -S214006B80030041464B4353445B0005998C469C44A6 -S214006B90634608930221635E49461224095F5B1A26 -S214006BA0C31A73430D99521A51468A1A9B185B00F2 -S214006BB0079A94469C4463460993344B98470400CE -S214006BC0012F15D05B46FA2B00D9EBE00B9B002B70 -S214006BD000DC9FE643465B000E9373000F93A946C6 -S214006BE000230D931F3398465B4607930A939AE358 -S214006BF0036A002B2AD010A8264B9847F02825D9E0 -S214006C0010AB02229F5E06229B5E9F4200DD81E65D -S214006C1043465B009846760010AB05935B460093B0 -S214006C200C9B099A9246089989462000256AA8472F -S214006C304B4643440893D446B4446346099301370D -S214006C40059B06229B5E9F42E8DD63E65B46FA2BC9 -S214006C5024D80B9B002B00DC5CE643465B000A93C3 -S214006C6073000D930C9B5B000C9300230793FF2788 -S214006C705B46FF1A1F239C4620339946064B9A46CE -S214006C80B8465F463BE0C046A7FB0000494300000D -S214006C90A1F600008BFB00001FF8FFFF0B9B002BEC -S214006CA000DC37E60C9B5C0043465B0098467600AB -S214006CB00025804F2200099B9A461900089B99469A -S214006CC01800B8474B4643440893D446B44463463A -S214006CD0099301350B9BAB42ECDC1BE6089B0A9A3A -S214006CE093465B440893099B0D9A93465B4409932D -S214006CF0079B013307930B9A9A4200DC0AE6069B31 -S214006D00002BEBDD099B1E00089D0C9A93465B4406 -S214006D109B4641467378DB087B436A78D2084A4331 -S214006D209A1813029B18DB019B18DB0D6246134072 -S214006D30059332885205920E7A432C886405A40E79 -S214006D404C43141922021219D2011219D20D3478AA -S214006D50E406E40E7C4328788046C006C00E48430E -S214006D60201804022418E4012418E40D60460440A8 -S214006D7040466346984304432C704B461A405401E1 -S214006D802A8853461A4022432A80059BDB00120AB3 -S214006D900720024013436B70023602355E45B9D1B8 -S214006DA088469BE70C9B043B07930B9B002B00DC61 -S214006DB0B0E543465B000E9373000F930A950023DD -S214006DC00D931F339B46069B9946A6E303880B80CC -S214006DD001370136059BB34200DC81E30230023105 -S214006DE003231F4253D03D78002DF1D0FF2DEDD068 -S214006DF0FF235B1B99464378DB086B434A78D2082F -S214006E004C4662439A1813029B18DB019B18DB0D55 -S214006E105A461340069302885205920E6A439446D9 -S214006E200A885205920E624362441402A4469444B1 -S214006E306446E401A4466244D20D0478E406E40EF7 -S214006E4065430C78A446E406E40EA0464C4643464A -S214006E505C43A046A84443461D024544ED01454414 -S214006E60ED0D5B461D4064469C4325430D703F2355 -S214006E701A4055010A8853461A402A430A80069B40 -S214006E80DB00120A0724224013434B70A0E7059B41 -S214006E909946079BB34200DC19E37000099B1C1857 -S214006EA0089B9C466044044B9A464B4606930596C0 -S214006EB016E0C046250C01001FF8FFFF238803805C -S214006EC063884380A3888380E388C3800437059A59 -S214006ED00432059208340830079B934200DC4BE1ED -S214006EE03B68002BF2D00133E8D03978002949D02E -S214006EF0FF2900D134E1FF235D1A6278D20813001F -S214006F004B434278D2086A439A1813029B18DB0157 -S214006F109B18DB0D5A46134022885205920E4A43B0 -S214006F20944602885205920E6A4362441602B4469C -S214006F3094446646F601B4466244D20D2678F606B8 -S214006F40F60E71430678B446F606F60E75434D19EE -S214006F5029024919C9014919C90D5D4629406546E6 -S214006F605E46B543294301703F210A40510102881D -S214006F7055462A400A430280DB00120A07210A40CF -S214006F8013434370797800294BD0FF2900D1EAE0FB -S214006F90831CFF22551AE278D2084A439846C378E3 -S214006FA0DB086B43D21813029B18DB019B18DB0D22 -S214006FB05A46134062885205920E4A4394464288C7 -S214006FC05205920E6A4362441602B44694446646DC -S214006FD0F601B4466244D20DA678F606F60E714364 -S214006FE08678B446F606F60E75434D1929024919F9 -S214006FF0C9014919C90D5D46294065465E46B54337 -S214007000294381703F210A405101428855462A4053 -S2140070100A434280DB00120A07210A401343424615 -S2140070205370B97800294BD0FF2900D19EE0031D8C -S214007030FF22551A6279D2084A4398464379DB08FC -S2140070406B43D21813029B18DB019B18DB0D5A46C4 -S2140070501340A2885205920E4A43944682885205EF -S214007060920E6A4362441602B44694446646F6019B -S214007070B4466244D20D2679F606F60E71430679BA -S214007080B446F606F60E75434D1929024919C9018C -S2140070904919C90D5D46294065465E46B5432943F4 -S2140070A001713F210A405101828855462A400A4311 -S2140070B08280DB00120A07210A40134342465370BF -S2140070C0F978002900D101E7FF2952D0831DFF225D -S2140070D0551AE279D2084A439846C379DB086B43CF -S2140070E0D21813029B18DB019B18DB0D5A4613407F -S2140070F0E2885205920E4A439446C2885205920E82 -S2140071006A4362441602B44694446646F601B446A0 -S2140071106244D20DA679F606F60E71438679B44619 -S214007120F606F60E75434D1929024919C901491983 -S214007130C90D5D46294065465E46B54329438171C3 -S2140071403F210A405101C28855462A400A43C28060 -S214007150DB00120A07210A40134342465370B5E685 -S214007160238803800EE7638843805AE7A3888380DA -S214007170A6E7E388C380A9E6069B994616009342D5 -S21400718000DCB3E13B007700099A9046B844089AC1 -S214007190944667449B1B0593CE4B9A4607239C4612 -S2140071A0444607E023883B80013602340237B14567 -S2140071B000DC9BE1059B995D0029F5D0FF29F1D005 -S2140071C0FF23581A6278D2084A4315007A78D20804 -S2140071D04243AD182B025B19DB015B19DB0D5A46E7 -S2140071E01340069325886D05AD0E4D433A8852052B -S2140071F0920E4243AD182A025219D2015219D20DEC -S2140072002578ED06ED0E69433D78EB06DB0E584318 -S214007210081801020918C9010918C90D5B4619406A -S2140072209D43294339703F231A4051013A885346FB -S2140072301A400A433A80069BDB00120A61460A405F -S21400724013437B70B0E7FF231D1A4B78DB084343DC -S2140072507278D2086A439A1813029B18DB019B18AF -S214007260DB0D4246134005930A885205920E4243B0 -S214007270914632885205920E6A434A441302994652 -S21400728091444B46DB0199464A44D20D0B78DB0607 -S214007290DB0E4343994633789C46DB06DB0E5D43A4 -S2140072A0A9444B461D024D44ED014D44ED0D4346A9 -S2140072B01D406346404683431D4335703F231A40B6 -S2140072C055013288834B1A402A433280059BDB00E7 -S2140072D0120A5846024013437370013702310236D1 -S2140072E0069BBB4209DDE55D002DF6D00798F92D1B -S2140072F0A9D80A9B5D43280AA5E7A146089B0E9AD3 -S2140073009446634408930C9B9C46E144099B0F9A61 -S2140073109446634409930D9B01330D930B9A9A424E -S21400732001DCFFF7F7FA069B002BE7DD099B9C467E -S214007330089E002707239B4661464C46D3E7012E4E -S2140073404DD0022E01D0FFF7E5FA634B0A934B4669 -S21400735010229B5E1A000B934B469B8A01339B1AA6 -S2140073601BB29C460023E25E0D92A38801339B1A53 -S21400737019B2089E624672435300059A9046984496 -S214007380434606930222A35E4A461224145F1B1B42 -S214007390F31A4B435B00079AD418012F22D05346AA -S2140073A0EB1A1A0053465B00E31A9946089B0C9C9E -S2140073B0A34201DDFFF7AEFA63465B0098464B003A -S2140073C0079310AF5B4605930130099BC01A03B2C2 -S2140073D009930A9B9A4643460A93904668E03F4BB9 -S2140073E00A93B4E70B9B0D9A9B1A5B00A14699443F -S2140073F00C9A964201DDFFF78DFA63465B009A46CB -S2140074004B00984610AF5B460593D3460A9B9A46B8 -S2140074100023FD5E2E000422BB5E9D420FDC6D0045 -S214007420069B5C194D4421882888059AD047208001 -S2140074300136023402350422BB5E9E42F3DD069B13 -S2140074405B440693C144089B01331A000893062147 -S2140074507B5E9A42DCDDFFF75DFA31882888D047EC -S21400746030800134023602350422BB5E9C420ADCC0 -S21400747043461B5D002BF4D0059AF92BEDD85A46EF -S21400748053431A0AE9E7069B0A9A9446634406930E -S214007490099B9C46E044079B9C46E144089B0133BD -S2140074A01A00089306217B5E9A4201DDFFF732FA46 -S2140074B00023FD5E2C000422BB5E9D42E3DC6D00D3 -S2140074C0069B5E194D44D3E70A9F0026E1E43B0085 -S2140074D059E6C0461FF8FFFF4F5B0000A95A0000A0 -S2140074E0059B9946079B9E4200DAD6E4089B0E9AB7 -S2140074F09446634408930A9B0C9A944663440A9302 -S214007500099B0F9A9446634409930D9B01330D9390 -S2140075100B9A9A4201DCFFF7FDF94B46002B0FDD74 -S2140075200A9B03221342CFD0099A9046089A1F005E -S2140075300026054B9A464B4605934046110052E4FA -S2140075400A9F0026CEE7C0461FF8FFFFF0B5DE46CE -S21400755057464E464546E0B5BFB01C9008002491FD -S21400756090460A9348AB1B780B9349AB1B7807935E -S21400757000233CA9C25C5A540133082BFAD1B74BFE -S2140075809847B74B98471990048A3CAB1A88121B49 -S2140075901A80408A5A88121A5A809988091B99803C -S2140075A0DA88121ADA80AF4B98471A90002808D16A -S2140075B00A9A5388002B04D10133FF3312899A426A -S2140075C072D0079B5A1E9341023399461C9B002299 -S2140075D0995E8C469F8801377F1A3FB23CA90222EB -S2140075E08D5E199A1226945FCA4600200E5E102001 -S2140075F0125E02201B5E1B1BEB1A7B436046801A42 -S214007600301AC0184B465843030043441593B6B28D -S214007610B21892B228A802808B8801339B1B9BB2BB -S2140076201EB21796013BD3188380ADB22C1924B234 -S2140076304480C480CB8801335D1B2DB20A984388F2 -S214007640002B00D044E30289531EFF3B591E8B419A -S214007650DBB29B461A9B002B00D0D5E00133FF33EC -S2140076609A4200D03AE30B9B002B05D1837A002B7D -S21400767002D1079B002B34D13CA87B4B9847F023C4 -S2140076805B00984200D8CAE0F0208000774CA04704 -S2140076901B90F02676003000A047189048212AA8B4 -S2140076A0734B98471D9655E30B9B002B89D1079B80 -S2140076B0002B13D10A9B9B7A02229146002B85D180 -S2140076C00A9A937B02931378019301230093002375 -S2140076D042461C992498674CA047DDE2032399464E -S2140076E074E73CA8604B9847F0235B00984219D893 -S2140076F03CA85D4B98470790079E70005B4CA047E0 -S21400770005903000A0470690002D61DD53467B4370 -S2140077109A466B1C9B46012398460027179D3E0001 -S2140077204C4631E0F0235B000793E5E7013312197E -S2140077300237AB4209DA9178C1540029F6D0567860 -S2140077403602117889193980F0E76646179B9C4601 -S2140077506644159B5344159324AB64229B181B88E0 -S214007760013324AA6021521812889B1A1BB29B1957 -S214007770079A9A4217D928AAD3880133D3800123BF -S2140077809C46E044D84523D0179B002BE1DD7700CC -S214007790059B9C466744159A002306998C46B4447C -S2140077A06046B446C7E728AF0A9A937B02931378DD -S2140077B0019302230093069B059A390024982D4EC8 -S2140077C0B047FB8801331BB27B80FB800026D6E7E0 -S2140077D028AA0621535E0221525E9A420ED028A99C -S2140077E0013BCB800A9A937B029313780193022382 -S2140077F00093069B059A24981E4CA04706981E4C9C -S214007800A0470598A04747E23CA8174B9847F023A7 -S2140078105B00984203D9F0235B001D9303E03CA86D -S214007820114B98471D901D9E7000104CA0471B9052 -S2140078303000A047189048212AA80D4B98475B4671 -S214007840002B00D186E260E200231493129311937A -S21400785097E21D991898094B9847A9E249430000FA -S214007860A1F6000059A600008BFB0000590E01008F -S214007870E50F0100E96800006D0B010089100100AA -S2140078800D9BF3181BB22AA908200A5E9B1A0A2031 -S2140078900A5E0E98821A80204000C989814259D01B -S2140078A02AA90C20095E00296BD12AA9C88E434359 -S2140078B01D00339B9A46AA444243349BD3180C932C -S2140078C053461B1298462AAB04229B5E984500DB63 -S2140078D0B0E04246002A00DAACE00C9A1212100021 -S2140078E016922AAA0621525E904200DBA2E00028E9 -S2140078F000DA9FE034222AA9895C4A076AD52A9AC8 -S214007900890758D4434343445B00D21810782AA909 -S214007910087552784A75022134222AA8825CD2075A -S2140079200FD51F2222989043FC22D2000243520514 -S214007930520D68468825401902802AA8808A9042FF -S21400794078D02AAAD27C002A60D12AAB9A7D2270EF -S2140079509B8A80E03699359805000C9108005843BC -S21400796029005143411AC9113398169082468A4419 -S2140079706B430C9842439B18DB11349A9B180C936C -S2140079809EE72AA9C88E43431D00424336985843B3 -S2140079908046359850434346181AC013339B9A4680 -S2140079A08244359B6B43369850431B18DB13349A3E -S2140079B09B180C9384E716994B4343445900CB1805 -S2140079C0D21810782AA908755078487592788A7562 -S2140079D00321A1E7434619B26B4658229B180022A2 -S2140079E09A5E24AB1B8D2692259130A8AE4DA847F3 -S2140079F024AB9885269A259930A8AC4B984724AB9B -S214007A002E229B1818700023002185E72AA85246CC -S214007A1002876A46128E4287424682876A46582501 -S214007A2052191288C28703644423C154A04B984756 -S214007A3000288AD10023237042E0FF2323707A783F -S214007A4012023B789B189BB20B9A002A03D0994AE5 -S214007A5012889A424AD00A9A927A002A2ED06A4609 -S214007A604C2152181288D90A94465143119A9046CE -S214007A704144C904C90E5805800E62465043129A06 -S214007A80904640448004DA06D20E63465A43149B5E -S214007A909C466244D204D50E1F23089A9A431300CC -S214007AA02A001A43800E4001834B13400343C90249 -S214007AB05B055B0D0B436A4613849BB2059A1380E5 -S214007AC00136069B9C4667440134059B02330593AA -S214007AD04E450EDA5B46002B00D0D1E6079B002B06 -S214007AE0ABD0BB782370002BEAD0A8E70023237026 -S214007AF0E6E7179B0F9A944663441C001A9B002BDC -S214007B0048D1159B1F9A94466344159324AB642270 -S214007B109B181B88013324AA6021521812889B1ACE -S214007B201BB21B191D9A9A426CD928AAD388013316 -S214007B30D3800F94109B01331093209A934200DB5E -S214007B408FE0199B10229B5E24AA60215218002108 -S214007B50525E9B181C9A0021525E9B1A0D93179A30 -S214007B609146002A14DD189B98460F9A9446E044E6 -S214007B7053001B9A92469A44159F0026219B109A02 -S214007B80944663441BB20E93444653460593A1E7BE -S214007B900F9CB3E70F9B189A944663441D0024ABD2 -S214007BA060229B18198824AB04329B181B8801336B -S214007BB05B1A1BB224AA622012181288199E708AB9 -S214007BC0121810988446624412B2308A091809B214 -S214007BD028003A4EB047002803D0022891D11E90C4 -S214007BE08FE724AB64229B181988013124AB043A32 -S214007BF09B181B88C91A09B22800314B98470223E4 -S214007C001E937EE728AC0A9EB37B029333780193DB -S214007C101E9B0093189B1B9A21002498294DA84769 -S214007C20E38801331BB26380E38002231E93279B05 -S214007C30002B09D17388002B06D13389013BFF3B0B -S214007C405A1E934101331E9300230F931A9B002B59 -S214007C5000D16FE71D9918981B4B984700230F9388 -S214007C6068E728AA0621535E0221525E9A420ED089 -S214007C7028A9013BCB800A9A937B02931378019341 -S214007C801E9B0093189B1B9A24980E4CA04718988E -S214007C900E4CA0471B98A0473FB03CBC9046994668 -S214007CA0A246AB46F0BDC04685D00000A5D1000078 -S214007CB0ADD50000848801001FF8FFFFBDA50000B9 -S214007CC0E50F0100E9680000891001006D0B010056 -S214007CD001239B461A9B002B00D095E53CA8414B00 -S214007CE09847F0235B00984200D898E5F020800083 -S214007CF03D4CA0471B90F02676003000A047189019 -S214007D0048212AA8394B98471D960522079B002B29 -S214007D1004D1013A0B9B002B00D002322AA80A9C01 -S214007D20638883812389C38143462A9387801C996D -S214007D30CB88013349885B1AC3808274A388038189 -S214007D40E3884381A3890382E37BDB07DB0FC374ED -S214007D50274B98470A998B7ADA43D2B21392002BB4 -S214007D6000D171E59BB24A7BD2085A4311928A89A8 -S214007D705205920E5A4312920A7BD206D20E5A43EC -S214007D8014920B9B079A1343279302221E92002BF2 -S214007D900AD10A9A5388002B06D11389013BFF3B70 -S214007DA05A1E934101331E931A9B002B00D050E5B8 -S214007DB0199B12229B5E3CAA0221525E9B181C9ABB -S214007DC00221525E9B1A21932095002D00DC48E785 -S214007DD053467B431F93002310930F934B46069303 -S214007DE0AFE6C0468BFB0000590E0100E50F010010 -S214007DF0A9D20000F0B59FB005000E00170009AC30 -S214007E0020000B4B98470B4B1B88638022003100E9 -S214007E102800094B984702A8084B98470023009370 -S214007E203B0002AA31002800054CA0471FB0F0BD59 -S214007E30B9AA0000B48801005DAB00005D810000B7 -S214007E40AD81000010B5040010210A4B9847237B33 -S214007E501F2293432373A389074A1340A381002359 -S214007E606373FF33237001332381E37B01221343C3 -S214007E70E37310BDE50F01001FF8FFFF0438C3B21F -S214007E800A2B0FD89800084B1B589F4610200AE074 -S214007E90182008E0012006E0022004E0042002E0AA -S214007EA0082000E00020704788880100032805D0DD -S214007EB002D30638042801D9002070470120FCE7C9 -S214007EC0052807D003D8022804D0002070470738BA -S214007ED00728FAD80120F9E7F0B5DE4657464E46A1 -S214007EE04546E0B591B0040003911E00002A09D073 -S214007EF01B78052B0AD811B03CBC90469946A24682 -S214007F00AB46F0BD6F4A704B9847F4E7B189100056 -S214007F106E4B9847071E00D19EE0057BED06ED0EE2 -S214007F2028006B4B9847049006902800694B9847AA -S214007F3005900790BA69002A04D003992000624B86 -S214007F409847D8E73B69002B45D000230CA9E25C94 -S214007F505A540133082BFAD17388002B04D180229F -S214007F6052003189914223D01BB2E28801326188E7 -S214007F70521A12B2A18801312088091A09B20CA837 -S214007F800500301D01903089009006952800524D5E -S214007F90A847228806980388D318038063884188F8 -S214007FA059184180818852188280C2889B18C380E5 -S214007FB00CAA03990EA8494B9847002800D19AE7C7 -S214007FC03A69059B0193049B009333000EA9200099 -S214007FD0434CA0478FE7220003990AA83F4B9847D7 -S214007FE0002800D187E70AAA9388013312889B1AD3 -S214007FF01BB2059358009C4660443A4B9847049041 -S21400800000230CA80AA95A5C1A540133082BFAD18B -S21400801001210CA8344B98470AAA0021535E9C46BF -S2140080200020215E0220155E0223E05E281A062349 -S214008030D25E954242DC294A934663465B1A1BB2DF -S21400804008930994B246804612E0099C3800274BF4 -S21400805098470498264B98471A4A039920001A4BCB -S214008060984748E701350AAB06229B5E9D4225DC11 -S2140080700CAA03990EA8D8470028F3D043461AB294 -S214008080049B0093059B089938001A4CA0470128CA -S214008090DBD10CAC079B0193069B00935346049AD6 -S2140080A00EA920000E4EB047638801336380E38834 -S2140080B00133E38001239C46E044D3E704980C4B4D -S2140080C0984718E7B8880100F57D000001DA00003F -S2140080D0AD7E0000C17E0000DDD30000A7FB0000DF -S2140080E04D750000590E010081FB00001DE60000E2 -S2140080F06D0B0100F9E50000002808D003781A008F -S214008100203A01205F2A01D9D80940007047032091 -S214008110FCE700000300303BDBB21A00092B18D93D -S214008120602801D92038C0B24138C3B2052B0DD81B -S2140081309800094B1B589F460B220AE00C2208E0C9 -S2140081400D2206E00E2204E00F2202E0002200E0EC -S2140081500A2210007047C046C088010010B504000F -S2140081601C210F4B9847FF23237223781F2293432B -S214008170237022880B490A402280002363700A4B32 -S214008180636001235B42E3812382A2781F231A43A4 -S214008190A27063880B4063800023E370A37510BD54 -S2140081A0E50F01001FF8FFFF30000020F0B5DE46A7 -S2140081B057464E464546E0B5DBB010900E91170088 -S2140081C01A000D93649B05933B7A052B02D913780E -S2140081D0002B06D15BB03CBC90469946A246AB4607 -S2140081E0F0BD7B6807930A000400010058A8D24B34 -S2140081F098470028EED0FA7D910724D4A38801334F -S21400820022889B1A1BB2079A0826965F0A217A5E76 -S2140082109146B144109A0020115E1F910220105E14 -S21400822012217A5E1E921422B95E421892B215B2DC -S214008230059C002C52D0002954D1002814DB11953F -S214008240002208922EE00C217B5E3CAD0292BB4AD7 -S21400825001920A217A5E00927A680D992800B84E3B -S214008260B0470022AB5ECEE7A168081AC1174018D7 -S2140082704840802189004C46091B4900884207DD9A -S2140082800122524205990A6011950022089209E0DF -S21400829005980168002929DB089141688C466244EC -S2140082A012B211921BB2190012930C23FA5E0D9BA8 -S2140082B01800089CA4466044FB7D00930B000799B9 -S2140082C0A04DA847A44660449E4A92469E4A9046C1 -S2140082D006960600119DBB46059F11E011950022EB -S2140082E00892DFE7119500220892DBE7119500223D -S2140082F00892D7E708962378002B00D16AE7060095 -S214008300069BEB180E9A0221525E934220DA0D9BD2 -S2140083109C195B460C229A5E5B46DB7D0093129BA3 -S21400832007992000D04780194D442DB2002FE1D088 -S2140083304545DFDB3B68002BDCDA3E60109A022105 -S214008340535EEB1A7B60130002229B5EBB60D1E794 -S2140083500B9611955F46FA7D53072FD4130749D421 -S2140083603B7A0F93FB8906933A8A9246534502D985 -S214008370524606929A463B7E9B0755D13FAC20005C -S214008380724B98477B8863800F9BFA2B01D9704B02 -S2140083901B78DBB21C934B466A469382938A1893EB -S2140083A06B4644229B181B8814931F9D00231D9325 -S2140083B0089B9B46D0463E0000F0D2FD0C217B5E1B -S2140083C0089C311B89B20D98A44660440092079A17 -S2140083D0604CA047109A9388013312889B1A1BB2F0 -S2140083E0181AC30F1B185B101F9A944663441BB2DF -S2140083F01F93B5E70C217B5E0B98089C011B89B286 -S2140084000D98A44660440092079A524CA047109AD2 -S2140084109388013312889B1A1BB21B1A1F9A944624 -S21400842063441BB21F939BE755AC20004A4B98470A -S2140084303B8823807B680820185E05300A21474B5E -S214008440984760803B7A23727A7E03231A40637AC9 -S21400845003218B431343637290E70025E2E2099BF6 -S214008460002B07D134AB80229B181B881D93012359 -S2140084700993C2E2099B012B01D100F005FE022BF5 -S21400848001D100F032FD3E88ECE2059B202B00D0A7 -S214008490B3E2549B1D9A9B1A072B04D03B88169375 -S2140084A002230993A9E20C9B944663441800002318 -S2140084B03CA9C25C5A540133062BFAD13CAD28784D -S2140084C0274EB04780466878B04743461B0198461B -S2140084D08044A878B0470590E878B047059B1B0114 -S2140084E01B1805932879B04708906879B047089A12 -S2140084F015012818C2B2D2081F232C9999430B00E5 -S21400850013436A46127D92085101164A13400B43E4 -S214008510424669460A750A7DD208D2025B055B0DA3 -S21400852013436A46B021521813809BB21693022357 -S214008530099362E2169E95E2A7FB0000187C0000F5 -S2140085407D1A01006117010000FCFFFFB9AA0000B8 -S214008550D8880100D919010099900000757A0100A9 -S214008560158100001FF8FFFF3CA804801199418088 -S214008570BB89013BE3180A9A944663448380189BA0 -S214008580013B8C466344C3803FAA0E99C64B98476E -S2140085907AE2042B00D1E9E0082B00D024E208267A -S2140085A0FF232093C14B239303E0C0232093C04BAB -S2140085B023933CAB5A881A929B881B937243219252 -S2140085C00E9B00229B5E00222B920599994203DAAD -S2140085D05B1A5A00D3182B930E9B04229B5E2293A1 -S2140085E003211A98B34B984705998C4660441A9A0B -S2140085F01992229A904204DD531A5A1C53009B1873 -S21400860019930E9B02229B5E00222992159999428D -S21400861001DA5B1A29930E9B06229B5E1B990A00C1 -S2140086201598844662442F919A4202DD1B1A013344 -S2140086302F936B4690229B181A88D306DB0E269340 -S21400864053059B0E28931304DB0E2793219B299A30 -S21400865053432B9A72439B18DA10AD1807221A4020 -S21400866034921B9B1A9A53431A002E93F0235B00F6 -S2140086709A4200DD2E932E988F4B984724902E9B7F -S21400868058008D4B984725908C4B98478C4B9847B5 -S2140086901021425E1100838A013322915B1A1BB2BD -S2140086A01B93219080682A9003212B98814A944638 -S2140086B0E047219B12215B5E1599CB1A1B994B4311 -S2140086C0059A94466344229A9B1A299A4A4312189A -S2140086D09B185B002A998C469C446146059141464E -S2140086E06B4654229B18198089B28846404434A9A8 -S2140086F00883032119986F4B98474346013BC318DC -S21400870034A883831798299A9446604403B234A801 -S2140087104383C3836B4B98473090299A2F988242A5 -S21400872000DB47E1199A2B98111A080031911A9B21 -S2140087309B1A2B998C46634419007143329103218E -S21400874049425C4B98471B9BC3185B00339300233E -S2140087502A935B46359353463693059B9A46AB461B -S214008760349B984634943797D4E00426F02320931D -S214008770554B23931DE7082E0BD063461840239BCA -S2140087801B5C06E0634603401C994B431B0A00E053 -S214008790002317998B540132032A22D015981A9970 -S2140087A088427BD23318F54001341999A14200D192 -S2140087B08EE015930599087828400821CB1A9B1B54 -S2140087C0D840C3B2002BE3D01C99FF29D3D0082E83 -S2140087D0D8D063461840239B1B5C1C994B431B0A4E -S2140087E0D7E7087853465B78DB086246121A53438D -S2140087F0279A42439B181B0A1F221A4021928B7805 -S214008800190053461A78D206D20E67467B1A5A4388 -S214008810269B4B43D218120A1F231A402292179BFC -S2140088205B78984653461B885B059B0E6246474618 -S214008830D21B5343289A7A4393465B441B0A3F2233 -S2140088401340002807D1002F05D1002903D1249A10 -S2140088501B99505403E0249A1B99604650541B9968 -S2140088604800259A9046404402781F27BA43229F24 -S214008870174307705B010288144F3A401343038086 -S214008880219AD2001B0A07273B40134343704B1C18 -S2140088901B9302239846C24400227FE7059B0133C0 -S2140088A00593209D00237FE75DAB0000F488010060 -S2140088B0E0880100757A0100590E01004943000066 -S2140088C0A1F6000059A60000E48801001FF8FFFF8B -S2140088D0059A93469846309B002B33D1319B1B99C3 -S2140088E08C4663442E9A9A4249D93AAAD3880133D1 -S2140088F0D3802A91329B4344DA10934407221A40CD -S2140089009046339B9C46E244299B013329932F9A39 -S214008910934249DA209D4346DD402B9C199A9442A7 -S2140089200DDA2A9B1B930022FF239C4639AB179334 -S21400893008239B1B1A935B460593434639E72A9BFD -S2140089401B93C8E72A9B249A944663441C003AAAC1 -S2140089500023D15E938801335B1A1BB20620125E99 -S2140089602000B14DA8470028B8D13AAB998801310C -S2140089701B88C91A09B22000AC4B9847AEE73AAC40 -S214008980139B02931C9B019302230093249B259A1E -S21400899021000E98A64DA847E38801331BB26380DA -S2140089A0E38000232A93A5E7359B9B46369B9A4691 -S2140089B0349C379F3AAA0621535E0221525E9A42A1 -S2140089C00DD03AA9013BCB80139B02931C9B0193CD -S2140089D002230093249B259A0E98954DA847249829 -S2140089E0944DA8472598A847089B002B05DDBB8912 -S2140089F01B190A9A944663441CB254990B9B5A4618 -S214008A009B1A8B4200D873E28B4B069A9A4200D18F -S214008A1023E500259A4505D059440D984B461B681A -S214008A20984785B2854E54A90C9B98461800336823 -S214008A3098470590424654998C4662441000336825 -S214008A4000219847FB7DDA0707D5059B232B00D12D -S214008A5005E5099B012B00D117E53E88099B022BF3 -S214008A6000D167E5020005990798754B98470A906C -S214008A700890714B0699994206D09A4504D0A942AF -S214008A8002D8AA4500D96FE50F9B042BACD90798EE -S214008A900028A9D07B7E13930023059A3CA9694D34 -S214008AA0A8470028A0D03CAB9A88002A02D15B8851 -S214008AB0002B99D03CAB0620195E8846A0445B8804 -S214008AC043440E980025415F8B428DDB0100042352 -S214008AD0CB5E984588DC079908254B5F0A25495FD9 -S214008AE05B1A11998C4663449B1A3CA90825495F7A -S214008AF05B1A1D0017939C466244010002200B5E21 -S214008B009A4200DA70E706228B5E9D4200DD6BE734 -S214008B10059907984C4B9847051E00D164E7079BBC -S214008B201B7B9B0720D043461BB205936B465C22FB -S214008B309B1800229B5E15936B4690229B181E8006 -S214008B403CAB9B7A1E00032B00D10EE6022B00D115 -S214008B502BE500D91DE5012B00D045E70126802333 -S214008B6020933A4B239324E543461BB29C466B4620 -S214008B705C229B1800229B5E21936B46A0229B18CA -S214008B801E803CAB9B7A2093032B33D0022B19D04C -S214008B900AD8012B00D027E70123209302217F3338 -S214008BA015932A4B279312E0042B25D0082B00D0D0 -S214008BB01AE70823209380214900F7331593244BA6 -S214008BC0279304E00421C0231593224B27931C9A75 -S214008BD0F92A57D8204B1B78934213D0002200293D -S214008BE045D01C9E1D485B461993A3463400059647 -S214008BF0279E12E0042320931021F0231593184B90 -S214008C002793E4E7174B1B68209A9A42E6D12EE09A -S214008C10059B135401328A4226D0B35CFF2BF7D053 -S214008C2063431B0AF5E7C046BDA50000E50F01003B -S214008C30E96800006D0B0100FFFF000058000020EF -S214008C4001E70000F9E60000F1E60000DC8801001C -S214008C50F4880100E0880100B42B0020B02A002030 -S214008C60E4880100B02B00205C46199B9B46D74B3E -S214008C706A467021521812781A70D54B209A1A60DC -S214008C80D44B27933CAB5A8805929988209850433A -S214008C900E9B00229B5E002219929C4502DA6246D9 -S214008CA09B1A19930E9B04229B5E059E320062441B -S214008CB01B969A4203DD62469B1A01331B930E9B5A -S214008CC002229B5E00221A92219E9E4201DA9B1B84 -S214008CD01A930E9B06229A5E219E8B19229193422E -S214008CE002DD921B531C2293199B26931A9A50431B -S214008CF0209A5A438018C608AE1907250540059BDA -S214008D004B431A002393F0235B009A4200DD239323 -S214008D102398B14B9847219043466A4690215218B3 -S214008D2013806B4690229B1819883AAB199A8A18BA -S214008D301A804A1E1B998C4662449A801798020035 -S214008D401A988446624412B25A80DA80A34B984737 -S214008D5024900823209A9B1A9846059B19998C46BE -S214008D6063441B995B1A11005A4325921A98229B5A -S214008D70984200DB9DE0002317935B4629935346F9 -S214008D802A93279B9A4627944346209388462B97F8 -S214008D9039E00023137012E00136159900250132E0 -S214008DA0059B934210D033780B40601BC340D8B26B -S214008DB00028EED0584603405046C35C1370AC42C1 -S214008DC0EAD9ED19F940EAE7B84620946746249BAD -S214008DD0002B33D11B9B199A9B1ADB19239A9A42B4 -S214008DE049D93AAAD3880133D3801797259B9C4646 -S214008DF06544EB08F61807231D401A9B01331A93A7 -S214008E00229A93424FDA1599E940199B1A001B984B -S214008E10824211DA219F3A00179CA446624403005E -S214008E2026981B1A9C443B0063441800FF239B466D -S214008E3005904746209CB6E7179FC8E7179B219AE0 -S214008E40944663449B463AAA0023D15E9388013336 -S214008E505B1A1BB20620125E5846614CA0470028DB -S214008E60B8D13AAB998801311B88C91A09B258465D -S214008E705C4B9847AEE73AAF139B0293FF230193F0 -S214008E80FD3B0093219B6A46A021521812883900A8 -S214008E900E98554CA047FB8801331BB27B80FB80A5 -S214008EA000231793A2E7299B9B462A9B9A46279C5A -S214008EB02B9F3AAA0621535E0221525E9A4210D098 -S214008EC03AA9013BCB80139B0293FF230193FD3B02 -S214008ED00093219B6A46A020121812880E98424DD5 -S214008EE0A8472198414B98477EE50023099384E5DF -S214008EF0D046A2463E003B7E9B0747D4337EDB0728 -S214008F0000D57BE00D9B1F000B9DAC4667440C23F1 -S214008F10F25EF37D0093129B07993800344CA0470D -S214008F204419109B00255D5FF27D530700D584E051 -S214008F30130700D596E0119B18998C466344149A43 -S214008F40624492B214920B9A93461BB21A00119383 -S214008F500E9B06215B5E934201DAFFF73BF90B940A -S214008F600D9B5B440C931B78002B01D1FFF732F965 -S214008F701E9B9C4665442BB29A4600235493099345 -S214008F801C4B99465446C246370036E53AA86B460F -S214008F907C229B181B8803807B6808229B5EDA0F66 -S214008FA0D218521055AB02215C5EE10F0919491028 -S214008FB0521814998C46624412B242803CA9544618 -S214008FC00C804A800E9A0C4CA04797E7B42B0020E2 -S214008FD0B02B0020B02A0020590E010059A6000030 -S214008FE0BDA50000E50F0100055C00006D0B01004B -S214008FF06117010054000020C99000003AA86B4693 -S2140090007C229B181B880380716855AB02229C5EED -S214009010E20F1219521001320C8912194989521A9C -S21400902014998C46624412B242803CA954460C8085 -S2140090304A800E9A164CA04764E70C21735E009295 -S214009040079A01003800134FB847109A93880133E7 -S21400905012889B1A1BB2181AC30F1818401045190D -S2140090602DB268E70C21735E0092079A0100380063 -S214009070084FB847109A9388013312889B1A1BB280 -S214009080181A45192DB256E700230993FFF7FBF986 -S214009090C9900000D919010010B504000A21084B38 -S2140090A0984701236380FE33237223781F2293435D -S2140090B023702388034A134023800023637010BD67 -S2140090C0E50F01001FF8FFFFF0B5DE4657464E4697 -S2140090D04546E0B5CBB005900E00069107921C0001 -S2140090E002229B5E002B01D100F046FC227A052A64 -S2140090F001D800F041FC02000020115E0025705FE0 -S214009100814200D12BE1DA0FD3185B109BB20A1C08 -S214009110814200DD021CD21A48AD2A800A1C814218 -S21400912000DA021C9A1848A98A80069A0221525E22 -S21400913005990220085E111C824200DD011CC91A36 -S21400914048AD6980111C824200DA011C5B1848AAEF -S214009150D380079A48A90800D54B9847002801D124 -S21400916000F00AFC059B02269E5F069B02255D5FBB -S214009170AE4200D1FCE0059B00229A5E11000892E8 -S214009180069B00229B5E9A46514500D106E2AE42FF -S21400919006DB33002E001D00089B524608929A46B6 -S2140091A05346089A9B1A0993AA1B0A92D9175B186A -S2140091B04B409946D11753184B409B460222A35E5C -S2140091C09846D94500DCD0E25B4658014946B94B83 -S2140091D09847B94B1B5C42465A4313003F229046C1 -S2140091E098444346DB111F009BB2524608988245BE -S2140091F000DD021CD21A0EA90A8052460898824543 -S21400920000DA021C9A180EA98A802A1CB54200DDD4 -S214009210321CD21A0EA94A802A1CB54200DA321C29 -S2140092209B180EAAD38048AA0EA90800A04B984700 -S214009230002800D19CE343461B12984601233B407E -S21400924043440B93D94500DCBAE2099A002A00DCB5 -S21400925091E2B2B241466B4619868BB2A9B29346EA -S214009260D21A12B2002001908946CB1A1BB2009384 -S2140092705346089912A8914FB8476B469B8D5A469D -S214009280D21812B2012101914B441BB200935346EF -S21400929008991DA8B847002112A8894B98469847F8 -S2140092A00B9000211DA8C0470C90637ADB0600D403 -S2140092B0ACE201235B420D930A93824B9847824BA4 -S2140092C098478146028A0EA80588AD1AABB203807D -S2140092D04946498A45886D1A45808588AD1AADB2DB -S2140092E08580C288521AC2800135ED1A2DB2774B9E -S2140092F09847E023FF33984200D8B3E2F0235B00A0 -S2140093009B465846724B984780464B461B8A0EAF84 -S2140093103A889A1812B21100099210AA1180B988D8 -S2140093205B1893807B884946498A5B181BB253803A -S214009330D3805946674B98474B4612229A5E0223C3 -S214009340FE5EB61806217B5E9B189E4200DDECE2B0 -S2140093500027614B9A46230044469846D0E20225F1 -S214009360555F32000226925F954200D0CBE603E3BB -S214009370237A9846534B9847534B98478146022288 -S214009380A35E013B5E1001251D40AD190623E25E7B -S2140093900023002A04D00422A35E5A1E9341DBB2A7 -S2140093A01F0009934D4B98470021002801D1013139 -S2140093B07940069B00229B5E059A0020105E1A1CD0 -S2140093C0834200DD021C28AF3A801A1C834200DA72 -S2140093D0021C013A28AB9A80059B5B8828AA5D1B75 -S2140093E055809E19D68000290ED02288637A9B0766 -S2140093F09B0F02934346019301230093002328A961 -S21400940048A8374DA847B3E228AA48A91000284B19 -S2140094109847002800D1ABE228AA0023D75E4B4627 -S21400942010215B5E9B4669460B840B8CF91A89B249 -S214009430884609B28A4611800220115E4D466D8A22 -S214009440AC464D1B55800420165EF31A9BB29380E3 -S214009450D58860462D1AD580013342469B1A1BB22A -S2140094600B9333AB1F809E805980D9800021099BC7 -S214009470002B08D0504658440623E15E0422A35E23 -S214009480C918184B98470BB20C930B980700104B53 -S2140094909847089028AB02229E5E06229B5EB34247 -S2140094A000DA77E00B4B9B460B4B9A460A9750E048 -S2140094B0A7FB0000757A0100F48901007DA6000074 -S2140094C085A5000049430000A1F600008BFB0000C4 -S2140094D0590E010089100100BDA5000059A6000024 -S2140094E0055C0000417C01000626A55FED180B0018 -S2140094F0AA4202DA089B19541300013001331AB24B -S214009500874207D90425635F9342EDDB9A1A12B2AD -S2140095108018F2E70A9766460220228833AD637AFF -S2140095209B079B0F0293237A01930090089B2900C8 -S21400953048A8D14FB8476B8801336B80EB8801335E -S214009540EB8001360AAB7E229B1800229B5E9E4271 -S21400955020DC0A9F3900089D2800D8474B465A8AC7 -S214009560921912B2198A0AAB78201B181B88C918E0 -S21400957009B20B9B2800D047099B002BCDD00028B2 -S214009580CBD0002F04D00C9A00200021B446B9E7B7 -S2140095900220C2E70898B94B9847E9E1237A984633 -S2140095A0B74B9847B74B984707000222A35E013B8C -S2140095B05E1001251D40AD190623E25E0023002A39 -S2140095C004D00422A35E5A1E9341DBB299460A9346 -S2140095D0AD4B98470021002802D101314B46594037 -S2140095E00598028828AB551B1D8096199E80069A02 -S2140095F00225525F0225455F101CAA4200DD281C8A -S2140096005880131CAA4200DA2B1C013B28AAD380E0 -S21400961000290ED02288637A9B079B0F029343464D -S214009620019301230093002328A948A8924DA84738 -S2140096309EE128AA48A91000944B9847002800D11C -S21400964096E128AA0021535E9C463B8A6146C91AC9 -S21400965089B211800225505F7D8AA846451B558039 -S2140096600425565FF31A9BB299469380D5884346E5 -S214009670ED1AD5804B460133591A0BB21A000B93DC -S21400968033AB614619809E805880D8800C921000BB -S2140096907F4B9847089000210A9B002B0CD0102384 -S2140096A0F85E28AB00229B5EC0180623E15E04220B -S2140096B0A35EC918774B98470BB2994628AB02228F -S2140096C09E5E06229B5E9E424BDC734B9B46734B14 -S2140096D09A46B8464B4609931DE0099F01373BB2B0 -S2140096E00993228833AD00230293237A01930090D6 -S2140096F0089B290048A8604FB8476B8801336B80E9 -S214009700EB880133EB8001360AAB7E229B180022E1 -S2140097109B5E9E4225DC0C99089D2800D847434650 -S2140097205A8A921912B2198A0AAB78201B181B881B -S214009730C91809B20B9B2800D0470A9B002BD0D033 -S2140097400028CAD00423E25E099B9A4200DA002071 -S2140097500621635E9B18099A9A42BEDB0023099392 -S214009760BBE70898454B984702E14B4658015946D7 -S2140097704B4B98472DE5B2B26B469B8DA9B29346EC -S214009780D21812B2002001900B918C4663441BB293 -S21400979000935346089912A8424FB84743466A4674 -S2140097A01386138E5A46D21A12B2012101910B99D2 -S2140097B0CB1A1BB20093534608991DA8B8476AE512 -S2140097C06B461A8C998D534668468385838D9B46D7 -S2140097D0CB181BB20B929446614409B20022019248 -S2140097E00095320012A82F4FB84743466A461386A4 -S2140097F0128E5B469B1A1BB20B998A1A11B2012273 -S2140098000192009532001DA8B84744E56B461B8DB3 -S21400981099466B469B8C98464B460899CB1A1BB2CA -S214009820032201924246921912B20092320028A8F0 -S2140098301C4EB04753464A469B1A1BB20222019260 -S2140098404246521912B200922A00514633A8B04737 -S214009850002128A8144DA8470A90002133A8A8473D -S2140098600D902AE50EA8114B9847834649E5290036 -S21400987008980F4B98474CE0055C00006D0B010004 -S21400988049430000A1F6000059A60000A7FB00000F -S214009890590E0100417C010089100100BDA50000A1 -S2140098A0757A01007DA6000085A500008BFB0000F0 -S2140098B0E50F010043461A885B7A9B079B0F0293CD -S2140098C043461B7A019302230093230048A910A85D -S2140098D04D4FB8470AABDB8B01331BB20AAA538342 -S2140098E0D38359462000494B9847002701360EABD4 -S2140098F006229B5E4A461221525E9B189E4211DC4F -S214009900E3191800089332B22B000999D0470028B3 -S214009910ADD07F19EB199B45CCD910AAD38801335B -S214009920D380E3E74346A0461C0010AA0621535EF8 -S2140099300221525E9A420FD010A8013BC3802288B3 -S214009940637A9B079B0F0293237A0193022300936B -S214009950434648A92C4DA84740462D4B98470B98A0 -S2140099602C4DA8470C98A8470A98A8470D98A847D2 -S214009970637A0C221A4206D14BB03CBC90469946FC -S214009980A246AB46F0BD33AD2800234B984723884C -S2140099906B80224B2B80237A2B730222A35E5E10F1 -S2140099A00122534001251D40637A5B0717D4637A72 -S2140099B01B07E1D506990A88B6B228A8931B038030 -S2140099C049888B1B4380ADB29219521B8280761851 -S2140099D0761BC68033AA0799114B9847CCE7059F9C -S2140099E03A88B3B228A8D11A01807F88F91A418034 -S2140099F0A9B2D218521A8280DB195B1AC38033AA26 -S214009A000799074B9847D2E7055C000089100100CC -S214009A106D0B010011A60000B9AA0000FF7F000030 -S214009A205DAB0000F8B5DE4657464E464546E0B507 -S214009A300A9CA58A521B12B2658A4D1B2DB2216A5A -S214009A40002940D12831615CC90711D5217C032348 -S214009A500B40012B00D8C5E1022B06D00024032BB7 -S214009A6045D1D417A41AE40F41E00132D40F3EE0EA -S214009A70217C03220A40911E012900D8B4E1012A64 -S214009A800FD0002A10D1E91800D5AFE16D42002DA5 -S214009A9000DAADE10224AB4229DD4019BD4B984700 -S214009AA025E00124002D22DC1A00DD4200D5A1E1CC -S214009AB06942CB43DB17194000248A4217DDB54BB9 -S214009AC09847023413E02821615C8B46C90715D4F9 -S214009AD0A7691100794389128C46F917C91BC90F6B -S214009AE061448D4200DC96E05B469C07E40F200054 -S214009AF03CBC90469946A246AB46F8BDE1692F00AD -S214009B004F43BF12002906DD974200DC76E15B4634 -S214009B109C07E40FEBE7974200DBABE15B469C0754 -S214009B20E40FE4E75B465E08012466400124344007 -S214009B30DDE75B465E080124664001243440D6E734 -S214009B40002190E100214B46C154636AD21A0135C8 -S214009B50BD4243DA636A9A421ADD002DF5DBBD4248 -S214009B60F3DA5B10D31ADBB24146615C0E4201D0D9 -S214009B70DB43DBB2A946415DF92BE4D8052BE1D9DE -S214009B804B431902C918C901CB18DB0DD9B2DAE765 -S214009B90BD4223DA002D21DBA36953439B125343B6 -S214009BA05B12DBB2E269002A13DB2822A25C920772 -S214009BB001D5DB43DBB246193278F92B0DD8052BDD -S214009BC00AD953431A02D218D201D318DB0DDAB2DF -S214009BD003E0DB43DBB2E8E7002232702823E35CD5 -S214009BE09B070CD50024674500DA80E702346346FD -S214009BF0002B00DA7BE76146664B984777E701352E -S214009C0000D5F9E00224BD4200DD70E7791B40195B -S214009C10604B98476BE79846E9188C4506DD5B462F -S214009C205C08012666400124344060E7110279434F -S214009C308E14B4468903090E013212027A43961432 -S214009C40B2466646761BB146D4455CD0002F52DB42 -S214009C50FF22511AE5694D43AD12002E19DBC845A7 -S214009C6017DD69434912CAB25946890701D4D2435F -S214009C70D2B2494646183178F92A09D8052A00D8BA -S214009C8099E04A4311028918C9018A18D20DD1B247 -S214009C9031704A46511C1DD488451BDDFF22551BDA -S214009CA0A2696A43921255436D12EAB22825655D91 -S214009CB0AD0701D5D243D2B241180D78F92A08D89B -S214009CC0052A7AD96A431502AD18ED01AA18D20DF5 -S214009CD0D5B20D702822A25C920770D50024C84524 -S214009CE000DA04E702344B46002B00DAFFE649466A -S214009CF0284B9847FBE6002900D0CCE001398C467B -S214009D00E1440131FF314E46002E1BDBC84519DD0C -S214009D109203120E521852085946890701D5D243AB -S214009D20D2B2494646183178F92A0AD8052A07D900 -S214009D304A4311028918C9018A18D20DD1B200E02F -S214009D40002131702822A25C92070CD55346591B7D -S214009D500024884500DCCAE60234002900DAC6E69C -S214009D600C4B9847C3E6494601311A00884500DD8A -S214009D700A000024002A00D1B9E60234002A00DCDA -S214009D80B5E6991A8018034B9847B0E60025A1E07F -S214009D900025C2E0E50F01004A4601320124904545 -S214009DA000DAA4E60134002A00DAA0E6991A801840 -S214009DB0624B98479BE600216AE7002589E74946FB -S214009DC002311A00884500DD0A000024002A00D16E -S214009DD08DE60234002A00DC89E6991A8018574B73 -S214009DE0984784E6012482E6012480E601247EE684 -S214009DF000247CE600247AE6002478E61F00EB18B0 -S214009E00594389128A4200DD8CE61202A3695A433E -S214009E1092121112FF231A4039D09C469B1A98467C -S214009E20636A424653431B126246D21A491B8C464B -S214009E301AD4B94218DA41464B435B12DBB2594694 -S214009E40890701D4DB43DBB2614645182978F92B34 -S214009E5009D8052B00D873E64B431902C918C90167 -S214009E60CB18DB0DD9B2297063465D1C28239846B3 -S214009E7002266FE61F005B1959438912914200DDE6 -S214009E8057E601321202A3695A439212C1E74D1BEC -S214009E90AC46FF22EAE7E26952424A439212002E9B -S214009EA019DBC84517DD51434912C9B25D46AD07F7 -S214009EB001D5C943C9B24D4646193578F92909D89E -S214009EC0052900D862E769430D026D18ED0169188F -S214009ED0C90DCDB23570494601391FD488451DDD00 -S214009EE0FF25AA1AA5696D425543AD126A43521260 -S214009EF0D2B22825655DAD0701D4D243D2B246184A -S214009F003578F92A09D8052A00D841E76A431502A8 -S214009F10AD18ED01AA18D20DD5B235702822A25C74 -S214009F20920700D438E70224884500DADFE50029E6 -S214009F3000DCDCE5014B9847D9E5C046E50F01009B -S214009F40F0B5DE4657464E464546E0B58DB0019024 -S214009F5089460093169DAC7CE407E40F1023EE5E62 -S214009F602F00083700230AA8F95C19540133082B80 -S214009F70FAD1002C45D10AAB02215B5E0020934249 -S214009F804ADC0AAB06215B5E934245DBB4460AAB6D -S214009F9000201B5E9A46F318994508DB009B4B444D -S214009FA018000AAB04215B5E9B1B98420BDD0AA8D7 -S214009FB00227C05F8719BA4262DB0AAF06217F5EBE -S214009FC0BF1BBA425CDC002C3CD153464A469C1A66 -S214009FD0009D0020AC421FDC002C03DB2100019812 -S214009FE0A24B98470AAB0420185E4B46C01A0130B5 -S214009FF0002800DC0BE2854215DC002C1ED0022077 -S21400A0000AE00AAB02215B5E0120934204DC0AAB45 -S21400A01006215B5E9342B9DA0DB03CBC9046994689 -S21400A020A246AB46F0BD009B191A019B9C466044B5 -S21400A0308E4B9847002CE2D10220EDE78542DED118 -S21400A0400120E9E753464A469B1ADA43D2171340E3 -S21400A050009A02209342DFDC0AA90420095E4846E3 -S21400A060091AC91A01315818824200DAD11A022098 -S21400A0700029D1DB019AD0187C4B98470220CBE709 -S21400A0800AAB04215F5E80B2DB8801331B1A1BB269 -S21400A090121A30007043804612B2944500DDE0E1AB -S21400A0A0981B0138824200DDB3E10220B4E76B8BD7 -S21400A0B006AA53802B8B1380E9E1802109010291C7 -S21400A0C0AFE107AB6A8B5A802A8B1A80B8E107A9E2 -S21400A0D04988002900D0F5E107A9013A0A80FF2245 -S21400A0E04A80EFE106A9498807AD6D8849194910ED -S21400A0F0CFB2002C01D0FF43FFB2F31A013BC118C8 -S21400A10012D4009DA9420FDA019D6E183578F92FFA -S21400A11009D8052F36D97D43AC462D026544ED019E -S21400A1206544ED0DEDB23570D21A013A151811D40A -S21400A130009B9D420EDA019B5A191378F92F08D816 -S21400A140052F21D95F433B02DB19DB01DF19FF0D29 -S21400A150FBB21370002C19D0481CC343DB17184001 -S21400A160009A1300111A954200DC291A984200DB67 -S21400A1702DE1002900DA2AE1019B9C4660443B4B16 -S21400A180984724E10025CEE70023E2E7009CA142A1 -S21400A19000DD3AE1002902DB0198344B9847681C41 -S21400A1A000D532E1A04200DD11E1009B191A019BA7 -S21400A1B09C4660442D4B984709E109AD059B180065 -S21400A1C058434346181A029A2900294B98476A882A -S21400A1D006AB5988FF23591A9B1A4B435B12DBB216 -S21400A1E0002C01D1DB43DBB2039D002D14DB00986D -S21400A1F0854211DA01990800AC4660440178F92BD3 -S21400A20009D8052B2BD959430D0009024919C90154 -S21400A2104919C90DC9B20170049D002D13DB0098C1 -S21400A220854210DA01990800AC4660440178F92BA3 -S21400A23008D8052B15D94B431902C918C901C918E6 -S21400A240C90DC9B20170039B013B0393049B013304 -S21400A250049308AB5A80059B0133059376E10021F1 -S21400A260D9E70021EEE700223FE0C046E50F0100F7 -S21400A27041090100002201984254013C0122944603 -S21400A280E24401372E005F4546D83509029B9C46BE -S21400A2906544380078434346181A00022B006B4387 -S21400A2A0C01A6900B44B984745192B119BB22D0173 -S21400A2B0FF22154076197610F6B24A46002A01D0DB -S21400A2C0F643F6B2002C12DB009AA2420FDD200005 -S21400A2D0019A125DF92E08D8052EC4D972431102D0 -S21400A2E08918C9018A18D20DD2B201990A54524669 -S21400A2F0002AC2DB009A5245BFDD5146019A525CE5 -S21400A300F92EB8D8052EB5D9564332029219D20185 -S21400A3109619F60DF2B2AEE74C465A46D243059E63 -S21400A320B446624403998C469444624603925A4665 -S21400A330501C049A94466044821B049208AA5580D6 -S21400A34009AA1380558008AB5B88002B3DD007AA6E -S21400A350528853435B12DBB2002C01D0DB43DBB2E6 -S21400A360039A002A14DB00990800904210DD019938 -S21400A3709446614408000A78F92B08D8052B28D99A -S21400A3805A4311028918C9018A18D20DD2B2027036 -S21400A390049A002A13DB0099080090420FDD019909 -S21400A3A0944661440A78F92B08D8052B13D95343F1 -S21400A3B01A02D218D201D318DB0DDAB20A70039B48 -S21400A3C0013B0393049B01330493002C05D0022029 -S21400A3D022E60022DBE70022F0E703990131009C29 -S21400A3E0A14212DC002902DB0198644B9847049BCB -S21400A3F0002B0ADBA342EADA009AD11A019A9C469D -S21400A400624410005D4B9847E1E7002004E6002018 -S21400A41002E680204000844500DC4EE680210902EA -S21400A42002919A1AB01A431C9B466B69984200D157 -S21400A43047E640434346181A029A07A9504B9847E6 -S21400A440584640434346181A029A06A94C4B98476A -S21400A4505B466B6106AB5B886B8306AB1B882B8306 -S21400A46028E080235B009C4500DD81E080231B0103 -S21400A4700293B31A9B466B699B4500D117E6584674 -S21400A48040434346181A029A06A93D4B98475B4636 -S21400A490013B1800039358434246101A029A07A934 -S21400A4A0374B9847039B6B6106ABDB886B8306AB29 -S21400A4B09B882B8306AB1B8807AA1288511E8B42EB -S21400A4C000D104E652464946501A0137BA1A12B26B -S21400A4D007A90988994200D104E60133F61A8319C0 -S21400A4E019000393961B013E33181D000493002C9D -S21400A4F012D0481CC343DB171840009E3300311AA5 -S21400A500B54200DC291A984206DA002904DB019BD2 -S21400A5109C466044194B984706AB1888431C059325 -S21400A52008AD40434346181A029A2900144B984730 -S21400A5306B88002B05D108AB1A88013A1A80FF22D7 -S21400A5405A8008AB1B889B4500DC36E607AB1B88A9 -S21400A5509B46059F5F4500D9F5E608AB1A881201B1 -S21400A56002925E88049B9A46039BA1461C008CE6DA -S21400A57080231B0202937CE7757A0100E50F010039 -S21400A5804109010010B50C4B1B68002B0CD00A4A81 -S21400A59001239468002C08D00133DBB20832102B5C -S21400A5A0F7D10120404206E00023034ADC00A05019 -S21400A5B01219516018B210BD984D0020F0B587B042 -S21400A5C00390049116001F00104B1B68002B1BD035 -S21400A5D00E4C0022059203E008342368002B0DD0B1 -S21400A5E000931D683B00320004990398A847002892 -S21400A5F008D00228F0D101230593EDE70598431E05 -S21400A6009841013007B0F0BD0120FBE7984D0020CF -S21400A610431C07D0044AC300985800219950D31809 -S21400A620596070470020FCE7984D002030B50100C7 -S21400A630084B1A0080320020002402E008339342C0 -S21400A64006D05D688D42F9D118681C605C60F5E73D -S21400A65030BDC046984D0020074B1A0080320020BF -S21400A66002E00833934205D019680029F9D001307A -S21400A670C0B2F6E77047C046984D0020F8B5CE4603 -S21400A680474680B504000F001500984608AB002624 -S21400A6909E5F09AB1B7899462C21514B9847B542D3 -S21400A6A005DD2B0035001E003B00474698462781F7 -S21400A6B065814346A381E68103234A461340227CF4 -S21400A6C003218A431A4322746782A5824346DF1B0E -S21400A6D0761BFB17FA185A40F11773184B400125E2 -S21400A6E09A4200DC0025282101222B001340655CDD -S21400A6F0012085431D4365540023E361A361394966 -S21400A700216023712A4227D0002F07D039008020ED -S21400A7104003354B984770438012E061002E07D007 -S21400A720310080204003304B98474743BF12A76153 -S21400A730E3692362227C0323134024D12822A35CEE -S21400A74002218B43A354236A9A10002B45DB6262D6 -S21400A7500CBC90469946F8BD002E07D031008020EC -S21400A7604003214B984778438012A061002F07D002 -S21400A7703900802040031C4B984770438012E061EC -S21400A780A3692362D6E7012B0CD0022B10D0032B33 -S21400A790D9D1236A002B1ADD2822A35C02218B4321 -S21400A7A0A354D0E72822A35C02210B43A354CAE794 -S21400A7B0236A002B05DD2822A35C02210B43A35449 -S21400A7C0C1E72822A35C02218B43A354BBE72822BF -S21400A7D0A35C02210B43A354B5E752426262B7E77B -S21400A7E0E50F0100259A0000757A0100F0B5CC88C7 -S21400A7F001344D88641B8E8801360D88761B251C17 -S21400A80024B237B2BC4200DD351C2DB26D10AA4210 -S21400A81000DD2AB20E000836040008340D782570D4 -S21400A820013401318E42F9D1028201221A40837C22 -S21400A83001218B4313438374054B0360022303718A -S21400A84080231B064361002343830383F0BDC04679 -S21400A850419F0000F0B5DE4657464E464546E0B5F9 -S21400A86091B00D9002910C924B101E000F93012395 -S21400A8700B405A425341F31A1D000E930400470042 -S21400A8803800884B98470590231E00DCDBE0B91E95 -S21400A8900391013B06938C46604407901900491BC0 -S21400A8A00891290028000A957F4BA44663445B1A4A -S21400A8B05D000B9549000A000996710088460C9BBE -S21400A8C099460023009302256D422B1A01979B465A -S21400A8D0CA46914624E09B1A002E10DB2A88D3181D -S21400A8E0023F023D013E5E450CD03B8081190022AE -S21400A8F08C42F0DD4A46AA1842445288EBE752469C -S21400A9001288ECE7019D2A0005995046674B984748 -S21400A910AC46E244009B01330093A34200DBAAE06E -S21400A920029A0492534603995B5A5343069A002AA6 -S21400A930E8DB0B9A52441500089A561E079F099AA0 -S21400A940501C0A9A94466044CFE701360235A64268 -S21400A95007D268882B888342F7D00499C847688056 -S21400A960F3E74446002C00DC7BE00C9B03930E9838 -S21400A970421C13007B4308930F9D6B427B439B4610 -S21400A9800D994B005B425A4300920B00013B4B4330 -S21400A9905B0002930023069303000122944663445F -S21400A9A09A46B8465B460193AB4637E000210FE077 -S21400A9B04846008816E041460298095ACB180132EC -S21400A9C0B944F6190234624512DA002BEEDB99110F -S21400A9D0218011005846101A0028E9DD01988019D8 -S21400A9E0009D405B1B1A51446145E4DA3188E5E777 -S21400A9F04546B846079F6446002341463A882A8063 -S21400AA0001336D180237A342F8DB8846069B0133F4 -S21400AA100693039A02320392A34222DA039A15009F -S21400AA20138804994B4308990E0094466644059A89 -S21400AA3017009446A9460022079747462100644619 -S21400AA408C46A846C1E7029B04930C9D28881900F3 -S21400AA50174B984728800D9A130053439846012BAE -S21400AA6017D80598134B984711B03CBC90469946AA -S21400AA70A246AB46F0BD019F0C9D288804990C4B5E -S21400AA80984728800D9A130053439846012B00D808 -S21400AA906BE70C9D0126064B99464346A0461C00D4 -S21400AAA057E7C046590E0100FEFFFF7F250C010048 -S21400AAB0757A01006D0B010010B504005421234B7C -S21400AAC09847234B1B88638023791F229343237167 -S21400AAD0A188204B1940A18000216171A17B914380 -S21400AAE0A173E1891940E1810021E1733420215CE2 -S21400AAF091432154A18E1940A186210034310020B3 -S21400AB0048704621605C90436054605A184060521A -S21400AB102100463100204870A17F9143A177E28B47 -S21400AB201340E3830023E377FF33638123732377A4 -S21400AB3023753622A354084A2263442163542264B0 -S21400AB402822A354F03B638210BDC046E50F0100E7 -S21400AB50188A01001FF8FFFF30000020F0B5DE461F -S21400AB6057464E464546E0B5B1B0814604919346F9 -S21400AB70C4884588631C5B1B1BB2002B01DC00F0FD -S21400AB80CEFF86880788731CDB1B1BB2002B01DCFC -S21400AB9000F0C5FF130020229B5E9846002B01D1D3 -S21400ABA000F0E1FE28235A46D35C0693052B01D815 -S21400ABB000F0D9FE136A012B00D1E2E05B46598C07 -S21400ABC0DA8C8B1AFF18BFB214AB1F808918761860 -S21400ABD0B6B29E805946898C881A2D18ADB25D8013 -S21400ABE05218A418A4B2DC804346DB0F4344591025 -S21400ABF0C94389B216AA781810805B1001339BB23D -S21400AC00F018908069185180E318D380069BFA2BC1 -S21400AC1001D9FF2306939F4B98479F4B9847824640 -S21400AC20049A16A918A89D4B9847002801D100F051 -S21400AC309AFE53461B8A9C4618AB1A886146521ADF -S21400AC401A805246508A5A88121A5A809988624642 -S21400AC50891A9980DA88121ADA8000231AA94846D7 -S21400AC60C25C5A540133082BFAD181461AAB1988B4 -S21400AC7001318AB294461A805888013082B2059211 -S21400AC806A46928A5A809888421E9A80DA88511EAE -S21400AC90D9805B4600215B5E6146411A09B2059881 -S21400ACA0101A00B20200814200DA0A0052100F9217 -S21400ACB09A4200DD0F930136F61BB2B2924611B2ED -S21400ACC00134651BADB22AB21400914200DA0C00C2 -S21400ACD064109C4200DD1C00A04443460993404695 -S21400ACE0584340006E4B98470E905B462027DF5F28 -S21400ACF022B2B846D3190793002322A814A95E5C93 -S21400AD001E540133082BFAD1FB0FDB195B109BB2E4 -S21400AD10012139400E001091591E70427041091AE7 -S21400AD200C19A4B222A98C8001339BB24B805046EA -S21400AD30241A0C80ED18CD80002329A8594CA04772 -S21400AD404346012B01D102F05BF97B100D93079C63 -S21400AD500C942000524B98470A90002C61DD0C9B07 -S21400AD605B000B93079B504A944663445B000E9A25 -S21400AD709246002290464D4F52460892CA46994641 -S21400AD801CE05B4624229B5E002B00D016E75B4649 -S21400AD9026229B5E002B00DD10E700F0E4FD0B99F9 -S21400ADA00898434B9847089B0B9A9446634408932D -S21400ADB001239C46E044079B434531DD0C990A9CE1 -S21400ADC020003C4B98476B461C229B5E424612B2C4 -S21400ADD029A9009100212000299CA0470028DED048 -S21400ADE00D9B05930A9D2878800119002F4B9847E4 -S21400ADF0089B1880079A012AD5DD1C004B441E00CC -S21400AE0005E02388638001350234A642CBD06878FB -S21400AE102B788342F5D080010599B8476080F2E729 -S21400AE20D1460A98244B98470D9B012B01D102F07E -S21400AE30F6F86B461C229B5E08930E9C22000D9D26 -S21400AE40290018001D4B9847109BAC4663441FB260 -S21400AE50012F3ADD0597208880013900134B98476B -S21400AE6020800C9D6D43012D2AD90F4A94466544D7 -S21400AE706D00A44665440D4E02E00234A5421FD084 -S21400AE80608823888342F8D080010599B0476080A7 -S21400AE90F3E7C04649430000A1F60000A7FB000008 -S21400AEA0590E0100EDA70000FFFFFF7F757A010035 -S21400AEB0E50F0100891001006D0B010055A8000088 -S21400AEC00E9A39000898B54B9847079F7F43002F86 -S21400AED00AD00E9A130078009446604419881170C0 -S21400AEE0023301328342F9D116A94A88CB8801334E -S21400AEF09B1A1BB2D80FC3185B10D3189BB21093C3 -S21400AF001BB20C930A888B8801339B1A1BB2D90F8D -S21400AF10CB185B10D3189BB211931BB20D93A04BAA -S21400AF20984700230893002810D15B4622229B5E98 -S21400AF30002B0BD15B4624229B5E002B06D15B4682 -S21400AF4026229A5E53425341DBB2089316ACA08881 -S21400AF5001302388C01A00B2924B984705906B4682 -S21400AF603C229A5E01231AA929A88F4DA8470021E2 -S21400AF7029A88E4B98470F900422A35E1CA98B80AD -S21400AF806A46928C0A9201339B1A0B800220235E3B -S21400AF904B80013B94466344CB80049A1EA8844BA6 -S21400AFA09847002871D01EAB06229B5E0C998B42F8 -S21400AFB001DD1EABD9801EAB00229B5E0D9A93422C -S21400AFC003DC119B01331EAA13801EAB00215A5EC0 -S21400AFD09B8801339B1A1BB20B93002B55DD1EABCF -S21400AFE006215C5E02269E5F1CAB02215D5E751B21 -S21400AFF009994D4300215B5ED21AAD180E9B9C4604 -S21400B0006544002322A81EA95A5C1A540133082B53 -S21400B010FAD122AB5A88DA800134A61B36B2002E4B -S21400B02033DD731C9846012622AC624B9A46079580 -S21400B0305F4619E0FA8B2923FB5C0293069B01937B -S21400B0400090059B210004985B4DA8476388013358 -S21400B0506380E3880133E380099B9C46079B634437 -S21400B06007930136B0450FD00B9A07990598534BB6 -S21400B07098470221625E0025615F0B9B0598D047CA -S21400B0800128D7D10130D5E7BB4616AA0421535E66 -S21400B0901CA98B8001330A981B1A0B800623D25EEC -S21400B0A0531C1B1A4B80CA80049A1EA8404B984714 -S21400B0B0002800D185E01EAB02229B5E0C9A9342CC -S21400B0C003DC109B01331EAA53801EAB00229B5E3E -S21400B0D00D9A934203DC119B01331EAA13801EAB0C -S21400B0E000215A5E9B8801339B1A1BB20B93002BE0 -S21400B0F067DD1EAB06215C5E02269E5F1CAB06214A -S21400B1005D5E2D1B09994D4300215B5ED21AAD187A -S21400B1100E9B9C466544002322A81EA95A5C1A541E -S21400B1200133082BFAD122ABDA885A800134A61BE9 -S21400B13036B2002E45DD731C9846012622AC1D4B08 -S21400B1409A4607955F4619E0FA8B2923FB5C029323 -S21400B150069B01930090059B21000498164DA84776 -S21400B1606388013B6380E388013BE380099B9C4640 -S21400B170079B634407930136464521D00B9A0799EF -S21400B18005980E4B98470221625E0025615F0B9B77 -S21400B1900598D0470128D7D10130D5E755A800003B -S21400B1A059A60000590E0100EDA7000085A5000075 -S21400B1B0A7FB0000BDA50000055C0000250C0100F3 -S21400B1C0BB4616AA0421535E1CA98B8001330A983D -S21400B1D01B1A0B805388844663444B80D3881B1A03 -S21400B1E0CB80049A1EA8D14B984700286CD0089BA9 -S21400B1F0002B0AD01EAA10884B469B88191C1BB22F -S21400B20004B2A34200DA011C11801EAB00215A5E74 -S21400B2109B8801339B1A1BB20793002B54DD1EAB91 -S21400B220DF8801375B88FF1A3FB209990B00013BA4 -S21400B2304B431CA90020095E521A9A1813000E9957 -S21400B2408C4663440B93002322A81EA95A5C1A540A -S21400B2500133082BFAD122AB5A88DA80002F33DD6F -S21400B2600025B34B984622AC089B9A465E46BB46E2 -S21400B27015E0F28B2923F35C02932823F35C0193F9 -S21400B2800090059B21000498AA4FB84763880133B5 -S21400B2906380E3880133E38001355D4513DA079A5E -S21400B2A00B990598C04702205346002BE1D1022394 -S21400B2B0E25E0023E15E079B05989F4FB847012892 -S21400B2C0D7D10130D5E7B346099B002B1FDDDF0F32 -S21400B2D09C4667447F100E9D00265A1E9446B8462C -S21400B2E01F000BE019781078187011700133013ABE -S21400B2F09C42F7D1ED190136B74208D04346002BE1 -S21400B300F8D02B006246AA1841466C18EAE716AA3F -S21400B3100021535E1CA90B80013B0A9CA446634493 -S21400B3208B800223D35E4B80013B6344CB80049A20 -S21400B3301EA87E4B984700286FD01EAB06229B5E49 -S21400B3400C998B4201DD1EABD9801EAB04229B5E9E -S21400B3500D998B4201DD1EAB99801EAB00215A5E13 -S21400B3609B8801339B1A1BB20B93002B55DD1EAB3B -S21400B37006215C5E02269E5F1CAB02215D5E751B8D -S21400B38009994D4300215B5ED21AAD180E9B9C4670 -S21400B3906544002322A81EA95A5C1A540133082BC0 -S21400B3A0FAD122AB5A88DA800134A61B36B2002EB8 -S21400B3B033DD731C9846012622AC5F4B9A460795F0 -S21400B3C05F4619E0FA8B2923FB5C0293069B0193E8 -S21400B3D00090059B21000498564DA84763880133CA -S21400B3E06380E3880133E380099B9C46079B6344A4 -S21400B3F00793013646450FD00B9A079905984C4B94 -S21400B40098470221625E0025615F0B9B0598D04736 -S21400B4100128D7D10130D5E7BB4616AA0021535ED6 -S21400B4201CA90B80013B0A9CA44663448B80062320 -S21400B430D25E531C1B1B4B80CA80049A1EA83B4B33 -S21400B4409847002800D17AE01EAB02229B5E0C9A39 -S21400B450934203DC109B01331EAA53801EAB0422CA -S21400B4609B5E0D998B4201DD1EAB99801EAB0021C1 -S21400B4705A5E9B8801339B1A1BB20B93002B5EDD32 -S21400B4801EAB06215C5E02269E5F1CAB06215D5E3F -S21400B4902D1B09994D4300215B5ED21AAD180E9BF9 -S21400B4A09C466544002322A81EA95A5C1A54013300 -S21400B4B0082BFAD122ABDA885A800134A61B36B2A2 -S21400B4C0002E3CDD731C9846012622AC1A4B9A4689 -S21400B4D007955F4619E0FA8B2923FB5C0293069BCF -S21400B4E001930090059B21000498124DA84763889D -S21400B4F0013B6380E388013BE380099B9C46079BF6 -S21400B500634407930136464518D00B9A0799059869 -S21400B510074B98470221625E0025615F0B9B0598EA -S21400B520D0470128D7D10130D5E7C046A7FB000099 -S21400B530250C0100055C0000BDA50000BB4616AA50 -S21400B5400021535E1CA90B80013B0A9CA446634461 -S21400B5508B80538863444B80D3881B1BCB80049A14 -S21400B5601EA8C54B984700286CD0089B002B0AD015 -S21400B5701EAA4B4618889388191C1BB204B2A34215 -S21400B58000DD011C91801EAB00215A5E9B880133B2 -S21400B5909B1A1BB20793002B54DD1EABDF880137C6 -S21400B5A05B88FF1A3FB209990B00013B4B431CA96D -S21400B5B00020095E521A9A1813000E998C466344AE -S21400B5C00B93002322A81EA95A5C1A540133082B99 -S21400B5D0FAD122AB5A88DA80002F33DD0025A74B3C -S21400B5E0984622AC089B9A465E46BB4615E0F28B10 -S21400B5F02923F35C02932823F35C01930090059BB8 -S21400B600210004989E4FB847638801336380E3881F -S21400B6100133E38001355D4513DA079A0B990598E7 -S21400B620C04702205346002BE1D10223E25E0023EE -S21400B630E15E079B0598934FB8470128D7D10130A4 -S21400B640D5E7B3461CA916AB1A880A9CA4466244E2 -S21400B6500A809A88121B8A8002229B5E4B80013BDE -S21400B6606344CB80049A1EA8834B9847002876D064 -S21400B670089B002B0AD01EAAD0884B465B88191C54 -S21400B6801BB204B2A34200DD011CD1801EAA93881F -S21400B690013311885B1A1BB20B930221535ED488C8 -S21400B6A00134E41A24B209990C911CAA0225555FAC -S21400B6B05D1B4D434B1EED180E9B9C4665440023B8 -S21400B6C022A81EA95A5C1A540133082BFAD122ABC1 -S21400B6D05A88DA80002C42DD631C984601266A4BA5 -S21400B6E09A4622AC07955F461EE0069BFF2B1FD1AD -S21400B6F0069920E0FA8B2923FB5C0293FF23019333 -S21400B7000090059B210004985D4DA847638801338F -S21400B7106380E3880133E3800C9B9C46079B63446D -S21400B72007930136464519D0079B1978FF29DCD0C8 -S21400B730069B5943090A0B9A0598D0470220089B96 -S21400B740002BD7D10223E25E0023E15E0B9B059817 -S21400B7504C4DA8470128CDD10130CBE7BB461CA9EC -S21400B76016AB1A880A9CA44662440A809A88121B62 -S21400B7708A8006229A5E531C1B1B4B80CA80049A42 -S21400B7801EA83D4B9847002800D181E0089B002B5F -S21400B7900AD01EAA50884B46DB88191C1BB204B27E -S21400B7A0A34200DA011C51801EAA93880133118837 -S21400B7B05B1A1BB20B930621535E5C1C5288A41ABC -S21400B7C024B209991CAA0625555FED1A4D434B1E57 -S21400B7D0ED180E9B9C466544002322A81EA95A5CC1 -S21400B7E01A540133082BFAD122ABDA885A80002C7F -S21400B7F04EDD631C98460126234B9A4622AC0795DD -S21400B8005F46CB461EE0069BFF2B1FD1069920E025 -S21400B810FA8B2923FB5C0293FF2301930090059B80 -S21400B82021000498164DA8476388013B6380E3888F -S21400B830013BE380099B9C46079B634407930136C4 -S21400B840B04523D0079B1978FF29DCD0069B5943C7 -S21400B850090A0B9A0598D0470220089B002BD7D1DF -S21400B8600223E25E0023E15E0B9B0598054DA84788 -S21400B8700128CDD10130CBE7A7FB0000250C010045 -S21400B880055C0000BDA50000450F0100D946BB467B -S21400B8901CA916AB1A880A9CA44662440A809A8899 -S21400B8A0121B8A805A8862444A80DB881B1BCB8026 -S21400B8B0049A1EA8C44B984700284CD0089B002B1F -S21400B8C049D11EAA9388013311885B1A1BB20693CE -S21400B8D0D78801375388FF1A3FB2002322A81100E9 -S21400B8E05A5C1A540133082BFAD122AB5A88DA80F4 -S21400B8F0002F30DD01370125B44B9A4622ACB44BFD -S21400B90098465E46BB4614E0F28B2923F35C02930E -S21400B910FF2301930090059B21000498AD4FB84784 -S21400B920638801336380E3880133E3800135AB45E8 -S21400B93010D02823F15C069A059F3800D0470221D4 -S21400B940625E0020215E069B3800C0470128DBD1DE -S21400B9500130D9E7B3460F989F4B984705989F4C00 -S21400B960A0470E98A0475B461B7B9A46052B3FD9FF -S21400B97000231AA94846C25C5A540133082BFAD150 -S21400B98081465B4610229B5E012B1FDD5B461B7DBE -S21400B990F92B1BD95B4600229B5E002B16D05B461C -S21400B9A0588A1AAB8108012211401C88091919808F -S21400B9B0410811405C8809195980C40814409988C8 -S21400B9C0091B99800240D9888A1ADA805346FA2BD6 -S21400B9D001D9FF239A46824B9847824B9847070027 -S21400B9E0049A1AA91CA8784B9847002800D09DE016 -S21400B9F05B46D86A002806D036235A46D35C052B09 -S21400BA0001D900F0D7FB5B461E7D052E19D9102202 -S21400BA109B5E002B15D05B4612229B5E002B10D03F -S21400BA20FA2E00D9FF266E4B98476E4B98470700B4 -S21400BA30049A494618A8644B9847002801D000F09D -S21400BA4023FD5B46D96B002906D044235A46D35CB7 -S21400BA50052B01D901F038F85B461B7F9846052B6D -S21400BA605DD95B4618229B5E002B58D04346FA2BC6 -S21400BA7001D9FF2398465C4B98470A90002316A9E5 -S21400BA804846C25C5A540133082BFAD15B465D8B9C -S21400BA9016AB1A88521B92B292461A805A88521BCC -S21400BAA092B207925A809F88EF19BFB29F80DA88B9 -S21400BAB0AD18ADB2DD805B4600229B5E06935B460A -S21400BAC018229B5E0593002318A816A95A5C1A54E0 -S21400BAD00133082BFAD16B469C8A18AE33881B1BA1 -S21400BAE09BB208933380B388E3189BB20993B38064 -S21400BAF073881B1B9BB20B937380F388E418A4B265 -S21400BB00F480374B9847374B98478146049A310064 -S21400BB101AA82D4B9847002801D001F031F831B013 -S21400BB203CBC90469946A246AB46F0BD388A1CAA55 -S21400BB301188091A89B211807D8A5488641B548042 -S21400BB4093881B1A9BB29380D088401BD080013309 -S21400BB505B1A1BB20A930B931800244B9847069067 -S21400BB60214B984783B20C9300220792002B06D1F4 -S21400BB705B469B79023B5A1E9341DBB207931AA998 -S21400BB808C8801340B88E41A24B226005B46002217 -S21400BB909A5ECB88013349885B1A1BB2A34200DD4C -S21400BBA023005B109846934200DD9046079B002BCF -S21400BBB02FD04346002B2CD15B469B79002B17D009 -S21400BBC001235B420F9333E0A7FB0000450F010003 -S21400BBD0BDA50000055C000011A600006D0B01006D -S21400BBE049430000A1F6000059A60000590E0100C6 -S21400BBF05B465A885B7B029353460193012300936E -S21400BC0000231AA90498AE4CA04701235B420F9369 -S21400BC1077E24346002B37DD43461AB200231AA9C3 -S21400BC2029A8A84DA847002129A8A74B98470F90F8 -S21400BC305B465B886A4613845B469B7900220D92BE -S21400BC40022B25D01AAB0422995E0020185E4B1CEE -S21400BC501B1A1BB2424652009B1A09931EAA10805A -S21400BC6091801CA90223CD5E7B8A5B191BB2538090 -S21400BC70D38006228B5E9D4200DD32E24B46109357 -S21400BC80B9465E46D346E8E001235B420F93CFE712 -S21400BC905B465A889B889A42D4D060008B4B984764 -S21400BCA00D90002ECEDD002542460992B0462E00AD -S21400BCB05D46BB4605901EE0A978C906C80E6B888F -S21400BCC05B059B0EEA78D20821781F27B94301430B -S21400BCD02170590123887E4803400B432380D200FD -S21400BCE01B0A07210B40134363700136059B023382 -S21400BCF00593B04558DD059C0823E95E4046484359 -S21400BD00001232B29042D7DA0A27EB5F47465F430B -S21400BD103F12BA423FDA591A43465943301A00B224 -S21400BD200302181A09126B4B9847FF231840191A7A -S21400BD306A79D2084243EB78DB084B43D3181A02E1 -S21400BD40D218D201D218D20D1F231A40AB885B0539 -S21400BD509B0E43439C466B885B059B0E4B4363449C -S21400BD601F02BC469C446746FF01BC466344DB0D8D -S21400BD703F273B402F79FF06FF0E7843AF78FF063C -S21400BD80FF0E7943401801020918C9010918C90DA8 -S21400BD901F20084098E72979C906C80EAB885B05BE -S21400BDA09B0E6A79D2088FE7099B98465F46AB469A -S21400BDB048E70B99069F3800474B98474B465A8AE8 -S21400BDC0521912B2198A0EAB1B8FC91809B20A9BF8 -S21400BDD03800424FB8470590B379012B19D181E05E -S21400BDE00B99069F38003C4B98474B465A8A521987 -S21400BDF012B2198A0EAB1B8FC91809B20A9B3800FB -S21400BE00364FB8470590B379012B6BD0079A002AB6 -S21400BE103ED1022B00D153E10C9B002B02D1099B93 -S21400BE20322B0CDC737B02935B460193059B0093DD -S21400BE30069B6A46128C1EA90498214CA0471EAB8E -S21400BE405A8801325A80DA880132DA8001350EAB20 -S21400BE503E229B5E9D4200DD3FE14B4612241C5F66 -S21400BE6064191AAB02229B5E434401339C42B7DD41 -S21400BE701AAB06229B5E42469B1A013B9C42AFDAF7 -S21400BE80079B002B95D0B379012B29D00122059270 -S21400BE90099A322A00DDA0E0022B00D110E1012B26 -S21400BEA0BAD1737B02935B460193059B0093069B76 -S21400BEB06A46128C1EA90498014CA047BFE7C046EC -S21400BEC0055C0000EDA7000085A50000590E0100E6 -S21400BED01FF8FFFF757A010089100100BDA500005C -S21400BEE0012305937288B3889A426DD01AA94A88AE -S21400BEF0A31A9BB20827F05F8246C9880131891AC7 -S21400BF0009B202004A43121218B28446824245DA47 -S21400BF100A27F05F07004F433F12BC4500DBB1E045 -S21400BF205746C01B41439B1A1BB21802C01A09127F -S21400BF30B84B9847FF210840091A7279D208424345 -S21400BF40F378DB084B43D3181A02D218D201D21862 -S21400BF50D20D1F239C461A40B3885B059B0E4343B5 -S21400BF609A4673885B059B0E4B439A4453461B02C6 -S21400BF705344DB015344DB009B0E3779FF06FF0E6C -S21400BF807843B778FF06FF0E794341180802401839 -S21400BF90C0014018C00D6146084007E0B178C906E8 -S21400BFA0C80E73885B059B0EF278D2081F21089F87 -S21400BFB08F43390001435801974B0B400343D2028D -S21400BFC05B055B0D13430893079B002B00D168E7C6 -S21400BFD00123099A322A00DC63E71AAA0221525E7C -S21400BFE042440132944208DB1AAA0621525E4146B8 -S21400BFF0521A013A944200DC4EE71AAB00229B5ECE -S21400C00022A90B80424668460287048F013BE3184C -S21400C0108B801EAB5A884A80DB88CB80737B02936A -S21400C0205B460193059B0093069B028C04987B4F0E -S21400C030B847B379012B2ED01AAB04229B5E22A9F7 -S21400C0405A1C141B0C808B8042469B1A01334A46AE -S21400C0501021525E0EA93820095E52189B1ADA4348 -S21400C060D2171340069A94466344727B02925A464D -S21400C0700192059A00926A46128C22A90498674C8F -S21400C080A047DCE63179C906C80EB3885B059B0E6F -S21400C0907279D2088AE722A91AAA1388E3180B80B5 -S21400C0A093881B1B8B80737B02935B460193012353 -S21400C0B0009300236A46128C0498584FB847BBE793 -S21400C0C0737B02935B460193059B0093069B0D9A38 -S21400C0D01EA90498524CA047B1E6DA46109B994632 -S21400C0E0B3465B469B79002B05D10C9B002B02D1F7 -S21400C0F0099B322B0CDC0D9B002B02D01800494B01 -S21400C10098470F98484B98470698464B98476FE4D1 -S21400C11043466A469382968A1EAC1AAD2B88F3185D -S21400C1202380AB889B1BA3800222AB5E6380F31840 -S21400C130E3805B465A885B7B029353460193012358 -S21400C1400093002321000498344FB8470623E95E85 -S21400C1508A1B12B262800620235E9A4202DC0133FA -S21400C1601EAA53801EACE1805B465A885B7B029316 -S21400C1705346019301270097002321000498274D7A -S21400C180A8471AAA138823809388A380538801336C -S21400C190F3186380D388013B9E1BE6805B465A8873 -S21400C1A05B7B02935346019300970023210004987B -S21400C1B0A847A0E71D4B98470700012809D9022881 -S21400C1C03CD00023002204994846194CA047FFF7AC -S21400C1D01AFC29A95B46D86A164B9847012801D055 -S21400C1E0FFF711FC299BDD026D0D6E230EAA944607 -S21400C1F063441E8876091EAC20000F4B98473623F2 -S21400C2005A46D35C23703723D35CA372938EA381E4 -S21400C21037E0C046757A01001FF8FFFF055C000096 -S21400C220E96800006D0B010011A60000F98000000F -S21400C230D97E0000E1E40000457E000022AC20002C -S21400C240874B98475B469B8E23805B461B6B6360E1 -S21400C25036235A46D35C23720C22A35E29AE0022F4 -S21400C2600292804A01920A21625E00925A46126B3E -S21400C2705946C96A30007C4CA0470023F55E02236D -S21400C280F65E38235A46D35CDB073DD44B46188807 -S21400C2905988DB8801335B1A1BB24A469288013202 -S21400C2A0121A12B2521BD40FA2185210801880B263 -S21400C2B01CAA10809C1BE30F1B195B10C91889B2BF -S21400C2C05180013D45199580731ECB189BB2D380D3 -S21400C2D0022F00D19AE05B4600229A5E49461CA8CF -S21400C2E0624B984701246442002801D100F0ABFE5F -S21400C2F01EAB5A46D26A04991CA85D4DA84720007A -S21400C3005C4B9847FFF77FFB5B4600229A5E002354 -S21400C310494629A8584CA047002129A8574B9847BA -S21400C32007904B46988801301B88C01A00B2544BC1 -S21400C330984629009847CB0F59184B1006934B4642 -S21400C34006229B5E9A464B465C885346581C001B4A -S21400C35000B23100C047CB0F5B185B10E41AA4B2E2 -S21400C36023B21CAA5380B1B2884601396418D4801F -S21400C3709A4546DB1400ADB2424B9A463C4E0592B7 -S21400C3804B46B9461F002AE0002300935B46DB6A53 -S21400C39022AA04990598D0472388EB181BB223805D -S21400C3A0A288AA18A2804A460421525E9A4208DB56 -S21400C3B0022FE9D01EAB5A46D26A04990598B047B8 -S21400C3C0EAE74B46B9461F00638843441BB26380C6 -S21400C3D0E2884244E28006217A5E9A4210DB3B887D -S21400C3E0069A9B1A9BB21AB22280691E5B18A3801B -S21400C3F004217B5E9342E7DB3B004F469946D7E736 -S21400C400B94607981B4B9847FFF7FDFA01221440E0 -S21400C4101CA8091941801B19C3805B4600229A5E3E -S21400C4204946124B9847002816D15B4600229A5E72 -S21400C4300023494629A8104CA047002129A80F4BE5 -S21400C44098470400002300935B46DB6A22AA0499FF -S21400C4501CA80C4DA84752E701246442F2E7C046E8 -S21400C4605D810000187C00007D1A010035FE00008A -S21400C470D97E000011A60000EDA7000085A50000EB -S21400C480417C0100AD810000388A18AA1188091A7B -S21400C49089B211807D8A5488641B548093881B1A45 -S21400C4A09BB29380D088401BD08001335B1A1BB2AE -S21400C4B00A930B931800B84B98470590B74B9847CC -S21400C4C00025002806D15B4612255D5F0F3D6A42B7 -S21400C4D06A41D5B25B460021595E4B469B880133C4 -S21400C4E04A4612889B1A4A46D288013248464088F5 -S21400C4F0121A12B21BB2934200DD13005B100993AE -S21400C5008B4200DD0991099B002B00DC84E01AB207 -S21400C5100023494622A8A24CA047002122A8A14BEE -S21400C52098470F905B461020185E00231AA94C46C9 -S21400C530E25C5A540133082BFAD1A1461AAB1A888A -S21400C5405B465B8A59076BD584B21AA912190A8012 -S21400C5508A88190769D584B21AA9121B8A804A8864 -S21400C560990767D584B21AA912194A80CA88DB07C8 -S21400C57065D583B21AA9D31ACB80099B98466A461A -S21400C5801383138B9A461A1A12B2012329A8844CD5 -S21400C590A047002129A8834B984710905B4610209F -S21400C5A01B5E013B0D934146434500DA0D915B4609 -S21400C5B0DB8911936A4693835B465B7D0693002D69 -S21400C5C000D1BCE11222BB5E4A460221525ED21A5C -S21400C5D00D998C46624418A90620095E0C9191427A -S21400C5E000DD0C921CAA49460988118049468988B4 -S21400C5F0918018A902254D5F5B191BB25380D3802A -S21400C6000C9BAB4200DA9FE01EAC08954B46B14649 -S21400C6105A460E921E0047E001235B420F9381E7C5 -S21400C620099944186442A4B28FE7099944186442F1 -S21400C630A4B291E7099944186442A4B293E7099B0F -S21400C640C3185B429BB295E70422B35E5A1C514660 -S21400C650521A2280A380099A9A1A013210217B5E10 -S21400C6600EA92820095E5B18D31ADA43D2171340A6 -S21400C670059A94466344069A02924A4601924246B6 -S21400C68000926A46928B21000498474DA8471CAB3F -S21400C6905A8801325A80DA880132DA80089A0132E2 -S21400C6A008920C9B93424ADB0B99059D28003F4B52 -S21400C6B098477A8A089B9C46624412B2398A0EAB27 -S21400C6C01B8DC91809B20A9B05952800384DA84746 -S21400C6D080461CAB5A886280DB88E3800022B35E0B -S21400C6E02380013B5344A380069A02924A46019255 -S21400C6F00090059B6A46928B210004982A4DA84715 -S21400C7000623E25E0221735E0E991020095E5B1816 -S21400C7109A4299DA338853442380B38852469B1A48 -S21400C720A380069B02934B460193012300930023AC -S21400C7306A46928B210004981B4DA84784E7320076 -S21400C7404E460E9B9B4691461222BB5E4A460621EB -S21400C750525ED21A0D99521A18A902254D5F9542BB -S21400C76000DA15000C990A00A94201DB0132150017 -S21400C7705B191BB21CAA5380D38018AB06229B5EA3 -S21400C7809D4200DD99E01EAC08954B46B1465A46E0 -S21400C7900C921E0041E0C046590E010059A600004A -S21400C7A0EDA7000085A50000055C000089100100CB -S21400C7B0BDA500000422B35E5A1C5146521A2280C0 -S21400C7C0A380099A9A1A013210217B5E0EA92820AE -S21400C7D0095E5B18D31ADA43D2171340059A9446BB -S21400C7E06344069A02924A460192424600926A467C -S21400C7F0928B21000498AF4DA8471CAB5A88013293 -S21400C8005A80DA880132DA80089A013211000892DA -S21400C8100EAB2E229B5E99424ADC0B99059D2800A2 -S21400C820A54B98477A8A089B9C46624412B2398A7E -S21400C8300EAB1B8DC91809B20A9B059528009F4DA3 -S21400C840A84780460022B35E2380013B5344A38062 -S21400C8501CAB5A886280DB88E380069A02924A46BE -S21400C86001920090059B6A46928B21000498914D98 -S21400C870A8470623E25E0621735E0C991020095E27 -S21400C8805B1A9A4296DD338853442380B388524617 -S21400C8909B1AA380069B02934B46019301230093A9 -S21400C8A000236A46928B21000498824DA84781E7B0 -S21400C8B032004E460C9B9B4691466B46998E1CACAE -S21400C8C04B465A8801328A186280DB88013B5B1A25 -S21400C8D0E3804B4600229B5E23805A46128A013A2A -S21400C8E09B18A380069B02930196012700970023BE -S21400C8F06A46442152181288210004986D4DA847B4 -S21400C9004A460421525E59460B8AD31A01332380C5 -S21400C910A280069B02930196009700236A46442154 -S21400C9205218128821000498A8471098644CA04713 -S21400C9300F98A0470598634B9847FFF782F84B4639 -S21400C9400021595E1CA801804B4604229A5E828014 -S21400C95018AB02241C5F7B8A1B191BB24380C38062 -S21400C9605B4612201B5E042B2BD0082B45D00022E2 -S21400C97016210EA8844661440A70172161440A7085 -S21400C980022B2CD10132143363441A7016230EAADC -S21400C990944663441B78002B04D1173363441B78FA -S21400C9A001255D4001231D4014AB1D70250018AB0A -S21400C9B006229B5E9C42B8DC1CAC3F4B9A46B046B7 -S21400C9C051E00D9A944661441CAA918000221621DB -S21400C9D00EA8844661440A70172161440A70012B30 -S21400C9E010D0032BD2D1023B16220EA98C466244ED -S21400C9F01370172262441370C8E70D99521A1CA9C7 -S21400CA000A80E3E7012216330EA98C4663441A70A7 -S21400CA10BCE70B99059E3000D0477A8A521912B2AD -S21400CA20398A0EAB1B8DC91809B20A9B05963000D1 -S21400CA30224EB047069A0292424601920090059B0B -S21400CA406A46928B210004981A4EB04763880133D9 -S21400CA506380E3880133E38001350EAB2E229B5EB4 -S21400CA609D4200DD61E714AB1B78002BD1D1163355 -S21400CA700EAA944663441B78002B09D00223E25E7C -S21400CA804B4602215B5E0D998C4663449A42C0DD9C -S21400CA9017230EAA944663441B78002BD6D0022395 -S21400CAA0E25E4B4606215B5E0D995B1A9A42CDDB31 -S21400CAB0AFE7C046055C000089100100BDA5000078 -S21400CAC011A600006D0B01004C2398465B464246BB -S21400CAD09B5E1CAD00260296BC4A01925A464E202A -S21400CAE0125E00925A46126C2800B94CA04722AC3F -S21400CAF0268066802B88013BA3806B88013BE38001 -S21400CB001EAD50235A46D25C2B0021004846B14F3A -S21400CB10B8472A8848235946CB5AD21892B2238857 -S21400CB20D31823806B884A215846415A5B189BB21B -S21400CB30618859186180A1885218A280E2889B18E3 -S21400CB40E38029AD2800A44B98475B461B6C6B60BE -S21400CB505B4642469B5AAB815B4602329B5A6B81D0 -S21400CB6046235A46D35A2B804423D35C2B72009616 -S21400CB70D36B2A0004992000984CA047FEF76CFF60 -S21400CB80069B01375246BA1A01350799691A09B247 -S21400CB9012B28A4200DD0A0052109A4200DD069A5E -S21400CBA0059B9918099B013308981B1A01340B98AA -S21400CBB0201A00B21BB2834200DD03005B1007930D -S21400CBC08B4200DD07914B461E8A1AA90B889B1BD9 -S21400CBD098B208804B465C8A4D882D1B4D808B880A -S21400CBE09B1B9BB28B80CD882C1BCC8001331B1AE1 -S21400CBF01BB21E00089312B2012316A922A8784D74 -S21400CC00A847002122A8774CA0470E90079F3AB26B -S21400CC10002318A929A8A847002129A8A0470F90F3 -S21400CC2009963000704B984705905B4618229B5E2D -S21400CC305A46D28A119269460A835A46527F9246CB -S21400CC400A9A002A00D09BE1013B1093BB4200DA0F -S21400CC5010974B4612229B5E18A902200A5ED21A33 -S21400CC6010988446624414000C921CAA088810800F -S21400CC70898891801AA90227CF5FDB191BB25380DF -S21400CC80D380BC4200DA82E01EAC5B460D932EE0F9 -S21400CC9018AB04229B5E5A1C551B2580A380079A5E -S21400CCA09B1A01334A461021525E0EA93020095EB7 -S21400CCB052189B1ADA43D2171340059A94466344D7 -S21400CCC052460292424601920A9A00926A46128B95 -S21400CCD021000498454DA8471CAB5A8801325A805B -S21400CCE0DA880132DA8001370C9BBB424DDB0999AA -S21400CCF0059E30003E4B98474B465A8AD21912B2D0 -S21400CD00198A0EAB1B8EC91809B2089B3000394D24 -S21400CD10A8470A901CAB5A886280DB88E38018AB71 -S21400CD200B9300215B5E23806A46958B013BEB18D4 -S21400CD30A3805246029242460192009033006A4611 -S21400CD40128B21000498294EB0470623E25E0B9B07 -S21400CD5002215B5E0D991820095E5B189A4297DAED -S21400CD6018AA1388EB18238093885B1BA38053466E -S21400CD700293434601930123009300236A46128BD5 -S21400CD8021000498194EB04782E70D9B9B464B4600 -S21400CD9012229B5E18AA0627D75FFF1A109ABF1AA0 -S21400CDA00C990A00B94201DB01321700DB191BB2ED -S21400CDB01CAA5380D3801AAB06229B5E9F4200DDDE -S21400CDC09AE01EAC5B460B9347E0C046187C00001A -S21400CDD07D1A0100D9FE00005D810000AD810000D3 -S21400CDE0EDA7000085A50000590E0100055C0000B7 -S21400CDF089100100BDA5000018AB04229B5E5A1CDA -S21400CE00551B2580A380079A9B1A01334A4610219A -S21400CE10525E0EA93020095E52189B1ADA43D217CA -S21400CE201340059A94466344524602924246019243 -S21400CE300A9A00926A46128B21000498894DA847E8 -S21400CE401CAB5A8801325A80DA880132DA80013700 -S21400CE500EAB36229B5E9F424CDC0999059E300045 -S21400CE60814B98474B465A8AD21912B2198A0EAB92 -S21400CE701B8EC91809B2089B30007C4DA8470A9043 -S21400CE800EAB28215B5E23806A46958B013BEB1830 -S21400CE90A3801CAB5A886280DB88E38052460292ED -S21400CEA042460192009033006A46128B2100049895 -S21400CEB06C4EB0470623E25E0EAB2E215B5E0B99EE -S21400CEC01820095E5B1A9A4296DD18AA1388EB189A -S21400CED0238093885B1BA3805346029343460193AB -S21400CEE00123009300236A46128B210004985D4EAE -S21400CEF0B04781E70B9B9B466B4640229B181B88DE -S21400CF001CAC18AD6A8801329A186280EA88013A29 -S21400CF10D31AE3800022AB5E2380013B5A46128B75 -S21400CF20D318A380534602934346019301270097E4 -S21400CF3000236A4644215218128821000498494E5C -S21400CF40B0470423EA5E531C5946098B5B1A2380BC -S21400CF50A2805346029343460193009700236A46F5 -S21400CF6044215218128821000498B0470E98404C6D -S21400CF70A0470F98A04705983E4B9847FEF7CFFD71 -S21400CF801CAA18AB198811809B8893801AA90223C3 -S21400CF90CE5E4B465B8A9B191BB25380D38006221B -S21400CFA08B5E9E42E2DC314B9B462E4F0999059CD8 -S21400CFB020002D4B98474B465A8A921912B21AAD4A -S21400CFC0198A2B88C91809B2089B05942000D847EF -S21400CFD01CAC52460292424601920090059B6A465D -S21400CFE0128B21000498B847638801336380E38876 -S21400CFF00133E38001360622AB5E9E42D6DDB5E7FE -S21400D000079C0C9420001C4B98470A9001220D9216 -S21400D010002C01DDFDF7A3FE0A98164B9847079FE4 -S21400D0207F43002F01D1FDF75FFF0E9A11007800B5 -S21400D030944660440B889B0913700231013281428A -S21400D040F8D1FDF751FF5B4600229A5E0023494661 -S21400D05029A80A4CA047002129A8094B9847040094 -S21400D060FFF746F9055C000089100100BDA5000029 -S21400D07011A600006D0B0100590E0100EDA700007F -S21400D08085A50000F0B583B004000E00170001AAC5 -S21400D09011781F208143117011884048014011808B -S21400D0A000215170A56821781F220A40111F02290D -S21400D0B00DD9072A22D0082A34D0092A48D00A2AAD -S21400D0C05ED00B3A032A15D801AA138012E0207806 -S21400D0D0C006C00E324B98472368DB025B0D5F43E9 -S21400D0E0BE19C008C0B27043281801AB02781A7087 -S21400D0F042785A7001AB188803B0F0BD324007235F -S21400D1009A1A2068C002400D0730C0104743F61038 -S21400D110ED19AE19317A063B93400B40134101AA34 -S21400D1201380E7E7053A3240520006239A1A206831 -S21400D130C002400D033080104743B610ED19AE19FB -S21400D140317C033B93400B40134101AA1380D1E787 -S21400D150012333409B00053AD31A2068C002400DD5 -S21400D1600130401047437610ED19AD194035297847 -S21400D1700B329A400A401A41130001AA1380B9E7FD -S21400D1802368DB025B0D7B43AD19ED188023DB00C3 -S21400D1909C4665442A7801AB1A80ABE71FF8FFFF70 -S21400D1A07D7E0000F0B587B00400019286680078A6 -S21400D1B01F230340052B0AD00B2B12D00C2B28D094 -S21400D1C00D2B47D0FF200E2B64D007B0F0BD236890 -S21400D1D0DB025B0D5A4351184A00511871188878C3 -S21400D1E0F3E707250D40043B5D1B2368DB025B0D60 -S21400D1F00733DB10019A5A43C910B218535C01205A -S21400D200A84018402841C3B2584258414042C0B2D4 -S21400D210DBE7002302A80370553343705533837051 -S21400D220FF2002ABD87003250D406D0006235D1B62 -S21400D2302368DB025B0D03339B10019A5A43891067 -S21400D240B218525C0323AB4013402B41034002AAA2 -S21400D250D05CBAE702AB9C46124B654685CB85C5CB -S21400D2601B682B6001250D40AD0004235D1B236861 -S21400D270DB025B0D01335B10019A5A434910B2186A -S21400D280525C0F23AB4013402B41FF2213406246F3 -S21400D290D05C9AE72368DB025B0D019A5A4371184B -S21400D2A0885C92E71C8A0100F0B5DE4657464E467B -S21400D2B04546E0B583B004000822835E1B02436245 -S21400D2C00A22835E1B0283620C23C75E3E4B9B468C -S21400D2D00A213800984705B20A2676426E43F619A8 -S21400D2E0ABB29846584200B2384B9A4698478146A9 -S21400D2F00135ADB2684200B2D04701905A27424687 -S21400D300B81A00B2D04780467D1B28B2D047070027 -S21400D3100A25AD1B4B466B431800019B7343C01890 -S21400D3200A21D847E06243465D4330007843281818 -S21400D3300A21D8472063A07C254B98473426012530 -S21400D34003002B40A05D012290431843A055A07C0B -S21400D350204B984705406D00A05D02239843054387 -S21400D360A555A27C131F022B28D93421635C042008 -S21400D37083436354236823621F2313402376A388C2 -S21400D3805B05DA0A144BA1690B401343A361E288DC -S21400D3905201DB02DB0E13436383E18980204002E7 -S21400D3A0094B9847E086FF23A375238AA38203B020 -S21400D3B03CBC90469946A246AB46F0BD3421EBB243 -S21400D3C0042003436354D5E7757A0100CD080100B5 -S21400D3D0AD7E0000C17E0000FF03E0FFF0B5DE4634 -S21400D3E057464E464546E0B587B0009002910592F6 -S21400D3F01D0010AB1B889B466A4F0A212800B847C1 -S21400D40004B2661C0A204042604345192000664B61 -S21400D41099469847804630B2C84782465A3420B26A -S21400D420C84704005A3630B2C84781460A26761BDB -S21400D4304046704353466B43C0180A21B84780469F -S21400D44074434B465D4360190A21B847119B00227E -S21400D4509A5E119B0227DF5F54425B465C432412B0 -S21400D46024B22300434399467B425D466B431B121E -S21400D4701BB24146594396B24D466D1AED137519C7 -S21400D4802DB2AA46454665434343BCB20395ED1804 -S21400D490ED130194A44665442DB2029CA21A5C4684 -S21400D4A06243121212B2140044430294611AC91362 -S21400D4B0711809B244466243049294466344DB13EF -S21400D4C0019CA44663441BB2059CE71B5C4667436D -S21400D4D03F123FB244467C43A0464C464246A41AFE -S21400D4E0E2139146B1444A4612B291467843039FEE -S21400D4F03F18FF13E34667443FB2029A4446121BA6 -S21400D500D2139046464436B2049A94466044C013FA -S21400D5105A46141824B252468A4500DD0A1C101CCE -S21400D52012B24A4500DD4846021C00B2B04200DD99 -S21400D530321C0098028050468A4500DA081C011CFE -S21400D54000B2484500DA49460A1C09B2B14200DA80 -S21400D550321C00998A80291C9D4200DD191C0A1C79 -S21400D56009B2B94200DD3A1C111C12B2A24200DD1B -S21400D570211C009A51802A1C9D4200DA1A1C131C9A -S21400D58012B2BA4200DA3B1C1A1C1BB2A34200DAE3 -S21400D590221C009BDA8007B03CBC90469946A24607 -S21400D5A0AB46F0BD757A0100CD080100F0B5DE4649 -S21400D5B057464E464546E0B58BB004003823C75E56 -S21400D5C0FF231A003A403A21465E33406F2A7EDC3B -S21400D5D03C22815E4942C917803FFFB26F2B00DDB7 -S21400D5E087E03E23E25E5242D3179846803EF6B26C -S21400D5F0257DED06EB0E0093A38A5B059B0E01933B -S21400D600637DDB080293A37D03933423E35C994692 -S21400D6105B0700D481E023684422A25C9446514311 -S21400D620226C92465144581809AA0578157040781D -S21400D63050700420225E604642434046504302003B -S21400D640206C804690449A46C24408A855462D78D9 -S21400D650057055466D7845708A189818824607A852 -S21400D66055462D78057055466D78457048468007B6 -S21400D67000D484E0604601381B18595C8946414650 -S21400D680595C8A46985CFF21CB1B4A465A4394460F -S21400D690039A7A4362441212434355467D43AC468E -S21400D6A063441B12DDB2AC460B408D1B6B4311402E -S21400D6B071435B181B12A375D2B2052A00D9DCE0B1 -S21400D6C0002362460026052A00D9DAE0ABE0902A5D -S21400D6D00CDD3C21425E01320421405E0121824283 -S21400D6E000DB00217F22D71BFFB277E7FF27002150 -S21400D6F074E7902B0DDD3E22A35E01330622A05E6A -S21400D7000122834200DB002290467F239E1BF6B256 -S21400D7106EE7FF26002398466AE718239C46A44433 -S21400D72065468BB29B46238A3E21625EA18F594492 -S21400D73009B204956046AF4DA946A84709AB1880C4 -S21400D74042466B46DA8292B29046238AE28F424481 -S21400D75012B23C20215E049D2800C84708AB188002 -S21400D760238AE28F424412B2A18F594409B228009C -S21400D770C84707AB18803423E35C9B075BD4FF23C2 -S21400D780A3753B00002B00D08DE009AB1D78ED069D -S21400D790EA0E00921A885205920E01925B78DB0818 -S21400D7A00293002F00D0B7E007AA1778FF06FF0EF7 -S21400D7B013885B059B0E5278D208002E00D1F1E04C -S21400D7C0FF2E00D100E1FF21891B009D75434F43CA -S21400D7D0EF193D02ED19ED01ED192D01ED0E207D3D -S21400D7E01F27B84305432575019870434B43C0185F -S21400D7F003021B18DB011B18DB009B0E5B01A08AD3 -S21400D8007D4D28400343A382029846434A43B618F8 -S21400D81032029219D2019619F60DF6005B055B0FDF -S21400D8201E436675012318000BB03CBC9046994613 -S21400D830A246AB46F0BD3E23E25EA18F594409B234 -S21400D840049D28006D4B98478146E28F424412B2F1 -S21400D8503C23E15E2800694B98478246E28F4244AB -S21400D86012B2A18F594409B22800644B984734235A -S21400D870E35C9B0700D506E781E76346052B00D8E7 -S21400D880FF263B00039A052A00D800234A46052AAD -S21400D89000D8FF235246052A00D80027052800D9BD -S21400D8A070E7FF276EE7FF2B00D17AE7FF22D21A38 -S21400D8B009A84178C9085143029D5D43AC468C4493 -S21400D8C0614609026144C9016144C90D1F25AC4681 -S21400D8D00D40029501884905890E5143019D5D431F -S21400D8E0A84641440D02A84688444546ED01A84690 -S21400D8F04144C900890E01910178C906C90E4A4300 -S21400D900009D5D4352191502AD18ED01AD18ED0DE1 -S21400D91063461D40009544E7FF2F39D0FF23DB1BED -S21400D920984608A84278D2087A4307A94B78DB08BD -S21400D93045466B43D3181A02D218D201D218D20D1C -S21400D9401F239C461A4003885B059B0E7B43994623 -S21400D9500B885B059B0E6B434B441D02A9469944FE -S21400D9604D46ED01A9464B44DB009B0E0078C006F1 -S21400D970C00E47430978C906C90E40464143791888 -S21400D9800F027F18FF017F18FF0D61460F4014E756 -S21400D99008AA1778FF06FF0E13885B059B0E5278C1 -S21400D9A0D2080AE7257D1F218D432F43277559018D -S21400D9B0A38A114803400B43A382D2005B055B0F8A -S21400D9C01A43627501232EE7237D1F229343009D91 -S21400D9D01D432575019B5A01A38A07490B40134333 -S21400D9E0A382029AD6005B055B0F3343637501235F -S21400D9F019E7C04685D000001FF8FFFFA5D100003C -S21400DA00F0B5CE46474680B583B080466B46D98093 -S21400DA10514B1988002900D19BE0504B1F683B00F2 -S21400DA20203301398AB2D100891889004431791827 -S21400DA304B4802E024338B4205D01A688242F9DB59 -S21400DA40013A1A60F6E70025464E434B994607E032 -S21400DA5001282AD00135ADB24B461B88AB422FD9E0 -S21400DA60EC006419A4003C196068B0470028EFD1A8 -S21400DA7063684345EED120896B46DB88C01A424274 -S21400DA804241D0B20028E5D0236A626994466344D6 -S21400DA90FA229200934211DD2262002C10D0200060 -S21400DAA003B00CBC90469946F0BD414660682E4BCC -S21400DAB09847030058425841C0B2E3E72362ECE7B8 -S21400DAC0254B1A88012A13D93B002433023A91B217 -S21400DAD0CA00521892004832BA183C0002E02433BA -S21400DAE0934206D0196A206A8142F8DA1C00F6E7EB -S21400DAF03C006368002B02D020001C4B98471C4B50 -S21400DB0098470500002363616B46DA88414620008B -S21400DB10184B984700280DD0002323626369002B1A -S21400DB20BDD12800144B984760610028B7D1012367 -S21400DB306361B4E720000D4B9847202120000F4D6D -S21400DB40A84724212000A84780231B062362002420 -S21400DB50A5E70024A3E7C046B62B0020844D00208E -S21400DB6002000080F98000003D7F01001DE60000F5 -S21400DB7025F7000035E5000041F70000E50F01003D -S21400DB80F8B5D646474680B50700154B1B6898463D -S21400DB90144B1B88002B1ED00025134B9A46114EA3 -S21400DBA00FE0002B02D02000104B984720212000C9 -S21400DBB0D04724212000D0470135ADB23388AB4290 -S21400DBC009D9EC006419A40044446368BB42E8D059 -S21400DBD0002FF1D1E5E70CBC90469A46F8BDC0464A -S21400DBE0844D0020B62B0020E50F01001DE6000046 -S21400DBF0F0B5C64600B50400204B1B68002B06D0C7 -S21400DC0000201F4B98471D4B18681E4B9847E00096 -S21400DC10001980001C4B9847184B18601B4B984700 -S21400DC2000281FD0154B1B68002B22D0184B1C80D9 -S21400DC30002C14D00024114F164E9846E5002D19DE -S21400DC40AD003B6858192021B0473B68581924217D -S21400DC50B0470134A4B243461B88A342EED804BCA6 -S21400DC609046F0BD054B1A6800230B480B498847C1 -S21400DC70FEE70022064B1A80F1E7C046844D0020DE -S21400DC8081DB0000D10A0100090A0100151400001A -S21400DC90B62B0020E50F0100048801001D140000CB -S21400DCA030B585B00C0015000800304B9847031EB1 -S21400DCB022D12378DB06DB0E043BDBB200200A2BE6 -S21400DCC01FD82368DB025B0D9B02294A29680A409D -S21400DCD013432B6063885B095A0169881F230B4036 -S21400DCE013436B802378DB06DA0E2B781F218B43D9 -S21400DCF013432B70013004E0012804D00020022BCF -S21400DD0023D005B030BD0222210002A8194B984747 -S21400DD1000280AD02B78DB06DB0E1C331F221340AC -S21400DD2001200A2BEDD90020EBE701AB04222900E5 -S21400DD3002A8114CA047040002A8104B9847002CDC -S21400DD40F1D1019B042BEED1E4E7094A2B681A4077 -S21400DD508023DB0013432B6020226A80C0321340EE -S21400DD600B2213432B700130CBE7C046F98000002E -S21400DD70FF03E0FFC103010025030100F5020100D7 -S21400DD8070B50D00CC69002C16D02068002804D091 -S21400DD900A4B984720680A4B98476068002801D0CD -S21400DDA0074B9847A068002801D0054B98472000ED -S21400DDB0034B98470023EB6170BDC046F502010097 -S21400DDC0D10A0100F0B5DE4657464E464546E0B558 -S21400DDD085B006000C008B7A012B18D0002B00D0E3 -S21400DDE04AE14B689B68002B00D143E1087BC006E4 -S21400DDF0C00E031F022B5AD863689B68236101205C -S21400DE0005B03CBC90469946A246AB46F0BD486875 -S21400DE109F4B98479F49A04B984700281AD102224B -S21400DE20616802A89D4B9847002813D1E369002B30 -S21400DE3012D0E56908209A4B98472860994B984776 -S21400DE4000281ED02A680023002A20D12100300096 -S21400DE50954B98470020D3E70C30914B9847E061EC -S21400DE60904B9847002805D1E26900238F489049D7 -S21400DE708847FEE7E0690028ECD00C218D4B9847D8 -S21400DE80D7E72A680023894889498847FEE702A918 -S21400DE90595CD1540133082BF9D1207BC006C00E43 -S21400DEA0031F022B03D8A37A002BA5D0EBE0C31FD9 -S21400DEB0032B07D90B38032800D9D5E000232361AC -S21400DEC001209DE77C4B98470700E369002B0FD0A5 -S21400DED0E5690220B840724B98476860714B9847D6 -S21400DEE0002820D16A680023704871498847FEE7F9 -S21400DEF00C206B4B9847E0616A4B9847002805D189 -S21400DF00E269002369486A498847FEE7E069002815 -S21400DF1005D121003000644B9847002070E70C21A3 -S21400DF20644B9847D4E70123BB401F0018005C4BA6 -S21400DF309847A8605B4B9847002847D06B68002B33 -S21400DF404AD0AB68002B47D0A37A012B4AD063682F -S21400DF509868002F00D183E0002398463F339B4605 -S21400DF60203B9946554B9A46414601944A006B68B9 -S21400DF709C46624443789C0800948678F6084C4693 -S21400DF8026400478E408A44614784B469C43A046F2 -S21400DF90644643461C4314705B46009C1C40630169 -S21400DFA09C46138854462340644623431380F60059 -S21400DFB01B0A0724234033435370C378AA6853547C -S21400DFC0013104308F42D1D1019C49E0AA68002378 -S21400DFD0364837498847FEE721003000324B9847DD -S21400DFE000200DE704212868354B9847002F37D0CE -S21400DFF00026344B9A463F239946203B98460023FA -S21400E000042202A92868D04772006B689C466244C6 -S21400E01002AB5B789908009102A98978C908404646 -S21400E02001408B4602A90878C008117843469943F8 -S21400E030084310704B4600991940480113881F4941 -S21400E0400B40034313805946C9005B055B0F0B4327 -S21400E050537002ABDB78AA6893550136B742CED12F -S21400E060002323610120CBE6210030000E4B9847A9 -S21400E0700020C5E60020C3E6087BC006C00E031FCE -S21400E080022B00D913E7002323610120B8E6C0461F -S21400E090890401003C8A01003D7F0100C1030100A4 -S21400E0A0090A01001514000081DD00000488010043 -S21400E0B01D140000E50F01007D7E00001FF8FFFF25 -S21400E0C06703010025030100F0B5DE4657464E46BD -S21400E0D04546E0B58BB00D001700019314AB002643 -S21400E0E09E5F0A7B1F2313401A1F022A36D88B7A9C -S21400E0F00020012B06D00BB03CBC90469946A246A9 -S21400E100AB46F0BDCB699946087BC006C00ED54B22 -S21400E11098478046E968C902490D019B4B43D919C7 -S21400E1204143C91004314B461868CF4B984703004B -S21400E1300020002BDFD14346D808C0B24643002358 -S21400E14006934B46186806AB32001599C74CA04795 -S21400E150069B9E1B70427041C0B2CCE71A000B3A79 -S21400E160032A2DD9073B0020032BC4D8087BC00602 -S21400E170C00EBC4B9847814601238340013B9BB2AF -S21400E18098462B7BDB06DB0EDAB2082A00D135E197 -S21400E19000D8FEE0DAB2092A00D146E10A2A00D009 -S21400E1A05BE1EB68DB025B0D9AB21BB29A46019C00 -S21400E1B05443E7198023DB009B46BB440024FEE063 -S21400E1C0002104AB1970FF225A7005AB1970553147 -S21400E1D0597055319970DA7006AAA54B13CB13C245 -S21400E1E01B6813602989002E11DD080A159C721E13 -S21400E1F092B201329446520062442300A44662441E -S21400E200019C1970587003339A42FAD10194287B06 -S21400E210C006C00E934B9847814601238340013BBE -S21400E2209BB298462B7BDB06DB0EDAB20C2A4BD071 -S21400E23011D9DAB20D2A5DD00E2A70D1EB68DB0256 -S21400E2405B0D99B21BB20293019C4C43E419002764 -S21400E25000239A4615E00B2A61D1EB68DB025B0DC2 -S21400E260DA10511C02915B0701D113B20293029B94 -S21400E270019C5C43F91064180723BB431F0004ABE2 -S21400E2809A46EB699B4602987A4B98470390AB7A7E -S21400E290002B4ED16B6899680C19002E74DD159B07 -S21400E2A0981C013EB6B27200921905329C46624432 -S21400E2B01F21FF239B4608234E469B1B5BB2019300 -S21400E2C0AC461500C1464BE0EB68DB025B0D9A10CE -S21400E2D0511C02919B0701D113B20293029B019C31 -S21400E2E05C43B9106418BBB203279F437F0005AB9D -S21400E2F09A46C6E7EB68DB025B0D5A10511C02918A -S21400E300DB0701D413B20293029B019C5C43791095 -S21400E3106418FB0709D5002706AB9A46B1E7002725 -S21400E3200024002302939A46ABE7042706AB9A46DE -S21400E330A7E7211D5B4618684B4B98475B46186855 -S21400E3400023029A0399494CA047039CA5E7DBB239 -S21400E3500370BF1B7FB2002F13DB0330854213D040 -S21400E360237898464B46BB40424613403B416246A4 -S21400E370127B0A400E2AEAD05A4613405246D35C15 -S21400E380E6E7019F0134E8E703983B4B98470120F6 -S21400E390B1E6072A61D1EB68DB025B0DDA10511C8F -S21400E3A08A465B0701D113B29A465346019C5C43EA -S21400E3B0FB10E41808239B46A3440724BC43EF69DC -S21400E3C050462C4B98470290AB7A002B56D16B6880 -S21400E3D099685944002E78DD1598013EB6B201368C -S21400E3E073009E1984466644FF239A4608224B46CD -S21400E3F0D21A53B20193B4464E464FE0EB68DB02A6 -S21400E4005B0D9A10511C8A469B0701D113B29A469F -S21400E4105346019C5C43BB10E41810239B46A34460 -S21400E420BFB20324BC436400C9E7EB68DB025B0DA4 -S21400E4305A10511C8A46DB0701D413B29A4653463B -S21400E440019C5C437B10E41840239B46A3440124B4 -S21400E45027407C427C41A400B1E700239B46002471 -S21400E4609A46ACE77D7E00006703010025030100A5 -S21400E4702C8A0100590E01006D0B0100594604312B -S21400E4803868144B98470023524602993868124D54 -S21400E490A84702999EE70330604516D00A7843469F -S21400E4A0A34013402341524613405A007D68525BF6 -S21400E4B00270120A4270BA68D35C8370A41B64B2FE -S21400E4C0002CE8DA019C0131E5E70298034B9847F7 -S21400E4D0012010E667030100250301006D0B010013 -S21400E4E0F0B583B001900D000A781F2313400B701F -S21400E4F00D480E4B9847041E14D00D4E05E000271D -S21400E50021000948B047041E09D02368002BF6D026 -S21400E5102A0001992000984707000128F0D138000A -S21400E52003B0F0BD0027FAE7D04C00200506010036 -S21400E5301D060100F0B583B00700009102810800B7 -S21400E540254B9847B8720023FB6101280ED0009B2C -S21400E5507B602248224B9847041E36D000250C23A9 -S21400E5609C46BC44634601931E4E10E0009C20006F -S21400E5701D4B984701301D4B9847786021001C4B77 -S21400E5809847E6E721001548B047041E18D02368D0 -S21400E590002BF7D06268002AF4D0019A0099200078 -S21400E5A0984705000128EDD10023BB613B613C6024 -S21400E5B0390020006368984705000128E2D101E091 -S21400E5C0002D03D0280003B0F0BD00252021380020 -S21400E5D0084B9847F6E7C046F9800000D04C00206C -S21400E5E0050601001D060100617F0100090A010001 -S21400E5F0517F0100E50F010070B582B00568AC6878 -S21400E600002C09D0069E0196009313000A00010014 -S21400E6102800A04702B070BD0020FBE710B504003C -S21400E6200068002807D0C368002B01D02100984757 -S21400E630A37A012B00D010BD6068024B98470023D8 -S21400E6406360F8E7D10A010010B50B480B4B9847FA -S21400E65004000B4B9847002807D0002C03D010214D -S21400E6602000084B9847200010BD220000230648D3 -S21400E67006498847FEE7C046D04C002065050100E5 -S21400E68015140000E50F0100048801001D140000A9 -S21400E69010B510210C480D4B98470D4B9847002895 -S21400E6A008D00C4B03600C4B43600C4B83600C4B48 -S21400E6B0C36010BD0B4B98470028FAD100220023F8 -S21400E6C009480A498847FEE7D04C0020510501005A -S21400E6D049E60000A1DC0000C5DD0000C9E000003E -S21400E6E081DD000015140000048801001D140000E0 -S21400E6F010B54368984710BD10B50468A04710BD14 -S21400E70010B584B013000A0001A9054CA0470023E9 -S21400E710002801D001AB1B88180004B010BDC0460D -S21400E720F9E6000003780A78934201D0981A7047F9 -S21400E73040784B78C01AFAE703880A88934201D0DB -S21400E740981A704740884B88C01AFAE700880B88EA -S21400E750C01A7047F0B587B00C000B1E18D00669BB -S21400E760B369994217D0728A9205920D002A62DD2B -S21400E770B7683B68C81A0590BB8898420DD8002336 -S21400E7800393BA7C002A1AD1FB881B18B461F36184 -S21400E790180007B0F0BDF369FAE70021013189B22D -S21400E7A0914248DA8B005B189B000393FB181868AD -S21400E7B0201A05909D88A842F0D81F00E1E7012A9C -S21400E7C01BD0022A1ED00023032ADFD13A8AB9685A -S21400E7D01B4B0093022305A81A4FB847002828D0E1 -S21400E7E0039BB268944663441D009B68C01A4008A9 -S21400E7F0EB68185CEB88C318C8E7FB68185CFB88F6 -S21400E800C318C3E73A8AB9680D4B0093022305A8DC -S21400E8100C4FB84700280AD0039BB268944663445E -S21400E8201D009B68C01A4008EB88C318AEE700239B -S21400E830ACE70023AAE7B4610023F361A8E7C0466B -S21400E8404DE70000891B0100F0B5DE4657464E46F0 -S21400E8504546E0B599B009291CD00569CD4B9847C7 -S21400E860002801D100F0DBFCC0006B681E182B7D71 -S21400E8709B0711D1002E01D100F0D4FC30680003B4 -S21400E880030B2868C01819B03CBC90469946A246AF -S21400E890AB46F0BD1731E0E7337974795C43002C62 -S21400E8A001D100F0C2FCEB7C9B061B0FDAB2022AF9 -S21400E8B000D18DE008D9DAB2032A00D18BE0042A11 -S21400E8C004D10134640801E0012A7ED0B24B1868F6 -S21400E8D0B24B984784420FD9AF4F21003868B04BEF -S21400E8E098473860AF4B9847002877D0AA4B1B68EC -S21400E8F0002B01D100F09CFC33681B031B0B2A681D -S21400E900D218A54B1B68039333790D931BB2119352 -S21400E910737910931BB20E93EB7C9B061B0FD9B238 -S21400E92000910691032960D09F490A609F4A1370A0 -S21400E93000239F4A13709F4A13609F4A13709F4A92 -S21400E94013700D9F38009E4CA047050017903800A6 -S21400E950A0470190119B002B00DC5EE2964B1B78D3 -S21400E9600293964B1B789A468F4B1E68914B1868FD -S21400E9708E4B1B789946012349468B40013BDBB200 -S21400E9800B9308235B1A0C9310235B1A0A93884B8D -S21400E9901B789C462C003B00013B9BB201330F9337 -S21400E9A02A009B465A4409920023059308930021A7 -S21400E9B007934B469B009B46824B5B441293534601 -S21400E9C00493A84667464D4631E00734E4087DE7E1 -S21400E9D00334A4087AE70134640877E76E4B1A68B4 -S21400E9E00023794879498847FEE7013106919BE77D -S21400E9F003239C46C308072101404A19072A2FD83B -S21400EA00F35C0C9A511A0B4162461A401300002818 -S21400EA1002D0029A934231D040190293012101227A -S21400EA20079223700134099B9C4200D14BE1002FD2 -S21400EA302CD14B46082B0DD8654B5A469B5807934E -S21400EA409F4607239C46D5E70F239C46D2E7FF2325 -S21400EA509C46CFE70B9B9C46CCE701239C46C9E728 -S21400EA60F25C12029246F3185B7853449BB20A9A01 -S21400EA70511A0B4162461A401300C8E7012205925C -S21400EA8000220492013208920127C5E7012F11D017 -S21400EA900023022FC5D1049A013AD3B20493002B67 -S21400EAA000D00CE14B46082B00D9F1E0129B1B6806 -S21400EAB002939F46C308072101404A1C072A15D81F -S21400EAC0F35CC94308310B4101221340049A01321A -S21400EAD0D2B20492411C012B15D04B46082B00D90C -S21400EAE0ABE03C4B5A469B5802939F46F25C1202A0 -S21400EAF09446F3185B7863449BB2C94310310B41CC -S21400EB0001221340E2E70B2A05D00800029B0122EF -S21400EB100592012185E7CB08072211408A1D072AA6 -S21400EB2013D8F25C0223591A0A413D331A40049264 -S21400EB300730049B002B00D0BAE04B46082B24D8A5 -S21400EB40254B5A469B5802939F46F25C1202F318D6 -S21400EB505B789A1892B20A23591A0A4135331A403A -S21400EB600492E5E70323C708072101404A19072A4C -S21400EB7034D8F75D0C9A511A0F413B4039E0072311 -S21400EB80F1E70F23EFE7FF23EDE70B9BEBE701230E -S21400EB90E9E7C04655E70000B82B00204D0B010002 -S21400EBA0DD0D010015140000C02B0020BC2B00203A -S21400EBB0CC2B0020C82B0020C42B0020BD2B00200F -S21400EBC0590E0100648A0100048801001D1400002B -S21400EBD0408A0100888A0100AC8A0100F25D1202B8 -S21400EBE09446F7197F786744BFB20A9A511A0F41C4 -S21400EBF03B4040190293012205920892002701210A -S21400EC0007920EE70323CF08072008404219072A79 -S21400EC1017D8F75D0C9A101A07413B404819029323 -S21400EC20012205920892002701210792F9E60723A0 -S21400EC30E9E70F23E7E7FF23E5E70B9BE3E701237D -S21400EC40E1E7F25D12029446F7197F786744BFB297 -S21400EC500A9A101A07413B40E0E70323C70807213A -S21400EC6001404A19072A17D8F75D0C9A511A0F4126 -S21400EC703B40401902930122059208920027012189 -S21400EC800792CEE60723E9E70F23E7E7FF23E5E74A -S21400EC900B9BE3E70123E1E7F25D12029446F719C6 -S21400ECA07F786744BFB20A9A511A0F413B40E0E7AB -S21400ECB0029B01220592089202270121B1E6029BDF -S21400ECC001220592ADE6049B9A464546BC46079B44 -S21400ECD0002B14D1002901D0CC4B1860089B002BC8 -S21400ECE002D0CB4B62461A70059B002B02D0C94B54 -S21400ECF052461A700026009B02932F0023E0C64B54 -S21400ED006A46127A1A70E5E704230022072131408A -S21400ED1008256D1AED1A7103090C039884466144A0 -S21400ED20012098400300013BDBB2DB43AB40087890 -S21400ED300340AA401A430A70069A13009446664493 -S21400ED400137A74221D03A78029B00990329DDD1EA -S21400ED50072A18D89200B14B9B589F4604230222DC -S21400ED60D4E704230422D1E704230622CEE70423B3 -S21400ED700922CBE704230B22C8E704230D22C5E7AC -S21400ED8004230F22C2E70423C0E70F9A5A430F92C8 -S21400ED900E9B012B00DC34E2A14B1B681E00A14B2E -S21400EDA01B781A00099301239340013BDBB21293B0 -S21400EDB09246984B1B78984608239B1A0C93102370 -S21400EDC09B1A0E93944B1B780293904B1868904BAB -S21400EDD01978109B023B9BB201331393069C049454 -S21400EDE00D9B013B9BB21D00149323006B431593B0 -S21400EDF0002310930B930D930793089393000A93A5 -S21400EE00894A9C4662441692119B9B46434606934B -S21400EE10179B1D008C46B146CFE100230F93B7E742 -S21400EE20032308E0072306E00F2304E0FF2302E0A5 -S21400EE30129B00E00123C508072202409719072FFE -S21400EE401FD84F467D5D0C9FBA1A15412B40DBB28A -S21400EE50002802D0029A9A4221D0801902930122F9 -S21400EE600792089223700134644500D141E10029DD -S21400EE701DD1099B082BDBD80A9B6C4AD3580593F7 -S21400EE809F464F467F5D3F02BA464D446D785544D7 -S21400EE90ADB20E9FBA1A15412B40DBB2D8E701225D -S21400EEA00B920022069201320D920121D5E701292C -S21400EEB011D000230229D5D1069B013BDBB2069375 -S21400EEC0002B00D011E1099B082B00D9E0E0169B2F -S21400EED01B6802939F46C30807220240551C072D55 -S21400EEE016D84D46EB5CD24308321341012213403C -S21400EEF0069A0132D2B20692451C012B15D0099B08 -S21400EF00082B00D980E04A4B0A9A9B5802939F46EA -S21400EF104D46ED5C2D024B445B785B199BB2D243A9 -S21400EF201032134101221340E2E70B2A05D02800D5 -S21400EF30029B01220B92079294E7EB0807221540EA -S21400EF40AA1D072A14D84A46D35C0222551B2B4119 -S21400EF503D321A4006920730069B002B00D0BDE0DB -S21400EF60099B082B34D8334B0A9A9B5802939F462A -S21400EF704A46D25C12024B445B789B189BB20A222C -S21400EF80551B2B4135321A400692E4E703239A4676 -S21400EF90C508072303409A19072A1FD84A46525D18 -S21400EFA00C99CB1A1A4153461340DBB280190293D0 -S21400EFB001220B920D9200210792089252E7072336 -S21400EFC09A46E5E70F239A46E2E7FF239A46DFE7ED -S21400EFD0129B9A46DCE701239A46D9E74A46515DDA -S21400EFE009024D446A78521892B20E99CB1A1A4109 -S21400EFF053461340DBB2D9E703231EE007231CE089 -S21400F0000F231AE0FF2318E0129B16E0C82B0020FF -S21400F010CC2B0020BD2B0020C42B0020D08A010062 -S21400F020C02B0020BC2B0020148B0100F08A0100AE -S21400F030388B01005C8B01000123E90807222A4077 -S21400F040901907280FD84846415C0C98821A11413F -S21400F0500B40DBB2A819029301220B920D920021FD -S21400F06007920892FEE64846405C0002494449780A -S21400F070091889B20E98821A11410B40DBB2E9E7F3 -S21400F080032308E0072306E00F2304E0FF2302E043 -S21400F090129B00E00123C108072202409519072DA4 -S21400F0A00FD84D46695C0C9DAA1A11410B40DBB285 -S21400F0B08019029301220B920D920021079208926A -S21400F0C0D0E64D466D5C2D0249444978491989B20F -S21400F0D00E9DAA1A11410B40DBB2E9E7029B012202 -S21400F0E00B920D9202210792BCE6029B01220B9224 -S21400F0F0B8E68C46B2460F990027009B059303009E -S21400F10040466246119298461EE0042300240722D9 -S21400F1100A400826B61AF61A4D032D0C039A944692 -S21400F120654401229A401300013BDBB2DB43B34047 -S21400F1302A781340B44023432B70049B9C466144BA -S21400F14001373BB29B4525DD019BDC5DC35D5C4022 -S21400F150C455059B009A032AD9D1072C18D8A400B9 -S21400F160354B1B599F4604230224D0E7042304246E -S21400F170CDE704230624CAE704230924C7E70423AB -S21400F1800B24C4E704230D24C1E704230F24BEE7A1 -S21400F1900423BCE70500119A94464046159B049A42 -S21400F1A0904643440F9A9046984443460F93109BCC -S21400F1B001331093139A93420DD05B46002BF6DD75 -S21400F1C0019B98461C00149B5E1C4644A84661465C -S21400F1D0B44656464BE6069B98466146089B002B6F -S21400F1E018D1079B002B01D0144B18600D9B002BE9 -S21400F1F001D0134B19700B9B002B02D0114B4246CB -S21400F2001A701798104CA0470198A0470F4B186823 -S21400F210FFF739FB0E4B6A46127A1A70E1E70020B8 -S21400F220FFF731FB0020FFF72EFB0020FFF72BFB3C -S21400F2300020FFF728FBC046808B0100C82B00206B -S21400F240CC2B0020BD2B00206D0B0100B82B00201E -S21400F250C42B0020F0B5DE4657464E464546E0B580 -S21400F26085B081460C001F000025092A3AD04B467F -S21400F2701E6911004846534B98478346002800D124 -S21400F28094E0F368002B00D18EE0390048464D4BE1 -S21400F29098470023002828D15A46D0007268944622 -S21400F2A06044328A5A43121141880909002D00D061 -S21400F2B04900130008335B181B0923804379A38099 -S21400F2C0027962800623C356E3800723C356238150 -S21400F2D0F37C9B061B0FA372002D00D16FE052003B -S21400F2E0628064E001351732C1E74B461B69DA7C61 -S21400F2F0520642D4DB689846DB7A03221A401CD0BA -S21400F3000023012AC8D143461B6899460002584488 -S21400F310039043469B681A02120A2B4B0093042361 -S21400F320494603A8294FB847002824D04B46C01AA0 -S21400F330000943465B681B56AEE743461B68994682 -S21400F34003AB9C4600025844188043469B681A024A -S21400F350120A1F4B00930223494660461B4FB847CC -S21400F360002806D04B46C01A400843465B681B562A -S21400F37092E7002390E700238EE7DA685368594641 -S21400F380595C0023002987D09368185C0023002866 -S21400F39000D181E70139537B4B4311680918C9181E -S21400F3A001390023CB5677E7002375E700252800B0 -S21400F3B005B03CBC90469946A246AB46F0BD01253A -S21400F3C0F5E7C04655E7000039E70000891B010055 -S21400F3D025E7000010B5054B1868002804D0044B3C -S21400F3E098470022014B1A6010BDC046B82B00207B -S21400F3F0D10A010010B504002C21154B98470022B5 -S21400F400E260F0235B002380A03B63806260237A87 -S21400F41002218B4323722631635C1F20834363548F -S21400F420218DFC23DB000B432385210028315B055F -S21400F4305B0F4B7023890749194082239B000B43BF -S21400F440238101210B43237222626262626110BD36 -S21400F450E50F010003F0FFFFF8B504000D001700EC -S21400F4601E002421034B984725606760A560E66070 -S21400F470F8BDC046E50F010070B505003848394BA9 -S21400F4809847041E55D0B8214900374B98472C2280 -S21400F49029002000354B9847200030304C21344B53 -S21400F4A098470022B6235B00E250324B1B68002BC5 -S21400F4B04AD0304B1E681C60230003221E212E48B3 -S21400F4C02E4DA847E0622E4B984700283FD0E36AAF -S21400F4D0002B42D0B4225200A35A9B0A9B02A3528E -S21400F4E00022B6235B00E25000210020254DA847ED -S21400F4F0E06300210020A847206400210020A847E0 -S21400F50060640021206C204DA8470021606CA8474D -S21400F5100021206C1D4DA8470021606CA847E06BB9 -S21400F5201B4B9847134B1E60E06A1A4B9847200007 -S21400F53070BD0020124B98470028F8D10022002307 -S21400F540154816498847FEE70A4B1C60B1E7E26A91 -S21400F5500023114811498847FEE70024E7E7C04624 -S21400F560C44C002065050100E50F0100250C0100D4 -S21400F57051050100D02B00205543000071150100F5 -S21400F580151400007D28000011260000AD180000AC -S21400F590491F0000C5150100048801001D14000065 -S21400F5A0014B18687047C046D02B0020031E05D0BC -S21400F5B01A7A920709D50220185E7047044B1B681A -S21400F5C0F0204000002BF8D0F2E70020185EF4E7A9 -S21400F5D0D02B0020031E05D01A7A920709D50020EA -S21400F5E0185E7047044B1B68A0204000002BF8D024 -S21400F5F0F2E70220185EF4E7D02B0020031E03D0AB -S21400F60018890005800D7047024B1B688220002B6E -S21400F610F9D0F5E7D02B002070B5051E19D02800CC -S21400F6200F4B9847040028000E4B98470100A00097 -S21400F630001940000C4B9847020000201D2A07D9ED -S21400F6400130312A04D94430904280414042023091 -S21400F65070BD064B1D68F0246400002DE3D0DEE785 -S21400F660ADF50000FDF5000061790100D02B00200B -S21400F6704268002393614268D361704710B5002842 -S21400F68004D001000348044B984710BD0148034BC3 -S21400F6909847FAE7C44C00201D0601000506010045 -S21400F6A04068704743681A68002A04D05868431EAA -S21400F6B09841C0B270470020FCE7000010B5040077 -S21400F6C0074B984700280AD00022A35E0222A05EBD -S21400F6D058436368DB68C01A43425841C0B210BD45 -S21400F6E0A5F6000010B5002804D001000348044B1E -S21400F6F0984710BD0148034B9847FAE7B84C0020DE -S21400F7001D060100050601000022044B1A70044B7A -S21400F7101A689446604418607047C046D82B00208C -S21400F720D42B0020044B012119701A78002AFBD034 -S21400F730024B18687047C046D82B0020D42B0020F8 -S21400F74010B50400014B9847001B10BD25F70000BC -S21400F75010B50C00096A606A81420AD08002064B26 -S21400F7609847A369E269D21A50438012181800B26B -S21400F77010BD8020C000F4E76179010010B50122B9 -S21400F780094B1A7009480A4B9847002805D0094BC0 -S21400F79018680421084B984710BD064B18680021CE -S21400F7A0054B9847F8E7C046E02B0020884D002020 -S21400F7B005060100DC2B0020E1140100F0B5CE4662 -S21400F7C0474680B591B06548654B984700280BD0F2 -S21400F7D03C25624C634E435D022293434355010031 -S21400F7E02000B0470028F6D15F4B18685F4B98475B -S21400F7F007005A485A4B9847041E00D18CE05C4ECE -S21400F8000025B04626E0DB19002B00DA8DE0A26862 -S21400F810002A00D190E02000904728E02369002BC2 -S21400F8202FD020001030210098476368002B02D0AC -S21400F83001B220689847636A226A934227D24346F9 -S21400F8401B78002B00D171E04448454B98470400D4 -S21400F850002C61D035703C23E35C9B0766D43C22C9 -S21400F860A35C02210B43A354636A002BCBDD636ABF -S21400F870FB186362002BE2DB226A9A42CED26262F7 -S21400F880CCE72000103021003A4B9847CDE73C23C8 -S21400F890E35C01221340181E07D1A28E002A4DD029 -S21400F8A035498A4251D0013AA286A28E002A1AD041 -S21400F8B0236B5A426262E26A002AC0D0002840D017 -S21400F8C04342434199463C20215C012399434B46E1 -S21400F8D00B432354A169E069A061E161DB0700D412 -S21400F8E0A26B2262ABE7E26A002A01D0002828D089 -S21400F8F0402221006846214B984721001748204B9C -S21400F900984720001F4B98471F4B9847039B002B98 -S21400F91095D06846984792E71C4B9847124B18605C -S21400F92011B00CBC90469946F0BD636221000B48AE -S21400F9300C4B984704008BE763629DE7E26A002A57 -S21400F940D6D0A36A59426162BAE7236B5A42626212 -S21400F950E26A002A00D172E7F3E7C046884D00202D -S21400F960050601001D060100E42B002041F70000FB -S21400F970E02B002051F70000FFFF0000250C0100DF -S21400F980ED060100D10A01007DF7000025F7000012 -S21400F99010B540210A480B4B98470B4B98470B4B2A -S21400F9A01860002304221E2109480A4CA0470A4B6F -S21400F9B018600A4B98470022094B1A7010BDC046C3 -S21400F9C0884D00205105010025F70000E42B00209B -S21400F9D0BDF7000071150100DC2B00207DF700004C -S21400F9E0E02B002010B5040040210D4B9847FA2369 -S21400F9F05B0023620023A3616433E361094B1A783A -S21400FA0022745A7862749A78A274DB78E3740123BD -S21400FA10A3863622A35C01210B43A35410BDC04627 -S21400FA20E50F010048C80100F0B5D64600B582B023 -S21400FA3006008A461548164B9847041E1ED000231B -S21400FA400193144F0CE021001048134B98472000F8 -S21400FA50124B9847124B9847012301932C1E0FD048 -S21400FA6021000A48B84705002368B342F6D1636808 -S21400FA705345E8D05346002BF0D1E4E7002301932A -S21400FA80019802B004BC9246F0BDC046884D0020E6 -S21400FA90050601001D060100ED060100D10A010061 -S21400FAA07DF7000070B505004168002902D00068A7 -S21400FAB0194B984719481A4B9847002820D11748E1 -S21400FAC0184B98470400184B984700281ED0002C67 -S21400FAD015D02B6AAB63402229002000134B9847B1 -S21400FAE03623E35CDB0708D56368002B05D0206867 -S21400FAF0002802D01822A15E98470D4B984770BD8B -S21400FB000C4B984701380C4B1860D8E722000023AE -S21400FB100A480B498847FEE729FA0000884D00206E -S21400FB20AD0801006505010015140000250C010054 -S21400FB307DF7000025F70000E42B00200488010074 -S21400FB401D14000070B50023C65E0423C25E921B1F -S21400FB50D40FA4186410A5B224B20B889B1B5B1BA1 -S21400FB601BB24A884188521A521B12B264435B4346 -S21400FB7052439B18E017DA0F9C425041C0B270BD4A -S21400FB804B1E4188C918C18070470423C25E0021FD -S21400FB90435ED21A01320621435E0221405E181AE5 -S21400FBA0013050437047F0B5C64600B50D8813883F -S21400FBB01C1C1BB22EB2B34200DA2C1C26B20480E8 -S21400FBC04D8853881C1C1BB22FB2BB4200DA2C1C7B -S21400FBD027B244808D8893881C1C1BB298462BB293 -S21400FBE0984500DD2C1C25B28480C988D3881A1C51 -S21400FBF01BB20CB2A34200DD0A1C13B2C280002066 -S21400FC00AE4204DCF80FDA17BB425041C0B204BC67 -S21400FC109046F0BD70B50D8813881C1C1BB22EB222 -S21400FC20B34200DD2C1C04804D8853881C1C1BB27C -S21400FC302EB2B34200DD2C1C44808D8893881C1C99 -S21400FC401BB22EB2B34200DA2C1C8480C988D3883B -S21400FC501A1C1BB20CB2A34200DA0A1CC28070BD8A -S21400FC60F0B5DE4657464E464546E0B585B00E0032 -S21400FC700023CC5E0023C15E00238C425EDB04259D -S21400FC80435F98460023444558DC0223F45E022571 -S21400FC90435F9A460023544550DB0623C35E1D008F -S21400FCA001930023AC4249DC002A00DC9BE043467B -S21400FCB068460380038899468CB2AFB253460380E9 -S21400FCC0008802AB19804B4601331B1B1BB2D90FB1 -S21400FCD0CB185B10791C091A09B2CD0F6D186D1080 -S21400FCE0191C1BB2AB4200DD291C0D1C09B2914247 -S21400FCF000DD151CADB22C19A4B202AB9C80524696 -S21400FD005A80281883B200936B4600215A5E9346A9 -S21400FD1002AA5946D1800022310002A8FFF7A0FFB0 -S21400FD20002813D02C1902AA9480009B9C46654498 -S21400FD30D580310010002D4B98470300180005B001 -S21400FD403CBC90469946A246AB46F0BD7F1BBFB270 -S21400FD5002AB5F806A469288DA8000223100180083 -S21400FD60FFF77EFF00280AD02C1902AB9C807D1B73 -S21400FD705D80310018001D4B98470300DEE74B46B8 -S21400FD805C1BA4B202AB1C8042469A800022310063 -S21400FD901800FFF765FF00280AD0641B02AB1C8022 -S21400FDA07D1B5D8031001800104B98470300C5E7A7 -S21400FDB002AB52465A805A46DA80002231001800BA -S21400FDC0FFF74EFF01230028B8D0641B02AB1C804F -S21400FDD0009B9C46654402ABDD8031001800034B57 -S21400FDE098470300AAE70123A8E7C04645FB0000A2 -S21400FDF010B50023C45E0423CA5E0023944216DCBA -S21400FE000423C45E0023CA5E002394420FDB022351 -S21400FE10C45E0623CA5E0023944208DC0623C45E42 -S21400FE200223CA5EE317D00F94424341DBB21800A8 -S21400FE3010BD0000F0B5C64600B582B005000C0047 -S21400FE4016000023C75E00228B5E0020BB4214DC37 -S21400FE500223EA5E0221635E9A420EDB0423EA5E18 -S21400FE600421635E9A4208DC0622AB5E0621625ECF -S21400FE70D80FD1179A424841C0B2002E03D102B023 -S21400FE8004BC9046F0BD01A90F806B884B80320001 -S21400FE902000104B98470028F1D00422AB5E98460D -S21400FEA001A90B80320020000A4B98470028E6D0B4 -S21400FEB001A90F80EB884B8032002000054B984745 -S21400FEC00028DCD001A943460B8032002000014BFD -S21400FED09847D4E761FC000030B5142A27D8920072 -S21400FEE0B24CA2589746828801320488121B12B27E -S21400FEF0D40FA41864108A8801320D88521B12B2DF -S21400FF00D50FAA185210A21A1A80C2880132448845 -S21400FF10121B12B2D40FA4186410CA880132498882 -S21400FF20521A12B2D10F8A185210A21A5A801A8880 -S21400FF30018852181A805A88418852185A8030BD53 -S21400FF4000221A805A80F2E7828801320488121B47 -S21400FF5012B2D40FA41864108A8801320988521A83 -S21400FF6012B2D10F8A185210A21A1A8000225A8092 -S21400FF70DDE782888C88121B0488121B09885218B9 -S21400FF801A8000225A80D2E700221A80C288CC88C3 -S21400FF90121B4488121B498852185A80C7E7828869 -S21400FFA001320488121B12B2D40FA41864108A8877 -S21400FFB001320D88521B12B2D50FAA185210A21A7F -S21400FFC01A80C288CC88121B4488121B4988521893 -S21400FFD05A80ACE782888C88121B0488121B0C8817 -S21400FFE012191A80C288CC88121B4488121B4988B2 -S21400FFF052185A809BE700221A80C2880132448831 -S214010000121B12B2D40FA4186410CA880132498890 -S214010010521A12B2D10F8A185210A21A5A8086E7C3 -S21401002082888C88121B0488121B0C8812191A806D -S214010030C28801324488121B12B2D40FA41864106D -S214010040CA8801324988521A12B2D10F8A18521040 -S214010050A21A5A806BE700221A80CA884988521A67 -S214010060D2435A8063E7828801320488121B12B297 -S214010070D40FA41864108A8801320D88521B12B25C -S214010080D50FAA185210A21A1A80CA884988521A7D -S214010090D2435A804BE782888C88121B0488121B35 -S2140100A00C8812191A80CA884988521AD2435A8073 -S2140100B03DE700221A80C28801324188521A5A80CE -S2140100C035E7828801320488121B12B2D40FA418B5 -S2140100D064108A8801320988521A12B2D10F8A181E -S2140100E05210A21A1A80C28801324188521A5A80C6 -S2140100F01DE782888C88121B0488121B09885218F7 -S2140101001A80C28801324188521A5A800FE78A88BB -S2140101100988521AD2431A8000225A8007E78A8831 -S2140101200C88121BD2431A80C28801324488121BE3 -S21401013012B2D40FA4186410CA8801324988521A20 -S21401014012B2D10F8A185210A21A5A80EFE68A8884 -S2140101500C88121BD2431A80C288CC88121B448892 -S214010160121B498852185A80E1E6828801320188BA -S214010170521A1A8000225A80D9E6828801320488EF -S214010180121B1A80C28801324488121B12B2D40F85 -S214010190A4186410CA8801324988521A12B2D10FC3 -S2140101A08A185210A21A5A80C1E6C04650C80100E9 -S2140101B0828801320488121B1A80C288CC88121BDE -S2140101C04488121B498852185A80B0E630B58DB261 -S2140101D0830702D001800230013A29044919102A06 -S2140101E016D903001400196059609960D960196125 -S2140101F059619961D9612033103C102CF3D8110054 -S214010200113909094C1C6401103A0901521A0019E6 -S214010210002A04D005800230013A002AFAD130BD06 -S21401022070B54A01521AFF24641A0304DB0E6343B5 -S2140102309D182B025B19DB015B191B01DB0E4505C3 -S214010240AD0E65438E01711A6D1829024919C9014F -S2140102504919C900C006C00E6043821810028018F2 -S214010260C00180180001890E4901C00EDB02084357 -S214010270184370BD10B5FF23591A0304DB0E4B4318 -S2140102801A001B029B18DB019B181B01DB0E4205A3 -S214010290920E4A43140012021219D2011219D20008 -S2140102A0C006C00E414308024018C00140180001B4 -S2140102B0920E5201C00EDB021043184310BD421CC1 -S2140102C04378002B04D109E001321378002B05D0C6 -S2140102D03A2BF9D05C2BF7D02F2BF5D010007047B6 -S2140102E010B544210148024B984710BD5C4D0020D3 -S2140102F05105010070B50400406800280ED003695E -S2140103000925002B08D02168984705002068044B72 -S2140103109847002323606360280070BD0B25FBE728 -S214010320D10A010070B584B01C1E01D000232360E1 -S2140103304568002D15D0AE690923002E0ED0002386 -S2140103400393006803AB009313000A000100280022 -S214010350B0470300002C01D0039A2260180004B0B5 -S21401036070BD0B23FAE770B50A004468002C09D06B -S214010370256A0923002D03D001682000A847030041 -S214010380180070BD0B23FBE770B5040009480A4B43 -S214010390984700280CD00378A34209D0054D074E94 -S2140103A001002800B047002802D00378A342F7D105 -S2140103B070BDC0465C4D0020050601001D0601000B -S2140103C0F0B5D6464F4680B583B004000F000192C3 -S2140103D0002343600360002941D00878234B9847E7 -S2140103E0606000280AD08368002B0BD0984700284D -S2140103F008D1002363602360012531E000232360D8 -S21401040003252DE063685888194B98472060194BDF -S2140104109847002806D023689A46002B08D16360C7 -S2140104200A251DE022680023134814498847FEE781 -S21401043063689946DE680925002E11D03800104BF6 -S21401044098470200019B51464846B047051E07D013 -S21401045020680C4B984700232360636000E00B255F -S214010460280003B00CBC91469A46F0BD89030100F2 -S214010470090A010015140000048801001D1400007B -S214010480BF020100D10A010010B50400114B9847C4 -S214010490031E17D0225C2E2A0FD02F2A14D05C2AD6 -S2140104A014D0013B002B0BD0E25C2E2A05D02F2A5C -S2140104B00ED05C2AF5D1084801E00133E01810BDE2 -S2140104C00548FCE70448FAE70348F8E70248F6E778 -S2140104D00148F4E7617F010028CA010000B583B036 -S2140104E0019200290DD0002A0DD0006804300918A9 -S2140104F001AB1A780A705A784A709A788A70DB7853 -S214010500CB7003B000BD0068043008180421014B0D -S2140105109847F6E7E50F010000B583B00192002980 -S2140105200CD0002A0CD00068091801AB1A780A70A2 -S2140105305A784A709A788A70DB78CB7003B000BD1F -S214010540006808180421014B9847F7E7E50F0100FA -S2140105500023436083608B0702D003239943043151 -S2140105600160704770B50400006808300E4B98476C -S214010570051E14D00022010020000C4B984762682B -S214010580290020000A4B98476168002903D02A00F9 -S2140105902000064B98476560A368002B01D0280011 -S2140105A070BDA560FBE7C046090A010019050100F8 -S2140105B0DD04010070B50400006808300E4B984752 -S2140105C0051E14D00022010020000C4B9847A2689B -S2140105D0290020000A4B9847A168002903D02A0069 -S2140105E02000064B9847A5606368002B01D02800C1 -S2140105F070BD6560FBE7C046090A0100DD04010025 -S21401060019050100002801D0406870470020FCE76A -S214010610002801D0806870470020FCE782B00023E4 -S214010620019300280BD003680433C91801AB0A787C -S2140106301A704A785A708A789A70CA78DA7001986D -S21401064002B0704782B00023019300280AD00368E5 -S214010650C91801AB0A781A704A785A708A789A7063 -S214010660CA78DA70019802B070470000F0B5C64645 -S21401067000B504000E00002829D0002929D04368BF -S214010680994221D000680830134B9847051E18D0B0 -S21401069031002000114B984707002A000100200076 -S2140106A00F4B984698473A00290020000D4FB8474F -S2140106B02A0031002000B847320029002000C04738 -S2140106C0280004BC9046F0BD074B9847F9E7002088 -S2140106D0F7E70800F5E7C046090A010045060100EC -S2140106E0DD040100190501006505010070B504006F -S2140106F00D0000282BD0436899422AD0836899427E -S21401070017D029002000194B984706002900200021 -S214010710174B98470500020031002000154B9847FB -S214010720320029002000144B984770BD0023A360B7 -S214010730FBE70E4B9847A060002805D00022010079 -S21401074020000C4B9847F0E700236360EDE7002993 -S214010750D7D129002000064B984760600028E5D0D5 -S214010760002201002000044B9847DEE74506010001 -S2140107701D060100DD0401001905010070B50C001D -S21401078015001E001100194B9847002E17D00022A5 -S21401079029002000164B9847626829002000154B57 -S2140107A098476168002903D02A002000104B98471B -S2140107B06560A368002B00D070BDA560FCE7A26849 -S2140107C0290020000A4B9847002229002000094BE7 -S2140107D09847A168002903D02A002000054B9847B6 -S2140107E0A5606368002BE7D16560E5E7ED060100CB -S2140107F019050100DD040100F8B5CE46474680B56F -S21401080005000C001600914221D0002A23D01100C9 -S214010810224B98470700844219D021002800204B1C -S21401082098472200390028001E4B984698473A0000 -S214010830210028001C4B99469847220031002800C9 -S214010840C847320021002800C047002F21D00CBC29 -S21401085090469946F8BD00281DD08768BC42F6D060 -S214010860210028000E4B98472200390028000D4E23 -S214010870B0473A00210028000B4B984698472200C3 -S21401088000212800C047002221002800B047AC60A4 -S214010890DBE76C60DBE71700E0E7C04645060100D2 -S2140108A0ED060100DD0401001905010000280AD04B -S2140108B000234268002A01D018007047826853421C -S2140108C05341DBB2F8E70123F6E7000010B5B42187 -S2140108D04900194B984709B2002916DB592918DD3A -S2140108E089B20B005A3B9BB2592B16D90B00B43B6D -S2140108F09BB2592B18D9B4235B00591A09B2490087 -S2140109000E4BC85A404200B206E06931FF3109B2C7 -S214010910E4E74900094BC85E10BDB423591A09B271 -S2140109204900064BC85EF7E71BB25B00034A985ABC -S214010930404200B2F0E7C046417C0100A4C8010075 -S21401094030B50002002501E0520806D053191C00FC -S2140109505C43A042F8D31D00F6E72B090B802D015E -S214010960FF231D404D8030BD00280ED0031D0068BA -S21401097040081818021D064B1B68802189018C4609 -S21401098063449A429B4118407047014B1868FBE745 -S2140109900C2C002030B58B0702D003239943043179 -S2140109A003685B080A1D934217D099420ED0021DB8 -S2140109B0521813780124A343137003685B08043BA1 -S2140109C05B1A5B0015682C40234313604900012322 -S2140109D0026813401943016030BD1100F6E70000BC -S2140109E0064B074A1360197801229143197019685A -S2140109F00A4004490A431A607047C046102C00207A -S214010A000C2C0020F83F0000F0B5C64600B5051EC8 -S214010A1020D0830702D003239D4304350024104EC3 -S214010A20012398460F4F08E02900B8472378012292 -S214010A3013432370201D00280FD12000B047041E49 -S214010A400AD0037842461A42F7D103685B089D42F2 -S214010A50EAD9F2E7044800E0002004BC9046F0BD65 -S214010A606909010095090100104C0020F0B5C64641 -S214010A7000B50020154B984704000125134F3E0092 -S214010A80B84617E02000B84700281CD003781D425E -S214010A900FD1226853080433016849085B185B00CC -S214010AA02A4013432360B04700280CD003781D4228 -S214010AB0EFD00400002C06D023781D42E2D020009F -S214010AC0C0470400F6E704BC9046F0BD6909010082 -S214010AD070B50400194B984228D0002826D0021F72 -S214010AE0137801218B431370154A138801339BB287 -S214010AF013800F2B1BD80438124B9847002815D0AB -S214010B000378DB0712D4043C01250E4E22685308F5 -S214010B100433016849085B185B002A4013432360CD -S214010B20B047002802D003781D42EFD070BD0022E6 -S214010B30034B1A80044B9847F8E7C046104C002038 -S214010B40E82B0020690901006D0A0100002806D083 -S214010B50054B984205D004380068400870470020CD -S214010B60FCE70020FAE7C046104C002010B5154BF4 -S214010B701B68984213D0134B9B68012283420FD007 -S214010B80114B1B68984213D001230F4C1900DA0051 -S214010B90A25890420DD00133102BF7D110BD002280 -S214010BA0D200084B9B189A7901218A439A71F5E77E -S214010BB00021C900044B59188B79012293438B718C -S214010BC0ECE7C04644000020DC4C0020F0B5C646E9 -S214010BD000B5114B9A7901218A439A719A7B8A430F -S214010BE09A730E4C00250E4B98460026270003E00C -S214010BF001350834102D0CD020680028F8D0C047E5 -S214010C002660EB00FB189A7901218A439A71A68027 -S214010C10EEE704BC9046F0BD44000020DC4C00200A -S214010C20D10A0100F0B5C64600B503231C000440F6 -S214010C300B409C4267D0202A63D921235B429C4605 -S214010C40944463465F097B1C5B01C5180C000300D6 -S214010C5026781E7066785E70A6789E70E678DE70DE -S214010C6026791E7166795E71A6799E71E679DE71C6 -S214010C70267A1E72667A5E72A67A9E72E67ADE72AE -S214010C80267B1E73667B5E73A67B9E73E67BDE7396 -S214010C90267C1E74667C5E74A67C9E74E67CDE747E -S214010CA0267D1E75667D5E75A67D9E75E67DDE7566 -S214010CB0267E1E76667E5E76A67E9E76E67EDE764E -S214010CC0267F1E77667F5E77A67F9E77E67FDE7736 -S214010CD020332034AB42BBD11F2365469D432035CC -S214010CE043194919203A7F01D21B002A06D09A18C7 -S214010CF00C781C70013301319342F9D104BC904643 -S214010D00F0BD0300F1E70500002C14D004252D1BCF -S214010D100ED0002A5FD0451903000C781C700133F1 -S214010D200131013AAB4205D0002AF6D1002248E053 -S214010D30050000E01D00202A28D91700213FB846EB -S214010D407B099C465E1C7601AE190C002B002768B9 -S214010D501F6067685F60A7689F60E768DF60276954 -S214010D601F6167695F61A7699F61E769DF6120337A -S214010D7020349E42EBD11F2347469F432037ED196F -S214010D80C9191300203B624652019A1A2B00042A05 -S214010D9017D9531F9C469B08984601339B00EB18B6 -S214010DA00E002C0080CE80C49C42FBD103236446F7 -S214010DB09C4323000433141F42469200A21AC9180A -S214010DC0EB18002A9AD09A180C781C70013301315E -S214010DD09342F9D192E70300A8E70000F8B50500B1 -S214010DE00C008B0702D003239C430434002D04D04F -S214010DF02B1F1B78DB07DB171D402800114B98477C -S214010E00070084421CD014D320000F4B9847061EBF -S214010E1014D0002D12D0002F10D02200BC4200D9D1 -S214010E203A0029003000094B98472800084B98479C -S214010E3004E0281F2100074B98472E003000F8BD1C -S214010E402E00FBE74D0B0100090A0100250C0100ED -S214010E50D10A010095090100F8B5002800D168E023 -S214010E60102807D8344B9B79DB0713D5324B9B7B75 -S214010E70DB0705D5314C002301267642270019E011 -S214010E8001232D49DB00C81882790124224382718F -S214010E9058582DE00023F4E7284ADD0051198B79D4 -S214010EA0012003438B71A85822E05EB20133083457 -S214010EB0102B13D0DA00BA189279D207F6D4A2888A -S214010EC09042F3D8E8D0002EEFDBF1001B4DAC4684 -S214010ED0614489889142E9D95EB2E7E7002E08DBD2 -S214010EE01649F300C81882790124224382715858A2 -S214010EF0F8BD124B9A7901230024D2070BD50F496E -S214010F001C00DA008A189279D20704D50133102B17 -S214010F10F6D10020ECE7094DE4002B199A7901215E -S214010F200A439A71988001006059054B98476051B1 -S214010F30DEE70020DCE7C04644000020DC4C002051 -S214010F40DD0D0100F0B5032404400ED004231B1B65 -S214010F500BD0002A07D0C31801700130013A98421D -S214010F6003D0002AF8D1002234E00C0264180B04E6 -S214010F70E4180B06E4180600202A18D91600213EAC -S214010F8077097D1C6D01451903001C605C609C603F -S214010F90DC601C615C619C61DC6120339D42F4D1A4 -S214010FA01F239E4320368619203A7F01D21B30002C -S214010FB0042A0FD9501F87087D1CAD007519330010 -S214010FC010C3AB42FCD1032398430430043ABF005C -S214010FD0D21B3018002A04D08218017001309042CA -S214010FE0FBD1F0BD70B5032303403AD1202919D9AE -S214010FF00D00213D6E09741C6401041903000022D2 -S2140110001A605A609A60DA601A615A619A61DA6106 -S21401101020339C42F4D11F239D43203540192039AB -S2140110207601891B0300042910D94B1F9E08741CE6 -S214011030A40004190200002520C2A242FCD103220A -S214011040934304330439B600891BC318002905D01D -S214011050591800221A7001338B42FBD170BD18005B -S214011060C4E70422D21AC1D000290BD0821803008B -S21401107000201870013301399342F0D00029F8D1CD -S2140110800021E3E70300FBE770B5032303403CD1EF -S21401109020291AD90D00213D6E09741C640104191A -S2140110A00300012252421A605A609A60DA601A619D -S2140110B05A619A61DA6120339C42F4D11F239D4321 -S2140110C02035401920397601891B0300042911D9DE -S2140110D04B1F9E08741CA4000419020001256D42D2 -S2140110E020C2A242FCD10322934304330439B60042 -S2140110F0891BC318002905D05918FF221A7001331D -S2140111008B42FBD170BD1800C2E70422D21ABFD0B1 -S21401111000290BD082180300FF2018700133013913 -S2140111209342F0D00029F8D10021E3E70300FBE762 -S21401113010B518210448054B98470022044B1A7035 -S2140111400132044B1A7010BDAC4C00205105010051 -S2140111502B4C0020284C002070B52F482F4B984769 -S214011160041E18D02E4D237D5B075B0F032B23DD5A -S21401117021002948A847041EF5D12748294B98473E -S2140111800500294B9847002842D12A00002327480A -S21401119027498847FEE72048264B98470500224BFB -S2140111A09847002805D12A0000232048204988476F -S2140111B0FEE7002D0DD123E0210017481E4B98476E -S2140111C00500194B984700281CD0002D18D0002C7C -S2140111D0D3D00124194B1C70FA235B002B60002628 -S2140111E0AE602B7D07229343032213432B75012305 -S2140111F05B422B61124B98476860EE60114B1C7086 -S214011200280070BD2A000023084809498847FEE7E0 -S214011210002DDED1F4E7C046AC4C002005060100E7 -S2140112201D060100B5050100151400000488010023 -S2140112301D140000650501006D0601002B4C002001 -S21401124025F70000294C002010B5040001000948CC -S214011250094B98470122094B1A702000084B984702 -S214011260084B1B689C4200D010BD0122064B1A7029 -S214011270FAE7C046AC4C0020ED0601002B4C0020DE -S214011280D10A0100784D00202A4C002010B5040038 -S2140112904068134B984700232268904201D21800F9 -S2140112A010BD104B9847606000230F4A13700F4A19 -S2140112B01370A368002B05D0200098470A4B1B78B3 -S2140112C0002BECD12369002B01DD013B23610123B7 -S2140112D02269002AE3D12000054B98470123DEE767 -S2140112E041F7000025F700002A4C0020294C002079 -S2140112F049120100F0B5DE4657464E46C0B5664B6C -S2140113001B780120002B09D10122634B1A70634B15 -S2140113101B78002B07D100225F4B1A701CBC91462C -S2140113209A46A346F0BD5E4B98475E4B1860002474 -S2140113305D4B9B46002399465C4B9A4684E05C4B8A -S2140113401D6000240FE05B4B9847584B1B78002B21 -S2140113502FD1554B1B78002B2BD1574B1B78002BCD -S2140113606ED1534B1D603168002922D05348B847CF -S21401137005004F4B1868027D0723134019D084429D -S214011380DDD0052BDFD0002C4BD0027D5207520F4B -S214011390237D5B075B0F9A42D7DD464B98470028B3 -S2140113A0D3D0424B1B78002B03D13F4B1B78002B2D -S2140113B034D03C4B1868424CA047424B1A689446BE -S2140113C060441860404B1868A047F423FF339842E6 -S2140113D017D93C4B186864235843FA2149003B4B04 -S2140113E09847C0B20023642802D864231B1ADBB2D4 -S2140113F0374A13700022334B1A60294B9847324BF9 -S214011400186001225242334B1A602C48324B9847DF -S214011410041E3BD02A4D2F4F3E0028E0244B1C686B -S21401142012E0244B984700288FD0204B1B78002BC6 -S214011430BFD11D4B1B78002BBBD11D4B1C6803E095 -S2140114401D4B00221A7000245B464A461A7053460A -S2140114501A701A48204B9847154B18601E001F4FEC -S21401146081E7210015481D4B9847041E0ED0237DA9 -S2140114705B07F6D06068A84722680023904200D236 -S214011480131A3A689A42ECD93360EAE70022024B13 -S2140114901A70104B186841E7144C0020284C0020A5 -S2140114A025F700001C4C00202A4C0020294C002067 -S2140114B0784D00208D1201002B4C0020AC4C0020F2 -S2140114C041F70000184C0020244C002061790100EF -S2140114D0204C00202C4C0020050601001D060100B2 -S2140114E0F0B5CE4600B5050089460E00037D5B07C4 -S2140114F05B0F8B4228D01948194B9847041E26D0FB -S214011500037D5B075B0F9E420ADA164F21001348E4 -S214011510B847041E1BD0237D5B075B0F9E42F5DB9D -S214011520A54206D0220029000C480F4B9847002CF4 -S2140115300DD001220D4B1A7006324B461A402B7DF8 -S21401154007218B4313432B7504BC9146F0BD002243 -S21401155029000248044B9847EBE7C046AC4C0020F4 -S214011560050601001D060100F90701002B4C0020AD -S214011570F0B583B006000F0001921D000C4B984792 -S21401158004000C4B984700280BD0002C06D0A66010 -S214011590276001992000084B9847E560200003B0BA -S2140115A0F0BD22000023054805498847FEE7C046EE -S2140115B05911010015140000E1140100048801000E -S2140115C01D14000010B50400034B98472368DB4345 -S2140115D01818606010BDC04625F70000F0B583B04E -S2140115E00023019300290AD00B68C25C54B2002C78 -S2140115F007DB140001330B60200003B0F0BD01A926 -S214011600F2E71F241500A543C02D0DD00F241500A9 -S214011610A543E02D1CD007241500A543F02D36D098 -S21401162001330B600024E7E75C1C0C60055D3F207E -S2140116302C008443200000248028DDD19201F82468 -S214011640E40022403F242C40A41802330B60D3E769 -S2140116505C1C0C60055D3F242E00A6430024802EF2 -S214011660CAD19C1C0C60005D3F240600A6430024E2 -S214011670802EC1D11407240C3F2210402418AD013E -S214011680FC20000105402C1903330B60B4E75C1CF9 -S2140116900C60055D3F242E00A6430024802EABD1AE -S2140116A09C1C0C60065D3F243700A7430024802F56 -S2140116B0A2D1DC1C0C60005D3F240700A743002478 -S2140116C0802F99D19204E024640322402C03FC2548 -S2140116D0AD022C402243B401FC26360134403F259E -S2140116E028402418A41804330B6085E7F0B583B0AE -S2140116F006000D000023019300290CD00024074F9B -S21401170001A930003B6898470134019BAB42F7D3EF -S214011710200003B0F0BD0C00FAE7C04658000020D8 -S214011720232905D002780023012A12D01800704719 -S2140117300278002A02D101230370F7E7012A05D0B7 -S2140117400023022AF2D103700133EFE7002303706E -S214011750ECE701332029E9D101330370013BE5E7CA -S214011760F0B5DE4657464E464546E0B591B0079081 -S2140117700391924605931AAB1B781A000A93002828 -S21401178000D10BE1002900D10AE11223134216D041 -S214011790020003780A2B00D104E10D2B00D10BE1E6 -S2140117A0002B00D10AE100200130135C0A2B00D186 -S2140117B0F9E00D2B00D1F6E0002BF5D1F4E0022381 -S2140117C00A9A1A400B9201D07D4B059300230F22F3 -S2140117D00CA98C46624413700E937A4B99467A4F45 -S2140117E05346049383E0009A21000398774B984769 -S2140117F04519ADB200B2002803DD049B9C46654442 -S214011800ADB22DB24346013339D022000A3A162A28 -S2140118103CD86F4BD34001221A423AD101232B32D6 -S214011820944238D00133DBB2FA5C002AF8D1434641 -S214011830013300D18DE00C9E0D9B0C93029B01930E -S214011840009C53469B5D002B00D184E00DA95046B9 -S2140118504B461B6898470090019B013302935B46F9 -S214011860002BC0D021000F200CAB9C466044594B86 -S21401187098470028B7D00C9E0D9B0C93DEE7049B7F -S214011880EB1A089A9342C0DDB046BEE701232C222C -S214011890C6E7B24600E0B2465346002B5CD143464B -S2140118A001335CD10695019B002B04D00D2C04D18D -S2140118B0009B0A2B01D10C9B9A4653466A4613801D -S2140118C01688059B069A9B1A1BB20593002E49D0D3 -S2140118D00E9B9C4666440E96079A13780A2B51D0A7 -S2140118E00D2B4FD0935D0A2B4AD00D2B48D00E9B63 -S2140118F00993079A9C46624416001378002B41D040 -S214011900059B002B3EDD002E2CD0059B08930B9BE0 -S214011910002B01D02A4B089300230C930D930CA99E -S2140119203000284B1B680093984704000C9B0D93CE -S21401193000230693013B984600230193002500935C -S2140119409A4601330A9A13409B465346B2461E00F6 -S21401195077E706956FE7B24643460133A3D0099B66 -S214011960002B08D00E9B002B0FD1164B1B680EA91F -S2140119700798984706E043466A4613801688A0E70C -S21401198001360E960E9B002B02D00CAB18890CE08C -S2140119900C4B1B680EA907989847F6E7002004E051 -S2140119A0002002E00020013080B211B03CBC90461D -S2140119B09946A246AB46F0BD0020F4E70020F3E7C7 -S2140119C0187C0000580000205CC9010001E70000F7 -S2140119D00900400021170100F0B5CE46474680B504 -S2140119E085B005008946019298460CAB1F78002801 -S2140119F03AD0002A3AD00023039302AAD3700024D7 -S214011A0000292BD001231F400AE0320000990198DB -S214011A10174B984703B2002B02DD4444041924B245 -S214011A20039B994515D9134E03A928003368984797 -S214011A300090039BE8183368002198470600002FA2 -S214011A40E3D0009902ABD81C0B4B98470028E7D18E -S214011A50DBE7002C02DD4346E41A24B2200005B081 -S214011A600CBC90469946F0BD0024F7E70024F5E744 -S214011A7001E700005800002021170100F0B5DE46FE -S214011A8057464E464546E0B589B00400894602925F -S214011A90039312AB00215B5E069313AB00215B5EE2 -S214011AA0049314AB1F780023038043804B46002B1E -S214011AB051D0002A4FD0BB0701D52F4B0493029B70 -S214011AC008229B5E07939AB24B461B78002B4FD099 -S214011AD04D460026294B9B46069B9A469244534602 -S214011AE06A469382938A984605E022804B469D1962 -S214011AF02B78002B1FD00097049B039A029928008D -S214011B00D84736180221635E5146C9181C4A9142CD -S214011B1021D841460591434463800097039B029A6E -S214011B2001002800174DA84723881A1C1BB28342C0 -S214011B30DBDA021CD9E7002E06D02E00013E3378F0 -S214011B400A2B0FD00D2B0DD00222A35E002B0FD037 -S214011B50069A9B1A638009B03CBC90469946A246F9 -S214011B60AB46F0BD6388059A944663446380EBE711 -S214011B706B469B8B6380EEE7187C000061170100C3 -S214011B80FF7F0000D9190100F0B5D6464F464646FC -S214011B90C0B582B001900F00141E99460A9B9A4662 -S214011BA01DD00123984604E000281ADA3400002CE0 -S214011BB00ED066084D4675437D1929000198D04719 -S214011BC00028F1DD4346A343F41A4D442F00EEE707 -S214011BD0002002B01CBC90469946A246F0BD0020EB -S214011BE0F7E72800F5E70000014B18607047C0468C -S214011BF0304C0020014B1B68D8687047304C0020E1 -S214011C0010B5024B1B681B68984710BD304C00206E -S214011C10F0B5CE46474680B583B0040028290ED8D5 -S214011C208900E44B5B589F460021E34B984700210F -S214011C302000E24B9847E24B1968E24B9847FF2198 -S214011C402000E14B984703B00CBC90469946F0BD86 -S214011C500021D94B984700212000D84B9847D84BF4 -S214011C6019680431D74B9847E9E70021D24B9847CA -S214011C7000212000D14B9847D14B19680431D14B34 -S214011C809847DCE70021CC4B984700212000CB4B3E -S214011C909847CB4B19681031CA4B9847CFE70021BC -S214011CA0C54B9946984700212000C44FB847C44EFB -S214011CB03368191D0190C34DA84731681831019842 -S214011CC0A84701212000C84701212000B847070086 -S214011CD03368191DA847316808313800A847AEE7B0 -S214011CE00021B54B9946984700212000B34FB847CD -S214011CF0B34E31680190B34DA847316868310198F9 -S214011D00A84701212000C84701212000B847070045 -S214011D103368191DA847316808313800A8478EE78F -S214011D200021A54B9846984700212000A34FB847AD -S214011D30A34E31682431A34DA84701212000C04796 -S214011D4001212000B84731682831A84777E70021EC -S214011D50994B9846984700212000984FB847984ECF -S214011D6031682431974DA84701212000C047012141 -S214011D702000B84731682831A84702212000C04713 -S214011D8002212000B84731689C31A84757E7002157 -S214011D90894B984753E70021874B98474FE7002127 -S214011DA0854B98474BE70021834B984747E700212F -S214011DB0814B984743E700217F4B9946984700217E -S214011DC020007E4FB8477E4E3368191D01907D4D29 -S214011DD0A847316820310198A84701212000C8474B -S214011DE001212000B84731681C31A84727E70021A8 -S214011DF0714B9846984700212000704FB847704EA7 -S214011E00316820316F4DA84701212000C0470121CC -S214011E102000B84731681C31A84710E70021664BFF -S214011E209946984700212000644FB847644E3168B0 -S214011E3024310190634DA847316894310198A84731 -S214011E4001212000C84701212000B8473168283108 -S214011E50A84702212000C84702212000B847316860 -S214011E609031A847EBE60021534B9846984700214E -S214011E702000524EB047524F39684C31514DA84759 -S214011E8040212000C04740212000B04706003968A5 -S214011E901031A847396850313000A847CFE60021F5 -S214011EA0454B984700212000444B98470500444F76 -S214011EB03B68191D434EB04739687C312800B0474E -S214011EC0BDE640213C4B98469847402120003B4FB9 -S214011ED0B8473B4E316818313A4DA847412120009A -S214011EE0C04741212000B84731681031A847A6E60F -S214011EF00021314B984700212000304B9847304B4A -S214011F0019686C312F4B984799E600212A4B984661 -S214011F10984700212000294FB847294E3368191DDC -S214011F20284DA84740212000C04740212000B8473F -S214011F3031681431A84701212000C0470121200043 -S214011F40B84731688031A84702212000C0470221E6 -S214011F502000B84731688431A84770E60021164D45 -S214011F60A84700212000154B98469847144F39681A -S214011F70144EB04740212000A84741212000A84721 -S214011F8041212000C0473968A831B04743212000CD -S214011F90A84743212000C0473968AC31B0474221E9 -S214011FA02000A84742212000C0473968A431B04725 -S214011FB045E6C04664C901006D1D0000911C000085 -S214011FC0384C0020B5490000252500000021F34DBE -S214011FD0A84740212000A84740212000F04B984701 -S214011FE0F04B1968B031F04B984728E60021EB4BCF -S214011FF09846984700212000E94FB847E94E3168D6 -S214012000E94DA84701212000C04701212000B8471B -S21401201031688031A84702212000C04702212000F4 -S214012020B84731688431A84709E60021DB4B994659 -S214012030984700212000DA4FB847DA4E3368191D59 -S2140120400190D94DA847316888310198A8470321E6 -S2140120502000C84703212000B84731688C31A847C3 -S214012060EDE50021CD4B984700212000CC4B984749 -S214012070E5E50021C94B9846984700212000C84F46 -S214012080B847C84E3368191D0190C74DA847316837 -S21401209074310198A84740212000C0470121200043 -S2140120A0C04701212000B84731688031A847C6E5FE -S2140120B00021BA4B984700212000B94B9847B94BED -S2140120C019687831B84B9847B9E50021B34B994662 -S2140120D0984700212000B24FB847B24E3368191D09 -S2140120E00190B14DA847316808310198A847316879 -S2140120F018310198A84740212000C84740212000F8 -S214012100B8473368191D0190A847316854310198C2 -S214012110A84741212000C84741212000B84731681F -S2140121208031A84742212000C84742212000B847F5 -S21401213031685831A84782E50021984B994698475F -S21401214000212000964FB847964E3368191D01901E -S214012150954DA847316840310198A8473168183134 -S2140121600198A84701212000C84701212000B8474F -S214012170316818310190A847316844310198A84761 -S21401218002212000C84702212000B84731684831A3 -S214012190A84754E50021814B984698470021200026 -S2140121A07F4FB8477F4E3368191D7F4DA8470121E1 -S2140121B02000C04701212000B8473168A031A84758 -S2140121C002212000C04702212000B8473168A03113 -S2140121D0A84703212000C04703212000B8473168E3 -S2140121E0A031A84704212000C04704212000B84799 -S2140121F03168A031A84722E50021684B98469847E8 -S21401220000212000664FB847664E3168664DA847E4 -S21401221042212000C04742212000B8473168803162 -S214012220A84741212000C04741212000B847316816 -S214012230B031A84740212000C04740212000B847C0 -S2140122403168A831A847FAE40021544B9847002189 -S2140122502000534B9847534B1968A431524B98476B -S214012260EDE400214D4B99469847002120004C4F44 -S214012270B8474C4E3368191D01904B4DA84731683D -S21401228018310198A84704212000C84704212000DE -S214012290B8473168B831A84703212000C847032151 -S2140122A02000B8473168B431A84701212000C8474B -S2140122B001212000B84731688031A847BFE40021DA -S2140122C0364B9946984700212000354FB847354E82 -S2140122D03368191D0190344DA847316818310198AB -S2140122E0A84703212000C84703212000B8473168CA -S2140122F09831A847A3E40021284B984700212000E5 -S214012300274B98470500274F3B68191D264EB047B7 -S214012310396808312800B04791E400211F4B9846E0 -S2140123209847002120001E4FB8471E4E3368191DDE -S2140123301D4DA84703212000C04703212000B847B0 -S21401234031682C31A84701212000C0470121200017 -S214012350B84731683031A84702212000C047022122 -S2140123602000B84731683431A84768E400210B4B98 -S2140123709846984700212000094FB847094E316812 -S2140123803831094DA84701212000C047012120000E -S214012390B84731683C31A84751E4C0466D1D00007E -S2140123A0911C0000384C0020B549000000211B4B51 -S2140123B09847002120001A4B98470500194F3B68A3 -S2140123C0191D194EB047396870312800B04736E4F8 -S2140123D00021124B9946984700212000104FB8471C -S2140123E0104E3368191D01900F4DA84731685C31B6 -S2140123F00198A84701212000C84701212000B847BD -S21401240031686031A84702212000C8470221200018 -S214012410B84731686431A847FFF711FC6D1D00000D -S214012420911C0000384C0020B549000010B5054B42 -S2140124301B78002B02D1044B984710BD034B9847DD -S214012440FBE7C046344C0020E5480000E14A0000A6 -S214012450F8B5CE46474680B5F94C2068F94B984703 -S214012460FF222C212068F84B98472068F74B9B6980 -S2140124709B0701D500F05DFE082312210B224901BE -S214012480DB020A431A432921F14B9847EC4B1868A3 -S214012490EE4B9B699B0701D500F050FE1C233A21A9 -S2140124A01D224901DB020A431A43EA49E84B9847D1 -S2140124B0E34B1868E54B9B699B0701D500F043FE8B -S2140124C01C233A211D224901DB020A431A437921C2 -S2140124D0DF4B9847DD4EDA4CF268DF492068DF4D66 -S2140124E0A847F2687E212068A8472368181DD54BA7 -S2140124F09847246804340020D94B98470A30C00016 -S2140125004023FF330122984201D900F021FE012128 -S2140125102000D44B9847CA4C2368181DFF222C2153 -S214012520C94B984720680430C84B9B699B0701D567 -S21401253000F019FE0B2318210E224901DB020A4383 -S2140125401A432921C24B9847BD4B18680430BF4B2C -S2140125509B699B0701D500F00BFE10232221122256 -S2140125604901DB020A431A433921B94DA847B44C45 -S2140125702368181DB54EB288BB49A8472368181DA5 -S214012580F288BA49A847246804340020B44B984717 -S214012590283040004023FF330122984201D900F041 -S2140125A0ECFD30212000AF4DA847A54C2368181D2F -S2140125B001223321A847A54D2368181DEA68A649BC -S2140125C0A64B984720680430AB699B0701D500F0FD -S2140125D0DFFD1F233F211F224901DB020A431A4365 -S2140125E09C499B4B9847994C954D2B68181DE26862 -S2140125F07E219A4B984728680430A3699B0701D52A -S21401260000F0CBFD1F233F211F224901DB020A43B5 -S2140126101A4379218E4B9847894B186804308B4BA7 -S2140126209B699B0701D500F0BDFD1F233F211F229B -S2140126304901DB020A431A438D49854B9847804B73 -S21401264018680430814B9B699B0701D500F0AFFDEC -S2140126501F233F211F224901DB020A431A43992106 -S2140126607B4B9847764C2368181D012290217D4BA1 -S21401267098472568043500207E4B9847012801D8E5 -S21401268000F09AFD0020764B98470301181A400087 -S21401269050304023FF330124984201D900F0A5FDB4 -S2140126A000206F4B9847030028335B004021FF3121 -S2140126B001228B4201D900F0A5FDA21812B2122107 -S2140126C02800684B98475E4B1D6804350020694B0F -S2140126D09847012801D800F0A0FD0020604B9847DC -S2140126E00301181A400050304023FF33012498425A -S2140126F001D900F0ABFD0020594B98470300283361 -S2140127005B004021FF3101228B4201D900F0ABFD75 -S214012710A21812B213212800524B9847484B1D6845 -S21401272004350020534B9847012801D800F0A6FD38 -S21401273000204B4B98470301181A400050304023A5 -S214012740FF330124984201D900F0B1FD0020444B2B -S2140127509847030028335B004021FF3101228B425A -S21401276001D900F0B1FDA21812B2102128003D4B8C -S2140127709847334B1D68043500203E4B9847012887 -S21401278001D800F0ACFD0020354B98470301181A1C -S214012790400050304023FF330124984201D900F015 -S2140127A0B7FD00202E4B9847030028335B004021DD -S2140127B0FF3101228B4201D900F0B7FDA21812B2F7 -S2140127C011212800274B98471D4B1C680434002014 -S2140127D0284B9847012801D800F0B2FD0020204B75 -S2140127E0984703011B1A5B0050334021FF31012239 -S2140127F08B4201D900F0BDFD14212000194DA847D8 -S2140128000F4C2368181D9622B021A8472368181D6F -S2140128103922B721A84720680C300A4B9847206810 -S214012820011D0C30144B984720680C30074B9B69F0 -S2140128309B0701D500F0AAFD0823122109221DE0FD -S214012840384C00202D2401004D4F00003C4C002048 -S214012850ED4D0000898000008E800000A150000030 -S214012860FDF500008D4C000039020000390400001F -S214012870A980000019F60000354B00004901DB0273 -S2140128800A431A432921FB4B9847FB4B18680C3027 -S214012890FA4B9B699B0701D500F07DFD08231021AB -S2140128A008224901DB020A431A433921F14B9847B2 -S2140128B0F14B18680C30F14B9B699B0701D500F072 -S2140128C06FFD14232A2115224901DB020A431A430C -S2140128D0EB49E84B9847E84B18680C30E74B9B6987 -S2140128E09B0701D500F061FD14232A211522490119 -S2140128F0DB020A431A437921DE4B9847DE4B186800 -S2140129000C30DE4B9B699B0701D500F053FD142369 -S2140129102A2115224901DB020A431A43D949D54B1C -S2140129209847D54B18680C30D44B9B699B0701D54B -S21401293000F045FD14232A2115224901DB020A4332 -S2140129401A439921CB4B9847CB4C20680830CE4B85 -S214012950984720680830C94B9B699B0701D500F052 -S21401296033FD092313210A224901DB020A431A43D4 -S214012970C649C04FB847C04E30680830BF4DAA8818 -S2140129802A21FF31B84734680834A8883321C04B60 -S2140129909847021CBF492000B84730680830AB6929 -S2140129A09B0701D500F015FD0B2318210E224901C6 -S2140129B0DB020A431A43B849AE4FB847AE4D286802 -S2140129C00830002298214900B44B98472C680834F7 -S2140129D0AA4EB0883321AE4B9847021CB04920005E -S2140129E0B84728680830B3699B0701D500F0F6FCA4 -S2140129F00B2319210D224901DB020A431A43A94977 -S214012A009C4B98479C4B186808309C4B9B699B07CE -S214012A1001D500F0E8FC0B2319210D224901DB0248 -S214012A200A431A433A21FF31924B9847924B186852 -S214012A300830924B9B699B0701D500F0D9FC0B230C -S214012A4019210D224901DB020A431A439649894B93 -S214012A509847894B18680830884B9B699B0701D5B6 -S214012A6000F0CBFC0B2319210D224901DB020A439E -S214012A701A438E497F4B98477F4B186808307F4B27 -S214012A809B699B0701D500F0BDFC1F233F211F2238 -S214012A901F24A0464901DB020A431A438449754FA5 -S214012AA0B847754E30680830FC25ED0042462A438B -S214012AB0804C22438049B8473068083042462A4352 -S214012AC022437E49B847306808306C4B9B699B07A8 -S214012AD001D500F09CFC262213235201D9021A4389 -S214012AE00A437749634B9847634B18680830634B32 -S214012AF09B699B0701D500F08EFC1F233F211F22F7 -S214012B001F24A0464901DB020A431A436D49594F67 -S214012B10B847594E30680830FC25ED0042462A4336 -S214012B20644C22436849B8473068083042462A4315 -S214012B3022436649B84730680830504B9B699B076B -S214012B4001D500F06DFC262213235201D9021A4347 -S214012B500A435F49474B9847474C2068083029226B -S214012B60B6214E4DA84720681030474B984720683D -S214012B701030584A0121A84720681030FF222C2126 -S214012B80554B9847206810303C4B9B699B0701D5F5 -S214012B9000F04AFC0B2318210E224901DB020A43EE -S214012BA01A432921334B9847334B18681030334B5F -S214012BB09B699B0701D400F03CFC304D6A79D20832 -S214012BC093009B189A009B18444A944663441A0241 -S214012BD0D218D201D218D20D1F210A40AC88640542 -S214012BE0A30E9C00E418A300E4183D4B9C466444E5 -S214012BF023021B19DB011B19DB009B0E2C79E40653 -S214012C00E50EAC006419A5006419344DAC46644465 -S214012C1025022D19ED012C19E40D21405B01D2028C -S214012C200B431A431949134FB847134E30681030F7 -S214012C30124DAA882A21FF31B84734681034A88873 -S214012C404C21134B9847021C12492000B8473068A4 -S214012C501030AB699B0701D500F015FC0B2318213A -S214012C600E224901DB020A431A430B49014B9847DE -S214012C7038E0C046ED4D0000384C00203C4C0020AA -S214012C8089800000A98000002D2401002910000081 -S214012C907502010029110000292000008D4C00005A -S214012CA039120000391000003911000039200000E7 -S214012CB08990000000F8FFFF8981000089910000DB -S214012CC089A00000A9900000A9810000A991000038 -S214012CD0A9A00000FF7F00004D4F0000DA1B000096 -S214012CE09A380000F14B18681030F14B9B699B072E -S214012CF000D5CDE3222211235201D9021A430A43F9 -S214012D00EC49ED4DA847E94C20681030E84EB288F2 -S214012D103921A84720681030B288E849A8472068BA -S214012D201030B3699B0700D5B5E310220823520182 -S214012D30D9021A430A43E249DF4B9847DB4B1C682A -S214012D4010340020DF4B9847283040004023FF33E3 -S214012D500122984200D9A1E330212000DA4B98479E -S214012D60D24C2068103000229E214900D74B98474C -S214012D7020681030CE4B9B699B0700D598E31F2334 -S214012D803F211F224901DB020A431A43D049CA4B9D -S214012D909847C64B18681030C54B9B699B0700D5F2 -S214012DA08AE31F233F211F221F24A0464901DB027D -S214012DB00A431A43C749C04DA847BC4C2068103087 -S214012DC0FC27FF0042463A43C34E3243C349A84755 -S214012DD02068103042463A433243C149A84720682A -S214012DE01030C04B1A88C049A84720681030B04B35 -S214012DF09B699B0700D563E31F233F211F224901DF -S214012E00DB020A431A43B949AB4B9847A74B1868EC -S214012E101030A74B9B699B0700D555E31F233F2125 -S214012E201F221F264901DB020A431A43B049A24D5D -S214012E30A8479E4C20681030FC23DB0099461A00F8 -S214012E403243A54F3A43AA49A847206810304A465C -S214012E5032433A43A749A84720681030A14B1A8845 -S214012E60A549A84720681030914B9B699B0700D560 -S214012E702EE31F233F211F224901DB020A431A4387 -S214012E8079218D4B9847894B18681030884B9B6980 -S214012E909B0700D520E31F233F211F221F24A046A6 -S214012EA04901DB020A431A439449834DA8477F4CE4 -S214012EB020681030FC27FF0042463A43864E3243D4 -S214012EC07A21FF31A8472068103042463A43324300 -S214012ED08B49A84720681030824B1A888949A84731 -S214012EE0246810340020774B984783001B18DB00BA -S214012EF050334021FF3101228B4200D9F0E21221EA -S214012F002000714B9847694B1C68103400206D4BAC -S214012F10984783001B18DB0050334021FF31012204 -S214012F208B4200D9E9E213212000674B98475F4B9B -S214012F301C6810340020634B98470301181A503060 -S214012F404023FF330122984200D9E3E210212000FA -S214012F505D4B9847554B1C6810340020594B9847D9 -S214012F600301181A50304023FF330122984200D93A -S214012F70E8E211212000544B98474C4B1C68103452 -S214012F800020504B984783001B189B00503340216C -S214012F90FF3101228B4200D9DFE2142120004A4D85 -S214012FA0A847424C2068103003224021A8472068D9 -S214012FB0103000224C21454EB047206810307F2249 -S214012FC093218900B04720681030394FBA884921CB -S214012FD0394EB04720681030FA884B49B047206810 -S214012FE010309622B021A847206810303C22B52127 -S214012FF0A847206810302922B621A847206810303B -S2140130004C22B721A847206810309622B121A84744 -S2140130102068103000223D49A847206814303C4BF8 -S21401302098472468143400203A4B9847322800D930 -S214013030ADE20020234B984783001B189B005033BA -S2140130404021FF3101228B4200D993E21421200056 -S2140130501D4B9847154B186818302D4B9847002084 -S2140130602C4B9847322800D9B8E20020154B9847D8 -S21401307003008000C018400050304023FF33012475 -S214013080984200D99DE2094E30681830220012217C -S2140130900D4DA8473068183022001321A847306824 -S2140130A0183022001021A847306835E0384C00203F -S2140130B03C4C002029210000ED4D00003910000095 -S2140130C039200000FDF500008D4C00004D4F00003A -S2140130D0898000008990000000F8FFFF89810000C8 -S2140130E08991000008CA010089A00000A98000009B -S2140130F0A9900000A9910000A9A000007910000085 -S214013100791100007920000049040000B110000088 -S2140131102D24010019F60000183022001121A847BD -S2140131203068183022001421A8470CBC90469946F6 -S214013130F8BD1D233B211E22FFF7A1F907230F210E -S2140131400822FFF7AEF907230F210822FFF7BBF984 -S2140131500020F64B98470A30C000A021F44B984750 -S21401316002B2FFF7D4F91F233F211F22FFF7E5F92B -S2140131701A2337211C22FFF7F3F90020EB4B98475F -S21401318028304000A021EA4B984702B2FFF709FA1F -S21401319007230F210822FFF71FFA07230F21082212 -S2140131A0FFF733FA07230F210822FFF741FA072317 -S2140131B00F210822FFF74FFA0020DC4B9847030146 -S2140131C0181A50304023FF330124984201D8FFF7E4 -S2140131D067FA0020D54B98470301181A5030A021F2 -S2140131E0D34B984784B2FFF75BFA0020CF4B984742 -S2140131F00301181A40005030A021CD4B984784B2E5 -S214013200FFF74EFA0020C94B984728304000A0210E -S214013210C74B984782B2FFF750FA0020C34B984736 -S2140132200301181A50304023FF330124984201D875 -S214013230FFF761FA0020BD4B98470301181A50307A -S214013240A021BB4B984784B2FFF755FA0020B74B35 -S21401325098470301181A40005030A021B44B9847F4 -S21401326084B2FFF748FA0020B04B98472830400058 -S214013270A021AF4B984782B2FFF74AFA0020AB4B2A -S21401328098470301181A50304023FF33012498420F -S21401329001D8FFF75BFA0020A44B98470301181AE0 -S2140132A05030A021A24B984784B2FFF74FFA002076 -S2140132B09E4B98470301181A40005030A0219C4BA2 -S2140132C0984784B2FFF742FA0020984B9847283077 -S2140132D04000A021964B984782B2FFF744FA00209F -S2140132E0924B98470301181A50304023FF330124AC -S2140132F0984201D8FFF755FA00208C4B98470301F6 -S214013300181A5030A0218A4B984784B2FFF749FA21 -S2140133100020864B98470301181A40005030A02120 -S214013320834B984784B2FFF73CFA00207F4B9847BF -S21401333028304000A0217E4B984782B2FFF73EFA24 -S21401334000207A4B98470301181A50304023FF3368 -S2140133500122984201D8FFF74FFA0020734B984795 -S2140133600301181A5030A021714B984702B2FFF79B -S21401337043FA00206D4B98470301181A400050305D -S214013380A0216B4B984702B2FFF736FA1A23352174 -S2140133901B22FFF773FA1B2339211D22FFF781FA3F -S2140133A0062310210922FFF78FFA0623102109228E -S2140133B0FFF79DFA062310210922FFF7ABFA062331 -S2140133C010210922FFF7B9FA1D233B211D22FFF721 -S2140133D0CBFA1F233F211F22FFF7E9FA19233321D6 -S2140133E01922FFF708FB07230F210822FFF716FB18 -S2140133F007230F210822FFF725FB1A2337211C225A -S214013400FFF733FB07230F210822FFF741FB2A2290 -S2140134101523FFF762FB07230F210822FFF770FB36 -S2140134202A221523FFF791FB1F233F211F22FFF7B7 -S214013430B4FB404E7279D2084C256A433E4BD318F2 -S2140134401A02D218D201D218D20D1F210A40B4880E -S2140134506405A40E6C43394B9C46644423021B1935 -S214013460DB011B19DB009B0E3479E406E40E654391 -S214013470334CA44665442C026419E4016419E40D36 -S2140134802140FFF7CBFB1F233F211F22FFF7E9FB5C -S2140134903322192330E42222112348E40020234B4F -S2140134A0984728304000A021214B984702B253E4A8 -S2140134B006231021092265E406231021092273E45C -S2140134C00623102109229AE4062310210922A8E4E2 -S2140134D0062310210922CFE4062310210922DDE468 -S2140134E00020124B984703008000C018C0005030DF -S2140134F0A0210F4B984702B201E500200B4B9847DD -S21401350003008000C018C0005030A021084B984727 -S21401351002B208E50020054B98470301181A5030FF -S214013520A021034B984702B210E5C046FDF5000006 -S214013530617901003C4C0020B1070000C810000072 -S214013540CA0900000020334B98470301181A50306F -S214013550A021314B984702B20BE500202D4B98472E -S21401356003008000C01880005030A0212A4B9847E5 -S21401357002B212E50020274B984703008000C018CE -S21401358080005030A021244B984702B25EE500200F -S214013590204B984783001B18DB0050334021FF3136 -S2140135A001228B4200D851E500201A4B98470300B0 -S2140135B08000C018C0005030A021174B984702B2B7 -S2140135C044E50020134B984703008000C0184000D4 -S2140135D05030A021104B984704B254E500200D4B03 -S2140135E0984703008000C018800050304023FF3306 -S2140135F00124984200D846E50020064B9847030070 -S2140136008000C01880005030A021034B984704B2B8 -S21401361039E5C046FDF5000061790100F0B5C64602 -S21401362000B5494C20682430484B98472068243020 -S214013630474A0121474B984720682430FF222C2116 -S214013640454B984720682430444B9B699B0700D51F -S2140136506EE00823122109224901DB020A431A43BC -S21401366029213F4B9847384B186824303B4B9B69C0 -S2140136709B0761D41F233F211F224901DB020A4316 -S2140136801A437921364DA8472F4C20682430334EF3 -S214013690B2884921A84720682430F2883149A847D2 -S2140136A02068243000224C212B4B984698472068EE -S2140136B024307F2293218900C047206824300322CA -S2140136C04021244FB847206824309622B021B847BD -S2140136D0206824304C22B721B847206828301B4B7D -S2140136E0984720682830FF222C21C04720682830C0 -S2140136F0174A0121B84720682830B2882921A847EF -S21401370020682830184B1A881849A847206828309E -S214013710B3699B0714D41F233F211F224901DB02F3 -S2140137200A431A4379210E4B984704BC9046F0BDD4 -S2140137301A2335211B228FE70623102109229CE735 -S214013740082310210922E9E7384C00202D24010026 -S214013750FF7F00008D4C00004D4F00003C4C0020C8 -S214013760ED4D00004904000008CA010029200000B0 -S21401377010B59A4C20689030994B98472068903045 -S214013780FF222C21974B984720689030964B9B69D7 -S2140137909B0700D4BBE0944B9A882921934B98470A -S2140137A08E4B18689030904B9B699B0700D5B1E013 -S2140137B01F233F211F224901DB020A431A437921B5 -S2140137C08A4B9847854C20689030894A0121894B5D -S2140137D09847246890340020874B9847C300181AEE -S2140137E050304023FF330122984200D996E012213F -S2140137F02000804B9847794B1C68903400207E4B04 -S2140138009847C300181A50304023FF3301229842CC -S21401381000D98EE013212000764B98476F4B1C6829 -S21401382090340020744B9847C300181A5030402338 -S214013830FF330122984200D986E0102120006D4B0B -S2140138409847664B1C68903400206B4B9847C30022 -S214013850181A50304023FF330122984200D97EE0E7 -S21401386011212000634B98475C4C206894305C4BD8 -S21401387098472468943400205F4B984783001B18B0 -S2140138805B0050334021FF3101228B4200D971E0A9 -S21401389017212000574B9847504B1C689434002042 -S2140138A0554B984783001B185B0050334021FF316E -S2140138B001228B4200D96AE0182120004D4B98471F -S2140138C0464B1C68943400204B4B984783001B18CA -S2140138D05B0050334021FF3101228B4264D8152111 -S2140138E02000444B98473D4B1C6894340020424BC3 -S2140138F0984783001B185B0050334021FF3101229B -S2140139008B425ED8162120003A4B984710BD3B4BA0 -S2140139101A8842E70623102109224CE70020364B7D -S2140139209847C300181A5030A021354B984702B269 -S2140139305DE70020304B9847C300181A5030A0218D -S2140139402F4B984702B265E700202B4B9847C300E0 -S214013950181A5030A0212A4B984702B26DE7002072 -S214013960254B9847C300181A5030A021244B98477E -S21401397002B275E70020204B984703008000C0186C -S21401398040005030A0211E4B984702B280E700202D -S214013990194B984703008000C01840005030A02102 -S2140139A0174B984702B287E70020134B984703004E -S2140139B08000C01840005030A021114B984702B239 -S2140139C08DE700200C4B984703008000C01840008C -S2140139D05030A0210A4B984702B293E7384C00209A -S2140139E02D2401004D4F00003C4C0020ED4D000001 -S2140139F0FF7F00008D4C0000FDF500000CCA0100A1 -S214013A006179010010B5464C20689C30454B9847BB -S214013A1020689C30FF222C21434B984720689C301D -S214013A20424B1A882921424B984720689C30414ACC -S214013A300121414B984724689C3400203F4B98470E -S214013A40143080004023FF3398423CD80122524272 -S214013A5010212000384B9847314B1C689C340020BD -S214013A60364B9847143080004023FF33984235D8B0 -S214013A7001225242112120002F4B9847284B1C68E7 -S214013A809C3400202D4B9847143080004023FF3390 -S214013A9098422ED80122524212212000264B9847E6 -S214013AA01F4B1C689C340020244B98471430800020 -S214013AB04023FF33984227D8012252421321200087 -S214013AC01D4B984710BD00201C4B984714308000B2 -S214013AD0A0211B4B9847424212B2B9E70020174B70 -S214013AE0984714308000A021154B9847424212B2E5 -S214013AF0C0E70020114B984714308000A021104BDE -S214013B009847424212B2C7E700200C4B9847143040 -S214013B108000A0210A4B9847424212B2CEE7C04627 -S214013B20384C00202D2401004D4F00000CCA010026 -S214013B30ED4D0000FF7F00008D4C0000FDF50000FC -S214013B406179010070B57F4C206870307E4B9847D4 -S214013B50206870307D4A01217D4B98472468703477 -S214013B6000207C4B984783001B189B005033402154 -S214013B70FF3101228B4200D98CE012212000744BC8 -S214013B809847704B1C6870340020724B984783002E -S214013B901B189B0050334021FF3101228B4200D974 -S214013BA085E0132120006A4B9847664B1C687034E9 -S214013BB00020684B984783001B189B005033402118 -S214013BC0FF3101228B4200D97EE010212000604B9C -S214013BD098475C4B1C68703400205E4B9847030185 -S214013BE01B1A5B0050334021FF3101228B4200D962 -S214013BF077E014212000564B9847524B1C687034CE -S214013C000020544B9847830018188300C018503082 -S214013C104023FF330122984200D96EE0C0212000E4 -S214013C204B4B9847474C206870304B4EB2889921D1 -S214013C304A4DA84720687030B288C921A847206835 -S214013C407030474B1A88CA21A84724687034002070 -S214013C50404B984783001B185B0050334021FF31CF -S214013C6001228B4256D890212000394B9847354B7C -S214013C701C6870340020374B9847C300181A503020 -S214013C804023FF330122984251D8C3212000304BF4 -S214013C90984770BD00202F4B984703008000C0183E -S214013CA080005030A0212F4B984702B265E70020D4 -S214013CB0284B984703008000C01880005030A02190 -S214013CC0284B984702B26CE70020224B9847030026 -S214013CD08000C01880005030A021224B984702B2C5 -S214013CE073E700201B4B98470301181A4000503019 -S214013CF0A0211C4B984702B27BE70020154B984742 -S214013D00830018188300C0185030A021154B98471F -S214013D1002B283E700200F4B984703008000C018CB -S214013D2040005030A0210F4B984702B29BE700207D -S214013D30084B9847C300181A5030A021094B9847E2 -S214013D4002B2A2E7384C00202D240100FF7F0000BC -S214013D508D4C0000FDF500003C4C0020ED4D0000B0 -S214013D6008CA010061790100F0B5C64600B5E34D09 -S214013D7028685C30E24B984728685C301127882415 -S214013D80E40022003A435205520DDE4E3243992199 -S214013D90DD4B9846984728685C3022003A43520526 -S214013DA0520D3243C921C04728685C30D74B9A88E8 -S214013DB0CA21C0472C685C340020D54B9847830045 -S214013DC0181850304023FF330122984200D95BE196 -S214013DD090212000CF4B9847C84B1C685C340020CC -S214013DE0CB4B9847143080004023FF330122984282 -S214013DF000D955E1C3212000C64B9847BF4B1C682C -S214013E005C340020C24B98470A30C0004023FF3381 -S214013E100122984200D94DE1C2212000BD4B9847AE -S214013E20B64B1C685C340020B94B984783001B18BE -S214013E309B0050334021FF3101228B4200D943E1E0 -S214013E4012212000B34B9847AC4B1C685C34002011 -S214013E50AF4B984783001B189B0050334021FF311E -S214013E6001228B4200D93CE113212000A94B98473F -S214013E70A24B1C685C340020A54B984783001B1896 -S214013E809B0050334021FF3101228B4200D949E18A -S214013E90102120009F4B9847984B1C685C340020EB -S214013EA09B4B984783001B189B0050334021FF31E2 -S214013EB001228B4200D942E114212000954B9847FC -S214013EC08E4B1C685C340020914B98470301181AEE -S214013ED050304023FF330122984200D93CE1C021F3 -S214013EE020008C4CA047854D28685C308A4A012109 -S214013EF0A04728686030824B9847286860301127B1 -S214013F008824E40022003A435205520D7D4E324386 -S214013F1099217D4B984698472868603022003A439D -S214013F205205520D3243C921C04728686030774B8D -S214013F309A88CA21C0472C6860340020744B984781 -S214013F400A30C0004023FF330122984200D90EE117 -S214013F50902120006F4B9847684B1C686034002006 -S214013F606B4B98470A30C0004023FF33012298422A -S214013F7000D906E1C3212000664B98475F4B1C68B9 -S214013F8060340020624B9847830018188300C018DD -S214013F9050304023FF330122984200D9FBE0C02174 -S214013FA020005C4B9847554C20686430544B98472A -S214013FB020686430554B9B699B0700D5F8E01F23AA -S214013FC03F211F224901DB020A431A4399214E4B26 -S214013FD098474A4B1C68643400204D4B98470A307A -S214013FE0C0004023FF330122984200D9E4E090212B -S214013FF02000484B9847414C20686430FF222C2112 -S214014000464B984720686430404B9B699B0700D518 -S214014010DCE01F233F211F224901DB020A431A432A -S2140140202921394B9847354C206864303A4A01219A -S214014030384B9847246864340020354B9847030171 -S2140140401B1A5B0050334021FF3101228B4200D9FD -S214014050C0E0032120002F4B9847284B1C6864348E -S21401406000202B4B984783001B185B0050334021E0 -S214014070FF3101228B4200D9B8E014212000254BE4 -S214014080984704BC9046F0BD0020214B984703009A -S2140140908000C0185030A021214B984702B297E605 -S2140140A000201B4B984714308000A0211C4B9847DA -S2140140B002B29FE60020164B98470A30C000A021A6 -S2140140C0174B984702B2A7E60020114B984703000A -S2140140D08000C01880005030A021114B984702B2D2 -S2140140E0AEE600200A4B984703008000C018800007 -S2140140F05030A0210A4B984702B2B5E6384C002052 -S2140141002D2401000088FFFFED4D00003C4C0020EF -S214014110FDF500008D4C0000FF7F00004D4F0000B4 -S214014120617901000020384B984703008000C018D1 -S21401413080005030A021354B984702B2A8E60020F7 -S214014140314B984703008000C01880005030A021F2 -S2140141502E4B984702B2AFE600202B4B984703013F -S214014160181A5030A021294B984702B2B7E6002012 -S214014170254B98470A30C000A021244B984702B22D -S214014180E6E60020204B98470A30C000A0211F4BCE -S214014190984702B2EEE600201B4B9847830018189A -S2140141A08300C0185030A021184B984702B2F6E69B -S2140141B0082312210B2205E70020134B98470A30EB -S2140141C0C000A021114B984702B210E70823122124 -S2140141D00B2221E700200C4B98470301181A4000D8 -S2140141E05030A021094B984702B232E70020064B17 -S2140141F0984703008000C01840005030A021034BB0 -S214014200984702B239E7C046FDF500006179010022 -S21401421070B5394C20681C30384B984720681C30E4 -S214014220374B9A889921374B984724681C340020CD -S214014230354B9847830018188300C0185030402328 -S214014240FF330122984238D8902120002F4DA847ED -S214014250294C20681C3001229421A8472068203070 -S214014260264B984720682030254B9B699B0731D405 -S2140142700823122109224901DB020A431A43992124 -S214014280204B98471C4B1C68203400201E4B984737 -S214014290830018188300C01850304023FF330122D2 -S2140142A098421BD890212000184CA047124B186842 -S2140142B0203001229421A04770BD0020124B984760 -S2140142C0830018188300C0185030A021104B98475F -S2140142D002B2B9E71A2335211B22CCE700200A4B8C -S2140142E09847830018188300C0185030A021084B47 -S2140142F0984702B2D6E7C046384C00202D2401006C -S2140143003C4C0020ED4D0000FDF500008D4C0000FA -S21401431061790100F0B5C64600B5394C20686C30AD -S214014320384B984720686C30FF222C21364DA84721 -S21401433020686C30354B98469A882921344FB84707 -S21401434020686C3002223021324EB04720686C3033 -S2140143507F223C21A84725686C35434698884C2126 -S2140143602D4B9847021C39212800B84720686C302D -S2140143702A4A0121B04724686C340020284B98470C -S2140143800301181A50304023FF33012298421FD8E8 -S214014390502120001F4B9847194C20686C301B4B4E -S2140143A09A8859211A4B984724686C3400201C4B74 -S2140143B098478300181850304023FF330122984253 -S2140143C011D853212000134B984704BC9046F0BDEA -S2140143D00020134B98470301181A5030A021114BA7 -S2140143E0984702B2D4E700200D4B9847030080009F -S2140143F0C0185030A0210B4B984702B2E1E7C046E7 -S214014400384C00202D2401004D4F00003C4C00206C -S214014410ED4D00008D4C000021020100FF7F0000E1 -S214014420FDF5000061790100F0B5C64600B580468D -S2140144300F1C15001E00FE4B1B78002B01D101F04E -S2140144409EFBFC4C4346A380E780A660069BE36088 -S214014450079B2361089B6361A561F74B9847F74B60 -S2140144609847F74B9847F74B9847F74B9847F74BC2 -S2140144709847F74B9847F74B9847F74D28684030D1 -S214014480F64B984728684030A3699B0701D501F091 -S2140144907FFB14232B2117224901DB020A431A430F -S2140144A0EF49F04B9847EC4C20684430EB4B98476B -S2140144B0246844340020EC4B984750304023FF33A7 -S2140144C00122984201D901F068FB90212000E74BB8 -S2140144D09847E14B1C6844340020E34B984783001F -S2140144E01B185B0050334021FF3101228B4201D95A -S2140144F001F05DFB92212000DC4B9847D64B1C68EF -S21401450044340020D84B984783001B185B00503377 -S2140145104021FF3101228B4201D901F056FB932144 -S2140145202000D24B9847CC4B18684430C14B9B694E -S2140145309B0701D501F057FB1023222112224901C6 -S214014540DB020A431A439921C64B9847C24C20689E -S2140145504830C24B9847246848340020C24B9847DD -S2140145604300181850304023FF330122984201D9E6 -S21401457001F03EFB90212000BC4B9847B64B1C68CF -S21401458048340020B84B9847143080004023FF334E -S2140145900122984201D901F038FB03212000B34BD8 -S2140145A09847AD4B1C6848340020AF4B98472830DD -S2140145B040004023FF330122984201D901F030FB2D -S2140145C014212000A94B9847A34B1C6848340020AF -S2140145D0A54B984750304023FF330122984201D91A -S2140145E001F029FB01212000A04B98479A4C206836 -S2140145F030309A4B98472468303400209C4B9847BB -S214014600012801D801F021FB0020974B98470301B0 -S2140146101B1A5B0050334021FF3101228B4201D926 -S21401462001F02CFB10212000904B98478A4B1C6808 -S214014630303400208E4B9847012801D801F02BFB1F -S2140146400020894B984703011B1A5B005033402119 -S214014650FF3101228B4201D901F036FB12212000E5 -S214014660824B98477C4B1C6830340020804B98471F -S214014670012801D801F035FB00207B4B9847030148 -S2140146801B1A5B0050334021FF3101228B4201D9B6 -S21401469001F040FB13212000744B98476E4B1C68B9 -S2140146A030340020724B9847012801D801F03FFBB7 -S2140146B000206D4B984703011B1A5B0050334021C5 -S2140146C0FF3101228B4201D901F064FB1121200048 -S2140146D0664B9847604B18683030564B9B699B0772 -S2140146E001D501F064FB3F221F235201D9021A4370 -S2140146F00A4360495B4B9847574C20683430574B08 -S2140147009847206834304B4B9B699B0701D501F0D5 -S21401471052FB1D233B211D224901DB020A431A439A -S2140147204F49504B98474C4B1C6834340020504B33 -S2140147309847012801D801F043FB00204A4B9847CF -S21401474003011B1A5B0050334021FF3101228B42CB -S21401475001D901F04EFB12212000444B98473E4BF5 -S2140147601C6834340020424B9847012801D801F0D8 -S2140147704DFB00203C4B984703011B1A5B0050334E -S2140147804021FF3101228B4201D901F058FB132150 -S2140147902000364B9847304B1C6834340020344B8D -S2140147A09847012801D801F057FB00202E4B984767 -S2140147B003011B1A5B0050334021FF3101228B425B -S2140147C001D901F062FB11212000284B9847224CA9 -S2140147D020682C30214B984724682C340020224B2B -S2140147E09847143080004023FF330122984201D9B4 -S2140147F001F058FB012120001C4B9847164B186806 -S2140148002C300C4B9B699B0701D501F056FB1F23EF -S2140148103F211F224901DB020A431A431649114B65 -S21401482098470D4B18682C30024B9B69332225E0C4 -S214014830344C00203C4C0020512401001D36010060 -S2140148401543010071370100053A0100453B01009F -S214014850693D010011420100384C00202D24010061 -S21401486089800000ED4D0000FDF500008D4C000034 -S21401487019F6000089900000898100009B0700D48A -S214014880333296214900FA4DA847FA4C20682C305D -S2140148903322F949A84720682C30FF228B21890052 -S2140148A0A84720682C30F54B1A88F549F54EB047D5 -S2140148B020682C30F44DAA88F449B04720682C3083 -S2140148C0AB699B0701D501F0FDFA3F221F23520178 -S2140148D0D9021A430A432921EA4EB047E54C20681B -S2140148E02C30E94FBA882A21FF31B04720682C3096 -S2140148F0022298214900E64DA84720682C30042260 -S2140149003221FF31A84720682C30BA883A21FF317E -S214014910B04724682C340020DE4B98474300181813 -S21401492050304023FF330122984201D901F0CEFADC -S21401493014212000D64B9847CE4B1C682C340020FF -S214014940D54B9847012801D801F0CDFA0020D14B6C -S214014950984703011B1A5B0050334021FF310122A7 -S2140149608B4201D901F0D8FA12212000C84B984792 -S214014970C04B1C682C340020C74B9847012801D82F -S21401498001F0D7FA0020C34B984703011B1A5B00BE -S21401499050334021FF3101228B4201D901F0E2FA66 -S2140149A013212000BA4B9847B24B1C682C340020C8 -S2140149B0B94B9847012801D801F0E1FA0020B54B20 -S2140149C0984703011B1A5B0050334021FF31012237 -S2140149D08B4201D901F0ECFA11212000AC4B98472B -S2140149E0A44C20683830AD4B9847246838340020F2 -S2140149F0A84B984703011B1A5B0050334021FF3137 -S214014A0001228B4201D901F0E0FAC0212000A04B1F -S214014A109847984C20683830FF222C21944B9847B1 -S214014A2020683830984B9B699B0701D501F0DAFA6C -S214014A30082312210B224901DB020A431A432921CA -S214014A40904B98478B4B1C6838340020914B984705 -S214014A5083001B189B0050334021FF3101228B42FB -S214014A6001D901F0C4FA14212000894EB0478C4DBB -S214014A70804C206838302A000121B04720683C303D -S214014A80864B984720683C302A000121B0472068B1 -S214014A903C307A4F3A8829217A4DA84720683C3025 -S214014AA0FF222C21724B984720683C30022230218D -S214014AB0B04720683C30BA883921A84720683C3086 -S214014AC0714EB2887749A84720683C30F28876490B -S214014AD0A84724683C3400206E4B984703004000EA -S214014AE0C0188000C01850304023FF33012298427E -S214014AF001D901F08AFA12212000654B98475D4BD7 -S214014B001C683C340020634B984703004000C018E3 -S214014B108000C01850304023FF330122984201D94B -S214014B2001F082FA13212000594B9847514B1C681B -S214014B303C340020574B984703004000C0188000C3 -S214014B40C01850304023FF330122984201D901F0AA -S214014B507AFA102120004E4B9847464B1C683C348D -S214014B6000204C4B984703004000C0188000C01836 -S214014B7050304023FF330122984201D901F072FAE6 -S214014B8011212000424B98473A4C20684C30434B49 -S214014B90984724684C3400203E4B984714308000D8 -S214014BA04023FF330122984201D901F06AFA01211C -S214014BB02000374B98472F4B1C684C340020354B50 -S214014BC0984783001B185B0050334021FF310122B8 -S214014BD08B4201D901F060FA142120002C4B984732 -S214014BE0244C20684C30284B9A884921254B9847FD -S214014BF020684C3000224C211D4DA84720684C30BF -S214014C007F2293218900A84724684C340020214B39 -S214014C1098474300181850304023FF33012298422A -S214014C2001D901F047FA40212000194B9847114B52 -S214014C301C684C340020174B984783001B185B00F8 -S214014C4050334021FF3101228B4201D901F03FFA56 -S214014C50412120000E4DA847064C20684C30962274 -S214014C60B021A84720684C304C22B7211EE0C04630 -S214014C704D4F0000384C00202C1000000CCA0100DB -S214014C8089820000ED4D00003C4C00202902000006 -S214014C908D4C0000FDF5000019F600002D240100E2 -S214014CA0FF7F00003902000039040000A847206891 -S214014CB05030FD4B984720685030002293218900E0 -S214014CC0FA4B9847246850340020F94B9847143023 -S214014CD080004023FF330122984201D901F005FAF2 -S214014CE001212000F34B9847F34C20685030F34ADB -S214014CF0B7214900F24DA84720685030F14B1A8879 -S214014D006A21FF31F04B9847F04B9A682068503083 -S214014D10EF49A847246850340020E54B98474300E4 -S214014D20181850304023FF330122984201D901F070 -S214014D30E7F912212000DF4B9847DF4B1C685034FF -S214014D400020DB4B98474300181850304023FF33B0 -S214014D500122984201D901F0E0F913212000D54B38 -S214014D609847D54B1C6850340020D14B98474300D8 -S214014D70181850304023FF330122984201D901F020 -S214014D80D9F910212000CB4B9847CB4B1C685034E7 -S214014D900020C74B98474300181850304023FF3374 -S214014DA00122984201D901F0D2F911212000C14D0A -S214014DB0A847C14C20686830BB4B984720686830CC -S214014DC000220121A847246868340020B84B984780 -S214014DD0143080004023FF330122984201D901F0AC -S214014DE0C3F930212000B34DA847B34C2068683082 -S214014DF002223121A84720686830B44B9B699B0783 -S214014E0001D501F0BCF90023002100224901DB0293 -S214014E100A431A433921AC4DA847A74C206868308D -S214014E20AA4BDA88AB49A847246868340020A04B0F -S214014E3098478300181850304023FF3301229842C8 -S214014E4001D901F0A5F9122120009A4B98479A4BF7 -S214014E501C6868340020964B984783001818503019 -S214014E604023FF330122984201D901F09EF9132114 -S214014E702000904B9847904B1C68683400208C4B60 -S214014E8098478300181850304023FF330122984278 -S214014E9001D901F097F910212000864B9847864BDF -S214014EA01C6868340020824B9847830018185030DD -S214014EB04023FF330122984201D901F090F91121D4 -S214014EC020007C4B98477C4B1C6868340020784B4C -S214014ED098474300181850304023FF330122984268 -S214014EE001D901F089F914212000724B9847724CC0 -S214014EF020687C306C4B984724687C3400206C4BCF -S214014F0098473223584350304023FF3301229842BA -S214014F1001D901F07EF950212000664B9847664B77 -S214014F2018687C30694B9B699B0701D401F07EF9B8 -S214014F30302218235201D9021A430A435921624BDF -S214014F4098475D4C20688030574B984720688030E2 -S214014F50FF222C21554B9847206880305B4B9B697C -S214014F609B0701D501F066F90E231F211022490186 -S214014F70DB020A431A432921534B98474E4C2068BB -S214014F808030554A01214B4B9847246880340020D5 -S214014F90474B9847C300181A50304023FF3301226D -S214014FA0984201D901F04BF903212000414B984763 -S214014FB0414B1C68803400203D4B9847C300181AAB -S214014FC050304023FF330122984201D901F043F9C2 -S214014FD013212000374B9847374B1C68803400203C -S214014FE0334B9847C300181A50304023FF33012231 -S214014FF0984201D901F03BF9112120002D4B984729 -S2140150002D4C20688430284DA84720688430FF2224 -S2140150102C21264B984720688430304B1A8829214A -S214015020294B98472068B430A8472068B430274BEE -S2140150309B699B0701D501F026F914232A21152225 -S2140150404901DB020A431A4339211F4B98471A4B81 -S2140150501C68B4340020164B984728304000402383 -S214015060FF330122984201D901F012F930212000C4 -S214015070104B9847104B1C68B43400200C4B9847D3 -S21401508050304023FF330122984201D901F00BF939 -S21401509012212000074DA847074C2068B43004228F -S2140150A03121A8471CE0C0462D2401004D4F0000C9 -S2140150B0FDF500008D4C0000384C002014CA01009C -S2140150C0A15000000CCA0100ED4D00003C4C002030 -S2140150D08E81000039040000FF7F000008CA01002D -S2140150E02068B830FB4B98472068B830FA4B9B696C -S2140150F09B0701D501F0E1F814232B211722490162 -S214015100DB020A431A43F54E3100F54DA847F54C2C -S21401511020689830EF4B984720689830FF222C2162 -S214015120F14B984720689830EB4B9A882921A8477D -S21401513020689830ED4B1A883100A84724689834C7 -S2140151400020EB4B98476423584350304023FF33ED -S2140151500122984201D901F0B5F810212000E54B53 -S2140151609847E04B1C6898340020E14B984764232D -S214015170584350304023FF330122984201D901F0B1 -S214015180AEF811212000DB4DA847D64C20687430BC -S214015190D04EB0472068743001220221A84720680B -S2140151A0743000221221A84720687430002213218F -S2140151B0A8472068743000221021A8472068743060 -S2140151C000221121A8472068743000221421A84724 -S2140151D020687830B04720687830FF222C21C24BF7 -S2140151E0984720687830BC4B9B699B0701D501F036 -S2140151F083F80B2318210E224901DB020A431A43C6 -S2140152002921B74B9847B74B18687830B24B9B6942 -S2140152109B0701D501F075F8092313210A224901DC -S214015220DB020A431A43B449AD4B9847AD4B1868A5 -S2140152307830A94B9B699B0701D501F067F80B23D2 -S21401524018210E224901DB020A431A43AB49A44E38 -S214015250B047A44D286878309F4CA2882A21FF3198 -S214015260B0472F687837A0883321A54B9847021C92 -S214015270A4493800B04728687830A3699B0701D550 -S21401528001F049F81F233F211F224901DB020A438F -S2140152901A439249924DA847924C206878300122D1 -S2140152A052429949A847206878308B4B9B699B07E7 -S2140152B001D501F035F8262213235201D9021A43EB -S2140152C00A439249864B9847864B18687830824B3A -S2140152D09B699B0701D501F027F81F233F211F2259 -S2140152E04901DB020A431A4389497D4DA8477D4C93 -S2140152F020687830012252428649A84720687830D3 -S214015300754B9B699B0701D501F013F826221323E1 -S2140153105201D9021A430A437F49714B9847714C8F -S2140153202068783001223121724B98472068783006 -S214015330694B9B699B0701D500F0FFFF10232221D3 -S21401534012224901DB020A431A433921644DA84758 -S214015350644C20687830604B9A887049A84720686A -S214015360783001223021634B984724687834002036 -S2140153706B4B9847012801D800F0E4FF00205C4BF6 -S214015380984703011B1A5B0050334021FF3101226D -S2140153908B4201D900F0EFFF12212000554B9847B0 -S2140153A0504B1C68783400205D4B9847012801D883 -S2140153B000F0EEFF00204E4B984703011B1A5B00DE -S2140153C050334021FF3101228B4201D900F0F9FF11 -S2140153D013212000474B9847424B1C687834002025 -S2140153E04F4B9847012801D800F0F8FF0020404BAA -S2140153F0984703011B1A5B0050334021FF310122FD -S2140154008B4201D901F003F810212000394B98474F -S214015410344B1C6878340020414B9847012801D84A -S21401542001F002F80020324B984703011B1A5B007B -S21401543050334021FF3101228B4201D901F00DF892 -S214015440112120002B4B9847264B1C6878340020EE -S214015450334B9847012801D801F00CF80020244B63 -S214015460984703011B1A5B0050334021FF3101228C -S2140154708B4201D901F017F8142120001D4B9847E3 -S214015480184B1C6878340020254B9847012801D812 -S21401549001F016F80020164B98470301181A400031 -S2140154A050304023FF33984201D901F024F80122FD -S2140154B05242042120000F4DA8470A4C206878303C -S2140154C000221849A8472068783000228221490026 -S2140154D0A84729E02D2401003C4C002089800000CB -S2140154E0ED4D0000384C00204D4F00000CCA010065 -S2140154F0FDF500008D4C0000291000002920000059 -S21401550075020100291100008981000089A00000B0 -S214015510A9800000A9810000A9A0000039020000AE -S21401552019F6000004100000206878300022FA49BD -S214015530A847206878309622B021A847206878309E -S2140155402922B721A847206878300422B621A84727 -S21401555020685430F14B9847246854340020F04BAF -S214015560984783001B189B0050334021FF310122CE -S2140155708B4201D900F0CDFFEA492000EA4DA84749 -S214015580EA4C2068543001220221A847206858308E -S214015590E24B984720685830FF222C21E44B98476D -S2140155A020685830E34DAA882921E34EB047206889 -S2140155B0583001225242E149B04720685830AB6961 -S2140155C09B0701D500F0B3FF092313210A224901E5 -S2140155D0DB020A431A43DA49D74B9847D34B18687C -S2140155E05830D44B9B699B0701D500F0A5FF1F23BC -S2140155F03F211F224901DB020A431A43D149CE4B00 -S2140156009847CA4C20688830C44B98472468883429 -S2140156100020C34B9847830018188300C0185030E9 -S2140156204023FF330122984201D900F08AFFBD4989 -S2140156302000BD4B9847BD4C20688C30B74FB8470B -S21401564020688C30FF222C21B94EB04720688C3060 -S214015650B84DAA882921B84B9846984720688C30BF -S214015660B94B1A88B549C0472068A830B8472068A2 -S214015670A830FF222C21B0472068A830AB699B07D1 -S21401568001D500F06CFF0B2318210E224901DB0225 -S2140156900A431A432921A84B9847A44B1868A830F7 -S2140156A0A44B9B699B0701D500F05EFF07230F21E2 -S2140156B008224901DB020A431A4339219E4B9847C7 -S2140156C09A4B1C68A8340020954B984783001818FD -S2140156D050304023FF330122984201D900F04EFF9B -S2140156E030212000904DA847904C2068A830012218 -S2140156F03121A8472068A8308E4B9B699B0701D5AE -S21401570000F049FF1C233A211D224901DB020A430E -S2140157101A438A49884DA847864BDA68834C206825 -S214015720A8308A498A4B98472068A830894B1A883E -S2140157308949A8472468A8340020794B9847C300B4 -S214015740181A50304023FF330122984201D900F045 -S21401575027FF10212000744B9847744B1C68A8340F -S21401576000206F4B9847C300181A50304023FF3370 -S2140157700122984201D900F01FFF122120006A4B36 -S21401578098476A4B1C68A8340020654B9847C300AD -S214015790181A50304023FF330122984201D900F0F5 -S2140157A017FF13212000604B9847604C2068A430F7 -S2140157B05A4B98472068A4307F2268495C4B98472B -S2140157C02068A430664B1A885D495B4B9847206871 -S2140157D0A430584B9B699B0701D500F005FF1C239D -S2140157E03A211D224901DB020A431A435D49524B05 -S2140157F098474E4B1C68A4340020494B98478300B9 -S2140158001B189B0050334021FF3101228B4201D9E6 -S21401581000F0EFFE10212000434B9847434B1C68D5 -S214015820A43400203E4B984783001B189B0050333E -S2140158304021FF3101228B4201D900F0E8FE1121FF -S2140158402000394B9847394C2068A430394EB2882D -S2140158504549394DA8472068A430F2884349A847EE -S2140158602068AC302D4B98472068AC30FF222C21A5 -S2140158702F4B98472068AC30B2882921A84720686A -S214015880AC30F2883A49A8472468AC340020244B4F -S21401589098478300181850304023FF33012298425E -S2140158A001D900F0C2FE032120001F4DA8471F4C5E -S2140158B02068AC302F4A0121A8472068B030174B2A -S2140158C098472468B03400202B4B9847012801D80C -S2140158D000F0B8FE0020124B984703011B1A5B002C -S2140158E050334021FF3101228B4201D900F0C3FE23 -S2140158F0102120000C4B98470C4B1C68B03400203C -S2140159001D4B9847012801D800F0C2FE0020044B29 -S2140159109847030132E0C046042000002D24010010 -S214015920FDF50000818000008D4C0000384C002001 -S2140159304D4F00003C4C0020ED4D000089800000DA -S21401594029100000899000000CCA01008E8000001A -S214015950A15000000ACA0100A98000002C10000016 -S21401596008CA01008981000089820000898400003C -S21401597029040000FF7F000019F600001B1A5B00D7 -S21401598050334021FF3101228B4201D900F099FEAC -S21401599011212000F24B9847F24B1C68B0340020CE -S2140159A0F14B9847012801D800F098FE0020EF4BF4 -S2140159B0984703011B1A5B0050334021FF31012237 -S2140159C08B4201D900F0A3FE12212000E44B984738 -S2140159D0E44B1C68B0340020E34B9847012801D8FB -S2140159E000F0A2FE0020E14B984703011B1A5B0062 -S2140159F050334021FF3101228B4201D900F0ADFE28 -S214015A0013212000D64B9847D64B1C68B034002093 -S214015A10D54B9847012801D800F0ACFE0020D34BA7 -S214015A20984703011B1A5B0050334021FF310122C6 -S214015A308B4201D900F0B7FE14212000C84B9847CD -S214015A40C84C2068A030CA4B98472068A030C94B84 -S214015A509B699B0701D500F0B3FE10232221122279 -S214015A604901DB020A431A433921C34B9847BD4C0F -S214015A702068A03001223021B94DA8472068A03007 -S214015A8003223121A8472468A0340020B64B98474A -S214015A90012801D800F099FE0020B44B9847030175 -S214015AA01B1A5B0050334021FF3101228B4201D982 -S214015AB000F0A4FE12212000A94B9847A94B1C68B0 -S214015AC0A0340020A84B9847012801D800F0A3FE77 -S214015AD00020A64B984703011B1A5B005033402158 -S214015AE0FF3101228B4201D900F0AEFE13212000C6 -S214015AF09B4B98479B4B1C68A03400209A4B9847B9 -S214015B00012801D800F0ADFE0020984B984703010C -S214015B101B1A5B0050334021FF3101228B4201D911 -S214015B2000F0B8FE102120008D4B98478D4B1C6865 -S214015B30A03400208C4B9847012801D800F0B7FE0E -S214015B4000208A4B984703011B1A5B005033402103 -S214015B50FF3101228B4201D900F0C2FE1121200043 -S214015B607F4B9847834C854B23600122844B1A70E8 -S214015B700020844B9847200004BC9046F0BDBC2012 -S214015B80814B9847814B1860764B1860FEF759FC9D -S214015B9015232A211522FEF77FFC0020734B984718 -S214015BA05030A0217A4B984702B2FEF78EFC0020B7 -S214015BB06E4B984703008000C01840005030A0216B -S214015BC0734B984702B2FEF795FC0020674B984747 -S214015BD003008000C01840005030A0216C4B98474D -S214015BE002B2FEF79CFC1A2337211C22FEF7A7FC03 -S214015BF000205E4B984703004000C0185030A0219B -S214015C00634B984702B2FEF7B5FC0020574B984706 -S214015C1014308000A0215E4B984702B2FEF7BDFC0F -S214015C200020524B984728304000A021584B9847F7 -S214015C3002B2FEF7C5FC00204C4B98475030A0211D -S214015C40534B984702B2FEF7CDFC0020474B9847CE -S214015C500301181A50304023FF330122984201D81D -S214015C60FEF7E0FC0020414B98470301181A50301C -S214015C70A021474B984702B2FEF7D4FC00203B4BCD -S214015C8098470301181A40005030A021404B98470E -S214015C9002B2FEF7C7FC0020344B98470301181ADE -S214015CA050304023FF330122984201D8FEF7D6FC3C -S214015CB000202E4B98470301181A5030A021344B70 -S214015CC0984702B2FEF7CAFC0020284B984703010A -S214015CD0181A40005030A0212D4B984702B2FEF70B -S214015CE0BDFC0020214B98470301181A5030402371 -S214015CF0FF330122984201D8FEF7CCFC00201B4B53 -S214015D0098470301181A5030A021214B984702B238 -S214015D10FEF7C0FC0020154B98470301181A4000F7 -S214015D205030A0211A4B984702B2FEF7B3FC002070 -S214015D300E4B98470301181A50304023FF330122B7 -S214015D40984201D8FEF7C2FC0020084B9847030191 -S214015D50181A5030A0210E4B984702B2FEF7B6FC37 -S214015D608D4C0000384C002019F60000FDF50000AF -S214015D702D2401003C4C0020ED4D0000111C0100BB -S214015D80344C0020CD260000090A0100744D002085 -S214015D90617901000020FC4B98470301181A400066 -S214015DA05030A021F94B984702B2FEF78FFC222211 -S214015DB01123FEF79AFC062310210922FEF7ACFCFC -S214015DC00020F14B98470301181A50304023FF3347 -S214015DD00122984201D8FEF7BEFC0020EA4B984704 -S214015DE00301181A5030A021E84B984702B2FEF77B -S214015DF0B2FC0020E44B98470301181A40005030CB -S214015E00A021E24B984702B2FEF7A5FC0020DE4B2C -S214015E1098470301181A50304023FF330122984255 -S214015E2001D8FEF7B4FC0020D74B98470301181A97 -S214015E305030A021D54B984702B2FEF7A8FC0020AF -S214015E40D14B98470301181A40005030A021CF4B80 -S214015E50984702B2FEF79BFC0020CB4B9847030104 -S214015E60181A50304023FF330122984201D8FEF71A -S214015E70AAFC0020C44B98470301181A5030A021F1 -S214015E80C24B984702B2FEF79EFC0020BE4B9847D5 -S214015E900301181A40005030A021BC4B984702B2AB -S214015EA0FEF791FC0020B84B984714308000A021E3 -S214015EB0B64B984702B2FEF79DFC06231021092235 -S214015EC0FEF7A8FC19220C23FEF701FD0020AE4BBD -S214015ED0984703004000C0185030A021AB4B9847AC -S214015EE002B2FEF725FD0020A74B98470301181ABA -S214015EF050304023FF330122984201D8FEF734FD8B -S214015F000020A14B98470301181A5030A0219F4B3F -S214015F10984702B2FEF728FD00209B4B98470301E5 -S214015F20181A40005030A021984B984702B2FEF74D -S214015F301BFD0020944B98470301181A503040234C -S214015F40FF330122984201D8FEF72AFD00208E4B2E -S214015F5098470301181A5030A0218C4B984702B27B -S214015F60FEF71EFD0020884B98470301181A4000D3 -S214015F705030A021854B984702B2FEF711FD002054 -S214015F80814B98470301181A50304023FF330122F2 -S214015F90984201D8FEF720FD00207B4B984703016D -S214015FA0181A5030A021794B984702B2FEF714FD1B -S214015FB00020754B98470301181A40005030A02165 -S214015FC0724B984702B2FEF707FD00206E4B9847CA -S214015FD00301181A40005030A0216C4B984702B2BA -S214015FE0FEF713FD1D233B211E22FEF724FD002094 -S214015FF0654B984703008000C01880005030A021F0 -S214016000624B984702B2FEF72EFD00205E4B984782 -S21401601003004000C0188000C0185030A0215B4B20 -S214016020984702B2FEF767FD0020574B98470300DA -S2140160304000C0188000C0185030A021534B98472C -S21401604002B2FEF76FFD00204F4B98470300400059 -S214016050C0188000C0185030A0214C4B984702B29F -S214016060FEF777FD0020484B984703004000C01814 -S2140160708000C0185030A021444B984702B2FEF76A -S2140160807FFD0020404B984714308000A0213F4BF5 -S214016090984702B2FEF78BFD00203B4B9847030062 -S2140160A08000C01840005030A021384B984702B2FB -S2140160B0FEF792FD0020344B984703004000C018BD -S2140160C05030A021314B984702B2FEF7ACFD0020BC -S2140160D02D4B984703008000C01840005030A02187 -S2140160E02A4B984702B2FEF7B3FD0020264B98478D -S2140160F014308000A021254B984702B2FEF7F0FD30 -S2140161000020214B984703004000C0185030A021C2 -S2140161101E4B984702B2FEF70CFE00201A4B98471A -S21401612003004000C0185030A021184B984702B217 -S214016130FEF713FE0020144B984703004000C018DA -S2140161405030A021114B984702B2FEF71AFE0020EC -S2140161500D4B984703004000C0185030A0210B4B50 -S214016160984702B2FEF721FE0020074B98471430ED -S2140161708000A021054B984702B2FEF732FE0723A6 -S2140161800F210822FEF742FEFDF5000061790100AD -S2140161900020F84B984703008000C0185030A0211B -S2140161A0F54B984702B2FEF74EFE0020F14B98479A -S2140161B003008000C0185030A021EF4B984702B270 -S2140161C0FEF755FE0020EB4B984703008000C018F1 -S2140161D05030A021E84B984702B2FEF75CFE002043 -S2140161E0E44B984703008000C0185030A021E24BD2 -S2140161F0984702B2FEF763FE0020DE4B9847030085 -S2140162004000C0185030A021DB4B984702B2FEF781 -S2140162106AFE0020D74B984703003220584350307F -S214016220A021D54B984702B2FEF775FE262213230E -S214016230FEF780FE192333211A22FEF798FE00206E -S214016240CC4B9847C300181A5030A021CA4B984728 -S21401625002B2FEF7A9FE0020C64B9847C300181AE3 -S2140162605030A021C44B984702B2FEF7B1FE002081 -S214016270C04B9847C300181A5030A021BE4B984710 -S21401628002B2FEF7B9FE062310210922FEF7D8FE58 -S2140162900020B84B984728304000A021B64B9847BD -S2140162A002B2FEF7E3FE0020B24B98475030A02121 -S2140162B0B14B984702B2FEF7EBFE15232A211522B1 -S2140162C0FEF71DFF0020AB4B9847030064205843A0 -S2140162D05030A021A84B984702B2FEF73EFF00209F -S2140162E0A44B98470300642058435030A021A24B8A -S2140162F0984702B2FEF745FF1F233F211F22FEF7F4 -S2140163007BFF1D233B211D22FEF789FF1F233F2113 -S2140163101F22FEF797FF07230F210822FEF7B5FF7E -S2140163202A221523FEF7C9FF07230F210822FEF7AD -S214016330D7FF2A221523FEF7EBFF1A2337211C224B -S214016340FEF7FFFF00208B4B98470301181A5030C9 -S2140163504023FF330122984201D8FFF71DF80020A1 -S214016360844B98470301181A5030A021824B984756 -S21401637002B2FFF711F800207E4B98470301181A66 -S21401638040005030A0217C4B984702B2FFF704F83A -S2140163900020784B98470301181A50304023FF33EA -S2140163A00122984201D8FFF713F80020714B984755 -S2140163B00301181A5030A0216F4B984702B2FFF71D -S2140163C007F800206B4B98470301181A400050301D -S2140163D0A021694B984702B2FEF7FAFF0020654BF1 -S2140163E098470301181A50304023FF330122984280 -S2140163F001D8FFF709F800205E4B98470301181AE9 -S2140164005030A0215C4B984702B2FEF7FDFF0020FA -S214016410584B98470301181A40005030A021564B9C -S214016420984702B2FEF7F0FF0020524B984703014F -S214016430181A50304023FF330122984201D8FEF744 -S214016440FFFF00204B4B98470301181A5030A0213C -S214016450494B984702B2FEF7F3FF0020454B984799 -S2140164600301181A40005030A021434B984702B24E -S214016470FEF7E6FF00203F4B98470301181A5030FD -S2140164804023FF330122984201D8FEF7F5FF002092 -S214016490384B98470301181A5030A021364B9847BD -S2140164A002B2FEF7E9FF0020324B98470301181AA3 -S2140164B040005030A021304B984702B2FEF7DCFF77 -S2140164C000202C4B98470301181A50304023FF3305 -S2140164D0984203D801225242FEF7EBFF0020254BDB -S2140164E098470301181A5030A021234B984742427F -S2140164F012B2FEF7DEFF00201E4B98470301181A62 -S21401650040005030A0211C4B9847424212B2FEF781 -S214016510D0FF0020174B984703008000C01880006A -S2140165205030A021144B984702B2FFF725F81D23DF -S2140165303B211D22FFF74BF807230F210822FFF707 -S21401654059F800200B4B9847830018188300C01891 -S2140165505030A021084B984702B2FFF768F81F2376 -S2140165603F211F22FFF792F81C233A211E22FFF734 -S214016570A0F8C046FDF50000617901000020DF4B60 -S214016580984703008000C0185030A021DC4B984784 -S21401659002B2FFF7A5F807230F210822FFF7B5F887 -S2140165A00020D64B9847C300181A5030A021D44B70 -S2140165B0984702B2FFF7CDF80020D04B9847C300AA -S2140165C0181A5030A021CE4B984702B2FFF7D5F8E3 -S2140165D00020CA4B9847C300181A5030A021C84B58 -S2140165E0984702B2FFF7DDF807230F210822FFF7CD -S2140165F0F9F80020C14B984703008000C0188000BE -S2140166005030A021BE4B984702B2FFF703F9002095 -S214016610BA4B984703008000C01880005030A02174 -S214016620B74B984702B2FFF70AF90020B34B9847D9 -S21401663003008000C0185030A021B14B984702B229 -S214016640FFF731F90020AD4B98470301181A503077 -S2140166504023FF330122984201D8FFF749F9002071 -S214016660A64B98470301181A5030A021A44B98470F -S21401667002B2FFF73DF90020A04B98470301181A14 -S21401668040005030A0219E4B984702B2FFF730F9E8 -S21401669000209A4B98470301181A50304023FF33C5 -S2140166A00122984201D8FFF773F90020934B9847CF -S2140166B00301181A5030A021914B984702B2FFF7F8 -S2140166C067F900208D4B98470301181A4000503097 -S2140166D0A0218B4B984702B2FFF75AF90020874B4F -S2140166E098470301181A50304023FF33012298427D -S2140166F001D8FFF769F90020804B98470301181A63 -S2140167005030A0217E4B984702B2FFF75DF900207A -S2140167107A4B98470301181A40005030A021784B55 -S214016720984702B2FFF750F90020744B98470301CF -S214016730181A50304023FF330122984201D8FFF740 -S2140167405FF900206D4B98470301181A5030A021BD -S2140167506B4B984702B2FFF753F90020674B9847F7 -S2140167600301181A40005030A021654B984702B229 -S214016770FFF746F90020614B98470301181A50307D -S2140167804023FF330122984201D8FFF755F9002034 -S2140167905A4B98470301181A5030A021584B984776 -S2140167A002B2FFF749F90020544B98470301181A23 -S2140167B040005030A021524B984702B2FFF73CF9F7 -S2140167C01A2337211C22FFF74BF900204B4B984721 -S2140167D00301181A50304023FF330122984201D892 -S2140167E0FFF768F90020454B98470301181A503007 -S2140167F0A021434B984702B2FFF75CF900203F4BBC -S21401680098470301181A40005030A0213C4B984786 -S21401681002B2FFF74FF90020384B98470301181AC8 -S21401682050304023FF330122984201D8FFF75EF92A -S2140168300020324B98470301181A5030A021304BE4 -S214016840984702B2FFF752F900202C4B98470301F4 -S214016850181A40005030A021294B984702B2FFF782 -S21401686045F90020254B98470301181A503040235C -S214016870FF330122984201D8FFF754F900201F4B3D -S21401688098470301181A5030A0211D4B984702B2B1 -S214016890FFF748F90020194B98470301181A4000E2 -S2140168A05030A021164B984702B2FFF73BF9002063 -S2140168B0124B98470301181A50304023FF33012228 -S2140168C0984201D8FFF74AF900200C4B984703017C -S2140168D0181A5030A0210A4B984702B2FFF73EF92A -S2140168E00020064B98470301181A40005030A0219B -S2140168F0034B984702B2FFF731F9C046FDF5000099 -S2140169006179010070B5E94D20236B61E84C1F3BAE -S21401691023700020E74B9847FA2200230021E64E19 -S214016920B047E64A002380185941E54A0023E54E60 -S214016930B047E54B984740236B612378002B04D181 -S21401694020226A611F3ADA4B1A70E222DF49E048D8 -S214016950E04B9847D54B40229A615A61D44B1B783D -S214016960002B05D0203AD14B9A610022D04B1A70E9 -S2140169702322D649D648D74B9847CC4B40229A611A -S2140169805A61CB4B1B78002B05D0203AC74B9A6136 -S2140169900022C74B1A700222CC49CD48CD4B9847EE -S2140169A0C24B40229A615A61C14B1B78002B05D01D -S2140169B0203ABE4B9A610022BD4B1A700422C3498D -S2140169C0C348C44B9847B94B40229A615A61B84BA9 -S2140169D01B78002B05D1203AB44B5A611F3AB44BB1 -S2140169E01A70E022B949BA48BA4B9847AF4B4022D1 -S2140169F09A615A61AE4B1B78002B05D0203AAB4BFF -S214016A009A610022AA4B1A700122B049B048B14BD4 -S214016A109847A64C4025A5610020A64B9847020042 -S214016A200023A648002180185941A54A0023A54EF7 -S214016A30B047A54B984765619D4B1B78002B04D149 -S214016A40202262611F3A9A4B1A70E0229F49A048A1 -S214016A50A04B9847954B40229A615A61944B1B78FC -S214016A60002B05D0203A914B9A610022904B1A7068 -S214016A70032296499648974B98478C4C4025A5612A -S214016A8000208C4B9847020000238C480021801878 -S214016A9059418B4A00238B4EB0478B4B9847656113 -S214016AA0834B1B78002B04D1202262611F3A804B56 -S214016AB01A70012285498648864B98477B4C4025AB -S214016AC0A56100207B4B9847020000237B480021EC -S214016AD0801859417A4A00237A4EB0477A4B984734 -S214016AE06561734B1B78002B04D1202262611F3A2B -S214016AF06F4B1A70E62275497548764B98476B4B73 -S214016B0040229A615A616A4B1B78002B05D0203AC5 -S214016B10664B9A610022664B1A7001226B496C48DB -S214016B206C4B9847614B40229A615A61604B1B78C7 -S214016B30002B05D0203A5D4B9A6100225C4B1A70FF -S214016B40332262496248634B9847584B40229A6108 -S214016B505A61574B1B78002B05D0203A534B9A614C -S214016B600022534B1A70332258495948594B9847BB -S214016B704E4B40229A615A614D4B1B78002B05D132 -S214016B80203A4A4B5A611F3A494B1A70B0224F4974 -S214016B904F48504B9847454B40229A615A61444BA7 -S214016BA01B78002B05D0203A404B9A610022404BBF -S214016BB01A70202245494648464B98473B4B40228F -S214016BC09A615A613A4B1B78002B05D0203A374B15 -S214016BD09A610022364B1A7000223C493C483D4BD4 -S214016BE09847324C4025A5613B4B98473B4B98470D -S214016BF0421E121265612E4B1B78002B04D02021F9 -S214016C00A16100212A4B1970FF2002402F4930480C -S214016C10304B9847254C4025A5612F4B98472F4B65 -S214016C2098470138C2B26561214B1B78002B04D00E -S214016C302021A16100211E4B197024492448254BAF -S214016C4098471A4C4025A561234B9847244B9847F3 -S214016C50421E12126561164B1B78002B04D02021B0 -S214016C60A1610021124B1970FF20024017491848F4 -S214016C70184B98470D4C4025A561174B9847184B64 -S214016C8098470138C2B26561094B1B78002B04D0C6 -S214016C902021A1610021064B19700C490C480D4BAF -S214016CA09847024B40229A615A611BE0004400411A -S214016CB05C000020651000008D7C0100571B000061 -S214016CC0581B00004D7C010001000020F7C3031C87 -S214016CD080440041AD770100A1F50000ADF500004C -S214016CE0D5F50000E54B1B78002B05D0203AE44B88 -S214016CF09A610022E14B1A700022E249E248E34B16 -S214016D009847DF4C4025A5610020E14B98470200DB -S214016D100023E048002180185941DF4A0023DF4E56 -S214016D20B047DF4B98476561D44B1B78002B04D1E5 -S214016D30202262611F3AD14B1A70B422D149D2483F -S214016D40D24B9847CE4B40229A615A61CB4B1B7867 -S214016D50002B05D0203ACA4B9A610022C74B1A7005 -S214016D600222C849C848C94B9847C54B40229A6178 -S214016D705A61C24B1B78002B05D0203AC04B9A6152 -S214016D800022BE4B1A700D22BE49BF48BF4B984722 -S214016D90BB4B40229A615A61B84B1B78002B05D039 -S214016DA0203AB74B9A610022B44B1A700122B549BA -S214016DB0B548B64B9847B24B40229A615A61AF4BE1 -S214016DC01B78002B05D0203AAD4B9A610022AB4BC5 -S214016DD01A70E022AB49AC48AC4B9847A84B40220E -S214016DE09A615A61A54B1B78002B05D0203AA44B1B -S214016DF09A610022A14B1A700522A249A248A34B10 -S214016E0098479F4B40229A615A619C4B1B78002BF6 -S214016E1005D0203A9A4B9A610022984B1A700022AC -S214016E2098499948994B9847954B40229A615A61DF -S214016E30924B1B78002B05D0203A914B9A61002289 -S214016E408E4B1A7028228F498F48904B98478C4B4F -S214016E5040229A615A61894B1B78002B05D0203A53 -S214016E60874B9A610022854B1A7000228549864815 -S214016E70864B9847824B40229A615A617F4B1B781A -S214016E80002B05D1203A7E4B5A611F3A7B4B1A7074 -S214016E90B6227C497C487D4B9847794B40229A61C3 -S214016EA05A61764B1B78002B05D0203A744B9A61B9 -S214016EB00022724B1A70012272497348734B98472D -S214016EC06F4B40229A615A616C4B1B78002B05D0A0 -S214016ED0203A6B4B9A610022684B1A70202269494E -S214016EE069486A4B9847664B40229A615A61634BE0 -S214016EF01B78002B05D0203A614B9A6100225F4B2C -S214016F001A7001225F496048604B98475C4B4022EB -S214016F109A615A61594B1B78002B05D0203A584B81 -S214016F209A610022554B1A70102256495648574B03 -S214016F309847534B40229A615A61504B1B78002B5D -S214016F4005D0203A4E4B9A6100224C4B1A7008220B -S214016F504C494D484D4B9847494B40229A615A61DE -S214016F60464B1B78002B05D0203A454B9A610022F0 -S214016F70424B1A70002243494348444B9847404BC2 -S214016F8040229A615A613D4B1B78002B05D0203A6E -S214016F903B4B9A610022394B1A70082239493A480C -S214016FA03A4B9847364B40229A615A61334B1B78CD -S214016FB0002B05D1203A324B5A611F3A2F4B1A70DB -S214016FC0B82230493048314B98472D4B40229A61C0 -S214016FD05A612A4B1B78002B05D0203A284B9A6120 -S214016FE00022264B1A700F2226492748274B98471E -S214016FF0234B40229A615A61204B1B78002B05D007 -S214017000203A1F4B9A6100221C4B1A7001221D491F -S2140170101D481E4B98471A4B40229A615A61174BDE -S2140170201B78002B05D1203A154B5A611F3A134B9A -S2140170301A70BA2213491448144B9847104B402231 -S2140170409A615A610D4B1B78002B05D0203A0C4BE8 -S2140170509A610022094B1A7001220A490A480B4B11 -S2140170609847074B40229A615A61044B1B78002BC4 -S2140170701AD1203A024B5A611F3A13E05C000020F5 -S21401708000440041F7C3031C80440041AD77010072 -S21401709065100000571B0000581B00004D7C0100C6 -S2140170A001000020D44B1A703622D449D448D54B5F -S2140170B09847D54B40229A615A61CF4B1B78002BDB -S2140170C005D0203AD04B9A610022CB4B1A70082289 -S2140170D0CA49CB48CB4B9847CB4B40229A615A6161 -S2140170E0C54B1B78002B05D1203AC74B5A611F3A76 -S2140170F0C14B1A703A22C149C148C24B9847C24B8C -S21401710040229A615A61BC4B1B78002B05D0203A6D -S214017110BD4B9A610022B84B1A705022B749B84845 -S214017120B84B9847B84B40229A615A61B24B1B78CC -S214017130002B05D1203AB44B5A611F3AAE4B1A7058 -S214017140F022AE49AE48AF4B9847AF4B40229A610A -S2140171505A61A94B1B78002B05D0203AAA4B9A619D -S2140171600022A54B1A700322A449A548A54B9847AF -S214017170A54B40229A615A619F4B1B78002B05D183 -S214017180203AA14B5A611F3A9B4B1A70BC229B496D -S2140171909B489C4B98479C4B40229A615A61964B60 -S2140171A01B78002B05D0203A974B9A610022924B10 -S2140171B01A70402291499248924B9847924B40222E -S2140171C09A615A618C4B1B78002B05D0203A8E4B66 -S2140171D09A610022884B1A70802288498848894B18 -S2140171E09847894B40229A615A61834B1B78002B42 -S2140171F005D0203A844B9A6100227F4B1A704022B8 -S2140172007E497F487F4B98477F4B40229A615A615F -S214017210794B1B78002B05D0203A7B4B9A610022D4 -S214017220754B1A70012275497548764B9847764C0E -S2140172304025A5610020754B98470200002374483D -S214017240002180185941734A0023734EB047734B8F -S21401725098476561684B1B78002B04D12022626138 -S2140172601F3A654B1A70292264496548654B984751 -S214017270654B40229A615A615F4B1B78002B05D102 -S214017280203A614B5A611F3A5B4B1A70BE225B492A -S2140172905B485C4B98475C4B40229A615A61564B5F -S2140172A01B78002B05D0203A574B9A610022524B8F -S2140172B01A70062251495248524B9847524B402267 -S2140172C09A615A614C4B1B78002B05D0203A4E4BE5 -S2140172D09A610022484B1A70802248494848494B17 -S2140172E09847494B40229A615A61434B1B78002BC1 -S2140172F005D0203A444B9A6100223F4B1A70012276 -S2140173003E493F483F4B98473F4B40229A615A615E -S214017310394B1B78002B05D0203A3B4B9A61002253 -S214017320354B1A70F02235493548364B9847364B5F -S21401733040229A615A61304B1B78002B05D0203AC7 -S214017340314B9A6100222C4B1A7000222B492C4893 -S2140173502C4B98472C4B40229A615A61264B1B783E -S214017360002B05D0203A284B9A610022224B1A7036 -S214017370002222492248234B9847234B40229A61F8 -S2140173805A611D4B1B78002B05D1203A1E4B5A61C2 -S2140173901F3A194B1A70D02218491948194B9847A9 -S2140173A0194B40229A615A61134B1B78002B05D06A -S2140173B0203A154B9A6100220F4B1A700D220F4985 -S2140173C00F48104B984740220F4B9A6100200F4BF5 -S2140173D0984702000023110F1001801A99410018E6 -S2140173E049410B4A0023801859410A4A00230A4C96 -S2140173F0A0470A4B984770BD5C000020F7C3031CEA -S21401740080440041AD770100004400416510000052 -S214017410571B0000581B00004D7C01000100002096 -S214017420F0B5DE4657464E464546E0B583B0009079 -S2140174300F00160004228B5E002B0CDB06228B5EEF -S214017440002B08DB0023CC5EB24B9847B24B984723 -S2140174500138844206DD03B03CBC90469946A246FC -S214017460AB46F0BD0223FC5EAA4B9847AB4B984750 -S21401747001388442EFDC3B881D1C1BB2002B00DA6E -S21401748036E12BB299467B881C1C1BB2002B00DA16 -S21401749030E124B2A3460423FD5E9E4B98479E4BE3 -S2140174A098470138854200DD26E10423FD5E062269 -S2140174B0BB5E9A46974B9847984B9847013882454A -S2140174C000DD1FE10622BB5E9A464022944B5A61BC -S2140174D0944B1B78002B05D1203A914B5A611F3AE9 -S2140174E0904B1A702A2290499048914B98478C4BA2 -S2140174F0402199614A46101259618A4B1B78002B2C -S21401750005D02022864B9A610022864B1A70FF22F4 -S214017510024085498548864B9847814B40219961B1 -S2140175204A4668460271027959617E4B1B78002BE8 -S21401753005D020397A4B996100217A4B19707A4926 -S2140175407A487B4B9847764B4021996128125961BE -S214017550744B1B78002B05D02022714B9A610022B8 -S214017560704B1A70FF2202406F497048704B984763 -S2140175706B4B40229A615A616A4B1B78002B05D0EF -S214017580203A674B9A610022664B1A70FF222A4006 -S21401759065496648664B9847614B40229A615A6135 -S2140175A0604B1B78002B05D1203A5D4B5A611F3A80 -S2140175B05C4B1A702B225C495C485D4B9847584BD4 -S2140175C0402199615A4610125961564B1B78002B7F -S2140175D005D02022524B9A610022524B1A70FF228C -S2140175E0024051495148524B98474D4B40219961B1 -S2140175F0E2B259614B4B1B78002B05D02039484B22 -S21401760099610021474B197047494848484B9847AC -S214017610434B40219961524610125961414B1B78E8 -S214017620002B05D020223E4B9A6100223D4B1A705A -S214017630FF2202403C493D483D4B9847384B40228B -S2140176409A615A61374B1B78002B05D0203A344B90 -S2140176509A610022334B1A70FF2253461A40324970 -S2140176603248334B98472E4B40229A615A612D4B34 -S2140176701B78002B05D1203A294B5A611F3A294B1A -S2140176801A702C2228492948294B98474022244B16 -S2140176909A61BB8801333A889B1A9FB2214A1278B5 -S2140176A0002A05D020211E4A916100211D4A117031 -S2140176B040211B4A51614B46ED1A0135ADB2DA4500 -S2140176C00FDB7F001B4B984601953D005746019BFB -S2140176D0320015491548C0477619013424B2A7422D -S2140176E0F5DA40220E4B9A610098134B9847B2E6A2 -S2140176F00025C6E60024CCE6064B9847064B98477D -S214017700451ED4E6034B9847044B9847431E9A46BA -S214017710DBE6C046A1F50000ADF50000D5F500009A -S214017720004400415C000020F7C3031C8044004174 -S214017730AD770100C577010071F6000030B583B062 -S21401774001AA00249470012515705470124913483B -S214017750134B98476B469C705C701D7069460420FD -S214017760104CA04769460520A04769460620A04759 -S21401777069460720A04769460A20A0470A4B1022FF -S2140177809A6110329A6120329A6140329A6180225F -S214017790D2009A6103B030BDF7C3031C8044004198 -S2140177A0110D0000ED0C00000044004113000B40D9 -S2140177B0836191434161024B80225A619A6170470D -S2140177C000440041F0B583B000900191002B0AD02F -S2140177D015001F000024054E04CD01990098B047FE -S2140177E00134BC42F8D103B0F0BDC046AD7701000C -S2140177F0704700000FB430B5C3B046AC20CC0222AF -S214017800FF32002101A80D4B984700942200290061 -S21401781001A80B4B984701A80A4B984782B28023D0 -S2140178205B009A4204D943B030BC08BC04B0184788 -S21401783001A90548054B9847F5E7C0462D7F01008D -S214017840A17F0100617F0100584C00200D09000056 -S21401785070B590B08023DB05009300230193FF22CF -S21401786069460A8100228B72CB7201242421684664 -S21401787044540131445401314354013143540A9371 -S214017880053143540131435405930382C37602768E -S21401789002774276132383764277E1235B020893CD -S2140178A0184B0C93184B0D9301235B420E930F93C9 -S2140178B080235B030393154E6A4615493000154B2A -S2140178C0984735682800144B98471F231840844072 -S2140178D0124B1C603268D369002BFCD12B68022244 -S2140178E013432B60094C013A0D4920000D4B984774 -S2140178F03122A35C02210B43A3540B480B4B984740 -S21401790010B070BD0200160002001700584C00208F -S21401791000140042A9050000B50B000000E100E0DC -S21401792031790100C90900001CCA0100F577010080 -S21401793010B5034B1988C9B20248034B984710BDCE -S214017940304E002018CA0100F577010010B5024B31 -S2140179509847024CA047FDE769010000F5010000C9 -S214017960002243088B4274D303098B425FD3030A78 -S2140179708B4244D3030B8B4228D3030C8B420DD38B -S214017980FF22090212BA030C8B4202D31212090219 -S21401799065D0030B8B4219D300E0090AC30B8B4257 -S2140179A001D3CB03C01A5241830B8B4201D38B0305 -S2140179B0C01A5241430B8B4201D34B03C01A5241AA -S2140179C0030B8B4201D30B03C01A5241C30A8B42ED -S2140179D001D3CB02C01A5241830A8B4201D38B02D8 -S2140179E0C01A5241430A8B4201D34B02C01A52417C -S2140179F0030A8B4201D30B02C01A5241CDD2C309EE -S214017A008B4201D3CB01C01A524183098B4201D369 -S214017A108B01C01A524143098B4201D34B01C01A54 -S214017A20524103098B4201D30B01C01A5241C308CC -S214017A308B4201D3CB00C01A524183088B4201D33B -S214017A408B00C01A524143088B4201D34B00C01A27 -S214017A505241411A00D20146524110467047FFE793 -S214017A6001B5002000F0F0F802BDC0460029F7D0AD -S214017A7076E7704703460B437FD4002243088B42C8 -S214017A8074D303098B425FD3030A8B4244D3030B9F -S214017A908B4228D3030C8B420DD3FF22090212BA64 -S214017AA0030C8B4202D31212090265D0030B8B42E0 -S214017AB019D300E0090AC30B8B4201D3CB03C01ACA -S214017AC05241830B8B4201D38B03C01A5241430BA5 -S214017AD08B4201D34B03C01A5241030B8B4201D395 -S214017AE00B03C01A5241C30A8B4201D3CB02C01A00 -S214017AF05241830A8B4201D38B02C01A5241430A78 -S214017B008B4201D34B02C01A5241030A8B4201D366 -S214017B100B02C01A5241CDD2C3098B4201D3CB010D -S214017B20C01A524183098B4201D38B01C01A5241BC -S214017B3043098B4201D34B01C01A524103098B42C0 -S214017B4001D30B01C01A5241C3088B4201D3CB00AB -S214017B50C01A524183088B4201D38B00C01A52418E -S214017B6043088B4201D34B00C01A5241411A00D23E -S214017B7001465241104670475DE0CA0F00D04942A7 -S214017B80031000D34042534000229C4603098B4217 -S214017B902DD3030A8B4212D3FC22890112BA030A9F -S214017BA08B420CD3890192118B4208D38901921121 -S214017BB08B4204D389013AD0921100E08909C309A6 -S214017BC08B4201D3CB01C01A524183098B4201D3A8 -S214017BD08B01C01A524143098B4201D34B01C01A93 -S214017BE0524103098B4201D30B01C01A5241C3080B -S214017BF08B4201D3CB00C01A524183088B4201D37A -S214017C008B00C01A5241D9D243088B4201D34B0094 -S214017C10C01A5241411A00D20146634652415B10D6 -S214017C20104601D34042002B00D5494270476346B7 -S214017C305B1000D3404201B5002000F005F802BDFC -S214017C400029F8D016E770477047C046002B11D1BF -S214017C50002A0FD1002900D1002802D00021C943F3 -S214017C60081C07B4024802A14018029003BDC04692 -S214017C70D9FFFFFF03B4684601B5029800F030F85B -S214017C80019B9E4602B00CBC7047C046F0B5CE467E -S214017C90474615042D0C2E0080B50704140C3F0C26 -S214017CA09946030C7E435D43674363437F19340C57 -S214017CB0E4199C46A54203D980235B029846C44436 -S214017CC04B46514343433604360C250C2404654485 -S214017CD0A4195918491920000CBC90469946F0BDC4 -S214017CE0F0B557464E464546DE46E0B5040083B03D -S214017CF00D00924699468B422FD82CD049465046C5 -S214017D0000F0CCF829000600200000F0C7F8331A6E -S214017D109846203B9B4600D574E053465A4693400E -S214017D201F005346424693401E00AF4229D826D034 -S214017D305B46A41BBD41002B00DA79E0002200233C -S214017D400092019301235A46934001930123424630 -S214017D509340009319E08242D0D90022002300927A -S214017D6001930C9B002B01D01C605D60009801996B -S214017D7003B03CBC90469946A246AB46F0BDA34232 -S214017D80D6D900220023009201934346002BE8D067 -S214017D90FB0772081A4346467B080EE0AB4201D148 -S214017DA0A2420CD8A41A9D41012024196D4100213C -S214017DB0013E24184D41002E06D0AB42EED9013EBD -S214017DC024196D41002EF8D15B46009801990019DF -S214017DD06941002B22DB2B005A46D3402A00444639 -S214017DE0E2401C005B461500002B2CDB26009E4063 -S214017DF0330026004746BE403200801A9941009063 -S214017E000191AEE7424620239B1A5246DA4041468C -S214017E1013004A468A4017001F4382E74246202342 -S214017E209B1A2A0046469A402300F3401343D5E79F -S214017E304246202300219B1A002200910192012232 -S214017E40DA40019282E74246202326009B1ADE4052 -S214017E502F00B446974066463B003343C9E7C04609 -S214017E601C2101231B04984201D3000C10391B0A64 -S214017E70984201D3000A08391B09984201D3000928 -S214017E80043902A2105C40187047C046040302027F -S214017E9001010101000000000000000010B50029EA -S214017EA003D1FFF7DDFF203002E0081CFFF7D8FF03 -S214017EB010BDC04670B500260C4D0D4C641BA410B9 -S214017EC0A64209D1002604F0CBFD0A4D0A4C641BDC -S214017ED0A410A64205D170BDB300EB5898470136F1 -S214017EE0EEE7B300EB5898470136F2E76CCA01009B -S214017EF06CCA01006CCA010070CA010030B50024CA -S214017F00A24201D1002005E0035D651C0C5DA34281 -S214017F1001D0181B30BD2C00F2E7002310B59A42A1 -S214017F2000D110BDCC5CC4540133F8E703008218BD -S214017F30934200D1704719700133F9E702780B7844 -S214017F40002A03D0013001319A42F7D0D01A704787 -S214017F50031C0A7801311A700133002AF9D17047DF -S214017F600023C25C0133002AFBD1581E7047000073 -S214017F7030B59BB00091049108496D460291059178 -S214017F80012182244942E981A4006946AC8100F0BE -S214017F9075F80023009A13701BB030BDFFFFFF7FFA -S214017FA010B513000A00010002480068FFF7E0FF61 -S214017FB010BDC04660000020F0B58E6885B0070091 -S214017FC00C00039201939E4239D890238A89DB00E4 -S214017FD01A4234D00325096923685B1A0293636940 -S214017FE002985D43EB0F5D19019B6D1001331B1861 -S214017FF0AB4200D91D00530532D52900380000F0E8 -S21401800031FB061E09D10C233B6040230120A289C7 -S21401801040421343A38105B0F0BD029A2169FFF7E0 -S2140180207CFFA389144A1A4080231343A381029B31 -S2140180302661F61826606561019EED1AA560019B12 -S214018040B34200D21E0032000399206800F0ADFA58 -S214018050A36800209B1BA36023689E192660DAE7AD -S2140180602A00380000F05CFB061EE0D121693800CA -S21401807000F0AEFAC7E7C0467FFBFFFFF0B59FB042 -S214018080029005938B890F0016001B0611D50B690C -S214018090002B0ED1402100F0E5FA38603861002847 -S2140180A005D10C23029A013813601FB0F0BD40239E -S2140180B07B61002306AD6B6120336B761033AB76A4 -S2140180C034002378002B47D1A31B04930DD0A31BA8 -S2140180D0320039000298FFF76FFF431C00D1B5E06C -S2140180E06A69049B944663446B612378002B00D134 -S2140180F0ACE00122002352426A6002A954325218AF -S21401810001342B60EB60AB601370AB65584E0522F3 -S2140181102178300000F03EFA621C002820D1296840 -S214018120CB0604D5532302AE20309B1918700B07DB -S21401813004D553232B2002AE9B19187023782A2BC3 -S21401814016D000200A21099B2278303A092A55D9EF -S214018150002815D0099313E0252BB5D00134B0E7DC -S2140181600123801B8340296814000B432B60CDE755 -S214018170059B181D1B680590002B39DB099314001D -S21401818023782E2B0BD16378621C2A2B3ED1059BBC -S21401819002341A1D1B680592002B34DB0793354EFB -S2140181A021780322300000F0F5F9002806D040239C -S2140181B0801B83402A68013413432B6021780622F2 -S2140181C02D48661C297600F0E5F9002846D02B4B91 -S2140181D0002B2FD12968059B0722C90528D59B1896 -S2140181E09343083305936B69039A9B186B6167E7A2 -S2140181F05B42EB6002230B432B60C0E74B43013429 -S2140182009B180120A0E701235B42C7E70023140067 -S2140182100A201A006B6021783039092903D9002B0E -S214018220BDD00792BBE74243013452180123F2E75F -S2140182300733D5E705AB00933A00114B29000298A6 -S21401824000E000BF0390039B0133CCD1BB890B98A0 -S2140182505B0600D429E70120404226E705AB0093E0 -S2140182603A00074B2900029800F07AF8EAE7C04680 -S2140182702CCA010032CA010036CA01000000000003 -S214018280B97F0100F7B5150001938A680B69009064 -S2140182900C00934200DA130022002B60433212785E -S2140182A0002A01D001332B6023689B0602D52B6878 -S2140182B002332B60062723681F4027D02300433351 -S2140182C01B785A1E93412268920630D422000199E7 -S2140182D043320098089EB047431C25D006232068E9 -S2140182E02A68E16803400025042B03D18D1AEB436D -S2140182F0DB171D40A3682269934201DD9B1AED1826 -S2140183000027BD4220D1002010E00137E3682A682B -S2140183109B1A9F42D2DA2200012319320199009852 -S214018320089EB047431CF0D101204042FEBD3020DC -S214018330E1184331087021005A1C45310978A2180A -S214018340433202331170C1E7220001231A32019928 -S2140183500098089EB047431CE6D00137D1E70000DD -S214018360F0B58BB006920A0043320793059004924B -S2140183700A7E0C00109B6E2A00D18FE017D8632A64 -S2140183802CD008D8002A00D199E0582A54D02600CB -S2140183904236327029E0642A01D0692AF7D1216871 -S2140183A01A68080623D5111D1960156825E0732A79 -S2140183B000D188E008D86F2A29D0702AE7D1202278 -S2140183C009680A43226003E0752A20D0782ADED1A4 -S2140183D022007821453211706C4A30E00E001A688E -S2140183E04236111D196013683370012379E049067E -S2140183F0D9D5111D19600023D55E002D03DA2D2372 -S214018400049A6D421370624B0A2703932FE020688B -S2140184101968050603D5081D18600D6805E04006B5 -S214018420F9D50D68081D1860ADB2594B082703939E -S2140184306F2A18D00A2716E045310A70544A03926B -S2140184401A682168101D18601568080622D5CB0722 -S21401845002D52023194321601027002D03D12023A4 -S21401846022689A4322602300002243331A7063680D -S214018470A360002B5CDB0422216891432160002D60 -S21401848058D1049E002B64D02600039B42361B78ED -S21401849033705EE04806DAD5ADB2D8E709681A68E7 -S2140184A0080605D5111D1960136862691A6006E091 -S2140184B04906F7D5111D19601368A28A1A80002390 -S2140184C0049E236154E01A68111D19601668002184 -S2140184D06268300000F05EF8002801D0801B606002 -S2140184E0636823610023049A137041E02369320014 -S2140184F006990598079DA847431C43D02368002585 -S2140185009B070FD4099BE06898423DDA18003BE0D0 -S21401851022000123193206990598079EB047431C8D -S21401852030D00135E368099A9B1A9D42F0DBE9E7F2 -S214018530002DA9D0049E28003900FFF797FA039B67 -S214018540013E5B5C280033703900FFF709FA051E0F -S214018550F1D1082F09D12368DB0706D563682269A4 -S214018560934202DC3023013E3370049B9B1B236144 -S214018570079B09AA00932100069B0598FFF782FE38 -S214018580431CB3D1012040420BB0F0BD4ECA0100DE -S2140185903DCA0100C9B28218904201D1002070473D -S2140185A003788B42FBD00130F6E710B5884202D93A -S2140185B08B18984208D300239A4207D0CC5CC45447 -S2140185C00133F9E78B5C8354013AFBD210BD0000FE -S2140185D070B50500002910D00C1F2368002B00DAA7 -S2140185E0E418280000F0D4F81D4A1368002B05D1C2 -S2140185F063601460280000F0CCF870BDA34209D96E -S214018600216860188342F3D118685B6841182160BD -S214018610EEE713005A68002A01D0A242F9D9196878 -S2140186205818A0420BD120680918581819608242C0 -S214018630E0D110685268411819605A60DAE7A04222 -S21401864002D90C232B60D5E721686018824203D13A -S214018650106852684118216062605C60CAE7C046D3 -S2140186608C4C0020032370B5CD1C9D4308350600B5 -S2140186700C2D1ED20C25A9421DD8300000F088F81A -S214018680254A14682100002919D1244C2368002B9F -S21401869003D1300000F06AF820602900300000F0B5 -S2140186A065F8431C2CD10C233000336000F071F8C0 -S2140186B003E0002DDFDA0C233360002070BD0B6869 -S2140186C05B1B1AD40B2B03D90B60CC18256003E077 -S2140186D08C420ED163681360300000F05AF8200017 -S2140186E007220B30231D9043C31AE7D05A42E250AB -S2140186F0E4E74B6863600C00EEE70C004968C2E7EC -S2140187000323C41C9C43A042E0D0211A300000F091 -S2140187102DF8431CDAD1C6E78C4C0020904C002083 -S214018720F8B507000D001600002905D11100FFF766 -S21401873099FF04002000F8BD002A03D1FFF748FF87 -S2140187403400F7E700F026F82C008642F2D9310013 -S2140187503800FFF787FF041EECD029003200FFF730 -S214018760DCFB29003800FFF733FFE3E7002370B591 -S214018770064C050008002360E8F73AFE431C03D1C7 -S2140187802368002B00D02B6070BDC046344E0020FD -S214018790704770470B1F1B68181F002B01DA0B5818 -S2140187A0C018704700080042000C0042001000424A -S2140187B00014004200180042001C0042460D000052 -S2140187C0420D0000420D0000A80D0000A80D00009B -S2140187D05A0D00004C0D0000600D0000960D0000C3 -S2140187E0300E0000100E0000100E00009C0E00005F -S2140187F0220E00003E0E0000140E00004C0E00007B -S2140188008C0E00004F7574206F66206D656D6F725B -S214018810790000F842220000BE220000C8220000B3 -S214018820DE220000EE220000FE2200001C230000D3 -S214018830342300004A23000068230000722300004E -S2140188408823000098230000A8230000C623000008 -S214018850DE230000E8230000FE2300000E240000B3 -S2140188601E2400003C240000FFFF00004E554C4C27 -S21401887020706F696E746572000000006C765F6F21 -S214018880626A0000E00700008C7E0000907E000017 -S2140188908C7E0000947E0000987E00009C7E000086 -S2140188A0A07E0000947E0000987E00009C7E000062 -S2140188B0A07E0000FFFF00004E6F0A646174610035 -S2140188C050810000388100003C810000408100009A -S2140188D04481000048810000FF00000000FF000006 -S2140188E00055AAFF00112233445566778899AABB22 -S2140188F0CCDDEEFF000102030405060708090A0B9A -S2140189000C0D0E0F101112131415161718191A1B29 -S2140189101C1D1E1F202122232425262728292A2B19 -S2140189202C2D2E2F303132333435363738393A3B09 -S2140189303C3D3E3F404142434445464748494A4BF9 -S2140189404C4D4E4F505152535455565758595A5BE9 -S2140189505C5D5E5F606162636465666768696A6BD9 -S2140189606C6D6E6F707172737475767778797A7BC9 -S2140189707C7D7E7F808182838485868788898A8BB9 -S2140189808C8D8E8F909192939495969798999A9BA9 -S2140189909C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB99 -S2140189A0ACADAEAFB0B1B2B3B4B5B6B7B8B9BABB89 -S2140189B0BCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB79 -S2140189C0CCCDCECFD0D1D2D3D4D5D6D7D8D9DADB69 -S2140189D0DCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEB59 -S2140189E0ECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFB49 -S2140189F0FCFDFEFF8080808181828283848586875C -S214018A00898A8C8D8F91939597999B9EA0A2A5A7F5 -S214018A10AAADAFB2B5000000FFFF0000001122337F -S214018A20445566778899AABBCCDDEEFF0011223348 -S214018A30445566778899AABBCCDDEEFF62696E0065 -S214018A4054EA00005AEA0000F0E9000042EA000099 -S214018A5048EA000054EA000054EA000054EA000024 -S214018A604EEA000090EC000094EC00005AEC000086 -S214018A7084EC000088EC000090EC000090EC000014 -S214018A8090EC00008CEC00003AEC00003EEC00009C -S214018A9004EC00002EEC000032EC00003AEC000082 -S214018AA03AEC00003AEC000036EC00008AEB0000DD -S214018AB08EEB000064EB00007EEB000082EB000012 -S214018AC08AEB00008AEB00008AEB000086EB0000D0 -S214018AD008ED00005CED000062ED000068ED0000AE -S214018AE06EED000074ED00007AED000080ED0000F0 -S214018AF030EE000034EE000020EE000024EE000010 -S214018B0028EE000030EE000030EE000030EE0000EF -S214018B102CEE000090F0000094F0000080F00000C1 -S214018B2084F0000088F0000090F0000090F0000053 -S214018B3090F000008CF0000008F0000038F0000013 -S214018B40F8EF0000FCEF000000F0000008F0000065 -S214018B5008F0000008F0000004F00000D0EF00006C -S214018B60D6EF00008CEF0000BEEF0000C4EF00005F -S214018B70D0EF0000D0EF0000D0EF0000CAEF0000F9 -S214018B800AF1000066F100006CF1000072F10000CD -S214018B9078F100007EF1000084F100008AF1000007 -S214018BA0200000005F00010000000000000000003F -S214018BB000000000B0000000F3F76000D0C701001D -S214018BC0000000003B000200000000000000000062 -S214018BD0000050040000000000005004030C0100D7 -S214018BE012004006050501071F00400B0B0C000094 -S214018BF06100F0090A1000FEB100800D0D0C0000A6 -S214018C00FF00000B0B0D00FF470160030205010783 -S214018C104C016005040F01FD6A017005040F00FD9B -S214018C208801600607070005A1015009080801022E -S214018C30C101A003030500FEC901200606030003C7 -S214018C40D201A00303030000D701A0050810FFFE10 -S214018C501702B00A0A0C00005302F005050C0000CA -S214018C6071023009090C0000A7022009090C000056 -S214018C70DD02B00A0B0C00001F033009090C0000CE -S214018C805503E0090A0C000091039009090C000045 -S214018C90C703500A0A0C00000304E0090A0C00008E -S214018CA03F04A003030900004D04A003030C00FDCC -S214018CB05F045009080801027F04500908060103F1 -S214018CC09704500908080102B7043009090C00008E -S214018CD0ED049010100F00FD6505B00B0D0CFF00A4 -S214018CE0B305200C0B0C0100F505900B0B0C0000D6 -S214018CF03706300D0C0C01007F06C00A090C010076 -S214018D00B506300A090C0100EB06600C0C0C0000DD -S214018D103307000D0B0C01007507F004030C01006E -S214018D2087073008080CFF00B707800B0B0C010003 -S214018D30F9078009090C01002F08400F0D0C0100EE -S214018D407D08000D0B0C0100BF08700D0D0C000016 -S214018D500D09900B0A0C01004909700D0E0F00FD5C -S214018D60B209A00B0A0C0100EE09F0090A0C00007A -S214018D702A0A60090A0C0000660AA00C0B0C010006 -S214018D80A80A600B0D0CFF00F60A0012120C000078 -S214018D90620BC00A0B0C0000A40B600A0C0CFF004F -S214018DA0EC0B800A0B0C00002E0C5005050F01FD84 -S214018DB0540CA0050810FFFE940C5005040F00FD8E -S214018DC0B20C500908070102CE0C0008080200FE8A -S214018DD0D60CA0090502010ADB0C9009090900005E -S214018DE0040DF00A0A0C0100400D200909090000D3 -S214018DF0690DF00A0A0C0000A50DD0090A09000049 -S214018E00D20DA005070C0000FC0D100B0A0C00FD8E -S214018E10380EE00A090C01006E0E7004030C010006 -S214018E20800E9004060FFEFDAD0EE009090C010050 -S214018E30E30E7004020C0100EF0EF0100F090100A2 -S214018E40330FE00A090901005C0F300A0A09000025 -S214018E50890FF00A0A0C01FDC50FF00A0A0C00FD85 -S214018E6001109006060901001C1000080809000000 -S214018E704010A006070B00006710D00A0909010080 -S214018E809010F0080A09FF00BD10600E0F090000DF -S214018E900111D008090900002A11F0080A0CFFFD8B -S214018EA066115008080900008A11A005060F00FD8A -S214018EB0B711D004030F01FDCE11A005050F00FD6B -S214018EC0F4115009090500040B12B0060606000647 -S214018ED01D1200050304010323120010101100FEE9 -S214018EE0AB120010100C00000B130010100E00FF48 -S214018EF07B130010100C0000DB13000B0B0C0000A2 -S214018F001D140010101000FE9D140010101000FE1D -S214018F101D150012120E00FF9B150010101000FE0A -S214018F201B160012120C000087160010101000FE0F -S214018F3007170008080E00FF3F17000C0C0E00FF75 -S214018F4093170012121000FE23180010100C0000D8 -S214018F508318000E0A1002FED318000E0E1200FD32 -S214018F605119000E0E0F00FFBA19000E0E0E00FF6B -S214018F701C1A000E0A1002FE6C1A000E100EFFFFDD -S214018F80DC1A000A0A0E00FF221B000A0A0E00FF66 -S214018F90681B000E0E0E00FFCA1B000E0E04000416 -S214018FA0E61B0012120C0000521C0014141000FEE6 -S214018FB0F21C00121410FFFE921D0010101000FE8D -S214018FC0121E000E0E0A0001581E000E0E0A0001A7 -S214018FD09E1E0014140E00FF2A1F0010100C000025 -S214018FE08A1F0010101000FE0A2000101111FFFE4B -S214018FF09B20000E0F0E00FF0421000E0E1000FE37 -S2140190007421000E0E0E00FFD621000A0C10FFFE82 -S2140190103622000E0E1000FEA622000E0E1000FED6 -S21401902016230012120C0000822300101212FFFDFC -S2140190302424000C0C1000FE84240014140F00FFDE -S2140190401A250014140A00017E250014140A0001D2 -S214019050E2250014140A000146260014140A000131 -S214019060AA260014140A00010E270014150E00FF8C -S214019070A127000E0C1001FE0128000E0E1000FEA6 -S214019080712800101111FFFD02290014140C0000B4 -S2140190907A29000C0C1000FEDA292010110B0001B1 -S2140190A0BF0BF0AF0AE09E08D08C07C0000010BFCF -S2140190B01AE0F51F3F51F3E40F3E40F2720810002C -S2140190C005C003E000007A005C0000098007A001EB -S2140190D0FFFFFFFFFD033E733C833000F200C50037 -S2140190E0000F100E300002F000F2009FFFFFFFFF9E -S2140190F04138C336E3300089005C00000A7007A0DF -S2140191000000007900000000790000005CFFE92003 -S21401911006FCBC9E900EB07900100F807900000D01 -S214019120F579000003EFFD50000006CFFE40000079 -S214019130795EF100007905F307007907F12FE9BCA4 -S214019140AFA003AEFFD70000007900000000790051 -S2140191500003DE800005D000E40C5001E3004C0063 -S2140191605A00A90006A004C04E00004C005A0D503B -S2140191700000E41C58A0000003CE73E13CE90000A7 -S21401918000D60E40A800007C03C003D0002E203C71 -S214019190003D000B7000E2098006D00004DDA0004F -S2140191A009EFB1000009E43CA00000D9007D0000F1 -S2140191B00CC01CA000003FAEC1000001DFC00000D3 -S2140191C003EB8F701800DB007F65F03F40008FEAED -S2140191D003F70000CF700BF966CFBF4008DFEA3017 -S2140191E0A5000000000000F5F5E4E47200DA05F2DF -S2140191F00BC00F703F405F206F107F006F105F2025 -S2140192003F400F700BC005F200DA3F300CB006F19C -S21401921001F600E900BC00AD00AE00AD00BC00E9FF -S21401922001F606F10CB03F30004A000674A4A02BEC -S214019230FFE5007FFB207B6B8D0004A00000130080 -S2140192400000051000000F5000000F5000011F51D4 -S21401925010EFFFFFF3344F7440000F5000000F5023 -S214019260000952FD0BA0C50F000111101FFFF304EA -S21401927044400312FC1E90000005F100000AB000F5 -S214019280000F6000005F100000AB000000F6000059 -S21401929005F100000AB000000F6000004F1000004A -S2140192A0AC000000F6000004F100000AC000000E49 -S2140192B06000004F1000000008EFC50000CFA8CFE7 -S2140192C07007F5000AF20DC00001F81F800000DCEF -S2140192D03F600000BD3F600000BD1F800000DC0D48 -S2140192E0C00001F807F5000AF200CFA8CF70000809 -S2140192F0EFC500EFFF367AF3005F3005F3005F300D -S21401930005F3005F3005F3005F3005F3005F3005BD -S214019310F304BEFD7007FD98CF90280000BF000043 -S2140193200007F2000000AF0000004F8000003FC0C1 -S21401933000003EC100002EC100002ED100002EF814 -S214019340777746FFFFFFFA6FFFFFFF0277779FB041 -S21401935000000CE1000009F3000005F6000000DF44 -S214019360E910000459FD00000006F40000003F6407 -S214019370400008F3BFC98CFB007CFFD7000000014A -S214019380EB00000000BE100000006F500000002F30 -S214019390900000000CD000000008F301D50003F88F -S2140193A0002F6000ED2223F7216FFFFFFFFF81559D -S2140193B05556F9520000002F6000000002F6000525 -S2140193C0FFFFFF007F77777008E0000000AD000028 -S2140193D0000BC2100000DFFFFB30045568FF2000C1 -S2140193E00004F80000000F92500005F68FD98AFDA0 -S2140193F0105BEFE9100005CEFC60009FC88B70057E -S214019400F80000000CD00000001F800000002F684C -S214019410EFFA103FEE648FD02FF10006F40EC00075 -S21401942002F609F10006F301DE869FB00019EFD8B7 -S214019430008FFFFFFFE8F77777FC8F00004F55900E -S214019440000BE0000002F80000009F1000000FB0C3 -S214019450000006F4000000DD0000003F7000000A76 -S214019460F1000001F90000005CFFD70006FC76AFB2 -S214019470A00CD00009F10DC00007F207F7115EC07D -S21401948000BFFFFE1009F9547ED02F800004F64F6E -S214019490500000F81FA00005F609FB76AFD0006C5F -S2140194A0FFD810008EFD80000CF868FC005F5000AD -S2140194B03F708F00000EC07F30001FF01FD413CF07 -S2140194C0F104EFFFA9F00002310AF00000000EA03F -S2140194D00000009F3009A78DF70007DFEB40001E54 -S2140194E092FC0310000000000312FC1E901E92FC6A -S2140194F00310000000000001E91FD0A80E30A000F4 -S21401950000004200017DF3039FE810BFB50000EEA6 -S21401951081000017DFB4000004AFD200000182EF23 -S214019520FFFFF3455555510000000001111110EFE2 -S214019530FFFFF33444444050000000EF9200000661 -S214019540CFB50000039FE200006CF3029EE920BF46 -S214019550C600009300000004BEFD7007FC77BFA0A4 -S214019560270000CF00000009F0000001EA0000011A -S214019570DD100000CE1000003F600000013000004A -S214019580000100000006F50000005F400000001723 -S214019590CEFDB500000005FB53237DC200006E40E2 -S2140195A00000008E1002F401AEFA3F49B00A901E88 -S2140195B0E65BEF40E30F308F1000AF40981F00D9F5 -S2140195C000003F406A3F00E800001F405C1F00D9D2 -S2140195D000003F406A0F308F1000AF40980A901E7F -S2140195E0D65ADEA6F203F301AFFA16EE50006E402D -S2140195F000000000000006FB532375000000001762 -S214019600CEFDA30000000002FD00000000009FF454 -S214019610000000000F9EB000000006F27F20000050 -S21401962000DC01F80000004F600BE000000BF000CA -S2140196304F600001FA1111ED00008FFFFFFFF300EC -S2140196400EC444444FA006F4000000AF10CD000045 -S2140196500002F85FFFFFEB4005F85557DF405F401B -S2140196600001FA05F400000FA05F51113AF405FF5E -S214019670FFFFFA005F744459FA05F4000008F25F30 -S2140196804000005F45F4000009F25F85556AFB055E -S214019690FFFFFFD70000028DFEB40004FFB89DF95E -S2140196A002FD20000850BF200000000FA0000000AF -S2140196B002F6000000002F6000000000FA00000023 -S2140196C0000BF2000000002FD2000085005FFB892E -S2140196D0DF800029DFEB405FFFFFEA30005F97770E -S2140196E09EF8005F400000AF605F4000000DE05F45 -S2140196F040000006F45F40000003F65F40000003F0 -S214019700F65F40000006F45F4000000DE05F400099 -S21401971000AF605F97779EF8005FFFFFEA30005F5B -S214019720FFFFFF95F97777745F40000005F40000AE -S214019730005F51111105FFFFFFE05F74444405F41B -S2140197400000005F40000005F40000005F97777797 -S21401975065FFFFFFFD5FFFFFFF95F97777745F40B9 -S214019760000005F40000005F40000005F52222100D -S2140197705FFFFFFE05F85555405F40000005F40009 -S21401978000005F40000005F400000000018DFEB5FA -S21401979000004FFB89DFB002FD200006600BF200DF -S2140197A00000000FA0000000002F60000000002F46 -S2140197B060000009F00FA0000009F00BF20000099C -S2140197C0F002FD20000AF0004FFB89DFC000028D89 -S2140197D0FEC6005F4000004F55F4000004F55F40F0 -S2140197E000004F55F4000004F55F5222225F55FF3A -S2140197F0FFFFFFF55F8555558F55F4000004F55FB3 -S2140198004000004F55F4000004F55F4000004F553E -S214019810F4000004F55F45F45F45F45F45F45F45E9 -S214019820F45F45F45F45F400FFFFFA007777FA002E -S2140198300000FA000000FA000000FA000000FA003A -S2140198400000FA000000FA000000F9072003F60DF8 -S214019850E98EF101AEFB305F400002EB05F400013A -S214019860EC005F4001DE1005F400CE20005F40BF33 -S214019870300005F49F9000005FCFEF400005FF9198 -S214019880EE10005FA003FC0005F40006F8005F4040 -S2140198900009F505F400000CF25F40000005F40035 -S2140198A000005F40000005F40000005F4000000576 -S2140198B0F40000005F40000005F40000005F400077 -S2140198C00005F40000005F97777725FFFFFFF55F3F -S2140198D0400000001E95FC00000008F95FF500003E -S2140198E002FF95FDE00000AEF95F5F70003F5F95F7 -S2140198F0F38F100BC0F95F31E904F30F95F307F20C -S214019900DB00F95F300DEF200F95F3005F9000F953 -S2140199105F300071000F95F300000000F95F500002 -S214019920004F55FF200004F55FFD00004F55FAF982 -S2140199300004F55F4AF5004F55F40DF204F55F405B -S2140199402FD04F55F4006F94F55F4000AFAF55F43C -S2140199500000DFF55F400002FF55F4000006F50049 -S214019960018DFEB5000004FFB89EFA0002FD20003E -S21401997008F900BF2000000AF20FA00000003F72A5 -S214019980F600000000F92F600000000F90FA0000BA -S2140199900003F70BF2000000AF202FD200008F90DB -S2140199A0004FFB89EFA0000028DFEB50005FFFFFB0 -S2140199B0D7005F9778BFC05F400007F65F400000A2 -S2140199C0FA5F400000FA5F400003F85F62236EF121 -S2140199D05FFFFFFD305F855420005F400000005FA1 -S2140199E0400000005F4000000000018DFEB5000051 -S2140199F0004EFB89EFA00002FD200008F9000AF2E4 -S214019A00000000AF200FA00000003F702F60000094 -S214019A10000F902F600000000F901F900000002F95 -S214019A20700BF1000000AF2003FC100007F90000E6 -S214019A306FFA78DFB0000003AEFFC500000000003B -S214019A403ED415B000000002BFFF800000000001F8 -S214019A5031005FFFFFD7005F9778BFC05F40000708 -S214019A60F65F400000FA5F400000FA5F400003F82E -S214019A705F52236EE15FFFFFFC305F8555F9005FA3 -S214019A8040007F405F40000CE05F400002F9005C50 -S214019A90EFD92007FC87AF900EC00001100F8000A1 -S214019AA000000DF500000003EFEA50000005AEFED1 -S214019AB0400000004EF100000005F308000008F227 -S214019AC02FFA77BFA0029DFFC700FFFFFFFFF567D4 -S214019AD078FB77720001F700000001F70000000133 -S214019AE0F700000001F700000001F700000001F791 -S214019AF000000001F700000001F700000001F70078 -S214019B00000001F700006F3000008F16F300000818 -S214019B10F16F3000008F16F3000008F16F3000007F -S214019B208F16F3000008F16F3000008F05F4000077 -S214019B3009F03F700000CD00DE20005F8004FFA822 -S214019B40BFD00003BEFD81000CE00000006F306F47 -S214019B505000000CC000FB000003F60009F20000F4 -S214019B60AE00002F80001F900000CE0007F200001C -S214019B7005F600DB0000000EC04F500000008F3BD2 -S214019B80E000000002FBF8000000000BFF100000E0 -S214019B9000004FB000005F400000DF000002F50F3C -S214019BA0900002FF400007F00BE00007FE90000C5B -S214019BB0B006F3000CAAE0001F6001F8001F54F382 -S214019BC0006F1000CD007F10F800CC00007F20CB86 -S214019BD000AD01F700002F71F6005F26F200000DC0 -S214019BE0C6F1000F7BD0000008FDC0000BDF80002F -S214019BF00003FF700006FF30000000EF200001FEAA -S214019C0000003F900000CD008F40007F3000DE1046 -S214019C102F800003FA0CD0000007FBF30000000CB5 -S214019C20F800000001EFC0000000BF7F7000006F69 -S214019C3060AF20002FB001ED000CF10004F807F62C -S214019C40000009F30CE0000007F203F700001F9084 -S214019C5000AF10009E10001FA002F6000008F30BD4 -S214019C60D0000000EC4F400000005FFB0000000049 -S214019C700CF20000000009F00000000009F00000EE -S214019C80000009F00000000009F000003FFFFFFFA0 -S214019C90FD01777777BF900000001EC00000000C22 -S214019CA0F200000008F500000004F900000001ECD5 -S214019CB000000000CF200000008F500000004F90F1 -S214019CC00000001EF877777705FFFFFFFFF05FFFC4 -S214019CD005F7505F3005F3005F3005F3005F300590 -S214019CE0F3005F3005F3005F3005F3005F3005F7E2 -S214019CF0505FFF007E0000001F4000000C90000037 -S214019D0007E0000002F4000000C90000007E000029 -S214019D10002F4000000C90000007E0000002F30056 -S214019D200000D90000007E0000002F3000000D90DA -S214019D30000007E0BFFA35EA00EA00EA00EA00EAB6 -S214019D4000EA00EA00EA00EA00EA00EA00EA35EA88 -S214019D50BFFA002F8000009DE00000F3D50006D07A -S214019D607B000C601F203F100B809A0004E0FFFF71 -S214019D70FFFF1111111107F60003E7019EFD800098 -S214019D80CE87AF90020000AF00000006F202BEFFD1 -S214019D90FF20EC4227F22F50007F20EC427FF20298 -S214019DA0BFFB6F208F000000008F000000008F00B7 -S214019DB00000008F2BFEB3008FEC78EF308FA000F1 -S214019DC01EC08F200007F18F000005F38F200007CB -S214019DD0F18FA0001ED08FEC78EF308E2BFEB300F3 -S214019DE0003AEFC4004FD87CF40DD0000713F600FC -S214019DF000004F30000003F60000000DD0000610F2 -S214019E004FD77CF4003AEFC40000000001F70000D1 -S214019E100001F700000001F7003BFFA3F704FD87F0 -S214019E20CEF70ED0000BF73F600003F74F3000016E -S214019E30F73F500003F70EC0000AF704FC65BEF7B3 -S214019E40003BFFB2F7003BFEA20004FC67EE200ECB -S214019E50C0001EA03F500007F04FFFFFFFF13F720A -S214019E602222200EC000020004FD87AF50003AEF08 -S214019E70D600005DFC002FB57004F3000CFFFFA0B8 -S214019E8048F753005F300005F300005F300005F32C -S214019E9000005F300005F300005F3000003BFFB2BA -S214019EA0E904FE87CFF90ED1000AF93F600001F9F7 -S214019EB04F400000F93F600001F90ED00009F90497 -S214019EC0FD87CFF8003BFFB3F700000005F409E972 -S214019ED077AFB0017CFFD8008F00000008F00000CB -S214019EE0008F00000008F2BFEA108FFB89FD08F81A -S214019EF00006F48F10001F78F00000F88F00000FA6 -S214019F0088F00000F88F00000F88F00000F89E1A15 -S214019F10F20008F08F08F08F08F08F08F08F08F035 -S214019F200007E20009F30000000007F10007F10056 -S214019F3007F10007F10007F10007F10007F100073C -S214019F40F10007F10008F0186EC03EFC208F0000FB -S214019F500008F00000008F00000008F0001DD18FFF -S214019F60001DE208F01DE2008F2DF30008FEFF70D1 -S214019F70008FE2BF3008F201EE108F0003FB08F0FD -S214019F800007F78F8F8F8F8F8F8F8F8F8F8F8F8E8B -S214019F903CFE913BFEA208FF969FCFC68FD08F70E6 -S214019FA0009FC0005F58F10005F60001F78F000022 -S214019FB04F40000F88F00004F40000F88F00004FB7 -S214019FC040000F88F00004F40000F88F00004F40B6 -S214019FD0000F808E3BFEA108FFA68FD08F80006FFA -S214019FE048F10001F78F00000F88F00000F88F009D -S214019FF0000F88F00000F88F00000F80003BEFC4D0 -S21401A0000004FD87CF600ED0000BF13F600003F522 -S21401A0104F300001F73F600003F50ED0000BF1044E -S21401A020FD77CF60003BEFC4008E3BFEB3008FFB95 -S21401A03057DF308F90000DC08F100007F18F0000A2 -S21401A04005F38F200007F18FA0001ED08FEC78EF6C -S21401A050308F2BFEB3008F000000008F0000000041 -S21401A0608F00000000003BFFA2F704FD87DEF70E1D -S21401A070D0000BF73F600003F74F300001F73F6059 -S21401A0800003F70ED0000BF704FD77CEF7003BFF79 -S21401A090A3F700000001F700000001F7000000012F -S21401A0A0F78E2BF08FED908FA0008F20008F000091 -S21401A0B08F00008F00008F00008F000002AEFD9120 -S21401A0C01ED769D04F3000002FB4100006EFFD6098 -S21401A0D000015BF5010000F75FA76BF319DFEC40A9 -S21401A0E005F300005F3000CFFFFA048F753005F3EB -S21401A0F000005F300005F300005F300004F400004C -S21401A1001FC680005DFC10AE00002F5AE00002F56D -S21401A110AE00002F5AE00002F5AE00002F59F00005 -S21401A12004F56F3000AF51EE76BFF502BEFB3F502F -S21401A1300DC00000CB06F20002F500F90009E000B0 -S21401A1409E000F80002F606F10000CC0CB00000532 -S21401A150F6F4000000EFD00000008F7000BB000096 -S21401A1609F10004F16F1000EF60009C00F6005FCA7 -S21401A170B000F600AC00AB5F105F1005F10F50F7B2 -S21401A1800AB0000F76F009C0F50000ACBA004F8F98 -S21401A190000004FF4000EFA000000EE00008F400FD -S21401A1A0004F70009F208F305F5000CD2E90000230 -S21401A1B0FFD000000AF6000004FDE10001EB0DC02F -S21401A1C000BE103F806F40007F400DC00000CB06F0 -S21401A1D0F30002F400EA0009D0008F101F70001F80 -S21401A1E0707F10000AE0D9000003F9F2000000CFEA -S21401A1F0B00000006F40000000AD00001C79F500C3 -S21401A200001AEE7000004FFFFFF915555BF40000D1 -S21401A2104F800001EC00000BE100008F400004F7C6 -S21401A22000001EE555535FFFFFFC002CF500AF61F3 -S21401A23000CC0000DB0000DB0000DB0002EA001FB0 -S21401A240F40005FA0000DB0000DB0000DB0000CCB8 -S21401A2500000AF61002CF55F15F15F15F15F15F198 -S21401A2605F15F15F15F15F15F15F15F15F10BE80A7 -S21401A27003AF4001F6001F7001F7001F7000F900E0 -S21401A2800AFB00FB201F7001F7001F7001F603AFE9 -S21401A29040BE900000000000003DE400B50C86F5CD -S21401A2A01E20F003EF90020000100002CE900D4039 -S21401A2B0893B000E3B000E0D408902CE900008F847 -S21401A2C0EFE7F700000000000000000000000000BB -S21401A2D00049DC0000000016BFFFFF0000038DFFF1 -S21401A2E0FFFFFF0000CFFFFFFFFFFF0000FFFFFFA4 -S21401A2F0FFC7FF0000FFFFEA5100FF0000FF8300D9 -S21401A3000000FF0000FF00000000FF0000FF00004B -S21401A3100000FF0000FF00000000FF0000FF00003B -S21401A3202BFFFF0000FF0000DFFFFF2BFFFF0000F9 -S21401A330DFFFFDDFFFFF00002BFFB2DFFFFD0000A8 -S21401A3400000002BFFB20000000000D00FFFFFFF4F -S21401A350FFF00DFFFFC888888CFFFFF00F8000001C -S21401A36008F00FF00F80000008F00FFFFF800000DC -S21401A37008FFFFF00FECCCCCCEF00FF00FECCCCCFE -S21401A380CEF00FFFFF80000008FFFFF00F800000F7 -S21401A39008F00FF00F80000008F00FFFFFC8888854 -S21401A3A08CFFFFD00FFFFFFFFFF00DDFFF73FFFFF6 -S21401A3B0FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF5D -S21401A3C0FFFFFFDFFF73FFFFFFFFFD000000000040 -S21401A3D0000000DFFF73FFFFFFFFFDFFFFA5FFFF8C -S21401A3E0FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFF7D -S21401A3F0FFFFFD0000000000000000DFFF73FFFF0D -S21401A400FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF0C -S21401A410FFFFFFDFFF73FFFFFFFFFD0000000000EF -S21401A420000AB1000000000000BFFC0000000000B0 -S21401A4300BFFFB0000000000BFFFC01BA000000BCD -S21401A440FFFC00CFFB0000BFFFC000BFFFB00BFF4B -S21401A450FC00000CFFFBBFFFC0000000CFFFFFFBAE -S21401A460000000000CFFFFB00000000000BFFB0072 -S21401A47000000000000BB000000000030000000315 -S21401A48008FC10001CF8FFFC101CFFF5FFFC2CFF5D -S21401A490F505FFFFFFF50005FFFFF500001DFFFDB9 -S21401A4A010001CFFFFFC101CFFF9FFFC1CFFF5054C -S21401A4B0FFFCDFF50005FFD1A4000004A1000000A9 -S21401A4C04FE00000000002106FF1031000005FD0A3 -S21401A4D06FF13FD10003FFF16FF15FFD000DFF400B -S21401A4E06FF109FF704FF7006FF100CFE09FF000AA -S21401A4F06FF1005FF3BFC0006FF1002FF5BFC00022 -S21401A5004FE0001FF6AFE0000000004FF46FF400CC -S21401A510000000AFF00FFE10000005FFA006FFD3FD -S21401A52000007FFF20009FFFDABEFFF4000006FF59 -S21401A530FFFFFD3000000017BDCA500000000000FC -S21401A5408BB8000000000000FFFF0000000030068E -S21401A550FFFF60030004FDDFFFFFFDEF400DFFFF7F -S21401A560FFFFFFFFD04FFFFFF99FFFFFF408FFFF3C -S21401A5702002FFFF8000FFF900009FFF0000FFF9A7 -S21401A58000009FFF0008FFFF2002FFFF804FFFFF34 -S21401A590F99FFFFFF40DFFFFFFFFFFFFD004FEDF73 -S21401A5A0FFFFFDDF40003006FFFF600300000000F4 -S21401A5B0FFFF0000000000008BB800000000000054 -S21401A5C003DD303FF3000000006FFFF54FF400009D -S21401A5D00009FF99FFBFF4000001BFF6226FFFF4E8 -S21401A5E000002DFE35FF53EFF40004FFC18FFFF886 -S21401A5F02DFE407FFA1AFFFFFFA1AFF7CF82DFFFE4 -S21401A600FFFFFD28FC140EFFFFFFFFFFE041000FD8 -S21401A610FFFFFFFFFFF000000FFFF9008FFFF000C4 -S21401A620000FFFF8008FFFF000000FFFF8008FFF0C -S21401A630F000000EFFF6006FFFE000000000DFFDF7 -S21401A640000000000000FFFF000000000000FFFF08 -S21401A650000000000000FFFF000000000000FFFFF8 -S21401A660000000000000FFFF000000004FFFFFFF9A -S21401A670FFF400000BFFFFFFFFB0000000BFFFFF6D -S21401A680FB000000000BFFFFB00000000000BFFB56 -S21401A690000000DFFFFC1BB1CFFFFDFFFFFFC22C58 -S21401A6A0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 -S21401A6B0F0E0FFDFFFFFFFFFFFFFFD0004EFFFFFFE -S21401A6C0FFFE4000001EFFFFFFFFFFE10000AFB0EE -S21401A6D00000000BFA0005FF1000000001FF501EED -S21401A6E0F600000000006FE1AFB000000000000BB4 -S21401A6F0FAFFFFFF800008FFFFFFFFFFFFF1001FCB -S21401A700FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 -S21401A710FFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFB3 -S21401A720FFFFFFFFFFFFF8000006BDDA5002FF0043 -S21401A73005EFFFFFFE42FF007FFFA77BFFF9FF0546 -S21401A740FFC100002CFFFF0EFC00000222DFFF5FAE -S21401A750F200000FFFFFFF8FB000000FFFFFFF00AA -S21401A760000000000000000000000000000000FFE4 -S21401A770FFFFF000000BF8FFFFFFF000002FF4FFD3 -S21401A780FD22200000CFE0FFFFC200002CFF40FFAB -S21401A7909FFFB76AFFF700FF24DFFFFFFE5000FFB1 -S21401A7A02005ACDB600000000000000000008D000A -S21401A7B00008FF00008FFFDFFFFFFFFFFFFFFFFF27 -S21401A7C0FFFFFFFFFFFFFFFFFFFFFFDFFFFFFF00B2 -S21401A7D0008FFF000008FF0000008D000000000051 -S21401A7E000000000000000008D0000000008FF00CF -S21401A7F00000008FFF0000CFFFFFFF0150FFFFFFAB -S21401A800FF06F7FFFFFFFF00BEFFFFFFFF00AEFFE3 -S21401A810FFFFFF05F8DFFFFFFF026000009FFF005C -S21401A82000000009FF00000000009E00000000007C -S21401A83000000000000000000006100000000000FC -S21401A84000001FD2000000008D000003EE10000083 -S21401A85008FF000AB12FB000008FFF0005FC07F4C7 -S21401A860DFFFFFFF02505F60F9FFFFFFFF06F70DF6 -S21401A870C0BDFFFFFFFF00AE09F09FFFFFFFFF0017 -S21401A880AE09F08FFFFFFFFF06F70DC0ADDFFFFF3C -S21401A890FF02505F60E900008FFF0005FC06F40030 -S21401A8A00008FF000AB12FB00000008D000002EE84 -S21401A8B0100000000000001FD20000000000000091 -S21401A8C00610008FFFFFFFFFFFFFF8FFFCFFFFFFF3 -S21401A8D0FFFFFFFF202FFFFFFFFFFFFC000CFFFF26 -S21401A8E0EEFFFFFF202FFFFE22EFFFFFFCFFFFE240 -S21401A8F0002EFFFFFE4EFE200002FFFFE202C20016 -S21401A9000000FFFF200000000000FFFF0000000025 -S21401A9100000FFFFFFFFFFFFFFFFFF8FFFFFFFFFAF -S21401A920FFFFF80000000000FF300001CCFF4000F0 -S21401A9302DFFFF4003EFFFFF403FFFFFFF44FFFFF8 -S21401A940FFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFF71 -S21401A950FFAFFFFFFFFF45FFFFFFFF404FFFFFFF7A -S21401A9604003EFFFFF40002EFFFF300001CC000048 -S21401A970000000000000000000008F9100000000B1 -S21401A98000FFFF7000000000FFFFFD40000000FF19 -S21401A990FFFFFA100000FFFFFFFFF70000FFFFFFB9 -S21401A9A0FFFFD500FFFFFFFFFFFFB2FFFFFFFFFF27 -S21401A9B0FFFDFFFFFFFFFFFFFDFFFFFFFFFFFFB2F2 -S21401A9C0FFFFFFFFFFD500FFFFFFFFF70000FFFFC0 -S21401A9D0FFFA100000FFFFFD40000000FFFF7000BF -S21401A9E00000008EA1000000000000000000000032 -S21401A9F000000000000000008FFFF8008FFFF8FF46 -S21401AA00FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF4E -S21401AA1000FFFFFFFFFFFF00FFFFFFFFFFFF00FF3D -S21401AA20FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF2E -S21401AA30FFFFFF00FFFFFFFFFFFF00FFFFFFFFFF1E -S21401AA40FF00FFFFFFFFFFFF00FFFFFFFFFFFF000D -S21401AA50FFFFFF7FFFF7007FFFF78FFFFFFFFFFF7F -S21401AA60F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 -S21401AA70FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 -S21401AA80FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 -S21401AA90FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 -S21401AAA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 -S21401AAB0FFFFFFFFFF8FFFFFFFFFFFF80000000013 -S21401AAC000CC100003FFFFD20004FFFFFE3004FF9E -S21401AAD0FFFFF404FFFFFFFF54FFFFFFFFF9FFFF37 -S21401AAE0FFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFF76 -S21401AAF0FF44FFFFFFF304FFFFFE3004FFFFD20019 -S21401AB0004FFCC100003FF00000000000000002D31 -S21401AB10D2000000000001EFFE10000000001DFF43 -S21401AB20FFD100000000CFFFFFFC0000000BFFFF7D -S21401AB30FFFFB00000AFFFFFFFFFFA0009FFFFFFB6 -S21401AB40FFFFFF900FFFFFFFFFFFFFF008FFFFFF74 -S21401AB50FFFFFF8000000000000000000CFFFFFF69 -S21401AB60FFFFFFC00FFFFFFFFFFFFFF00FFFFFFF1D -S21401AB70FFFFFFF00CFFFFFFFFFFFFC00000001A02 -S21401AB8040000001DFF000001DFFA00001DFFA0019 -S21401AB90001DFFA00001DFFA00000CFFA000000D61 -S21401ABA0FF80000001DFF80000001DFF80000001AB -S21401ABB0DFF80000001DFF80000001DFF00000004C -S21401ABC01B5004A10000000FFD1000000AFFD10079 -S21401ABD00000AFFD1000000AFFD1000000AFFD101D -S21401ABE000000AFFC0000008FFD000008FFD100023 -S21401ABF008FFD100008FFD100008FFD100000FFDF7 -S21401AC0010000005B1000000000004FF4000000035 -S21401AC100008FF800000000008FF80000000000818 -S21401AC20FF800000000008FF80000048888CFFC8F5 -S21401AC308884FFFFFFFFFFFFFFFFFFFFFFFFFFFF10 -S21401AC4048888CFFC88884000008FF800000000048 -S21401AC5008FF800000000008FF800000000008FFD9 -S21401AC60800000000004FF400000144444444444B3 -S21401AC7041EFFFFFFFFFFFFEFFFFFFFFFFFFFF7B31 -S21401AC80BBBBBBBBBBB7000005ADFFDA5000000085 -S21401AC9004DFFC88CFFD4000007FFE400004EFF794 -S21401ACA00007FFF4009E804FFF704FFFC000AFF813 -S21401ACB00CFFF4DFFF809AFFFE08FFFDDFFF80EF49 -S21401ACC0FFFE08FFFD4FFFC08FFFF80CFFF407FFE4 -S21401ACD0F408EE804FFF70007FFE400004EFF8009E -S21401ACE00004DFFC88CFFD4000000005ADFFDA5010 -S21401ACF000008C200000000000000000DFE40000DF -S21401AD000000000000001BFF8049DFFDA5000000D9 -S21401AD10007FFFFFD88CFFD400000004EFF800008E -S21401AD204EFF700000001CFF69E804FFF70004E313 -S21401AD30009FFEFF80CFFF400DFF7005FFFFE08FF5 -S21401AD40FFD00DFFF7002DFFE08FFFD004FFFC00C2 -S21401AD5000AFF8CFFF30007FFF400006FFFFF7008F -S21401AD600008FFF400003EFFA00000004DFFC8826F -S21401AD7001BFF7000000005ADFFC1008FFA000002A -S21401AD800000000000004EFD000000000000000072 -S21401AD9002C8000000002DD20000000000000000E4 -S21401ADA0BFFB0000000000000005FFFF5000000090 -S21401ADB00000000DFFFFD00000000000007FFFFF35 -S21401ADC0F7000000000001FFD88DFF100000000012 -S21401ADD00AFFA00AFFA0000000003FFFB00BFFF330 -S21401ADE000000000CFFFC00CFFFC00000005FFFFC5 -S21401ADF0D00DFFFF5000000EFFFFF99FFFFFE000A0 -S21401AE00008FFFFFE22EFFFFF80002FFFFFF900911 -S21401AE10FFFFFF100AFFFFFFE33EFFFFFFA00FFF4C -S21401AE20FFFFFFFFFFFFFFF008FFFFFFFFFFFFFF32 -S21401AE30FF8000000000000000000000000000008D -S21401AE40D800000000000000FF80FFFF700007FF31 -S21401AE50FFF8FFFFF6006FFFFFFD788EFF15FFE896 -S21401AE60FFE20002E54FFE20FE20000013FFF30084 -S21401AE70520000003FFF310052000002EFF45E2056 -S21401AE80FE20788EFF51FFE8FFE2FFFFF6006FFF1E -S21401AE90FFFDFFFF700007FFFFF800000000000045 -S21401AEA0FF80000000000000D80000000000000045 -S21401AEB0000000000000000000000001DD1000009E -S21401AEC000001DFFD100000001DFFFFD1000001D86 -S21401AED0FF99FFD10001DFF9009FFD101DFF9000D3 -S21401AEE009FFD1BFF90000009FFB5F900000000939 -S21401AEF0F500000000000000000000000000005FF8 -S21401AF009000000009F5BFF90000009FFB1DFF90AF -S21401AF100009FFD101DFF9009FFD10001DFF99FF19 -S21401AF20D1000001DFFFFD100000001DFFD1000071 -S21401AF30000001DD1000000000000000000000001D -S21401AF400000000000000000001DD100000000000D -S21401AF50000001DFFD10EFFFFFFFD0001DFFFFD156 -S21401AF60AFFFFFFFF000CFCFFCFC0000000FF000AA -S21401AF706B1FF1B60000000FF000000FF00000009C -S21401AF80000FF000000FF0000000000FF000000FAF -S21401AF90F00000006B1FF1B6000FF0000000CFCFED -S21401AFA0FCFC000FFFFFFFFA1DFFFFD1000DFFFFA6 -S21401AFB0FFFE01DFFD10000000000000001DD100B3 -S21401AFC0000000000000000000008FFFFFE200000C -S21401AFD00000FFFFFFFE20000000FFFFFFFFFFFF56 -S21401AFE0FFF8FFFFFFFFFFFFFFFFFFFFFFFFFFFF72 -S21401AFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B -S21401B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A -S21401B010FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A -S21401B020FFFF8FFFFFFFFFFFFFF80000000BB000E0 -S21401B0300000000000BFFB00000000000BFFFFB097 -S21401B04000000000BFFFFFFB0000000BFFFFFFFF3B -S21401B050B000004FFFFFFFFFF400000000FFFF00FD -S21401B0600000000000FFFF000000000000FFFF00DE -S21401B0700000000000FFFF000000000000FFFF00CE -S21401B0800000DFFFF0DFFD0FFFFDFFFFF900009F6F -S21401B090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C9 -S21401B0A0E0FFDFFFFFFFFFFFFFFD000000000000E5 -S21401B0B000000000000000000AEA62000000000034 -S21401B0C002FFFFF000000000009FFFFF00000000ED -S21401B0D0000FFFFFD00000000002FFFFFB00000092 -S21401B0E0000003EFFF70000000000004FFF2000004 -S21401B0F000000000BFFB0000000000006FFF3000F2 -S21401B100000200004FFF9000028FF3006FFFD00097 -S21401B1100AFFFFE4BFFFD10000EFFFFFFFFFD100F2 -S21401B120000AFFFFFFFF900000006FFFFFFB3000EB -S21401B130000002FFDB72000000000008EE80000045 -S21401B140066108FFFF80002DFFD0EF33FE002EFFC3 -S21401B150F30EF33FE02EFFF3008FFFFF6EFFF300C9 -S21401B160008EFFFFFFF300000002EFFFF300000078 -S21401B170002EFFFF30000008EFFFFFFF300008FF42 -S21401B180FFF6EFFF3000EF33FE02EFFF300EF33F26 -S21401B190E002EFFF308FFFF80002DFFD008EE800CF -S21401B1A0000066100000DFFFFF0D200000FFFFFF1C -S21401B1B00FE20000FFFFFF0FFDDFF0FFFFFF2000A3 -S21401B1C0FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0B6 -S21401B1D0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFF97 -S21401B1E0FFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFF87 -S21401B1F0FFFFF0FFFFFFFFFFFFF0DFFFFFFFFDFF99 -S21401B200F90000000000FFFFFFFFFF0000DFFFFF67 -S21401B210FFFD00008FFFFFFFFFC200FFFFFFFFFFE4 -S21401B220FE20FF00000001FFE2FF00000000FFFC1F -S21401B230FF00000000FFFFFF00000000FFFFFFFF10 -S21401B240FFFFFFFFFFFFFFFFFFFFFFFFFFFFFB11FA -S21401B250BFFFFFFFFFF1001FFFFFFFFFF1001FFF12 -S21401B260FFFFFFFB11BFFFFFFFFFFFFFFFFFFF8F8A -S21401B270FFFFFFFFFFF800DFFFFD000001FFFFFCFF -S21401B280000003FFFFF7000006FFFFF2000008FFC3 -S21401B290FFD000000AFFFFFFFFD00CFFFFFFFFA05B -S21401B2A00EFFFFFFFF200DFFFFFFF80000000AFF63 -S21401B2B0E00000000EFF500000002FFC0000000020 -S21401B2C05FF3000000009FA000000000DF100000F8 -S21401B2D00000D70000000004EE40000000DFFF99E8 -S21401B2E0FFFD0000FFFF99FFFF0000FFFFFFFFFFCC -S21401B2F00000FFFF9000000000FFFF0DFFFF0D2084 -S21401B300FFFF0FFFFF0FE2FFFF0FFFFF0FFDFFFF26 -S21401B3100FFFFF2000FFFF0FFFFFFFFFFFFF0FFFE5 -S21401B320FFFFFFFFFF0FFFFFFFFFDFFF0FFFFFFF27 -S21401B330FF00000FFFFFFFFF00000FFFFFFFFF00F2 -S21401B340000DFFFFFFFD000000CC00000000000222 -S21401B350FF3000000001BFFFFC2000001EFFFFFFC2 -S21401B360E100009FFFFFFFF80000EFFFFFFFFD0079 -S21401B37000FFFFFFFFFF0001FFFFFFFFFF0003FFCE -S21401B380FFFFFFFF3008FFFFFFFFFF801EFFFFFFED -S21401B390FFFFE1CFFFFFFFFFFFFCCFFFFFFFFFFF38 -S21401B3A0FC0000000000000000000EFFE0000000AE -S21401B3B00004EE4000008FFFFFFFFFFFFFFFF8FFD6 -S21401B3C0FFFFFFFFFFFFFFFFFF00F00F00F00F0082 -S21401B3D0FFFF00F00F00F00F00FFFFFFFFFFFFFF72 -S21401B3E0FFFFFFFFF808808808808FFFFFF80880BE -S21401B3F08808808FFFFFFFFFFFFFFFFFFFFFFF00B3 -S21401B400F00000000F00FFFF00F00000000F00FF3B -S21401B410FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFA6 -S21401B420FFF800000000000000000000000000001F -S21401B4300003AF70000000000004CFFFF000000022 -S21401B4400006DFFFFFA000000017EFFFFFFF300040 -S21401B4500018FFFFFFFFFC00002AFFFFFFFFFFF4BD -S21401B4600008FFFFFFFFFFFFD0000FFFFFFFFFFFFA -S21401B470FF600008FFFFFFFFFFFE00000000000066 -S21401B480FFFFF7000000000000FFFFF100000000D2 -S21401B4900000FFFF80000000000000FFFF1000001A -S21401B4A000000000FFFA00000000000000FFF200AC -S21401B4B00000000000008F80000000000000000077 -S21401B4C000000000DFFFFFF0D200FFFFFFF0FE20CC -S21401B4D0FFFFFFF0FFE2FFFFFFF0FFFDFFFFFFF2C0 -S21401B4E00000FFFFFFFFFFFFFFFFFFFFFFFFFFFF64 -S21401B4F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 -S21401B500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 -S21401B510FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFF55 -S21401B520FFFFFFFD0000000000000000000000001B -S21401B530049CEFFEC94000000007EFFFFFFFFFFE7F -S21401B540700004DFFFFCA88ACFFFFD406FFFD50027 -S21401B5500000005DFFF6CFF60000000000006FFC63 -S21401B5601A30005ADFFDA50003A100004DFFFFFFC2 -S21401B570FFD400000005FFFEA88AEFFF500000017F -S21401B580DF70000007FD100000001200000000211F -S21401B5900000000000004EE4000000000000000073 -S21401B5A0EFFE0000000000000000EFFE00000000BB -S21401B5B0000000004EE4000000008FFFFFFFFFFFC9 -S21401B5C0FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0012 -S21401B5D00000000000000FFDFF0FFFFFFFFFFFFF51 -S21401B5E00FFFFF0FFFFFFFFFFFFF00FFFF0FFFFF34 -S21401B5F0FFFFFFFF00FFFF0FFFFFFFFFFFFF0FFF34 -S21401B600FF000000000000000FFDFFFFFFFFFFFF2F -S21401B610FFFFFFF08FFFFFFFFFFFFFFFFF808FFFA2 -S21401B620FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFA3 -S21401B630FFF0FF000000000000000FFDFF0FFFFFFE -S21401B640FFFFF0000FFFFF0FFFFFFFFFF00000FFFF -S21401B650FF0FFFFFFFFFF00000FFFF0FFFFFFFFFE1 -S21401B660F0000FFFFF000000000000000FFDFFFFCD -S21401B670FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF53 -S21401B680FF808FFFFFFFFFFFFFFFFF80FFFFFFFF32 -S21401B690FFFFFFFFFFF0FF000000000000000FFDAE -S21401B6A0FF0FFFFFFF0000000FFFFF0FFFFFFF0070 -S21401B6B0000000FFFF0FFFFFFF00000000FFFF0F6D -S21401B6C0FFFFFF0000000FFFFF000000000000006A -S21401B6D00FFDFFFFFFFFFFFFFFFFFFF08FFFFFFFE5 -S21401B6E0FFFFFFFFFF808FFFFFFFFFFFFFFFFF80D2 -S21401B6F0FFFFFFFFFFFFFFFFFFF0FF00000000005E -S21401B70000000FFDFF0FFFF0000000000FFFFF0F0E -S21401B710FFF00000000000FFFF0FFFF00000000038 -S21401B72000FFFF0FFFF0000000000FFFFF0000000A -S21401B730000000000FFDFFFFFFFFFFFFFFFFFFF010 -S21401B7408FFFFFFFFFFFFFFFFF808FFFFFFFFFFF62 -S21401B750FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0080 -S21401B7600000000000000FFDFF00000000000000C8 -S21401B7700FFFFF0000000000000000FFFF000000B8 -S21401B7800000000000FFFF000000000000000FFFA7 -S21401B790FF000000000000000FFDFFFFFFFFFFFF9E -S21401B7A0FFFFFFF08FFFFFFFFFFFFFFFFF8000009F -S21401B7B00000000100000000000000000007FD106E -S21401B7C000000000000001CFFFF5000000000000AF -S21401B7D000B929FE100000000000003F1002000022 -S21401B7E0000003DF800A90000000037000DFFF778F -S21401B7F0F7555555558FD30FFFFDCCDFDCCCCCCD9F -S21401B800FFB08FFE1000AA0000004D400046100059 -S21401B81001F202331000000000000009B1CFF90068 -S21401B8200000000000000AFFFF900000000000007A -S21401B8300000BFF900000000000000000122000027 -S21401B840000018DFFD920002EFFBEFFF300DFFFA5C -S21401B8502EFFE04FFFFA03FFF59FFAFA354FFACFB6 -S21401B860C08A3D0BFDEFFB03128FFEFFFFB006FF04 -S21401B870FFFFFFD108FFFFEFFD11109FFFDFD1593A -S21401B8803B0BFDAFD7FA381DFB5FFFFA01DFF70D63 -S21401B890FFFA1DFFF103EFFCDFFF500018DFFEA3E8 -S21401B8A00000007FFFF70000EFFFFFFFFFFFFEEF46 -S21401B8B0FFFFFFFFFFFE000000000000000FFFFF7C -S21401B8C0FFFFFFF00FFFFFFFFFFFF00FF99F99F952 -S21401B8D09FF00FF88F88F88FF00FF88F88F88FF0A9 -S21401B8E00FF88F88F88FF00FF88F88F88FF00FF821 -S21401B8F08F88F88FF00FF88F88F88FF00FF99F99DF -S21401B900F99FF00FFFFFFFFFFFF008FFFFFFFFFFAC -S21401B910800000000000007FA00000000000008FF3 -S21401B920FFB000000000000DFFFFA0000000008A2D -S21401B9301DFFFF000000008FFA1DFF700000008F42 -S21401B940FFFA1D800000008FFFFFFA000000008F45 -S21401B950FFFFFF800000008FFFFFFF800000008FC9 -S21401B960FFFFFF800000008FFFFFFF800000006FD9 -S21401B970FFFFFF800000000BFFFFFF8000000000BC -S21401B980DFFFFF80000000000EFFFF8000000000C8 -S21401B99000DEDB6000000000000000000000000088 -S21401B9A0000000001BFFFFFFFFFFFFE40001DFFFB9 -S21401B9B0FFFFFFFFFFFE001DFFFFFAEFFEAFFFFFD9 -S21401B9C001DFFFFFA02EE20AFFFF1DFFFFFFE202DD -S21401B9D0202EFFFFCFFFFFFFFE2002EFFFFFCFFF6E -S21401B9E0FFFFFE2002EFFFFF1DFFFFFFE202202EFA -S21401B9F0FFFF01DFFFFFA02EE20AFFFF001DFFFF92 -S21401BA00FAEFFEAFFFFF0001DFFFFFFFFFFFFFFEC4 -S21401BA1000001BFFFFFFFFFFFFE40008FFFFFFE43E -S21401BA20008FFFFFFFFE08F80F0B40FF8FF80F0B8C -S21401BA3040FFFFF80F0B40FFFFFFFFFFFFFFFFFF79 -S21401BA40FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 -S21401BA50FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 -S21401BA60FFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFF0 -S21401BA70FFFFFFFE4EFFFFFFFFE400000000000097 -S21401BA8000010000000000000003E00000100000BC -S21401BA900002EF1000BF000000007FF100CFF100B0 -S21401BAA0000007FF11CFFF77777777BFF1CFFFFF52 -S21401BAB0FFFFFFFFFF17FFFFFFFFFFFFFFE007FF8F -S21401BAC0F100000000000006FF100000000000006A -S21401BAD005A00000000000000001000000000000BA -S21401BAE0000100000300000000020000000000004A -S21401BAF0000000000000000000000100000000003F -S21401BB00000000000000000000010C0007FA000021 -S21401BB100000F2F1020C0604F6020D010B03080008 -S21401BB20000000000000000000000F02FE00000000 -S21401BB300000000000000000000500F80000000002 -S21401BB4000FB04050000FD00FE0300FD00FDFFFBF9 -S21401BB5000000000FD0000FDFC0000FD00FB0000F1 -S21401BB6000000000000000FDFD00FC00F900E100FF -S21401BB7000FB0005080000FB03030805FC050000A8 -S21401BB80F10000000000000000000000F7000000C7 -S21401BB900000000000000000000000F9FDF300F6C0 -S21401BBA0FE00000000010A00F8FEFF0100FC000094 -S21401BBB0FEED0000000000000000000000ECFE0AA0 -S21401BBC0000000000000000000000000F600000079 -S21401BBD0000000000000000800030000FB00000059 -S21401BBE000000000000000000000000000000A0243 -S21401BBF0010000000000000000000000000000003E -S21401BC00000000000000000000000000000000002E -S21401BC100000000000000000F70000000000000027 -S21401BC20000000000000000000000000000000020C -S21401BC30050308FD000005FDF8DD02070501FD000E -S21401BC40090008000800E800FD080008FD050300DB -S21401BC500001FD0000FC1400140008000B0304089A -S21401BC60000000F70000000001FE0002FBFDFB02E1 -S21401BC7000FD000000F600000000000000000000CB -S21401BC8000EF0000000000000000000000000000BF -S21401BC900001F200F000000000FE0019FDFD0303A4 -S21401BCA0FE00FD030000F20000000000000000009E -S21401BCB00000E70003000000000000000000000094 -S21401BCC000F0000F0000F7000800EFE7EFFB0800A8 -S21401BCD000EF0003FA00FC00000000000000000076 -S21401BCE00000000708E1000000000000000000005E -S21401BCF000000C000200000000000202FDFB00FF35 -S21401BD00FFFD0000FE000000FB00FE00FAFB00FA4B -S21401BD10F8F8FB00FB00FB00000000FE000003003B -S21401BD2002FD000100000003FE000000FE0303FF09 -S21401BD30000000FB00FF0000000000010003FE0001 -S21401BD40FD00FC0000FE00080000FD0000000000F1 -S21401BD50FF01FEFE0000FD00FD00000000000000E7 -S21401BD600000FFFF00FDFD0000000000010000FED6 -S21401BD7000FDFDFD000000000000000000FE0000C8 -S21401BD800000FEFD00FC00F8FEF8050000FB0305C0 -S21401BD900700FAFFFD00FFF403FE02F203000001B4 -S21401BDA0F300F2FEEAFE00F30005070003000000C0 -S21401BDB0000100FBFD00F8000000FD000000FD0092 -S21401BDC000000000FFFF00FFFD0000000000000073 -S21401BDD0FDFD00FEFDFE0000FD000000000000006D -S21401BDE000000000FEFE00FD00FE00FB030000FD5B -S21401BDF0010303000000000000FE00000000000236 -S21401BE000000FD00FDFEFD00000000000000020035 -S21401BE10FE00000000FDFC00FB0008FE01F800002B -S21401BE2007F3F3F5FB0300FEEFFB00FB00FB04FB4F -S21401BE30F000F9000001FF02FE000300F8F600F32F -S21401BE40FAFBFAF8FDF9FFFBF902000100FD00001C -S21401BE50000200030000000000000000000000FDDA -S21401BE6000FF00FFFD00FCFAFAFF00F800000000EA -S21401BE700000FE0000000001FE00000003000000BC -S21401BE8000000000000C000000000000020000009E -S21401BE90FD0000000000000000000000FB000300A1 -S21401BEA0000000000000000000000000FE0000008E -S21401BEB0FB00000000F3F8000000FCF30000FD03A7 -S21401BEC000F900000000000000000000FC0000FB7C -S21401BED00000000000000000000000000300FB005E -S21401BEE0000000030002FBFB00FDFDFD000000005A -S21401BEF00000F800FD00FCFD00FAFAF8FE00FB0069 -S21401BF00F800000000140000010000FD000300F529 -S21401BF100000000000E8FB0808FEF50003FC00F343 -S21401BF20FFFD03EEFD030004F7FCF7F8F50000F152 -S21401BF30000F0000FF000000FFFFFDF9F8FFE8001A -S21401BF4000000000000000000100000000000000EA -S21401BF50000000000000000000FD00FFFDFC0000E6 -S21401BF60FB00FD00000000000000000000000000D3 -S21401BF700000FF00FB000005FF0300FA03FEFFF9C7 -S21401BF80FD00FDFDFE00FCFC0000FEFFFEFCFD00CA -S21401BF9000FD0003FE00FA000000FB00FC00FCFCB4 -S21401BFA0030000000000000000FB0300FC00FEFD93 -S21401BFB0F8FEFEFEFFFEFDFF0000000000FDFEFE97 -S21401BFC00000000003FE00FE000000FEFDFEFEFD78 -S21401BFD0FE00020AFF00F900FE0500FDF5FD040063 -S21401BFE000F4FC03FC0200FEFEF800FC010000FC6D -S21401BFF00000000303FBFB00FCFDFCFDFD00FC0153 -S21401C000FBFC080000000000000000000300000028 -S21401C010000000000000000000000000000000001A -S21401C02000000000FC00000000000000000000000E -S21401C03000000000000000000000000000000000FA -S21401C04000000000000000000000000000000000EA -S21401C050FE000000000000000000000000000000DC -S21401C0600000000000000000000000000000FEFDCF -S21401C070000000000000000000000000FC0000FDC1 -S21401C0800000FDFD00000000FD00000000FF0000B4 -S21401C090000000FE00000000FC00FB000000F800AD -S21401C0A002FA0501FEF40000FAFD00F6FAF90000B6 -S21401C0B0F5FDF6F6F400F9000211FD00FAFDFFFDAC -S21401C0C0FCF9FBF7F6FAFD0000FE00010000EEFEAB -S21401C0D00806FAF70001F800F3FEFD05E8FD010089 -S21401C0E000EFFDF3FDED0000EE000F0100FE000085 -S21401C0F00000FFFEF6FE00EF00000000F800FE0064 -S21401C100FFF9F40000FFFCF8FD00FE00000000F45B -S21401C110FDF8F8FEFCFAFDFC00FBFEF8FC00FDFB5A -S21401C120FDFB000100FEF8000500FB000000000317 -S21401C1300002FB0A00FDFDFD000000000000F80003 -S21401C140FD00FCFD00FAFAF8FE00FB020A00000002 -S21401C15000140000010000FD0003000000000000C4 -S21401C1600000FF0000000000FEFB0000000000FFD2 -S21401C170000000FDFD0000FBFD0000FB0004FF00C9 -S21401C18000000000000100000000040502FE00F8A7 -S21401C190FC0008F8F8FBFB0A0503EAFE05FD00FDB6 -S21401C1A003FDF700FD03FDFEF8FE0000080500F99B -S21401C1B000F2FD07FDF601FDF8F8FD0A0300FC009C -S21401C1C0F9000208FAF7F6FA080001EDFE03FCFE94 -S21401C1D0FA00FAF7FCFCFE0000FAFBFD000806FD7B -S21401C1E0F200F2FC00F7F1FFF8FCF8F9070000FD99 -S21401C1F000FBFE00FDFB0004F8030000F200FDFA60 -S21401C200FCFEF8FAF8FA00F8FDFAFBF8FD0000016A -S21401C2100CFC00F8FD00FDFBFAF9F9F6FDFB050044 -S21401C220FC00F3FD0205F8F7FBF808FD01E8FB0545 -S21401C230FAFCF700F8F5FDFDFEFDFBF8FF0000082F -S21401C24007FEEF00F1FA06F6EFFBF7F5F3F8050047 -S21401C250000000FD000003FD0502FB050000F8FFDD -S21401C26000FF000101FE000000000000FD000000CC -S21401C2700002080100FD00000000FEFEFD000000B7 -S21401C2800102000000000200FE000A00050101FD97 -S21401C2900005000000020000000000000000000091 -S21401C2A00008000700000000000000000000000079 -S21401C2B00000F100FD04000800001903FBFB030366 -S21401C2C0FE01F300000CF100000000000000000079 -S21401C2D00000EF0A2400000000000000000000003B -S21401C2E000F1000000000000000000000000000057 -S21401C2F0000000000000000000000000FC0000FB41 -S21401C300FE00000000000000000000000000000029 -S21401C31000000000FE00F900000100000321FBFE02 -S21401C3200807F90300000303FD00000000000000F9 -S21401C33000000000DF070000000000000000000011 -S21401C34000000000000000F9000000F900000000F5 -S21401C350FAFF000000FA00FD00F4000000000000F3 -S21401C3600000000000EF00000000010000000000D7 -S21401C37000FD0000FB00FC00F9000000FC03FD00CE -S21401C38000F9FDFA0000F900FD00F400FD0000EBE5 -S21401C390FBF6FDF70000EF00F9FF000000000000CB -S21401C3A00000FCFBFEFC00000000FA00FA03FD059D -S21401C3B000FEFAFEFCFB00FDFFFE02F9FF00000096 -S21401C3C0E9FEFC00FA00FEF4FE0000FEFE0000009E -S21401C3D0000200FEFCFE0400000000000000000059 -S21401C3E00000000000000000000000000000000047 -S21401C3F00000000000000000000000000000000037 -S21401C400000003000000000000FA00FE000000FB30 -S21401C41003000000F9FDFB0000F900FD00F4000038 -S21401C4200000E700FBF7F30000EF00FEFC00000051 -S21401C4300000000000FDFCFFFC01000004FD0008F8 -S21401C4400DFDFDF8030D0406F9030B0307060700AF -S21401C45000000000000000000000100CFBFD00FEC4 -S21401C460140B14000000030000090000FC0000008B -S21401C470000000000000FE000000000000000004B4 -S21401C48000000000EAFDFEF6F30000EF00000000E9 -S21401C49000000000000000000000000000FC00009A -S21401C4A000000000000000FE000000000000000088 -S21401C4B00400000000EAFDFEF6F30000F6000000AE -S21401C4C00000000000000000000000000000000066 -S21401C4D0FE000000FA0300FD020503F800FFFE035C -S21401C4E0000200000000FA00FEFEFB00FEF600104F -S21401C4F0FD00FAFE00FEFC00FDF9FBFD000000FC5D -S21401C500000000000000000000FE00000000000027 -S21401C51000000400000000EAFDFEF6F30000EF0054 -S21401C52000000000000D00000000000000000000F8 -S21401C530FC00F8FDFE08FEFDF601FE01FEF901060F -S21401C54001020102FAF6FD00F6FBF9F5F600FCFB26 -S21401C550FDFDFEFEFDFE00FEFF040004FE000800D9 -S21401C5600000000000000000000000FEFDFD0000CD -S21401C570F900FF00FC0000000000000000000000C1 -S21401C580F10000000000000000000000FDFD00FDBD -S21401C59000000000FE0000FCFD0300FCFBFE00F9AD -S21401C5A0FEFAFEFD00FC0000000000000000000096 -S21401C5B000EF00080000FB00000000FD00FD000089 -S21401C5C0FF0000FE00FA00000BFDF8F8020303FF6F -S21401C5D0F9020402080208FEF90000F60000F8F964 -S21401C5E00000FB00FDFC00FC00FC00FE0400FEF861 -S21401C5F0FD090000FE00FB000003FA0003FD020037 -S21401C60000F800FEFF00FD03FE000000F6FDFA0044 -S21401C610F80000F40009FD00FB000200FD00FDF833 -S21401C62000FD0300000000FE000003FD010000FD08 -S21401C630FE00FD00000000000000000000000000F9 -S21401C64000000000F000060000FE000000000100EF -S21401C650FDFD0000000500060000000000F0F101ED -S21401C6600B0804F6020B000900050000000000009C -S21401C67000000000000E00000000000000000000A6 -S21401C6800000000000000000D8BA010098C60100B2 -S21401C69034C701003D31000000000102000304051B -S21401C6A002060708090A090A0B0C000D0E0F1011E5 -S21401C6B012130C14140000001516171819161A1B5D -S21401C6C01C1D1D1E1F201D1D1621222303241E2591 -S21401C6D025262728292A2B002C002D2E2F303132F3 -S21401C6E0332D343435302D2D2E2E36373839333A16 -S21401C6F03A3B3A3C290000093D09000000000000D1 -S21401C7000000000000000000000000000000000023 -S21401C7100000000000000000000000000000000013 -S21401C7200000000000000000000000000000000003 -S21401C73000000000000001020003040502060708CD -S21401C740090A090A0B0C0D0E0F10110C1213141501 -S21401C7501500000016171819171919191719191A9B -S21401C7601919191917191719031B1C1D1D1E1F202E -S21401C77021222300240025262727270027262829CB -S21401C78026262A2A272A272A2B2C2D2E2E2F2E30F4 -S21401C790000023093109000000000000000000002D +S214000160E800002071F7000030B58DB0144B9847BA +S2140001700122144B1A70BFF35F8F62B6124B98477A +S214000180124B9847124B9847124B9847124B98477A +S214000190124B9847124C96235B010022114920000F +S2140001A0114DA84701A8114B9847114B0493029490 +S2140001B001A8104B9847104B98470DB030BDC0466D +S2140001C0451300000C000020C97801005978010092 +S2140001D0A577010015010000611800006D69010097 +S2140001E070260020F0000020C1F400005DF400003E +S2140001F089740100E1F40000C579010010B5002003 +S214000200084B9847020000230748002180185941F0 +S214000210064A0023064CA047064B9847064B9847CD +S21400022010BDC046CD100000571B0000581B000034 +S214000230DD7C0100010000205D130100F0B5DE4604 +S21400024057464E464546E0B587B0804604911600B0 +S2140002501F000022002300218B463F24012021009E +S214000260009601975C4603944446059413E02024C8 +S214000270641A0500E540A84614E0009C019D121B88 +S214000280AB415C464D462C43A346039C45462C4357 +S2140002900394013925D3202464420C19E7D40500C1 +S2140002A0A540A84604008C40A14692185B41140065 +S2140002B01D00059E4F463E40B446049E47463E40BF +S2140002C0B246664657463E4303D0060026433200F3 +S2140002D02B00009C019D9D42DBD8CED19442D8D8FD +S2140002E0CBE7039B5846190007B03CBC904699469E +S2140002F0A246AB46F0BD10B5490840230024814213 +S21400030002D2180010BD1C00091A631C9BB288425A +S214000310F9D94023FF2CF4D814800023F1E700001D +S214000320F0B583B00F00160008AA117804004C43FD +S2140003304022BC4202D9100003B0F0BD002B14D1FD +S214000340020008000021194CA04701003A000023D3 +S2140003500020174CA04700220123121A8B41120CD2 +S2140003601B041A4332800022E5E70022012BF9D154 +S2140003700A00002300210D4CA04702000B0000924B +S2140003800193380000210A4CA047050080239B01FA +S21400039040229842CFD8790FF800009A019BA047D8 +S2140003A0EA00821AD2B252032A43DBE71D7D01001F +S2140003B03D02000010B582B004000E4B1B78002BE7 +S2140003C007D0002905D10B4B5B78834210D01D2047 +S2140003D00CE001A90C701320074B98471320074B1D +S2140003E09847044B5C7001221A70002002B010BDC2 +S2140003F00020FBE794260020E511000059110000BC +S214000400404B984231D00AD93F4B98424DD03F4B93 +S21400041098425AD03E4B984237D0002070473D4B0A +S21400042098420CD03C4B9842F7D1012917D00029AE +S2140004305DD0022915D0032915D00020EEE701294A +S21400044007D0002951D0022905D0032905D0002065 +S214000450E4E73248E2E73248E0E73248DEE732488F +S214000460DCE73248DAE73248D8E7012907D0002926 +S2140004703FD0022905D0032905D00020CEE72D481D +S214000480CCE72D48CAE72D48C8E7012907D0002940 +S21400049031D0022905D0032905D00020BEE7284820 +S2140004A0BCE72848BAE72848B8E7012907D000295A +S2140004B023D0022905D0032905D00020AEE7234823 +S2140004C0ACE72348AAE72348A8E7012907D0002974 +S2140004D015D0022905D0032905D000209EE71E4826 +S2140004E09CE71E489AE71E4898E71E4896E70320B2 +S2140004F094E71D4892E71D4890E71D488EE71D4883 +S2140005008CE7C0460010004200180042001C004263 +S2140005100014004200080042000C004203000500E0 +S21400052003000600030007000300010003001E008E +S21400053003001F000300090003000A0003000B006D +S21400054003001100030012000300130003000D0057 +S21400055003000E0003000F0003001700030018003E +S2140005600300190003000400030008000300100045 +S21400057003000C000300160030B587B00B4B6A462C +S21400058032CB32C232CB32C2009B83420BD0012325 +S2140005909A0069465258824206D00133062BF7D19C +S2140005A0002007B030BD0023D8B2FAE73488010037 +S2140005B0F0B5DE4657464E464546E0B591B00500D6 +S2140005C00C00160029600800BA4B98470200236802 +S2140005D00520DB0706D511B03CBC90469946A246DE +S2140005E0AB46F0BD236817309B07F4D4B249086ABF +S2140005F0971C0123BB4003430B620FA92D27F35D15 +S2140006000B701432D3B202931800AC4B9847029882 +S214000610AB4B9847F05D0021AA4B9847F37A6B7175 +S2140006202423F35CAB712523F35CEB71F37E2B7212 +S214000630337F6B722B68984618009E4B9847143091 +S21400064000220E2306A98C4663441A80328A029240 +S2140006508023DB019A4200D19AE00FD9C023DB0148 +S214000660029A9A4200D18EE080231B029A4200D062 +S2140006701BE1032306930023079308E080239B01D6 +S2140006809A4200D011E1102306930F3B079333687C +S2140006900593F3689B4673690393337E049326237E +S2140006A0F35C9A4673689946002B00D19CE0802341 +S2140006B05B05994500D180E0737E002B02D0B37EA7 +S2140006C0424693730E2306AA944663441B8842460A +S2140006D09381059B5A461343039A13434A46134392 +S2140006E0029F1F43049B1B021F4353465B071F4387 +S2140006F02723F35C002B01D104331F43737E9B0238 +S214000700327F52021343727F120213432422B25CDA +S214000710520413432522B25C12041343B17AF27AD0 +S214000720114319433389FF2B00D181E08022520404 +S214000730174319432C23F35C002B03D1624B9B78A1 +S2140007409B0701D580231F432A68D369002BFCD161 +S214000750434659602A68D369002BFCD143461F6084 +S2140007600EAB80221A7000225A70DA709A70336BC1 +S2140007700A93736B0B93B36B0C93F36B02930D930B +S21400078000270AAE63E008230693073B07937EE73D +S21400079033680593F3689B4673690393337E04932B +S2140007A02623F35C9A4673689946002B18D080235C +S2140007B05B05994501D0002025E02723F35C002B3C +S2140007C000D079E7336A1F00C0B2404B984701005B +S2140007D00E2206AB9C46624438003D4B984712E01A +S2140007E008230693002307932723F35C002B0ED0E1 +S2140007F0069B0093079B0E2206A98C466244B16AAC +S214000800306A344FB847002800D0E4E654E7336A2D +S2140008101F00C0B22D4B98470100069B0093079B14 +S2140008200E2206A88446624438002A4FB847EAE7F4 +S214000830F37E002B00D17DE78023DB041F4379E79E +S2140008402000254B984707E00137042F0DD0F9B25A +S214000850BB0098590028F3D0431CF5D00EA90870A9 +S214000860000CC0B21D4B9847EEE70023EB602B61EF +S2140008706B61AB61EB612B62AB626B620022EB8556 +S214000880AB853033EA540133EA540133EA5401337A +S214000890EA542868074B984704001149114B9847BB +S2140008A0A400114BE550002095E610230693002384 +S2140008B00793ECE67905000000040040E51100000F +S2140008C059110000B503000000200041011200008D +S2140008D0F70200002103000001040000DD12000002 +S2140008E0490A0000E10B0000944C0020C2791C234A +S2140008F0002A01D118007047C28D92B2173B002A19 +S214000900F8D1026811850221137E0B42FCD0002329 +S214000910F0E70000F0B5CE46474680B583B0050048 +S21400092001911720002A04D103B00CBC90469946CA +S214000930F0BDEB790530002BF6D02C68013A93B267 +S214000940994600260127204B984611E0731C9BB25F +S214000950019A915D6A79012A17D089B21E00280093 +S2140009601A4B98474B46013B9BB29946434513D0DA +S214000970237E3B42EAD1144B227E3A42E6D1012B3B +S21400098019D0013B002BF7D1E0E70236B6B2019A48 +S214000990D35C1B021943E2E7237E9B070DD40A4B68 +S2140009A00221227E0A420AD1012B0AD0013B002BEB +S2140009B0F7D10020B8E71220B6E70020B4E7002001 +S2140009C0B2E71220B0E7C046FFFF0000ED080000C7 +S2140009D0F8B504000D00160007680F4B9847A38D66 +S2140009E09BB2002B03D00D4B98470520F8BDA6857B +S2140009F00A4B9847656205223223E2542E3BBB75AC +S214000A00237A002B01D02023BB75637A0020002BAD +S214000A10ECD00823BB75E9E7AD0C0000ED0C000038 +S214000A20931C9B00C31859603021012393401A0081 +S214000A30435C13434354704710B50122014B98475B +S214000A4010BDC046D1090000F8B58000624BC558FD +S214000A502C68E369002BFCD1237EA67D1E40302344 +S214000A60EB5C3122AF5C1F40F30722D5EB8D9BB2C7 +S214000A70002B1CD0AA6A1378DBB2511CA9626979D4 +S214000A8001290ED09BB2DB05DB0D2385EB8D013BE8 +S214000A909BB2EB85002B0CD1013323750133A37574 +S214000AA007E0517809020B430232AA62EBE7012302 +S214000AB02375B30706D50223237500223133EA5483 +S214000AC0FB071AD4730765D5AB8D9BB2002B5FD09E +S214000AD0638BDBB21A0714D43F221340002B34D0AA +S214000AE09A0711D51A223223EA54303B63837B07D8 +S214000AF050D528006B6998474CE02800EB6898476B +S214000B00E0E737221340E9E75A0705D51E223223CD +S214000B10EA542E3B6383EAE7DA0705D5132232232D +S214000B20EA54313B6383E2E7DA0605D542223223F4 +S214000B30EA54223B6383DAE720221A42D7D02132D6 +S214000B403223EA54123B6383D1E7238DDB05DB0DAA +S214000B50DAB2696A0A706A6A511C6962697901299F +S214000B6010D0AB8D013B9BB2AB85002B12D104336A +S214000B70237500222E33EA54BB070BD528002B69B9 +S214000B80984707E01B0A53706B6A01336B62E8E70D +S214000B9004232375F30604D5102323752376FB065A +S214000BA00ED4B30604D52023237523763B070BD437 +S214000BB0330704D5082323752376BB0608D4F8BD6F +S214000BC02800EB699847ECE72800AB699847EFE701 +S214000BD02B6A28009847F2E7944C002070470000E4 +S214000BE0F0B50A4B1B78002B0CD1094F094E0A4D65 +S214000BF00024DE515A1914600433182BF9D101224F +S214000C00024B1A708000024BC150F0BD96260020A1 +S214000C1098260020DD0B0000944C002000B583B021 +S214000C2009236A46137001335370013393700133FE +S214000C30D3700133137101335371034B98476B46DE +S214000C40185603B000BDC0467905000010B5024B2B +S214000C501B680020984710BD9826002010B5024B50 +S214000C605B680120984710BD9826002010B5024BFF +S214000C709B680220984710BD9826002010B5024BAE +S214000C80DB680320984710BD9826002010B5024B5D +S214000C901B690420984710BD9826002010B5024B0B +S214000CA05B690520984710BD982600200C4B1B68F2 +S214000CB0002B06D1EFF31083002B07D00022094B40 +S214000CC01A70074A136801331360704772B6BFF391 +S214000CD05F8F0022044B1A700132024B1A70F0E745 +S214000CE0B0260020B42600200C000020084B1A680E +S214000CF0013A1A601B68002B09D1064B1B78002BA3 +S214000D0005D00122044B1A70BFF35F8F62B670479E +S214000D10B0260020B42600200C000020F0B583B0DA +S214000D2001AC012565700027A770257021003E20C4 +S214000D30064EB0478022D205054B9A612770657033 +S214000D4021000F20B04703B0F0BDC046550D00008F +S214000D508044004100B583B001AB80221A700A7847 +S214000D605A704A789A708A78DA701900014B984758 +S214000D7003B000BDDD12000010B582B001AB8024C8 +S214000D801C7014785C7054789C709278DA701A0034 +S214000D90014B984702B010BD0D13000010B508288F +S214000DA003D880001C4B1B589F46002032E01B4B8C +S214000DB018692FE01A4B1B6A9B059B0F1948D840F1 +S214000DC028E0164B586925E0144B1B6800209B074B +S214000DD020D513491022CB681A42FCD00F4B1A6854 +S214000DE024231340042B01D00F4813E000200F4BA0 +S214000DF098470A4B9B681B041B0C58430AE0502379 +S214000E00074AD35C00205B0704D5044BD86801E092 +S214000E108020000210BDC0464C880100B826002085 +S214000E200008004000127A00006CDC02011200008C +S214000E3070B50C490B6A047885784078012210401A +S214000E4080014026B34303432A40D20180208343D7 +S214000E5013430322224012020348034013430B624B +S214000E6070BDC04600080040FFFCFFFF082803D8FE +S214000E708000254B1B589F46172044E0234A136AE0 +S214000E8002210B43136200203DE0204A93690221B1 +S214000E900B439361002036E01C4A138A02210B4361 +S214000EA0138200202FE0194A938A02210B43938273 +S214000EB0002028E016490B68022213430B60134BF0 +S214000EC09A8419000E32CB681A42FCD0104A9168F8 +S214000ED00E4BD96252689A6200229A841900103228 +S214000EE0CB681A42FCD00A4B1B689BB2074A938415 +S214000EF0002008E0054944228B5C022003438B5403 +S214000F00002000E0002070477088010000080040C4 +S214000F10B826002030B585B0C222D2001A4B9A609F +S214000F201A4A53681E218B43536001236A46137086 +S214000F300024174DE0B26946A8470134252CF9D1A4 +S214000F4003A800244470012585700470114B98474F +S214000F500620114B9847114B9847114B1C725C7238 +S214000F609C72DC7201956B465C7006236A461370B1 +S214000F7014725472694600200A4B984700200A4BA8 +S214000F80984705B030BDC04600080040004000410C +S214000F90E5110000310E00006D0E0000AD0F0000E0 +S214000FA000040040D10F000089100000064A936933 +S214000FB008210B4393610122044B1A7019000B7829 +S214000FC01342FCD17047C04600040040000C0040AD +S214000FD070B5060004000D782D0205434B78002BF3 +S214000FE002D08023DB021D434B7A002B02D08023E5 +S214000FF01B031D434868012810D9431E184234D1EC +S214001000022830D90223002201325B009842FBD826 +S21400101012023243140080235B031D430B7A002B1D +S21400102002D080239B031D43134A53785BB2002BE8 +S214001030FBDB124B9847124B1E700F4A53785BB27D +S214001040002BFBDB0C4B9C601A0053785BB2002B2A +S214001050FBDB094A5368802149020B401D4355605B +S214001060084B984770BD0022D2E704023443802321 +S2140010709B021D43D2E7C046000C0040AD0C0000AA +S214001080080C0040ED0C000010B504000B4A537825 +S2140010905BB2002BFBDB0A4B98470A4B1C70074AD7 +S2140010A053785BB2002BFBDB044A516880235B025B +S2140010B00B435360044B984710BDC046000C0040DD +S2140010C0AD0C0000040C0040ED0C000070B50400F0 +S2140010D01A4A53785BB2002BFBDB194B9847194B27 +S2140010E01C70164A53785BB2002BFBDB134E7068FD +S2140010F0C004C00E144B98470500124B1C7076684F +S214001100F602F60F114B1C700C4A53785BB2002B9C +S214001110FBDB0A4B9C682402240C0D4B9847002EE0 +S21400112007D1012C07D9210028000A4B9847050053 +S21400113001E00134E540280070BDC046000C0040C8 +S214001140AD0C0000040C00409D0D0000080C004093 +S214001150ED0C0000F179010010B50400064B98472D +S214001160064B1C70064A53888021C9010B435380E6 +S214001170044B984710BDC046AD0C0000020C004062 +S214001180000C0040ED0C000010B504000F4B984713 +S2140011900F4B1C700F4A53881B05180F53880E49B7 +S2140011A00B40538053880D490B405380110080221A +S2140011B0D2014B881342FCD106494A8803020648EE +S2140011C0024013434B80064B984710BDAD0C000001 +S2140011D0020C0040000C0040FFF0FFFFFFBFFFFFC7 +S2140011E0ED0C000010B50C7824020443024B98471F +S2140011F0A4B2024B5C8010BD89110000000C0040B8 +S21400120010B50400064B9847064B1C70064B5C88CE +S2140012102405240F054B98472000054B984710BD22 +S214001220AD0C0000020C0040000C0040ED0C00006D +S214001230CD10000030B5D378002B35D11378802B35 +S21400124029D01B0680246402234354780225AC432D +S21400125006D19478002C20D18024A4022343416038 +S2140012605478013C012C1CD90D042D0CA024E40557 +S2140012702C431C4384620D0CD02424062C431C43B0 +S2140012808462D478002C22D15B031CD59378012B82 +S2140012901ED0416117E00023D7E7C024E4022343B1 +S2140012A0DDE70D4C2340DFE741600C04240CA0234F +S2140012B0DB05234383620C0CD0231B062343836287 +S2140012C0D378002B03D15378013B012B02D930BDD4 +S2140012D08161F8E78160FAE7FFFFFBFF10B50A00BF +S2140012E0C1090023002904D14309DB0105498C46C6 +S2140012F063441F242040012181401800024B984778 +S21400130010BDC0460044004135120000F0B583B061 +S21400131000900E00019200240127084D02E00134DF +S214001320202C09D03300E3401F42F8D0019A390040 +S214001330A1400098A847F2E703B0F0BD35120000C0 +S2140013407047000010B5054B9847054B9847054B6E +S2140013509847054B9847054B984710BD150F00005A +S2140013601D0D000041130000411300004113000052 +S214001370FEE70000F8B52A4A2A4B9A4211D01A0016 +S214001380294B9A420DD2294A03339B1A9B080133F4 +S2140013909B000022234822498C58845004329A42EB +S2140013A0FAD1234A234B9A420AD2D34321495B18E7 +S2140013B003218B4304339B18002102C29342FCD1C5 +S2140013C01D4AFF211D4B8B439360FD3990235B0024 +S2140013D01B4AD1501B4AD3780325AB430224234330 +S2140013E0D370D3780C27BB4308263343D370164BF1 +S2140013F0987B30229043202210439873997BB94300 +S214001400314399739A7BAA4322439A730F4A5368CF +S21400141080210B4353600E4B98470E4B9847FEE7D0 +S21400142018CB010000000020C400002004000020AB +S214001430C8000020384E002000ED00E0000000004C +S214001440007000410050004100480041004000414B +S214001450457F0100DD7901000300064A1268002A74 +S21400146004D0044A1068C318136070470249014A42 +S2140014701160F6E7D0260020386E0020431E984103 +S214001480C0B2704710B5C0B00400064B9847E528B8 +S21400149001D940B010BD020021006846024B9847B3 +S2140014A0F7E7C046F17F01008D0C010010B500285B +S2140014B001D0C06B10BD034B98470028F9D100201F +S2140014C0F8E7C04609F6000010B5002801D0006C09 +S2140014D010BD034B98470028F9D10020F8E7C04616 +S2140014E009F6000010B5002801D0406C10BD034B73 +S2140014F098470028F9D10020F8E7C04609F6000012 +S214001500F8B5002811D0002534272026074C02E025 +S214001510A047002804D0C35D1E42F9D00500F7E7B7 +S214001520002D02D02800024B9847F8BDA11A0000F3 +S21400153019200000F8B5DE4657464E464546E0B54B +S21400154006008A469046037DDB073CD4C468012328 +S21400155099460025324F0F339B4615E0337D5A4699 +S2140015601A4201D1002D2ED14B46002B2BD0300035 +S214001570D0470400002D4CD000239946002C03D001 +S2140015802068B84700280CD0002CE7D0002D06D0E5 +S21400159021003000C0470400A842EFD113E0250028 +S2140015A0F6E7F368A3420ED0002B16D01868C3697E +S2140015B0002217219847F368186800220E21194B5D +S2140015C09847012805D03CBC90469946A246AB46B3 +S2140015D0F8BDF3681868144B9847F4602068C36930 +S2140015E0002216219847F368186800220D210D4B3B +S2140015F098470128E7D1F36818680C4B9847F368BA +S2140016001868094B98473369002BDCD030009847A0 +S214001610D9E70028D7D0050000239946B0E7C04692 +S214001620851E0000111A0000B11F00000115000001 +S21400163010B518210148024B984710BD184E0020DF +S214001640B905010010B5024A0249034B984710BD80 +S214001650850601006D0601003515000010B5024A2A +S2140016600249034B984710BDAD06010079060100FC +S2140016703515000070B50400037DDD06ED0F102261 +S214001680134303751B0708D5054B98472D01237D8B +S214001690102293432B43237570BD024B9847F5E702 +S2140016A05D16000045160000F8B505000C00002881 +S2140016B010D006001B4B984700280CD003689C42AD +S2140016C008D0194F01003000B847002803D003683F +S2140016D0A342F7D1F8BDA36B002B07D02000134B15 +S2140016E09847002802D0A06B114B9847A5632800A6 +S2140016F0104B98470600104B984700280BD0002E3A +S214001700E8D034602800074B98478642E2D128008C +S214001710074B9847DEE73200002308480849884709 +S214001720FEE7C0466D06010085060100293600006A +S214001730751600001D0601007D1400009488010047 +S21400174085140000002804D0C368002B03D0186856 +S21400175070470020FCE70020FAE7002803D0007D51 +S2140017608007C00F70470020FCE70000014B186898 +S2140017707047C046D4260020F8B50C00002815D0C7 +S2140017805022835C02210B438354184B1B689842FB +S21400179005D0002C07D0C36B9C4204D0F8BD0022B5 +S2140017A0134B1A60F5E70023C363F7E70020114BDD +S2140017B098470028F2D00D4F0D4D0E4E07E000233F +S2140017C02B600CE00023C363B0470028E6D050220D +S2140017D0835C02210B4383543B688342EFD0002C8A +S2140017E0F0D0C36B9C42EFD1ECE7C046D426002075 +S2140017F0D82600204DF7000010B500210020014B30 +S214001800984710BD79170000F0B585B00D0002911D +S21400181016000392031D019318000F4B9847041EF1 +S21400182018D0ADB2B7B20D4E238AEB182382638A66 +S214001830FB186382A38AEB18A382E38AFB18E38271 +S214001840039A02992000FFF7DFFF21000198B047B6 +S214001850041EE9D105B0F0BD6D0601008506010045 +S21400186030B585B0194B1B78002B01D005B030BDC4 +S214001870174B9847174B9847174B9847174B98475F +S214001880174B984710211748174CA047174B029341 +S2140018900193009302221F2115480088154DA84782 +S2140018A0154B9847154B9847B82149001448A04750 +S2140018B060211448A047144B9847144B98470120C2 +S2140018C0134B98470122014B1A70CFE7E4260020FD +S2140018D0490A01009911010049030100F9F90000C5 +S2140018E031160000684D0020B905010030000020C8 +S2140018F0A288010091440100511C01009D42000095 +S214001900C44C0020B84C0020F9170000F9E600008F +S21400191059DC000070B504000D00094B98470028FC +S21400192008D0342201231D40A35C012083432B43AF +S214001930A35470BD22000023024803498847FEE7EF +S2140019407D140000FC88010085140000F0B587B007 +S21400195007000C0001921E00002904D00800254B49 +S214001960984700283CD003AB039400221A710592D6 +S214001970214B1B68002B00D0059303AA1E4B1A6050 +S2140019801E4B1D681E601E4B9847002804D08368B7 +S214001990002B01D001999847002F02D00199200012 +S2140019A0B847164B1D60144B1A6892681A6003AB52 +S2140019B01B790020002B11D1002C17D03433E35CA8 +S2140019C001305B060AD52068002811D03200019944 +S2140019D00C4B9847013842424241D0B207B0F0BDA6 +S2140019E022000023084809498847FEE70120F5E75A +S2140019F00120F3E77D140000E0260020DC2600200E +S214001A006D170000111A0000FC8801008514000004 +S214001A1070B504000D001600002810D0094B98473A +S214001A20002805D122000023074808498847FEE71A +S214001A30A06933002A002100054CA04770BD012094 +S214001A40FCE7C0467D140000FC88010085140000F9 +S214001A504D19000010B5002804D0C369002B03D030 +S214001A60984710BD0120FCE70120FAE710B50400F6 +S214001A70084B9847002805D122000023064807494E +S214001A808847FEE700236386E369002206212000DC +S214001A90984710BD7D140000FC88010085140000E6 +S214001AA010B50400054B9847002801D0206810BDEB +S214001AB022000023024803498847FEE77D14000001 +S214001AC0FC8801008514000070B50400094B984797 +S214001AD0002801D0084D06E02200002307480849E8 +S214001AE08847FEE704002000A8470028FAD1200017 +S214001AF070BDC0467D140000A11A0000FC880100DD +S214001B0085140000F0B5C64600B50400194B98478A +S214001B1000280FD02368002B03D02000164B9847D0 +S214001B2004001648164B9847071E1ED0144B9846BE +S214001B30144E0BE022000023134814498847FEE7A2 +S214001B4039000E480F4B9847071E0ED03D00303523 +S214001B502800C0470028F3D0844206D001002800A1 +S214001B60B0470028ECD08442F8D1380004BC904638 +S214001B70F0BDC0467D140000C91A0000C44C002009 +S214001B806D06010085060100FC8801008514000032 +S214001B9070B504000D000A4B9847002806D0002DAB +S214001BA00AD0201D2900074B984770BD220000234D +S214001BB0054806498847FEE7201D054B9847F4E789 +S214001BC07D14000085060100FC88010085140000D5 +S214001BD06D06010070B504000D000A4B98470028FA +S214001BE009D02000183010342178297001350134CE +S214001BF0A042F9D170BD220000230348034988475C +S214001C00FEE7C0467D140000FC8801008514000035 +S214001C1010B504000B4B9847002805D1220000237E +S214001C2009480A498847FEE72000094B98470028DC +S214001C3004D0238A008A181A00B210BD1023E05E72 +S214001C40FBE7C0467D140000FC88010085140000F8 +S214001C50A11A000010B504000B4B9847002805D1C8 +S214001C602200002309480A498847FEE72000094B5E +S214001C709847002804D0638A408A181A00B210BD1C +S214001C801223E05EFBE7C0467D140000FC880100DE +S214001C9085140000A11A000010B50400074B9847F1 +S214001CA0002805D0A08A0130238AC01A00B210BDD1 +S214001CB022000023024803498847FEE77D140000FF +S214001CC0FC8801008514000010B50400074B9847F7 +S214001CD0002805D0E08A0130638AC01A00B210BD21 +S214001CE022000023024803498847FEE77D140000CF +S214001CF0FC8801008514000000B583B0002902D1DD +S214001D00283003B000BD6B461970002301936A4665 +S214001D100821044B9847012801D10198F1E70020DB +S214001D20EFE7C046551A0000F0B5DE465746464671 +S214001D30C0B580468A4693461E001D481D4B9847F0 +S214001D40041E2FD0B0422DD01B4F0AE0A3885B455F +S214001D5015D05B46FF2B12D0002D23D02C00AE42B0 +S214001D6020D021001248B847050020684045F3D12E +S214001D70A1795145EAD05346FF2BEDD1E6E70F4B4C +S214001D8098470F4B9847A1880E4B98470021200094 +S214001D900D4B9847210006480C4B984720000C4BEB +S214001DA09847D9E71CBC90469A46A346F0BDC04665 +S214001DB0684D002079060100AD060100F91C000000 +S214001DC021560000D14B000091FA00005507010093 +S214001DD0390B010070B504000D00064B984700282B +S214001DE007D0054B98470023FF2229002000034C0C +S214001DF0A04770BDF91C000031560000291D0000E8 +S214001E00F8B504681748184B9847002820D00026D5 +S214001E10144D164F04E001002800B84700280DD0E6 +S214001E208442F8D0036822689342F4D143681B02C8 +S214001E30626812029A42EED10126ECE7002E07D025 +S214001E40210008480A4B984720000A4B9847F8BDDF +S214001E50A1792068084B9847084B9847A188084BFB +S214001E609847EDE7684D00206D06010085060100E5 +S214001E7055070100390B0100F91C0000215600002F +S214001E80D14B000010B50400074B9847002804D03B +S214001E903423E05CC006C00F10BD220000230348B8 +S214001EA003498847FEE7C0467D140000FC88010011 +S214001EB085140000F0B585B004000E00304B98473E +S214001EC0002805D1220000232E482F498847FEE728 +S214001ED020002E4B9847002801D005B0F0BD20000A +S214001EE02B4B984707002B4B984705002A4B9847E3 +S214001EF0874209D02800294B9847874204D02800FB +S214001F00274B98478742E8D13222A35E2100103142 +S214001F100022885C6F46D0550132082AF9D19BB260 +S214001F203A88D21A3A807A88D21A7A80BA889A1868 +S214001F30BA80FA889B186A46FB80310002A8194BC3 +S214001F4098470028C9D02000174B9847041E11D088 +S214001F50144E2200103202A90800B0470028BCD058 +S214001F6020000A4B98470028B7D120000E4B984710 +S214001F70041EEED102A928000C4B9847ADE7C046D8 +S214001F807D140000FC88010085140000851E0000FA +S214001F90C91A0000051B0000AD140000C91400009B +S214001FA0E51400000FFC0000A11A0000A14200008A +S214001FB030B583B00400144B984700281DD0322358 +S214001FC0E25E200010300023C15C6D465955013397 +S214001FD0082BF9D193B22A88D21A69462A806A88D1 +S214001FE0D21A6A80AA889A18AA80EA889B18EB8078 +S214001FF02000064B984703B030BD2200002304485B +S21400200004498847FEE7C0467D140000B51E000060 +S214002010FC88010085140000F8B50400124B9847B0 +S214002020002805D122000023104811498847FEE702 +S2140020302000104B98470500061D30000E4B9847B1 +S21400204084420FD028000D4FB847012322003100EC +S21400205030000B4EB047220001212800EB6998475C +S2140020602800B847F8BDC0467D140000FC88010073 +S21400207085140000A11A00006D060100B11F0000C3 +S214002080E5070100F0B5D6464F464646C0B582B0D5 +S21400209004000D001700264B9847002841D02668FC +S2140020A0002E38D0338A228A9B1A5B199BB29A4636 +S2140020B01BB29846758A638AED1AED19ADB22BB23B +S2140020C099464346002B02D14B46002B23D02000D6 +S2140020D0184FB84769462000174B9847238A534441 +S2140020E02382638AEB186382A38A5344A382E38A1B +S2140020F0ED18E5824A4641462000104B98476A464E +S21400210002212000E3699847F3692200012130008C +S21400211098472000B84702B01CBC90469946A24695 +S214002120F0BD22000023064806498847FEE7C04661 +S2140021307D140000B11F0000D51B00000918000028 +S214002140FC88010085140000F0B5D6464F4646468A +S214002150C0B584B004000F00019299460CAB002273 +S2140021609A5E9046264B9847002805D12200002309 +S214002170244825498847FEE7002F0AD03800204B20 +S214002180984700280AD13A0000231E481E4988476F +S214002190FEE720001D4B98470700EFE703AD210040 +S2140021A01031380010302B00019A194EB04720002D +S2140021B0164B98471222835E6A884244298849440F +S2140021C0008A091A09B22980D21A12B26A8020003F +S2140021D0104B984748236A461279E254043B4A4615 +S2140021E0E25202334246E25227644922A35C0221AD +S2140021F08B43A35404B01CBC90469946A246F0BD3F +S2140022007D140000FC88010085140000A11A00005F +S21400221041FF000085200000F0B5DE4657464E46DA +S2140022204546E0B583B080460191924699460CAB90 +S21400223000229B5E9B46A14B9847002805D142464C +S21400224000239F489F498847FEE740469E4B984795 +S214002250050040469D4B9847040040469C4B9847D7 +S214002260C30F1B185B101EB240469A4B9847C70F09 +S2140022703F187F103FB2019B002B0BD001988F4B6D +S214002280984700280BD05346142B1FD89B00924A21 +S214002290D3589F464046914B98470190EEE7019AE7 +S2140022A00023874887498847FEE7019C2000884B23 +S2140022B09847C50F2D186D10AD1B2DB22000854B0D +S2140022C09847C40F24186410E41B24B24046834B7E +S2140022D09847019A138A4B445D19018A691A1500BA +S2140022E0528A5A441219448A121B12B209B2404644 +S2140022F07B4B9847482342465146D154043B4946B7 +S214002300D15202335946D1521564492243469B5C4A +S21400231002210B4341468B5403B03CBC9046994681 +S214002320A246AB46F0BD75422DB27C4224B2CDE744 +S2140023300198674B9847C50F2D186D10AD1B2DB231 +S2140023407C4224B2C2E70198614B9847851B2DB2A8 +S2140023507C4224B2BAE775422DB201985D4B98478D +S214002360C41B24B2B2E7019C2000594B9847C50F06 +S2140023702D186D10AD1B2DB22000564B9847C41B70 +S21400238024B2A3E7019C2000514B9847851B2DB231 +S2140023902000504B9847C41B24B297E775422DB2D5 +S2140023A001984C4B9847C40F24186410E41B24B2C1 +S2140023B08CE7019C2000464B9847851B2DB22000D9 +S2140023C0444B9847C40F24186410E41B24B27DE7DE +S2140023D075422DB27C4224B278E701983C4B984770 +S2140023E0C50F2D186D10AD1B2DB27C4224B26DE7C3 +S2140023F00198374B9847851B2DB27C4224B265E77F +S21400240075422DB20198334B9847C41B24B25DE742 +S214002410019C20002E4B9847C50F2D186D10AD1B44 +S2140024202DB220002B4B9847C41B24B24EE7019CCC +S2140024302000274B9847851B2DB22000254B984738 +S214002440C41B24B242E775422DB27C4224B23DE75B +S21400245075422DB201981F4B9847C40F241864107C +S214002460E41B24B232E775422DB20198194B984707 +S214002470C41B24B22AE70198154B9847851B2DB23A +S2140024807C4224B222E7019C2000114B9847851B12 +S2140024902DB220000F4B9847C40F24186410E41B7D +S2140024A024B213E7019C2000094B9847851B2DB2E8 +S2140024B02000084B9847C41B24B207E77D14000091 +S2140024C0FC88010085140000111C0000551C00004B +S2140024D0991C0000C91C0000A4880100A11A000075 +S2140024E08520000010B582B00400134B98470028E2 +S2140024F010D04923E35C9B0712D54423E35E4822B1 +S214002500A25C4621615E0091216C20000B4CA04726 +S21400251002B010BD2200002309480A498847FEE79A +S2140025204423E35E4822A25C4621615E0091216C52 +S2140025302000054CA047EBE77D14000019220000A0 +S214002540FC8801008514000049210000F8B506004B +S21400255000210C4B9847041E12D00B4D094F20004B +S214002560A847002204212000E36998472000A847D6 +S2140025702000FFF7EBFF21003000B847041EEED125 +S214002580F8BDC046911B0000B11F000070B50500E5 +S2140025900C00314B9847002813D0712C3ED8702C75 +S2140025A01BD2412C13D8402C17D2022C05D3072C53 +S2140025B013D92300103B082B0FD92800274B984728 +S2140025C028E02A000023264826498847FEE7532CA1 +S2140025D021D8502C01D24C2CEFD128001F4B984705 +S2140025E0002204212800EB699847152C0AD3182CE2 +S2140025F001D9FF2C06D12868002803D0C369002221 +S214002600012198472800154B9847FF2C20D024B26C +S214002610002C1DDB70BD5C2CCFD1DEE77F2C0AD9E9 +S214002620114B9C4210D8114B9C42D6D2902CD4D041 +S214002630FF2CC2D1D1E77E2CCFD2732CBDD3752C04 +S214002640CBD97C2CB9D1C8E7094B9C42B5D1C4E79D +S2140026502800084B9847DDE77D140000B11F0000F6 +S214002660FC88010085140000818000008080000046 +S2140026708E8000004D25000010B50400034B9847DF +S214002680FF212000024B984710BDC046D51D000014 +S2140026908D250000F0B5C64600B582B00700019152 +S2140026A00025214B9846002300931CE05A1CD2B20A +S2140026B00AE0A7420FD0002F0DD00133DBB28B42C9 +S2140026C00DD01A000628F1D0009C8A42F1D2920062 +S2140026D034681459EDE7FF210198144B98470135EB +S2140026E0EDB2402D0CD029000198C047061E07D039 +S2140026F001790029F3D04379062018400023E0E74B +S214002700002101980A4B9847041E09D0084E210064 +S2140027103800FFF7BFFF21000198B047041EF6D12E +S21400272002B004BC9046F0BDF91C00008D250000E8 +S214002730911B0000F0B5D6464F4680B583B0019099 +S2140027400020114B98478146002817D00F4B9A4619 +S2140027500F4F104E4D4630352800D047041E07D088 +S21400276021000198B84721002800B047041EF7D181 +S2140027704846054B984781460028EBD103B00CBC71 +S21400278091469A46F0BDC046E5F600006D0601008B +S2140027909526000085060100F8B504000D00817935 +S2140027A000683F4B98473F4B9847A1880F230B4044 +S2140027B0082B19DC002D08D10823E25E3A4B984717 +S2140027C0A1882068394B9847F8BDFF2D09D008230B +S2140027D0E65E0C23E25E921B6A431212921912B254 +S2140027E0ECE70C23E25EE9E70B2B3CDC002D05DD75 +S2140027F0FE2D05DDA2892E4B9847E1E72289FAE7F0 +S214002800EDB2FF22521B637BDB086B43667AF60849 +S21400281056439E1933029B19DB019B191B01DB0EE5 +S214002820A7897F05BF0E6F4326897605B60E5643E9 +S214002830BF193E02F619F601F619F600277BFF06C9 +S214002840FF0E7D43277AFF06FF0E7A43AD182A0255 +S2140028505219D20152191201B60E7601D20EDB02BF +S21400286032431A43C7E70D2B11DC002D05DDFE2D84 +S21400287005DD227B0F4B9847A2E7227AFAE7227AF9 +S214002880237B9B1A5D432D125219D2B2F2E77F2D9D +S21400289003DCA268084B984792E7E268FAE7C0466E +S2140028A0F91C000021560000F54C00008D250000A4 +S2140028B0554E0000B54F00000951000010B5040049 +S2140028C0054B9847002801D0002010BD22000023A9 +S2140028D0024803498847FEE77D140000FC88010093 +S2140028E085140000F8B5DE4657464E464546E0B528 +S2140028F082460D0000280AD0E94B9847002800D0F1 +S2140029003AE152460023E748E7498847FEE7E74BA7 +S2140029109847002800D104E23030E54B9847040081 +S214002920DF4B9847002805D122000023E148DE4906 +S2140029308847FEE7002C00D1ECE14C212000DE4B5E +S214002940984722003432537830218B435370DB4B48 +S214002950E361DB4B23620023A361238263820020B2 +S214002960D84B98470138A0820020D74B98470138AB +S214002970E082201D4C21D54B98470021002061861F +S21400298000233022A0540132A3541732A354442308 +S214002990E1520233E15221640132A35C0127BB43BA +S2140029A0A354A16334239846E25C4B3313400122C0 +S2140029B09446624613437D221340793A9343270098 +S2140029C034377A780E26B2430626B1464E46324350 +S2140029D00826B3430836B3432C36A0551C3EB343F3 +S2140029E02036B3434646A35563461A437A703D23C2 +S2140029F0E05461620C3F3800B54B9847002D00D17B +S214002A0040E1290028313800B24B98472900183198 +S214002A10220010322B001033187810700132013368 +S214002A208B42F9D13222AB5E63863023EA5CE254F5 +S214002A300133EA5CE2541733EA5CE254043BEA5E94 +S214002A40E2520233EA5EE2522B6C23644922A95C0E +S214002A5001239B4601273940A35C584683430B431A +S214002A60A354AB69A3613423EA5CD209D101E25CCA +S214002A7094467F22664632400A43E254EA5CD20716 +S214002A80D20FE15C81430A43E254EA5C52083A40C2 +S214002A905200E15C0226B1430A43E25435229446D2 +S214002AA0AA5C210034310C361640B0464A780E2611 +S214002AB0B243464632434A70EA5C92083A40920075 +S214002AC0E65CB0460426B146464648468643324350 +S214002AD0E254EA5CD2083A40D200E05C8046082025 +S214002AE0464686433243E254EA5C12093A401201F3 +S214002AF0E05C80461020464686433243E254EA5C59 +S214002B0052093A405201E05C804620204646864301 +S214002B103243E254EA5C92093A409201E75C402074 +S214002B2087433A43E2540833EA5CE2546346EB5C7C +S214002B30DB07DB0F4A785846824313434B70A86B7B +S214002B40002802D02100644B98472800634B984722 +S214002B50002800D1D2E05346002B00D1DAE028004E +S214002B605F4B9847070028005E4B984702003900E5 +S214002B7020005D4B9847C4E05346181D4C4B9847C1 +S214002B800400474B984700284BD0002C00D1C1E0EA +S214002B904C212000484B984753462360220034328D +S214002BA0537830218B435370444BE361444B23628C +S214002BB00023A361534612229B5E638253465F8ABC +S214002BC000204A4B98473223434350334022FF327B +S214002BD0012093422BD8C019E0822000444B98472E +S214002BE0012830D0534610229B5E238253461F8A0C +S214002BF000203E4B98476423434350334022FF3225 +S214002C00012093420AD90020384B984703006420DD +S214002C1058435030A021374B984780B2C019A08245 +S214002C20A7E62200002323481F498847FEE7002026 +S214002C302E4B98470300322058435030A0212D4B8E +S214002C40984780B2C7E7534614229B5EA38253463A +S214002C509F8A0020254B98476423434350334022E5 +S214002C60FF32012093420AD90020204B98470300E8 +S214002C70642058435030A0211E4B984780B2381A23 +S214002C80208276E65346002B04D0022120001A4B01 +S214002C90984736E001212000174B98473AE0C04697 +S214002CA07D140000FC8801008514000009F6000071 +S214002CB0CD050100948801004D100100413E000042 +S214002CC0E139000015F600003DF60000B9050100E8 +S214002CD05D490000A1560000A9160000A11A0000D8 +S214002CE0111C0000551C00008520000065F6000041 +S214002CF0BD280000F1790100691C01005346002B35 +S214002D0008D05346DB692200012150469847200030 +S214002D10054B984720003CBC90469946A246AB46D9 +S214002D20F8BD5446F6E7C046B11F000070B5040073 +S214002D300D00084B9847002806D03C23E05C28404E +S214002D40431E9841C0B270BD2200002302480349CA +S214002D508847FEE77D140000FC880100851400000B +S214002D6070B582B005000E000D4B9847002805D0C0 +S214002D703F2E09D83D23E85C02B070BD2A00002330 +S214002D80084809498847FEE701AC267000236370AF +S214002D90220009212800054B98476078ECE7C046DA +S214002DA07D140000FC88010085140000551A000000 +S214002DB0F0B5DE4657464E46C0B584B006000D0058 +S214002DC01700130A0193002830D0244B9B46244B4F +S214002DD09A46244B99460CE002AB06330020185E58 +S214002DE004B01CBC91469A46A346F0BD0025002EB2 +S214002DF01DD029003000D847009029003000D04769 +S214002E0004023C19A4B202AB9A1D21000098C847E0 +S214002E100128E1D06B461B795BB2002B07DA002D48 +S214002E20E4D13000104B98470600DFE714000F4B44 +S214002E301C40222C10D007D80620032CD0D0072CFC +S214002E4008D180204000CBE70F20312CC8D00130BD +S214002E50C02CC5D00020C3E7FF20C1E7F91C000046 +S214002E60612D0000E1570000A11A0000FF80FFFF5F +S214002E70F0B5DE4657464E46C0B584B006000D0097 +S214002E801700130A0193002828D01C4B9B461C4BA6 +S214002E909A461C4B994605E003AB188825E00025AA +S214002EA0002E1CD029003000D847009029003000A2 +S214002EB0D04704023C19A4B203AA21000098C847D0 +S214002EC00128E9D06B461B795BB2002B07DA002D90 +S214002ED0E5D130000C4B98470600E0E714000B4B9A +S214002EE01C40293C0020012C05D904B01CBC91468E +S214002EF09A46A346F0BD064B1888F6E7F91C000074 +S214002F00612D0000B5580000A11A0000FF80FFFFE9 +S214002F10F8880100F0B5DE4657464E46C0B584B088 +S214002F2006000D001700130A0193002829D01E4B37 +S214002F309B461E4B9A461E4B994605E002ABD87937 +S214002F402AE00025002E1DD029003000D84700902A +S214002F5029003000D04704023C19A4B202ABDA1DA7 +S214002F6021000098C8470128E8D06B461B795BB261 +S214002F70002B07DA002DE4D130000E4B98470600F0 +S214002F80DFE714000C4B1C406D2C0BD00B4B9C4207 +S214002F9008D02C2C06D0FF2004B01CBC91469A46C4 +S214002FA0A346F0BD0020F7E7F91C0000612D0000E5 +S214002FB081590000A11A0000FF80FFFFAD800000CD +S214002FC0F0B5DE4657464E46C0B584B006000D0046 +S214002FD01700130A019300282CD01F4B9B461F4B4B +S214002FE09A461F4B994609E0039804B01CBC9146CC +S214002FF09A46A346F0BD0025002E1CD029003000BE +S214003000D847009029003000D04704023C19A4B2EB +S21400301003AA21000098C8470128E5D06B461B7913 +S2140030205BB2002B07DA002DE5D130000D4B984738 +S2140030300600E0E714000C4B1C40BE2C09D00B4BDE +S2140030409C4203D07E2C01D00020CEE7084B984748 +S214003050CBE70848C9E7C046F91C0000612D000010 +S214003060555A0000A11A0000FF80FFFF8E80000066 +S2140030705D1C0100D8C8010070B50468A5880F2340 +S2140030802B40082B13DD0B2B18DD0D2B1DDDA17936 +S2140030902A002068104B9847A0600023A380A179DF +S2140030A023002A0020680D4EB047A58070BDA17988 +S2140030B02A0020680A4B98472081EEE7A1792A006B +S2140030C02068084B98472081E7E7A1792A00206806 +S2140030D0054B98472072E0E7C12F0000291D00002D +S2140030E0B12D0000712E0000152F0000F0B5DE4651 +S2140030F057464E464546E0B59DB004008B463D23F8 +S214003100C35C8B4200D108E2C34B9847002808D026 +S2140031103D23E25C91465A46E25400230093CA4699 +S214003120B2E122000023BD48BD498847FEE7737917 +S2140031300422134373713D2399465246E2542A00F3 +S21400314000992000B74FB84707904B465A46E254BE +S2140031502A0000992000B8478046737904229343DA +S2140031607371079B83424BD03D265346A3552A00D6 +S21400317000992000AB4B9847020081465B46A3555A +S21400318029000198A84B9847012D00D194E0A74844 +S214003190A74B98470600A04B9847002800D1A0E010 +S2140031A0002E2DD04B4633814346B3813460B58024 +S2140031B06B461B78B3710CA89E4B98470C969E4B9B +S2140031C00D939E4B0E939E4B0F9300231293FF334B +S2140031D01393069B1493059B5B421593049B180060 +S2140031E0083010AA19781170013201338342F9D1E0 +S2140031F00CA83622835C01218B438354914B98475D +S214003200029B023302930C2B00D137E109AB029AE2 +S214003210D55A002DF4D003988B4B98470099200080 +S2140032208A4B984706008A4B984701900F232B40FD +S214003230082B00DC7BE70B2B59DD0D2B00DDA3E014 +S21400324073790422134373713D2399465246E25420 +S2140032502A00009920007F4FB84780464B465A46C2 +S214003260E2542A0000992000B84707007379042228 +S2140032709343737143468342C2D03D265346A355BB +S2140032802A0000992000734B9847020007905B467F +S214003290A35529000198704B98476448644B98479B +S2140032A006005D4B9847002868D0002EA8D06B46D5 +S2140032B01B7F3372377379E7684B994500D133E14A +S2140032C0984500D063E72000654FB847C60F36180C +S2140032D0761036B22000B847C30F1B185B101BB21F +S2140032E03AE1320000235F484D498847FEE773798C +S2140032F00422134373713D2399465246E2542A0032 +S21400330000992000584B98469847071C4B465A464B +S214003310E2542A0000992000C0476B4698837379D0 +S214003320042293437371BFB283B29F4200D167E712 +S2140033303D265346A3552A00009920004A4B98473D +S214003340071C5B46A355021C29000198474B98476B +S2140033503648374B984706002F4B9847002807D02B +S214003360002E00D14CE737816B469B8BB3811DE75F +S214003370320000233B482A498847FEE732000023F4 +S214003380384827498847FEE73D2399465246E25487 +S21400339073790422134373712A0000992000344F76 +S2140033A0B84708904B465A46E2542A000099200037 +S2140033B0B84707000C9073790422934373710CA9E5 +S2140033C008A82C4B9847002800D119E73D265346FD +S2140033D0A3552A0000992000254B9847814608905F +S2140033E05B46A355020029000198234B98470F48D7 +S2140033F00F4B98470600084B9847002806D0002E2B +S21400340000D1FDE64B46B360F760CFE632000023FE +S214003410144803498847FEE77D140000FC88010035 +S21400342085140000B12D0000F54C0000684D00200A +S214003430CD0501004DFA0000992700007930000004 +S214003440011E00000DFB000069570000F91C00007B +S21400345021560000152F0000B54F0000FF7F00002A +S214003460991C000094880100712E0000554E000043 +S214003470C12F00008D7F010009510000009B013321 +S214003480DBB20093402B44D000992000364B98477F +S214003490039000283DD043791B07EFD4B022009E4E +S2140034A031002000314B98470690B12231002000B1 +S2140034B02E4B98470590BE22310020002C4B984793 +S2140034C00490B22231002000284B984709AD28808E +S2140034D0B32231002000254B98476880B422310083 +S2140034E02000224B9847A880B522310020001F4BB1 +S2140034F09847E880B622310020001C4B9847288168 +S214003500B72231002000194B9847688100230293A8 +S2140035107CE6FF212000174B98471DB03CBC904628 +S2140035209946A246AB46F0BD2000134FB847C60FDB +S2140035303618761036B22000B847C30F1B185B103B +S2140035401BB2711C5A1C8A4200DD0A0012B2914658 +S2140035500A4A904500D01AE601360133B34200DD30 +S21400356033001BB2984612E6F91C0000B12D00008D +S214003570C12F00008D250000991C0000FF7F000071 +S21400358070B504000D000A4B9847002809D03D236B +S214003590E35C290019438B4202D02000054B984774 +S2140035A070BD22000023044804498847FEE7C04651 +S2140035B07D140000ED300000FC880100851400003A +S2140035C070B504000D000A4B9847002809D03D232B +S2140035D0E35C1900A9438B4202D02000054B9847B4 +S2140035E070BD22000023044804498847FEE7C04611 +S2140035F07D140000ED300000FC88010085140000FA +S21400360010B50400054B9847002801D0A06B10BDEC +S21400361022000023024803498847FEE77D14000085 +S214003620FC8801008514000010B504000A4B98477A +S214003630002809D0A06B00280CD0084B9847201A09 +S21400364044426041C0B210BD220000230448054930 +S2140036508847FEE70020F6E77D14000045170000C7 +S214003660FC8801008514000010B50368002B0DD0FF +S214003670021D01231468002C04D00133DBB204328F +S214003680072BF7D19B001950012010BD0023F9E746 +S214003690F0B5CE4600B582B005000E00140001223B +S2140036A0C84B98472080C84A31002800C74B984727 +S2140036B001900700052835D9237B002B3FD1237DB9 +S2140036C0002B00D06CE0237F002B00D08FE0362349 +S2140036D0E35C002B00D0AFE02823E35C052B00D989 +S2140036E0F7E04423E35C052B00D923E1F92F22D829 +S2140036F06B469B88227B5A43120A2273227D5A43CA +S214003700120A22752821625C5A43120A62540E314C +S214003710625C5A43120A62544422A75C5F433F0A23 +S214003720A75408E00023237323752822A3540E32DF +S214003730A3540E32A35402B004BC9146F0BD2C2212 +S21400374031002800A14B984720730528B7D92922B5 +S214003750310028009E4B98476080232231002800C5 +S214003760984B9847C0B2A071002806D1202231009D +S2140037702800944B98476073A1E72A22310028005E +S214003780934B9847A0802122310028008D4B994604 +S21400379098472081222231002800C8476081E5E74B +S2140037A0302231002800874B98472082002800D11D +S2140037B089E73C2231002800844B9847207505286D +S2140037C006D83222310028007E4B984760757AE78B +S2140037D03122310028007B4B9847FF231840608237 +S2140037E03922310028007A4B9847E081E9E74022E9 +S2140037F031002800734B98472083002800D166E7E5 +S2140038004C2231002800714B98472077052806D8AF +S2140038104222310028006B4B9847607757E74122D9 +S21400382031002800674B9847608349223100280002 +S214003830674B9847E082EBE76E2231002800654B25 +S2140038409847E062002800D146E76C223100280045 +S2140038505E4B98473623E054052800D83CE76D2297 +S21400386031002800594B98473723E0546122310035 +S2140038702800544B98470300581E83413822A05C0A +S214003880012188431843A054E06A534B9847022806 +S2140038900BD03723E35C052B14D8602231002800B8 +S2140038A0484B98473923E05416E769223100280030 +S2140038B0474B9847A086494A31002800454B984711 +S2140038C02063EAE7692231002800414B9847A0862A +S2140038D0E3E75022310028003A4B9847208400281E +S2140038E000D1FEE65C2231002800384B984728239A +S2140038F0E054052800D8F4E6512231002800314B68 +S214003900994698476084522231002800C847A08410 +S214003910532231002800C847E0845922310028008D +S2140039202B4B9847E083542231002800C8472923B0 +S214003930E054D6E67F2231002800264B9847E06305 +S214003940002800D1D2E67C22310028001F4B984781 +S2140039504423E054052800D8C8E673223100280026 +S214003960184B994698474823E052742231002800A5 +S214003970C8474A23E052792231002800144B984762 +S2140039804623E0527E2231002800124B98472064DE +S214003990702231002800C8474C23E05271223100C3 +S2140039A02800C8474E23E052752231002800C84739 +S2140039B05023E054722231002800C8475123E054B7 +S2140039C094E6C046B12D00000C800000152F0000C4 +S2140039D0712E0000C12F0000618100008E80000063 +S2140039E0F0B59BB004000E00022A07D0002A61D072 +S2140039F00020012A00D1B5E01BB0F0BD0021814BAC +S214003A00984703000320002BF6D101220021200056 +S214003A107C4FB8470190042200212000B8470500DB +S214003A20052200212000B84727001037002305A9EB +S214003A30FA5C5A540133082BFAD1ADB205A90B88AB +S214003A405B1B0B808B88ED188D8080B24B881B1A11 +S214003A504B80CB88C018C880019A30006A4B9847C4 +S214003A6003000220002BC7D02C2200212000674B29 +S214003A70984703000220F92BBED9202200212000FF +S214003A80604B9847C3B20220002BB5D132220021EA +S214003A9020005C4B9847C3B20220002BACD15C4A96 +S214003AA000212000594B98470023F92282425B41AF +S214003AB0581CA1E705A8574B984733220021200041 +S214003AC0504B9847002802D0002205AB1A7505AA6D +S214003AD000212000504B9847042200212000494F27 +S214003AE0B8470500052200212000B84727001037F8 +S214003AF0002303A9FA5C5A540133082BFAD1ADB25D +S214003B0003AB1A88521B1A809A88AD189D8080B223 +S214003B105A88121A5A80DA888018D88005AA310086 +S214003B2018003E4B9847022200212000354B98474C +S214003B30002801D100205FE71C20394B984705007C +S214003B400122002120002F4B984702000023390055 +S214003B502800344EB04798239B00E1182800324BCB +S214003B609847E7E7013200212000264B98470028B7 +S214003B7040D1332200212000224B9847030000202A +S214003B80002B00D138E705AD2800224B98470023CC +S214003B902B733622AB540E3AAB542A000021200079 +S214003BA01D4B9847042200212000164FB8470500F9 +S214003BB0052200212000B8471034002303A9E25C48 +S214003BC05A540133082BFAD1ADB203AB1A88521BF4 +S214003BD01A809A88AD189D8080B25A88121A5A8028 +S214003BE0DA888018D88005AA310018000B4B984751 +S214003BF0002001E798239B00E0180C4B98470C4BDD +S214003C009847B6E7B12D00009DFE0000152F000076 +S214003C100C80000021AB000091360000C5AB000010 +S214003C20C10E010055A80000EDA5000095A60000F5 +S214003C30D50B0100F0B5DE4657464E46C0B58AB0F5 +S214003C40040004915022784B98470600051E30D198 +S214003C507F22049F39002000744B9847061E06D02A +S214003C607C2239002000724B9847052850D8402205 +S214003C70049920006C4B9847061E00D0C0E0042232 +S214003C8004992000684FB8470600052204992000D2 +S214003C90B847031CB04200DA331C1AB2002A01DD12 +S214003CA0ED182DB228000AB01CBC91469A46A346D1 +S214003CB0F0BD5C22049920005D4B9847002505283E +S214003CC0C6D95322049D29002000574FB847F30F4A +S214003CD09E19761001363618B6B251220495290080 +S214003CE02000B8470500522204992000B847EA177A +S214003CF0AB185340C21780185040984200DA18009C +S214003D003018031C020401D41DB2A1E70023FBE710 +S214003D107022049F39002000434B9946984705902F +S214003D20702239002000C84783467E220497390057 +S214003D3020003E4B9847020006AF00218A460291BB +S214003D403C4B019359460091059B310038003A4E92 +S214003D50B04708AE5346338073803B88013BB38040 +S214003D607B88013BF3807522049F39002000C847FA +S214003D700590732239002000C84782467422390015 +S214003D802000C847814607AA13006A46127D200015 +S214003D90103005933100294FB847059A13885344CD +S214003DA09BB252884A4492B21020215E36889E19F1 +S214003DB036B28E1BAE4200DA2E001221605E08A9D3 +S214003DC04988511809B236B2411AB14200DA3100B8 +S214003DD008A880881B181BB21425605F09B21B1A3E +S214003DE08B4200DA0B0008A9C988521812B21620B6 +S214003DF0215E1BB2521A9A4200DA1A0015B236E752 +S214003E004C22049920000A4B9847052800D836E72C +S214003E10412204992000044B98478619AE4200DAE6 +S214003E202E0035B22BE7C046B12D0000C12F000092 +S214003E30152F0000187C0000E51A010041FF000065 +S214003E4010B5040008291BD0072924D0012927D043 +S214003E5006292BD0032935D004293DD00B293FD085 +S214003E600B000D3B012B40D9162943D0172957D0FC +S214003E70012000290AD120002C4B9847012005E09C +S214003E801378002B03D128345460012010BD002382 +S214003E9053600120FAE726491000264B9847F5E7BD +S214003EA0254B984701235840C0B2EFE70021234B2B +S214003EB09847638E1A1C1BB2834200DA021C628685 +S214003EC00120E3E74923C35C0120DB07DED52000A1 +S214003ED01B4B98470120D9E71A4B98470120D5E796 +S214003EE00531194B98470120D0E71021174B98470A +S214003EF00120CBE7164B9847164B9847002805D06D +S214003F0006212000104B98470120BFE70221200021 +S214003F100D4B9847042120000C4B98470120B5E72D +S214003F2011390A4B98470120B0E7C046D51D00005E +S214003F300C890100693600002D2D0000353C00007C +S214003F40E52400006D1A000081350000C135000030 +S214003F50013600005B170000F0B5CE4600B582B013 +S214003F60040001900D00103100221F4B98470028D6 +S214003F7027D03423EB5CDB0625D42B6A002B28D015 +S214003F800222210028009847814603281DD02E1DB6 +S214003F903000164B9847041E0BD0154F2100019891 +S214003FA0FFF7DAFF002808D121003000B847041ECA +S214003FB0F4D100204B46012B09D002B004BC914638 +S214003FC0F0BD0020F9E70020F7E70020F5E728001D +S214003FD0F3E72E1D3000054B984704000223994650 +S214003FE00028DAD1E9E7C0469DFE00006D06010014 +S214003FF085060100F0B5D6464F4680B58DB0070061 +S2140040000D003423C35CDB0604D50DB00CBC914612 +S2140040109A46F0BD3223C65E06AC21002E4B98476A +S214004020B3B22288D21A22806288D21A6280A2880C +S2140040309A18A280E2889B18E3802200290008A82C +S214004040264B98470028E0D03B6A002B03D000227E +S21400405008A93800984706A938001F4B984706AAB3 +S21400406029000AA81D4B9847002807D13B6A002B59 +S214004070CBD0012208A938009847C6E73B1D01931C +S2140040801800174B9847051EF0D0134B9A46134B53 +S2140040909946144E04E029000198B047051EE5D065 +S2140040A004AC21002800D0476B8E2288D21A2280CA +S2140040B06288D21A6280A2889A18A280E2889B1828 +S2140040C0E38022000AA902A8C8470028E3D002A974 +S2140040D02800FFF78FFFDEE7D51B00000FFC00006F +S2140040E079060100AD060100F0B5D64600B582B0EF +S2140040F0041E01910DD0019920001A4B984720000C +S214004100194B9847051E0AD0184B9A46154E1F00A5 +S21400411010E0174B1868174B9847041EEBD102B0F7 +S21400412004BC9246F0BD28000F4B98472C00002890 +S214004130F5D005002B1D009321001800D047041E63 +S21400414007D001992000B04721000098B847041E08 +S214004150F7D12B6A002BE6D0012201992800984758 +S214004160E1E7C046F53F0000A11A0000AD060100D9 +S214004170E8260020AD14000070B51C4D28681C4BC6 +S2140041809847040028681B4B984700280DD1012348 +S214004190A361164B186843681A6AD2070FD51B6AC4 +S2140041A09B070CD50123E3610BE0104D2868A3693B +S2140041B0002BECD0C369002BF9D09847F6E7002314 +S2140041C0E361C368002B03D021001031A268984732 +S2140041D02368002B06D06268002A03D0A1688B42B1 +S2140041E001D0A36070BDA260FCE7C046E8260020B0 +S2140041F009F700000DF7000070B582B005001C4EF0 +S21400420030681C4B9847040030681B4B98470028C2 +S21400421009D1174E3068A369002B04D0C369002B60 +S214004220F9D09847F6E72200103229006846134B6B +S21400423098470F4C2068124B984701006846114B70 +S21400424098476946104DA8472068104B984769461E +S214004250A84720680E4B98476946A84720680D4B2C +S2140042609847002801D002B070BD0B4B9847FAE77C +S214004270E826002009F700000DF700000FFC0000FC +S214004280AD140000593F0000E9400000C9140000CA +S214004290E514000025F70000794100007047000093 +S2140042A0F0B585B005000E00002857D0002E5AD075 +S2140042B002AC0023238063802800374B98470138E0 +S2140042C0A0802800354B98470138E0802200310056 +S2140042D06846334B984700284BD02B69002B02D0FA +S2140042E0694628009847B4235B00EB5A9B059B0D54 +S2140042F0002B14DD002100242A4EB4277F0009314C +S214004300C900691800226846B047002831D1013438 +S214004310A4B22100EB5B9B059B0D9C42EFDB1F2BA1 +S21400432029DC0933DB00EB1800226946515C9954FE +S2140043300132082AF9D1B42149006B5A9A05802027 +S214004340C00384466244920D9B0A9B0213436B5241 +S214004350E86A6639FF39144B98470AE0134B9847CA +S214004360051E06D0A2E7B4225200AB5A9B0A9B0257 +S214004370AB5205B0F0BDB4225200AB5A9B0A9B026A +S214004380AB5228004830002302A95A5CC2540133BD +S214004390082BFAD1CFE7C04615F600003DF6000020 +S2140043A00FFC00009DFE00004915010009F6000004 +S2140043B0014B18687047C046E8260020F0B5DE4678 +S2140043C057464E464546E0B589B00500C74B984768 +S2140043D00590C74CEB68236000212800C54B984722 +S2140043E02068C36B002B0ED0B4235B00C35A9B051A +S2140043F048270026002B00D184E2BD4B9846BE4BD2 +S2140044009A46C34656E0B4225200835A9B0A9B0241 +S21400441083526DE200194930FF30073B03700134C8 +S214004420B34B1868B4235B00C35A9B059B0D9C4294 +S21400443035D203194933FF331B78002BEFD1A64240 +S214004440EDD025000935ED004119C019D0470028E8 +S214004450E5D05B4619684A19C91906A8A74B9847BC +S21400446006A8A74B9946984700905B461B68D81944 +S214004470C84701905B461B685819C847019B9C4675 +S2140044806044009B8342CAD2994B1868C119002326 +S21400449006AA9A5CCA540133082BF9D1BAE701364A +S2140044A0934B1868B4235B00C35A9B059B0D0837D3 +S2140044B09E420FD280194930FF300378002BEED190 +S2140044C043461868B4235B00C35A9B0500D1FBE142 +S2140044D00024AEE700218B4A1160B4225200825AB3 +S2140044E0920500D1F8E11A00013A04922DD40499FD +S2140044F042184932FF321278002A0DD04733FF3374 +S214004500C3180A00013A05D3013B59780029F9D1AE +S214004510049201E00023049341682023CA5C01242E +S214004520A243CA544168CA5C02208243CA54704BF4 +S2140045301C68B4235B00E35A9B0500D1CCE14823FA +S214004540019300239B46270044E000230493E3E7FF +S214004550796820228B5C012003438B5444E0644C32 +S2140045602068694B98470500002606822068674B3E +S21400457098470138A8826E822068654B98470138B4 +S214004580E8822368596820228B5C022003438B5400 +S2140045900098604B9847564B18688369002B09D0E3 +S2140045A0019B9C466044564B9847564B1A68944667 +S2140045B06044186001239C46E3444D4B1F68019BF2 +S2140045C008330193B4235B00FB5A9B059B0D9B4568 +S2140045D000DB81E15B46FB184933FF331B78002B79 +S2140045E0E8D1049B5B45B3D0796820228B5C02201F +S2140045F083438B54019B9C46BC446346009338001F +S214004600454B98470028AAD1394B9A4618683E4B26 +S214004610984706005B46DB00FF184C23FC5A013423 +S214004620043BFB5AE41A23B298464E23FC5E651CF4 +S2140046304A23FB5AED1A2DB253461868344B984756 +S214004640844231DA4E23FB5E99464146F068334B8E +S2140046509847A846854200DD8046254B1B681B69A7 +S214004660002B2FD0002306AA138093805380434646 +S2140046701DB21F4B9A464346B0461E006C1E24B21F +S21400468006ABDC8053461868036906A9984706AB54 +S2140046900621595E4B1C06AA52889B1A1BB29E42E4 +S2140046A00ADA251EEADC76E7114B1868184B98479D +S2140046B0013803B29946C8E74646002D00DC6AE793 +S2140046C04B1C98464A23FC5E4B4602934346E3182F +S2140046D0013B4B4567DC43466A46938193899A467D +S2140046E0013B03934B46B9461F0026E08DF70000BA +S2140046F0E82600204915010059FE00007DFC000058 +S214004700F3FB0000EC26002009F7000015F6000079 +S2140047103DF60000F941000025F70000F1790100A0 +S214004720AF421CD000987D4B9847544424B2434671 +S214004730E318013B029A93421ADC48234A46D35EAA +S21400474033824C234A46D35EB3827482A4B2039B60 +S214004750E5182DB2F582AF42E2DAF7823D00704BE3 +S2140047601B68596820228B5C022003438B54D9E7D0 +S2140047703B004F469946A94500D10CE74823FB5E0F +S21400478033824C23FB5EB38274824B46F382644BC7 +S2140047901B68596820228B5C022003438B540098C8 +S2140047A05E4B9847F7E60025E5E75E4B98470028FE +S2140047B004D05B4B18684369002B1FD0584C206808 +S2140047C0483080214900584DA84720684930FF30BE +S2140047D02021A8472168B42252008B5A9B0A9B02CC +S2140047E08B520598514B9847010020688369002B2F +S2140047F000D179E04E4A1268984775E04D4B9847CD +S21400480004004D4B9847A369002BFCD1A3689B4638 +S214004810236899469B4501D163689946404C2068B9 +S214004820464B984700902368B42252009A5A920545 +S214004830C4D042009246002635000BE00136B6B2E0 +S2140048403500374B1B68B42252009A5A9205920DD7 +S2140048509642B3DA5A194932FF321278002AEDD15D +S214004860EA009B184A229F5E48229A5E009C7C4380 +S214004870A41864004C215B5A01339B1A1BB25B00E0 +S21400488001932B000933DB00254A126802929446F6 +S214004890634406229B5EBB42D0DBA046D8444C4411 +S2140048A00935ED00019A21004046254B984701370F +S2140048B03FB2D04454441A4B1B6802935B1906223D +S2140048C09B5EBB42EEDAB9E70022194B1A60B423AE +S2140048D05B00C35A9B0512D1114B1868B4235B00CA +S2140048E0C35A9B0500D060E7164B9847164B98476F +S2140048F009B03CBC90469946A246AB46F0BD0023A4 +S214004900049309E600220A4B1A60B4235B00C35ADC +S2140049109B05E9D000230493FEE5C046F94100005C +S214004920E826002025F700004D100100A9F700003A +S214004930EC26002009F700007941000015F600007B +S2140049408D0C0100350C01003DF4000010B504216B +S214004950014B984710BDC0464D10010010B5082108 +S214004960014B984710BDC0464D10010070B50400BD +S2140049700D000679002E45D00068036899420CD0D9 +S214004980031D721ED2B20132920082189A4239D0AA +S2140049900433191F0968A942F8D1012E10D0711EE0 +S2140049A08900194B98470600184B9847002811D0E5 +S2140049B0002E27D02279002A21D00021002314E0DF +S2140049C0134B984700232360237163790122934396 +S2140049D0637117E0320000230E480F498847FEE750 +S2140049E00133DBB222799A4209D99A00206812581C +S2140049F09542F5D0880082510131C9B2F0E7013AFC +S214004A002271266070BDC046450E01007D14000070 +S214004A10390B0100948801008514000070B505006C +S214004A200C00002830D01F4B98472B79002B2CD138 +S214004A3004201D4B9847060030001C4B9847002862 +S214004A402AD0002E20D06B795908012211401A4234 +S214004A5000D001312A79914210D2154BD3189B0011 +S214004A60F31814481018013A521AD2B2821A920059 +S214004A70B21818685860043B9342FAD189008C51EA +S214004A802B7901332B712E6070BD01339900286895 +S214004A90094B98470600CFE732000023074808492D +S214004AA08847FEE76D490000710A01007D1400008A +S214004AB0FFFFFF3FFEFFFF3F450E01009488010009 +S214004AC08514000070B505004279D3070FD506237C +S214004AD01340063B5A425341DBB20279002A22D0E9 +S214004AE09A4222D902689B009C58200070BD042080 +S214004AF00F4B984704000F4B984700280DD0002C0A +S214004B00F3D020000C4B9847210028000B4B984709 +S214004B106B79012213436B71E7E7220000230848F4 +S214004B2008498847FEE70024DFE70024DDE7C046A3 +S214004B30710A01007D1400004D4900001D4A000066 +S214004B40948801008514000010B504000068024B2C +S214004B5098470023236010BD390B010010B501688B +S214004B60002919D00B78FF2B12D000200F2403E069 +S214004B70901C0B5CFF2B0CD02340821C082BF7DD0F +S214004B80821C0B2BF4DD021D0D2BF1DC421CEFE723 +S214004B900020023080B210BD0020FCE770B5060091 +S214004BA00C1E0DD00B68002B0AD00800054B98474A +S214004BB00500054B9847306021682A00034B98474C +S214004BC070BDC0465D4B0000710A01008D0C0100EF +S214004BD0F0B5DE4657464E464546E0B585B0061E5D +S214004BE0039100D17BE00068002800D17BE0CCB2C6 +S214004BF00B0A9846191C0378FF2B4ED0012252420E +S214004C000292934600227F25AA464906490E8C4604 +S214004C10703DC146B0461CE0811849784F464F406B +S214004C2056463E420DD04906490E01910F00664693 +S214004C30B74310D159450EDD09B28B4611B2029129 +S214004C4009E04346C8461E0015E08A1C835CFF2B1D +S214004C500DD09C42E0D02B40911C082BF5DD911C1A +S214004C600B2BF2DD111D0D2BEFDC511CEDE743463F +S214004C70C8461E00029A002A33DB140080184378C8 +S214004C8042465A40130000205B060AD005B03CBCE2 +S214004C9090469946A246AB46F0BD01235B4202937E +S214004CA0E8E73000114B98470F23039A134004217E +S214004CB00B2B03DD01390D2B00DD03310D00411AEE +S214004CC08C4206D233685A19125D1A5501348C424A +S214004CD0F8D13068064B984730600120D6E70020B0 +S214004CE0D4E70020D2E70020D0E7C0465D4B0000A6 +S214004CF0450E0100F0B5DE4657464E464546E0B541 +S214004D0087B0060002ABD98003AB1A800468002C7B +S214004D1058D0CDB20B0A9A46191C2378FF2B4DD0DB +S214004D20012252429046944600227F20834649063E +S214004D30490E8946703802961AE0A11849785646F8 +S214004D404E405F4637420DD04906490E01910E008F +S214004D504F46BE430ED161450CDD09B28C4611B2FA +S214004D60884607E0029E13E08A1CA35CFF2B0DD04A +S214004D709D42E2D00340911C082BF5DD911C0B2BC5 +S214004D80F2DD111D0D2BEFDC511CEDE7029E4246B5 +S214004D90002A17DBA3185B7855465D406B0611D1D9 +S214004DA00232A41803AB1A7822705B78637007B0DF +S214004DB03CBC90469946A246AB46F0BD01235B42FA +S214004DC09846E4E7FF220E2302A98C4663441A8025 +S214004DD030001B4B9847002800D10230043085B2C3 +S214004DE029002000174B98473060174B984700283B +S214004DF020D0002EDBD0AB1F32689446634402AA54 +S214004E0091790632197052785A702B1F3268944680 +S214004E10634403AA1178197052785A70023D3368B9 +S214004E205D190E2302AA944663441A782A705B78AA +S214004E306B70BCE732680023044805498847FEE7E4 +S214004E405D4B0000450E01007D14000094880100B3 +S214004E5085140000F0B5DE4657464E464546E0B59A +S214004E6087B0060003AB1A8002ABD9800468002C1A +S214004E7058D0CDB20B0A9A46191C2378FF2B4DD07A +S214004E80012252429046944600227F2083464906DD +S214004E90490E8946703802961AE0A1184978564697 +S214004EA04E405F4637420DD04906490E01910E002E +S214004EB04F46BE430ED161450CDD09B28C4611B299 +S214004EC0884607E0029E13E08A1CA35CFF2B0DD0E9 +S214004ED09D42E2D00340911C082BF5DD911C0B2B64 +S214004EE0F2DD111D0D2BEFDC511CEDE7029E424654 +S214004EF0002A17DBA3185B7855465D406B0611D178 +S214004F000232A41803AB1A7822705B78637007B07D +S214004F103CBC90469946A246AB46F0BD01235B4298 +S214004F209846E4E7FF220E2302A98C4663441A80C3 +S214004F3030001B4B9847002800D10230043085B261 +S214004F4029002000174B98473060174B98470028D9 +S214004F5020D0002EDBD0AB1F32689446634402AAF2 +S214004F6091790632197052785A702B1F326894461F +S214004F70634403AA1178197052785A70023D336858 +S214004F805D190E2302AA944663441A782A705B7849 +S214004F906B70BCE732680023044805498847FEE783 +S214004FA05D4B0000450E01007D1400009488010052 +S214004FB085140000F0B5DE4657464E464546E0B539 +S214004FC087B00600019202ABD9800468002C55D049 +S214004FD0C8B20B0A9A46191C2378FF2B4AD0012226 +S214004FE052429046944600227F25AB464906490E1B +S214004FF08946703D02961AE0A118497856464E40FA +S2140050005F4637420DD04906490E00910E004F46C6 +S214005010BE430ED161450CDD09B28C4611B28846FE +S21400502007E0029E13E08A1CA35CFF2B0DD098427B +S214005030E2D02B40911C082BF5DD911C0B2BF2DDEA +S214005040111D0D2BEFDC511CEDE7029E4246002A97 +S21400505014DBA3185B785046584043060ED1A218BE +S2140050606B461B79937007B03CBC90469946A246A7 +S214005070AB46F0BD01235B429846E7E7FF220E23CE +S21400508002A98C4663441A8030001A4B98470028C1 +S21400509000D10230033085B229002000164B984715 +S2140050A03060164B984700281DD0002EDBD06B1FB3 +S2140050B032689446634402AA91790632197052788F +S2140050C05A7033685B19033B6A4612791A70023DC0 +S2140050D033685D190E2302AA944663441A782A7030 +S2140050E05B786B70BFE73268002305480549884740 +S2140050F0FEE7C0465D4B0000450E01007D14000033 +S2140051009488010085140000F0B5DE4657464E46EA +S2140051104546E0B587B00600029202ABD980046827 +S214005120002C5FD0CDB20B0A9A46181C2378FF2BB2 +S21400513054D0012252429046944600227F218B464C +S2140051404006410E89460F2101961AE0A0184078C5 +S214005150564646405F4637420DD04006400E009009 +S21400516006004F46BE430ED160450CDD00B28446B5 +S21400517010B2804607E0019E13E0821CA35CFF2B62 +S2140051800DD09D42E2D00B40901C082BF5DD901C04 +S2140051900B2BF2DD101D0D2BEFDC501CEDE7019EF6 +S2140051A04246002A1EDBA3185B7855465D406B0618 +S2140051B018D10232A41802AB1B78237002AB5B78BE +S2140051C0637002AB9B78A37002ABDB78E37007B02A +S2140051D03CBC90469946A246AB46F0BD01235B42D6 +S2140051E09846DDE7FF220E2302A98C4663441A8008 +S2140051F030001F4B9847002800D10230063085B299 +S214005200290020001B4B984730601B4B984700280E +S21400521028D0002EDBD02B00083B3268944663442F +S21400522002AA91790632197052785A70AB1F32680A +S2140052309446634402AA12781A7002AA52785A70E8 +S21400524002AA92789A7002AAD278DA70023D33687F +S2140052505D190E2302AA944663441A782A705B7876 +S2140052606B70B4E732680023044805498847FEE7B8 +S2140052705D4B0000450E01007D140000948801007F +S21400528085140000F0B5DE4657464E464546E0B566 +S21400529085B08146039200285BD00568002D5BD060 +S2140052A0CEB2090A081C2B78FF2B4ED001225242A0 +S2140052B00292934600227F24A2464006400E844671 +S2140052C00F2788461AE0A8184078444644405146BE +S2140052D021420DD04006400E0190040061468C43EA +S2140052E00ED158450CDD01B28B4611B2029107E093 +S2140052F0414613E0821CAB5CFF2B0DD09E42E2D0F1 +S2140053003B40901C082BF5DD901C0B2BF2DD101D8E +S2140053100D2BEFDC501CEDE74146029A002A1EDBFF +S214005320931CED182B78039803706B7843704B46EC +S2140053301B689A1850784906490E084005B03CBCD0 +S21400534090469946A246AB46F0BD01235B420293C7 +S214005350E3E701204042F1E701204042EEE701206A +S2140053604042EBE7F0B5DE4657464E464546E0B5CA +S21400537085B081460392002858D00568002D58D085 +S214005380CEB2090A081C2B78FF2B4BD001225242C2 +S2140053900292934600227F24A2464006400E844690 +S2140053A00F2788461AE0A8184078444644405146DD +S2140053B021420DD04006400E0190040061468C4309 +S2140053C00ED158450CDD01B28B4611B2029107E0B2 +S2140053D0414613E0821CAB5CFF2B0DD09E42E2D010 +S2140053E03B40901C082BF5DD901C0B2BF2DD101DAE +S2140053F00D2BEFDC501CEDE74146029A002A1BDB22 +S214005400AD18AB78039803704B461B689A18507813 +S2140054104906490E084005B03CBC90469946A2464F +S214005420AB46F0BD01235B420293E6E70120404213 +S214005430F1E701204042EEE701204042EBE7F0B5FD +S214005440DE4657464E464546E0B585B08146039251 +S21400545000285BD00568002D5BD0CEB2090A081C78 +S2140054602B78FF2B4ED00122524202929346002206 +S2140054707F24A2464006400E84460F2788461AE040 +S214005480A818407844464440514621420DD0400674 +S214005490400E0190040061468C430ED158450CDD49 +S2140054A001B28B4611B2029107E0414613E0821C1E +S2140054B0AB5CFF2B0DD09E42E2D03B40901C082BED +S2140054C0F5DD901C0B2BF2DD101D0D2BEFDC501CB8 +S2140054D0EDE74146029A002A1EDB931CED182B7856 +S2140054E0039803706B7843704B461B689A18507885 +S2140054F04906490E084005B03CBC90469946A2466F +S214005500AB46F0BD01235B420293E3E70120404235 +S214005510F1E701204042EEE701204042EBE7F0B51C +S214005520DE4657464E464546E0B585B0814693462C +S21400553000285FD00668002E5FD0CFB20A0A111C82 +S2140055403378FF2B52D00120404203900290002473 +S214005550803082464906490E8C460F2190461BE055 +S2140055603219507842464240554615420ED0400603 +S214005570400E01900500624695430FD1029A904274 +S2140055800CDD02B2029222B2039207E0424613E01A +S214005590941C335DFF2B0DD09F42E1D00B40A21C24 +S2140055A0082BF5DDA21C0B2BF2DD221D0D2BEFDCEC +S2140055B0621CEDE74246039C002C21DB20000234EF +S2140055C0361900235C46F15CE1540133042BFAD112 +S2140055D04B461B681B1858785206520E104005B0F2 +S2140055E03CBC90469946A246AB46F0BD01235B42C2 +S2140055F00393E0E701204042F1E701204042EEE756 +S21400560001204042EBE74379DA0707D59B0702D42F +S21400561003681868704703685868FBE70020F9E7D6 +S21400562043799B0702D50368186870470020FCE79B +S21400563070B5041E26D04379DB0708D5144B98476F +S214005640051E04D0134B98472800134B98476379E0 +S2140056509B0709D52000114B9847051E04D00D4B1B +S214005660984728000C4B98472379002B0BD1002332 +S21400567023602371637901229343013293430232FC +S2140056809343637170BD2068034B9847EFE7C046AD +S21400569007560000494B0000390B01002156000058 +S2140056A070B505000C002B4B98472368002B3ED0A6 +S2140056B06379DA071FD49B0710D52079013880005C +S2140056C0254B984728602279013A92002368191DD5 +S2140056D0224B98472379013B2B7128E020798000E4 +S2140056E01D4B984728602279920021681B4B9847EB +S2140056F023792B711BE09B071AD52079023880008E +S214005700154B984728602279023A920021680831A2 +S214005710124B98472379023B2B712800104DA8475F +S21400572006002000A847010030000E4B984770BDC9 +S214005730207901388000084B984728602279013A82 +S21400574092002368191D054B98472379013B2B715E +S214005750E3E7C04631560000710A01008D0C0100D7 +S214005760C54A00009D4B000070B5050043799B07B5 +S21400577004D5144B98470400200070BD0420124B3B +S21400578098470400114B9847002815D0002CF3D0FA +S21400579020000F4B9847210028000E4B98476B7946 +S2140057A0022213436B71DB07E6D52B681A6859682B +S2140057B019602B685A60DFE7220000230648074975 +S2140057C08847FEE721560000710A01007D1400009C +S2140057D04D4900001D4A0000948801008514000011 +S2140057E0F0B5D6464F464646C0B584B0051E019174 +S2140057F0914658D00368002B57D00B0A98460022D3 +S21400580002ABDA800279002A42DD002401267642C5 +S21400581006239A46264F16E00131C9B219E002ABBC +S21400582006331B884A461380012036E0B34205DD66 +S21400583002AB06331B884A4613800600013424B2A6 +S2140058402A79944226DAE1B26B7950460340062B59 +S214005850E2D00020002A04D0914202D289002B68B0 +S214005860C85802AB9A1D0199B84703008045D6D0A8 +S2140058706A799107DAD50028D8DB002CD6D15207F2 +S214005880D4D402AB06331B884A461380012004E0BA +S21400589001267642F04380B2C00B04B01CBC904692 +S2140058A09946A246F0BD0020F7E70020F5E7C0467F +S2140058B085520000F0B5D6464F464646C0B584B081 +S2140058C0051E0191914654D00368002B53D00B0A55 +S2140058D09846002203AB1A800279002A3EDD002497 +S2140058E00126764206239A46244F14E00131C9B2B7 +S2140058F017E003AB1B884A461380012033E0B3420F +S21400590004DD03AB1B884A4613800600013424B22C +S2140059102A79944224DAE1B26B7950460340062B8A +S214005920E4D00020002A04D0914202D289002B68DD +S214005930C85803AA0199B84703008045D9D06A79A8 +S2140059409107DCD50028DADB002CD8D15207D6D454 +S21400595003AB1B884A461380012004E001267642EA +S214005960F04380B2C00B04B01CBC90469946A246D9 +S214005970F0BD0020F7E70020F5E7C0463F540000E2 +S214005980F0B5D6464F464646C0B584B0051E0191D2 +S214005990914658D00368002B57D00B0A9846002231 +S2140059A002ABDA710279002A42DD00240126764233 +S2140059B006239A46264F16E00131C9B219E002AB1B +S2140059C007331B784A461370012036E0B34205DDE4 +S2140059D002AB07331B784A4613700600013424B224 +S2140059E02A79944226DAE1B26B7950460340062BB8 +S2140059F0E2D00020002A04D0914202D289002B680F +S214005A00C85802ABDA1D0199B84703008045D6D0C6 +S214005A106A799107DAD50028D8DB002CD6D1520750 +S214005A20D4D402AB07331B784A461370012004E037 +S214005A3001267642F04380B2C00B04B01CBC9046F0 +S214005A409946A246F0BD0020F7E70020F5E7C046DD +S214005A5065530000F0B5D6464F464646C0B584B0FE +S214005A6005000191170000284CD00368002B4BD08E +S214005A700B0A98460279002A39DD00240126764270 +S214005A8006239A46214B994610E00131C9B213E02D +S214005A90039B3B6001202FE0B34202DD039B3B608B +S214005AA00600013424B22A79944222DAE1B26B79F4 +S214005AB050460340062BE8D00020002A04D091422E +S214005AC002D289002B68C85803AA0199C847030068 +S214005AD08045DDD06A799107DED50028DCDB002C16 +S214005AE0DAD15207D8D4039B3B60012004E001269C +S214005AF07642F04380B2C00B04B01CBC9046994678 +S214005B00A246F0BD0020F7E70020F5E71F5500008D +S214005B10F0B5051CCB06DB0E4F05BF0E0904C90EFB +S214005B20052A3DD92804C00E40181F2800D91F207A +S214005B301F240440A4466E05B60EF6193F2E00D963 +S214005B403F263F242640ED06ED0EED181F2D00D90A +S214005B501F251F242C40FF2A27D0FF25AD1A5443AB +S214005B606B43E3181802C018C001C0180001564362 +S214005B706F43F7193E02F619F601F619F600B60E4F +S214005B807601C00E63465A436943521811028918BB +S214005B90C9018A18D20DD2B2D20230431043F0BDEA +S214005BA07801C90218430843F9E770016346DA0230 +S214005BB020431043F3E7F0B5C64600B5051CC806FB +S214005BC0C30E98464F05BF0E0904C90E052A41D9D3 +S214005BD02804C00E081AC343DB1718401F230340CF +S214005BE09C466E05B60EB81BC343DB1718403F260F +S214005BF00640ED06ED0E43465D1BE843C017054024 +S214005C001F242C40FF2A2BD0FF25AD1A54434046B4 +S214005C106843241820020019C001001900015643E9 +S214005C206F43F7193E02F619F601F619F600B60E9E +S214005C307601C00E63465A4369435218110289180A +S214005C40C9018A18D20DD2B2D2023043104304BC26 +S214005C509046F0BD7801C902034318000843F6E7F2 +S214005C6076016346D80234432043F0E7F0B5DE46BB +S214005C7057464E464546E0B593B004000D006946CB +S214005C808A8206931CAB1F781DAB1B789B461EAB07 +S214005C901E785B46042B01D9002F06D113B03CBCFE +S214005CA090469946A246AB46F0BDBF4B9847824603 +S214005CB0BE4B98478046836804932A00210010A8AC +S214005CC0BB4B98470028E9D043461A8A10AB198880 +S214005CD0891A89B20B918C4608B20A901880404601 +S214005CE0418A5D886D1A2DB25D809888801A80B2D0 +S214005CF09880DA88521A12B29146DA80069A002AFA +S214005D0018D053461B7ADB0714D4411C6346C91AC5 +S214005D1009B200290EDD13009446614480240A9AD5 +S214005D2094461A78944292411A7001338B42F8D105 +S214005D3063460A9353465B69002B00D18CE06B46A2 +S214005D409E8A994B9847050043469B8A01334246F4 +S214005D50128A9B1A1BB20593012F46D010AA002365 +S214005D60D15E069B5B1A9846938801335B1A1BB27A +S214005D7008930221535E190007930623D35E9942C7 +S214005D8000DD8BE710AF01AB9A46B14646460023CE +S214005D90FC5E0422BB5E9C421BDC6B461C229B5EA8 +S214005DA09846069623B2069A125D59464A43120A48 +S214005DB0029252464946118042460092059A04993C +S214005DC028006E69B04701340422BB5E9C42E9DDC0 +S214005DD0069E089B9C466644079B01331A00079361 +S214005DE006217B5E9A42D2DD58E710AB02215A5E4E +S214005DF0924606229B5E9A4500DD4FE710AC01AB4B +S214005E009946B0460023E75E0422A35E9F421BDC51 +S214005E1053461EB2424669460A83B0463BB25A46CD +S214005E2002924A466946098B118042460092059ABC +S214005E30049928006E69B04701370422A35E9F428A +S214005E40ECDD6B461B8B984601239C46E2440622FB +S214005E50A35E9A45D6DD21E7002E01D000F027FC90 +S214005E606B469B8A6A4613844F4B9847040043460A +S214005E709D8A01351B8AED1A2DB210A80023C15E3B +S214005E80838801335B1A1BB20B930A930623C25E08 +S214005E900223C35E561CF61A36B20E960C936B435C +S214005EA05B185B0004998C4663440793012F1ED051 +S214005EB05B46FA2B00D927E10C9B934200DDEDE60A +S214005EC0079B1A886B46998A0B04DB0E05934B05D5 +S214005ED09B0E0893CB06DB0E9C466B000F931300BD +S214005EE00026002089B20E9102009946D0E35B4658 +S214005EF0FA2B24D9636A002B04D010A82D4B9847A0 +S214005F00F02812D86D0000240E9B002B00DCC5E69E +S214005F10294E079F0B9A6B46198C3800B0477F199D +S214005F2001340E9BA342F5DCB8E66B469A8A1A80CB +S214005F30666A10AB2A0004992000B047AEE6236AD2 +S214005F40002B3DD010A81B4B9847F02838D90A9B49 +S214005F50002B09DD6B469E8A184B0B9A52009A1846 +S214005F601E8002339342FBD110AB02229E5E0622B5 +S214005F709B5E9E4200DD91E66D00104B984610AF8A +S214005F80AA465B4600930B9B42460799894620002B +S214005F90256AA847CC46D4446346079301360622B2 +S214005FA0BB5E9E42EDDD79E6B143000009F70000D6 +S214005FB00FFC0000F3FB000035020100F026002075 +S214005FC000236A461383928AD306DB0E9C46131C74 +S214005FD01A005705BF0E1C04E40E5B466343180206 +S214005FE0C018C001C018C00D1F23984618405A4656 +S214005FF07A4313029B18DB019A18D200930E9A4636 +S2140060005946634659430B025B18DB015918C90D04 +S214006010434619405B466A461382138A5C430594DE +S2140060205F43089764465C4309945B46DF43FFB2D0 +S2140060300E9B002B00DC31E66B000E93731C0D9359 +S2140060400B9B5B000F9301230C93BFB21F263E33BE +S2140060500B93634B984607239946524648E02B78A5 +S214006060B3430B432B70049B5B012F8842461740BB +S2140060703B432B80C7001B0A4A4613401F436F70E2 +S2140060800234544526D025006B461B8B2788BB421E +S214006090E5D06B461F836078C00863465843059B6F +S2140060A09B465844000A30407A05920E63465A438F +S2140060B0089B9B465A44120A0B9B1A40049221786E +S2140060C0C906C90E63465943099B9B465944090AAB +S2140060D03140C4E7049A6746079B0E9CA446634477 +S2140060E007930C9B01330C930D9C9C4200D1D5E585 +S2140060F00A9B002BF0DD079B1C000F9DAA4653440D +S21400610004929A46BC46BEE70E9B002B00DCC5E513 +S2140061100B9B043B05936B000F93069B0993002390 +S2140061200D936B461A8C1704FB0E049353059B0EB7 +S2140061309A46D306DB0E9B4613E26A46128C3280E2 +S21400614001340133984501DC00F0E8FB0236A20773 +S2140061503FD020780028F3D0FF28EED0FF22151A73 +S214006160049F47437178C90869437F183A02D219D9 +S214006170D201D219D20D49460A40069257464743E5 +S21400618031884905890E69437F183902C919C90142 +S214006190C919C9005F4678433778FA06D20E5543C8 +S2140061A0451928024019C0014019C00D4A46104042 +S2140061B0974338433070890E48013188084D29408E +S2140061C001433180069AD2004905490F0A4372708E +S2140061D0B6E722000599994200DBA4E35EE1C046DB +S2140061E01FF8FFFF6946098C21806180A180E1804D +S2140061F00432043308340599994200DA49E11168FB +S2140062000029F5D00131EDD01578002D46D0FF2DB0 +S21400621000D12EE1FF21491B8C4604986843617823 +S214006220C90866467143401801020918C9010918D1 +S214006230C90D39408A462800069948438146208879 +S2140062404005800E70438144484600024844C00121 +S2140062504844C0005E4675432678B046F606F60EFD +S214006260B146664649464E43B446AC4461460D02C6 +S2140062706544ED016544ED0D3D404646BE4335435D +S2140062802570800E45012088BE490840284320809E +S2140062905146C9004005400F014361705578002DF6 +S2140062A04AD0FF2D00D1E8E0A11CFF20401B844609 +S2140062B0049868438946E178C908664671434018E1 +S2140062C001020918C9010918C90D39400C912800A6 +S2140062D0069E7043824660884005800E6646704380 +S2140062E08244504600025044C0015044C0005E46FE +S2140062F07543A678B046F606F60EB2466646514692 +S2140063004E43B446AC4461460D026544ED01654417 +S214006310ED0D3D404646BE433543A570800E400118 +S214006320658898490D40284360800C99C90040054F +S214006330400F0143484641709578002D4AD0FF2D06 +S21400634000D19EE0211DFF20401B84460498684330 +S21400635089466179C90866467143401801020918E2 +S214006360C9010918C90D39400C912800069E7043D2 +S2140063708246A0884005800E66467043824450469A +S21400638000025044C0015044C0005E467543267962 +S214006390B046F606F60EB246664651464E43B4463C +S2140063A0AC4461460D026544ED016544ED0D3D408B +S2140063B04646BE4335432571800E4001A588714987 +S2140063C00D402843A0800C99C9004005400F0143AA +S2140063D048464170D578002D00D109E7FF2D54D0EE +S2140063E0A11DFF20401B8446049868438946E17936 +S2140063F0C90866467143401801020918C901091800 +S214006400C90D39400C912800069E70438246E088EC +S2140064104005800E66467043824450460002504453 +S214006420C0015044C0005E467543A679B046F606E5 +S214006430F60EB246664651464E43B446AC446146F6 +S2140064400D026544ED016544ED0D3D404646BE43F4 +S2140064503543A571800E4001E5884A490D40284322 +S214006460E0800C99C9004005400F01434846417042 +S214006470BEE66946098C218010E76946098C618072 +S2140064805AE76946098CA180A4E76946098CE18031 +S214006490AEE606998A460A99994250DD5E0007994B +S2140064A08C466644D21A90460A9A914606E06A4698 +S2140064B0128C328001330236994540DD4246D05C6C +S2140064C00028F7D0FF28F2D0FF22141A049A42437D +S2140064D07178C908614351180A025218D20152183D +S2140064E0D20D1F273A400692554645433188490546 +S2140064F0890E61436D1829024919C9014919C90055 +S2140065005D4668433578EA06D20E544304192002E5 +S2140065100019C0010019C00D07401F2085432F43F6 +S2140065203770890E48013188164C2140014331806E +S214006530069AD2004905490F0A437270BAE7079BCC +S2140065400F9A944663440793099B0B9A94466344B8 +S21400655009930D9B01330D930E9A9A4201DCFFF7C7 +S2140065609DFB0A9A002A00DCE5E1099B990700D109 +S214006570E4E1079E984600231F218946444690463C +S214006580E7E5C0461FF8FFFF0D9EFF2A65D0FF2EE9 +S21400659067D0FF239B1B4A78D20899465A43059B2F +S2140065A07343D21813029B18DB019B18DB0D1F22C6 +S2140065B01A4004920A885205920E4B465A43089B8C +S2140065C073439A46524413029A4692445346DB015A +S2140065D09A465244D20D0B78DB06DB0E9A464B46A3 +S2140065E0544663439A46634673439946CA445346A1 +S2140065F01B029946D1444B46DB019946D1444B4693 +S214006600DB0D1F2423409946099BA3439A464B461D +S2140066105446234399463F231A4052014B4644466C +S21400662023401A43049BDB025205520D13436A466D +S21400663093849BB20A8891460B802A00013002316F +S214006640B84210D00578002DF8D0954205D0FF2D21 +S2140066509AD05E466E43360A99E70A884A4596D12E +S214006660EAE70E9BE6E707990F98804641440791B4 +S21400667006990B988046414406910C990131080012 +S2140066800C9110A90624095F884201DDFFF706FB7E +S2140066900A990029E7DD0799069804000B9DA8468D +S2140066A044442700A74CA0465C460D94CAE76B46B8 +S2140066B09C8A012E45D0022E01D0FFF7EFFAA24B9E +S2140066C009936B469A8AD306DB0E0E9353059B0EF0 +S2140066D00C931604F30E0D9343469B8A01334246F1 +S2140066E0128A9B1A19B208954D436D00049B9C466E +S2140066F0AC4463460793012F26D001300B9BC01A8B +S21400670003B29846069B0A9A9E1A079B1A88089B0D +S2140067104B4501DDFFF7C2FA4B000A93100000213B +S2140067200C9B5B019A4643460B93099B98460D9B30 +S21400673099466B461C8234005B4606930E9B9B462E +S214006740DEE0824B0993BCE700236A4693825B46F1 +S2140067500D9F7B431802C018C001C018C00D1F252E +S21400676028405A460C9B5A4313029B18DB019B1881 +S214006770DB009A0E92465A460E9E724313029B18F0 +S214006780DB019B18DB0D1D40089A4A4501DDFFF72B +S21400679085FA4A00914633001F22134098464A461F +S2140067A00B92B9466B461C832C005A460A920C9BE9 +S2140067B09B4650E02B781F229343049A13432B707A +S2140067C07A012B889C465F4B61460B4013432B8017 +S2140067D0C2005B055B0F13436B700134023610ABCF +S2140067E004229B5E9C4224DC35006B469B8A3288E2 +S2140067F09342DFD011006B469A8206981F23984377 +S214006800434618435B465B014E4F384018434B46A1 +S214006810DB024005400D18436B4618830A9A099B15 +S2140068209847C106CB0E04934705BF0E0004C00E62 +S214006830C0E7049CBA46079B0B9A944663440793AA +S214006840089B01331A00089310AB06215B5E9A4240 +S21400685001DDFFF723FA10AB00229E5E370004220C +S2140068609B5E9E42E7DC7600079B9C46664404944B +S2140068703C005746B8E73A889446059A944524D192 +S21400688015E01F23049898435B4618432D4B184089 +S214006890534618434B46DB024005400D18436B46F3 +S2140068A018823988C04780B2A15D3B88059338803E +S2140068B00135023710AB04269B5F9D420CDC2E0090 +S2140068C0635D002BF4D08B42D5D006990A00F92BD5 +S2140068D0D7D85A43120AD4E7059A079B0A9DAC46B6 +S2140068E0634407930B9B9C466444089B01331D003E +S2140068F0089310AB06269B5F9D4201DDFFF7CEF99D +S21400690010AB00255F5F3D0004269B5F9F42E4DCE2 +S2140069107F00079B9C4667440592D0E722000599B6 +S214006920994200DA0BE65C0007998C4664441F2700 +S2140069305146069163E4099A0023F0E7099A00237A +S21400694048E4C0461FF8FFFFB75B0000115B00007D +S214006950F0B5DE4657464E464546E0B593B00C00C9 +S21400696007921D001CAB1F781DAB1B789B461EAB09 +S2140069701E785B46042B01D9002F06D113B03CBC11 +S21400698090469946A246AB46F0BD0A00010010A804 +S214006990D74B98470028F1D0D64B98478046D64B21 +S2140069A09847814683680593028A10AB1988891A2E +S2140069B089B209918C4608B2824618804846418AB8 +S2140069C05888401A80B20A9000B20890588098887A +S2140069D0801A80B29880DA88521A92B20B9212B25B +S2140069E00C92DA80002D14D043461B7ADB0710D4B5 +S2140069F0411C6346C91A09B200290ADD2B00691832 +S214006A00802294461A78944592411A7001338B423C +S214006A10F8D143465B69002B00D1C3E0B54B9847DD +S214006A200C904B4610229B5E98464B469B8A013341 +S214006A3042469B1A1BB2069310A90023C85E002389 +S214006A40E25EA38801339B1A1BB20226895F099176 +S214006A500226A45FA4464E461224365F6446A41B54 +S214006A600C1B5C434646921BA41A6400079A944685 +S214006A70A44462460892012F53D02A1A904610AAC0 +S214006A800624125F099C944200DD77E710AA0424CE +S214006A90125F5B000A93099110AB079301AB9A460D +S214006AA00132131A1BB20B930C9E079A1300002593 +S214006AB05D5F2C00130004229B5E9D421FDC6D0070 +S214006AC0089B9C4665446B4624229B5E994623B2EF +S214006AD04246125D59464A43120A02922A88514695 +S214006AE00A804A460092069A059930007769B847A8 +S214006AF001340235079B04229B5E9C42E7DD0B9B1C +S214006B009C46E044089B0A9A944663440893099B73 +S214006B1001331A000993079B06215B5E9A42C4DD87 +S214006B202CE710AA0620125E8A4200DA26E75B00EF +S214006B3009938A4610AB079301AB99460C9E079AB9 +S214006B4013000027DF5F3C00130004229B5E9F4279 +S214006B501ADC7F00089B9C46674453461BB2984647 +S214006B6023B25A4602923A8849460A804246009222 +S214006B70069A059930007569A84701340237079BC5 +S214006B8004229B5E9C42EBDD089B099A9446634474 +S214006B90089301239C46E244079B06229B5E9A4587 +S214006BA0CDDDEBE6002E01D000F0FDFB4B461022BB +S214006BB09B5E1A004B469B8A01330D929B1A1BB2B2 +S214006BC098460130099BC01A03B20C9306930B98A3 +S214006BD001300A9BC01A03B20B930023E25EA6881C +S214006BE00136B61A36B20898030041464B43534462 +S214006BF05B0005998C469C44634608930221635EBD +S214006C0049461224095F5B1AC31A73430D99521A38 +S214006C1051468A1A9B185B00079A94469C44634622 +S214006C200993344B98470400012F15D05B46FA2B86 +S214006C3000D9EBE00B9B002B00DC9FE643465B0095 +S214006C400E9373000F93A94600230D931F339846A7 +S214006C505B4607930A939AE3036A002B2AD010A890 +S214006C60264B9847F02825D910AB02229F5E0622B5 +S214006C709B5E9F4200DD81E643465B0098467600B9 +S214006C8010AB05935B4600930C9B099A92460899B5 +S214006C9089462000256AA8474B4643440893D446B5 +S214006CA0B444634609930137059B06229B5E9F42C8 +S214006CB0E8DD63E65B46FA2B24D80B9B002B00DC52 +S214006CC05CE643465B000A9373000D930C9B5B00E7 +S214006CD00C9300230793FF275B46FF1A1F239C464F +S214006CE020339946064B9A46B8465F463BE0C04678 +S214006CF00FFC0000B143000009F70000F3FB0000A2 +S214006D001FF8FFFF0B9B002B00DC37E60C9B5C009C +S214006D1043465B00984676000025804F2200099B7C +S214006D209A461900089B99461800B8474B464344B4 +S214006D300893D446B4446346099301350B9BAB4293 +S214006D40ECDC1BE6089B0A9A93465B440893099B77 +S214006D500D9A93465B440993079B013307930B9A5E +S214006D609A4200DC0AE6069B002BEBDD099B1E0020 +S214006D70089D0C9A93465B449B4641467378DB0815 +S214006D807B436A78D2084A439A1813029B18DB01A1 +S214006D909B18DB0D62461340059332885205920E0F +S214006DA07A432C886405A40E4C4314192202121947 +S214006DB0D2011219D20D3478E406E40E7C4328780A +S214006DC08046C006C00E4843201804022418E4017A +S214006DD02418E40D60460440404663469843044346 +S214006DE02C704B461A4054012A8853461A402243B8 +S214006DF02A80059BDB00120A0720024013436B70B3 +S214006E00023602355E45B9D188469BE70C9B043BAB +S214006E1007930B9B002B00DCB0E543465B000E930C +S214006E2073000F930A9500230D931F339B46069B12 +S214006E309946A6E303880B8001370136059BB342CB +S214006E4000DC81E30230023103231F4253D03D7839 +S214006E50002DF1D0FF2DEDD0FF235B1B9946437824 +S214006E60DB086B434A78D2084C4662439A181302F2 +S214006E709B18DB019B18DB0D5A46134006930288CD +S214006E805205920E6A4394460A885205920E624351 +S214006E9062441402A44694446446E401A446624450 +S214006EA0D20D0478E406E40E65430C78A446E406A6 +S214006EB0E40EA0464C4643465C43A046A8444346E0 +S214006EC01D024544ED014544ED0D5B461D406446FC +S214006ED09C4325430D703F231A4055010A885346AC +S214006EE01A402A430A80069BDB00120A0724224027 +S214006EF013434B70A0E7059B9946079BB34200DC03 +S214006F0019E37000099B1C18089B9C466044044BC0 +S214006F109A464B460693059616E0C0468D0C010031 +S214006F201FF8FFFF2388038063884380A38883803D +S214006F30E388C3800437059A043205920834083083 +S214006F40079B934200DC4BE13B68002BF2D00133F9 +S214006F50E8D03978002949D0FF2900D134E1FF2351 +S214006F605D1A6278D20813004B434278D2086A430F +S214006F709A1813029B18DB019B18DB0D5A46134028 +S214006F8022885205920E4A43944602885205920E73 +S214006F906A4362441602B44694446646F601B44612 +S214006FA06244D20D2678F606F60E71430678B4468D +S214006FB0F606F60E75434D1929024919C9014919F5 +S214006FC0C90D5D46294065465E46B54329430170B6 +S214006FD03F210A405101028855462A400A43028052 +S214006FE0DB00120A07210A40134343707978002910 +S214006FF04BD0FF2900D1EAE0831CFF22551AE27825 +S214007000D2084A439846C378DB086B43D21813026B +S2140070109B18DB019B18DB0D5A461340628852050D +S214007020920E4A43944642885205920E6A43624440 +S2140070301602B44694446646F601B4466244D20D3F +S214007040A678F606F60E71438678B446F606F60E71 +S21400705075434D1929024919C9014919C90D5D46DB +S214007060294065465E46B543294381703F210A4064 +S2140070705101428855462A400A434280DB00120AE4 +S21400708007210A40134342465370B97800294BD073 +S214007090FF2900D19EE0031DFF22551A6279D2080F +S2140070A04A4398464379DB086B43D21813029B1871 +S2140070B0DB019B18DB0D5A461340A2885205920E40 +S2140070C04A43944682885205920E6A4362441602E8 +S2140070D0B44694446646F601B4466244D20D267918 +S2140070E0F606F60E71430679B446F606F60E7543B6 +S2140070F04D1929024919C9014919C90D5D4629408A +S21400710065465E46B543294301713F210A40510159 +S214007110828855462A400A438280DB00120A0721ED +S2140071200A40134342465370F978002900D101E71C +S214007130FF2952D0831DFF22551AE279D2084A430E +S2140071409846C379DB086B43D21813029B18DB0101 +S2140071509B18DB0D5A461340E2885205920E4A43AE +S2140071609446C2885205920E6A4362441602B4469A +S21400717094446646F601B4466244D20DA679F606F5 +S214007180F60E71438679B446F606F60E75434D192B +S21400719029024919C9014919C90D5D4629406546A4 +S2140071A05E46B543294381713F210A405101C2889A +S2140071B055462A400A43C280DB00120A07210A40CD +S2140071C0134342465370B5E6238803800EE7638870 +S2140071D043805AE7A3888380A6E7E388C380A9E6AE +S2140071E0069B99461600934200DCB3E13B0077000D +S2140071F0099A9046B844089A944667449B1B0593A0 +S214007200CE4B9A4607239C46444607E023883B809D +S214007210013602340237B14500DC9BE1059B995DDF +S2140072200029F5D0FF29F1D0FF23581A6278D2083A +S2140072304A4315007A78D2084243AD182B025B19F0 +S214007240DB015B19DB0D5A461340069325886D0556 +S214007250AD0E4D433A885205920E4243AD182A02AF +S2140072605219D2015219D20D2578ED06ED0E69435A +S2140072703D78EB06DB0E5843081801020918C901D1 +S2140072800918C90D5B4619409D43294339703F23B1 +S2140072901A4051013A8853461A400A433A80069BE0 +S2140072A0DB00120A61460A4013437B70B0E7FF23F7 +S2140072B01D1A4B78DB0843437278D2086A439A1843 +S2140072C013029B18DB019B18DB0D42461340059307 +S2140072D00A885205920E4243914632885205920E13 +S2140072E06A434A441302994691444B46DB01994649 +S2140072F04A44D20D0B78DB06DB0E434399463378BF +S2140073009C46DB06DB0E5D43A9444B461D024D44FE +S214007310ED014D44ED0D43461D4063464046834314 +S2140073201D4335703F231A4055013288834B1A405F +S2140073302A433280059BDB00120A5846024013435C +S2140073407370013702310236069BBB4209DDE55DEC +S214007350002DF6D00798F92DA9D80A9B5D43280A78 +S214007360A5E7A146089B0E9A9446634408930C9B97 +S2140073709C46E144099B0F9A9446634409930D9BEF +S21400738001330D930B9A9A4201DCFFF7F7FA069B3E +S214007390002BE7DD099B9C46089E002707239B469B +S2140073A061464C46D3E7012E4DD0022E01D0FFF7A2 +S2140073B0E5FA634B0A934B4610229B5E1A000B932A +S2140073C04B469B8A01339B1A1BB29C460023E25E07 +S2140073D00D92A38801339B1A19B2089E6246724327 +S2140073E05300059A90469844434606930222A35EAD +S2140073F04A461224145F1B1BF31A4B435B00079A82 +S214007400D418012F22D05346EB1A1A0053465B00BD +S214007410E31A9946089B0C9CA34201DDFFF7AEFADF +S21400742063465B0098464B00079310AF5B46059398 +S2140074300130099BC01A03B209930A9B9A46434639 +S2140074400A93904668E03F4B0A93B4E70B9B0D9A6D +S2140074509B1A5B00A14699440C9A964201DDFFF701 +S2140074608DFA63465B009A464B00984610AF5B4623 +S2140074700593D3460A9B9A460023FD5E2E000422FF +S214007480BB5E9D420FDC6D00069B5C194D44218857 +S2140074902888059AD0472080013602340235042217 +S2140074A0BB5E9E42F3DD069B5B440693C144089B8D +S2140074B001331A00089306217B5E9A42DCDDFFF753 +S2140074C05DFA31882888D04730800134023602358C +S2140074D00422BB5E9C420ADC43461B5D002BF4D0B4 +S2140074E0059AF92BEDD85A4653431A0AE9E7069B44 +S2140074F00A9A944663440693099B9C46E044079B7D +S2140075009C46E144089B01331A00089306217B5EE3 +S2140075109A4201DDFFF732FA0023FD5E2C000422BA +S214007520BB5E9D42E3DC6D00069B5E194D44D3E7CF +S2140075300A9F0026E1E43B0059E6C0461FF8FFFF1D +S214007540B75B0000115B0000059B9946079B9E42B7 +S21400755000DAD6E4089B0E9A9446634408930A9B86 +S2140075600C9A944663440A93099B0F9A9446634484 +S21400757009930D9B01330D930B9A9A4201DCFFF79A +S214007580FDF94B46002B0FDD0A9B03221342CFD09A +S214007590099A9046089A1F000026054B9A464B46C5 +S2140075A005934046110052E40A9F0026CEE7C046E7 +S2140075B01FF8FFFFF0B5DE4657464E464546E0B597 +S2140075C0BFB01C900800249190460A9348AB1B78E5 +S2140075D00B9349AB1B78079300233CA9C25C5A5413 +S2140075E00133082BFAD1B74B9847B74B98471990F9 +S2140075F0048A3CAB1A88121B1A80408A5A88121AD0 +S2140076005A809988091B9980DA88121ADA80AF4B5B +S21400761098471A90002808D10A9A5388002B04D15C +S2140076200133FF3312899A4272D0079B5A1E934148 +S214007630023399461C9B0022995E8C469F88013730 +S2140076407F1A3FB23CA902228D5E199A1226945FD9 +S214007650CA4600200E5E1020125E02201B5E1B1B18 +S214007660EB1A7B436046801A301AC0184B465843C4 +S214007670030043441593B6B2B21892B228A802800B +S2140076808B8801339B1B9BB21EB21796013BD31807 +S2140076908380ADB22C1924B24480C480CB880133D9 +S2140076A05D1B2DB20A984388002B00D044E3028964 +S2140076B0531EFF3B591E8B41DBB29B461A9B002B89 +S2140076C000D0D5E00133FF339A4200D03AE30B9B5B +S2140076D0002B05D1837A002B02D1079B002B34D1D7 +S2140076E03CA87B4B9847F0235B00984200D8CAE042 +S2140076F0F0208000774CA0471B90F02676003000E4 +S214007700A047189048212AA8734B98471D9655E322 +S2140077100B9B002B89D1079B002B13D10A9B9B7ACE +S21400772002229146002B85D10A9A937B0293137806 +S214007730019301230093002342461C992498674C2A +S214007740A047DDE20323994674E73CA8604B9847C0 +S214007750F0235B00984219D83CA85D4B98470790E9 +S214007760079E70005B4CA04705903000A04706902F +S214007770002D61DD53467B439A466B1C9B460123D6 +S21400778098460027179D3E004C4631E0F0235B00EC +S2140077900793E5E7013312190237AB4209DA91780D +S2140077A0C1540029F6D056783602117889193980E6 +S2140077B0F0E76646179B9C466644159B5344159314 +S2140077C024AB64229B181B88013324AA602152181C +S2140077D012889B1A1BB29B19079A9A4217D928AA95 +S2140077E0D3880133D38001239C46E044D84523D078 +S2140077F0179B002BE1DD7700059B9C466744159A96 +S214007800002306998C46B4446046B446C7E728AFC2 +S2140078100A9A937B02931378019302230093069BA4 +S214007820059A390024982D4EB047FB8801331BB2C9 +S2140078307B80FB800026D6E728AA0621535E02211D +S214007840525E9A420ED028A9013BCB800A9A937BBF +S21400785002931378019302230093069B059A2498BB +S2140078601E4CA04706981E4CA0470598A04747E226 +S2140078703CA8174B9847F0235B00984203D9F023A7 +S2140078805B001D9303E03CA8114B98471D901D9E7E +S2140078907000104CA0471B903000A047189048215D +S2140078A02AA80D4B98475B46002B00D186E260E283 +S2140078B0002314931293119397E21D991898094B7D +S2140078C09847A9E2B143000009F70000C1A60000EE +S2140078D0F3FB0000C10E01004D10010051690000CD +S2140078E0D50B0100F11001000D9BF3181BB22AA95D +S2140078F008200A5E9B1A0A200A5E0E98821A8020CA +S2140079004000C989814259D02AA90C20095E002965 +S2140079106BD12AA9C88E43431D00339B9A46AA44BE +S2140079204243349BD3180C9353461B1298462AABFB +S21400793004229B5E984500DBB0E04246002A00DA4F +S214007940ACE00C9A1212100016922AAA0621525E79 +S214007950904200DBA2E0002800DA9FE034222AA949 +S214007960895C4A076AD52A9A890758D44343434410 +S2140079705B00D21810782AA9087552784A75022139 +S21400798034222AA8825CD2070FD51F222298904361 +S214007990FC22D20002435205520D68468825401943 +S2140079A002802AA8808A904278D02AAAD27C002A0E +S2140079B060D12AAB9A7D22709B8A80E036993598F2 +S2140079C005000C910800584329005143411AC9117B +S2140079D03398169082468A446B430C9842439B1811 +S2140079E0DB11349A9B180C939EE72AA9C88E434352 +S2140079F01D004243369858438046359850434346C8 +S214007A00181AC013339B9A468244359B6B433698AC +S214007A1050431B18DB13349A9B180C9384E7169973 +S214007A204B4343445900CB18D21810782AA908753E +S214007A305078487592788A750321A1E7434619B2B3 +S214007A406B4658229B1800229A5E24AB1B8D26920A +S214007A50259130A8AE4DA84724AB9885269A25993F +S214007A6030A8AC4B984724AB2E229B1818700023E6 +S214007A70002185E72AA8524602876A46128E428768 +S214007A80424682876A46582552191288C28703647E +S214007A904423C154A04B984700288AD10023237062 +S214007AA042E0FF2323707A7812023B789B189BB241 +S214007AB00B9A002A03D0994A12889A424AD00A9A08 +S214007AC0927A002A2ED06A464C2152181288D90A79 +S214007AD094465143119A90464144C904C90E58052C +S214007AE0800E62465043129A904640448004DA065E +S214007AF0D20E63465A43149B9C466244D204D50E6B +S214007B001F23089A9A4313002A001A43800E400146 +S214007B10834B13400343C9025B055B0D0B436A4668 +S214007B2013849BB2059A13800136069B9C466744D5 +S214007B300134059B023305934E450EDA5B46002B57 +S214007B4000D0D1E6079B002BABD0BB782370002B70 +S214007B50EAD0A8E700232370E6E7179B0F9A94461F +S214007B6063441C001A9B002B48D1159B1F9A944611 +S214007B706344159324AB64229B181B88013324AA04 +S214007B806021521812889B1A1BB21B191D9A9A4222 +S214007B906CD928AAD3880133D3800F94109B013365 +S214007BA01093209A934200DB8FE0199B10229B5E75 +S214007BB024AA602152180021525E9B181C9A0021AC +S214007BC0525E9B1A0D93179A9146002A14DD189B55 +S214007BD098460F9A9446E04453001B9A92469A445D +S214007BE0159F0026219B109A944663441BB20E9361 +S214007BF0444653460593A1E70F9CB3E70F9B189A9C +S214007C00944663441D0024AB60229B18198824AB5D +S214007C1004329B181B8801335B1A1BB224AA62200D +S214007C2012181288199E708A121810988446624498 +S214007C3012B2308A091809B228003A4EB047002816 +S214007C4003D0022891D11E908FE724AB64229B18A4 +S214007C501988013124AB043A9B181B88C91A09B24B +S214007C602800314B984702231E937EE728AC0A9ED5 +S214007C70B37B0293337801931E9B0093189B1B9A49 +S214007C8021002498294DA847E38801331BB263805E +S214007C90E38002231E93279B002B09D17388002BB9 +S214007CA006D13389013BFF3B5A1E934101331E9395 +S214007CB000230F931A9B002B00D16FE71D9918988D +S214007CC01B4B984700230F9368E728AA0621535EAC +S214007CD00221525E9A420ED028A9013BCB800A9A16 +S214007CE0937B0293137801931E9B0093189B1B9A19 +S214007CF024980E4CA04718980E4CA0471B98A047F7 +S214007D003FB03CBC90469946A246AB46F0BDC04646 +S214007D10EDD000000DD2000015D600001489010039 +S214007D201FF8FFFF25A600004D1001005169000056 +S214007D30F1100100D50B010001239B461A9B002B76 +S214007D4000D095E53CA8414B9847F0235B0098424D +S214007D5000D898E5F02080003D4CA0471B90F02608 +S214007D6076003000A047189048212AA8394B98473B +S214007D701D960522079B002B04D1013A0B9B002B76 +S214007D8000D002322AA80A9C638883812389C38193 +S214007D9043462A9387801C99CB88013349885B1A0F +S214007DA0C3808274A3880381E3884381A389038206 +S214007DB0E37BDB07DB0FC374274B98470A998B7A64 +S214007DC0DA43D2B21392002B00D171E59BB24A7B04 +S214007DD0D2085A4311928A895205920E5A43129239 +S214007DE00A7BD206D20E5A4314920B9B079A134371 +S214007DF0279302221E92002B0AD10A9A5388002B40 +S214007E0006D11389013BFF3B5A1E934101331E9353 +S214007E101A9B002B00D050E5199B12229B5E3CAAB1 +S214007E200221525E9B181C9A0221525E9B1A2193D5 +S214007E302095002D00DC48E753467B431F93002324 +S214007E4010930F934B460693AFE6C046F3FB000035 +S214007E50C10E01004D10010011D30000F0B59FB017 +S214007E6005000E00170009AC20000B4B98470B4B83 +S214007E701B886380220031002800094B984702A81F +S214007E80084B9847002300933B0002AA31002800C5 +S214007E90054CA0471FB0F0BD21AB0000448901008F +S214007EA0C5AB0000C58100001582000010B50400B7 +S214007EB010210A4B9847237B1F2293432373A389E1 +S214007EC0074A1340A38100236373FF3323700133F3 +S214007ED02381E37B01221343E37310BD4D100100A1 +S214007EE01FF8FFFF0438C3B20A2B0FD89800084BC0 +S214007EF01B589F4610200AE0182008E0012006E0E4 +S214007F00022004E0042002E0082000E00020704781 +S214007F1018890100032805D002D30638042801D9A1 +S214007F20002070470120FCE7052807D003D8022868 +S214007F3004D00020704707380728FAD80120F9E750 +S214007F40F0B5DE4657464E464546E0B591B00400CD +S214007F5003911E00002A09D01B78052B0AD811B001 +S214007F603CBC90469946A246AB46F0BD6F4A704B65 +S214007F709847F4E7B18910006E4B9847071E00D16A +S214007F809EE0057BED06ED0E28006B4B98470490AF +S214007F9006902800694B984705900790BA69002A12 +S214007FA004D003992000624B9847D8E73B69002B22 +S214007FB045D000230CA9E25C5A540133082BFAD1B1 +S214007FC07388002B04D1802252003189914223D03D +S214007FD01BB2E28801326188521A12B2A1880131BE +S214007FE02088091A09B20CA80500301D01903089B6 +S214007FF0009006952800524DA847228806980388C8 +S214008000D3180380638841885918418081885218A4 +S2140080108280C2889B18C3800CAA03990EA8494B7D +S2140080209847002800D19AE73A69059B0193049B7C +S214008030009333000EA92000434CA0478FE7220090 +S21400804003990AA83F4B9847002800D187E70AAA59 +S2140080509388013312889B1A1BB2059358009C46DE +S21400806060443A4B9847049000230CA80AA95A5C2F +S2140080701A540133082BFAD101210CA8344B984727 +S2140080800AAA0021535E9C460020215E0220155E4F +S2140080900223E05E281A0623D25E954242DC294A75 +S2140080A0934663465B1A1BB208930994B246804611 +S2140080B012E0099C3800274B98470498264B9847AF +S2140080C01A4A039920001A4B984748E701350AAB2D +S2140080D006229B5E9D4225DC0CAA03990EA8D84773 +S2140080E00028F3D043461AB2049B0093059B0899D8 +S2140080F038001A4CA0470128DBD10CAC079B019333 +S214008100069B00935346049A0EA920000E4EB047D5 +S214008110638801336380E3880133E38001239C4650 +S214008120E044D3E704980C4B984718E748890100C9 +S2140081305D7E000069DA0000157F0000297F0000E0 +S21400814045D400000FFC0000B5750000C10E01000C +S214008150E9FB000085E60000D50B010061E60000A3 +S214008160002808D003781A00203A01205F2A01D997 +S214008170D809400070470320FCE700000300303BAE +S214008180DBB21A00092B18D9602801D92038C0B2F2 +S2140081904138C3B2052B0DD89800094B1B589F4693 +S2140081A00B220AE00C2208E00D2206E00E2204E074 +S2140081B00F2202E0002200E00A2210007047C046AC +S2140081C05089010010B504001C210F4B9847FF236F +S2140081D0237223781F229343237022880B490A4078 +S2140081E02280002363700A4B636001235B42E381B5 +S2140081F02382A2781F231A43A27063880B406380F1 +S2140082000023E370A37510BD4D1001001FF8FFFF9B +S21400821030000020F0B5DE4657464E464546E0B5EF +S214008220DBB010900E9117001A000D93649B059317 +S2140082303B7A052B02D91378002B06D15BB03CBCE9 +S21400824090469946A246AB46F0BD7B6807930A0067 +S2140082500400010058A8D24B98470028EED0FA7DBB +S214008260910724D4A388013322889B1A1BB2079A4D +S2140082700826965F0A217A5E9146B144109A00203D +S214008280115E1F910220105E12217A5E1E92142249 +S214008290B95E421892B215B2059C002C52D0002945 +S2140082A054D1002814DB1195002208922EE00C21F0 +S2140082B07B5E3CAD0292BB4A01920A217A5E009236 +S2140082C07A680D992800B84EB0470022AB5ECEE71C +S2140082D0A168081AC11740184840802189004C46FA +S2140082E0091B4900884207DD0122524205990A60AF +S2140082F011950022089209E005980168002929DBFB +S214008300089141688C46624412B211921BB2190061 +S21400831012930C23FA5E0D9B1800089CA44660443A +S214008320FB7D00930B000799A04DA847A446604428 +S2140083309E4A92469E4A904606960600119DBB4669 +S214008340059F11E0119500220892DFE711950022A3 +S2140083500892DBE7119500220892D7E70896237863 +S214008360002B00D16AE70600069BEB180E9A022146 +S214008370525E934220DA0D9B9C195B460C229A5E55 +S2140083805B46DB7D0093129B07992000D04780193F +S2140083904D442DB2002FE1D04545DFDB3B68002B76 +S2140083A0DCDA3E60109A0221535EEB1A7B60130003 +S2140083B002229B5EBB60D1E70B9611955F46FA7D65 +S2140083C053072FD4130749D43B7A0F93FB890693A0 +S2140083D03A8A9246534502D9524606929A463B7EC0 +S2140083E09B0755D13FAC2000724B98477B88638033 +S2140083F00F9BFA2B01D9704B1B78DBB21C934B46B4 +S2140084006A469382938A18936B4644229B181B886D +S21400841014931F9D00231D93089B9B46D0463E0049 +S21400842000F0D2FD0C217B5E089C311B89B20D98B2 +S214008430A44660440092079A604CA047109A93881E +S214008440013312889B1A1BB2181AC30F1B185B1035 +S2140084501F9A944663441BB21F93B5E70C217B5EBC +S2140084600B98089C011B89B20D98A44660440092A4 +S214008470079A524CA047109A9388013312889B1A89 +S2140084801BB21B1A1F9A944663441BB21F939BE7AA +S21400849055AC20004A4B98473B8823807B680820D1 +S2140084A0185E05300A21474B984760803B7A237256 +S2140084B07A7E03231A40637A03218B431343637245 +S2140084C090E70025E2E2099B002B07D134AB80221F +S2140084D09B181B881D9301230993C2E2099B012B5D +S2140084E001D100F005FE022B01D100F032FD3E88DE +S2140084F0ECE2059B202B00D0B3E2549B1D9A9B1AFE +S214008500072B04D03B88169302230993A9E20C9B01 +S21400851094466344180000233CA9C25C5A540133B5 +S214008520062BFAD13CAD2878274EB04780466878AF +S214008530B04743461B0198468044A878B04705904C +S214008540E878B047059B1B011B1805932879B047B0 +S21400855008906879B047089A15012818C2B2D20860 +S2140085601F232C9999430B0013436A46127D9208E9 +S2140085705101164A13400B43424669460A750A7D66 +S214008580D208D2025B055B0D13436A46B02152182F +S21400859013809BB216930223099362E2169E95E21D +S2140085A00FFC0000187C0000E51A0100C917010046 +S2140085B000FCFFFF21AB000068890100411A0100A2 +S2140085C001910000057B01007D8100001FF8FFFF80 +S2140085D03CA8048011994180BB89013BE3180A9AA4 +S2140085E0944663448380189B013B8C466344C38057 +S2140085F03FAA0E99C64B98477AE2042B00D1E9E0D1 +S214008600082B00D024E20826FF232093C14B239397 +S21400861003E0C0232093C04B23933CAB5A881A92A6 +S2140086209B881B93724321920E9B00229B5E002226 +S2140086302B920599994203DA5B1A5A00D3182B93AA +S2140086400E9B04229B5E229303211A98B34B9847F5 +S21400865005998C4660441A9A1992229A904204DD33 +S214008660531A5A1C53009B1819930E9B02229B5EAA +S214008670002229921599994201DA5B1A29930E9BDA +S21400868006229B5E1B990A001598844662442F9129 +S2140086909A4202DD1B1A01332F936B4690229B18D9 +S2140086A01A88D306DB0E269353059B0E28931304D5 +S2140086B0DB0E2793219B299A53432B9A72439B18D0 +S2140086C0DA10AD1807221A4034921B9B1A9A5343AD +S2140086D01A002E93F0235B009A4200DD2E932E980C +S2140086E08F4B984724902E9B58008D4B984725908B +S2140086F08C4B98478C4B98471021425E1100838A1A +S214008700013322915B1A1BB21B93219080682A903A +S21400871003212B98814A9446E047219B12215B5EF9 +S2140087201599CB1A1B994B43059A94466344229A93 +S2140087309B1A299A4A4312189B185B002A998C4662 +S2140087409C446146059141466B4654229B1819800D +S21400875089B28846404434A90883032119986F4B90 +S21400876098474346013BC31834A883831798299A31 +S2140087709446604403B234A84383C3836B4B984744 +S2140087803090299A2F98824200DB47E1199A2B985D +S214008790111A080031911A9B9B1A2B998C46634438 +S2140087A0190071433291032149425C4B98471B9B49 +S2140087B0C3185B00339300232A935B4635935346D6 +S2140087C03693059B9A46AB46349B98463494379727 +S2140087D0D4E00426F0232093554B23931DE7082E60 +S2140087E00BD063461840239B1B5C06E063460340A1 +S2140087F01C994B431B0A00E0002317998B54013247 +S214008800032A22D015981A9988427BD23318F5404D +S21400881001341999A14200D18EE015930599087884 +S21400882028400821CB1A9B1BD840C3B2002BE3D0AC +S2140088301C99FF29D3D0082ED8D063461840239B16 +S2140088401B5C1C994B431B0AD7E7087853465B789A +S214008850DB086246121A5343279A42439B181B0AA8 +S2140088601F221A4021928B78190053461A78D20696 +S214008870D20E67467B1A5A43269B4B43D218120ADF +S2140088801F231A402292179B5B78984653461B88F4 +S2140088905B059B0E62464746D21B5343289A7A4393 +S2140088A093465B441B0A3F221340002807D1002F43 +S2140088B005D1002903D1249A1B99505403E0249A29 +S2140088C01B99604650541B994800259A9046404490 +S2140088D002781F27BA43229F174307705B0102885E +S2140088E0144F3A4013430380219AD2001B0A0727ED +S2140088F03B40134343704B1C1B9302239846C244D1 +S21400890000227FE7059B01330593209D00237FE728 +S214008910C5AB00008489010070890100057B010059 +S214008920C10E0100B143000009F70000C1A6000017 +S214008930748901001FF8FFFF059A93469846309BFE +S214008940002B33D1319B1B998C4663442E9A9A4256 +S21400895049D93AAAD3880133D3802A91329B43441B +S214008960DA10934407221A409046339B9C46E24412 +S214008970299B013329932F9A934249DA209D434637 +S214008980DD402B9C199A94420DDA2A9B1B930022F9 +S214008990FF239C4639AB179308239B1B1A935B4611 +S2140089A00593434639E72A9B1B93C8E72A9B249ADC +S2140089B0944663441C003AAA0023D15E9388013390 +S2140089C05B1A1BB20620125E2000B14DA847002895 +S2140089D0B8D13AAB998801311B88C91A09B2200070 +S2140089E0AC4B9847AEE73AAC139B02931C9B0193A3 +S2140089F002230093249B259A21000E98A64DA84793 +S214008A00E38801331BB26380E38000232A93A5E743 +S214008A10359B9B46369B9A46349C379F3AAA06213E +S214008A20535E0221525E9A420DD03AA9013BCB809A +S214008A30139B02931C9B019302230093249B259A6D +S214008A400E98954DA8472498944DA8472598A84772 +S214008A50089B002B05DDBB891B190A9A94466344C4 +S214008A601CB254990B9B5A469B1A8B4200D873E251 +S214008A708B4B069A9A4200D123E500259A4505D0ED +S214008A8059440D984B461B68984785B2854E54A9A5 +S214008A900C9B9846180033689847059042465499B0 +S214008AA08C4662441000336800219847FB7DDA0745 +S214008AB007D5059B232B00D105E5099B012B00D18B +S214008AC017E53E88099B022B00D167E50200059951 +S214008AD00798754B98470A900890714B06999942EB +S214008AE006D09A4504D0A94202D8AA4500D96FE517 +S214008AF00F9B042BACD907980028A9D07B7E139334 +S214008B000023059A3CA9694DA8470028A0D03CAB95 +S214008B109A88002A02D15B88002B99D03CAB0620AD +S214008B20195E8846A0445B8843440E980025415F42 +S214008B308B428DDB01000423CB5E984588DC0799C9 +S214008B4008254B5F0A25495F5B1A11998C466344DA +S214008B509B1A3CA90825495F5B1A1D0017939C4683 +S214008B606244010002200B5E9A4200DA70E7062299 +S214008B708B5E9D4200DD6BE7059907984C4B984746 +S214008B80051E00D164E7079B1B7B9B0720D043464E +S214008B901BB205936B465C229B1800229B5E1593C6 +S214008BA06B4690229B181E803CAB9B7A1E00032BC4 +S214008BB000D10EE6022B00D12BE500D91DE5012BD6 +S214008BC000D045E70126802320933A4B239324E5E3 +S214008BD043461BB29C466B465C229B1800229B5E5B +S214008BE021936B46A0229B181E803CAB9B7A209359 +S214008BF0032B33D0022B19D00AD8012B00D027E73D +S214008C000123209302217F3315932A4B279312E0EA +S214008C10042B25D0082B00D01AE7082320938021A8 +S214008C204900F7331593244B279304E00421C0230F +S214008C301593224B27931C9AF92A57D8204B1B785A +S214008C40934213D00022002945D01C9E1D485B4647 +S214008C501993A34634000596279E12E0042320931A +S214008C601021F0231593184B2793E4E7174B1B6846 +S214008C70209A9A42E6D12EE0059B135401328A428E +S214008C8026D0B35CFF2BF7D063431B0AF5E7C0463C +S214008C9025A600004D10010051690000D50B01000B +S214008CA0FFFF00005800002069E7000061E70000B1 +S214008CB059E700006C890100848901007089010071 +S214008CC0B42B0020B02A002074890100B02B0020AD +S214008CD05C46199B9B46D74B6A4670215218127801 +S214008CE01A70D54B209A1A60D44B27933CAB5A88FF +S214008CF005929988209850430E9B00229B5E002286 +S214008D0019929C4502DA62469B1A19930E9B04221E +S214008D109B5E059E320062441B969A4203DD6246C5 +S214008D209B1A01331B930E9B02229B5E00221A9213 +S214008D30219E9E4201DA9B1B1A930E9B06229A5E88 +S214008D40219E8B192291934202DD921B531C229383 +S214008D50199B26931A9A5043209A5A438018C6089D +S214008D60AE1907250540059B4B431A002393F023B5 +S214008D705B009A4200DD23932398B14B98472190DD +S214008D8043466A469021521813806B4690229B18E1 +S214008D9019883AAB199A8A181A804A1E1B998C466B +S214008DA062449A80179802001A988446624412B267 +S214008DB05A80DA80A34B984724900823209A9B1A5F +S214008DC09846059B19998C4663441B995B1A1100BB +S214008DD05A4325921A98229B984200DB9DE0002376 +S214008DE017935B46299353462A93279B9A462794C4 +S214008DF04346209388462B9739E00023137012E0F1 +S214008E000136159900250132059B934210D0337820 +S214008E100B40601BC340D8B20028EED05846034033 +S214008E205046C35C1370AC42EAD9ED19F940EAE744 +S214008E30B84620946746249B002B33D11B9B199A77 +S214008E409B1ADB19239A9A4249D93AAAD388013346 +S214008E50D3801797259B9C466544EB08F618072396 +S214008E601D401A9B01331A93229A93424FDA1599A2 +S214008E70E940199B1A001B98824211DA219F3A009A +S214008E80179CA4466244030026981B1A9C443B0089 +S214008E9063441800FF239B4605904746209CB6E790 +S214008EA0179FC8E7179B219A944663449B463AAAA5 +S214008EB00023D15E938801335B1A1BB20620125E34 +S214008EC05846614CA0470028B8D13AAB9988013182 +S214008ED01B88C91A09B258465C4B9847AEE73AAFAA +S214008EE0139B0293FF230193FD3B0093219B6A464D +S214008EF0A0215218128839000E98554CA047FB88BE +S214008F0001331BB27B80FB8000231793A2E7299BCB +S214008F109B462A9B9A46279C2B9F3AAA0621535E7D +S214008F200221525E9A4210D03AA9013BCB80139B95 +S214008F300293FF230193FD3B0093219B6A46A020EA +S214008F40121812880E98424DA8472198414B984710 +S214008F507EE50023099384E5D046A2463E003B7E8C +S214008F609B0747D4337EDB0700D57BE00D9B1F00B5 +S214008F700B9DAC4667440C23F25EF37D0093129B78 +S214008F8007993800344CA0474419109B00255D5FB4 +S214008F90F27D530700D584E0130700D596E0119BB9 +S214008FA018998C466344149A624492B214920B9AAF +S214008FB093461BB21A0011930E9B06215B5E9342EA +S214008FC001DAFFF73BF90B940D9B5B440C931B787F +S214008FD0002B01D1FFF732F91E9B9C4665442BB24D +S214008FE09A460023549309931C4B99465446C2460E +S214008FF0370036E53AA86B467C229B181B88038010 +S2140090007B6808229B5EDA0FD218521055AB0221FD +S2140090105C5EE10F09194910521814998C46624497 +S21400902012B242803CA954460C804A800E9A0C4CE0 +S214009030A04797E7B42B0020B02B0020B02A0020D2 +S214009040C10E0100C1A6000025A600004D100100BB +S2140090506D5C0000D50B0100C9170100540000200C +S214009060319100003AA86B467C229B181B8803802F +S214009070716855AB02229C5EE20F12195210013243 +S2140090800C8912194989521A14998C46624412B2F4 +S21400909042803CA954460C804A800E9A164CA04743 +S2140090A064E70C21735E0092079A01003800134FA4 +S2140090B0B847109A9388013312889B1A1BB2181A65 +S2140090C0C30F1818401045192DB268E70C21735EBF +S2140090D00092079A01003800084FB847109A938804 +S2140090E0013312889B1A1BB2181A45192DB256E77F +S2140090F000230993FFF7FBF931910000411A0100A4 +S21400910010B504000A21084B984701236380FE33FC +S214009110237223781F22934323702388034A134025 +S21400912023800023637010BD4D1001001FF8FFFF61 +S214009130F0B5DE4657464E464546E0B5CBB0059000 +S2140091400E00069107921C0002229B5E002B01D1A6 +S21400915000F046FC227A052A01D800F041FC020005 +S2140091600020115E0025705F814200D12BE1DA0FEE +S214009170D3185B109BB20A1C814200DD021CD21A77 +S21400918048AD2A800A1C814200DA021C9A1848A9B7 +S2140091908A80069A0221525E05990220085E111CFA +S2140091A0824200DD011CC91A48AD6980111C82424A +S2140091B000DA011C5B1848AAD380079A48A9080061 +S2140091C0D54B9847002801D100F00AFC059B0226E3 +S2140091D09E5F069B02255D5FAE4200D1FCE0059BCC +S2140091E000229A5E11000892069B00229B5E9A4619 +S2140091F0514500D106E2AE4206DB33002E001D00CC +S214009200089B524608929A465346089A9B1A099318 +S214009210AA1B0A92D9175B184B409946D1175318C8 +S2140092204B409B460222A35E9846D94500DCD0E21E +S2140092305B4658014946B94B9847B94B1B5C4246BA +S2140092405A4313003F22904698444346DB111F00C2 +S2140092509BB252460898824500DD021CD21A0EA91F +S2140092600A8052460898824500DA021C9A180EA90F +S2140092708A802A1CB54200DD321CD21A0EA94A800A +S2140092802A1CB54200DA321C9B180EAAD38048AAC4 +S2140092900EA90800A04B9847002800D19CE343463F +S2140092A01B12984601233B4043440B93D94500DCF0 +S2140092B0BAE2099A002A00DC91E2B2B241466B4655 +S2140092C019868BB2A9B29346D21A12B20020019028 +S2140092D08946CB1A1BB200935346089912A8914FA1 +S2140092E0B8476B469B8D5A46D21812B2012101919F +S2140092F04B441BB20093534608991DA8B84700215B +S21400930012A8894B984698470B9000211DA8C04785 +S2140093100C90637ADB0600D4ACE201235B420D932B +S2140093200A93824B9847824B98478146028A0EA83A +S2140093300588AD1AABB203804946498A45886D1A3E +S21400934045808588AD1AADB28580C288521AC28023 +S2140093500135ED1A2DB2774B9847E023FF3398423C +S21400936000D8B3E2F0235B009B465846724B984702 +S21400937080464B461B8A0EAF3A889A1812B21100E6 +S214009380099210AA1180B9885B1893807B88494699 +S214009390498A5B181BB25380D3805946674B98475F +S2140093A04B4612229A5E0223FE5EB61806217B5EAC +S2140093B09B189E4200DDECE20027614B9A46230094 +S2140093C044469846D0E20225555F32000226925F58 +S2140093D0954200D0CBE603E3237A9846534B984752 +S2140093E0534B984781460222A35E013B5E1001253F +S2140093F01D40AD190623E25E0023002A04D0042295 +S214009400A35E5A1E9341DBB21F0009934D4B98474B +S2140094100021002801D101317940069B00229B5E85 +S214009420059A0020105E1A1C834200DD021C28AF3D +S2140094303A801A1C834200DA021C013A28AB9A8052 +S214009440059B5B8828AA5D1B55809E19D68000293F +S2140094500ED02288637A9B079B0F029343460193A4 +S21400946001230093002328A948A8374DA847B3E254 +S21400947028AA48A91000284B9847002800D1ABE23C +S21400948028AA0023D75E4B4610215B5E9B466946A2 +S2140094900B840B8CF91A89B2884609B28A46118069 +S2140094A00220115E4D466D8AAC464D1B5580042049 +S2140094B0165EF31A9BB29380D58860462D1AD58027 +S2140094C0013342469B1A1BB20B9333AB1F809E8020 +S2140094D05980D9800021099B002B08D0504658445B +S2140094E00623E15E0422A35EC918184B98470BB208 +S2140094F00C930B980700104B9847089028AB022255 +S2140095009E5E06229B5EB34200DA77E00B4B9B46DC +S2140095100B4B9A460A9750E00FFC0000057B0100B3 +S214009520848A0100E5A60000EDA50000B143000016 +S21400953009F70000F3FB0000C10E0100F110010066 +S21400954025A60000C1A600006D5C0000D17C0100CD +S2140095500626A55FED180B00AA4202DA089B1954EE +S2140095601300013001331AB2874207D90425635F1E +S2140095709342EDDB9A1A12B28018F2E70A97664613 +S2140095800220228833AD637A9B079B0F0293237ACF +S21400959001930090089B290048A8D14FB8476B88D4 +S2140095A001336B80EB880133EB8001360AAB7E22F9 +S2140095B09B1800229B5E9E4220DC0A9F3900089D75 +S2140095C02800D8474B465A8A921912B2198A0AAB13 +S2140095D078201B181B88C91809B20B9B2800D04797 +S2140095E0099B002BCDD00028CBD0002F04D00C9A9E +S2140095F000200021B446B9E70220C2E70898B94B1C +S2140096009847E9E1237A9846B74B9847B74B98476F +S21400961007000222A35E013B5E1001251D40AD1926 +S2140096200623E25E0023002A04D00422A35E5A1E0C +S2140096309341DBB299460A93AD4B98470021002828 +S21400964002D101314B4659400598028828AB551B7C +S2140096501D8096199E80069A0225525F0225455F58 +S214009660101CAA4200DD281C5880131CAA4200DAEF +S2140096702B1C013B28AAD38000290ED02288637AAF +S2140096809B079B0F029343460193012300930023FD +S21400969028A948A8924DA8479EE128AA48A91000E4 +S2140096A0944B9847002800D196E128AA0021535EE3 +S2140096B09C463B8A6146C91A89B211800225505FD2 +S2140096C07D8AA846451B55800425565FF31A9BB233 +S2140096D099469380D5884346ED1AD5804B4601338C +S2140096E0591A0BB21A000B9333AB614619809E8051 +S2140096F05880D8800C9210007F4B98470890002125 +S2140097000A9B002B0CD01023F85E28AB00229B5E31 +S214009710C0180623E15E0422A35EC918774B98475B +S2140097200BB2994628AB02229E5E06229B5E9E42A4 +S2140097304BDC734B9B46734B9A46B8464B46099395 +S2140097401DE0099F01373BB20993228833AD002301 +S2140097500293237A01930090089B290048A8604F43 +S214009760B8476B8801336B80EB880133EB8001369A +S2140097700AAB7E229B1800229B5E9E4225DC0C993B +S214009780089D2800D84743465A8A921912B2198A69 +S2140097900AAB78201B181B88C91809B20B9B280037 +S2140097A0D0470A9B002BD0D00028CAD00423E25E04 +S2140097B0099B9A4200DA00200621635E9B18099AEC +S2140097C09A42BEDB00230993BBE70898454B9847AF +S2140097D002E14B46580159464B4B98472DE5B2B22D +S2140097E06B469B8DA9B29346D21812B20020019008 +S2140097F00B918C4663441BB200935346089912A8FB +S214009800424FB84743466A461386138E5A46D21AC4 +S21400981012B2012101910B99CB1A1BB20093534649 +S21400982008991DA8B8476AE56B461A8C998D534669 +S21400983068468385838D9B46CB181BB20B92944655 +S214009840614409B2002201920095320012A82F4FFF +S214009850B84743466A461386128E5B469B1A1BB26F +S2140098600B998A1A11B201220192009532001DA8A6 +S214009870B84744E56B461B8D99466B469B8C9846CD +S2140098804B460899CB1A1BB2032201924246921904 +S21400989012B20092320028A81C4EB04753464A46E1 +S2140098A09B1A1BB2022201924246521912B2009231 +S2140098B02A00514633A8B047002128A8144DA847CF +S2140098C00A90002133A8A8470D902AE50EA8114B50 +S2140098D09847834649E5290008980F4B98474CE07F +S2140098E06D5C0000D50B0100B143000009F70000D5 +S2140098F0C1A600000FFC0000C10E0100D17C0100D3 +S214009900F110010025A60000057B0100E5A6000079 +S214009910EDA50000F3FB00004D10010043461A8839 +S2140099205B7A9B079B0F029343461B7A01930223A5 +S2140099300093230048A910A84D4FB8470AABDB8B0D +S21400994001331BB20AAA5383D38359462000494BDE +S2140099509847002701360EAB06229B5E4A46122128 +S214009960525E9B189E4211DCE3191800089332B22F +S2140099702B000999D0470028ADD07F19EB199B45DD +S214009980CCD910AAD3880133D380E3E74346A04658 +S2140099901C0010AA0621535E0221525E9A420FD086 +S2140099A010A8013BC3802288637A9B079B0F029313 +S2140099B0237A019302230093434648A92C4DA847D7 +S2140099C040462D4B98470B982C4DA8470C98A84717 +S2140099D00A98A8470D98A847637A0C221A4206D11F +S2140099E04BB03CBC90469946A246AB46F0BD33AD64 +S2140099F02800234B984723886B80224B2B80237AA2 +S214009A002B730222A35E5E100122534001251D40E7 +S214009A10637A5B0717D4637A1B07E1D506990A8831 +S214009A20B6B228A8931B038049888B1B4380ADB22F +S214009A309219521B82807618761BC68033AA079925 +S214009A40114B9847CCE7059F3A88B3B228A8D11A9D +S214009A5001807F88F91A4180A9B2D218521A8280F2 +S214009A60DB195B1AC38033AA0799074B9847D2E7DE +S214009A706D5C0000F1100100D50B010079A6000016 +S214009A8021AB0000FF7F0000C5AB0000F8B5DE4646 +S214009A9057464E464546E0B50A9CA58A521B12B26A +S214009AA0658A4D1B2DB2216A002940D12831615CA0 +S214009AB0C90711D5217C03230B40012B00D8C5E133 +S214009AC0022B06D00024032B45D1D417A41AE40F8A +S214009AD041E00132D40F3EE0217C03220A40911E71 +S214009AE0012900D8B4E1012A0FD0002A10D1E918C4 +S214009AF000D5AFE16D42002D00DAADE10224AB42A5 +S214009B0029DD4019BD4B984725E00124002D22DCB5 +S214009B101A00DD4200D5A1E16942CB43DB171940AC +S214009B2000248A4217DDB54B9847023413E02821FB +S214009B30615C8B46C90715D4A76911007943891261 +S214009B408C46F917C91BC90F61448D4200DC96E0AC +S214009B505B469C07E40F20003CBC90469946A24614 +S214009B60AB46F8BDE1692F004F43BF12002906DD62 +S214009B70974200DC76E15B469C07E40FEBE79742F2 +S214009B8000DBABE15B469C07E40FE4E75B465E0860 +S214009B900124664001243440DDE75B465E0801246C +S214009BA0664001243440D6E7002190E100214B4670 +S214009BB0C154636AD21A0135BD4243DA636A9A42D7 +S214009BC01ADD002DF5DBBD42F3DA5B10D31ADBB2EB +S214009BD04146615C0E4201D0DB43DBB2A946415DE3 +S214009BE0F92BE4D8052BE1D94B431902C918C90152 +S214009BF0CB18DB0DD9B2DAE7BD4223DA002D21DB24 +S214009C00A36953439B1253435B12DBB2E269002AFB +S214009C1013DB2822A25C920701D5DB43DBB2461990 +S214009C203278F92B0DD8052B0AD953431A02D218CD +S214009C30D201D318DB0DDAB203E0DB43DBB2E8E790 +S214009C40002232702823E35C9B070CD5002467456E +S214009C5000DA80E702346346002B00DA7BE76146D1 +S214009C60664B984777E7013500D5F9E00224BD42F8 +S214009C7000DD70E7791B4019604B98476BE7984604 +S214009C80E9188C4506DD5B465C0801266640012423 +S214009C90344060E7110279438E14B4468903090EF6 +S214009CA0013212027A439614B2466646761BB146D5 +S214009CB0D4455CD0002F52DBFF22511AE5694D4394 +S214009CC0AD12002E19DBC84517DD69434912CAB22A +S214009CD05946890701D4D243D2B24946461831784C +S214009CE0F92A09D8052A00D899E04A4311028918AA +S214009CF0C9018A18D20DD1B231704A46511C1DD402 +S214009D0088451BDDFF22551BA2696A439212554304 +S214009D106D12EAB22825655DAD0701D5D243D2B2F1 +S214009D2041180D78F92A08D8052A7AD96A43150207 +S214009D30AD18ED01AA18D20DD5B20D702822A25C7E +S214009D40920770D50024C84500DA04E702344B4673 +S214009D50002B00DAFFE64946284B9847FBE6002929 +S214009D6000D0CCE001398C46E1440131FF314E464B +S214009D70002E1BDBC84519DD9203120E521852083E +S214009D805946890701D5D243D2B24946461831789A +S214009D90F92A0AD8052A07D94A4311028918C9019F +S214009DA08A18D20DD1B200E0002131702822A25CC0 +S214009DB092070CD55346591B0024884500DCCAE69A +S214009DC00234002900DAC6E60C4B9847C3E649463B +S214009DD001311A00884500DD0A000024002A00D15F +S214009DE0B9E60234002A00DCB5E6991A8018034B5F +S214009DF09847B0E60025A1E00025C2E04D1001001E +S214009E004A4601320124904500DAA4E60134002ACD +S214009E1000DAA0E6991A8018624B98479BE6002164 +S214009E206AE7002589E7494602311A00884500DDC1 +S214009E300A000024002A00D18DE60234002A00DC45 +S214009E4089E6991A8018574B984784E6012482E6DB +S214009E50012480E601247EE600247CE600247AE6DF +S214009E60002478E61F00EB18594389128A4200DD69 +S214009E708CE61202A3695A4392121112FF231A406B +S214009E8039D09C469B1A9846636A424653431B1237 +S214009E906246D21A491B8C461AD4B94218DA414691 +S214009EA04B435B12DBB25946890701D4DB43DBB276 +S214009EB0614645182978F92B09D8052B00D873E692 +S214009EC04B431902C918C901CB18DB0DD9B229704A +S214009ED063465D1C2823984602266FE61F005B1922 +S214009EE059438912914200DD57E601321202A369F6 +S214009EF05A439212C1E74D1BAC46FF22EAE7E269DD +S214009F0052424A439212002E19DBC84517DD5143D0 +S214009F104912C9B25D46AD0701D5C943C9B24D461F +S214009F2046193578F92909D8052900D862E7694322 +S214009F300D026D18ED016918C90DCDB23570494690 +S214009F4001391FD488451DDDFF25AA1AA5696D4273 +S214009F505543AD126A435212D2B22825655DAD074D +S214009F6001D4D243D2B246183578F92A09D8052A40 +S214009F7000D841E76A431502AD18ED01AA18D20DC4 +S214009F80D5B235702822A25C920700D438E70224A6 +S214009F90884500DADFE5002900DCDCE5014B984760 +S214009FA0D9E5C0464D100100F0B5DE4657464E4690 +S214009FB04546E0B58DB0019089460093169DAC7C71 +S214009FC0E407E40F1023EE5E2F00083700230AA8EC +S214009FD0F95C19540133082BFAD1002C45D10AAB91 +S214009FE002215B5E002093424ADC0AAB06215B5EE0 +S214009FF0934245DBB4460AAB00201B5E9A46F31834 +S21400A000994508DB009B4B4418000AAB04215B5EB5 +S21400A0109B1B98420BDD0AA80227C05F8719BA422D +S21400A02062DB0AAF06217F5EBF1BBA425CDC002CF7 +S21400A0303CD153464A469C1A009D0020AC421FDC89 +S21400A040002C03DB21000198A24B98470AAB0420A2 +S21400A050185E4B46C01A0130002800DC0BE2854231 +S21400A06015DC002C1ED002200AE00AAB02215B5E43 +S21400A0700120934204DC0AAB06215B5E9342B9DA08 +S21400A0800DB03CBC90469946A246AB46F0BD009B40 +S21400A090191A019B9C4660448E4B9847002CE2D1CF +S21400A0A00220EDE78542DED10120E9E753464A4625 +S21400A0B09B1ADA43D2171340009A02209342DFDC41 +S21400A0C00AA90420095E4846091AC91A0131581817 +S21400A0D0824200DAD11A02200029D1DB019AD01878 +S21400A0E07C4B98470220CBE70AAB04215F5E80B228 +S21400A0F0DB8801331B1A1BB2121A300070438046ED +S21400A10012B2944500DDE0E1981B0138824200DD82 +S21400A110B3E10220B4E76B8B06AA53802B8B138027 +S21400A120E9E1802109010291AFE107AB6A8B5A8011 +S21400A1302A8B1A80B8E107A94988002900D0F5E1E2 +S21400A14007A9013A0A80FF224A80EFE106A949885A +S21400A15007AD6D8849194910CFB2002C01D0FF43D6 +S21400A160FFB2F31A013BC11812D4009DA9420FDAC0 +S21400A170019D6E183578F92F09D8052F36D97D43FD +S21400A180AC462D026544ED016544ED0DEDB235702B +S21400A190D21A013A151811D4009B9D420EDA019B83 +S21400A1A05A191378F92F08D8052F21D95F433B0297 +S21400A1B0DB19DB01DF19FF0DFBB21370002C19D081 +S21400A1C0481CC343DB171840009A1300111A954227 +S21400A1D000DC291A984200DB2DE1002900DA2AE18A +S21400A1E0019B9C4660443B4B984724E10025CEE704 +S21400A1F00023E2E7009CA14200DD3AE1002902DBF1 +S21400A2000198344B9847681C00D532E1A04200DD27 +S21400A21011E1009B191A019B9C4660442D4B984700 +S21400A22009E109AD059B180058434346181A029ADF +S21400A2302900294B98476A8806AB5988FF23591A84 +S21400A2409B1A4B435B12DBB2002C01D1DB43DBB223 +S21400A250039D002D14DB0098854211DA0199080051 +S21400A260AC4660440178F92B09D8052B2BD9594305 +S21400A2700D0009024919C9014919C90DC9B2017071 +S21400A280049D002D13DB0098854210DA0199080022 +S21400A290AC4660440178F92B08D8052B15D94B43FA +S21400A2A01902C918C901C918C90DC9B20170039BA2 +S21400A2B0013B0393049B0133049308AB5A80059B30 +S21400A2C00133059376E10021D9E70021EEE700226D +S21400A2D03FE0C0464D100100A90901000022019888 +S21400A2E04254013C01229446E24401372E005F4569 +S21400A2F046D83509029B9C46654438007843434659 +S21400A300181A00022B006B43C01A6900B44B98471A +S21400A31045192B119BB22D01FF2215407619761098 +S21400A320F6B24A46002A01D0F643F6B2002C12DBFB +S21400A330009AA2420FDD2000019A125DF92E08D87D +S21400A340052EC4D9724311028918C9018A18D20D84 +S21400A350D2B201990A545246002AC2DB009A5245EC +S21400A360BFDD5146019A525CF92EB8D8052EB5D9F4 +S21400A370564332029219D2019619F60DF2B2AEE7A2 +S21400A3804C465A46D243059EB446624403998C46D0 +S21400A3909444624603925A46501C049A944660447B +S21400A3A0821B049208AA558009AA1380558008AB20 +S21400A3B05B88002B3DD007AA528853435B12DBB262 +S21400A3C0002C01D0DB43DBB2039A002A14DB009991 +S21400A3D00800904210DD01999446614408000A780E +S21400A3E0F92B08D8052B28D95A4311028918C90118 +S21400A3F08A18D20DD2B20270049A002A13DB009992 +S21400A400080090420FDD0199944661440A78F92BC2 +S21400A41008D8052B13D953431A02D218D201D318E1 +S21400A420DB0DDAB20A70039B013B0393049B0133F6 +S21400A4300493002C05D0022022E60022DBE700224F +S21400A440F0E703990131009CA14212DC002902DBEF +S21400A4500198644B9847049B002B0ADBA342EADA78 +S21400A460009AD11A019A9C46624410005D4B9847A8 +S21400A470E1E7002004E6002002E680204000844554 +S21400A48000DC4EE68021090202919A1AB01A431C9B +S21400A4909B466B69984200D147E640434346181AEC +S21400A4A0029A07A9504B9847584640434346181A05 +S21400A4B0029A06A94C4B98475B466B6106AB5B88D5 +S21400A4C06B8306AB1B882B8328E080235B009C45B0 +S21400A4D000DD81E080231B010293B31A9B466B6963 +S21400A4E09B4500D117E6584640434346181A029A41 +S21400A4F006A93D4B98475B46013B1800039358431B +S21400A5004246101A029A07A9374B9847039B6B617D +S21400A51006ABDB886B8306AB9B882B8306AB1B885E +S21400A52007AA1288511E8B4200D104E652464946BD +S21400A530501A0137BA1A12B207A90988994200D1EF +S21400A54004E60133F61A831919000393961B013E9D +S21400A55033181D000493002C12D0481CC343DB178D +S21400A5601840009E3300311AB54200DC291A984282 +S21400A57006DA002904DB019B9C466044194B984789 +S21400A58006AB1888431C059308AD40434346181A8B +S21400A590029A2900144B98476B88002B05D108AB0C +S21400A5A01A88013A1A80FF225A8008AB1B889B45FE +S21400A5B000DC36E607AB1B889B46059F5F4500D947 +S21400A5C0F5E608AB1A88120102925E88049B9A464A +S21400A5D0039BA1461C008CE680231B0202937CE7AB +S21400A5E0057B01004D100100A909010010B50C4BB8 +S21400A5F01B68002B0CD00A4A01239468002C08D054 +S21400A6000133DBB20832102BF7D10120404206E0BE +S21400A6100023034ADC00A0501219516018B210BD86 +S21400A620984D0020F0B587B00390049116001F00E7 +S21400A630104B1B68002B1BD00E4C0022059203E02B +S21400A64008342368002B0DD000931D683B003200B1 +S21400A65004990398A847002808D00228F0D10123BF +S21400A6600593EDE70598431E9841013007B0F0BD0D +S21400A6700120FBE7984D0020431C07D0044AC30086 +S21400A680985800219950D318596070470020FCE76D +S21400A690984D002030B50100084B1A00803200208B +S21400A6A0002402E00833934206D05D688D42F9D15B +S21400A6B018681C605C60F5E730BDC046984D002009 +S21400A6C0074B1A008032002002E00833934205D080 +S21400A6D019680029F9D00130C0B2F6E77047C046C5 +S21400A6E0984D0020F8B5CE46474680B504000F00CA +S21400A6F01500984608AB00269E5F09AB1B78994666 +S21400A7002C21514B9847B54205DD2B0035001E0025 +S21400A7103B0047469846278165814346A381E681EC +S21400A72003234A461340227C03218A431A43227499 +S21400A7306782A5824346DF1B761BFB17FA185A4032 +S21400A740F11773184B4001259A4200DC002528219A +S21400A75001222B001340655C012085431D43655490 +S21400A7600023E361A3613949216023712A4227D07F +S21400A770002F07D0390080204003354B98477043A0 +S21400A7808012E061002E07D0310080204003304B5D +S21400A79098474743BF12A761E3692362227C0323DD +S21400A7A0134024D12822A35C02218B43A354236A9E +S21400A7B09A10002B45DB62620CBC90469946F8BDA9 +S21400A7C0002E07D0310080204003214B9847784365 +S21400A7D08012A061002F07D03900802040031C4B58 +S21400A7E0984770438012E061A3692362D6E7012B85 +S21400A7F00CD0022B10D0032BD9D1236A002B1ADDE4 +S21400A8002822A35C02218B43A354D0E72822A35C12 +S21400A81002210B43A354CAE7236A002B05DD282236 +S21400A820A35C02210B43A354C1E72822A35C0221A8 +S21400A8308B43A354BBE72822A35C02210B43A354FB +S21400A840B5E752426262B7E74D1001008D9A0000EC +S21400A850057B0100F0B5CC8801344D88641B8E88DA +S21400A86001360D88761B251C24B237B2BC4200DDAB +S21400A870351C2DB26D10AA4200DD2AB20E00083635 +S21400A880040008340D782570013401318E42F9D168 +S21400A890028201221A40837C01218B431343837476 +S21400A8A0054B03600223037180231B0643610023CC +S21400A8B043830383F0BDC046A99F0000F0B5DE4683 +S21400A8C057464E464546E0B591B00D9002910C9223 +S21400A8D04B101E000F9301230B405A425341F31AAC +S21400A8E01D000E93040047003800884B98470590DB +S21400A8F0231E00DCDBE0B91E0391013B06938C4669 +S21400A900604407901900491B0891290028000A9501 +S21400A9107F4BA44663445B1A5D000B9549000A0012 +S21400A9200996710088460C9B9946002300930225E1 +S21400A9306D422B1A01979B46CA46914624E09B1A05 +S21400A940002E10DB2A88D318023F023D013E5E45EA +S21400A9500CD03B80811900228C42F0DD4A46AA18B2 +S21400A96042445288EBE752461288ECE7019D2A00E3 +S21400A97005995046674B9847AC46E244009B013326 +S21400A9800093A34200DBAAE0029A0492534603997E +S21400A9905B5A5343069A002AE8DB0B9A524415008A +S21400A9A0089A561E079F099A501C0A9A94466044B5 +S21400A9B0CFE701360235A64207D268882B88834245 +S21400A9C0F7D00499C8476880F3E74446002C00DCBB +S21400A9D07BE00C9B03930E98421C13007B4308936A +S21400A9E00F9D6B427B439B460D994B005B425A433F +S21400A9F000920B00013B4B435B000293002306933F +S21400AA0003000122944663449A46B8465B46019387 +S21400AA10AB4637E000210FE04846008816E0414686 +S21400AA200298095ACB180132B944F6190234624525 +S21400AA3012DA002BEEDB9911218011005846101A0D +S21400AA400028E9DD01988019009D405B1B1A5144DF +S21400AA506145E4DA3188E5E74546B846079F64462F +S21400AA60002341463A882A8001336D180237A342F4 +S21400AA70F8DB8846069B01330693039A023203925C +S21400AA80A34222DA039A1500138804994B430899C7 +S21400AA900E0094466644059A17009446A94600227E +S21400AAA007974746210064468C46A846C1E7029BA6 +S21400AAB004930C9D28881900174B984728800D9AF8 +S21400AAC0130053439846012B17D80598134B984705 +S21400AAD011B03CBC90469946A246AB46F0BD019FDD +S21400AAE00C9D288804990C4B984728800D9A1300D3 +S21400AAF053439846012B00D86BE70C9D0126064B66 +S21400AB0099464346A0461C0057E7C046C10E0100C2 +S21400AB10FEFFFF7F8D0C0100057B0100D50B0100B9 +S21400AB2010B504005421234B9847234B1B886380A1 +S21400AB3023791F2293432371A188204B1940A180BB +S21400AB4000216171A17B9143A173E1891940E181E4 +S21400AB500021E1733420215C91432154A18E1940D9 +S21400AB60A18621003431002048704621605C904365 +S21400AB706054605A184060522100463100204870E8 +S21400AB80A17F9143A177E28B1340E3830023E37711 +S21400AB90FF3363812373237723753622A354084A31 +S21400ABA022634421635422642822A354F03B638228 +S21400ABB010BDC0464D100100A88A01001FF8FFFF17 +S21400ABC030000020F0B5DE4657464E464546E0B516 +S21400ABD0B1B0814604919346C4884588631C5B1BCC +S21400ABE01BB2002B01DC00F0CEFF86880788731CA2 +S21400ABF0DB1B1BB2002B01DC00F0C5FF130020227C +S21400AC009B5E9846002B01D100F0E1FE28235A46B1 +S21400AC10D35C0693052B01D800F0D9FE136A012BEE +S21400AC2000D1E2E05B46598CDA8C8B1AFF18BFB273 +S21400AC3014AB1F8089187618B6B29E805946898C48 +S21400AC40881A2D18ADB25D805218A418A4B2DC8004 +S21400AC504346DB0F43445910C94389B216AA7818F5 +S21400AC6010805B1001339BB2F018908069185180F9 +S21400AC70E318D380069BFA2B01D9FF2306939F4B3C +S21400AC8098479F4B98478246049A16A918A89D4B4A +S21400AC909847002801D100F09AFE53461B8A9C462E +S21400ACA018AB1A886146521A1A805246508A5A8839 +S21400ACB0121A5A8099886246891A9980DA88121A76 +S21400ACC0DA8000231AA94846C25C5A540133082B7E +S21400ACD0FAD181461AAB198801318AB294461A8095 +S21400ACE05888013082B205926A46928A5A809888BD +S21400ACF0421E9A80DA88511ED9805B4600215B5E30 +S21400AD006146411A09B20598101A00B20200814243 +S21400AD1000DA0A0052100F929A4200DD0F930136B5 +S21400AD20F61BB2B2924611B20134651BADB22AB21E +S21400AD301400914200DA0C0064109C4200DD1C00F6 +S21400AD40A044434609934046584340006E4B9847FC +S21400AD500E905B462027DF5F22B2B846D3190793D2 +S21400AD60002322A814A95E5C1E540133082BFAD1D6 +S21400AD70FB0FDB195B109BB2012139400E001091CE +S21400AD80591E70427041091A0C19A4B222A98C806F +S21400AD9001339BB24B805046241A0C80ED18CD80B0 +S21400ADA0002329A8594CA0474346012B01D102F0A5 +S21400ADB05BF97B100D93079C0C942000524B984730 +S21400ADC00A90002C61DD0C9B5B000B93079B504A9E +S21400ADD0944663445B000E9A9246002290464D4F7E +S21400ADE052460892CA4699461CE05B4624229B5E61 +S21400ADF0002B00D016E75B4626229B5E002B00DD6C +S21400AE0010E700F0E4FD0B990898434B9847089B21 +S21400AE100B9A94466344089301239C46E044079BA0 +S21400AE20434531DD0C990A9C20003C4B98476B4605 +S21400AE301C229B5E424612B229A9009100212000E6 +S21400AE40299CA0470028DED00D9B05930A9D2878F4 +S21400AE50800119002F4B9847089B1880079A012AF3 +S21400AE60D5DD1C004B441E0005E0238863800135B9 +S21400AE700234A642CBD068782B788342F5D0800186 +S21400AE800599B8476080F2E7D1460A98244B984760 +S21400AE900D9B012B01D102F0F6F86B461C229B5E3F +S21400AEA008930E9C22000D9D290018001D4B984704 +S21400AEB0109BAC4663441FB2012F3ADD05972088ED +S21400AEC080013900134B984720800C9D6D43012D5F +S21400AED02AD90F4A944665446D00A44665440D4E33 +S21400AEE002E00234A5421FD0608823888342F8D04F +S21400AEF080010599B0476080F3E7C046B143000083 +S21400AF0009F700000FFC0000C10E010055A8000064 +S21400AF10FFFFFF7F057B01004D100100F1100100CF +S21400AF20D50B0100BDA800000E9A39000898B54B55 +S21400AF309847079F7F43002F0AD00E9A1300780089 +S21400AF409446604419881170023301328342F9D165 +S21400AF5016A94A88CB8801339B1A1BB2D80FC31890 +S21400AF605B10D3189BB210931BB20C930A888B8885 +S21400AF7001339B1A1BB2D90FCB185B10D3189BB2A8 +S21400AF8011931BB20D93A04B9847002308930028FB +S21400AF9010D15B4622229B5E002B0BD15B462422FF +S21400AFA09B5E002B06D15B4626229A5E5342534197 +S21400AFB0DBB2089316ACA08801302388C01A00B212 +S21400AFC0924B984705906B463C229A5E01231AA93D +S21400AFD029A88F4DA847002129A88E4B98470F9087 +S21400AFE00422A35E1CA98B806A46928C0A920133C7 +S21400AFF09B1A0B800220235E4B80013B94466344E1 +S21400B000CB80049A1EA8844B9847002871D01EABAC +S21400B01006229B5E0C998B4201DD1EABD9801EABCF +S21400B02000229B5E0D9A934203DC119B01331EAAFD +S21400B03013801EAB00215A5E9B8801339B1A1BB2FD +S21400B0400B93002B55DD1EAB06215C5E02269E5F31 +S21400B0501CAB02215D5E751B09994D4300215B5EAA +S21400B060D21AAD180E9B9C466544002322A81EA942 +S21400B0705A5C1A540133082BFAD122AB5A88DA806C +S21400B0800134A61B36B2002E33DD731C984601260B +S21400B09022AC624B9A4607955F4619E0FA8B292345 +S21400B0A0FB5C0293069B01930090059B210004988D +S21400B0B05B4DA847638801336380E3880133E380F0 +S21400B0C0099B9C46079B634407930136B0450FD007 +S21400B0D00B9A07990598534B98470221625E002504 +S21400B0E0615F0B9B0598D0470128D7D10130D5E783 +S21400B0F0BB4616AA0421535E1CA98B8001330A980E +S21400B1001B1A0B800623D25E531C1B1A4B80CA8068 +S21400B110049A1EA8404B9847002800D185E01EAB35 +S21400B12002229B5E0C9A934203DC109B01331EAAFC +S21400B13053801EAB00229B5E0D9A934203DC119B4C +S21400B14001331EAA13801EAB00215A5E9B88013372 +S21400B1509B1A1BB20B93002B67DD1EAB06215C5EB1 +S21400B16002269E5F1CAB06215D5E2D1B09994D4392 +S21400B17000215B5ED21AAD180E9B9C4665440023E8 +S21400B18022A81EA95A5C1A540133082BFAD122AB06 +S21400B190DA885A800134A61B36B2002E45DD731CB1 +S21400B1A09846012622AC1D4B9A4607955F4619E045 +S21400B1B0FA8B2923FB5C0293069B01930090059B68 +S21400B1C021000498164DA8476388013B6380E388F6 +S21400B1D0013BE380099B9C46079B6344079301362B +S21400B1E0464521D00B9A079905980E4B98470221A1 +S21400B1F0625E0025615F0B9B0598D0470128D7D17A +S21400B2000130D5E7BDA80000C1A60000C10E0100B0 +S21400B21055A80000EDA500000FFC000025A60000C4 +S21400B2206D5C00008D0C0100BB4616AA0421535E1F +S21400B2301CA98B8001330A981B1A0B8053888446FE +S21400B24063444B80D3881B1ACB80049A1EA8D14B2C +S21400B250984700286CD0089B002B0AD01EAA10889E +S21400B2604B469B88191C1BB204B2A34200DA011C91 +S21400B27011801EAB00215A5E9B8801339B1A1BB2BD +S21400B2800793002B54DD1EABDF8801375B88FF1A5F +S21400B2903FB209990B00013B4B431CA90020095EF5 +S21400B2A0521A9A1813000E998C4663440B93002387 +S21400B2B022A81EA95A5C1A540133082BFAD122ABD5 +S21400B2C05A88DA80002F33DD0025B34B984622AC2F +S21400B2D0089B9A465E46BB4615E0F28B2923F35C34 +S21400B2E002932823F35C01930090059B21000498A9 +S21400B2F0AA4FB847638801336380E3880133E3804D +S21400B30001355D4513DA079A0B990598C047022068 +S21400B3105346002BE1D10223E25E0023E15E079B49 +S21400B32005989F4FB8470128D7D10130D5E7B346D7 +S21400B330099B002B1FDDDF0F9C4667447F100E9D88 +S21400B34000265A1E9446B8461F000BE0197810785F +S21400B350187011700133013A9C42F7D1ED1901368D +S21400B360B74208D04346002BF8D02B006246AA18F6 +S21400B37041466C18EAE716AA0021535E1CA90B800A +S21400B380013B0A9CA44663448B800223D35E4B8019 +S21400B390013B6344CB80049A1EA87E4B9847002846 +S21400B3A06FD01EAB06229B5E0C998B4201DD1EAB56 +S21400B3B0D9801EAB04229B5E0D998B4201DD1EAB2D +S21400B3C099801EAB00215A5E9B8801339B1A1BB2E4 +S21400B3D00B93002B55DD1EAB06215C5E02269E5F9E +S21400B3E01CAB02215D5E751B09994D4300215B5E17 +S21400B3F0D21AAD180E9B9C466544002322A81EA9AF +S21400B4005A5C1A540133082BFAD122AB5A88DA80D8 +S21400B4100134A61B36B2002E33DD731C9846012677 +S21400B42022AC5F4B9A4607955F4619E0FA8B2923B4 +S21400B430FB5C0293069B01930090059B21000498F9 +S21400B440564DA847638801336380E3880133E38061 +S21400B450099B9C46079B63440793013646450FD0DD +S21400B4600B9A079905984C4B98470221625E002577 +S21400B470615F0B9B0598D0470128D7D10130D5E7EF +S21400B480BB4616AA0021535E1CA90B80013B0A9CF2 +S21400B490A44663448B800623D25E531C1B1B4B8042 +S21400B4A0CA80049A1EA83B4B9847002800D17AE031 +S21400B4B01EAB02229B5E0C9A934203DC109B013368 +S21400B4C01EAA53801EAB04229B5E0D998B4201DDA3 +S21400B4D01EAB99801EAB00215A5E9B8801339B1AD7 +S21400B4E01BB20B93002B5EDD1EAB06215C5E0226B4 +S21400B4F09E5F1CAB06215D5E2D1B09994D43002106 +S21400B5005B5ED21AAD180E9B9C466544002322A8AB +S21400B5101EA95A5C1A540133082BFAD122ABDA88DA +S21400B5205A800134A61B36B2002E3CDD731C9846AA +S21400B530012622AC1A4B9A4607955F4619E0FA8B0D +S21400B5402923FB5C0293069B01930090059B210038 +S21400B5500498124DA8476388013B6380E388013B4B +S21400B560E380099B9C46079B634407930136464548 +S21400B57018D00B9A07990598074B98470221625EE8 +S21400B5800025615F0B9B0598D0470128D7D1013075 +S21400B590D5E7C0460FFC00008D0C01006D5C000076 +S21400B5A025A60000BB4616AA0021535E1CA90B80E8 +S21400B5B0013B0A9CA44663448B80538863444B80BB +S21400B5C0D3881B1BCB80049A1EA8C54B984700281F +S21400B5D06CD0089B002B0AD01EAA4B46188893886E +S21400B5E0191C1BB204B2A34200DD011C91801EABE5 +S21400B5F000215A5E9B8801339B1A1BB20793002BCF +S21400B60054DD1EABDF8801375B88FF1A3FB209990D +S21400B6100B00013B4B431CA90020095E521A9A18E6 +S21400B62013000E998C4663440B93002322A81EA990 +S21400B6305A5C1A540133082BFAD122AB5A88DA80A6 +S21400B640002F33DD0025A74B984622AC089B9A4670 +S21400B6505E46BB4615E0F28B2923F35C0293282353 +S21400B660F35C01930090059B210004989E4FB84719 +S21400B670638801336380E3880133E38001355D45E9 +S21400B68013DA079A0B990598C04702205346002BF9 +S21400B690E1D10223E25E0023E15E079B0598934F0B +S21400B6A0B8470128D7D10130D5E7B3461CA916AB59 +S21400B6B01A880A9CA44662440A809A88121B8A80CA +S21400B6C002229B5E4B80013B6344CB80049A1EA8FB +S21400B6D0834B9847002876D0089B002B0AD01EAADA +S21400B6E0D0884B465B88191C1BB204B2A34200DD0F +S21400B6F0011CD1801EAA9388013311885B1A1BB2E5 +S21400B7000B930221535ED4880134E41A24B20999BB +S21400B7100C911CAA0225555F5D1B4D434B1EED1870 +S21400B7200E9B9C466544002322A81EA95A5C1A5408 +S21400B7300133082BFAD122AB5A88DA80002C42DD7E +S21400B740631C984601266A4B9A4622AC07955F46CC +S21400B7501EE0069BFF2B1FD1069920E0FA8B2923BB +S21400B760FB5C0293FF2301930090059B2100049845 +S21400B7705D4DA847638801336380E3880133E38027 +S21400B7800C9B9C46079B634407930136464519D09D +S21400B790079B1978FF29DCD0069B5943090A0B9AA8 +S21400B7A00598D0470220089B002BD7D10223E25EE3 +S21400B7B00023E15E0B9B05984C4DA8470128CDD190 +S21400B7C00130CBE7BB461CA916AB1A880A9CA446D8 +S21400B7D062440A809A88121B8A8006229A5E531C4C +S21400B7E01B1B4B80CA80049A1EA83D4B9847002816 +S21400B7F000D181E0089B002B0AD01EAA50884B4639 +S21400B800DB88191C1BB204B2A34200DA011C51806B +S21400B8101EAA9388013311885B1A1BB20B9306216C +S21400B820535E5C1C5288A41A24B209991CAA0625E9 +S21400B830555FED1A4D434B1EED180E9B9C46654416 +S21400B840002322A81EA95A5C1A540133082BFAD1E9 +S21400B85022ABDA885A80002C4EDD631C98460126FF +S21400B860234B9A4622AC07955F46CB461EE0069BC6 +S21400B870FF2B1FD1069920E0FA8B2923FB5C02934D +S21400B880FF2301930090059B21000498164DA847BE +S21400B8906388013B6380E388013BE380099B9C4609 +S21400B8A0079B634407930136B04523D0079B19785E +S21400B8B0FF29DCD0069B5943090A0B9A0598D04706 +S21400B8C00220089B002BD7D10223E25E0023E15E14 +S21400B8D00B9B0598054DA8470128CDD10130CBE735 +S21400B8E00FFC00008D0C01006D5C000025A600001A +S21400B8F0AD0F0100D946BB461CA916AB1A880A9C98 +S21400B900A44662440A809A88121B8A805A88624437 +S21400B9104A80DB881B1BCB80049A1EA8C44B984722 +S21400B92000284CD0089B002B49D11EAA93880133CF +S21400B93011885B1A1BB20693D78801375388FF1A03 +S21400B9403FB2002322A811005A5C1A540133082B78 +S21400B950FAD122AB5A88DA80002F30DD0137012574 +S21400B960B44B9A4622ACB44B98465E46BB4614E0AF +S21400B970F28B2923F35C0293FF2301930090059B2F +S21400B98021000498AD4FB847638801336380E3888D +S21400B9900133E3800135AB4510D02823F15C069ACD +S21400B9A0059F3800D0470221625E0020215E069B7C +S21400B9B03800C0470128DBD10130D9E7B3460F98DD +S21400B9C09F4B984705989F4CA0470E98A0475B460C +S21400B9D01B7B9A46052B3FD900231AA94846C25C12 +S21400B9E05A540133082BFAD181465B4610229B5EDF +S21400B9F0012B1FDD5B461B7DF92B1BD95B46002206 +S21400BA009B5E002B16D05B46588A1AAB8108012233 +S21400BA1011401C8809191980410811405C880919D1 +S21400BA205980C40814409988091B99800240D98817 +S21400BA308A1ADA805346FA2B01D9FF239A46824B9C +S21400BA409847824B98470700049A1AA91CA8784B77 +S21400BA509847002800D09DE05B46D86A002806D0AC +S21400BA6036235A46D35C052B01D900F0D7FB5B463C +S21400BA701E7D052E19D910229B5E002B15D05B4625 +S21400BA8012229B5E002B10D0FA2E00D9FF266E4B9A +S21400BA9098476E4B98470700049A494618A8644B87 +S21400BAA09847002801D000F023FD5B46D96B00299B +S21400BAB006D044235A46D35C052B01D901F038F84A +S21400BAC05B461B7F9846052B5DD95B4618229B5E1E +S21400BAD0002B58D04346FA2B01D9FF2398465C4BDF +S21400BAE098470A90002316A94846C25C5A54013368 +S21400BAF0082BFAD15B465D8B16AB1A88521B92B2A6 +S21400BB0092461A805A88521B92B207925A809F8891 +S21400BB10EF19BFB29F80DA88AD18ADB2DD805B4604 +S21400BB2000229B5E06935B4618229B5E05930023CD +S21400BB3018A816A95A5C1A540133082BFAD16B467A +S21400BB409C8A18AE33881B1B9BB208933380B3883D +S21400BB50E3189BB20993B38073881B1B9BB20B93AD +S21400BB607380F388E418A4B2F480374B9847374BB9 +S21400BB7098478146049A31001AA82D4B984700280A +S21400BB8001D001F031F831B03CBC90469946A2464F +S21400BB90AB46F0BD388A1CAA1188091A89B21180F2 +S21400BBA07D8A5488641B548093881B1A9BB29380AA +S21400BBB0D088401BD08001335B1A1BB20A930B93CC +S21400BBC01800244B98470690214B984783B20C9355 +S21400BBD000220792002B06D15B469B79023B5A1E39 +S21400BBE09341DBB207931AA98C8801340B88E41AB8 +S21400BBF024B226005B4600229A5ECB880133498831 +S21400BC005B1A1BB2A34200DD23005B1098469342EA +S21400BC1000DD9046079B002B2FD04346002B2CD1EF +S21400BC205B469B79002B17D001235B420F9333E0D2 +S21400BC300FFC0000AD0F010025A600006D5C0000A3 +S21400BC4079A60000D50B0100B143000009F70000FB +S21400BC50C1A60000C10E01005B465A885B7B0293BA +S21400BC60534601930123009300231AA90498AE4C6F +S21400BC70A04701235B420F9377E24346002B37DD54 +S21400BC8043461AB200231AA929A8A84DA84700219E +S21400BC9029A8A74B98470F905B465B886A46138493 +S21400BCA05B469B7900220D92022B25D01AAB04220C +S21400BCB0995E0020185E4B1C1B1A1BB242465200AF +S21400BCC09B1A09931EAA108091801CA90223CD5EA0 +S21400BCD07B8A5B191BB25380D38006228B5E9D4203 +S21400BCE000DD32E24B461093B9465E46D346E8E0A6 +S21400BCF001235B420F93CFE75B465A889B889A42A4 +S21400BD00D4D060008B4B98470D90002ECEDD0025DA +S21400BD1042460992B0462E005D46BB4605901EE0A0 +S21400BD20A978C906C80E6B885B059B0EEA78D20810 +S21400BD3021781F27B94301432170590123887E4883 +S21400BD4003400B432380D2001B0A07210B401343FA +S21400BD5063700136059B02330593B04558DD059C9C +S21400BD600823E95E40464843001232B29042D7DAD2 +S21400BD700A27EB5F47465F433F12BA423FDA591A3B +S21400BD8043465943301A00B20302181A09126B4B85 +S21400BD909847FF231840191A6A79D2084243EB786D +S21400BDA0DB084B43D3181A02D218D201D218D20D90 +S21400BDB01F231A40AB885B059B0E43439C466B884B +S21400BDC05B059B0E4B4363441F02BC469C44674680 +S21400BDD0FF01BC466344DB0D3F273B402F79FF063F +S21400BDE0FF0E7843AF78FF06FF0E79434018010236 +S21400BDF00918C9010918C90D1F20084098E72979B4 +S21400BE00C906C80EAB885B059B0E6A79D2088FE719 +S21400BE10099B98465F46AB4648E70B99069F380055 +S21400BE20474B98474B465A8A521912B2198A0EAB9C +S21400BE301B8FC91809B20A9B3800424FB8470590B5 +S21400BE40B379012B19D181E00B99069F38003C4B42 +S21400BE5098474B465A8A521912B2198A0EAB1B8F54 +S21400BE60C91809B20A9B3800364FB8470590B3790F +S21400BE70012B6BD0079A002A3ED1022B00D153E14A +S21400BE800C9B002B02D1099B322B0CDC737B02939C +S21400BE905B460193059B0093069B6A46128C1EA97F +S21400BEA00498214CA0471EAB5A8801325A80DA8883 +S21400BEB00132DA8001350EAB3E229B5E9D4200DDEC +S21400BEC03FE14B4612241C5F64191AAB02229B5EAC +S21400BED0434401339C42B7DD1AAB06229B5E4246C2 +S21400BEE09B1A013B9C42AFDA079B002B95D0B37997 +S21400BEF0012B29D001220592099A322A00DDA0E002 +S21400BF00022B00D110E1012BBAD1737B02935B4662 +S21400BF100193059B0093069B6A46128C1EA9049803 +S21400BF20014CA047BFE7C0466D5C000055A8000066 +S21400BF30EDA50000C10E01001FF8FFFF057B010004 +S21400BF40F110010025A60000012305937288B3882E +S21400BF509A426DD01AA94A88A31A9BB20827F05FA6 +S21400BF608246C9880131891A09B202004A43121270 +S21400BF7018B28446824245DA0A27F05F07004F432C +S21400BF803F12BC4500DBB1E05746C01B41439B1A3D +S21400BF901BB21802C01A0912B84B9847FF21084076 +S21400BFA0091A7279D2084243F378DB084B43D31858 +S21400BFB01A02D218D201D218D20D1F239C461A405C +S21400BFC0B3885B059B0E43439A4673885B059B0EBE +S21400BFD04B439A4453461B025344DB015344DB0055 +S21400BFE09B0E3779FF06FF0E7843B778FF06FF0EE5 +S21400BFF07943411808024018C0014018C00D614638 +S21400C000084007E0B178C906C80E73885B059B0E2A +S21400C010F278D2081F21089F8F4339000143580148 +S21400C020974B0B400343D2025B055B0D134308930B +S21400C030079B002B00D168E70123099A322A00DC0F +S21400C04063E71AAA0221525E42440132944208DB98 +S21400C0501AAA0621525E4146521A013A944200DC60 +S21400C0604EE71AAB00229B5E22A90B80424668462A +S21400C0700287048F013BE3188B801EAB5A884A80E8 +S21400C080DB88CB80737B02935B460193059B009312 +S21400C090069B028C04987B4FB847B379012B2ED0B1 +S21400C0A01AAB04229B5E22A95A1C141B0C808B80A0 +S21400C0B042469B1A01334A461021525E0EA938208A +S21400C0C0095E52189B1ADA43D2171340069A944612 +S21400C0D06344727B02925A460192059A00926A461F +S21400C0E0128C22A90498674CA047DCE63179C90671 +S21400C0F0C80EB3885B059B0E7279D2088AE722A920 +S21400C1001AAA1388E3180B8093881B1B8B80737BFB +S21400C11002935B4601930123009300236A46128C28 +S21400C1200498584FB847BBE7737B02935B4601936E +S21400C130059B0093069B0D9A1EA90498524CA04797 +S21400C140B1E6DA46109B9946B3465B469B79002BD0 +S21400C15005D10C9B002B02D1099B322B0CDC0D9BCE +S21400C160002B02D01800494B98470F98484B984729 +S21400C1700698464B98476FE443466A469382968AEB +S21400C1801EAC1AAD2B88F3182380AB889B1BA380AC +S21400C1900222AB5E6380F318E3805B465A885B7BC3 +S21400C1A00293534601930123009300232100049831 +S21400C1B0344FB8470623E95E8A1B12B26280062017 +S21400C1C0235E9A4202DC01331EAA53801EACE18035 +S21400C1D05B465A885B7B0293534601930127009780 +S21400C1E0002321000498274DA8471AAA1388238005 +S21400C1F09388A38053880133F3186380D388013B68 +S21400C2009E1BE6805B465A885B7B029353460193EF +S21400C2100097002321000498A847A0E71D4B9847E5 +S21400C2200700012809D902283CD0002300220499DF +S21400C2304846194CA047FFF71AFC29A95B46D86A5E +S21400C240164B9847012801D0FFF711FC299BDD0209 +S21400C2506D0D6E230EAA944663441E8876091EACA6 +S21400C26020000F4B984736235A46D35C237037235B +S21400C270D35CA372938EA38137E0C046057B010092 +S21400C2801FF8FFFF6D5C000051690000D50B010030 +S21400C29079A6000061810000417F000049E50000AA +S21400C2A0AD7E000022AC2000874B98475B469B8EF5 +S21400C2B023805B461B6B636036235A46D35C23722F +S21400C2C00C22A35E29AE00220292804A01920A2125 +S21400C2D0625E00925A46126B5946C96A30007C4C20 +S21400C2E0A0470023F55E0223F65E38235A46D35C49 +S21400C2F0DB073DD44B4618885988DB8801335B1A28 +S21400C3001BB24A4692880132121A12B2521BD40F3E +S21400C310A2185210801880B21CAA10809C1BE30F33 +S21400C3201B195B10C91889B25180013D45199580CB +S21400C330731ECB189BB2D380022F00D19AE05B46C7 +S21400C34000229A5E49461CA8624B98470124644224 +S21400C350002801D100F0ABFE1EAB5A46D26A049903 +S21400C3601CA85D4DA84720005C4B9847FFF77FFB55 +S21400C3705B4600229A5E0023494629A8584CA047EF +S21400C380002129A8574B984707904B4698880130BC +S21400C3901B88C01A00B2544B984629009847CB0F0A +S21400C3A059184B1006934B4606229B5E9A464B4600 +S21400C3B05C885346581C001B00B23100C047CB0FA8 +S21400C3C05B185B10E41AA4B223B21CAA5380B1B265 +S21400C3D0884601396418D4809A4546DB1400ADB20D +S21400C3E0424B9A463C4E05924B46B9461F002AE001 +S21400C3F0002300935B46DB6A22AA04990598D0477F +S21400C4002388EB181BB22380A288AA18A2804A466B +S21400C4100421525E9A4208DB022FE9D01EAB5A4630 +S21400C420D26A04990598B047EAE74B46B9461F001A +S21400C430638843441BB26380E2884244E28006215C +S21400C4407A5E9A4210DB3B88069A9B1A9BB21AB217 +S21400C4502280691E5B18A38004217B5E9342E7DB83 +S21400C4603B004F469946D7E7B94607981B4B984777 +S21400C470FFF7FDFA012214401CA8091941801B1978 +S21400C480C3805B4600229A5E4946124B98470028B6 +S21400C49016D15B4600229A5E0023494629A8104C16 +S21400C4A0A047002129A80F4B9847040000230093BB +S21400C4B05B46DB6A22AA04991CA80C4DA84752E7E3 +S21400C4C001246442F2E7C046C5810000187C0000E3 +S21400C4D0E51A01009DFE0000417F000079A60000DD +S21400C4E055A80000EDA50000D17C010015820000D3 +S21400C4F0388A18AA1188091A89B211807D8A548848 +S21400C500641B548093881B1A9BB29380D088401B70 +S21400C510D08001335B1A1BB20A930B931800B84BFA +S21400C52098470590B74B98470025002806D15B46EC +S21400C53012255D5F0F3D6A426A41D5B25B46002117 +S21400C540595E4B469B8801334A4612889B1A4A46D8 +S21400C550D288013248464088121A12B21BB2934261 +S21400C56000DD13005B1009938B4200DD0991099BE7 +S21400C570002B00DC84E01AB20023494622A8A24C15 +S21400C580A047002122A8A14B98470F905B46102099 +S21400C590185E00231AA94C46E25C5A540133082B55 +S21400C5A0FAD1A1461AAB1A885B465B8A59076BD547 +S21400C5B084B21AA912190A808A88190769D584B222 +S21400C5C01AA9121B8A804A88990767D584B21AA9C5 +S21400C5D012194A80CA88DB0765D583B21AA9D31A0E +S21400C5E0CB80099B98466A461383138B9A461A1A81 +S21400C5F012B2012329A8844CA047002129A8834B06 +S21400C600984710905B4610201B5E013B0D934146F9 +S21400C610434500DA0D915B46DB8911936A469383A6 +S21400C6205B465B7D0693002D00D1BCE11222BB5E0B +S21400C6304A460221525ED21A0D998C46624418A9C7 +S21400C6400620095E0C91914200DD0C921CAA494618 +S21400C6500988118049468988918018A902254D5F6E +S21400C6605B191BB25380D3800C9BAB4200DA9FE071 +S21400C6701EAC08954B46B1465A460E921E0047E041 +S21400C68001235B420F9381E7099944186442A4B2E0 +S21400C6908FE7099944186442A4B291E709994418AF +S21400C6A06442A4B293E7099BC3185B429BB295E72A +S21400C6B00422B35E5A1C5146521A2280A380099A5D +S21400C6C09A1A013210217B5E0EA92820095E5B189B +S21400C6D0D31ADA43D2171340059A94466344069A4F +S21400C6E002924A460192424600926A46928B210086 +S21400C6F00498474DA8471CAB5A8801325A80DA88FE +S21400C7000132DA80089A013208920C9B93424ADB87 +S21400C7100B99059D28003F4B98477A8A089B9C46B4 +S21400C720624412B2398A0EAB1B8DC91809B20A9B35 +S21400C73005952800384DA84780461CAB5A8862806D +S21400C740DB88E3800022B35E2380013B5344A38052 +S21400C750069A02924A4601920090059B6A46928B80 +S21400C760210004982A4DA8470623E25E0221735E44 +S21400C7700E991020095E5B189A4299DA3388534462 +S21400C7802380B38852469B1AA380069B02934B468F +S21400C79001930123009300236A46928B210004989C +S21400C7A01B4DA84784E732004E460E9B9B4691469B +S21400C7B01222BB5E4A460621525ED21A0D99521AC2 +S21400C7C018A902254D5F954200DA15000C990A005B +S21400C7D0A94201DB013215005B191BB21CAA53806B +S21400C7E0D38018AB06229B5E9D4200DD99E01EAC0E +S21400C7F008954B46B1465A460C921E0041E0C0468C +S21400C800C10E0100C1A6000055A80000EDA500005D +S21400C8106D5C0000F110010025A600000422B35E46 +S21400C8205A1C5146521A2280A380099A9A1A01323B +S21400C83010217B5E0EA92820095E5B18D31ADA4306 +S21400C840D2171340059A94466344069A02924A46C3 +S21400C8500192424600926A46928B21000498AF4DA0 +S21400C860A8471CAB5A8801325A80DA880132DA802F +S21400C870089A0132110008920EAB2E229B5E994256 +S21400C8804ADC0B99059D2800A54B98477A8A089B99 +S21400C8909C46624412B2398A0EAB1B8DC91809B287 +S21400C8A00A9B059528009F4DA84780460022B35E48 +S21400C8B02380013B5344A3801CAB5A886280DB88EC +S21400C8C0E380069A02924A4601920090059B6A46C9 +S21400C8D0928B21000498914DA8470623E25E06211C +S21400C8E0735E0C991020095E5B1A9A4296DD3388B7 +S21400C8F053442380B38852469B1AA380069B029318 +S21400C9004B4601930123009300236A46928B210035 +S21400C9100498824DA84781E732004E460C9B9B4602 +S21400C92091466B46998E1CAC4B465A8801328A1843 +S21400C9306280DB88013B5B1AE3804B4600229B5EED +S21400C94023805A46128A013A9B18A380069B0293BC +S21400C95001960127009700236A4644215218128840 +S21400C960210004986D4DA8474A460421525E594658 +S21400C9700B8AD31A01332380A280069B029301966A +S21400C980009700236A464421521812882100049812 +S21400C990A8471098644CA0470F98A0470598634B8B +S21400C9A09847FFF782F84B460021595E1CA8018085 +S21400C9B04B4604229A5E828018AB02241C5F7B8A58 +S21400C9C01B191BB24380C3805B4612201B5E042BE0 +S21400C9D02BD0082B45D0002216210EA88446614491 +S21400C9E00A70172161440A70022B2CD101321433CD +S21400C9F063441A7016230EAA944663441B78002BD1 +S21400CA0004D1173363441B7801255D4001231D4084 +S21400CA1014AB1D70250018AB06229B5E9C42B8DC4A +S21400CA201CAC3F4B9A46B04651E00D9A9446614482 +S21400CA301CAA9180002216210EA8844661440A7022 +S21400CA40172161440A70012B10D0032BD2D1023B70 +S21400CA5016220EA98C466244137017226244137085 +S21400CA60C8E70D99521A1CA90A80E3E7012216337B +S21400CA700EA98C4663441A70BCE70B99059E3000DD +S21400CA80D0477A8A521912B2398A0EAB1B8DC91852 +S21400CA9009B20A9B05963000224EB047069A0292CB +S21400CAA0424601920090059B6A46928B21000498AC +S21400CAB01A4EB047638801336380E3880133E3800E +S21400CAC001350EAB2E229B5E9D4200DD61E714AB66 +S21400CAD01B78002BD1D116330EAA944663441B78DC +S21400CAE0002B09D00223E25E4B4602215B5E0D99C5 +S21400CAF08C4663449A42C0DD17230EAA94466344CC +S21400CB001B78002BD6D00223E25E4B4606215B5EE6 +S21400CB100D995B1A9A42CDDBAFE7C0466D5C00000C +S21400CB20F110010025A6000079A60000D50B010033 +S21400CB304C2398465B4642469B5E1CAD00260296FA +S21400CB40BC4A01925A464E20125E00925A46126C19 +S21400CB502800B94CA04722AC268066802B88013B73 +S21400CB60A3806B88013BE3801EAD50235A46D25CFF +S21400CB702B0021004846B14FB8472A88482359461B +S21400CB80CB5AD21892B22388D31823806B884A21B6 +S21400CB905846415A5B189BB2618859186180A18833 +S21400CBA05218A280E2889B18E38029AD2800A44B87 +S21400CBB098475B461B6C6B605B4642469B5AAB8154 +S21400CBC05B4602329B5A6B8146235A46D35A2B80C9 +S21400CBD04423D35C2B720096D36B2A000499200062 +S21400CBE0984CA047FEF76CFF069B01375246BA1AD0 +S21400CBF001350799691A09B212B28A4200DD0A00A5 +S21400CC0052109A4200DD069A059B9918099B01333B +S21400CC1008981B1A01340B98201A00B21BB28342E4 +S21400CC2000DD03005B1007938B4200DD07914B4647 +S21400CC301E8A1AA90B889B1B98B208804B465C8AF2 +S21400CC404D882D1B4D808B889B1B9BB28B80CD887F +S21400CC502C1BCC8001331B1A1BB21E00089312B289 +S21400CC60012316A922A8784DA847002122A8774CB0 +S21400CC70A0470E90079F3AB2002318A929A8A847F4 +S21400CC80002129A8A0470F9009963000704B9847BE +S21400CC9005905B4618229B5E5A46D28A11926946D8 +S21400CCA00A835A46527F92460A9A002A00D09BE18F +S21400CCB0013B1093BB4200DA10974B4612229B5E54 +S21400CCC018A902200A5ED21A1098844662441400FC +S21400CCD00C921CAA08881080898891801AA90227BD +S21400CCE0CF5FDB191BB25380D380BC4200DA82E0F0 +S21400CCF01EAC5B460D932EE018AB04229B5E5A1CBE +S21400CD00551B2580A380079A9B1A01334A4610219B +S21400CD10525E0EA93020095E52189B1ADA43D217CB +S21400CD201340059A94466344524602924246019244 +S21400CD300A9A00926A46128B21000498454DA8472D +S21400CD401CAB5A8801325A80DA880132DA80013701 +S21400CD500C9BBB424DDB0999059E30003E4B984725 +S21400CD604B465A8AD21912B2198A0EAB1B8EC918B4 +S21400CD7009B2089B3000394DA8470A901CAB5A8868 +S21400CD806280DB88E38018AB0B9300215B5E238018 +S21400CD906A46958B013BEB18A380524602924246A8 +S21400CDA00192009033006A46128B21000498294EA7 +S21400CDB0B0470623E25E0B9B02215B5E0D991820AE +S21400CDC0095E5B189A4297DA18AA1388EB18238034 +S21400CDD093885B1BA380534602934346019301232B +S21400CDE0009300236A46128B21000498194EB04720 +S21400CDF082E70D9B9B464B4612229B5E18AA06278F +S21400CE00D75FFF1A109ABF1A0C990A00B94201DBC5 +S21400CE1001321700DB191BB21CAA5380D3801AAB51 +S21400CE2006229B5E9F4200DD9AE01EAC5B460B939B +S21400CE3047E0C046187C0000E51A010041FF0000EC +S21400CE40C58100001582000055A80000EDA5000071 +S21400CE50C10E01006D5C0000F110010025A6000067 +S21400CE6018AB04229B5E5A1C551B2580A380079A8C +S21400CE709B1A01334A461021525E0EA93020095EE5 +S21400CE8052189B1ADA43D2171340059A9446634405 +S21400CE9052460292424601920A9A00926A46128BC3 +S21400CEA021000498894DA8471CAB5A8801325A8045 +S21400CEB0DA880132DA8001370EAB36229B5E9F425B +S21400CEC04CDC0999059E3000814B98474B465A8AA0 +S21400CED0D21912B2198A0EAB1B8EC91809B2089B5A +S21400CEE030007C4DA8470A900EAB28215B5E23805D +S21400CEF06A46958B013BEB18A3801CAB5A88628070 +S21400CF00DB88E3805246029242460192009033004C +S21400CF106A46128B210004986C4EB0470623E25EE8 +S21400CF200EAB2E215B5E0B991820095E5B1A9A42A7 +S21400CF3096DD18AA1388EB18238093885B1BA380C2 +S21400CF4053460293434601930123009300236A4607 +S21400CF50128B210004985D4EB04781E70B9B9B46E1 +S21400CF606B4640229B181B881CAC18AD6A880132A1 +S21400CF709A186280EA88013AD31AE3800022AB5EF0 +S21400CF802380013B5A46128BD318A3805346029344 +S21400CF90434601930127009700236A46442152180E +S21400CFA0128821000498494EB0470423EA5E531CB9 +S21400CFB05946098B5B1A2380A28053460293434648 +S21400CFC00193009700236A464421521812882100D4 +S21400CFD00498B0470E98404CA0470F98A047059875 +S21400CFE03E4B9847FEF7CFFD1CAA18AB1988118058 +S21400CFF09B8893801AA90223CE5E4B465B8A9B19B8 +S21400D0001BB25380D38006228B5E9E42E2DC314BFD +S21400D0109B462E4F0999059C20002D4B98474B4662 +S21400D0205A8A921912B21AAD198A2B88C91809B2EF +S21400D030089B05942000D8471CAC524602924246F4 +S21400D04001920090059B6A46128B21000498B8470F +S21400D050638801336380E3880133E3800136062268 +S21400D060AB5E9E42D6DDB5E7079C0C9420001C4BB9 +S21400D07098470A9001220D92002C01DDFDF7A3FED1 +S21400D0800A98164B9847079F7F43002F01D1FDF75C +S21400D0905FFF0E9A11007800944660440B889B0947 +S21400D0A01370023101328142F8D1FDF751FF5B4621 +S21400D0B000229A5E0023494629A80A4CA047002170 +S21400D0C029A8094B98470400FFF746F96D5C000055 +S21400D0D0F110010025A6000079A60000D50B01007E +S21400D0E0C10E010055A80000EDA50000F0B583B004 +S21400D0F004000E00170001AA11781F20814311704A +S21400D100118840480140118000215170A56821789F +S21400D1101F220A40111F02290DD9072A22D0082AE9 +S21400D12034D0092A48D00A2A5ED00B3A032A15D8EA +S21400D13001AA138012E02078C006C00E324B984732 +S21400D1402368DB025B0D5F43BE19C008C0B27043A4 +S21400D150281801AB02781A7042785A7001AB18880A +S21400D16003B0F0BD324007239A1A2068C002400D73 +S21400D1700730C0104743F610ED19AE19317A063B5A +S21400D18093400B40134101AA1380E7E7053A32406B +S21400D190520006239A1A2068C002400D0330801001 +S21400D1A04743B610ED19AE19317C033B93400B4054 +S21400D1B0134101AA1380D1E7012333409B00053AAF +S21400D1C0D31A2068C002400D013040104743761045 +S21400D1D0ED19AD19403529780B329A400A401A41AC +S21400D1E0130001AA1380B9E72368DB025B0D7B43BB +S21400D1F0AD19ED188023DB009C4665442A7801AB08 +S21400D2001A80ABE71FF8FFFFE57E0000F0B587B099 +S21400D21004000192866800781F230340052B0AD07D +S21400D2200B2B12D00C2B28D00D2B47D0FF200E2B0B +S21400D23064D007B0F0BD2368DB025B0D5A4351187B +S21400D2404A00511871188878F3E707250D40043B0B +S21400D2505D1B2368DB025B0D0733DB10019A5A4324 +S21400D260C910B218535C0120A84018402841C3B228 +S21400D270584258414042C0B2DBE7002302A8037080 +S21400D2805533437055338370FF2002ABD8700325A7 +S21400D2900D406D0006235D1B2368DB025B0D033328 +S21400D2A09B10019A5A438910B218525C0323AB4074 +S21400D2B013402B41034002AAD05CBAE702AB9C465F +S21400D2C0124B654685CB85C51B682B6001250D4036 +S21400D2D0AD0004235D1B2368DB025B0D01335B108E +S21400D2E0019A5A434910B218525C0F23AB401340C0 +S21400D2F02B41FF2213406246D05C9AE72368DB028C +S21400D3005B0D019A5A437118885C92E7AC8A01005B +S21400D310F0B5DE4657464E464546E0B583B00400B7 +S21400D3200822835E1B0243620A22835E1B0283621C +S21400D3300C23C75E3E4B9B460A213800984705B231 +S21400D3400A2676426E43F619ABB29846584200B2A9 +S21400D350384B9A46984781460135ADB2684200B2CE +S21400D360D04701905A274246B81A00B2D0478046A6 +S21400D3707D1B28B2D04707000A25AD1B4B466B43E2 +S21400D3801800019B7343C0180A21D847E062434641 +S21400D3905D433000784328180A21D8472063A07CD4 +S21400D3A0254B98473426012503002B40A05D01221B +S21400D3B090431843A055A07C204B984705406D002D +S21400D3C0A05D022398430543A555A27C131F022B9C +S21400D3D028D93421635C0420834363542368236282 +S21400D3E01F2313402376A3885B05DA0A144BA16932 +S21400D3F00B401343A361E2885201DB02DB0E1343AA +S21400D4006383E18980204002094B9847E086FF232A +S21400D410A375238AA38203B03CBC90469946A246D5 +S21400D420AB46F0BD3421EBB2042003436354D5E78A +S21400D430057B010035090100157F0000297F0000EB +S21400D440FF03E0FFF0B5DE4657464E464546E0B5DC +S21400D45087B00090029105921D0010AB1B889B467A +S21400D4606A4F0A212800B84704B2661C0A204042C8 +S21400D470604345192000664B99469847804630B26F +S21400D480C84782465A3420B2C84704005A3630B2DB +S21400D490C84781460A26761B4046704353466B4370 +S21400D4A0C0180A21B847804674434B465D4360194E +S21400D4B00A21B847119B00229A5E119B0227DF5F64 +S21400D4C054425B465C43241224B2230043439946ED +S21400D4D07B425D466B431B121BB24146594396B2D4 +S21400D4E04D466D1AED1375192DB2AA46454665438D +S21400D4F04343BCB20395ED18ED130194A44665446E +S21400D5002DB2029CA21A5C466243121212B214009A +S21400D51044430294611AC913711809B2444662431F +S21400D520049294466344DB13019CA44663441BB2F6 +S21400D530059CE71B5C4667433F123FB244467C436C +S21400D540A0464C464246A41AE2139146B1444A46C7 +S21400D55012B291467843039F3F18FF13E346674491 +S21400D5603FB2029A4446121BD2139046464436B245 +S21400D570049A94466044C0135A46141824B252467D +S21400D5808A4500DD0A1C101C12B24A4500DD4846DA +S21400D590021C00B2B04200DD321C009802805046E9 +S21400D5A08A4500DA081C011C00B2484500DA4946E4 +S21400D5B00A1C09B2B14200DA321C00998A80291C82 +S21400D5C09D4200DD191C0A1C09B2B94200DD3A1C56 +S21400D5D0111C12B2A24200DD211C009A51802A1CA6 +S21400D5E09D4200DA1A1C131C12B2BA4200DA3B1C27 +S21400D5F01A1C1BB2A34200DA221C009BDA8007B07A +S21400D6003CBC90469946A246AB46F0BD057B010061 +S21400D61035090100F0B5DE4657464E464546E0B5AC +S21400D6208BB004003823C75EFF231A003A403A2125 +S21400D630465E33406F2A7EDC3C22815E4942C91733 +S21400D640803FFFB26F2B00DD87E03E23E25E524252 +S21400D650D3179846803EF6B2257DED06EB0E009376 +S21400D660A38A5B059B0E0193637DDB080293A37D73 +S21400D67003933423E35C99465B0700D481E0236878 +S21400D6804422A25C94465143226C92465144581858 +S21400D69009AA05781570407850700420225E60460E +S21400D6A04243404650430200206C804690449A46CF +S21400D6B0C24408A855462D78057055466D784570C5 +S21400D6C08A189818824607A855462D78057055463C +S21400D6D06D7845704846800700D484E0604601387F +S21400D6E01B18595C89464146595C8A46985CFF215E +S21400D6F0CB1B4A465A439446039A7A436244121214 +S21400D700434355467D43AC4663441B12DDB2AC46EC +S21400D7100B408D1B6B43114071435B181B12A375A6 +S21400D720D2B2052A00D9DCE0002362460026052A8C +S21400D73000D9DAE0ABE0902A0CDD3C21425E0132F3 +S21400D7400421405E0121824200DB00217F22D71B9C +S21400D750FFB277E7FF27002174E7902B0DDD3E220E +S21400D760A35E01330622A05E0122834200DB002274 +S21400D77090467F239E1BF6B26EE7FF260023984650 +S21400D7806AE718239C46A44465468BB29B46238AC8 +S21400D7903E21625EA18F594409B204956046AF4DA2 +S21400D7A0A946A84709AB188042466B46DA8292B271 +S21400D7B09046238AE28F424412B23C20215E049DAA +S21400D7C02800C84708AB1880238AE28F424412B26A +S21400D7D0A18F594409B22800C84707AB18803423E4 +S21400D7E0E35C9B075BD4FF23A3753B00002B00D0B4 +S21400D7F08DE009AB1D78ED06EA0E00921A885205F8 +S21400D800920E01925B78DB080293002F00D0B7E0FF +S21400D81007AA1778FF06FF0E13885B059B0E527843 +S21400D820D208002E00D1F1E0FF2E00D100E1FF214A +S21400D830891B009D75434F43EF193D02ED19ED011D +S21400D840ED192D01ED0E207D1F27B84305432575E4 +S21400D850019870434B43C01803021B18DB011B18CA +S21400D860DB009B0E5B01A08A7D4D28400343A3820C +S21400D870029846434A43B61832029219D2019619C4 +S21400D880F60DF6005B055B0F1E4366750123180058 +S21400D8900BB03CBC90469946A246AB46F0BD3E2334 +S21400D8A0E25EA18F594409B2049D28006D4B98474B +S21400D8B08146E28F424412B23C23E15E2800694B67 +S21400D8C098478246E28F424412B2A18F594409B269 +S21400D8D02800644B98473423E35C9B0700D506E793 +S21400D8E081E76346052B00D8FF263B00039A052AEE +S21400D8F000D800234A46052A00D8FF235246052AA8 +S21400D90000D80027052800D970E7FF276EE7FF2B11 +S21400D91000D17AE7FF22D21A09A84178C9085143F4 +S21400D920029D5D43AC468C44614609026144C901D0 +S21400D9306144C90D1F25AC460D4002950188490576 +S21400D940890E5143019D5D43A84641440D02A846F9 +S21400D95088444546ED01A8464144C900890E019118 +S21400D9600178C906C90E4A43009D5D435219150247 +S21400D970AD18ED01AD18ED0D63461D40009544E76A +S21400D980FF2F39D0FF23DB1B984608A84278D20821 +S21400D9907A4307A94B78DB0845466B43D3181A022F +S21400D9A0D218D201D218D20D1F239C461A400388E3 +S21400D9B05B059B0E7B4399460B885B059B0E6B4372 +S21400D9C04B441D02A94699444D46ED01A9464B44D9 +S21400D9D0DB009B0E0078C006C00E47430978C906D8 +S21400D9E0C90E4046414379180F027F18FF017F1881 +S21400D9F0FF0D61460F4014E708AA1778FF06FF0ED2 +S21400DA0013885B059B0E5278D2080AE7257D1F21F6 +S21400DA108D432F4327755901A38A114803400B43B2 +S21400DA20A382D2005B055B0F1A43627501232EE7C3 +S21400DA30237D1F229343009D1D432575019B5A019C +S21400DA40A38A07490B401343A382029AD6005B05BC +S21400DA505B0F33436375012319E7C046EDD0000022 +S21400DA601FF8FFFF0DD20000F0B5CE46474680B542 +S21400DA7083B080466B46D980514B1988002900D167 +S21400DA809BE0504B1F683B00203301398AB2D1001F +S21400DA9089188900443179184B4802E024338B42B8 +S21400DAA005D01A688242F9DB013A1A60F6E70025CB +S21400DAB0464E434B994607E001282AD00135ADB2C1 +S21400DAC04B461B88AB422FD9EC006419A4003C19C6 +S21400DAD06068B0470028EFD163684345EED12089DF +S21400DAE06B46DB88C01A42424241D0B20028E5D0DD +S21400DAF0236A626994466344FA229200934211DDD7 +S21400DB002262002C10D0200003B00CBC9046994630 +S21400DB10F0BD414660682E4B984703005842584176 +S21400DB20C0B2E3E72362ECE7254B1A88012A13D933 +S21400DB303B002433023A91B2CA005218920048328F +S21400DB40BA183C0002E02433934206D0196A206AD1 +S21400DB508142F8DA1C00F6E73C006368002B02D02E +S21400DB6020001C4B98471C4B984705000023636118 +S21400DB706B46DA8841462000184B984700280DD09F +S21400DB80002323626369002BBDD12800144B9847FD +S21400DB9060610028B7D101236361B4E720000D4B14 +S21400DBA09847202120000F4DA84724212000A84791 +S21400DBB080231B0623620024A5E70024A3E7C046B3 +S21400DBC0B62B0020844D00200200008061810000FA +S21400DBD0CD7F010085E600008DF700009DE5000082 +S21400DBE0A9F700004D100100F8B5D646474680B5A7 +S21400DBF00700154B1B689846144B1B88002B1ED03D +S21400DC000025134B9A46114E0FE0002B02D0200041 +S21400DC10104B984720212000D04724212000D047D1 +S21400DC200135ADB23388AB4209D9EC006419A400C3 +S21400DC3044446368BB42E8D0002FF1D1E5E70CBC52 +S21400DC4090469A46F8BDC046844D0020B62B00206C +S21400DC504D10010085E60000F0B5C64600B504008C +S21400DC60204B1B68002B06D000201F4B98471D4BEF +S21400DC7018681E4B9847E000001980001C4B984718 +S21400DC80184B18601B4B984700281FD0154B1B6875 +S21400DC90002B22D0184B1C80002C14D00024114FCF +S21400DCA0164E9846E5002D19AD003B685819202100 +S21400DCB0B0473B6858192421B0470134A4B2434604 +S21400DCC01B88A342EED804BC9046F0BD054B1A68EC +S21400DCD000230B480B498847FEE70022064B1A80B4 +S21400DCE0F1E7C046844D0020E9DB0000390B010057 +S21400DCF0710A01007D140000B62B00204D100100B3 +S21400DD00948801008514000030B585B00C0015001D +S21400DD100800304B9847031E22D12378DB06DB0E23 +S21400DD20043BDBB200200A2B1FD82368DB025B0D06 +S21400DD309B02294A29680A4013432B6063885B09C3 +S21400DD405A0169881F230B4013436B802378DB0638 +S21400DD50DA0E2B781F218B4313432B70013004E01F +S21400DD60012804D00020022B23D005B030BD0222AB +S21400DD70210002A8194B984700280AD02B78DB060A +S21400DD80DB0E1C331F22134001200A2BEDD9002086 +S21400DD90EBE701AB0422290002A8114CA0470400BF +S21400DDA002A8104B9847002CF1D1019B042BEED112 +S21400DDB0E4E7094A2B681A408023DB0013432B60F4 +S21400DDC020226A80C03213400B2213432B7001308E +S21400DDD0CBE7C04661810000FF03E0FF2904010095 +S21400DDE08D0301005D03010070B50D00CC69002CA9 +S21400DDF016D02068002804D00A4B984720680A4BA3 +S21400DE0098476068002801D0074B9847A06800280C +S21400DE1001D0054B98472000034B98470023EB6141 +S21400DE2070BDC0465D030100390B0100F0B5DE464B +S21400DE3057464E464546E0B585B006000C008B7A40 +S21400DE40012B18D0002B00D04AE14B689B68002BB2 +S21400DE5000D143E1087BC006C00E031F022B5AD830 +S21400DE6063689B682361012005B03CBC90469946D8 +S21400DE70A246AB46F0BD48689F4B98479F49A04BCB +S21400DE80984700281AD10222616802A89D4B98473D +S21400DE90002813D1E369002B12D0E56908209A4BBD +S21400DEA098472860994B984700281ED02A68002378 +S21400DEB0002A20D121003000954B98470020D3E758 +S21400DEC00C30914B9847E061904B9847002805D15D +S21400DED0E26900238F4890498847FEE7E0690028FA +S21400DEE0ECD00C218D4B9847D7E72A680023894849 +S21400DEF089498847FEE702A9595CD1540133082BAB +S21400DF00F9D1207BC006C00E031F022B03D8A37ACC +S21400DF10002BA5D0EBE0C31F032B07D90B38032833 +S21400DF2000D9D5E00023236101209DE77C4B98476C +S21400DF300700E369002B0FD0E5690220B840724B5A +S21400DF4098476860714B9847002820D16A6800237C +S21400DF50704871498847FEE70C206B4B9847E06194 +S21400DF606A4B9847002805D1E269002369486A4948 +S21400DF708847FEE7E069002805D121003000644BA1 +S21400DF809847002070E70C21644B9847D4E701239C +S21400DF90BB401F0018005C4B9847A8605B4B984737 +S21400DFA0002847D06B68002B4AD0AB68002B47D0C0 +S21400DFB0A37A012B4AD063689868002F00D183E0CB +S21400DFC0002398463F339B46203B9946554B9A463E +S21400DFD0414601944A006B689C46624443789C081C +S21400DFE000948678F6084C4626400478E408A44652 +S21400DFF014784B469C43A046644643461C43147024 +S21400E0005B46009C1C4063019C4613885446234094 +S21400E010644623431380F6001B0A07242340334339 +S21400E0205370C378AA685354013104308F42D1D15B +S21400E030019C49E0AA680023364837498847FEE72E +S21400E04021003000324B984700200DE70421286855 +S21400E050354B9847002F37D00026344B9A463F233F +S21400E0609946203B98460023042202A92868D047F8 +S21400E07072006B689C46624402AB5B78990800911C +S21400E08002A98978C908404601408B4602A908784B +S21400E090C008117843469943084310704B460099D0 +S21400E0A01940480113881F490B4003431380594603 +S21400E0B0C9005B055B0F0B43537002ABDB78AA68A5 +S21400E0C093550136B742CED1002323610120CBE61B +S21400E0D0210030000E4B98470020C5E60020C3E61E +S21400E0E0087BC006C00E031F022B00D913E70023CF +S21400E0F023610120B8E6C046F1040100CC8A010085 +S21400E100CD7F010029040100710A01007D14000082 +S21400E110E9DD000094880100851400004D10010020 +S21400E120E57E00001FF8FFFFCF0301008D0301000E +S21400E130F0B5DE4657464E464546E0B58BB00D0078 +S21400E1401700019314AB00269E5F0A7B1F23134023 +S21400E1501A1F022A36D88B7A0020012B06D00BB065 +S21400E1603CBC90469946A246AB46F0BDCB69994664 +S21400E170087BC006C00ED54B98478046E968C902A2 +S21400E180490D019B4B43D9194143C91004314B46F5 +S21400E1901868CF4B984703000020002BDFD143467A +S21400E1A0D808C0B24643002306934B46186806AB11 +S21400E1B032001599C74CA047069B9E1B70427041C3 +S21400E1C0C0B2CCE71A000B3A032A2DD9073B002031 +S21400E1D0032BC4D8087BC006C00EBC4B98478146AC +S21400E1E001238340013B9BB298462B7BDB06DB0E6C +S21400E1F0DAB2082A00D135E100D8FEE0DAB2092A00 +S21400E20000D146E10A2A00D05BE1EB68DB025B0D39 +S21400E2109AB21BB29A46019C5443E7198023DB004E +S21400E2209B46BB440024FEE0002104AB1970FF228D +S21400E2305A7005AB19705531597055319970DA70AE +S21400E24006AAA54B13CB13C21B6813602989002EA0 +S21400E25011DD080A159C721E92B2013294465200D5 +S21400E26062442300A4466244019C1970587003332C +S21400E2709A42FAD10194287BC006C00E934B984769 +S21400E280814601238340013B9BB298462B7BDB06ED +S21400E290DB0EDAB20C2A4BD011D9DAB20D2A5DD0D9 +S21400E2A00E2A70D1EB68DB025B0D99B21BB20293AB +S21400E2B0019C4C43E419002700239A4615E00B2ADC +S21400E2C061D1EB68DB025B0DDA10511C02915B0733 +S21400E2D001D113B20293029B019C5C43F9106418AF +S21400E2E00723BB431F0004AB9A46EB699B46029884 +S21400E2F07A4B98470390AB7A002B4ED16B6899689F +S21400E3000C19002E74DD159B981C013EB6B27200E7 +S21400E310921905329C4662441F21FF239B46082320 +S21400E3204E469B1B5BB20193AC461500C1464BE0C4 +S21400E330EB68DB025B0D9A10511C02919B0701D122 +S21400E34013B20293029B019C5C43B9106418BBB2E3 +S21400E35003279F437F0005AB9A46C6E7EB68DB02C0 +S21400E3605B0D5A10511C0291DB0701D413B20293C5 +S21400E370029B019C5C4379106418FB0709D50027B3 +S21400E38006AB9A46B1E700270024002302939A467C +S21400E390ABE7042706AB9A46A7E7211D5B4618683D +S21400E3A04B4B98475B4618680023029A0399494CE2 +S21400E3B0A047039CA5E7DBB20370BF1B7FB2002F0C +S21400E3C013DB0330854213D0237898464B46BB4078 +S21400E3D0424613403B416246127B0A400E2AEAD070 +S21400E3E05A4613405246D35CE6E7019F0134E8E7FD +S21400E3F003983B4B98470120B1E6072A61D1EB68AA +S21400E400DB025B0DDA10511C8A465B0701D113B2A2 +S21400E4109A465346019C5C43FB10E41808239B462F +S21400E420A3440724BC43EF6950462C4B9847029000 +S21400E430AB7A002B56D16B6899685944002E78DD6C +S21400E4401598013EB6B2013673009E19844666449E +S21400E450FF239A4608224B46D21A53B20193B4467B +S21400E4604E464FE0EB68DB025B0D9A10511C8A4665 +S21400E4709B0701D113B29A465346019C5C43BB10DE +S21400E480E41810239B46A344BFB20324BC43640095 +S21400E490C9E7EB68DB025B0D5A10511C8A46DB07A6 +S21400E4A001D413B29A465346019C5C437B10E41891 +S21400E4B040239B46A344012427407C427C41A40081 +S21400E4C0B1E700239B4600249A46ACE7E57E0000B1 +S21400E4D0CF0301008D030100BC8A0100C10E0100BC +S21400E4E0D50B0100594604313868144B9847002371 +S21400E4F0524602993868124DA84702999EE70330A3 +S21400E500604516D00A784346A3401340234152463E +S21400E51013405A007D68525B0270120A4270BA6855 +S21400E520D35C8370A41B64B2002CE8DA019C013132 +S21400E530E5E70298034B9847012010E6CF03010059 +S21400E5408D030100D50B0100F0B583B001900D00DE +S21400E5500A781F2313400B700D480E4B9847041E75 +S21400E56014D00D4E05E0002721000948B047041ED0 +S21400E57009D02368002BF6D02A000199200098477E +S21400E58007000128F0D1380003B0F0BD0027FAE7F5 +S21400E590D04C00206D06010085060100F0B583B062 +S21400E5A00700009102810800254B9847B8720023A7 +S21400E5B0FB6101280ED0009B7B602248224B9847C7 +S21400E5C0041E36D000250C239C46BC4463460193AB +S21400E5D01E4E10E0009C20001D4B984701301D4B3E +S21400E5E09847786021001C4B9847E6E721001548BD +S21400E5F0B047041E18D02368002BF7D06268002AA4 +S21400E600F4D0019A00992000984705000128EDD122 +S21400E6100023BB613B613C6039002000636898477B +S21400E62005000128E2D101E0002D03D0280003B048 +S21400E630F0BD002520213800084B9847F6E7C04675 +S21400E64061810000D04C00206D06010085060100A7 +S21400E650F17F0100710A0100E17F01004D10010009 +S21400E66070B582B00568AC68002C09D0069E01968D +S21400E670009313000A0001002800A04702B070BDF6 +S21400E6800020FBE710B504000068002807D0C36828 +S21400E690002B01D021009847A37A012B00D010BD93 +S21400E6A06068024B984700236360F8E7390B010067 +S21400E6B010B50B480B4B984704000B4B98470028A7 +S21400E6C007D0002C03D010212000084B98472000CC +S21400E6D010BD22000023064806498847FEE7C046CC +S21400E6E0D04C0020CD0501007D1400004D10010027 +S21400E6F0948801008514000010B510210C480D4BBD +S21400E70098470D4B9847002808D00C4B03600C4BDD +S21400E71043600C4B83600C4BC36010BD0B4B98479B +S21400E7200028FAD10022002309480A498847FEE754 +S21400E730D04C0020B9050100B1E6000009DD00005C +S21400E7402DDE000031E10000E9DD00007D14000050 +S21400E750948801008514000010B54368984710BDE2 +S21400E76010B50468A04710BD10B584B013000A00A9 +S21400E77001A9054CA0470023002801D001AB1B8847 +S21400E780180004B010BDC04661E7000003780A78A0 +S21400E790934201D0981A704740784B78C01AFAE72F +S21400E7A003880A88934201D0981A704740884B889D +S21400E7B0C01AFAE700880B88C01A7047F0B587B011 +S21400E7C00C000B1E18D00669B369994217D0728ADE +S21400E7D09205920D002A62DDB7683B68C81A05905C +S21400E7E0BB8898420DD800230393BA7C002A1AD11E +S21400E7F0FB881B18B461F361180007B0F0BDF3691D +S21400E800FAE70021013189B2914248DA8B005B18A1 +S21400E8109B000393FB181868201A05909D88A84251 +S21400E820F0D81F00E1E7012A1BD0022A1ED00023E1 +S21400E830032ADFD13A8AB9681B4B0093022305A846 +S21400E8401A4FB847002828D0039BB2689446634402 +S21400E8501D009B68C01A4008EB68185CEB88C3185C +S21400E860C8E7FB68185CFB88C318C3E73A8AB96830 +S21400E8700D4B0093022305A80C4FB84700280AD07A +S21400E880039BB268944663441D009B68C01A400808 +S21400E890EB88C318AEE70023ACE70023AAE7B46111 +S21400E8A00023F361A8E7C046B5E70000F11B0100AE +S21400E8B0F0B5DE4657464E464546E0B599B00929BE +S21400E8C01CD00569CD4B9847002801D100F0DBFC31 +S21400E8D0C0006B681E182B7D9B0711D1002E01D13E +S21400E8E000F0D4FC30680003030B2868C01819B089 +S21400E8F03CBC90469946A246AB46F0BD1731E0E7D1 +S21400E900337974795C43002C01D100F0C2FCEB7CB7 +S21400E9109B061B0FDAB2022A00D18DE008D9DAB2C4 +S21400E920032A00D18BE0042A04D10134640801E0F4 +S21400E930012A7ED0B24B1868B24B984784420FD952 +S21400E940AF4F21003868B04B98473860AF4B9847B8 +S21400E950002877D0AA4B1B68002B01D100F09CFC46 +S21400E96033681B031B0B2A68D218A54B1B6803933E +S21400E97033790D931BB21193737910931BB20E93D8 +S21400E980EB7C9B061B0FD9B200910691032960D041 +S21400E9909F490A609F4A137000239F4A13709F4A3C +S21400E9A013609F4A13709F4A13700D9F38009E4C49 +S21400E9B0A047050017903800A0470190119B002B38 +S21400E9C000DC5EE2964B1B780293964B1B789A46C9 +S21400E9D08F4B1E68914B18688E4B1B789946012307 +S21400E9E049468B40013BDBB20B9308235B1A0C9322 +S21400E9F010235B1A0A93884B1B789C462C003B001E +S21400EA00013B9BB201330F932A009B465A4409925E +S21400EA10002305930893002107934B469B009B46D3 +S21400EA20824B5B44129353460493A84667464D4672 +S21400EA3031E00734E4087DE70334A4087AE70134BC +S21400EA40640877E76E4B1A68002379487949884747 +S21400EA50FEE7013106919BE703239C46C308072186 +S21400EA6001404A19072A2FD8F35C0C9A511A0B4119 +S21400EA7062461A401300002802D0029A934231D010 +S21400EA804019029301210122079223700134099B49 +S21400EA909C4200D14BE1002F2CD14B46082B0DD8C1 +S21400EAA0654B5A469B5807939F4607239C46D5E7D7 +S21400EAB00F239C46D2E7FF239C46CFE70B9B9C4642 +S21400EAC0CCE701239C46C9E7F25C12029246F31893 +S21400EAD05B7853449BB20A9A511A0B4162461A401D +S21400EAE01300C8E701220592002204920132089220 +S21400EAF00127C5E7012F11D00023022FC5D1049AA4 +S21400EB00013AD3B20493002B00D00CE14B46082BFD +S21400EB1000D9F1E0129B1B6802939F46C3080721A9 +S21400EB2001404A1C072A15D8F35CC94308310B413B +S21400EB3001221340049A0132D2B20492411C012BE6 +S21400EB4015D04B46082B00D9ABE03C4B5A469B5899 +S21400EB5002939F46F25C12029446F3185B78634475 +S21400EB609BB2C94310310B4101221340E2E70B2A46 +S21400EB7005D00800029B01220592012185E7CB08FB +S21400EB80072211408A1D072A13D8F25C0223591A5D +S21400EB900A413D331A4004920730049B002B00D0F4 +S21400EBA0BAE04B46082B24D8254B5A469B5802936E +S21400EBB09F46F25C1202F3185B789A1892B20A2308 +S21400EBC0591A0A4135331A400492E5E70323C70869 +S21400EBD0072101404A19072A34D8F75D0C9A511AC2 +S21400EBE00F413B4039E00723F1E70F23EFE7FF2310 +S21400EBF0EDE70B9BEBE70123E9E7C046BDE7000026 +S21400EC00B82B0020B50B0100450E01007D14000056 +S21400EC10C02B0020BC2B0020CC2B0020C82B0020B3 +S21400EC20C42B0020BD2B0020C10E0100F48A010079 +S21400EC309488010085140000D08A0100188B01001A +S21400EC403C8B0100F25D12029446F7197F78674408 +S21400EC50BFB20A9A511A0F413B4040190293012253 +S21400EC60059208920027012107920EE70323CF089A +S21400EC70072008404219072A17D8F75D0C9A101A81 +S21400EC8007413B404819029301220592089200274B +S21400EC9001210792F9E60723E9E70F23E7E7FF23B9 +S21400ECA0E5E70B9BE3E70123E1E7F25D12029446FA +S21400ECB0F7197F786744BFB20A9A101A07413B409B +S21400ECC0E0E70323C708072101404A19072A17D897 +S21400ECD0F75D0C9A511A0F413B40401902930122EE +S21400ECE005920892002701210792CEE60723E9E75E +S21400ECF00F23E7E7FF23E5E70B9BE3E70123E1E7C5 +S21400ED00F25D12029446F7197F786744BFB20A9AFA +S21400ED10511A0F413B40E0E7029B01220592089200 +S21400ED2002270121B1E6029B01220592ADE6049B73 +S21400ED309A464546BC46079B002B14D1002901D0B5 +S21400ED40CC4B1860089B002B02D0CB4B62461A7047 +S21400ED50059B002B02D0C94B52461A700026009B1A +S21400ED6002932F0023E0C64B6A46127A1A70E5E734 +S21400ED70042300220721314008256D1AED1A71037D +S21400ED80090C039884466144012098400300013B27 +S21400ED90DBB2DB43AB4008780340AA401A430A7054 +S21400EDA0069A1300944666440137A74221D03A7863 +S21400EDB0029B00990329DDD1072A18D89200B14B8F +S21400EDC09B589F4604230222D4E704230422D1E75B +S21400EDD004230622CEE704230922CBE704230B22D2 +S21400EDE0C8E704230D22C5E704230F22C2E7042345 +S21400EDF0C0E70F9A5A430F920E9B012B00DC34E2B9 +S21400EE00A14B1B681E00A14B1B781A000993012317 +S21400EE109340013BDBB212939246984B1B78984680 +S21400EE2008239B1A0C9310239B1A0E93944B1B7863 +S21400EE300293904B1868904B1978109B023B9BB23C +S21400EE4001331393069C04940D9B013B9BB21D005B +S21400EE50149323006B431593002310930B930D9389 +S21400EE600793089393000A93894A9C466244169235 +S21400EE70119B9B4643460693179B1D008C46B14646 +S21400EE80CFE100230F93B7E7032308E0072306E04C +S21400EE900F2304E0FF2302E0129B00E00123C508D5 +S21400EEA0072202409719072F1FD84F467D5D0C9FFB +S21400EEB0BA1A15412B40DBB2002802D0029A9A42B9 +S21400EEC021D0801902930122079208922370013400 +S21400EED0644500D141E100291DD1099B082BDBD8F0 +S21400EEE00A9B6C4AD35805939F464F467F5D3F0268 +S21400EEF0BA464D446D785544ADB20E9FBA1A1541C8 +S21400EF002B40DBB2D8E701220B9200220692013298 +S21400EF100D920121D5E7012911D000230229D5D170 +S21400EF20069B013BDBB20693002B00D011E1099B48 +S21400EF30082B00D9E0E0169B1B6802939F46C30887 +S21400EF4007220240551C072D16D84D46EB5CD243CF +S21400EF500832134101221340069A0132D2B20692B9 +S21400EF60451C012B15D0099B082B00D980E04A4B85 +S21400EF700A9A9B5802939F464D46ED5C2D024B44E1 +S21400EF805B785B199BB2D2431032134101221340C7 +S21400EF90E2E70B2A05D02800029B01220B9207927B +S21400EFA094E7EB0807221540AA1D072A14D84A46FC +S21400EFB0D35C0222551B2B413D321A400692073085 +S21400EFC0069B002B00D0BDE0099B082B34D8334BA2 +S21400EFD00A9A9B5802939F464A46D25C12024B44BA +S21400EFE05B789B189BB20A22551B2B4135321A4080 +S21400EFF00692E4E703239A46C508072303409A19B6 +S21400F000072A1FD84A46525D0C99CB1A1A41534616 +S21400F0101340DBB28019029301220B920D9200215D +S21400F0200792089252E707239A46E5E70F239A4687 +S21400F030E2E7FF239A46DFE7129B9A46DCE70123C6 +S21400F0409A46D9E74A46515D09024D446A785218F5 +S21400F05092B20E99CB1A1A4153461340DBB2D9E747 +S21400F06003231EE007231CE00F231AE0FF2318E00B +S21400F070129B16E0C82B0020CC2B0020BD2B0020B6 +S21400F080C42B0020608B0100C02B0020BC2B00206E +S21400F090A48B0100808B0100C88B0100EC8B010063 +S21400F0A00123E90807222A40901907280FD8484666 +S21400F0B0415C0C98821A11410B40DBB2A8190293EE +S21400F0C001220B920D92002107920892FEE6484616 +S21400F0D0405C000249444978091889B20E98821AA1 +S21400F0E011410B40DBB2E9E7032308E0072306E003 +S21400F0F00F2304E0FF2302E0129B00E00123C10877 +S21400F100072202409519072D0FD84D46695C0C9DC5 +S21400F110AA1A11410B40DBB28019029301220B920E +S21400F1200D92002107920892D0E64D466D5C2D02A6 +S21400F13049444978491989B20E9DAA1A11410B40D3 +S21400F140DBB2E9E7029B01220B920D9202210792A5 +S21400F150BCE6029B01220B92B8E68C46B2460F999B +S21400F1600027009B0593030040466246119298468E +S21400F1701EE00423002407220A400826B61AF61AC0 +S21400F1804D032D0C039A9446654401229A401300C1 +S21400F190013BDBB2DB43B3402A781340B440234341 +S21400F1A02B70049B9C46614401373BB29B4525DD92 +S21400F1B0019BDC5DC35D5C40C455059B009A032A39 +S21400F1C0D9D1072C18D8A400354B1B599F460423C9 +S21400F1D00224D0E704230424CDE704230624CAE748 +S21400F1E004230924C7E704230B24C4E704230D24BF +S21400F1F0C1E704230F24BEE70423BCE70500119AE9 +S21400F20094464046159B049A904643440F9A90466F +S21400F210984443460F93109B01331093139A9342DE +S21400F2200DD05B46002BF6DD019B98461C00149B18 +S21400F2305E1C4644A8466146B44656464BE6069BC8 +S21400F24098466146089B002B18D1079B002B01D0DF +S21400F250144B18600D9B002B01D0134B19700B9BA1 +S21400F260002B02D0114B42461A701798104CA0473C +S21400F2700198A0470F4B1868FFF739FB0E4B6A46FC +S21400F280127A1A70E1E70020FFF731FB0020FFF743 +S21400F2902EFB0020FFF72BFB0020FFF728FBC046C5 +S21400F2A0108C0100C82B0020CC2B0020BD2B00208A +S21400F2B0D50B0100B82B0020C42B0020F0B5DE468D +S21400F2C057464E464546E0B585B081460C001F00C1 +S21400F2D00025092A3AD04B461E6911004846534B72 +S21400F2E098478346002800D194E0F368002B00D1AD +S21400F2F08EE0390048464D4B98470023002828D119 +S21400F3005A46D000726894466044328A5A431211B4 +S21400F31041880909002D00D04900130008335B1806 +S21400F3201B0923804379A380027962800623C35693 +S21400F330E3800723C3562381F37C9B061B0FA3722F +S21400F340002D00D16FE05200628064E00135173274 +S21400F350C1E74B461B69DA7C520642D4DB68984606 +S21400F360DB7A03221A401CD00023012AC8D1434668 +S21400F3701B68994600025844039043469B681A024D +S21400F380120A2B4B00930423494603A8294FB8477B +S21400F390002824D04B46C01A000943465B681B561B +S21400F3A0AEE743461B68994603AB9C4600025844AA +S21400F3B0188043469B681A02120A1F4B00930223CA +S21400F3C0494660461B4FB847002806D04B46C01A31 +S21400F3D0400843465B681B5692E7002390E70023ED +S21400F3E08EE7DA6853685946595C0023002987D0AF +S21400F3F09368185C0023002800D181E70139537B0D +S21400F4004B4311680918C91801390023CB5677E712 +S21400F410002375E70025280005B03CBC90469946B9 +S21400F420A246AB46F0BD0125F5E7C046BDE70000A5 +S21400F430A1E70000F11B01008DE7000010B5054BA9 +S21400F4401868002804D0044B98470022014B1A6025 +S21400F45010BDC046B82B0020390B010010B50400C3 +S21400F4602C21154B98470022E260F0235B00238096 +S21400F470A03B63806260237A02218B43237226318D +S21400F480635C1F2083436354218DFC23DB000B4306 +S21400F4902385210028315B055B0F4B7023890749C4 +S21400F4A0194082239B000B43238101210B432372C7 +S21400F4B022626262626110BD4D10010003F0FFFF20 +S21400F4C0F8B504000D0017001E002421034B9847D2 +S21400F4D025606760A560E660F8BDC0464D10010077 +S21400F4E070B505003848394B9847041E55D0B821EA +S21400F4F04900374B98472C2229002000354B984767 +S21400F500200030304C21344B98470022B6235B0055 +S21400F510E250324B1B68002B4AD0304B1E681C60F2 +S21400F520230003221E212E482E4DA847E0622E4BB4 +S21400F530984700283FD0E36A002B42D0B4225200FE +S21400F540A35A9B0A9B02A3520022B6235B00E250FA +S21400F55000210020254DA847E06300210020A84791 +S21400F560206400210020A84760640021206C204D04 +S21400F570A8470021606CA8470021206C1D4DA847B5 +S21400F5800021606CA847E06B1B4B9847134B1E602E +S21400F590E06A1A4B9847200070BD0020124B98472F +S21400F5A00028F8D100220023154816498847FEE7B0 +S21400F5B00A4B1C60B1E7E26A0023114811498847EC +S21400F5C0FEE70024E7E7C046C44C0020CD05010056 +S21400F5D04D1001008D0C0100B9050100D02B002054 +S21400F5E0BD430000D91501007D140000E528000089 +S21400F5F07926000015190000B11F00002D16010025 +S21400F6009488010085140000014B18687047C046B6 +S21400F610D02B0020031E05D01A7A920709D50220A7 +S21400F620185E7047044B1B68F0204000002BF8D093 +S21400F630F2E70020185EF4E7D02B0020031E05D06A +S21400F6401A7A920709D50020185E7047044B1B688B +S21400F650A0204000002BF8D0F2E70220185EF4E766 +S21400F660D02B0020031E03D018890005800D70479C +S21400F670024B1B688220002BF9D0F5E7D02B002028 +S21400F68070B5051E19D028000F4B984704002800B7 +S21400F6900E4B98470100A000001940000C4B9847FD +S21400F6A0020000201D2A07D90130312A04D944302F +S21400F6B0904280414042023070BD064B1D68F024E7 +S21400F6C06400002DE3D0DEE715F6000065F60000C6 +S21400F6D0F1790100D02B0020426800239361426834 +S21400F6E0D361704710B5002804D001000348044BCE +S21400F6F0984710BD0148034B9847FAE7C44C0020D2 +S21400F700850601006D0601004068704743681A6868 +S21400F710002A04D05868431E9841C0B270470020A3 +S21400F720FCE7000010B50400074B984700280AD0F5 +S21400F7300022A35E0222A05E58436368DB68C01AFC +S21400F74043425841C0B210BD0DF7000010B5002866 +S21400F75004D001000348044B984710BD0148034BF2 +S21400F7609847FAE7B84C0020850601006D060100B0 +S21400F7700022044B1A70044B1A68944660441860C2 +S21400F7807047C046D82B0020D42B0020044B012104 +S21400F79019701A78002AFBD0024B18687047C046CA +S21400F7A0D82B0020D42B002010B50400014B98471E +S21400F7B0001B10BD8DF7000010B50C00096A606ACA +S21400F7C081420AD08002064B9847A369E269D21AA2 +S21400F7D050438012181800B210BD8020C000F4E715 +S21400F7E0F179010010B50122094B1A7009480A4B3D +S21400F7F09847002805D0094B18680421084B9847FD +S21400F80010BD064B18680021054B9847F8E7C04620 +S21400F810E02B0020884D00206D060100DC2B002028 +S21400F82049150100F0B5CE46474680B591B065480B +S21400F830654B984700280BD03C25624C634E435DD1 +S21400F84002229343435501002000B0470028F6D11A +S21400F8505F4B18685F4B984707005A485A4B9847C3 +S21400F860041E00D18CE05C4E0025B04626E0DB1975 +S21400F870002B00DA8DE0A268002A00D190E020007C +S21400F880904728E02369002B2FD02000103021005D +S21400F89098476368002B02D001B220689847636AD5 +S21400F8A0226A934227D243461B78002B00D171E090 +S21400F8B04448454B98470400002C61D035703C23E3 +S21400F8C0E35C9B0766D43C22A35C02210B43A35453 +S21400F8D0636A002BCBDD636AFB186362002BE2DBF6 +S21400F8E0226A9A42CED26262CCE720001030210013 +S21400F8F03A4B9847CDE73C23E35C01221340181EA1 +S21400F90007D1A28E002A4DD035498A4251D0013AFD +S21400F910A286A28E002A1AD0236B5A426262E26A3C +S21400F920002AC0D0002840D04342434199463C209C +S21400F930215C012399434B460B432354A169E0699C +S21400F940A061E161DB0700D4A26B2262ABE7E26A4A +S21400F950002A01D0002828D0402221006846214BEA +S21400F960984721001748204B984720001F4B984780 +S21400F9701F4B9847039B002B95D06846984792E705 +S21400F9801C4B9847124B186011B00CBC9046994619 +S21400F990F0BD636221000B480C4B984704008BE7D0 +S21400F9A063629DE7E26A002AD6D0A36A5942616282 +S21400F9B0BAE7236B5A426262E26A002A00D172E713 +S21400F9C0F3E7C046884D00206D060100850601005D +S21400F9D0E42B0020A9F70000E02B0020B9F7000078 +S21400F9E0FFFF00008D0C010055070100390B0100D8 +S21400F9F0E5F700008DF7000010B540210A480B4BD4 +S21400FA0098470B4B98470B4B1860002304221E2187 +S21400FA1009480A4CA0470A4B18600A4B9847002230 +S21400FA20094B1A7010BDC046884D0020B90501006C +S21400FA308DF70000E42B002025F80000D915010002 +S21400FA40DC2B0020E5F70000E02B002010B50400BA +S21400FA5040210D4B9847FA235B0023620023A361E5 +S21400FA606433E361094B1A7822745A7862749A7880 +S21400FA70A274DB78E3740123A3863622A35C0121FB +S21400FA800B43A35410BDC0464D100100D8C801005A +S21400FA90F0B5D64600B582B006008A461548164B25 +S21400FAA09847041E1ED000230193144F0CE021003B +S21400FAB01048134B98472000124B9847124B984714 +S21400FAC0012301932C1E0FD021000A48B8470500D9 +S21400FAD02368B342F6D163685345E8D05346002BFB +S21400FAE0F0D1E4E700230193019802B004BC9246EB +S21400FAF0F0BDC046884D00206D0601008506010059 +S21400FB0055070100390B0100E5F7000070B5050048 +S21400FB104168002902D00068194B984719481A4BCB +S21400FB209847002820D11748184B98470400184BD0 +S21400FB30984700281ED0002C15D02B6AAB634022B5 +S21400FB4029002000134B98473623E35CDB0708D5D3 +S21400FB506368002B05D02068002802D01822A15E1A +S21400FB6098470D4B984770BD0C4B984701380C4B87 +S21400FB701860D8E7220000230A480B498847FEE7AA +S21400FB8091FA0000884D002015090100CD050100FE +S21400FB907D1400008D0C0100E5F700008DF70000D5 +S21400FBA0E42B0020948801008514000070B5002323 +S21400FBB0C65E0423C25E921BD40FA4186410A5B2BE +S21400FBC024B20B889B1B5B1B1BB24A884188521AC7 +S21400FBD0521B12B264435B4352439B18E017DA0F82 +S21400FBE09C425041C0B270BD4B1E4188C918C180AE +S21400FBF070470423C25E0021435ED21A01320621FA +S21400FC00435E0221405E181A013050437047F0B53B +S21400FC10C64600B50D8813881C1C1BB22EB2B34214 +S21400FC2000DA2C1C26B204804D8853881C1C1BB29C +S21400FC302FB2BB4200DA2C1C27B244808D889388F2 +S21400FC401C1C1BB298462BB2984500DD2C1C25B216 +S21400FC508480C988D3881A1C1BB20CB2A34200DD6C +S21400FC600A1C13B2C2800020AE4204DCF80FDA177A +S21400FC70BB425041C0B204BC9046F0BD70B50D8882 +S21400FC8013881C1C1BB22EB2B34200DD2C1C048051 +S21400FC904D8853881C1C1BB22EB2B34200DD2C1CB0 +S21400FCA044808D8893881C1C1BB22EB2B34200DAA7 +S21400FCB02C1C8480C988D3881A1C1BB20CB2A342A1 +S21400FCC000DA0A1CC28070BDF0B5DE4657464E46C6 +S21400FCD04546E0B585B00E000023CC5E0023C15E2D +S21400FCE000238C425EDB0425435F98460023444590 +S21400FCF058DC0223F45E0225435F9A4600235445EF +S21400FD0050DB0623C35E1D0001930023AC4249DC92 +S21400FD10002A00DC9BE04346684603800388994639 +S21400FD208CB2AFB253460380008802AB19804B46B4 +S21400FD3001331B1B1BB2D90FCB185B10791C091A99 +S21400FD4009B2CD0F6D186D10191C1BB2AB4200DD49 +S21400FD50291C0D1C09B2914200DD151CADB22C19F0 +S21400FD60A4B202AB9C8052465A80281883B20093F5 +S21400FD706B4600215A5E934602AA5946D18000225D +S21400FD80310002A8FFF7A0FF002813D02C1902AA02 +S21400FD909480009B9C466544D580310010002D4B16 +S21400FDA098470300180005B03CBC90469946A2460A +S21400FDB0AB46F0BD7F1BBFB202AB5F806A4692883F +S21400FDC0DA80002231001800FFF77EFF00280AD0F4 +S21400FDD02C1902AB9C807D1B5D80310018001D4BEA +S21400FDE098470300DEE74B465C1BA4B202AB1C80C0 +S21400FDF042469A80002231001800FFF765FF00286F +S21400FE000AD0641B02AB1C807D1B5D80310018008D +S21400FE10104B98470300C5E702AB52465A805A4635 +S21400FE20DA80002231001800FFF74EFF0123002879 +S21400FE30B8D0641B02AB1C80009B9C46654402AB9A +S21400FE40DD8031001800034B98470300AAE7012322 +S21400FE50A8E7C046ADFB000010B50023C45E04232F +S21400FE60CA5E0023944216DC0423C45E0023CA5EE6 +S21400FE70002394420FDB0223C45E0623CA5E0023DF +S21400FE80944208DC0623C45E0223CA5EE317D00F42 +S21400FE9094424341DBB2180010BD0000F0B5C646E0 +S21400FEA000B582B005000C0016000023C75E0022D5 +S21400FEB08B5E0020BB4214DC0223EA5E0221635EF6 +S21400FEC09A420EDB0423EA5E0421635E9A4208DC53 +S21400FED00622AB5E0621625ED80FD1179A424841D1 +S21400FEE0C0B2002E03D102B004BC9046F0BD01A9FA +S21400FEF00F806B884B8032002000104B98470028FC +S21400FF00F1D00422AB5E984601A90B803200200097 +S21400FF100A4B98470028E6D001A90F80EB884B8053 +S21400FF2032002000054B98470028DCD001A9434644 +S21400FF300B8032002000014B9847D4E7C9FC000034 +S21400FF4030B5142A27D89200B24CA2589746828819 +S21400FF5001320488121B12B2D40FA41864108A88C7 +S21400FF6001320D88521B12B2D50FAA185210A21ACF +S21400FF701A80C28801324488121B12B2D40FA41809 +S21400FF806410CA8801324988521A12B2D10F8A18F0 +S21400FF905210A21A5A801A88018852181A805A8853 +S21400FFA0418852185A8030BD00221A805A80F2E7E3 +S21400FFB0828801320488121B12B2D40FA41864106F +S21400FFC08A8801320988521A12B2D10F8A18521042 +S21400FFD0A21A1A8000225A80DDE782888C88121BBB +S21400FFE00488121B098852181A8000225A80D2E709 +S21400FFF000221A80C288CC88121B4488121B4988AB +S21401000052185A80C7E7828801320488121B12B23E +S214010010D40FA41864108A8801320D88521B12B2BC +S214010020D50FAA185210A21A1A80C288CC88121BA1 +S2140100304488121B498852185A80ACE782888C88FB +S214010040121B0488121B0C8812191A80C288CC88CD +S214010050121B4488121B498852185A809BE70022BB +S2140100601A80C28801324488121B12B2D40FA41817 +S2140100706410CA8801324988521A12B2D10F8A18FE +S2140100805210A21A5A8086E782888C88121B04882E +S214010090121B0C8812191A80C28801324488121B5E +S2140100A012B2D40FA4186410CA8801324988521AB1 +S2140100B012B2D10F8A185210A21A5A806BE7002288 +S2140100C01A80CA884988521AD2435A8063E78288BE +S2140100D001320488121B12B2D40FA41864108A8845 +S2140100E001320D88521B12B2D50FAA185210A21A4D +S2140100F01A80CA884988521AD2435A804BE78288A6 +S2140101008C88121B0488121B0C8812191A80CA8844 +S2140101104988521AD2435A803DE700221A80C28883 +S21401012001324188521A5A8035E7828801320488A2 +S214010130121B12B2D40FA41864108A8801320988DF +S214010140521A12B2D10F8A185210A21A1A80C288F5 +S21401015001324188521A5A801DE782888C88121B08 +S2140101600488121B098852181A80C28801324188F5 +S214010170521A5A800FE78A880988521AD2431A807F +S21401018000225A8007E78A880C88121BD2431A80FD +S214010190C28801324488121B12B2D40FA41864100C +S2140101A0CA8801324988521A12B2D10F8A185210DF +S2140101B0A21A5A80EFE68A880C88121BD2431A804C +S2140101C0C288CC88121B4488121B498852185A8050 +S2140101D0E1E6828801320188521A1A8000225A808A +S2140101E0D9E6828801320488121B1A80C28801323D +S2140101F04488121B12B2D40FA4186410CA880132A4 +S2140102004988521A12B2D10F8A185210A21A5A806D +S214010210C1E6C046E0C80100828801320488121B8C +S2140102201A80C288CC88121B4488121B498852182F +S2140102305A80B0E630B58DB2830702D00180023015 +S214010240013A29044919102A16D903001400196025 +S21401025059609960D960196159619961D9612033F2 +S214010260103C102CF3D81100113909094C1C6401FB +S214010270103A0901521A0019002A04D005800230EA +S214010280013A002AFAD130BD70B54A01521AFF244C +S214010290641A0304DB0E63439D182B025B19DB0112 +S2140102A05B191B01DB0E4505AD0E65438E01711A08 +S2140102B06D1829024919C9014919C900C006C00E9D +S2140102C06043821810028018C00180180001890E50 +S2140102D04901C00EDB020843184370BD10B5FF2369 +S2140102E0591A0304DB0E4B431A001B029B18DB0151 +S2140102F09B181B01DB0E4205920E4A4314001202A4 +S2140103001219D2011219D200C006C00E41430802CA +S2140103104018C00140180001920E5201C00EDB02C7 +S2140103201043184310BD421C4378002B04D109E04A +S21401033001321378002B05D03A2BF9D05C2BF7D07D +S2140103402F2BF5D01000704710B544210148024B01 +S214010350984710BD5C4D0020B905010070B504003A +S214010360406800280ED003690925002B08D02168B3 +S214010370984705002068044B984700232360636074 +S214010380280070BD0B25FBE7390B010070B584B062 +S2140103901C1E01D0002323604568002D15D0AE69D0 +S2140103A00923002E0ED000230393006803AB0093AD +S2140103B013000A0001002800B0470300002C01D0FA +S2140103C0039A2260180004B070BD0B23FAE770B5DB +S2140103D00A004468002C09D0256A0923002D03D0A1 +S2140103E001682000A8470300180070BD0B23FBE737 +S2140103F070B5040009480A4B984700280CD00378CA +S214010400A34209D0054D074E01002800B047002839 +S21401041002D00378A342F7D170BDC0465C4D0020E0 +S2140104206D06010085060100F0B5D6464F4680B53B +S21401043083B004000F00019200234360036000298B +S21401044041D00878234B9847606000280AD083681B +S214010450002B0BD09847002808D100236360236047 +S214010460012531E00023236003252DE063685888C9 +S214010470194B98472060194B9847002806D02368E7 +S2140104809A46002B08D163600A251DE022680023E6 +S214010490134814498847FEE763689946DE680925CC +S2140104A0002E11D03800104B98470200019B514690 +S2140104B04846B047051E07D020680C4B98470023D6 +S2140104C02360636000E00B25280003B00CBC914656 +S2140104D09A46F0BDF1030100710A01007D14000087 +S2140104E0948801008514000027030100390B0100E0 +S2140104F010B50400114B9847031E17D0225C2E2A14 +S2140105000FD02F2A14D05C2A14D0013B002B0BD01D +S214010510E25C2E2A05D02F2A0ED05C2AF5D1084897 +S21401052001E00133E01810BD0548FCE70448FAE78E +S2140105300348F8E70248F6E70148F4E7F17F0100CF +S214010540B8CA010000B583B0019200290DD0002A77 +S2140105500DD000680430091801AB1A780A705A7871 +S2140105604A709A788A70DB78CB7003B000BD006859 +S214010570043008180421014B9847F6E74D10010096 +S21401058000B583B0019200290CD0002A0CD0006877 +S214010590091801AB1A780A705A784A709A788A70E4 +S2140105A0DB78CB7003B000BD006808180421014B4E +S2140105B09847F7E74D1001000023436083608B07DF +S2140105C002D00323994304310160704770B50400DB +S2140105D0006808300E4B9847051E14D00022010013 +S2140105E020000C4B98476268290020000A4B984768 +S2140105F06168002903D02A002000064B98476560F1 +S214010600A368002B01D0280070BDA560FBE7C0469B +S214010610710A0100810501004505010070B504005D +S214010620006808300E4B9847051E14D000220100C2 +S21401063020000C4B9847A268290020000A4B9847D7 +S214010640A168002903D02A002000064B9847A56020 +S2140106506368002B01D0280070BD6560FBE7C046CB +S214010660710A01004505010081050100002801D03D +S214010670406870470020FCE7002801D0806870477A +S2140106800020FCE782B00023019300280BD003680A +S2140106900433C91801AB0A781A704A785A708A78F6 +S2140106A09A70CA78DA70019802B0704782B0002357 +S2140106B0019300280AD00368C91801AB0A781A709A +S2140106C04A785A708A789A70CA78DA70019802B0B5 +S2140106D070470000F0B5C64600B504000E000028BD +S2140106E029D0002929D04368994221D000680830D2 +S2140106F0134B9847051E18D031002000114B984720 +S21401070007002A00010020000F4B984698473A0040 +S214010710290020000D4FB8472A0031002000B847B5 +S214010720320029002000C047280004BC9046F0BDD6 +S214010730074B9847F9E70020F7E70800F5E7C046BA +S214010740710A0100AD0601004505010081050100A1 +S214010750CD05010070B504000D0000282BD04368BC +S21401076099422AD08368994217D029002000194B54 +S2140107709847060029002000174B984705000200FD +S21401078031002000154B9847320029002000144BF9 +S214010790984770BD0023A360FBE70E4B9847A06007 +S2140107A0002805D00022010020000C4B9847F0E7F6 +S2140107B000236360EDE70029D7D129002000064B0E +S2140107C0984760600028E5D0002201002000044B15 +S2140107D09847DEE7AD0601008506010045050100E4 +S2140107E08105010070B50C0015001E001100194BA3 +S2140107F09847002E17D0002229002000164B984754 +S214010800626829002000154B98476168002903D0CB +S2140108102A002000104B98476560A368002B00D083 +S21401082070BDA560FCE7A268290020000A4B984726 +S214010830002229002000094B9847A168002903D00F +S2140108402A002000054B9847A5606368002BE7D176 +S2140108506560E5E7550701008105010045050100D2 +S214010860F8B5CE46474680B505000C001600914205 +S21401087021D0002A23D01100224B9847070084423A +S21401088019D021002800204B984722003900280063 +S2140108901E4B984698473A00210028001C4B994663 +S2140108A09847220031002800C8473200210028005E +S2140108B0C047002F21D00CBC90469946F8BD0028B1 +S2140108C01DD08768BC42F6D0210028000E4B984701 +S2140108D02200390028000D4EB0473A0021002800BA +S2140108E00B4B98469847220000212800C04700225B +S2140108F021002800B047AC60DBE76C60DBE717003F +S214010900E0E7C046AD0601005507010045050100B8 +S2140109108105010000280AD000234268002A01D080 +S21401092018007047826853425341DBB2F8E701234F +S214010930F6E7000010B5B4214900194B984709B2F3 +S214010940002916DB592918DD89B20B005A3B9BB2E8 +S214010950592B16D90B00B43B9BB2592B18D9B4238B +S2140109605B00591A09B249000E4BC85A404200B200 +S21401097006E06931FF3109B2E4E74900094BC85E78 +S21401098010BDB423591A09B24900064BC85EF7E7F1 +S2140109901BB25B00034A985A404200B2F0E7C046D9 +S2140109A0D17C010034C9010030B50002002501E008 +S2140109B0520806D053191C005C43A042F8D31D0010 +S2140109C0F6E72B090B802D01FF231D404D8030BD1E +S2140109D000280ED0031D006840081818021D064B9B +S2140109E01B68802189018C4663449A429B411840CA +S2140109F07047014B1868FBE70C2C002030B58B07BD +S214010A0002D003239943043103685B080A1D93420D +S214010A1017D099420ED0021D521813780124A34311 +S214010A20137003685B08043B5B1A5B0015682C4077 +S214010A3023431360490001230268134019430160F0 +S214010A4030BD1100F6E70000064B074A136019781F +S214010A5001229143197019680A4004490A431A6031 +S214010A607047C046102C00200C2C0020F83F0000D8 +S214010A70F0B5C64600B5051E20D0830702D0032375 +S214010A809D4304350024104E012398460F4F08E07D +S214010A902900B8472378012213432370201D00281C +S214010AA00FD12000B047041E0AD0037842461A42EE +S214010AB0F7D103685B089D42EAD9F2E7044800E0F3 +S214010AC0002004BC9046F0BDD1090100FD090100DB +S214010AD0104C0020F0B5C64600B50020154B9847CF +S214010AE004000125134F3E00B84617E02000B84722 +S214010AF000281CD003781D420FD122685308043306 +S214010B00016849085B185B002A4013432360B0471D +S214010B1000280CD003781D42EFD00400002C06D02C +S214010B2023781D42E2D02000C0470400F6E704BC4B +S214010B309046F0BDD109010070B50400194B9842EA +S214010B4028D0002826D0021F137801218B4313706A +S214010B50154A138801339BB213800F2B1BD8043818 +S214010B60124B9847002815D00378DB0712D4043CB3 +S214010B7001250E4E226853080433016849085B18A4 +S214010B805B002A4013432360B047002802D0037855 +S214010B901D42EFD070BD0022034B1A80044B9847CC +S214010BA0F8E7C046104C0020E82B0020D1090100D0 +S214010BB0D50A0100002806D0054B984205D0043816 +S214010BC00068400870470020FCE70020FAE7C046AE +S214010BD0104C002010B5154B1B68984213D0134BD0 +S214010BE09B68012283420FD0114B1B68984213D099 +S214010BF001230F4C1900DA00A25890420DD00133A0 +S214010C00102BF7D110BD0022D200084B9B189A7901 +S214010C1001218A439A71F5E70021C900044B59184E +S214010C208B79012293438B71ECE7C0464400002088 +S214010C30DC4C0020F0B5C64600B5114B9A7901216F +S214010C408A439A719A7B8A439A730E4C00250E4BFF +S214010C5098460026270003E001350834102D0CD0F5 +S214010C6020680028F8D0C0472660EB00FB189A7968 +S214010C7001218A439A71A680EEE704BC9046F0BD36 +S214010C8044000020DC4C0020390B0100F0B5C646BC +S214010C9000B503231C0004400B409C4267D0202A69 +S214010CA063D921235B429C46944463465F097B1CBF +S214010CB05B01C5180C00030026781E7066785E700E +S214010CC0A6789E70E678DE7026791E7166795E716A +S214010CD0A6799E71E679DE71267A1E72667A5E7252 +S214010CE0A67A9E72E67ADE72267B1E73667B5E733A +S214010CF0A67B9E73E67BDE73267C1E74667C5E7422 +S214010D00A67C9E74E67CDE74267D1E75667D5E7509 +S214010D10A67D9E75E67DDE75267E1E76667E5E76F1 +S214010D20A67E9E76E67EDE76267F1E77667F5E77D9 +S214010D30A67F9E77E67FDE7720332034AB42BBD199 +S214010D401F2365469D43203543194919203A7F01E3 +S214010D50D21B002A06D09A180C781C700133013178 +S214010D609342F9D104BC9046F0BD0300F1E70500BB +S214010D70002C14D004252D1B0ED0002A5FD0451957 +S214010D8003000C781C7001330131013AAB4205D0E7 +S214010D90002AF6D1002248E0050000E01D00202AC6 +S214010DA028D91700213FB8467B099C465E1C760170 +S214010DB0AE190C002B0027681F6067685F60A76884 +S214010DC09F60E768DF6027691F6167695F61A769E0 +S214010DD09F61E769DF61203320349E42EBD11F23F8 +S214010DE047469F432037ED19C9191300203B624639 +S214010DF052019A1A2B00042A17D9531F9C469B08A6 +S214010E00984601339B00EB180E002C0080CE80C460 +S214010E109C42FBD1032364469C4323000433141FE6 +S214010E2042469200A21AC918EB18002A9AD09A18BC +S214010E300C781C70013301319342F9D192E703001B +S214010E40A8E70000F8B505000C008B0702D00323C5 +S214010E509C430434002D04D02B1F1B78DB07DB17C3 +S214010E601D402800114B9847070084421CD014D31C +S214010E7020000F4B9847061E14D0002D12D0002FCD +S214010E8010D02200BC4200D93A0029003000094B9C +S214010E9098472800084B984704E0281F2100074B75 +S214010EA098472E003000F8BD2E00FBE7B50B010079 +S214010EB0710A01008D0C0100390B0100FD090100CA +S214010EC0F8B5002800D168E0102807D8344B9B7984 +S214010ED0DB0713D5324B9B7BDB0705D5314C002353 +S214010EE001267642270019E001232D49DB00C818A8 +S214010EF0827901242243827158582DE00023F4E7B9 +S214010F00284ADD0051198B79012003438B71A858BB +S214010F1022E05EB201330834102B13D0DA00BA187F +S214010F209279D207F6D4A2889042F3D8E8D0002E60 +S214010F30EFDBF1001B4DAC46614489889142E9D94B +S214010F405EB2E7E7002E08DB1649F300C81882797F +S214010F500124224382715858F8BD124B9A79012315 +S214010F600024D2070BD50F491C00DA008A189279A3 +S214010F70D20704D50133102BF6D10020ECE7094D3A +S214010F80E4002B199A7901210A439A71988001008D +S214010F906059054B98476051DEE70020DCE7C04604 +S214010FA044000020DC4C0020450E0100F0B503246F +S214010FB004400ED004231B1B0BD0002A07D0C318F5 +S214010FC001700130013A984203D0002AF8D100227C +S214010FD034E00C0264180B04E4180B06E41806004F +S214010FE0202A18D91600213E77097D1C6D01451966 +S214010FF003001C605C609C60DC601C615C619C6141 +S214011000DC6120339D42F4D11F239E43203686198E +S214011010203A7F01D21B3000042A0FD9501F8708BF +S2140110207D1CAD007519330010C3AB42FCD1032300 +S21401103098430430043ABF00D21B3018002A04D06B +S2140110408218017001309042FBD1F0BD70B50323C8 +S21401105003403AD1202919D90D00213D6E09741C8F +S21401106064010419030000221A605A609A60DA606B +S2140110701A615A619A61DA6120339C42F4D11F23C6 +S2140110809D432035401920397601891B0300042928 +S21401109010D94B1F9E08741CA400041902000025D9 +S2140110A020C2A242FCD10322934304330439B60082 +S2140110B0891BC318002905D0591800221A7001335C +S2140110C08B42FBD170BD1800C4E70422D21AC1D0EE +S2140110D000290BD082180300002018700133013953 +S2140110E09342F0D00029F8D10021E3E70300FBE7A3 +S2140110F070B5032303403CD120291AD90D00213DA8 +S2140111006E09741C640104190300012252421A601C +S2140111105A609A60DA601A615A619A61DA6120331C +S2140111209C42F4D11F239D43203540192039760176 +S214011130891B0300042911D94B1F9E08741CA400A7 +S2140111400419020001256D4220C2A242FCD10322ED +S214011150934304330439B600891BC318002905D00C +S2140111605918FF221A7001338B42FBD170BD18004B +S214011170C2E70422D21ABFD000290BD0821803007E +S214011180FF201870013301399342F0D00029F8D1BD +S2140111900021E3E70300FBE710B518210448054BDF +S2140111A098470022044B1A700132044B1A7010BD86 +S2140111B0AC4C0020B90501002B4C0020284C002027 +S2140111C070B52F482F4B9847041E18D02E4D237DFF +S2140111D05B075B0F032B23DD21002948A847041E6C +S2140111E0F5D12748294B98470500294B98470028F1 +S2140111F042D12A000023274827498847FEE720488E +S214011200264B98470500224B9847002805D12A000F +S2140112100023204820498847FEE7002D0DD123E012 +S214011220210017481E4B98470500194B9847002880 +S2140112301CD0002D18D0002CD3D00124194B1C70C3 +S214011240FA235B002B600026AE602B7D07229343BA +S214011250032213432B7501235B422B61124B9847E4 +S2140112606860EE60114B1C70280070BD2A000023D8 +S214011270084809498847FEE7002DDED1F4E7C04655 +S214011280AC4C00206D060100850601001D0601001C +S2140112907D1400009488010085140000CD0501002E +S2140112A0D50601002B4C00208DF70000294C0020AC +S2140112B010B5040001000948094B98470122094B63 +S2140112C01A702000084B9847084B1B689C4200D0B8 +S2140112D010BD0122064B1A70FAE7C046AC4C00203E +S2140112E0550701002B4C0020390B0100784D0020DA +S2140112F02A4C002010B504004068134B9847002381 +S2140113002268904201D2180010BD104B98476060C9 +S21401131000230F4A13700F4A1370A368002B05D0E1 +S214011320200098470A4B1B78002BECD12369002B31 +S21401133001DD013B236101232269002AE3D120005C +S214011340054B98470123DEE7A9F700008DF700005B +S2140113502A4C0020294C0020B1120100F0B5DE46CF +S21401136057464E46C0B5664B1B780120002B09D167 +S2140113700122634B1A70634B1B78002B07D10022A6 +S2140113805F4B1A701CBC91469A46A346F0BD5E4B55 +S21401139098475E4B186000245D4B9B460023994698 +S2140113A05C4B9A4684E05C4B1D6000240FE05B4B6F +S2140113B09847584B1B78002B2FD1554B1B78002B89 +S2140113C02BD1574B1B78002B6ED1534B1D603168C8 +S2140113D0002922D05348B84705004F4B1868027DB4 +S2140113E00723134019D08442DDD0052BDFD0002C13 +S2140113F04BD0027D5207520F237D5B075B0F9A424B +S214011400D7DD464B98470028D3D0424B1B78002B9C +S21401141003D13F4B1B78002B34D03C4B1868424C11 +S214011420A047424B1A68944660441860404B1868BF +S214011430A047F423FF33984217D93C4B186864231E +S2140114405843FA2149003B4B9847C0B20023642811 +S21401145002D864231B1ADBB2374A13700022334BBF +S2140114601A60294B9847324B186001225242334B7F +S2140114701A602C48324B9847041E3BD02A4D2F4FFA +S2140114803E0028E0244B1C6812E0244B98470028B5 +S2140114908FD0204B1B78002BBFD11D4B1B78002B08 +S2140114A0BBD11D4B1C6803E01D4B00221A700024A3 +S2140114B05B464A461A7053461A701A48204B98479C +S2140114C0154B18601E001F4F81E7210015481D4B64 +S2140114D09847041E0ED0237D5B07F6D06068A847A8 +S2140114E022680023904200D2131A3A689A42ECD935 +S2140114F03360EAE70022024B1A70104B186841E786 +S214011500144C0020284C00208DF700001C4C0020B5 +S2140115102A4C0020294C0020784D0020F5120100AD +S2140115202B4C0020AC4C0020A9F70000184C0020E2 +S214011530244C0020F1790100204C00202C4C002086 +S2140115406D06010085060100F0B5CE4600B5050022 +S21401155089460E00037D5B075B0F8B4228D0194836 +S214011560194B9847041E26D0037D5B075B0F9E42EE +S2140115700ADA164F21001348B847041E1BD0237DF4 +S2140115805B075B0F9E42F5DBA54206D022002900D1 +S2140115900C480F4B9847002C0DD001220D4B1A70AA +S2140115A006324B461A402B7D07218B4313432B757E +S2140115B004BC9146F0BD002229000248044B98471E +S2140115C0EBE7C046AC4C00206D0601008506010025 +S2140115D0610801002B4C0020F0B583B006000F0017 +S2140115E001921D000C4B984704000C4B98470028AD +S2140115F00BD0002C06D0A660276001992000084B6E +S2140116009847E560200003B0F0BD2200002305489E +S21401161005498847FEE7C046C11101007D14000058 +S21401162049150100948801008514000010B50400D6 +S214011630034B98472368DB431818606010BDC0460B +S2140116408DF70000F0B583B00023019300290AD07E +S2140116500B68C25C54B2002C07DB140001330B602C +S214011660200003B0F0BD01A9F2E71F241500A54331 +S214011670C02D0DD00F241500A543E02D1CD0072446 +S2140116801500A543F02D36D001330B600024E7E7A3 +S2140116905C1C0C60055D3F202C0084432000002468 +S2140116A08028DDD19201F824E40022403F242C401A +S2140116B0A41802330B60D3E75C1C0C60055D3F2465 +S2140116C02E00A6430024802ECAD19C1C0C60005D0F +S2140116D03F240600A6430024802EC1D11407240C03 +S2140116E03F2210402418AD01FC20000105402C19B2 +S2140116F003330B60B4E75C1C0C60055D3F242E00D1 +S214011700A6430024802EABD19C1C0C60065D3F24B2 +S2140117103700A7430024802FA2D1DC1C0C60005D9B +S2140117203F240700A7430024802F99D19204E02488 +S214011730640322402C03FC25AD022C402243B40155 +S214011740FC26360134403F2528402418A4180433CB +S2140117500B6085E7F0B583B006000D00002301930A +S21401176000290CD00024074F01A930003B68984798 +S2140117700134019BAB42F7D3200003B0F0BD0C004F +S214011780FAE7C04658000020232905D00278002336 +S214011790012A12D0180070470278002A02D10123CC +S2140117A00370F7E7012A05D00023022AF2D103705D +S2140117B00133EFE700230370ECE701332029E9D179 +S2140117C001330370013BE5E7F0B5DE4657464E466A +S2140117D04546E0B591B007900391924605931AAB42 +S2140117E01B781A000A93002800D10BE1002900D1CA +S2140117F00AE11223134216D0020003780A2B00D105 +S21401180004E10D2B00D10BE1002B00D10AE10020F1 +S2140118100130135C0A2B00D1F9E00D2B00D1F6E064 +S214011820002BF5D1F4E002230A9A1A400B9201D05C +S2140118307D4B059300230F220CA98C46624413703E +S2140118400E937A4B99467A4F5346049383E0009A57 +S21401185021000398774B98474519ADB200B200288E +S21401186003DD049B9C466544ADB22DB2434601336D +S21401187039D022000A3A162A3CD86F4BD3400122AF +S2140118801A423AD101232B32944238D00133DBB2CB +S214011890FA5C002AF8D14346013300D18DE00C9E54 +S2140118A00D9B0C93029B0193009C53469B5D002B62 +S2140118B000D184E00DA950464B461B68984700901E +S2140118C0019B013302935B46002BC0D021000F2001 +S2140118D00CAB9C466044594B98470028B7D00C9EE9 +S2140118E00D9B0C93DEE7049BEB1A089A9342C0DD2E +S2140118F0B046BEE701232C22C6E7B24600E0B24658 +S2140119005346002B5CD1434601335CD10695019BBF +S214011910002B04D00D2C04D1009B0A2B01D10C9B6B +S2140119209A4653466A4613801688059B069A9B1A62 +S2140119301BB20593002E49D00E9B9C4666440E961C +S214011940079A13780A2B51D00D2B4FD0935D0A2B93 +S2140119504AD00D2B48D00E9B0993079A9C466244A9 +S21401196016001378002B41D0059B002B3EDD002E80 +S2140119702CD0059B08930B9B002B01D02A4B089378 +S21401198000230C930D930CA93000284B1B68009381 +S214011990984704000C9B0D9300230693013B984641 +S2140119A000230193002500939A4601330A9A1340B7 +S2140119B09B465346B2461E0077E706956FE7B2464A +S2140119C043460133A3D0099B002B08D00E9B002B66 +S2140119D00FD1164B1B680EA90798984706E0434699 +S2140119E06A4613801688A0E701360E960E9B002BDA +S2140119F002D00CAB18890CE00C4B1B680EA907989B +S214011A009847F6E7002004E0002002E000200130BD +S214011A1080B211B03CBC90469946A246AB46F0BD9A +S214011A200020F4E70020F3E7187C000058000020AF +S214011A30ECC9010069E700000900400089170100B0 +S214011A40F0B5CE46474680B585B005008946019279 +S214011A5098460CAB1F7800283AD0002A3AD00023CB +S214011A60039302AAD370002400292BD001231F4020 +S214011A700AE0320000990198174B984703B2002BF1 +S214011A8002DD4444041924B2039B994515D9134E2B +S214011A9003A92800336898470090039BE818336829 +S214011AA0002198470600002FE3D0009902ABD81C0E +S214011AB00B4B98470028E7D1DBE7002C02DD4346B5 +S214011AC0E41A24B2200005B00CBC90469946F0BD3D +S214011AD00024F7E70024F5E769E700005800002036 +S214011AE089170100F0B5DE4657464E464546E0B535 +S214011AF089B0040089460292039312AB00215B5E13 +S214011B00069313AB00215B5E049314AB1F7800238E +S214011B10038043804B46002B51D0002A4FD0BB0791 +S214011B2001D52F4B0493029B08229B5E07939AB222 +S214011B304B461B78002B4FD04D460026294B9B4623 +S214011B40069B9A46924453466A469382938A9846DF +S214011B5005E022804B469D192B78002B1FD000975D +S214011B60049B039A02992800D84736180221635E1F +S214011B705146C9181C4A914221D841460591434411 +S214011B8063800097039B029A01002800174DA8471F +S214011B9023881A1C1BB28342DBDA021CD9E7002E0B +S214011BA006D02E00013E33780A2B0FD00D2B0DD018 +S214011BB00222A35E002B0FD0069A9B1A638009B0FF +S214011BC03CBC90469946A246AB46F0BD6388059A52 +S214011BD0944663446380EBE76B469B8B6380EEE73A +S214011BE0187C0000C9170100FF7F0000411A0100A0 +S214011BF0F0B5D6464F464646C0B582B001900F00B6 +S214011C00141E99460A9B9A461DD00123984604E065 +S214011C1000281ADA3400002C0ED066084D467543AB +S214011C207D1929000198D0470028F1DD4346A343DA +S214011C30F41A4D442F00EEE7002002B01CBC90467B +S214011C409946A246F0BD0020F7E72800F5E7000018 +S214011C50014B18607047C046304C0020014B1B6892 +S214011C60D8687047304C002010B5024B1B681B68C3 +S214011C70984710BD304C0020F0B5CE46474680B59B +S214011C8083B0040028290ED88900E44B5B589F4690 +S214011C900021E34B984700212000E24B9847E24B96 +S214011CA01968E24B9847FF212000E14B984703B0A3 +S214011CB00CBC90469946F0BD0021D94B98470021AF +S214011CC02000D84B9847D84B19680431D74B984712 +S214011CD0E9E70021D24B984700212000D14B9847D5 +S214011CE0D14B19680431D14B9847DCE70021CC4B26 +S214011CF0984700212000CB4B9847CB4B19681031F1 +S214011D00CA4B9847CFE70021C54B99469847002113 +S214011D102000C44FB847C44E3368191D0190C34D07 +S214011D20A847316818310198A84701212000C84703 +S214011D3001212000B84707003368191DA8473168FC +S214011D4008313800A847AEE70021B54B99469847B9 +S214011D5000212000B34FB847B34E31680190B34D10 +S214011D60A847316868310198A84701212000C84773 +S214011D7001212000B84707003368191DA8473168BC +S214011D8008313800A8478EE70021A54B98469847AA +S214011D9000212000A34FB847A34E31682431A34D3C +S214011DA0A84701212000C04701212000B84731681B +S214011DB02831A84777E70021994B98469847002194 +S214011DC02000984FB847984E31682431974DA84760 +S214011DD001212000C04701212000B8473168283181 +S214011DE0A84702212000C04702212000B8473168D9 +S214011DF09C31A84757E70021894B984753E70021B4 +S214011E00874B98474FE70021854B98474BE70021C2 +S214011E10834B984747E70021814B984743E70021CA +S214011E207F4B99469847002120007E4FB8477E4E4B +S214011E303368191D01907D4DA847316820310198FE +S214011E40A84701212000C84701212000B847316872 +S214011E501C31A84727E70021714B98469847002177 +S214011E602000704FB847704E316820316F4DA8473B +S214011E7001212000C04701212000B84731681C31EC +S214011E80A84710E70021664B994698470021200095 +S214011E90644FB847644E316824310190634DA847BA +S214011EA0316894310198A84701212000C8470121D3 +S214011EB02000B84731682831A84702212000C847CA +S214011EC002212000B84731689031A847EBE600218F +S214011ED0534B9846984700212000524EB047524F28 +S214011EE039684C31514DA84740212000C047402158 +S214011EF02000B047060039681031A84739685031CC +S214011F003000A847CFE60021454B98470021200026 +S214011F10444B98470500444F3B68191D434EB04754 +S214011F2039687C312800B047BDE640213C4B9846D5 +S214011F309847402120003B4FB8473B4E3168183147 +S214011F403A4DA84741212000C04741212000B8470B +S214011F5031681031A847A6E60021314B9847002189 +S214011F602000304B9847304B19686C312F4B9847FF +S214011F7099E600212A4B9846984700212000294FD0 +S214011F80B847294E3368191D284DA847402120001F +S214011F90C04740212000B84731681431A8470121C5 +S214011FA02000C04701212000B84731688031A8478A +S214011FB002212000C04702212000B8473168843141 +S214011FC0A84770E60021164DA84700212000154BB2 +S214011FD098469847144F3968144EB0474021200060 +S214011FE0A84741212000A84741212000C047396861 +S214011FF0A831B04743212000A84743212000C0470D +S2140120003968AC31B04742212000A8474221200060 +S214012010C0473968A431B04745E6C046F4C9010057 +S214012020D51D0000F91C0000384C00201D4A000098 +S2140120308D2500000021F34DA84740212000A84728 +S21401204040212000F04B9847F04B1968B031F04B17 +S214012050984728E60021EB4B984698470021200038 +S214012060E94FB847E94E3168E94DA84701212000FC +S214012070C04701212000B84731688031A8470221B6 +S2140120802000C04702212000B84731688431A847A4 +S21401209009E60021DB4B9946984700212000DA4FDC +S2140120A0B847DA4E3368191D0190D94DA8473168F3 +S2140120B088310198A84703212000C8470321200042 +S2140120C0B84731688C31A847EDE50021CD4B9847DC +S2140120D000212000CC4B9847E5E50021C94B9846E6 +S2140120E0984700212000C84FB847C84E3368191DCD +S2140120F00190C74DA847316874310198A84740211F +S2140121002000C04701212000C04701212000B84718 +S21401211031688031A847C6E50021BA4B98470021AF +S2140121202000B94B9847B94B19687831B84B984796 +S214012130B9E50021B34B9946984700212000B24FDC +S214012140B847B24E3368191D0190B14DA8473168A2 +S21401215008310198A847316818310198A8474021ED +S2140121602000C84740212000B8473368191D019058 +S214012170A847316854310198A84741212000C84733 +S21401218041212000B84731688031A847422120000C +S214012190C84742212000B84731685831A84782E530 +S2140121A00021984B9946984700212000964FB84742 +S2140121B0964E3368191D0190954DA84731684031F8 +S2140121C00198A847316818310198A84701212000D5 +S2140121D0C84701212000B847316818310190A84747 +S2140121E0316844310198A84702212000C8470221DE +S2140121F02000B84731684831A84754E50021814B93 +S21401220098469847002120007F4FB8477F4E336895 +S214012210191D7F4DA84701212000C047012120003C +S214012220B8473168A031A84702212000C0470221E3 +S2140122302000B8473168A031A84703212000C047D5 +S21401224003212000B8473168A031A84704212000A7 +S214012250C04704212000B8473168A031A84722E5CD +S2140122600021684B9846984700212000664FB847E2 +S214012270664E3168664DA84742212000C04742217C +S2140122802000B84731688031A84741212000C04767 +S21401229041212000B8473168B031A84740212000CD +S2140122A0C04740212000B8473168A831A847FAE462 +S2140122B00021544B984700212000534B9847534B1D +S2140122C01968A431524B9847EDE400214D4B9946CD +S2140122D09847002120004C4FB8474C4E3368191DD3 +S2140122E001904B4DA847316818310198A847042141 +S2140122F02000C84704212000B8473168B831A847F4 +S21401230003212000C84703212000B8473168B431B3 +S214012310A84701212000C84701212000B84731689D +S2140123208031A847BFE40021364B994698470021E3 +S2140123302000354FB847354E3368191D0190344D8E +S214012340A847316818310198A84703212000C847DB +S21401235003212000B84731689831A847A3E400213B +S214012360284B984700212000274B98470500274F08 +S2140123703B68191D264EB047396808312800B0471A +S21401238091E400211F4B98469847002120001E4FDC +S214012390B8471E4E3368191D1D4DA847032120005E +S2140123A0C04703212000B84731682C31A8470121D6 +S2140123B02000C04701212000B84731683031A847C6 +S2140123C002212000C04702212000B847316834317D +S2140123D0A84768E400210B4B984698470021200047 +S2140123E0094FB847094E31683831094DA8470121D0 +S2140123F02000C04701212000B84731683C31A8477A +S21401240051E4C046D51D0000F91C0000384C0020E0 +S2140124101D4A000000211B4B9847002120001A4B43 +S21401242098470500194F3B68191D194EB047396882 +S21401243070312800B04736E40021124B9946984780 +S21401244000212000104FB847104E3368191D019027 +S2140124500F4DA84731685C310198A847012120003B +S214012460C84701212000B84731686031A8470221DA +S2140124702000C84702212000B84731686431A847C8 +S214012480FFF711FCD51D0000F91C0000384C002098 +S2140124901D4A000010B5054B1B78002B02D1044BDA +S2140124A0984710BD034B9847FBE7C046344C0020C5 +S2140124B04D490000494B0000F8B5CE46474680B569 +S2140124C0F94C2068F94B9847FF222C212068F84BDD +S2140124D098472068F74B9B699B0701D500F05DFE86 +S2140124E0082312210B224901DB020A431A43292140 +S2140124F0F14B9847EC4B1868EE4B9B699B0701D54F +S21401250000F050FE1C233A211D224901DB020A433A +S2140125101A43EA49E84B9847E34B1868E54B9B6931 +S2140125209B0701D500F043FE1C233A211D224901D9 +S214012530DB020A431A437921DF4B9847DD4EDA4C1A +S214012540F268DF492068DF4DA847F2687E212068DF +S214012550A8472368181DD54B9847246804340020E3 +S214012560D94B98470A30C0004023FF3301229842D6 +S21401257001D900F021FE01212000D44B9847CA4C16 +S2140125802368181DFF222C21C94B98472068043068 +S214012590C84B9B699B0701D500F019FE0B23182138 +S2140125A00E224901DB020A431A432921C24B9847EE +S2140125B0BD4B18680430BF4B9B699B0701D500F0E3 +S2140125C00BFE1023222112224901DB020A431A4381 +S2140125D03921B94DA847B44C2368181DB54EB288A9 +S2140125E0BB49A8472368181DF288BA49A84724683A +S2140125F004340020B44B9847283040004023FF3372 +S2140126000122984201D900F0ECFD30212000AF4DA7 +S214012610A847A54C2368181D01223321A847A54DBC +S2140126202368181DEA68A649A64B98472068043017 +S214012630AB699B0701D500F0DFFD1F233F211F2259 +S2140126404901DB020A431A439C499B4B9847994C24 +S214012650954D2B68181DE2687E219A4B984728688D +S2140126600430A3699B0701D500F0CBFD1F233F2152 +S2140126701F224901DB020A431A4379218E4B9847F0 +S214012680894B186804308B4B9B699B0701D500F07A +S214012690BDFD1F233F211F224901DB020A431A43C6 +S2140126A08D49854B9847804B18680430814B9B6950 +S2140126B09B0701D500F0AFFD1F233F211F224901D3 +S2140126C0DB020A431A4399217B4B9847764C2368D1 +S2140126D0181D012290217D4B98472568043500205E +S2140126E07E4B9847012801D800F09AFD0020764BD2 +S2140126F098470301181A400050304023FF33012445 +S214012700984201D900F0A5FD00206F4B98470300C1 +S21401271028335B004021FF3101228B4201D900F0B2 +S214012720A5FDA21812B212212800684B98475E4BED +S2140127301D6804350020694B9847012801D800F030 +S214012740A0FD0020604B98470301181A4000503046 +S2140127504023FF330124984201D900F0ABFD00204D +S214012760594B9847030028335B004021FF31012273 +S2140127708B4201D900F0ABFDA21812B2132128003A +S214012780524B9847484B1D6804350020534B9847D9 +S214012790012801D800F0A6FD00204B4B9847030105 +S2140127A0181A400050304023FF330124984201D9C3 +S2140127B000F0B1FD0020444B9847030028335B002E +S2140127C04021FF3101228B4201D900F0B1FDA21850 +S2140127D012B2102128003D4B9847334B1D68043533 +S2140127E000203E4B9847012801D800F0ACFD0020A0 +S2140127F0354B98470301181A400050304023FF33E9 +S2140128000124984201D900F0B7FD00202E4B9847CD +S214012810030028335B004021FF3101228B4201D99E +S21401282000F0B7FDA21812B211212800274B9847D5 +S2140128301D4B1C6804340020284B9847012801D8FA +S21401284000F0B2FD0020204B984703011B1A5B00E5 +S21401285050334021FF3101228B4201D900F0BDFDEA +S21401286014212000194DA8470F4C2368181D9622E5 +S214012870B021A8472368181D3922B721A847206828 +S2140128800C300A4B98472068011D0C30144B9847B2 +S21401289020680C30074B9B699B0701D500F0AAFD09 +S2140128A00823122109221DE0384C0020952401003E +S2140128B0B54F00003C4C0020554E000089800000BA +S2140128C08E8000000951000065F60000F54C0000FE +S2140128D03902000039040000A980000081F60000DA +S2140128E09D4B00004901DB020A431A432921FB4B99 +S2140128F09847FB4B18680C30FA4B9B699B0701D530 +S21401290000F07DFD0823102108224901DB020A435D +S2140129101A433921F14B9847F14B18680C30F14BAB +S2140129209B699B0701D500F06FFD14232A21152210 +S2140129304901DB020A431A43EB49E84B9847E84B47 +S21401294018680C30E74B9B699B0701D500F061FDC9 +S21401295014232A2115224901DB020A431A4379214D +S214012960DE4B9847DE4B18680C30DE4B9B699B07A5 +S21401297001D500F053FD14232A2115224901DB025B +S2140129800A431A43D949D54B9847D54B18680C309A +S214012990D44B9B699B0701D500F045FD14232A21E2 +S2140129A015224901DB020A431A439921CB4B98476A +S2140129B0CB4C20680830CE4B984720680830C94B6E +S2140129C09B699B0701D500F033FD092313210A22D9 +S2140129D04901DB020A431A43C649C04FB847C04EF5 +S2140129E030680830BF4DAA882A21FF31B8473468BD +S2140129F00834A8883321C04B9847021CBF492000E1 +S214012A00B84730680830AB699B0701D500F015FD63 +S214012A100B2318210E224901DB020A431A43B84947 +S214012A20AE4FB847AE4D28680830002298214900BD +S214012A30B44B98472C680834AA4EB0883321AE4B65 +S214012A409847021CB0492000B84728680830B36987 +S214012A509B0701D500F0F6FC0B2319210D22490135 +S214012A60DB020A431A43A9499C4B98479C4B1868BA +S214012A7008309C4B9B699B0701D500F0E8FC0B23B3 +S214012A8019210D224901DB020A431A433A21FF317B +S214012A90924B9847924B18680830924B9B699B075C +S214012AA001D500F0D9FC0B2319210D224901DB02C7 +S214012AB00A431A439649894B9847894B1868083048 +S214012AC0884B9B699B0701D500F0CBFC0B23192192 +S214012AD00D224901DB020A431A438E497F4B984770 +S214012AE07F4B186808307F4B9B699B0701D500F028 +S214012AF0BDFC1F233F211F221F24A0464901DB02E4 +S214012B000A431A438449754FB847754E30680830F2 +S214012B10FC25ED0042462A43804C22438049B847B3 +S214012B203068083042462A4322437E49B847306817 +S214012B3008306C4B9B699B0701D500F09CFC262254 +S214012B4013235201D9021A430A437749634B984724 +S214012B50634B18680830634B9B699B0701D500F0EF +S214012B608EFC1F233F211F221F24A0464901DB02A2 +S214012B700A431A436D49594FB847594E30680830D1 +S214012B80FC25ED0042462A43644C22436849B84777 +S214012B903068083042462A4322436649B8473068BF +S214012BA00830504B9B699B0701D500F06DFC26222F +S214012BB013235201D9021A430A435F49474B9847E8 +S214012BC0474C206808302922B6214E4DA847206878 +S214012BD01030474B984720681030584A0121A847C3 +S214012BE020681030FF222C21554B98472068103062 +S214012BF03C4B9B699B0701D500F04AFC0B2318212F +S214012C000E224901DB020A431A432921334B984716 +S214012C10334B18681030334B9B699B0701D400F087 +S214012C203CFC304D6A79D20893009B189A009B1899 +S214012C30444A944663441A02D218D201D218D20DDD +S214012C401F210A40AC886405A30E9C00E418A3006B +S214012C50E4183D4B9C46644423021B19DB011B19F7 +S214012C60DB009B0E2C79E406E50EAC006419A5008A +S214012C706419344DAC46644425022D19ED012C1916 +S214012C80E40D21405B01D2020B431A431949134F4D +S214012C90B847134E30681030124DAA882A21FF31EA +S214012CA0B84734681034A8884C21134B9847021C47 +S214012CB012492000B84730681030AB699B0701D530 +S214012CC000F015FC0B2318210E224901DB020A43F2 +S214012CD01A430B49014B984738E0C046554E000051 +S214012CE0384C00203C4C002089800000A980000060 +S214012CF09524010029100000DD02010029110000C1 +S214012D0029200000F54C000039120000391000009F +S214012D1039110000392000008990000000F8FFFFFB +S214012D20898100008991000089A00000A990000017 +S214012D30A9810000A9910000A9A00000FF7F000062 +S214012D40B54F0000DA1B00009A380000F14B1868F6 +S214012D501030F14B9B699B0700D5CDE3222211234E +S214012D605201D9021A430A43EC49ED4DA847E94CF2 +S214012D7020681030E84EB2883921A8472068103004 +S214012D80B288E849A84720681030B3699B0700D588 +S214012D90B5E3102208235201D9021A430A43E24935 +S214012DA0DF4B9847DB4B1C6810340020DF4B9847FD +S214012DB0283040004023FF330122984200D9A1E386 +S214012DC030212000DA4B9847D24C20681030002280 +S214012DD09E214900D74B984720681030CE4B9B69FF +S214012DE09B0700D598E31F233F211F224901DB02E1 +S214012DF00A431A43D049CA4B9847C64B1868103045 +S214012E00C54B9B699B0700D58AE31F233F211F22E1 +S214012E101F24A0464901DB020A431A43C749C04D95 +S214012E20A847BC4C20681030FC27FF0042463A43B6 +S214012E30C34E3243C349A8472068103042463A433E +S214012E403243C149A84720681030C04B1A88C04990 +S214012E50A84720681030B04B9B699B0700D563E3F9 +S214012E601F233F211F224901DB020A431A43B949A6 +S214012E70AB4B9847A74B18681030A74B9B699B072D +S214012E8000D555E31F233F211F221F264901DB02E0 +S214012E900A431A43B049A24DA8479E4C20681030F9 +S214012EA0FC23DB0099461A003243A54F3A43AA4950 +S214012EB0A847206810304A4632433A43A749A847F4 +S214012EC020681030A14B1A88A549A8472068103001 +S214012ED0914B9B699B0700D52EE31F233F211F22A1 +S214012EE04901DB020A431A4379218D4B9847894BE6 +S214012EF018681030884B9B699B0700D520E31F2379 +S214012F003F211F221F24A0464901DB020A431A4320 +S214012F109449834DA8477F4C20681030FC27FF005A +S214012F2042463A43864E32437A21FF31A84720680B +S214012F30103042463A4332438B49A8472068103046 +S214012F40824B1A888949A847246810340020774B99 +S214012F50984783001B18DB0050334021FF310122C4 +S214012F608B4200D9F0E212212000714B9847694B41 +S214012F701C68103400206D4B984783001B18DB003B +S214012F8050334021FF3101228B4200D9E9E213215F +S214012F902000674B98475F4B1C6810340020634B3A +S214012FA098470301181A50304023FF3301229842F4 +S214012FB000D9E3E2102120005D4B9847554B1C6871 +S214012FC010340020594B98470301181A50304023FB +S214012FD0FF330122984200D9E8E211212000544B28 +S214012FE098474C4B1C6810340020504B9847830080 +S214012FF01B189B0050334021FF3101228B4200D920 +S214013000DFE2142120004A4DA847424C20681030C8 +S21401301003224021A8472068103000224C21454E4B +S214013020B047206810307F2293218900B04720687E +S2140130301030394FBA884921394EB04720681030D0 +S214013040FA884B49B047206810309622B021A8472D +S214013050206810303C22B521A8472068103029226C +S214013060B621A847206810304C22B721A84720680F +S21401307010309622B121A8472068103000223D4921 +S214013080A847206814303C4B984724681434002025 +S2140130903A4B9847322800D9ADE20020234B984797 +S2140130A083001B189B0050334021FF3101228B42C5 +S2140130B000D993E2142120001D4B9847154B186840 +S2140130C018302D4B984700202C4B9847322800D9B2 +S2140130D0B8E20020154B984703008000C018400056 +S2140130E050304023FF330124984200D99DE2094E17 +S2140130F030681830220012210D4DA847306818306C +S21401310022001321A8473068183022001021A84752 +S214013110306835E0384C00203C4C00202921000066 +S214013120554E0000391000003920000065F60000F9 +S214013130F54C0000B54F0000898000008990000022 +S21401314000F8FFFF898100008991000098CA0100FC +S21401315089A00000A9800000A9900000A9910000A4 +S214013160A9A0000079100000791100007920000064 +S21401317049040000B11000009524010081F600000A +S214013180183022001121A847306818302200142177 +S214013190A8470CBC90469946F8BD1D233B211E222C +S2140131A0FFF7A1F907230F210822FFF7AEF907233E +S2140131B00F210822FFF7BBF90020F64B98470A308B +S2140131C0C000A021F44B984702B2FFF7D4F91F23A1 +S2140131D03F211F22FFF7E5F91A2337211C22FFF7AB +S2140131E0F3F90020EB4B984728304000A021EA4B2A +S2140131F0984702B2FFF709FA07230F210822FFF7C3 +S2140132001FFA07230F210822FFF733FA07230F219E +S2140132100822FFF741FA07230F210822FFF74FFA8A +S2140132200020DC4B98470301181A50304023FF3327 +S2140132300124984201D8FFF767FA0020D54B98473A +S2140132400301181A5030A021D34B984784B2FFF7D8 +S2140132505BFA0020CF4B98470301181A4000503004 +S214013260A021CD4B984784B2FFF74EFA0020C94BF8 +S214013270984728304000A021C74B984782B2FFF7F5 +S21401328050FA0020C34B98470301181A50304023C8 +S214013290FF330124984201D8FFF761FA0020BD4BA5 +S2140132A098470301181A5030A021BB4B984784B2A7 +S2140132B0FFF755FA0020B74B98470301181A40004C +S2140132C05030A021B44B984784B2FFF748FA00204B +S2140132D0B04B984728304000A021AF4B984782B2A8 +S2140132E0FFF74AFA0020AB4B98470301181A5030F3 +S2140132F04023FF330124984201D8FFF75BFA0020F0 +S214013300A44B98470301181A5030A021A24B9847A6 +S21401331084B2FFF74FFA00209E4B98470301181A14 +S21401332040005030A0219C4B984784B2FFF742FAE8 +S2140133300020984B984728304000A021964B98478C +S21401334082B2FFF744FA0020924B98470301181AFD +S21401335050304023FF330124984201D8FFF755FA35 +S21401336000208C4B98470301181A5030A0218A4B35 +S214013370984784B2FFF749FA0020864B9847030125 +S214013380181A40005030A021834B984784B2FFF7AB +S2140133903CFA00207F4B984728304000A0217E4B06 +S2140133A0984782B2FFF73EFA00207A4B984703010E +S2140133B0181A50304023FF330122984201D8FFF7F4 +S2140133C04FFA0020734B98470301181A5030A0217A +S2140133D0714B984702B2FFF743FA00206D4B9847AE +S2140133E00301181A40005030A0216B4B984702B2D7 +S2140133F0FFF736FA1A2335211B22FFF773FA1B2330 +S21401340039211D22FFF781FA062310210922FFF731 +S2140134108FFA062310210922FFF79DFA06231021B1 +S2140134200922FFF7ABFA062310210922FFF7B9FAA2 +S2140134301D233B211D22FFF7CBFA1F233F211F220D +S214013440FFF7E9FA192333211922FFF708FB0723AF +S2140134500F210822FFF716FB07230F210822FFF78B +S21401346025FB1A2337211C22FFF733FB07230F21E5 +S2140134700822FFF741FB2A221523FFF762FB0723E9 +S2140134800F210822FFF770FB2A221523FFF791FB75 +S2140134901F233F211F22FFF7B4FB404E7279D2084B +S2140134A04C256A433E4BD3181A02D218D201D218C1 +S2140134B0D20D1F210A40B4886405A40E6C43394B13 +S2140134C09C46644423021B19DB011B19DB009B0E7F +S2140134D03479E406E40E6543334CA44665442C0275 +S2140134E06419E4016419E40D2140FFF7CBFB1F23A7 +S2140134F03F211F22FFF7E9FB3322192330E4222262 +S214013500112348E40020234B984728304000A0218F +S214013510214B984702B253E406231021092265E4A1 +S21401352006231021092273E40623102109229AE4B6 +S214013530062310210922A8E4062310210922CFE43C +S214013540062310210922DDE40020124B98470300D0 +S2140135508000C018C0005030A0210F4B984702B21F +S21401356001E500200B4B984703008000C018C000FF +S2140135705030A021084B984702B208E50020054BC1 +S21401358098470301181A5030A021034B984702B2FE +S21401359010E5C04665F60000F17901003C4C0020BC +S2140135A0B1070000C8100000CA0900000020334B14 +S2140135B098470301181A5030A021314B984702B2A0 +S2140135C00BE500202D4B984703008000C0188000B3 +S2140135D05030A0212A4B984702B212E50020274B13 +S2140135E0984703008000C01880005030A021244B6B +S2140135F0984702B25EE50020204B984783001B18CF +S214013600DB0050334021FF3101228B4200D851E5C7 +S21401361000201A4B984703008000C018C0005030A5 +S214013620A021174B984702B244E50020134B984758 +S21401363003008000C01840005030A021104B98476E +S21401364004B254E500200D4B984703008000C018D3 +S214013650800050304023FF330124984200D846E5CD +S2140136600020064B984703008000C01880005030A9 +S214013670A021034B984704B239E5C04665F6000021 +S214013680F1790100F0B5C64600B5494C20682430F2 +S214013690484B984720682430474A0121474B9847B2 +S2140136A020682430FF222C21454B9847206824307F +S2140136B0444B9B699B0700D56EE008231221092223 +S2140136C04901DB020A431A4329213F4B9847384BED +S2140136D0186824303B4B9B699B0761D41F233F210D +S2140136E01F224901DB020A431A437921364DA847B6 +S2140136F02F4C20682430334EB2884921A8472068D1 +S2140137002430F2883149A8472068243000224C2111 +S2140137102B4B98469847206824307F2293218900B6 +S214013720C0472068243003224021244FB847206830 +S21401373024309622B021B847206824304C22B72185 +S214013740B847206828301B4B984720682830FF224E +S2140137502C21C04720682830174A0121B847206825 +S2140137602830B2882921A84720682830184B1A88A3 +S2140137701849A84720682830B3699B0714D41F232B +S2140137803F211F224901DB020A431A4379210E4BCE +S214013790984704BC9046F0BD1A2335211B228FE7BB +S2140137A00623102109229CE7082310210922E9E7B4 +S2140137B0384C002095240100FF7F0000F54C0000E6 +S2140137C0B54F00003C4C0020554E00004904000057 +S2140137D098CA01002920000010B59A4C2068903044 +S2140137E0994B984720689030FF222C21974B984799 +S2140137F020689030964B9B699B0700D4BBE0944BA6 +S2140138009A882921934B98478E4B18689030904B95 +S2140138109B699B0700D5B1E01F233F211F22490169 +S214013820DB020A431A4379218A4B9847854C206864 +S2140138309030894A0121894B9847246890340020AA +S214013840874B9847C300181A50304023FF33012294 +S214013850984200D996E012212000804B9847794B78 +S2140138601C68903400207E4B9847C300181A5030CD +S2140138704023FF330122984200D98EE01321200015 +S214013880764B98476F4B1C6890340020744B9847D2 +S214013890C300181A50304023FF330122984200D942 +S2140138A086E0102120006D4B9847664B1C689034CB +S2140138B000206B4B9847C300181A50304023FF3343 +S2140138C00122984200D97EE011212000634B9847DF +S2140138D05C4C206894305C4B9847246894340020F4 +S2140138E05F4B984783001B185B0050334021FF3124 +S2140138F001228B4200D971E017212000574B9847CF +S214013900504B1C6894340020554B984783001B1875 +S2140139105B0050334021FF3101228B4200D96AE01F +S214013920182120004D4B9847464B1C6894340020C4 +S2140139304B4B984783001B185B0050334021FF31E7 +S21401394001228B4264D815212000444B98473D4BF9 +S2140139501C6894340020424B984783001B185B0078 +S21401396050334021FF3101228B425ED816212000C0 +S2140139703A4B984710BD3B4B1A8842E70623102165 +S21401398009224CE70020364B9847C300181A5030DE +S214013990A021354B984702B25DE70020304B98478F +S2140139A0C300181A5030A0212F4B984702B265E782 +S2140139B000202B4B9847C300181A5030A0212A4BE1 +S2140139C0984702B26DE70020254B9847C300181AA6 +S2140139D05030A021244B984702B275E70020204BB7 +S2140139E0984703008000C01840005030A0211E4BAD +S2140139F0984702B280E70020194B984703008000E1 +S214013A00C01840005030A021174B984702B287E7F4 +S214013A100020134B984703008000C0184000503028 +S214013A20A021114B984702B28DE700200C4B984716 +S214013A3003008000C01840005030A0210A4B984770 +S214013A4002B293E7384C002095240100B54F0000E0 +S214013A503C4C0020554E0000FF7F0000F54C000056 +S214013A6065F600009CCA0100F179010010B5464CCC +S214013A7020689C30454B984720689C30FF222C21BB +S214013A80434B984720689C30424B1A882921424B69 +S214013A90984720689C30414A0121414B9847246849 +S214013AA09C3400203F4B9847143080004023FF335E +S214013AB098423CD80122524210212000384B9847A8 +S214013AC0314B1C689C340020364B984714308000DC +S214013AD04023FF33984235D801225242112120005B +S214013AE02F4B9847284B1C689C3400202D4B984739 +S214013AF0143080004023FF3398422ED801225242D0 +S214013B0012212000264B98471F4B1C689C3400202E +S214013B10244B9847143080004023FF33984227D81F +S214013B2001225242132120001D4B984710BD002050 +S214013B301C4B984714308000A0211B4B98474242EB +S214013B4012B2B9E70020174B984714308000A02125 +S214013B50154B9847424212B2C0E70020114B9847D6 +S214013B6014308000A021104B9847424212B2C7E79A +S214013B7000200C4B984714308000A0210A4B984730 +S214013B80424212B2CEE7C046384C002095240100CE +S214013B90B54F00009CCA0100554E0000FF7F000093 +S214013BA0F54C000065F60000F179010070B57F4C18 +S214013BB0206870307E4B9847206870307D4A01211E +S214013BC07D4B98472468703400207C4B98478300CF +S214013BD01B189B0050334021FF3101228B4200D934 +S214013BE08CE012212000744B9847704B1C6870348F +S214013BF00020724B984783001B189B0050334021CE +S214013C00FF3101228B4200D985E0132120006A4B47 +S214013C109847664B1C6870340020684B98478300B1 +S214013C201B189B0050334021FF3101228B4200D9E3 +S214013C307EE010212000604B98475C4B1C68703476 +S214013C4000205E4B984703011B1A5B00503340214E +S214013C50FF3101228B4200D977E014212000564B18 +S214013C609847524B1C6870340020544B9847830089 +S214013C7018188300C01850304023FF3301229842A1 +S214013C8000D96EE0C02120004B4B9847474C206876 +S214013C9070304B4EB28899214A4DA8472068703043 +S214013CA0B288C921A84720687030474B1A88CA21B4 +S214013CB0A847246870340020404B984783001B189F +S214013CC05B0050334021FF3101228B4256D89021B0 +S214013CD02000394B9847354B1C6870340020374B11 +S214013CE09847C300181A50304023FF3301229842E8 +S214013CF051D8C3212000304B984770BD00202F4B70 +S214013D00984703008000C01880005030A0212F4B38 +S214013D10984702B265E70020284B984703008000C9 +S214013D20C01880005030A021284B984702B26CE79B +S214013D300020224B984703008000C01880005030B6 +S214013D40A021224B984702B273E700201B4B9847ED +S214013D500301181A40005030A0211C4B984702B2AC +S214013D607BE70020154B9847830018188300C0187E +S214013D705030A021154B984702B283E700200F4B25 +S214013D80984703008000C01840005030A0210F4B18 +S214013D90984702B29BE70020084B9847C300181AC1 +S214013DA05030A021094B984702B2A2E7384C0020B8 +S214013DB095240100FF7F0000F54C000065F6000029 +S214013DC03C4C0020554E000098CA0100F1790100D4 +S214013DD0F0B5C64600B5E34D28685C30E24B98471F +S214013DE028685C3011278824E40022003A435205F3 +S214013DF0520DDE4E32439921DD4B9846984728688E +S214013E005C3022003A435205520D3243C921C04765 +S214013E1028685C30D74B9A88CA21C0472C685C3426 +S214013E200020D54B98478300181850304023FF33A5 +S214013E300122984200D95BE190212000CF4B9847A0 +S214013E40C84B1C685C340020CB4B9847143080006C +S214013E504023FF330122984200D955E1C3212000B7 +S214013E60C64B9847BF4B1C685C340020C24B984732 +S214013E700A30C0004023FF330122984200D94DE1A9 +S214013E80C2212000BD4B9847B64B1C685C3400200D +S214013E90B94B984783001B189B0050334021FF31D4 +S214013EA001228B4200D943E112212000B34B9847EF +S214013EB0AC4B1C685C340020AF4B984783001B1842 +S214013EC09B0050334021FF3101228B4200D93CE157 +S214013ED013212000A94B9847A24B1C685C34002094 +S214013EE0A54B984783001B189B0050334021FF3198 +S214013EF001228B4200D949E1102120009F4B9847AF +S214013F00984B1C685C3400209B4B984783001B1819 +S214013F109B0050334021FF3101228B4200D942E100 +S214013F2014212000954B98478E4B1C685C3400206A +S214013F30914B98470301181A50304023FF33012252 +S214013F40984200D93CE1C02120008C4CA047854D09 +S214013F5028685C308A4A0121A04728686030824B75 +S214013F6098472868603011278824E40022003A43E5 +S214013F705205520D7D4E324399217D4B9846984706 +S214013F802868603022003A435205520D3243C92157 +S214013F90C04728686030774B9A88CA21C0472C688A +S214013FA060340020744B98470A30C0004023FF332A +S214013FB00122984200D90EE1902120006F4B9847CC +S214013FC0684B1C68603400206B4B98470A30C00071 +S214013FD04023FF330122984200D906E1C321200085 +S214013FE0664B98475F4B1C6860340020624B9847CD +S214013FF0830018188300C01850304023FF33012275 +S214014000984200D9FBE0C02120005C4B9847554CF4 +S21401401020686430544B984720686430554B9B6940 +S2140140209B0700D5F8E01F233F211F224901DB0231 +S2140140300A431A4399214E4B98474A4B1C686434ED +S21401404000204D4B98470A30C0004023FF33012221 +S214014050984200D9E4E090212000484B9847414C13 +S21401406020686430FF222C21464B98472068643034 +S214014070404B9B699B0700D5DCE01F233F211F2295 +S2140140804901DB020A431A432921394B9847354C2B +S214014090206864303A4A0121384B984724686434D2 +S2140140A00020354B984703011B1A5B005033402113 +S2140140B0FF3101228B4200D9C0E0032120002F4BA3 +S2140140C09847284B1C68643400202B4B9847830084 +S2140140D01B185B0050334021FF3101228B4200D96F +S2140140E0B8E014212000254B984704BC9046F0BD4B +S2140140F00020214B984703008000C0185030A021B3 +S214014100214B984702B297E600201B4B9847143084 +S2140141108000A0211C4B984702B29FE60020164B58 +S21401412098470A30C000A021174B984702B2A7E66D +S2140141300020114B984703008000C01880005030C3 +S214014140A021114B984702B2AEE600200A4B9847D1 +S21401415003008000C01880005030A0210A4B984709 +S21401416002B2B5E6384C0020952401000088FFFF16 +S214014170554E00003C4C002065F60000F54C000052 +S214014180FF7F0000B54F0000F17901000020384B99 +S214014190984703008000C01880005030A021354B9E +S2140141A0984702B2A8E60020314B984703008000EA +S2140141B0C01880005030A0212E4B984702B2AFE6BF +S2140141C000202B4B98470301181A5030A021294B89 +S2140141D0984702B2B7E60020254B98470A30C00040 +S2140141E0A021244B984702B2E6E60020204B9847D0 +S2140141F00A30C000A0211F4B984702B2EEE600200D +S2140142001B4B9847830018188300C0185030A02114 +S214014210184B984702B2F6E6082312210B2205E74F +S2140142200020134B98470A30C000A021114B984735 +S21401423002B210E7082312210B2221E700200C4BC3 +S21401424098470301181A40005030A021094B98479F +S21401425002B232E70020064B984703008000C018E0 +S21401426040005030A021034B984702B239E7C046C0 +S21401427065F60000F179010070B5394C20681C30F4 +S214014280384B984720681C30374B9A889921374B12 +S214014290984724681C340020354B9847830018182B +S2140142A08300C01850304023FF330122984238D88B +S2140142B0902120002F4DA847294C20681C30012250 +S2140142C09421A84720682030264B98472068203044 +S2140142D0254B9B699B0731D40823122109224901EA +S2140142E0DB020A431A439921204B98471C4B1C6852 +S2140142F0203400201E4B9847830018188300C018EE +S21401430050304023FF33012298421BD890212000D1 +S214014310184CA047124B1868203001229421A04760 +S21401432070BD0020124B9847830018188300C018F0 +S2140143305030A021104B984702B2B9E71A23352115 +S2140143401B22CCE700200A4B9847830018188300ED +S214014350C0185030A021084B984702B2D6E7C04695 +S214014360384C0020952401003C4C0020554E00009E +S21401437065F60000F54C0000F1790100F0B5C6467F +S21401438000B5394C20686C30384B984720686C3043 +S214014390FF222C21364DA84720686C30354B9846B5 +S2140143A09A882921344FB84720686C300222302180 +S2140143B0324EB04720686C307F223C21A8472568E2 +S2140143C06C35434698884C212D4B9847021C392161 +S2140143D02800B84720686C302A4A0121B047246873 +S2140143E06C340020284B98470301181A503040239C +S2140143F0FF33012298421FD8502120001F4B9847B7 +S214014400194C20686C301B4B9A8859211A4B9847D7 +S21401441024686C3400201C4B9847830018185030D1 +S2140144204023FF330122984211D853212000134B19 +S214014430984704BC9046F0BD0020134B98470301F3 +S214014440181A5030A021114B984702B2D4E7002029 +S2140144500D4B984703008000C0185030A0210B4B2D +S214014460984702B2E1E7C046384C00209524010087 +S214014470B54F00003C4C0020554E0000F54C0000A6 +S21401448089020100FF7F000065F60000F179010056 +S214014490F0B5C64600B580460F1C15001E00FE4B43 +S2140144A01B78002B01D101F09EFBFC4C4346A380F8 +S2140144B0E780A660069BE360079B2361089B636118 +S2140144C0A561F74B9847F74B9847F74B9847F74B3B +S2140144D09847F74B9847F74B9847F74B9847F74B52 +S2140144E09847F74D28684030F64B98472868403083 +S2140144F0A3699B0701D501F07FFB14232B2117220B +S2140145004901DB020A431A43EF49F04B9847EC4C4A +S21401451020684430EB4B9847246844340020EC4B29 +S214014520984750304023FF330122984201D901F0C9 +S21401453068FB90212000E74B9847E14B1C68443408 +S2140145400020E34B984783001B185B005033402143 +S214014550FF3101228B4201D901F05DFB922120003F +S214014560DC4B9847D64B1C6844340020D84B984700 +S21401457083001B185B0050334021FF3101228B4220 +S21401458001D901F056FB93212000D24B9847CC4B22 +S21401459018684430C14B9B699B0701D501F057FB56 +S2140145A01023222112224901DB020A431A439921D0 +S2140145B0C64B9847C24C20684830C24B984724687F +S2140145C048340020C24B9847430018185030402307 +S2140145D0FF330122984201D901F03EFB90212000D1 +S2140145E0BC4B9847B64B1C6848340020B84B9847DC +S2140145F0143080004023FF330122984201D901F094 +S21401460038FB03212000B34B9847AD4B1C68483458 +S2140146100020AF4B9847283040004023FF3301224B +S214014620984201D901F030FB14212000A94B98478C +S214014630A34B1C6848340020A54B984750304023B4 +S214014640FF330122984201D901F029FB0121200004 +S214014650A04B98479A4C206830309A4B984724686C +S214014660303400209C4B9847012801D801F021FBEB +S2140146700020974B984703011B1A5B0050334021DB +S214014680FF3101228B4201D901F02CFB10212000C1 +S214014690904B98478A4B1C68303400208E4B9847C5 +S2140146A0012801D801F02BFB0020894B9847030114 +S2140146B01B1A5B0050334021FF3101228B4201D986 +S2140146C001F036FB12212000824B98477C4B1C6878 +S2140146D030340020804B9847012801D801F035FB83 +S2140146E000207B4B984703011B1A5B005033402187 +S2140146F0FF3101228B4201D901F040FB132120003A +S214014700744B98476E4B1C6830340020724B9847A8 +S214014710012801D801F03FFB00206D4B98470301AB +S2140147201B1A5B0050334021FF3101228B4201D915 +S21401473001F064FB11212000664B9847604B186816 +S2140147403030564B9B699B0701D501F064FB3F2235 +S2140147501F235201D9021A430A4360495B4B98470B +S214014760574C20683430574B9847206834304B4BB1 +S2140147709B699B0701D501F052FB1D233B211D229E +S2140147804901DB020A431A434F49504B98474C4BA9 +S2140147901C6834340020504B9847012801D801F09A +S2140147A043FB00204A4B984703011B1A5B0050331A +S2140147B04021FF3101228B4201D901F04EFB12212B +S2140147C02000444B98473E4B1C6834340020424B33 +S2140147D09847012801D801F04DFB00203C4B984733 +S2140147E003011B1A5B0050334021FF3101228B422B +S2140147F001D901F058FB13212000364B9847304B66 +S2140148001C6834340020344B9847012801D801F045 +S21401481057FB00202E4B984703011B1A5B005033B1 +S2140148204021FF3101228B4201D901F062FB1121A7 +S2140148302000284B9847224C20682C30214B984763 +S21401484024682C340020224B9847143080004023E3 +S214014850FF330122984201D901F058FB01212000C3 +S2140148601C4B9847164B18682C300C4B9B699B07C2 +S21401487001D501F056FB1F233F211F224901DB0210 +S2140148800A431A431649114B98470D4B18682C30AA +S214014890024B9B69332225E0344C00203C4C00201F +S2140148A0B9240100853601007D430100D937010096 +S2140148B06D3A0100AD3B0100D13D01007942010096 +S2140148C0384C00209524010089800000554E0000D8 +S2140148D065F60000F54C000081F6000089900000A6 +S2140148E0898100009B0700D4333296214900FA4D96 +S2140148F0A847FA4C20682C303322F949A84720688B +S2140149002C30FF228B218900A84720682C30F54BDC +S2140149101A88F549F54EB04720682C30F44DAA8820 +S214014920F449B04720682C30AB699B0701D501F0EC +S214014930FDFA3F221F235201D9021A430A432921B5 +S214014940EA4EB047E54C20682C30E94FBA882A2158 +S214014950FF31B04720682C30022298214900E64DED +S214014960A84720682C3004223221FF31A84720684E +S2140149702C30BA883A21FF31B04724682C34002005 +S214014980DE4B98474300181850304023FF3301226E +S214014990984201D901F0CEFA14212000D64B98474F +S2140149A0CE4B1C682C340020D54B9847012801D8E3 +S2140149B001F0CDFA0020D14B984703011B1A5B008A +S2140149C050334021FF3101228B4201D901F0D8FA40 +S2140149D012212000C84B9847C04B1C682C3400207D +S2140149E0C74B9847012801D801F0D7FA0020C34BDE +S2140149F0984703011B1A5B0050334021FF31012207 +S214014A008B4201D901F0E2FA13212000BA4B9847F4 +S214014A10B24B1C682C340020B94B9847012801D8AA +S214014A2001F0E1FA0020B54B984703011B1A5B0021 +S214014A3050334021FF3101228B4201D901F0ECFABB +S214014A4011212000AC4B9847A44C20683830AD4B60 +S214014A509847246838340020A84B984703011B1A4E +S214014A605B0050334021FF3101228B4201D901F016 +S214014A70E0FAC0212000A04B9847984C20683830B7 +S214014A80FF222C21944B984720683830984B9B691D +S214014A909B0701D501F0DAFA082312210B224901FE +S214014AA0DB020A431A432921904B98478B4B1C681B +S214014AB038340020914B984783001B189B005033D5 +S214014AC04021FF3101228B4201D901F0C4FA1421A1 +S214014AD02000894EB0478C4D804C206838302A0023 +S214014AE00121B04720683C30864B984720683C300F +S214014AF02A000121B04720683C307A4F3A882921A4 +S214014B007A4DA84720683C30FF222C21724B9847EB +S214014B1020683C3002223021B04720683C30BA88F9 +S214014B203921A84720683C30714EB2887749A8479A +S214014B3020683C30F2887649A84724683C34002037 +S214014B406E4B984703004000C0188000C0185030D4 +S214014B504023FF330122984201D901F08AFA12213B +S214014B602000654B98475D4B1C683C340020634B26 +S214014B70984703004000C0188000C01850304023FA +S214014B80FF330122984201D901F082FA1321200055 +S214014B90594B9847514B1C683C340020574B98475B +S214014BA003004000C0188000C01850304023FF3377 +S214014BB00122984201D901F07AFA102120004E4BC9 +S214014BC09847464B1C683C3400204C4B98470300E2 +S214014BD04000C0188000C01850304023FF33012227 +S214014BE0984201D901F072FA11212000424B9847F0 +S214014BF03A4C20684C30434B984724684C3400208C +S214014C003E4B9847143080004023FF3301229842E0 +S214014C1001D901F06AFA01212000374B98472F4B42 +S214014C201C684C340020354B984783001B185B00EA +S214014C3050334021FF3101228B4201D901F060FA45 +S214014C40142120002C4B9847244C20684C30284BCC +S214014C509A884921254B984720684C3000224C21E0 +S214014C601D4DA84720684C307F2293218900A84714 +S214014C7024684C340020214B9847430018185030C4 +S214014C804023FF330122984201D901F047FA40211F +S214014C902000194B9847114B1C684C340020174BC9 +S214014CA0984783001B185B0050334021FF310122D7 +S214014CB08B4201D901F03FFA412120000E4DA84751 +S214014CC0064C20684C309622B021A84720684C300C +S214014CD04C22B7211EE0C046B54F0000384C0020DC +S214014CE02C1000009CCA010089820000554E00006D +S214014CF03C4C002029020000F54C000065F600003F +S214014D0081F6000095240100FF7F000039020000B3 +S214014D1039040000A84720685030FD4B98472068AA +S214014D205030002293218900FA4B9847246850346A +S214014D300020F94B9847143080004023FF330122AE +S214014D40984201D901F005FA01212000F34B98475A +S214014D50F34C20685030F34AB7214900F24DA8477A +S214014D6020685030F14B1A886A21FF31F04B984782 +S214014D70F04B9A6820685030EF49A84724685034B1 +S214014D800020E54B98474300181850304023FF3366 +S214014D900122984201D901F0E7F912212000DF4BE8 +S214014DA09847DF4B1C6850340020DB4B9847430084 +S214014DB0181850304023FF330122984201D901F0E0 +S214014DC0E0F913212000D54B9847D54B1C68503489 +S214014DD00020D14B98474300181850304023FF332A +S214014DE00122984201D901F0D9F910212000CB4BBC +S214014DF09847CB4B1C6850340020C74B984743005C +S214014E00181850304023FF330122984201D901F08F +S214014E10D2F911212000C14DA847C14C2068683045 +S214014E20BB4B98472068683000220121A8472468B8 +S214014E3068340020B84B9847143080004023FF3375 +S214014E400122984201D901F0C3F930212000B34D67 +S214014E50A847B34C2068683002223121A847206851 +S214014E606830B44B9B699B0701D501F0BCF9002360 +S214014E70002100224901DB020A431A433921AC4DC5 +S214014E80A847A74C20686830AA4BDA88AB49A847E0 +S214014E90246868340020A04B9847830018185030C7 +S214014EA04023FF330122984201D901F0A5F91221CE +S214014EB020009A4B98479A4B1C6868340020964B02 +S214014EC098478300181850304023FF330122984238 +S214014ED001D901F09EF913212000904B9847904B81 +S214014EE01C68683400208C4B984783001818503093 +S214014EF04023FF330122984201D901F097F910218E +S214014F002000864B9847864B1C6868340020824BED +S214014F1098478300181850304023FF3301229842E7 +S214014F2001D901F090F9112120007C4B98477C4B68 +S214014F301C6868340020784B984743001818503096 +S214014F404023FF330122984201D901F089F9142147 +S214014F502000724B9847724C20687C306C4B984707 +S214014F6024687C3400206C4B9847322358435030D9 +S214014F704023FF330122984201D901F07EF95021E6 +S214014F802000664B9847664B18687C30694B9B69D6 +S214014F909B0701D401F07EF9302218235201D90271 +S214014FA01A430A435921624B98475D4C206880306A +S214014FB0574B984720688030FF222C21554B984745 +S214014FC0206880305B4B9B699B0701D501F066F931 +S214014FD00E231F2110224901DB020A431A4329210D +S214014FE0534B98474E4C20688030554A01214B4B15 +S214014FF09847246880340020474B9847C300181A06 +S21401500050304023FF330122984201D901F04BF979 +S21401501003212000414B9847414B1C6880340020F7 +S2140150203D4B9847C300181A50304023FF330122E6 +S214015030984201D901F043F913212000374B9847D4 +S214015040374B1C6880340020334B9847C300181A2E +S21401505050304023FF330122984201D901F03BF939 +S214015060112120002D4B98472D4C20688430284D67 +S214015070A84720688430FF222C21264B98472068B9 +S2140150808430304B1A882921294B98472068B43040 +S214015090A8472068B430274B9B699B0701D501F0D0 +S2140150A026F914232A2115224901DB020A431A4351 +S2140150B039211F4B98471A4B1C68B4340020164BF5 +S2140150C09847283040004023FF330122984201D9F7 +S2140150D001F012F930212000104B9847104B1C6844 +S2140150E0B43400200C4B984750304023FF33012244 +S2140150F0984201D901F00BF912212000074DA8476B +S214015100074C2068B43004223121A8471CE0C04671 +S21401511095240100B54F000065F60000F54C00002F +S214015120384C0020A4CA0100095100009CCA0100A5 +S214015130554E00003C4C00208E81000039040000D2 +S214015140FF7F000098CA01002068B830FB4B9847E3 +S2140151502068B830FA4B9B699B0701D501F0E1F84E +S21401516014232B2117224901DB020A431A43F54E69 +S2140151703100F54DA847F54C20689830EF4B98471D +S21401518020689830FF222C21F14B984720689830F0 +S214015190EB4B9A882921A84720689830ED4B1A884E +S2140151A03100A847246898340020EB4B98476423C5 +S2140151B0584350304023FF330122984201D901F071 +S2140151C0B5F810212000E54B9847E04B1C68983451 +S2140151D00020E14B98476423584350304023FF3367 +S2140151E00122984201D901F0AEF811212000DB4DD1 +S2140151F0A847D64C20687430D04EB047206874302B +S21401520001220221A8472068743000221221A847F3 +S2140152102068743000221321A847206874300022C9 +S2140152201021A8472068743000221121A847206861 +S214015230743000221421A84720687830B0472068CF +S2140152407830FF222C21C24B984720687830BC4B1F +S2140152509B699B0701D501F083F80B2318210E22C9 +S2140152604901DB020A431A432921B74B9847B74B3A +S21401527018687830B24B9B699B0701D501F075F829 +S214015280092313210A224901DB020A431A43B449BE +S214015290AD4B9847AD4B18687830A94B9B699B0777 +S2140152A001D501F067F80B2318210E224901DB0214 +S2140152B00A431A43AB49A44EB047A44D2868783038 +S2140152C09F4CA2882A21FF31B0472F687837A088E3 +S2140152D03321A54B9847021CA4493800B0472868DB +S2140152E07830A3699B0701D501F049F81F233F21B8 +S2140152F01F224901DB020A431A439249924DA847ED +S214015300924C20687830012252429949A847206879 +S21401531078308B4B9B699B0701D501F035F8262227 +S21401532013235201D9021A430A439249864B9847DE +S214015330864B18687830824B9B699B0701D501F034 +S21401534027F81F233F211F224901DB020A431A4384 +S21401535089497D4DA8477D4C20687830012252420C +S2140153608649A84720687830754B9B699B0701D50D +S21401537001F013F8262213235201D9021A430A43D5 +S2140153807F49714B9847714C206878300122312152 +S214015390724B984720687830694B9B699B0701D50B +S2140153A000F0FFFF1023222112224901DB020A43EB +S2140153B01A433921644DA847644C20687830604B05 +S2140153C09A887049A8472068783001223021634BBB +S2140153D098472468783400206B4B9847012801D8F9 +S2140153E000F0E4FF00205C4B984703011B1A5B00AA +S2140153F050334021FF3101228B4201D900F0EFFFEB +S21401540012212000554B9847504B1C6878340020D9 +S2140154105D4B9847012801D800F0EEFF00204E4B67 +S214015420984703011B1A5B0050334021FF310122CC +S2140154308B4201D900F0F9FF13212000474B984712 +S214015440424B1C68783400204F4B9847012801D8FE +S21401545000F0F8FF0020404B984703011B1A5B0041 +S21401546050334021FF3101228B4201D901F003F86C +S21401547010212000394B9847344B1C6878340020A3 +S214015480414B9847012801D801F002F80020324B21 +S214015490984703011B1A5B0050334021FF3101225C +S2140154A08B4201D901F00DF8112120002B4B9847B2 +S2140154B0264B1C6878340020334B9847012801D8C6 +S2140154C001F00CF80020244B984703011B1A5B00DF +S2140154D050334021FF3101228B4201D901F017F8E8 +S2140154E0142120001D4B9847184B1C687834002067 +S2140154F0254B9847012801D801F016F80020164BD5 +S21401550098470301181A400050304023FF33984251 +S21401551001D901F024F801225242042120000F4D46 +S214015520A8470A4C2068783000221849A847206806 +S2140155307830002282214900A84729E095240100FD +S2140155403C4C002089800000554E0000384C00205D +S214015550B54F00009CCA010065F60000F54C00003E +S2140155602910000029200000DD0201002911000099 +S2140155708981000089A00000A9800000A98100009F +S214015580A9A000003902000081F600000410000006 +S214015590206878300022FA49A84720687830962299 +S2140155A0B021A847206878302922B721A84720686B +S2140155B078300422B621A84720685430F14B98472A +S2140155C0246854340020F04B984783001B189B0036 +S2140155D050334021FF3101228B4201D900F0CDFF2B +S2140155E0EA492000EA4DA847EA4C206854300122D7 +S2140155F00221A84720685830E24B98472068583067 +S214015600FF222C21E44B984720685830E34DAA88A6 +S2140156102921E34EB0472068583001225242E14921 +S214015620B04720685830AB699B0701D500F0B3FF3F +S214015630092313210A224901DB020A431A43DA49E4 +S214015640D74B9847D34B18685830D44B9B699B0768 +S21401565001D500F0A5FF1F233F211F224901DB02D0 +S2140156600A431A43D149CE4B9847CA4C2068883022 +S214015670C44B9847246888340020C34B984783005E +S21401568018188300C01850304023FF330122984277 +S21401569001D900F08AFFBD492000BD4B9847BD4C9B +S2140156A020688C30B74FB84720688C30FF222C21F9 +S2140156B0B94EB04720688C30B84DAA882921B84B1E +S2140156C09846984720688C30B94B1A88B549C04728 +S2140156D02068A830B8472068A830FF222C21B047A0 +S2140156E02068A830AB699B0701D500F06CFF0B233F +S2140156F018210E224901DB020A431A432921A84B2D +S2140157009847A44B1868A830A44B9B699B0701D502 +S21401571000F05EFF07230F2108224901DB020A433E +S2140157201A4339219E4B98479A4B1C68A83400208F +S214015730954B98478300181850304023FF330122B9 +S214015740984201D900F04EFF30212000904DA84725 +S214015750904C2068A83001223121A8472068A83043 +S2140157608E4B9B699B0701D500F049FF1C233A210C +S2140157701D224901DB020A431A438A49884DA8477C +S214015780864BDA68834C2068A8308A498A4B98474A +S2140157902068A830894B1A888949A8472468A83404 +S2140157A00020794B9847C300181A50304023FF3326 +S2140157B00122984201D900F027FF10212000744BE6 +S2140157C09847744B1C68A83400206F4B9847C30059 +S2140157D0181A50304023FF330122984201D900F0B5 +S2140157E01FFF122120006A4B98476A4B1C68A83499 +S2140157F00020654B9847C300181A50304023FF33EA +S2140158000122984201D900F017FF13212000604BB6 +S2140158109847604C2068A4305A4B98472068A430BB +S2140158207F2268495C4B98472068A430664B1A88EB +S2140158305D495B4B98472068A430584B9B699B0792 +S21401584001D500F005FF1C233A211D224901DB0288 +S2140158500A431A435D49524B98474E4B1C68A43481 +S2140158600020494B984783001B189B00503340216A +S214015870FF3101228B4201D900F0EFFE10212000FA +S214015880434B9847434B1C68A43400203E4B984733 +S21401589083001B189B0050334021FF3101228B42AD +S2140158A001D900F0E8FE11212000394B9847394C08 +S2140158B02068A430394EB2884549394DA84720683A +S2140158C0A430F2884349A8472068AC302D4B98474E +S2140158D02068AC30FF222C212F4B98472068AC3033 +S2140158E0B2882921A8472068AC30F2883A49A847EF +S2140158F02468AC340020244B984783001818503095 +S2140159004023FF330122984201D900F0C2FE032151 +S21401591020001F4DA8471F4C2068AC302F4A01219C +S214015920A8472068B030174B98472468B034002049 +S2140159302B4B9847012801D800F0B8FE0020124BE7 +S214015940984703011B1A5B0050334021FF310122A7 +S2140159508B4201D900F0C3FE102120000C4B984762 +S2140159600C4B1C68B03400201D4B9847012801D809 +S21401597000F0C2FE0020044B9847030132E0C04607 +S214015980042000009524010065F6000081800000D7 +S214015990F54C0000384C0020B54F00003C4C002070 +S2140159A0554E0000898000002910000089900000F3 +S2140159B09CCA01008E800000095100009ACA0100AD +S2140159C0A98000002C10000098CA010089810000FF +S2140159D0898200008984000029040000FF7F0000FE +S2140159E081F600001B1A5B0050334021FF31012273 +S2140159F08B4201D900F099FE11212000F24B984705 +S214015A00F24B1C68B0340020F14B9847012801D8AE +S214015A1000F098FE0020EF4B984703011B1A5B002D +S214015A2050334021FF3101228B4201D900F0A3FE01 +S214015A3012212000E44B9847E44B1C68B034002048 +S214015A40E34B9847012801D800F0A2FE0020E14B65 +S214015A50984703011B1A5B0050334021FF31012296 +S214015A608B4201D900F0ADFE13212000D64B98479A +S214015A70D64B1C68B0340020D54B9847012801D876 +S214015A8000F0ACFE0020D34B984703011B1A5B00C5 +S214015A9050334021FF3101228B4201D900F0B7FE7D +S214015AA014212000C84B9847C84C2068A030CA4B28 +S214015AB098472068A030C94B9B699B0701D500F029 +S214015AC0B3FE1023222112224901DB020A431A43A4 +S214015AD03921C34B9847BD4C2068A03001223021A4 +S214015AE0B94DA8472068A03003223121A847246871 +S214015AF0A0340020B64B9847012801D800F099FE43 +S214015B000020B44B984703011B1A5B005033402119 +S214015B10FF3101228B4201D900F0A4FE12212000A0 +S214015B20A94B9847A94B1C68A0340020A84B98475E +S214015B30012801D800F0A3FE0020A64B98470301D8 +S214015B401B1A5B0050334021FF3101228B4201D9E1 +S214015B5000F0AEFE132120009B4B98479B4B1C6820 +S214015B60A03400209A4B9847012801D800F0ADFEDA +S214015B700020984B984703011B1A5B0050334021C5 +S214015B80FF3101228B4201D900F0B8FE102120001E +S214015B908D4B98478D4B1C68A03400208C4B984742 +S214015BA0012801D800F0B7FE00208A4B9847030170 +S214015BB01B1A5B0050334021FF3101228B4201D971 +S214015BC000F0C2FE112120007F4B9847834C854B85 +S214015BD023600122844B1A700020844B98472000D2 +S214015BE004BC9046F0BDBC20814B9847814B1860A1 +S214015BF0764B1860FEF759FC15232A211522FEF76D +S214015C007FFC0020734B98475030A0217A4B984771 +S214015C1002B2FEF78EFC00206E4B98470300800010 +S214015C20C01840005030A021734B984702B2FEF7CF +S214015C3095FC0020674B984703008000C018400081 +S214015C405030A0216C4B984702B2FEF79CFC1A23F9 +S214015C5037211C22FEF7A7FC00205E4B9847030065 +S214015C604000C0185030A021634B984702B2FEF79F +S214015C70B5FC0020574B984714308000A0215E4B9E +S214015C80984702B2FEF7BDFC0020524B98472830D9 +S214015C904000A021584B984702B2FEF7C5FC0020F1 +S214015CA04C4B98475030A021534B984702B2FEF711 +S214015CB0CDFC0020474B98470301181A503040236B +S214015CC0FF330122984201D8FEF7E0FC0020414B49 +S214015CD098470301181A5030A021474B984702B243 +S214015CE0FEF7D4FC00203B4B98470301181A4000EE +S214015CF05030A021404B984702B2FEF7C7FC002067 +S214015D00344B98470301181A50304023FF330122C1 +S214015D10984201D8FEF7D6FC00202E4B9847030187 +S214015D20181A5030A021344B984702B2FEF7CAFC2D +S214015D300020284B98470301181A40005030A02134 +S214015D402D4B984702B2FEF7BDFC0020214B984729 +S214015D500301181A50304023FF330122984201D81C +S214015D60FEF7CCFC00201B4B98470301181A503055 +S214015D70A021214B984702B2FEF7C0FC0020154B2C +S214015D8098470301181A40005030A0211A4B984733 +S214015D9002B2FEF7B3FC00200E4B98470301181A17 +S214015DA050304023FF330122984201D8FEF7C2FC4F +S214015DB00020084B98470301181A5030A0210E4BBB +S214015DC0984702B2FEF7B6FCF54C0000384C0020AE +S214015DD081F6000065F60000952401003C4C002089 +S214015DE0554E0000791C0100344C00203527000078 +S214015DF0710A0100744D0020F17901000020FC4B6E +S214015E0098470301181A40005030A021F94B9847D3 +S214015E1002B2FEF78FFC22221123FEF79AFC06231C +S214015E2010210922FEF7ACFC0020F14B9847030134 +S214015E30181A50304023FF330122984201D8FEF74A +S214015E40BEFC0020EA4B98470301181A5030A021E7 +S214015E50E84B984702B2FEF7B2FC0020E44B9847A5 +S214015E600301181A40005030A021E24B984702B2B5 +S214015E70FEF7A5FC0020DE4B98470301181A5030A8 +S214015E804023FF330122984201D8FEF7B4FC0020DC +S214015E90D74B98470301181A5030A021D54B984785 +S214015EA002B2FEF7A8FC0020D14B98470301181A4E +S214015EB040005030A021CF4B984702B2FEF79BFC22 +S214015EC00020CB4B98470301181A50304023FF336C +S214015ED00122984201D8FEF7AAFC0020C44B98473D +S214015EE00301181A5030A021C24B984702B2FEF7A0 +S214015EF09EFC0020BE4B98470301181A4000503004 +S214015F00A021BC4B984702B2FEF791FC0020B84B8B +S214015F10984714308000A021B64B984702B2FEF78E +S214015F209DFC062310210922FEF7A8FC19220C234A +S214015F30FEF701FD0020AE4B984703004000C01855 +S214015F405030A021AB4B984702B2FEF725FD00204A +S214015F50A74B98470301181A50304023FF330122FC +S214015F60984201D8FEF734FD0020A14B9847030163 +S214015F70181A5030A0219F4B984702B2FEF728FD11 +S214015F8000209B4B98470301181A40005030A0216F +S214015F90984B984702B2FEF71BFD0020944B98479A +S214015FA00301181A50304023FF330122984201D8CA +S214015FB0FEF72AFD00208E4B98470301181A503031 +S214015FC0A0218C4B984702B2FEF71EFD0020884B9D +S214015FD098470301181A40005030A021854B984776 +S214015FE002B2FEF711FD0020814B98470301181AF3 +S214015FF050304023FF330122984201D8FEF720FD9E +S21401600000207B4B98470301181A5030A021794B8A +S214016010984702B2FEF714FD0020754B984703011E +S214016020181A40005030A021724B984702B2FEF772 +S21401603007FD00206E4B98470301181A40005030A8 +S214016040A0216C4B984702B2FEF713FD1D233B219E +S2140160501E22FEF724FD0020654B984703008000B2 +S214016060C01880005030A021624B984702B2FEF75C +S2140160702EFD00205E4B984703004000C0188000AC +S214016080C0185030A0215B4B984702B2FEF767FD5F +S2140160900020574B984703004000C0188000C018E6 +S2140160A05030A021534B984702B2FEF76FFD0020F7 +S2140160B04F4B984703004000C0188000C01850306E +S2140160C0A0214C4B984702B2FEF777FD0020484BC3 +S2140160D0984703004000C0188000C0185030A02127 +S2140160E0444B984702B2FEF77FFD0020404B98478D +S2140160F014308000A0213F4B984702B2FEF78BFD7B +S21401610000203B4B984703008000C01840005030E9 +S214016110A021384B984702B2FEF792FD0020344B7F +S214016120984703004000C0185030A021314B9847D3 +S21401613002B2FEF7ACFD00202D4B9847030080000D +S214016140C01840005030A0212A4B984702B2FEF7F3 +S214016150B3FD0020264B984714308000A021254B24 +S214016160984702B2FEF7F0FD0020214B9847030046 +S2140161704000C0185030A0211E4B984702B2FEF7CF +S2140161800CFE00201A4B984703004000C018503000 +S214016190A021184B984702B2FEF713FE0020144BBD +S2140161A0984703004000C0185030A021114B984773 +S2140161B002B2FEF71AFE00200D4B9847030040007E +S2140161C0C0185030A0210B4B984702B2FEF721FEB3 +S2140161D00020074B984714308000A021054B9847B4 +S2140161E002B2FEF732FE07230F210822FEF742FE17 +S2140161F065F60000F17901000020F84B984703008E +S2140162008000C0185030A021F54B984702B2FEF727 +S2140162104EFE0020F14B984703008000C018503016 +S214016220A021EF4B984702B2FEF755FE0020EB4B3C +S214016230984703008000C0185030A021E84B9847CB +S21401624002B2FEF75CFE0020E44B98470300800094 +S214016250C0185030A021E24B984702B2FEF763FE09 +S2140162600020DE4B984703004000C0185030A021A4 +S214016270DB4B984702B2FEF76AFE0020D74B9847E1 +S2140162800300322058435030A021D54B984702B224 +S214016290FEF775FE26221323FEF780FE192333210F +S2140162A01A22FEF798FE0020CC4B9847C300181A16 +S2140162B05030A021CA4B984702B2FEF7A9FE002033 +S2140162C0C64B9847C300181A5030A021C44B9847B4 +S2140162D002B2FEF7B1FE0020C04B9847C300181A61 +S2140162E05030A021BE4B984702B2FEF7B9FE0623F6 +S2140162F010210922FEF7D8FE0020B84B9847283017 +S2140163004000A021B64B984702B2FEF7E3FE0020FC +S214016310B24B98475030A021B14B984702B2FEF7D6 +S214016320EBFE15232A211522FEF71DFF0020AB4B9D +S21401633098470300642058435030A021A84B984743 +S21401634002B2FEF73EFF0020A44B984703006420EC +S21401635058435030A021A24B984702B2FEF745FFA2 +S2140163601F233F211F22FEF77BFF1D233B211D22FA +S214016370FEF789FF1F233F211F22FEF797FF072302 +S2140163800F210822FEF7B5FF2A221523FEF7C9FFC3 +S21401639007230F210822FEF7D7FF2A221523FEF72F +S2140163A0EBFF1A2337211C22FEF7FFFF00208B4B41 +S2140163B098470301181A50304023FF3301229842B0 +S2140163C001D8FFF71DF80020844B98470301181ADF +S2140163D05030A021824B984702B2FFF711F80020F7 +S2140163E07E4B98470301181A40005030A0217C4B81 +S2140163F0984702B2FFF704F80020784B984703014C +S214016400181A50304023FF330122984201D8FFF773 +S21401641013F80020714B98470301181A5030A02139 +S2140164206F4B984702B2FFF707F800206B4B98476F +S2140164300301181A40005030A021694B984702B258 +S214016440FEF7FAFF0020654B98470301181A5030F3 +S2140164504023FF330122984201D8FFF709F80020B4 +S2140164605E4B98470301181A5030A0215C4B9847A1 +S21401647002B2FEF7FDFF0020584B98470301181A99 +S21401648040005030A021564B984702B2FEF7F0FF6D +S2140164900020524B98470301181A50304023FF330F +S2140164A00122984201D8FEF7FFFF00204B4B984788 +S2140164B00301181A5030A021494B984702B2FEF743 +S2140164C0F3FF0020454B98470301181A400050304F +S2140164D0A021434B984702B2FEF7E6FF00203F4B50 +S2140164E098470301181A50304023FF33012298427F +S2140164F001D8FEF7F5FF0020384B98470301181A1C +S2140165005030A021364B984702B2FEF7E9FF002033 +S214016510324B98470301181A40005030A021304BE7 +S214016520984702B2FEF7DCFF00202C4B9847030188 +S214016530181A50304023FF33984203D801225242A2 +S214016540FEF7EBFF0020254B98470301181A503041 +S214016550A021234B9847424212B2FEF7DEFF0020ED +S2140165601E4B98470301181A40005030A0211C4BBF +S2140165709847424212B2FEF7D0FF0020174B9847C9 +S21401658003008000C01880005030A021144B9847AB +S21401659002B2FFF725F81D233B211D22FFF74BF81A +S2140165A007230F210822FFF759F800200B4B9847C5 +S2140165B0830018188300C0185030A021084B984754 +S2140165C002B2FFF768F81F233F211F22FFF792F858 +S2140165D01C233A211E22FFF7A0F8C04665F60000EC +S2140165E0F17901000020DF4B984703008000C018B6 +S2140165F05030A021DC4B984702B2FFF7A5F80723DD +S2140166000F210822FFF7B5F80020D64B9847C300A4 +S214016610181A5030A021D44B984702B2FFF7CDF894 +S2140166200020D04B9847C300181A5030A021CE4BFB +S214016630984702B2FFF7D5F80020CA4B9847C30027 +S214016640181A5030A021C84B984702B2FFF7DDF860 +S21401665007230F210822FFF7F9F80020C14B9847BE +S21401666003008000C01880005030A021BE4B984720 +S21401667002B2FFF703F90020BA4B984703008000E7 +S214016680C01880005030A021B74B984702B2FFF7E0 +S2140166900AF90020B34B984703008000C018503019 +S2140166A0A021B14B984702B2FFF731F90020AD4B5C +S2140166B098470301181A50304023FF3301229842AD +S2140166C001D8FFF749F90020A64B98470301181A8D +S2140166D05030A021A44B984702B2FFF73DF90020A5 +S2140166E0A04B98470301181A40005030A0219E4B3A +S2140166F0984702B2FFF730F900209A4B98470301FA +S214016700181A50304023FF330122984201D8FFF770 +S21401671073F90020934B98470301181A5030A021B3 +S214016720914B984702B2FFF767F900208D4B9847C7 +S2140167300301181A40005030A0218B4B984702B233 +S214016740FFF75AF90020874B98470301181A503073 +S2140167504023FF330122984201D8FFF769F9002050 +S214016760804B98470301181A5030A0217E4B98475A +S21401677002B2FFF75DF900207A4B98470301181A19 +S21401678040005030A021784B984702B2FFF750F9ED +S2140167900020744B98470301181A50304023FF33EA +S2140167A00122984201D8FFF75FF900206D4B984708 +S2140167B00301181A5030A0216B4B984702B2FFF71D +S2140167C053F90020674B98470301181A40005030D0 +S2140167D0A021654B984702B2FFF746F90020614BAE +S2140167E098470301181A50304023FF33012298427C +S2140167F001D8FFF755F900205A4B98470301181A9C +S2140168005030A021584B984702B2FFF749F90020B3 +S214016810544B98470301181A40005030A021524BA0 +S214016820984702B2FFF73CF91A2337211C22FFF7DB +S2140168304BF900204B4B98470301181A5030402360 +S214016840FF330122984201D8FFF768F90020454B33 +S21401685098470301181A5030A021434B984702B2BB +S214016860FFF75CF900203F4B98470301181A4000D8 +S2140168705030A0213C4B984702B2FFF74FF9002059 +S214016880384B98470301181A50304023FF33012232 +S214016890984201D8FFF75EF90020324B9847030172 +S2140168A0181A5030A021304B984702B2FFF752F920 +S2140168B000202C4B98470301181A40005030A021A5 +S2140168C0294B984702B2FFF745F90020254B984718 +S2140168D00301181A50304023FF330122984201D891 +S2140168E0FFF754F900201F4B98470301181A503040 +S2140168F0A0211D4B984702B2FFF748F90020194B1B +S21401690098470301181A40005030A021164B9847AB +S21401691002B2FFF73BF90020124B98470301181A01 +S21401692050304023FF330122984201D8FFF74AF93D +S21401693000200C4B98470301181A5030A0210A4B2F +S214016940984702B2FFF73EF90020064B984703012D +S214016950181A40005030A021034B984702B2FFF7A7 +S21401696031F9C04665F60000F179010070B5E94DD0 +S21401697020236B61E84C1F3B23700020E74B9847B0 +S214016980FA2200230021E64EB047E64A002380188B +S2140169905941E54A0023E54EB047E54B9847402369 +S2140169A06B612378002B04D120226A611F3ADA4BEF +S2140169B01A70E222DF49E048E04B9847D54B402267 +S2140169C09A615A61D44B1B78002B05D0203AD14BE3 +S2140169D09A610022D04B1A702322D649D648D74B4B +S2140169E09847CC4B40229A615A61CB4B1B78002BBF +S2140169F005D0203AC74B9A610022C74B1A70022273 +S214016A00CC49CD48CD4B9847C24B40229A615A613A +S214016A10C14B1B78002B05D0203ABE4B9A61002251 +S214016A20BD4B1A700422C349C348C44B9847B94B9F +S214016A3040229A615A61B84B1B78002B05D1203A47 +S214016A40B44B5A611F3AB44B1A70E022B949BA489E +S214016A50BA4B9847AF4B40229A615A61AE4B1B78AE +S214016A60002B05D0203AAB4B9A610022AA4B1A7034 +S214016A700122B049B048B14B9847A64C4025A561C4 +S214016A800020A64B984702000023A6480021801844 +S214016A905941A54A0023A54EB047A54B98476561C5 +S214016AA09D4B1B78002B04D1202262611F3A9A4B22 +S214016AB01A70E0229F49A048A04B9847954B402268 +S214016AC09A615A61944B1B78002B05D0203A914B62 +S214016AD09A610022904B1A70032296499648974B6A +S214016AE098478C4C4025A56100208C4B98470200A6 +S214016AF000238C480021801859418B4A00238B4E75 +S214016B00B0478B4B98476561834B1B78002B04D1AC +S214016B10202262611F3A804B1A70012285498648FD +S214016B20864B98477B4C4025A56100207B4B9847B8 +S214016B30020000237B480021801859417A4A00232D +S214016B407A4EB0477A4B98476561734B1B78002B9A +S214016B5004D1202262611F3A6F4B1A70E6227549F2 +S214016B607548764B98476B4B40229A615A616A4B3F +S214016B701B78002B05D0203A664B9A610022664BA3 +S214016B801A7001226B496C486C4B9847614B402246 +S214016B909A615A61604B1B78002B05D0203A5D4BF9 +S214016BA09A6100225C4B1A70332262496248634B39 +S214016BB09847584B40229A615A61574B1B78002BD5 +S214016BC005D0203A534B9A610022534B1A70332258 +S214016BD058495948594B98474E4B40229A615A6139 +S214016BE04D4B1B78002B05D1203A4A4B5A611F3A70 +S214016BF0494B1A70B0224F494F48504B9847454B66 +S214016C0040229A615A61444B1B78002B05D0203AEA +S214016C10404B9A610022404B1A7020224549464853 +S214016C20464B98473B4B40229A615A613A4B1B7838 +S214016C30002B05D0203A374B9A610022364B1A704A +S214016C4000223C493C483D4B9847324C4025A561C3 +S214016C503B4B98473B4B9847421E121265612E4BA1 +S214016C601B78002B04D02021A16100212A4B19702A +S214016C70FF2002402F493048304B9847254C40258D +S214016C80A5612F4B98472F4B98470138C2B26561D3 +S214016C90214B1B78002B04D02021A16100211E4B23 +S214016CA0197024492448254B98471A4C4025A5615C +S214016CB0234B9847244B9847421E12126561164B88 +S214016CC01B78002B04D02021A1610021124B1970E2 +S214016CD0FF20024017491848184B98470D4C40258D +S214016CE0A561174B9847184B98470138C2B26561A2 +S214016CF0094B1B78002B04D02021A1610021064BF3 +S214016D0019700C490C480D4B9847024B40229A616A +S214016D105A611BE0004400415C000020CD100000D9 +S214016D201D7D0100571B0000581B0000DD7C010083 +S214016D3001000020F7C3031C8044004115780100C0 +S214016D4009F6000015F600003DF60000E54B1B783D +S214016D50002B05D0203AE44B9A610022E14B1A70D1 +S214016D600022E249E248E34B9847DF4C4025A56103 +S214016D700020E14B984702000023E04800218018DC +S214016D805941DF4A0023DF4EB047DF4B9847656124 +S214016D90D44B1B78002B04D1202262611F3AD14BC1 +S214016DA01A70B422D149D248D24B9847CE4B4022D2 +S214016DB09A615A61CB4B1B78002B05D0203ACA4BFF +S214016DC09A610022C74B1A700222C849C848C94BAB +S214016DD09847C54B40229A615A61C24B1B78002BDB +S214016DE005D0203AC04B9A610022BE4B1A700D2284 +S214016DF0BE49BF48BF4B9847BB4B40229A615A6178 +S214016E00B84B1B78002B05D0203AB74B9A6100226D +S214016E10B44B1A700122B549B548B64B9847B24BE8 +S214016E2040229A615A61AF4B1B78002B05D0203A5D +S214016E30AD4B9A610022AB4B1A70E022AB49AC48CD +S214016E40AC4B9847A84B40229A615A61A54B1B78D8 +S214016E50002B05D0203AA44B9A610022A14B1A7050 +S214016E600522A249A248A34B98479F4B40229A610C +S214016E705A619C4B1B78002B05D0203A9A4B9A619D +S214016E800022984B1A70002298499948994B9847C6 +S214016E90954B40229A615A61924B1B78002B05D084 +S214016EA0203A914B9A6100228E4B1A7028228F4904 +S214016EB08F48904B98478C4B40229A615A61894B78 +S214016EC01B78002B05D0203A874B9A610022854B10 +S214016ED01A70002285498648864B9847824B402285 +S214016EE09A615A617F4B1B78002B05D1203A7E4B65 +S214016EF05A611F3A7B4B1A70B6227C497C487D4BFF +S214016F009847794B40229A615A61764B1B78002B41 +S214016F1005D0203A744B9A610022724B1A700122F6 +S214016F2072497348734B98476F4B40229A615A6176 +S214016F306C4B1B78002B05D0203A6B4B9A610022D4 +S214016F40684B1A702022694969486A4B9847664B14 +S214016F5040229A615A61634B1B78002B05D0203A78 +S214016F60614B9A6100225F4B1A7001225F496048AB +S214016F70604B98475C4B40229A615A61594B1B788B +S214016F80002B05D0203A584B9A610022554B1A70B7 +S214016F90102256495648574B9847534B40229A6100 +S214016FA05A61504B1B78002B05D0203A4E4B9A6104 +S214016FB000224C4B1A7008224C494D484D4B9847BD +S214016FC0494B40229A615A61464B1B78002B05D0EB +S214016FD0203A454B9A610022424B1A7000224349DF +S214016FE04348444B9847404B40229A615A613D4B77 +S214016FF01B78002B05D0203A3B4B9A610022394B77 +S2140170001A70082239493A483A4B9847364B40227B +S2140170109A615A61334B1B78002B05D1203A324BCB +S2140170205A611F3A2F4B1A70B82230493048314BFB +S21401703098472D4B40229A615A612A4B1B78002BA8 +S21401704005D0203A284B9A610022264B1A700F224F +S21401705026492748274B9847234B40229A615A6175 +S214017060204B1B78002B05D0203A1F4B9A6100223B +S2140170701C4B1A7001221D491D481E4B98471A4B7E +S21401708040229A615A61174B1B78002B05D1203A92 +S214017090154B5A611F3A134B1A70BA2213491448FA +S2140170A0144B9847104B40229A615A610D4B1B783E +S2140170B0002B05D0203A0C4B9A610022094B1A701E +S2140170C001220A490A480B4B9847074B40229A610E +S2140170D05A61044B1B78002B1AD1203A024B5A6195 +S2140170E01F3A13E05C00002000440041F7C3031C74 +S2140170F08044004115780100CD100000571B0000A8 +S214017100581B0000DD7C010001000020D44B1A70E2 +S2140171103622D449D448D54B9847D54B40229A615C +S2140171205A61CF4B1B78002B05D0203AD04B9A6181 +S2140171300022CB4B1A700822CA49CB48CB4B984742 +S214017140CB4B40229A615A61C54B1B78002B05D167 +S214017150203AC74B5A611F3AC14B1A703A22C149AD +S214017160C148C24B9847C24B40229A615A61BC4BF8 +S2140171701B78002B05D0203ABD4B9A610022B84BF4 +S2140171801A705022B749B848B84B9847B84B4022B6 +S2140171909A615A61B24B1B78002B05D1203AB44B49 +S2140171A05A611F3AAE4B1A70F022AE49AE48AF4B49 +S2140171B09847AF4B40229A615A61A94B1B78002B26 +S2140171C005D0203AAA4B9A610022A54B1A700322D9 +S2140171D0A449A548A54B9847A54B40229A615A61F8 +S2140171E09F4B1B78002B05D1203AA14B5A611F3AC1 +S2140171F09B4B1A70BC229B499B489C4B98479C4BC7 +S21401720040229A615A61964B1B78002B05D0203A92 +S214017210974B9A610022924B1A70402291499248EC +S214017220924B9847924B40229A615A618C4B1B783D +S214017230002B05D0203A8E4B9A610022884B1A709B +S214017240802288498848894B9847894B40229A6111 +S2140172505A61834B1B78002B05D0203A844B9A61E8 +S21401726000227F4B1A7040227E497F487F4B984709 +S2140172707F4B40229A615A61794B1B78002B05D0CF +S214017280203A7B4B9A610022754B1A700122754990 +S2140172907548764B9847764C4025A5610020754B7E +S2140172A09847020000237448002180185941734A08 +S2140172B00023734EB047734B98476561684B1B7844 +S2140172C0002B04D1202262611F3A654B1A702922D5 +S2140172D064496548654B9847654B40229A615A61F7 +S2140172E05F4B1B78002B05D1203A614B5A611F3A40 +S2140172F05B4B1A70BE225B495B485C4B98475C4B04 +S21401730040229A615A61564B1B78002B05D0203AD1 +S214017310574B9A610022524B1A7006225149524825 +S214017320524B9847524B40229A615A614C4B1B78FC +S214017330002B05D0203A4E4B9A610022484B1A701A +S214017340802248494848494B9847494B40229A6110 +S2140173505A61434B1B78002B05D0203A444B9A6167 +S21401736000223F4B1A7001223E493F483F4B984747 +S2140173703F4B40229A615A61394B1B78002B05D04E +S214017380203A3B4B9A610022354B1A70F022354960 +S2140173903548364B9847364B40229A615A61304BF6 +S2140173A01B78002B05D0203A314B9A6100222C4BDA +S2140173B01A7000222B492C482C4B98472C4B402204 +S2140173C09A615A61264B1B78002B05D0203A284B30 +S2140173D09A610022224B1A70002222492248234B2E +S2140173E09847234B40229A615A611D4B1B78002B0C +S2140173F005D1203A1E4B5A611F3A194B1A70D022FA +S21401740018491948194B9847194B40229A615A61F5 +S214017410134B1B78002B05D0203A154B9A6100229E +S2140174200F4B1A700D220F490F48104B98474022F8 +S2140174300F4B9A6100200F4B984702000023110F53 +S2140174401001801A9941001849410B4A00238018FF +S21401745059410A4A00230A4CA0470A4B984770BD77 +S2140174605C000020F7C3031C80440041157801002E +S21401747000440041CD100000571B0000581B0000BF +S214017480DD7C010001000020F0B5DE4657464E4681 +S2140174904546E0B583B000900F00160004228B5ECF +S2140174A0002B0CDB06228B5E002B08DB0023CC5E58 +S2140174B0B24B9847B24B98470138844206DD03B079 +S2140174C03CBC90469946A246AB46F0BD0223FC5E04 +S2140174D0AA4B9847AB4B984701388442EFDC3B8870 +S2140174E01D1C1BB2002B00DA36E12BB299467B88B5 +S2140174F01C1C1BB2002B00DA30E124B2A346042385 +S214017500FD5E9E4B98479E4B98470138854200DDAD +S21401751026E10423FD5E0622BB5E9A46974B9847FA +S214017520984B98470138824500DD1FE10622BB5E75 +S2140175309A464022944B5A61944B1B78002B05D1F6 +S214017540203A914B5A611F3A904B1A702A22904961 +S2140175509048914B98478C4B402199614A461012AE +S21401756059618A4B1B78002B05D02022864B9A61E5 +S2140175700022864B1A70FF22024085498548864BB9 +S2140175809847814B402199614A46684602710279C3 +S21401759059617E4B1B78002B05D020397A4B9961B7 +S2140175A000217A4B19707A497A487B4B9847764B7B +S2140175B04021996128125961744B1B78002B05D024 +S2140175C02022714B9A610022704B1A70FF220240F2 +S2140175D06F497048704B98476B4B40229A615A61CD +S2140175E06A4B1B78002B05D0203A674B9A61002224 +S2140175F0664B1A70FF222A4065496648664B9847D3 +S214017600614B40229A615A61604B1B78002B05D171 +S214017610203A5D4B5A611F3A5C4B1A702B225C492B +S2140176205C485D4B9847584B402199615A46101269 +S2140176305961564B1B78002B05D02022524B9A617C +S2140176400022524B1A70FF22024051495148524BB8 +S21401765098474D4B40219961E2B259614B4B1B78DB +S214017660002B05D02039484B99610021474B1970F2 +S21401767047494848484B9847434B402199615246F1 +S21401768010125961414B1B78002B05D020223E4B2E +S2140176909A6100223D4B1A70FF2202403C493D4848 +S2140176A03D4B9847384B40229A615A61374B1B78BD +S2140176B0002B05D0203A344B9A610022334B1A70C6 +S2140176C0FF2253461A4032493248334B98472E4BD5 +S2140176D040229A615A612D4B1B78002B05D1203A26 +S2140176E0294B5A611F3A294B1A702C2228492948DE +S2140176F0294B98474022244B9A61BB8801333A882C +S2140177009B1A9FB2214A1278002A05D020211E4AD0 +S214017710916100211D4A117040211B4A51614B465F +S214017720ED1A0135ADB2DA450FDB7F001B4B9846EB +S21401773001953D005746019B320015491548C04743 +S2140177407619013424B2A742F5DA40220E4B9A612B +S2140177500098134B9847B2E60025C6E60024CCE60F +S214017760064B9847064B9847451ED4E6034B984769 +S214017770044B9847431E9A46DBE6C04609F60000CE +S21401778015F600003DF60000004400415C000020B4 +S214017790F7C3031C80440041157801002D780100D1 +S2140177A0D9F6000030B583B001AA002494700125F3 +S2140177B01570547012491348134B98476B469C70CA +S2140177C05C701D7069460420104CA0476946052070 +S2140177D0A04769460620A04769460720A047694694 +S2140177E00A20A0470A4B10229A6110329A61203271 +S2140177F09A6140329A618022D2009A6103B030BD0C +S214017800F7C3031C80440041790D0000550D0000AC +S2140178100044004113000B40836191434161024BD8 +S21401782080225A619A61704700440041F0B583B0E6 +S21401783000900191002B0AD015001F000024054E70 +S21401784004CD01990098B0470134BC42F8D103B089 +S214017850F0BDC04615780100704700000FB430B582 +S214017860C3B046AC20CC0222FF32002101A80F4B48 +S214017870984700942200290001A80D4B984701A8BB +S2140178800C4B984782B280235B009A4204D943B0DE +S21401789030BC08BC04B01847074C01A92000074BB0 +S2140178A0984707492000074B9847F0E7BD7F01003E +S2140178B031800100F17F0100584C002015090000BD +S2140178C0304E0020390A000070B590B08023DB05E9 +S2140178D0009300230193FF2269460A8100228B72DE +S2140178E0CB720124242168464454013144540131A9 +S2140178F04354013143540A930531435401314354EF +S21401790005930382C3760276027742761323837643 +S2140179104277E1235B020893184B0C93184B0D93A7 +S21401792001235B420E930F9380235B030393154E53 +S2140179306A4615493000154B984735682800144BA0 +S21401794098471F2318408440124B1C603268D36945 +S214017950002BFCD12B68022213432B60094C013A01 +S2140179600D4920000D4B98473122A35C02210B43A1 +S214017970A3540B480B4B984710B070BD020016007D +S21401798002001700584C002000140042B105000008 +S2140179901D0C000000E100E0A9790100210A0000A9 +S2140179A0ACCA01005D78010010B5034B1988C9B255 +S2140179B00248034B984710BD304E0020A8CA01006C +S2140179C05D78010010B502490248034B984710BD87 +S2140179D0304E0020584C0020390A000010B5024BEA +S2140179E09847024CA047FDE769010000FD01000031 +S2140179F0002243088B4274D303098B425FD3030AE8 +S214017A008B4244D3030B8B4228D3030C8B420DD3FA +S214017A10FF22090212BA030C8B4202D31212090288 +S214017A2065D0030B8B4219D300E0090AC30B8B42C6 +S214017A3001D3CB03C01A5241830B8B4201D38B0374 +S214017A40C01A5241430B8B4201D34B03C01A524119 +S214017A50030B8B4201D30B03C01A5241C30A8B425C +S214017A6001D3CB02C01A5241830A8B4201D38B0247 +S214017A70C01A5241430A8B4201D34B02C01A5241EB +S214017A80030A8B4201D30B02C01A5241CDD2C3095D +S214017A908B4201D3CB01C01A524183098B4201D3D9 +S214017AA08B01C01A524143098B4201D34B01C01AC4 +S214017AB0524103098B4201D30B01C01A5241C3083C +S214017AC08B4201D3CB00C01A524183088B4201D3AB +S214017AD08B00C01A524143088B4201D34B00C01A97 +S214017AE05241411A00D20146524110467047FFE703 +S214017AF001B5002000F0F0F802BDC0460029F7D01D +S214017B0076E7704703460B437FD4002243088B4237 +S214017B1074D303098B425FD3030A8B4244D3030B0E +S214017B208B4228D3030C8B420DD3FF22090212BAD3 +S214017B30030C8B4202D31212090265D0030B8B424F +S214017B4019D300E0090AC30B8B4201D3CB03C01A39 +S214017B505241830B8B4201D38B03C01A5241430B14 +S214017B608B4201D34B03C01A5241030B8B4201D304 +S214017B700B03C01A5241C30A8B4201D3CB02C01A6F +S214017B805241830A8B4201D38B02C01A5241430AE7 +S214017B908B4201D34B02C01A5241030A8B4201D3D6 +S214017BA00B02C01A5241CDD2C3098B4201D3CB017D +S214017BB0C01A524183098B4201D38B01C01A52412C +S214017BC043098B4201D34B01C01A524103098B4230 +S214017BD001D30B01C01A5241C3088B4201D3CB001B +S214017BE0C01A524183088B4201D38B00C01A5241FE +S214017BF043088B4201D34B00C01A5241411A00D2AE +S214017C0001465241104670475DE0CA0F00D0494216 +S214017C10031000D34042534000229C4603098B4286 +S214017C202DD3030A8B4212D3FC22890112BA030A0E +S214017C308B420CD3890192118B4208D38901921190 +S214017C408B4204D389013AD0921100E08909C30915 +S214017C508B4201D3CB01C01A524183098B4201D317 +S214017C608B01C01A524143098B4201D34B01C01A02 +S214017C70524103098B4201D30B01C01A5241C3087A +S214017C808B4201D3CB00C01A524183088B4201D3E9 +S214017C908B00C01A5241D9D243088B4201D34B0004 +S214017CA0C01A5241411A00D20146634652415B1046 +S214017CB0104601D34042002B00D549427047634627 +S214017CC05B1000D3404201B5002000F005F802BD6C +S214017CD00029F8D016E770477047C046002B11D12F +S214017CE0002A0FD1002900D1002802D00021C94363 +S214017CF0081C07B4024802A14018029003BDC04602 +S214017D00D9FFFFFF03B4684601B5029800F030F8CA +S214017D10019B9E4602B00CBC7047C046F0B5CE46ED +S214017D20474615042D0C2E0080B50704140C3F0C95 +S214017D309946030C7E435D43674363437F19340CC6 +S214017D40E4199C46A54203D980235B029846C444A5 +S214017D504B46514343433604360C250C24046544F4 +S214017D60A4195918491920000CBC90469946F0BD33 +S214017D70F0B557464E464546DE46E0B5040083B0AC +S214017D800D00924699468B422FD82CD04946504634 +S214017D9000F0CCF829000600200000F0C7F8331ADE +S214017DA09846203B9B4600D574E053465A4693407E +S214017DB01F005346424693401E00AF4229D826D0A4 +S214017DC05B46A41BBD41002B00DA79E000220023AC +S214017DD00092019301235A469340019301234246A0 +S214017DE09340009319E08242D0D9002200230092EA +S214017DF001930C9B002B01D01C605D6000980199DB +S214017E0003B03CBC90469946A246AB46F0BDA342A1 +S214017E10D6D900220023009201934346002BE8D0D6 +S214017E20FB0772081A4346467B080EE0AB4201D1B7 +S214017E30A2420CD8A41A9D41012024196D410021AB +S214017E40013E24184D41002E06D0AB42EED9013E2C +S214017E5024196D41002EF8D15B460098019900194E +S214017E606941002B22DB2B005A46D3402A004446A8 +S214017E70E2401C005B461500002B2CDB26009E40D2 +S214017E80330026004746BE403200801A99410090D2 +S214017E900191AEE7424620239B1A5246DA404146FC +S214017EA013004A468A4017001F4382E742462023B2 +S214017EB09B1A2A0046469A402300F3401343D5E70F +S214017EC04246202300219B1A0022009101920122A2 +S214017ED0DA40019282E74246202326009B1ADE40C2 +S214017EE02F00B446974066463B003343C9E7C04679 +S214017EF01C2101231B04984201D3000C10391B0AD4 +S214017F00984201D3000A08391B09984201D3000997 +S214017F10043902A2105C40187047C04604030202EE +S214017F2001010101000000000000000010B5002959 +S214017F3003D1FFF7DDFF203002E0081CFFF7D8FF72 +S214017F4010BDC04670B500260C4D0D4C641BA41028 +S214017F50A64209D1002604F0CBFD0A4D0A4C641B4B +S214017F60A410A64205D170BDB300EB589847013660 +S214017F70EEE7B300EB5898470136F2E7FCCA01007A +S214017F80FCCA0100FCCA010000CB010030B5002488 +S214017F90A24201D1002005E0035D651C0C5DA342F1 +S214017FA001D0181B30BD2C00F2E7002310B59A4211 +S214017FB000D110BDCC5CC4540133F8E7030082182D +S214017FC0934200D1704719700133F9E702780B78B4 +S214017FD0002A03D0013001319A42F7D0D01A7047F7 +S214017FE0031C0A7801311A700133002AF9D170474F +S214017FF00023C25C0133002AFBD1581E70470000E3 +S21401800030B59BB00091049108496D4602910591E7 +S214018010012182244942E981A4006946AC8100F02D +S21401802075F80023009A13701BB030BDFFFFFF7F69 +S21401803010B513000A00010002480068FFF7E0FFD0 +S21401804010BDC04660000020F0B58E6885B0070000 +S2140180500C00039201939E4239D890238A89DB0053 +S2140180601A4234D00325096923685B1A02936369AF +S21401807002985D43EB0F5D19019B6D1001331B18D0 +S214018080AB4200D91D00530532D52900380000F057 +S21401809031FB061E09D10C233B6040230120A28937 +S2140180A040421343A38105B0F0BD029A2169FFF750 +S2140180B07CFFA389144A1A4080231343A381029BA1 +S2140180C02661F61826606561019EED1AA560019B82 +S2140180D0B34200D21E0032000399206800F0ADFAC8 +S2140180E0A36800209B1BA36023689E192660DAE71D +S2140180F02A00380000F05CFB061EE0D1216938003A +S21401810000F0AEFAC7E7C0467FFBFFFFF0B59FB0B1 +S214018110029005938B890F0016001B0611D50B697B +S214018120002B0ED1402100F0E5FA386038610028B6 +S21401813005D10C23029A013813601FB0F0BD40230D +S2140181407B61002306AD6B6120336B761033AB7613 +S21401815034002378002B47D1A31B04930DD0A31B17 +S214018160320039000298FFF76FFF431C00D1B5E0DB +S2140181706A69049B944663446B612378002B00D1A3 +S214018180ACE00122002352426A6002A9543252181E +S21401819001342B60EB60AB601370AB65584E052263 +S2140181A02178300000F03EFA621C002820D12968B0 +S2140181B0CB0604D5532302AE20309B1918700B074B +S2140181C004D553232B2002AE9B19187023782A2B33 +S2140181D016D000200A21099B2278303A092A55D95F +S2140181E0002815D0099313E0252BB5D00134B0E74C +S2140181F00123801B8340296814000B432B60CDE7C5 +S214018200059B181D1B680590002B39DB099314008C +S21401821023782E2B0BD16378621C2A2B3ED1059B2B +S21401822002341A1D1B680592002B34DB0793354E6A +S21401823021780322300000F0F5F9002806D040230B +S214018240801B83402A68013413432B602178062261 +S2140182502D48661C297600F0E5F9002846D02B4B00 +S214018260002B2FD12968059B0722C90528D59B1805 +S2140182709343083305936B69039A9B186B6167E711 +S2140182805B42EB6002230B432B60C0E74B43013498 +S2140182909B180120A0E701235B42C7E700231400D7 +S2140182A00A201A006B6021783039092903D9002B7E +S2140182B0BDD00792BBE74243013452180123F2E7CF +S2140182C00733D5E705AB00933A00114B2900029816 +S2140182D000E000BF0390039B0133CCD1BB890B9810 +S2140182E05B0600D429E70120404226E705AB009350 +S2140182F03A00074B2900029800F07AF8EAE7C046F0 +S214018300BCCA0100C2CA0100C6CA010000000000C2 +S21401831049800100F7B5150001938A680B69009042 +S2140183200C00934200DA130022002B6043321278CD +S214018330002A01D001332B6023689B0602D52B68E7 +S21401834002332B60062723681F4027D023004333C0 +S2140183501B785A1E93412268920630D42200019956 +S21401836043320098089EB047431C25D00623206858 +S2140183702A68E16803400025042B03D18D1AEB43DC +S214018380DB171D40A3682269934201DD9B1AED1895 +S2140183900027BD4220D1002010E00137E3682A689B +S2140183A09B1A9F42D2DA22000123193201990098C2 +S2140183B0089EB047431CF0D101204042FEBD30204C +S2140183C0E1184331087021005A1C45310978A2187A +S2140183D0433202331170C1E7220001231A32019998 +S2140183E00098089EB047431CE6D00137D1E700004D +S2140183F0F0B58BB006920A004332079305900492BB +S2140184000A7E0C00109B6E2A00D18FE017D8632AD3 +S2140184102CD008D8002A00D199E0582A54D026003A +S2140184204236327029E0642A01D0692AF7D12168E0 +S2140184301A68080623D5111D1960156825E0732AE8 +S21401844000D188E008D86F2A29D0702AE7D12022E7 +S21401845009680A43226003E0752A20D0782ADED113 +S21401846022007821453211706C4A30E00E001A68FD +S2140184704236111D196013683370012379E04906ED +S214018480D9D5111D19600023D55E002D03DA2D23E1 +S214018490049A6D421370624B0A2703932FE02068FB +S2140184A01968050603D5081D18600D6805E0400625 +S2140184B0F9D50D68081D1860ADB2594B082703930E +S2140184C06F2A18D00A2716E045310A70544A0392DB +S2140184D01A682168101D18601568080622D5CB0792 +S2140184E002D52023194321601027002D03D1202314 +S2140184F022689A4322602300002243331A7063687D +S214018500A360002B5CDB0422216891432160002DCF +S21401851058D1049E002B64D02600039B42361B785C +S21401852033705EE04806DAD5ADB2D8E709681A6856 +S214018530080605D5111D1960136862691A6006E000 +S2140185404906F7D5111D19601368A28A1A800023FF +S214018550049E236154E01A68111D196016680021F3 +S2140185606268300000F05EF8002801D0801B606071 +S214018570636823610023049A137041E02369320083 +S21401858006990598079DA847431C43D023680025F4 +S2140185909B070FD4099BE06898423DDA18003BE040 +S2140185A022000123193206990598079EB047431CFD +S2140185B030D00135E368099A9B1A9D42F0DBE9E762 +S2140185C0002DA9D0049E28003900FFF797FA039BD7 +S2140185D0013E5B5C280033703900FFF709FA051E7F +S2140185E0F1D1082F09D12368DB0706D56368226914 +S2140185F0934202DC3023013E3370049B9B1B2361B4 +S214018600079B09AA00932100069B0598FFF782FEA7 +S214018610431CB3D1012040420BB0F0BDDECA0100BD +S214018620CDCA0100C9B28218904201D1002070471C +S21401863003788B42FBD00130F6E710B5884202D9A9 +S2140186408B18984208D300239A4207D0CC5CC454B6 +S2140186500133F9E78B5C8354013AFBD210BD00006D +S21401866070B50500002910D00C1F2368002B00DA16 +S214018670E418280000F0D4F81D4A1368002B05D131 +S21401868063601460280000F0CCF870BDA34209D9DD +S214018690216860188342F3D118685B68411821602D +S2140186A0EEE713005A68002A01D0A242F9D91968E8 +S2140186B05818A0420BD12068091858181960824230 +S2140186C0E0D110685268411819605A60DAE7A04292 +S2140186D002D90C232B60D5E721686018824203D1AA +S2140186E0106852684118216062605C60CAE7C04643 +S2140186F08C4C0020032370B5CD1C9D430835060025 +S2140187000C2D1ED20C25A9421DD8300000F088F889 +S214018710254A14682100002919D1244C2368002B0E +S21401872003D1300000F06AF820602900300000F024 +S21401873065F8431C2CD10C233000336000F071F82F +S21401874003E0002DDFDA0C233360002070BD0B68D8 +S2140187505B1B1AD40B2B03D90B60CC18256003E0E6 +S2140187608C420ED163681360300000F05AF8200086 +S21401877007220B30231D9043C31AE7D05A42E2501A +S214018780E4E74B6863600C00EEE70C004968C2E75B +S2140187900323C41C9C43A042E0D0211A300000F001 +S2140187A02DF8431CDAD1C6E78C4C0020904C0020F3 +S2140187B0F8B507000D001600002905D11100FFF7D6 +S2140187C099FF04002000F8BD002A03D1FFF748FFF7 +S2140187D03400F7E700F026F82C008642F2D9310083 +S2140187E03800FFF787FF041EECD029003200FFF7A0 +S2140187F0DCFB29003800FFF733FFE3E7002370B501 +S214018800064C050008002360E8F726FE431C03D14A +S2140188102368002B00D02B6070BDC046344E00206C +S214018820704770470B1F1B68181F002B01DA0B5887 +S214018830C018704700080042000C004200100042B9 +S2140188400014004200180042001C0042AE0D000059 +S214018850AA0D0000AA0D0000100E0000100E000068 +S214018860C20D0000B40D0000C80D0000FE0D000092 +S214018870980E0000780E0000780E0000040F00002D +S2140188808A0E0000A60E00007C0E0000B40E00004A +S214018890F40E00004F7574206F66206D656D6F7263 +S2140188A0790000F8AA2200002623000030230000E9 +S2140188B046230000562300006623000084230000A0 +S2140188C09C230000B2230000D0230000DA2300001E +S2140188D0F023000000240000102400002E240000D5 +S2140188E04624000050240000662400007624000080 +S2140188F086240000A4240000FFFF00004E554C4CC7 +S21401890020706F696E746572000000006C765F6F90 +S214018910626A0000E0070000F47E0000F87E0000B6 +S214018920F47E0000FC7E0000007F0000047F000053 +S214018930087F0000FC7E0000007F0000047F00002E +S214018940087F0000FFFF00004E6F0A64617461003B +S214018950B8810000A0810000A4810000A881000069 +S214018960AC810000B0810000FF00000000FF0000A5 +S2140189700055AAFF00112233445566778899AABB91 +S214018980CCDDEEFF000102030405060708090A0B09 +S2140189900C0D0E0F101112131415161718191A1B99 +S2140189A01C1D1E1F202122232425262728292A2B89 +S2140189B02C2D2E2F303132333435363738393A3B79 +S2140189C03C3D3E3F404142434445464748494A4B69 +S2140189D04C4D4E4F505152535455565758595A5B59 +S2140189E05C5D5E5F606162636465666768696A6B49 +S2140189F06C6D6E6F707172737475767778797A7B39 +S214018A007C7D7E7F808182838485868788898A8B28 +S214018A108C8D8E8F909192939495969798999A9B18 +S214018A209C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAB08 +S214018A30ACADAEAFB0B1B2B3B4B5B6B7B8B9BABBF8 +S214018A40BCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBE8 +S214018A50CCCDCECFD0D1D2D3D4D5D6D7D8D9DADBD8 +S214018A60DCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBC8 +S214018A70ECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBB8 +S214018A80FCFDFEFF808080818182828384858687CB +S214018A90898A8C8D8F91939597999B9EA0A2A5A765 +S214018AA0AAADAFB2B5000000FFFF000000112233EF +S214018AB0445566778899AABBCCDDEEFF00112233B8 +S214018AC0445566778899AABBCCDDEEFF62696E00D5 +S214018AD0BCEA0000C2EA000058EA0000AAEA000068 +S214018AE0B0EA0000BCEA0000BCEA0000BCEA0000F4 +S214018AF0B6EA0000F8EC0000FCEC0000C2EC000056 +S214018B00ECEC0000F0EC0000F8EC0000F8EC0000E3 +S214018B10F8EC0000F4EC0000A2EC0000A6EC00006B +S214018B206CEC000096EC00009AEC0000A2EC000051 +S214018B30A2EC0000A2EC00009EEC0000F2EB0000AC +S214018B40F6EB0000CCEB0000E6EB0000EAEB0000E1 +S214018B50F2EB0000F2EB0000F2EB0000EEEB00009F +S214018B6070ED0000C4ED0000CAED0000D0ED00007D +S214018B70D6ED0000DCED0000E2ED0000E8ED0000BF +S214018B8098EE00009CEE000088EE00008CEE0000DF +S214018B9090EE000098EE000098EE000098EE0000BF +S214018BA094EE0000F8F00000FCF00000E8F0000091 +S214018BB0ECF00000F0F00000F8F00000F8F0000023 +S214018BC0F8F00000F4F0000070F00000A0F00000E3 +S214018BD060F0000064F0000068F0000070F0000033 +S214018BE070F0000070F000006CF0000038F000003B +S214018BF03EF00000F4EF000026F000002CF000002C +S214018C0038F0000038F0000038F0000032F00000C4 +S214018C1072F10000CEF10000D4F10000DAF100009C +S214018C20E0F10000E6F10000ECF10000F2F10000D6 +S214018C30200000005F0001000000000000000000AE +S214018C4000000000B0000000F3F7600060C80100FB +S214018C50000000003B0002000000000000000000D1 +S214018C60000050040000000000005004030C010046 +S214018C7012004006050501071F00400B0B0C000003 +S214018C806100F0090A1000FEB100800D0D0C000015 +S214018C90FF00000B0B0D00FF4701600302050107F3 +S214018CA04C016005040F01FD6A017005040F00FD0B +S214018CB08801600607070005A1015009080801029E +S214018CC0C101A003030500FEC90120060603000337 +S214018CD0D201A00303030000D701A0050810FFFE80 +S214018CE01702B00A0A0C00005302F005050C00003A +S214018CF071023009090C0000A7022009090C0000C6 +S214018D00DD02B00A0B0C00001F033009090C00003D +S214018D105503E0090A0C000091039009090C0000B4 +S214018D20C703500A0A0C00000304E0090A0C0000FD +S214018D303F04A003030900004D04A003030C00FD3B +S214018D405F045009080801027F0450090806010360 +S214018D509704500908080102B7043009090C0000FD +S214018D60ED049010100F00FD6505B00B0D0CFF0013 +S214018D70B305200C0B0C0100F505900B0B0C000045 +S214018D803706300D0C0C01007F06C00A090C0100E5 +S214018D90B506300A090C0100EB06600C0C0C00004D +S214018DA03307000D0B0C01007507F004030C0100DE +S214018DB087073008080CFF00B707800B0B0C010073 +S214018DC0F9078009090C01002F08400F0D0C01005E +S214018DD07D08000D0B0C0100BF08700D0D0C000086 +S214018DE00D09900B0A0C01004909700D0E0F00FDCC +S214018DF0B209A00B0A0C0100EE09F0090A0C0000EA +S214018E002A0A60090A0C0000660AA00C0B0C010075 +S214018E10A80A600B0D0CFF00F60A0012120C0000E7 +S214018E20620BC00A0B0C0000A40B600A0C0CFF00BE +S214018E30EC0B800A0B0C00002E0C5005050F01FDF3 +S214018E40540CA0050810FFFE940C5005040F00FDFD +S214018E50B20C500908070102CE0C0008080200FEF9 +S214018E60D60CA0090502010ADB0C900909090000CD +S214018E70040DF00A0A0C0100400D20090909000042 +S214018E80690DF00A0A0C0000A50DD0090A090000B8 +S214018E90D20DA005070C0000FC0D100B0A0C00FDFE +S214018EA0380EE00A090C01006E0E7004030C010076 +S214018EB0800E9004060FFEFDAD0EE009090C0100C0 +S214018EC0E30E7004020C0100EF0EF0100F09010012 +S214018ED0330FE00A090901005C0F300A0A09000095 +S214018EE0890FF00A0A0C01FDC50FF00A0A0C00FDF5 +S214018EF001109006060901001C1000080809000070 +S214018F004010A006070B00006710D00A09090100EF +S214018F109010F0080A09FF00BD10600E0F0900004E +S214018F200111D008090900002A11F0080A0CFFFDFA +S214018F3066115008080900008A11A005060F00FDF9 +S214018F40B711D004030F01FDCE11A005050F00FDDA +S214018F50F4115009090500040B12B00606060006B6 +S214018F601D1200050304010323120010101100FE58 +S214018F70AB120010100C00000B130010100E00FFB7 +S214018F807B130010100C0000DB13000B0B0C000011 +S214018F901D140010101000FE9D140010101000FE8D +S214018FA01D150012120E00FF9B150010101000FE7A +S214018FB01B160012120C000087160010101000FE7F +S214018FC007170008080E00FF3F17000C0C0E00FFE5 +S214018FD093170012121000FE23180010100C000048 +S214018FE08318000E0A1002FED318000E0E1200FDA2 +S214018FF05119000E0E0F00FFBA19000E0E0E00FFDB +S2140190001C1A000E0A1002FE6C1A000E100EFFFF4C +S214019010DC1A000A0A0E00FF221B000A0A0E00FFD5 +S214019020681B000E0E0E00FFCA1B000E0E04000485 +S214019030E61B0012120C0000521C0014141000FE55 +S214019040F21C00121410FFFE921D0010101000FEFC +S214019050121E000E0E0A0001581E000E0E0A000116 +S2140190609E1E0014140E00FF2A1F0010100C000094 +S2140190708A1F0010101000FE0A2000101111FFFEBA +S2140190809B20000E0F0E00FF0421000E0E1000FEA6 +S2140190907421000E0E0E00FFD621000A0C10FFFEF2 +S2140190A03622000E0E1000FEA622000E0E1000FE46 +S2140190B016230012120C0000822300101212FFFD6C +S2140190C02424000C0C1000FE84240014140F00FF4E +S2140190D01A250014140A00017E250014140A000142 +S2140190E0E2250014140A000146260014140A0001A1 +S2140190F0AA260014140A00010E270014150E00FFFC +S214019100A127000E0C1001FE0128000E0E1000FE15 +S214019110712800101111FFFD02290014140C000023 +S2140191207A29000C0C1000FEDA292010110B000120 +S214019130BF0BF0AF0AE09E08D08C07C0000010BF3E +S2140191401AE0F51F3F51F3E40F3E40F2720810009B +S21401915005C003E000007A005C0000098007A0015A +S214019160FFFFFFFFFD033E733C833000F200C500A6 +S214019170000F100E300002F000F2009FFFFFFFFF0D +S2140191804138C336E3300089005C00000A7007A04E +S2140191900000007900000000790000005CFFE92073 +S2140191A006FCBC9E900EB07900100F807900000D71 +S2140191B0F579000003EFFD50000006CFFE400000E9 +S2140191C0795EF100007905F307007907F12FE9BC14 +S2140191D0AFA003AEFFD700000079000000007900C1 +S2140191E00003DE800005D000E40C5001E3004C00D3 +S2140191F05A00A90006A004C04E00004C005A0D50AB +S2140192000000E41C58A0000003CE73E13CE9000016 +S21401921000D60E40A800007C03C003D0002E203CE0 +S214019220003D000B7000E2098006D00004DDA000BE +S21401923009EFB1000009E43CA00000D9007D000060 +S2140192400CC01CA000003FAEC1000001DFC0000042 +S21401925003EB8F701800DB007F65F03F40008FEA5C +S21401926003F70000CF700BF966CFBF4008DFEA3086 +S214019270A5000000000000F5F5E4E47200DA05F24E +S2140192800BC00F703F405F206F107F006F105F2094 +S2140192903F400F700BC005F200DA3F300CB006F10C +S2140192A001F600E900BC00AD00AE00AD00BC00E96F +S2140192B001F606F10CB03F30004A000674A4A02B5C +S2140192C0FFE5007FFB207B6B8D0004A000001300F0 +S2140192D00000051000000F5000000F5000011F5144 +S2140192E010EFFFFFF3344F7440000F5000000F5093 +S2140192F0000952FD0BA0C50F000111101FFFF3045A +S21401930044400312FC1E90000005F100000AB00064 +S214019310000F6000005F100000AB000000F60000C8 +S21401932005F100000AB000000F6000004F100000B9 +S214019330AC000000F6000004F100000AC000000EB8 +S2140193406000004F1000000008EFC50000CFA8CF56 +S2140193507007F5000AF20DC00001F81F800000DC5E +S2140193603F600000BD3F600000BD1F800000DC0DB7 +S214019370C00001F807F5000AF200CFA8CF70000878 +S214019380EFC500EFFF367AF3005F3005F3005F307C +S21401939005F3005F3005F3005F3005F3005F30052D +S2140193A0F304BEFD7007FD98CF90280000BF0000B3 +S2140193B00007F2000000AF0000004F8000003FC031 +S2140193C000003EC100002EC100002ED100002EF884 +S2140193D0777746FFFFFFFA6FFFFFFF0277779FB0B1 +S2140193E000000CE1000009F3000005F6000000DFB4 +S2140193F0E910000459FD00000006F40000003F6477 +S214019400400008F3BFC98CFB007CFFD700000001B9 +S214019410EB00000000BE100000006F500000002F9F +S214019420900000000CD000000008F301D50003F8FE +S214019430002F6000ED2223F7216FFFFFFFFF81550C +S2140194405556F9520000002F6000000002F6000594 +S214019450FFFFFF007F77777008E0000000AD000097 +S214019460000BC2100000DFFFFB30045568FF200030 +S2140194700004F80000000F92500005F68FD98AFD0F +S214019480105BEFE9100005CEFC60009FC88B7005ED +S214019490F80000000CD00000001F800000002F68BC +S2140194A0EFFA103FEE648FD02FF10006F40EC000E5 +S2140194B002F609F10006F301DE869FB00019EFD827 +S2140194C0008FFFFFFFE8F77777FC8F00004F55907E +S2140194D0000BE0000002F80000009F1000000FB033 +S2140194E0000006F4000000DD0000003F7000000AE6 +S2140194F0F1000001F90000005CFFD70006FC76AF22 +S214019500A00CD00009F10DC00007F207F7115EC0EC +S21401951000BFFFFE1009F9547ED02F800004F64FDD +S214019520500000F81FA00005F609FB76AFD0006CCE +S214019530FFD810008EFD80000CF868FC005F50001C +S2140195403F708F00000EC07F30001FF01FD413CF76 +S214019550F104EFFFA9F00002310AF00000000EA0AE +S2140195600000009F3009A78DF70007DFEB40001EC3 +S21401957092FC0310000000000312FC1E901E92FCD9 +S2140195800310000000000001E91FD0A80E30A00063 +S21401959000004200017DF3039FE810BFB50000EE16 +S2140195A081000017DFB4000004AFD200000182EF93 +S2140195B0FFFFF3455555510000000001111110EF52 +S2140195C0FFFFF33444444050000000EF92000006D1 +S2140195D0CFB50000039FE200006CF3029EE920BFB6 +S2140195E0C600009300000004BEFD7007FC77BFA014 +S2140195F0270000CF00000009F0000001EA0000018A +S214019600DD100000CE1000003F60000001300000B9 +S214019610000100000006F50000005F400000001792 +S214019620CEFDB500000005FB53237DC200006E4051 +S2140196300000008E1002F401AEFA3F49B00A901EF7 +S214019640E65BEF40E30F308F1000AF40981F00D964 +S21401965000003F406A3F00E800001F405C1F00D941 +S21401966000003F406A0F308F1000AF40980A901EEE +S214019670D65ADEA6F203F301AFFA16EE50006E409C +S21401968000000000000006FB5323750000000017D1 +S214019690CEFDA30000000002FD00000000009FF4C4 +S2140196A0000000000F9EB000000006F27F200000C0 +S2140196B000DC01F80000004F600BE000000BF0003A +S2140196C04F600001FA1111ED00008FFFFFFFF3005C +S2140196D00EC444444FA006F4000000AF10CD0000B5 +S2140196E00002F85FFFFFEB4005F85557DF405F408B +S2140196F00001FA05F400000FA05F51113AF405FFCE +S214019700FFFFFA005F744459FA05F4000008F25F9F +S2140197104000005F45F4000009F25F85556AFB05CD +S214019720FFFFFFD70000028DFEB40004FFB89DF9CD +S21401973002FD20000850BF200000000FA00000001E +S21401974002F6000000002F6000000000FA00000092 +S214019750000BF2000000002FD2000085005FFB899D +S214019760DF800029DFEB405FFFFFEA30005F97777D +S2140197709EF8005F400000AF605F4000000DE05FB4 +S21401978040000006F45F40000003F65F400000035F +S214019790F65F40000006F45F4000000DE05F400009 +S2140197A000AF605F97779EF8005FFFFFEA30005FCB +S2140197B0FFFFFF95F97777745F40000005F400001E +S2140197C0005F51111105FFFFFFE05F74444405F48B +S2140197D00000005F40000005F40000005F97777707 +S2140197E065FFFFFFFD5FFFFFFF95F97777745F4029 +S2140197F0000005F40000005F40000005F52222107D +S2140198005FFFFFFE05F85555405F40000005F40078 +S21401981000005F40000005F400000000018DFEB569 +S21401982000004FFB89DFB002FD200006600BF2004E +S2140198300000000FA0000000002F60000000002FB5 +S21401984060000009F00FA0000009F00BF20000090B +S214019850F002FD20000AF0004FFB89DFC000028DF8 +S214019860FEC6005F4000004F55F4000004F55F405F +S21401987000004F55F4000004F55F5222225F55FFA9 +S214019880FFFFFFF55F8555558F55F4000004F55F22 +S2140198904000004F55F4000004F55F4000004F55AE +S2140198A0F4000004F55F45F45F45F45F45F45F4559 +S2140198B0F45F45F45F45F400FFFFFA007777FA009E +S2140198C00000FA000000FA000000FA000000FA00AA +S2140198D00000FA000000FA000000F9072003F60D68 +S2140198E0E98EF101AEFB305F400002EB05F40001AA +S2140198F0EC005F4001DE1005F400CE20005F40BFA3 +S214019900300005F49F9000005FCFEF400005FF9107 +S214019910EE10005FA003FC0005F40006F8005F40AF +S2140199200009F505F400000CF25F40000005F400A4 +S21401993000005F40000005F40000005F40000005E5 +S214019940F40000005F40000005F40000005F4000E6 +S2140199500005F40000005F97777725FFFFFFF55FAE +S214019960400000001E95FC00000008F95FF50000AD +S21401997002FF95FDE00000AEF95F5F70003F5F9566 +S214019980F38F100BC0F95F31E904F30F95F307F27B +S214019990DB00F95F300DEF200F95F3005F9000F9C3 +S2140199A05F300071000F95F300000000F95F500072 +S2140199B0004F55FF200004F55FFD00004F55FAF9F2 +S2140199C00004F55F4AF5004F55F40DF204F55F40CB +S2140199D02FD04F55F4006F94F55F4000AFAF55F4AC +S2140199E00000DFF55F400002FF55F4000006F500B9 +S2140199F0018DFEB5000004FFB89EFA0002FD2000AE +S214019A0008F900BF2000000AF20FA00000003F7214 +S214019A10F600000000F92F600000000F90FA000029 +S214019A200003F70BF2000000AF202FD200008F904A +S214019A30004FFB89EFA0000028DFEB50005FFFFF1F +S214019A40D7005F9778BFC05F400007F65F40000011 +S214019A50FA5F400000FA5F400003F85F62236EF190 +S214019A605FFFFFFD305F855420005F400000005F10 +S214019A70400000005F4000000000018DFEB50000C0 +S214019A80004EFB89EFA00002FD200008F9000AF253 +S214019A90000000AF200FA00000003F702F60000004 +S214019AA0000F902F600000000F901F900000002F05 +S214019AB0700BF1000000AF2003FC100007F9000056 +S214019AC06FFA78DFB0000003AEFFC50000000000AB +S214019AD03ED415B000000002BFFF80000000000168 +S214019AE031005FFFFFD7005F9778BFC05F40000778 +S214019AF0F65F400000FA5F400000FA5F400003F89E +S214019B005F52236EE15FFFFFFC305F8555F9005F12 +S214019B1040007F405F40000CE05F400002F9005CBF +S214019B20EFD92007FC87AF900EC00001100F800010 +S214019B3000000DF500000003EFEA50000005AEFE40 +S214019B40400000004EF100000005F308000008F296 +S214019B502FFA77BFA0029DFFC700FFFFFFFFF56743 +S214019B6078FB77720001F700000001F700000001A2 +S214019B70F700000001F700000001F700000001F700 +S214019B8000000001F700000001F700000001F700E7 +S214019B90000001F700006F3000008F16F300000888 +S214019BA0F16F3000008F16F3000008F16F300000EF +S214019BB08F16F3000008F16F3000008F05F40000E7 +S214019BC009F03F700000CD00DE20005F8004FFA892 +S214019BD0BFD00003BEFD81000CE00000006F306FB7 +S214019BE05000000CC000FB000003F60009F2000064 +S214019BF0AE00002F80001F900000CE0007F200008C +S214019C0005F600DB0000000EC04F500000008F3B41 +S214019C10E000000002FBF8000000000BFF1000004F +S214019C2000004FB000005F400000DF000002F50FAB +S214019C30900002FF400007F00BE00007FE90000CCA +S214019C40B006F3000CAAE0001F6001F8001F54F3F1 +S214019C50006F1000CD007F10F800CC00007F20CBF5 +S214019C6000AD01F700002F71F6005F26F200000D2F +S214019C70C6F1000F7BD0000008FDC0000BDF80009E +S214019C800003FF700006FF30000000EF200001FE19 +S214019C9000003F900000CD008F40007F3000DE10B6 +S214019CA02F800003FA0CD0000007FBF30000000C25 +S214019CB0F800000001EFC0000000BF7F7000006FD9 +S214019CC060AF20002FB001ED000CF10004F807F69C +S214019CD0000009F30CE0000007F203F700001F90F4 +S214019CE000AF10009E10001FA002F6000008F30B44 +S214019CF0D0000000EC4F400000005FFB00000000B9 +S214019D000CF20000000009F00000000009F000005D +S214019D10000009F00000000009F000003FFFFFFF0F +S214019D20FD01777777BF900000001EC00000000C91 +S214019D30F200000008F500000004F900000001EC44 +S214019D4000000000CF200000008F500000004F9060 +S214019D500000001EF877777705FFFFFFFFF05FFF33 +S214019D6005F7505F3005F3005F3005F3005F3005FF +S214019D70F3005F3005F3005F3005F3005F3005F751 +S214019D80505FFF007E0000001F4000000C900000A6 +S214019D9007E0000002F4000000C90000007E000099 +S214019DA0002F4000000C90000007E0000002F300C6 +S214019DB00000D90000007E0000002F3000000D904A +S214019DC0000007E0BFFA35EA00EA00EA00EA00EA26 +S214019DD000EA00EA00EA00EA00EA00EA00EA35EAF8 +S214019DE0BFFA002F8000009DE00000F3D50006D0EA +S214019DF07B000C601F203F100B809A0004E0FFFFE1 +S214019E00FFFF1111111107F60003E7019EFD800007 +S214019E10CE87AF90020000AF00000006F202BEFF40 +S214019E20FF20EC4227F22F50007F20EC427FF20207 +S214019E30BFFB6F208F000000008F000000008F0026 +S214019E400000008F2BFEB3008FEC78EF308FA00060 +S214019E501EC08F200007F18F000005F38F2000073A +S214019E60F18FA0001ED08FEC78EF308E2BFEB30062 +S214019E70003AEFC4004FD87CF40DD0000713F6006B +S214019E8000004F30000003F60000000DD000061061 +S214019E904FD77CF4003AEFC40000000001F7000041 +S214019EA00001F700000001F7003BFFA3F704FD8760 +S214019EB0CEF70ED0000BF73F600003F74F300001DE +S214019EC0F73F500003F70EC0000AF704FC65BEF723 +S214019ED0003BFFB2F7003BFEA20004FC67EE200E3B +S214019EE0C0001EA03F500007F04FFFFFFFF13F727A +S214019EF02222200EC000020004FD87AF50003AEF78 +S214019F00D600005DFC002FB57004F3000CFFFFA027 +S214019F1048F753005F300005F300005F300005F39B +S214019F2000005F300005F300005F3000003BFFB229 +S214019F30E904FE87CFF90ED1000AF93F600001F966 +S214019F404F400000F93F600001F90ED00009F90406 +S214019F50FD87CFF8003BFFB3F700000005F409E9E1 +S214019F6077AFB0017CFFD8008F00000008F000003A +S214019F70008F00000008F2BFEA108FFB89FD08F889 +S214019F800006F48F10001F78F00000F88F00000F15 +S214019F9088F00000F88F00000F88F00000F89E1A85 +S214019FA0F20008F08F08F08F08F08F08F08F08F0A5 +S214019FB00007E20009F30000000007F10007F100C6 +S214019FC007F10007F10007F10007F10007F10007AC +S214019FD0F10007F10008F0186EC03EFC208F00006B +S214019FE00008F00000008F00000008F0001DD18F6F +S214019FF0001DE208F01DE2008F2DF30008FEFF7041 +S21401A000008FE2BF3008F201EE108F0003FB08F06C +S21401A0100007F78F8F8F8F8F8F8F8F8F8F8F8F8EFA +S21401A0203CFE913BFEA208FF969FCFC68FD08F7055 +S21401A030009FC0005F58F10005F60001F78F000091 +S21401A0404F40000F88F00004F40000F88F00004F26 +S21401A05040000F88F00004F40000F88F00004F4025 +S21401A060000F808E3BFEA108FFA68FD08F80006F69 +S21401A07048F10001F78F00000F88F00000F88F000C +S21401A080000F88F00000F88F00000F80003BEFC43F +S21401A0900004FD87CF600ED0000BF13F600003F592 +S21401A0A04F300001F73F600003F50ED0000BF104BE +S21401A0B0FD77CF60003BEFC4008E3BFEB3008FFB05 +S21401A0C057DF308F90000DC08F100007F18F000012 +S21401A0D005F38F200007F18FA0001ED08FEC78EFDC +S21401A0E0308F2BFEB3008F000000008F00000000B1 +S21401A0F08F00000000003BFFA2F704FD87DEF70E8D +S21401A100D0000BF73F600003F74F300001F73F60C8 +S21401A1100003F70ED0000BF704FD77CEF7003BFFE8 +S21401A120A3F700000001F700000001F7000000019E +S21401A130F78E2BF08FED908FA0008F20008F000000 +S21401A1408F00008F00008F00008F000002AEFD918F +S21401A1501ED769D04F3000002FB4100006EFFD6007 +S21401A16000015BF5010000F75FA76BF319DFEC4018 +S21401A17005F300005F3000CFFFFA048F753005F35A +S21401A18000005F300005F300005F300004F40000BB +S21401A1901FC680005DFC10AE00002F5AE00002F5DD +S21401A1A0AE00002F5AE00002F5AE00002F59F00075 +S21401A1B004F56F3000AF51EE76BFF502BEFB3F509F +S21401A1C00DC00000CB06F20002F500F90009E00020 +S21401A1D09E000F80002F606F10000CC0CB000005A2 +S21401A1E0F6F4000000EFD00000008F7000BB000006 +S21401A1F09F10004F16F1000EF60009C00F6005FC17 +S21401A200B000F600AC00AB5F105F1005F10F50F721 +S21401A2100AB0000F76F009C0F50000ACBA004F8F07 +S21401A220000004FF4000EFA000000EE00008F4006C +S21401A230004F70009F208F305F5000CD2E9000029F +S21401A240FFD000000AF6000004FDE10001EB0DC09E +S21401A25000BE103F806F40007F400DC00000CB065F +S21401A260F30002F400EA0009D0008F101F70001FEF +S21401A270707F10000AE0D9000003F9F2000000CF59 +S21401A280B00000006F40000000AD00001C79F50032 +S21401A290001AEE7000004FFFFFF915555BF4000041 +S21401A2A04F800001EC00000BE100008F400004F736 +S21401A2B000001EE555535FFFFFFC002CF500AF6163 +S21401A2C000CC0000DB0000DB0000DB0002EA001F20 +S21401A2D0F40005FA0000DB0000DB0000DB0000CC28 +S21401A2E00000AF61002CF55F15F15F15F15F15F108 +S21401A2F05F15F15F15F15F15F15F15F15F10BE8017 +S21401A30003AF4001F6001F7001F7001F7000F9004F +S21401A3100AFB00FB201F7001F7001F7001F603AF58 +S21401A32040BE900000000000003DE400B50C86F53C +S21401A3301E20F003EF90020000100002CE900D40A8 +S21401A340893B000E3B000E0D408902CE900008F8B6 +S21401A350EFE7F7000000000000000000000000002A +S21401A3600049DC0000000016BFFFFF0000038DFF60 +S21401A370FFFFFF0000CFFFFFFFFFFF0000FFFFFF13 +S21401A380FFC7FF0000FFFFEA5100FF0000FF830048 +S21401A3900000FF0000FF00000000FF0000FF0000BB +S21401A3A00000FF0000FF00000000FF0000FF0000AB +S21401A3B02BFFFF0000FF0000DFFFFF2BFFFF000069 +S21401A3C0DFFFFDDFFFFF00002BFFB2DFFFFD000018 +S21401A3D00000002BFFB20000000000D00FFFFFFFBF +S21401A3E0FFF00DFFFFC888888CFFFFF00F8000008C +S21401A3F008F00FF00F80000008F00FFFFF8000004C +S21401A40008FFFFF00FECCCCCCEF00FF00FECCCCC6D +S21401A410CEF00FFFFF80000008FFFFF00F80000066 +S21401A42008F00FF00F80000008F00FFFFFC88888C3 +S21401A4308CFFFFD00FFFFFFFFFF00DDFFF73FFFF65 +S21401A440FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFFCC +S21401A450FFFFFFDFFF73FFFFFFFFFD0000000000AF +S21401A460000000DFFF73FFFFFFFFFDFFFFA5FFFFFB +S21401A470FFFFFFFFFFA5FFFFFFFFFFDFFF73FFFFEC +S21401A480FFFFFD0000000000000000DFFF73FFFF7C +S21401A490FFFFFDFFFFA5FFFFFFFFFFFFFFA5FFFF7C +S21401A4A0FFFFFFDFFF73FFFFFFFFFD00000000005F +S21401A4B0000AB1000000000000BFFC000000000020 +S21401A4C00BFFFB0000000000BFFFC01BA000000B3D +S21401A4D0FFFC00CFFB0000BFFFC000BFFFB00BFFBB +S21401A4E0FC00000CFFFBBFFFC0000000CFFFFFFB1E +S21401A4F0000000000CFFFFB00000000000BFFB00E2 +S21401A50000000000000BB000000000030000000384 +S21401A51008FC10001CF8FFFC101CFFF5FFFC2CFFCC +S21401A520F505FFFFFFF50005FFFFF500001DFFFD28 +S21401A53010001CFFFFFC101CFFF9FFFC1CFFF505BB +S21401A540FFFCDFF50005FFD1A4000004A100000018 +S21401A5504FE00000000002106FF1031000005FD012 +S21401A5606FF13FD10003FFF16FF15FFD000DFF407A +S21401A5706FF109FF704FF7006FF100CFE09FF00019 +S21401A5806FF1005FF3BFC0006FF1002FF5BFC00091 +S21401A5904FE0001FF6AFE0000000004FF46FF4003C +S21401A5A0000000AFF00FFE10000005FFA006FFD36D +S21401A5B000007FFF20009FFFDABEFFF4000006FFC9 +S21401A5C0FFFFFD3000000017BDCA5000000000006C +S21401A5D08BB8000000000000FFFF000000003006FE +S21401A5E0FFFF60030004FDDFFFFFFDEF400DFFFFEF +S21401A5F0FFFFFFFFD04FFFFFF99FFFFFF408FFFFAC +S21401A6002002FFFF8000FFF900009FFF0000FFF916 +S21401A61000009FFF0008FFFF2002FFFF804FFFFFA3 +S21401A620F99FFFFFF40DFFFFFFFFFFFFD004FEDFE2 +S21401A630FFFFFDDF40003006FFFF60030000000063 +S21401A640FFFF0000000000008BB8000000000000C3 +S21401A65003DD303FF3000000006FFFF54FF400000C +S21401A6600009FF99FFBFF4000001BFF6226FFFF457 +S21401A67000002DFE35FF53EFF40004FFC18FFFF8F5 +S21401A6802DFE407FFA1AFFFFFFA1AFF7CF82DFFF53 +S21401A690FFFFFD28FC140EFFFFFFFFFFE041000F48 +S21401A6A0FFFFFFFFFFF000000FFFF9008FFFF00034 +S21401A6B0000FFFF8008FFFF000000FFFF8008FFF7C +S21401A6C0F000000EFFF6006FFFE000000000DFFD67 +S21401A6D0000000000000FFFF000000000000FFFF78 +S21401A6E0000000000000FFFF000000000000FFFF68 +S21401A6F0000000000000FFFF000000004FFFFFFF0A +S21401A700FFF400000BFFFFFFFFB0000000BFFFFFDC +S21401A710FB000000000BFFFFB00000000000BFFBC5 +S21401A720000000DFFFFC1BB1CFFFFDFFFFFFC22CC7 +S21401A730FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S21401A740F0E0FFDFFFFFFFFFFFFFFD0004EFFFFF6D +S21401A750FFFE4000001EFFFFFFFFFFE10000AFB05D +S21401A7600000000BFA0005FF1000000001FF501E5C +S21401A770F600000000006FE1AFB000000000000B23 +S21401A780FAFFFFFF800008FFFFFFFFFFFFF1001F3A +S21401A790FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S21401A7A0FFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFF23 +S21401A7B0FFFFFFFFFFFFF8000006BDDA5002FF00B3 +S21401A7C005EFFFFFFE42FF007FFFA77BFFF9FF05B6 +S21401A7D0FFC100002CFFFF0EFC00000222DFFF5F1E +S21401A7E0F200000FFFFFFF8FB000000FFFFFFF001A +S21401A7F0000000000000000000000000000000FF54 +S21401A800FFFFF000000BF8FFFFFFF000002FF4FF42 +S21401A810FD22200000CFE0FFFFC200002CFF40FF1A +S21401A8209FFFB76AFFF700FF24DFFFFFFE5000FF20 +S21401A8302005ACDB600000000000000000008D0079 +S21401A8400008FF00008FFFDFFFFFFFFFFFFFFFFF96 +S21401A850FFFFFFFFFFFFFFFFFFFFFFDFFFFFFF0021 +S21401A860008FFF000008FF0000008D0000000000C0 +S21401A87000000000000000008D0000000008FF003E +S21401A8800000008FFF0000CFFFFFFF0150FFFFFF1A +S21401A890FF06F7FFFFFFFF00BEFFFFFFFF00AEFF53 +S21401A8A0FFFFFF05F8DFFFFFFF026000009FFF00CC +S21401A8B000000009FF00000000009E0000000000EC +S21401A8C0000000000000000000061000000000006C +S21401A8D000001FD2000000008D000003EE100000F3 +S21401A8E008FF000AB12FB000008FFF0005FC07F437 +S21401A8F0DFFFFFFF02505F60F9FFFFFFFF06F70D66 +S21401A900C0BDFFFFFFFF00AE09F09FFFFFFFFF0086 +S21401A910AE09F08FFFFFFFFF06F70DC0ADDFFFFFAB +S21401A920FF02505F60E900008FFF0005FC06F4009F +S21401A9300008FF000AB12FB00000008D000002EEF3 +S21401A940100000000000001FD20000000000000000 +S21401A9500610008FFFFFFFFFFFFFF8FFFCFFFFFF62 +S21401A960FFFFFFFF202FFFFFFFFFFFFC000CFFFF95 +S21401A970EEFFFFFF202FFFFE22EFFFFFFCFFFFE2AF +S21401A980002EFFFFFE4EFE200002FFFFE202C20085 +S21401A9900000FFFF200000000000FFFF0000000095 +S21401A9A00000FFFFFFFFFFFFFFFFFF8FFFFFFFFF1F +S21401A9B0FFFFF80000000000FF300001CCFF400060 +S21401A9C02DFFFF4003EFFFFF403FFFFFFF44FFFF68 +S21401A9D0FFFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S21401A9E0FFAFFFFFFFFF45FFFFFFFF404FFFFFFFEA +S21401A9F04003EFFFFF40002EFFFF300001CC0000B8 +S21401AA00000000000000000000008F910000000020 +S21401AA1000FFFF7000000000FFFFFD40000000FF88 +S21401AA20FFFFFA100000FFFFFFFFF70000FFFFFF28 +S21401AA30FFFFD500FFFFFFFFFFFFB2FFFFFFFFFF96 +S21401AA40FFFDFFFFFFFFFFFFFDFFFFFFFFFFFFB261 +S21401AA50FFFFFFFFFFD500FFFFFFFFF70000FFFF2F +S21401AA60FFFA100000FFFFFD40000000FFFF70002E +S21401AA700000008EA10000000000000000000000A1 +S21401AA8000000000000000008FFFF8008FFFF8FFB5 +S21401AA90FFFF00FFFFFFFFFFFF00FFFFFFFFFFFFBE +S21401AAA000FFFFFFFFFFFF00FFFFFFFFFFFF00FFAD +S21401AAB0FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF9E +S21401AAC0FFFFFF00FFFFFFFFFFFF00FFFFFFFFFF8E +S21401AAD0FF00FFFFFFFFFFFF00FFFFFFFFFFFF007D +S21401AAE0FFFFFF7FFFF7007FFFF78FFFFFFFFFFFEF +S21401AAF0F8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S21401AB00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S21401AB10FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S21401AB20FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S21401AB30FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S21401AB40FFFFFFFFFF8FFFFFFFFFFFF80000000082 +S21401AB5000CC100003FFFFD20004FFFFFE3004FF0D +S21401AB60FFFFF404FFFFFFFF54FFFFFFFFF9FFFFA6 +S21401AB70FFFFFFFFFFFFFFFFFFFFFFFFF9FFFFFFE5 +S21401AB80FF44FFFFFFF304FFFFFE3004FFFFD20088 +S21401AB9004FFCC100003FF00000000000000002DA1 +S21401ABA0D2000000000001EFFE10000000001DFFB3 +S21401ABB0FFD100000000CFFFFFFC0000000BFFFFED +S21401ABC0FFFFB00000AFFFFFFFFFFA0009FFFFFF26 +S21401ABD0FFFFFF900FFFFFFFFFFFFFF008FFFFFFE4 +S21401ABE0FFFFFF8000000000000000000CFFFFFFD9 +S21401ABF0FFFFFFC00FFFFFFFFFFFFFF00FFFFFFF8D +S21401AC00FFFFFFF00CFFFFFFFFFFFFC00000001A71 +S21401AC1040000001DFF000001DFFA00001DFFA0088 +S21401AC20001DFFA00001DFFA00000CFFA000000DD0 +S21401AC30FF80000001DFF80000001DFF800000011A +S21401AC40DFF80000001DFF80000001DFF0000000BB +S21401AC501B5004A10000000FFD1000000AFFD100E8 +S21401AC600000AFFD1000000AFFD1000000AFFD108C +S21401AC7000000AFFC0000008FFD000008FFD100092 +S21401AC8008FFD100008FFD100008FFD100000FFD66 +S21401AC9010000005B1000000000004FF40000000A5 +S21401ACA00008FF800000000008FF80000000000888 +S21401ACB0FF800000000008FF80000048888CFFC865 +S21401ACC08884FFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S21401ACD048888CFFC88884000008FF8000000000B8 +S21401ACE008FF800000000008FF800000000008FF49 +S21401ACF0800000000004FF40000014444444444423 +S21401AD0041EFFFFFFFFFFFFEFFFFFFFFFFFFFF7BA0 +S21401AD10BBBBBBBBBBB7000005ADFFDA50000000F4 +S21401AD2004DFFC88CFFD4000007FFE400004EFF703 +S21401AD300007FFF4009E804FFF704FFFC000AFF882 +S21401AD400CFFF4DFFF809AFFFE08FFFDDFFF80EFB8 +S21401AD50FFFE08FFFD4FFFC08FFFF80CFFF407FF53 +S21401AD60F408EE804FFF70007FFE400004EFF8000D +S21401AD700004DFFC88CFFD4000000005ADFFDA507F +S21401AD8000008C200000000000000000DFE400004E +S21401AD900000000000001BFF8049DFFDA500000049 +S21401ADA0007FFFFFD88CFFD400000004EFF80000FE +S21401ADB04EFF700000001CFF69E804FFF70004E383 +S21401ADC0009FFEFF80CFFF400DFF7005FFFFE08F65 +S21401ADD0FFD00DFFF7002DFFE08FFFD004FFFC0032 +S21401ADE000AFF8CFFF30007FFF400006FFFFF700FF +S21401ADF00008FFF400003EFFA00000004DFFC882DF +S21401AE0001BFF7000000005ADFFC1008FFA0000099 +S21401AE100000000000004EFD0000000000000000E1 +S21401AE2002C8000000002DD2000000000000000053 +S21401AE30BFFB0000000000000005FFFF50000000FF +S21401AE400000000DFFFFD00000000000007FFFFFA4 +S21401AE50F7000000000001FFD88DFF100000000081 +S21401AE600AFFA00AFFA0000000003FFFB00BFFF39F +S21401AE7000000000CFFFC00CFFFC00000005FFFF34 +S21401AE80D00DFFFF5000000EFFFFF99FFFFFE0000F +S21401AE90008FFFFFE22EFFFFF80002FFFFFF900981 +S21401AEA0FFFFFF100AFFFFFFE33EFFFFFFA00FFFBC +S21401AEB0FFFFFFFFFFFFFFF008FFFFFFFFFFFFFFA2 +S21401AEC0FF800000000000000000000000000000FD +S21401AED0D800000000000000FF80FFFF700007FFA1 +S21401AEE0FFF8FFFFF6006FFFFFFD788EFF15FFE806 +S21401AEF0FFE20002E54FFE20FE20000013FFF300F4 +S21401AF00520000003FFF310052000002EFF45E20C5 +S21401AF10FE20788EFF51FFE8FFE2FFFFF6006FFF8D +S21401AF20FFFDFFFF700007FFFFF8000000000000B4 +S21401AF30FF80000000000000D800000000000000B4 +S21401AF40000000000000000000000001DD1000000D +S21401AF5000001DFFD100000001DFFFFD1000001DF5 +S21401AF60FF99FFD10001DFF9009FFD101DFF900042 +S21401AF7009FFD1BFF90000009FFB5F9000000009A8 +S21401AF80F500000000000000000000000000005F67 +S21401AF909000000009F5BFF90000009FFB1DFF901F +S21401AFA00009FFD101DFF9009FFD10001DFF99FF89 +S21401AFB0D1000001DFFFFD100000001DFFD10000E1 +S21401AFC0000001DD1000000000000000000000008D +S21401AFD00000000000000000001DD100000000007D +S21401AFE0000001DFFD10EFFFFFFFD0001DFFFFD1C6 +S21401AFF0AFFFFFFFF000CFCFFCFC0000000FF0001A +S21401B0006B1FF1B60000000FF000000FF00000000B +S21401B010000FF000000FF0000000000FF000000F1E +S21401B020F00000006B1FF1B6000FF0000000CFCF5C +S21401B030FCFC000FFFFFFFFA1DFFFFD1000DFFFF15 +S21401B040FFFE01DFFD10000000000000001DD10022 +S21401B050000000000000000000008FFFFFE200007B +S21401B0600000FFFFFFFE20000000FFFFFFFFFFFFC5 +S21401B070FFF8FFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S21401B080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S21401B090FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S21401B0A0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S21401B0B0FFFF8FFFFFFFFFFFFFF80000000BB00050 +S21401B0C00000000000BFFB00000000000BFFFFB007 +S21401B0D000000000BFFFFFFB0000000BFFFFFFFFAB +S21401B0E0B000004FFFFFFFFFF400000000FFFF006D +S21401B0F00000000000FFFF000000000000FFFF004E +S21401B1000000000000FFFF000000000000FFFF003D +S21401B1100000DFFFF0DFFD0FFFFDFFFFF900009FDE +S21401B120FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF038 +S21401B130E0FFDFFFFFFFFFFFFFFD00000000000054 +S21401B14000000000000000000AEA620000000000A3 +S21401B15002FFFFF000000000009FFFFF000000005C +S21401B160000FFFFFD00000000002FFFFFB00000001 +S21401B170000003EFFF70000000000004FFF2000073 +S21401B18000000000BFFB0000000000006FFF300061 +S21401B190000200004FFF9000028FF3006FFFD00007 +S21401B1A00AFFFFE4BFFFD10000EFFFFFFFFFD10062 +S21401B1B0000AFFFFFFFF900000006FFFFFFB30005B +S21401B1C0000002FFDB72000000000008EE800000B5 +S21401B1D0066108FFFF80002DFFD0EF33FE002EFF33 +S21401B1E0F30EF33FE02EFFF3008FFFFF6EFFF30039 +S21401B1F0008EFFFFFFF300000002EFFFF3000000E8 +S21401B200002EFFFF30000008EFFFFFFF300008FFB1 +S21401B210FFF6EFFF3000EF33FE02EFFF300EF33F95 +S21401B220E002EFFF308FFFF80002DFFD008EE8003E +S21401B230000066100000DFFFFF0D200000FFFFFF8B +S21401B2400FE20000FFFFFF0FFDDFF0FFFFFF200012 +S21401B250FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF025 +S21401B260FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFF06 +S21401B270FFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFF6 +S21401B280FFFFF0FFFFFFFFFFFFF0DFFFFFFFFDFF08 +S21401B290F90000000000FFFFFFFFFF0000DFFFFFD7 +S21401B2A0FFFD00008FFFFFFFFFC200FFFFFFFFFF54 +S21401B2B0FE20FF00000001FFE2FF00000000FFFC8F +S21401B2C0FF00000000FFFFFF00000000FFFFFFFF80 +S21401B2D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFB116A +S21401B2E0BFFFFFFFFFF1001FFFFFFFFFF1001FFF82 +S21401B2F0FFFFFFFB11BFFFFFFFFFFFFFFFFFFF8FFA +S21401B300FFFFFFFFFFF800DFFFFD000001FFFFFC6E +S21401B310000003FFFFF7000006FFFFF2000008FF32 +S21401B320FFD000000AFFFFFFFFD00CFFFFFFFFA0CA +S21401B3300EFFFFFFFF200DFFFFFFF80000000AFFD2 +S21401B340E00000000EFF500000002FFC000000008F +S21401B3505FF3000000009FA000000000DF10000067 +S21401B3600000D70000000004EE40000000DFFF9957 +S21401B370FFFD0000FFFF99FFFF0000FFFFFFFFFF3B +S21401B3800000FFFF9000000000FFFF0DFFFF0D20F3 +S21401B390FFFF0FFFFF0FE2FFFF0FFFFF0FFDFFFF96 +S21401B3A00FFFFF2000FFFF0FFFFFFFFFFFFF0FFF55 +S21401B3B0FFFFFFFFFF0FFFFFFFFFDFFF0FFFFFFF97 +S21401B3C0FF00000FFFFFFFFF00000FFFFFFFFF0062 +S21401B3D0000DFFFFFFFD000000CC00000000000292 +S21401B3E0FF3000000001BFFFFC2000001EFFFFFF32 +S21401B3F0E100009FFFFFFFF80000EFFFFFFFFD00E9 +S21401B40000FFFFFFFFFF0001FFFFFFFFFF0003FF3D +S21401B410FFFFFFFF3008FFFFFFFFFF801EFFFFFF5C +S21401B420FFFFE1CFFFFFFFFFFFFCCFFFFFFFFFFFA7 +S21401B430FC0000000000000000000EFFE00000001D +S21401B4400004EE4000008FFFFFFFFFFFFFFFF8FF45 +S21401B450FFFFFFFFFFFFFFFFFF00F00F00F00F00F1 +S21401B460FFFF00F00F00F00F00FFFFFFFFFFFFFFE1 +S21401B470FFFFFFFFF808808808808FFFFFF808802D +S21401B4808808808FFFFFFFFFFFFFFFFFFFFFFF0022 +S21401B490F00000000F00FFFF00F00000000F00FFAB +S21401B4A0FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFF16 +S21401B4B0FFF800000000000000000000000000008F +S21401B4C00003AF70000000000004CFFFF000000092 +S21401B4D00006DFFFFFA000000017EFFFFFFF3000B0 +S21401B4E00018FFFFFFFFFC00002AFFFFFFFFFFF42D +S21401B4F00008FFFFFFFFFFFFD0000FFFFFFFFFFF6A +S21401B500FF600008FFFFFFFFFFFE000000000000D5 +S21401B510FFFFF7000000000000FFFFF10000000041 +S21401B5200000FFFF80000000000000FFFF10000089 +S21401B53000000000FFFA00000000000000FFF2001B +S21401B5400000000000008F800000000000000000E6 +S21401B55000000000DFFFFFF0D200FFFFFFF0FE203B +S21401B560FFFFFFF0FFE2FFFFFFF0FFFDFFFFFFF22F +S21401B5700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S21401B580FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S21401B590FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S21401B5A0FFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFC5 +S21401B5B0FFFFFFFD0000000000000000000000008B +S21401B5C0049CEFFEC94000000007EFFFFFFFFFFEEF +S21401B5D0700004DFFFFCA88ACFFFFD406FFFD50097 +S21401B5E00000005DFFF6CFF60000000000006FFCD3 +S21401B5F01A30005ADFFDA50003A100004DFFFFFF32 +S21401B600FFD400000005FFFEA88AEFFF50000001EE +S21401B610DF70000007FD100000001200000000218E +S21401B6200000000000004EE40000000000000000E2 +S21401B630EFFE0000000000000000EFFE000000002A +S21401B640000000004EE4000000008FFFFFFFFFFF38 +S21401B650FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0081 +S21401B6600000000000000FFDFF0FFFFFFFFFFFFFC0 +S21401B6700FFFFF0FFFFFFFFFFFFF00FFFF0FFFFFA3 +S21401B680FFFFFFFF00FFFF0FFFFFFFFFFFFF0FFFA3 +S21401B690FF000000000000000FFDFFFFFFFFFFFF9F +S21401B6A0FFFFFFF08FFFFFFFFFFFFFFFFF808FFF12 +S21401B6B0FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF13 +S21401B6C0FFF0FF000000000000000FFDFF0FFFFF6E +S21401B6D0FFFFF0000FFFFF0FFFFFFFFFF00000FF6F +S21401B6E0FF0FFFFFFFFFF00000FFFF0FFFFFFFFF51 +S21401B6F0F0000FFFFF000000000000000FFDFFFF3D +S21401B700FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFFC2 +S21401B710FF808FFFFFFFFFFFFFFFFF80FFFFFFFFA1 +S21401B720FFFFFFFFFFF0FF000000000000000FFD1D +S21401B730FF0FFFFFFF0000000FFFFF0FFFFFFF00DF +S21401B740000000FFFF0FFFFFFF00000000FFFF0FDC +S21401B750FFFFFF0000000FFFFF00000000000000D9 +S21401B7600FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF54 +S21401B770FFFFFFFFFF808FFFFFFFFFFFFFFFFF8041 +S21401B780FFFFFFFFFFFFFFFFFFF0FF0000000000CD +S21401B79000000FFDFF0FFFF0000000000FFFFF0F7E +S21401B7A0FFF00000000000FFFF0FFFF000000000A8 +S21401B7B000FFFF0FFFF0000000000FFFFF0000007A +S21401B7C0000000000FFDFFFFFFFFFFFFFFFFFFF080 +S21401B7D08FFFFFFFFFFFFFFFFF808FFFFFFFFFFFD2 +S21401B7E0FFFFFF80FFFFFFFFFFFFFFFFFFF0FF00F0 +S21401B7F00000000000000FFDFF0000000000000038 +S21401B8000FFFFF0000000000000000FFFF00000027 +S21401B8100000000000FFFF000000000000000FFF16 +S21401B820FF000000000000000FFDFFFFFFFFFFFF0D +S21401B830FFFFFFF08FFFFFFFFFFFFFFFFF8000000E +S21401B8400000000100000000000000000007FD10DD +S21401B85000000000000001CFFFF50000000000001E +S21401B86000B929FE100000000000003F1002000091 +S21401B870000003DF800A90000000037000DFFF77FE +S21401B880F7555555558FD30FFFFDCCDFDCCCCCCD0E +S21401B890FFB08FFE1000AA0000004D4000461000C9 +S21401B8A001F202331000000000000009B1CFF900D8 +S21401B8B00000000000000AFFFF90000000000000EA +S21401B8C00000BFF900000000000000000122000097 +S21401B8D0000018DFFD920002EFFBEFFF300DFFFACC +S21401B8E02EFFE04FFFFA03FFF59FFAFA354FFACF26 +S21401B8F0C08A3D0BFDEFFB03128FFEFFFFB006FF74 +S21401B900FFFFFFD108FFFFEFFD11109FFFDFD159A9 +S21401B9103B0BFDAFD7FA381DFB5FFFFA01DFF70DD2 +S21401B920FFFA1DFFF103EFFCDFFF500018DFFEA357 +S21401B9300000007FFFF70000EFFFFFFFFFFFFEEFB5 +S21401B940FFFFFFFFFFFE000000000000000FFFFFEB +S21401B950FFFFFFF00FFFFFFFFFFFF00FF99F99F9C1 +S21401B9609FF00FF88F88F88FF00FF88F88F88FF018 +S21401B9700FF88F88F88FF00FF88F88F88FF00FF890 +S21401B9808F88F88FF00FF88F88F88FF00FF99F994E +S21401B990F99FF00FFFFFFFFFFFF008FFFFFFFFFF1C +S21401B9A0800000000000007FA00000000000008F63 +S21401B9B0FFB000000000000DFFFFA0000000008A9D +S21401B9C01DFFFF000000008FFA1DFF700000008FB2 +S21401B9D0FFFA1D800000008FFFFFFA000000008FB5 +S21401B9E0FFFFFF800000008FFFFFFF800000008F39 +S21401B9F0FFFFFF800000008FFFFFFF800000006F49 +S21401BA00FFFFFF800000000BFFFFFF80000000002B +S21401BA10DFFFFF80000000000EFFFF800000000037 +S21401BA2000DEDB60000000000000000000000000F7 +S21401BA30000000001BFFFFFFFFFFFFE40001DFFF28 +S21401BA40FFFFFFFFFFFE001DFFFFFAEFFEAFFFFF48 +S21401BA5001DFFFFFA02EE20AFFFF1DFFFFFFE2024C +S21401BA60202EFFFFCFFFFFFFFE2002EFFFFFCFFFDD +S21401BA70FFFFFE2002EFFFFF1DFFFFFFE202202E69 +S21401BA80FFFF01DFFFFFA02EE20AFFFF001DFFFF01 +S21401BA90FAEFFEAFFFFF0001DFFFFFFFFFFFFFFE34 +S21401BAA000001BFFFFFFFFFFFFE40008FFFFFFE4AE +S21401BAB0008FFFFFFFFE08F80F0B40FF8FF80F0BFC +S21401BAC040FFFFF80F0B40FFFFFFFFFFFFFFFFFFE9 +S21401BAD0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S21401BAE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S21401BAF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFF60 +S21401BB00FFFFFFFE4EFFFFFFFFE400000000000006 +S21401BB1000010000000000000003E000001000002B +S21401BB200002EF1000BF000000007FF100CFF1001F +S21401BB30000007FF11CFFF77777777BFF1CFFFFFC1 +S21401BB40FFFFFFFFFF17FFFFFFFFFFFFFFE007FFFE +S21401BB50F100000000000006FF10000000000000D9 +S21401BB6005A0000000000000000100000000000029 +S21401BB7000010000030000000002000000000000B9 +S21401BB8000000000000000000000010000000000AE +S21401BB90000000000000000000010C0007FA000091 +S21401BBA00000F2F1020C0604F6020D010B03080078 +S21401BBB0000000000000000000000F02FE00000070 +S21401BBC00000000000000000000500F80000000072 +S21401BBD000FB04050000FD00FE0300FD00FDFFFB69 +S21401BBE000000000FD0000FDFC0000FD00FB000061 +S21401BBF000000000000000FDFD00FC00F900E1006F +S21401BC0000FB0005080000FB03030805FC05000017 +S21401BC10F10000000000000000000000F700000036 +S21401BC200000000000000000000000F9FDF300F62F +S21401BC30FE00000000010A00F8FEFF0100FC000003 +S21401BC40FEED0000000000000000000000ECFE0A0F +S21401BC50000000000000000000000000F6000000E8 +S21401BC60000000000000000800030000FB000000C8 +S21401BC7000000000000000000000000000000A02B2 +S21401BC8001000000000000000000000000000000AD +S21401BC90000000000000000000000000000000009E +S21401BCA00000000000000000F70000000000000097 +S21401BCB0000000000000000000000000000000027C +S21401BCC0050308FD000005FDF8DD02070501FD007E +S21401BCD0090008000800E800FD080008FD0503004B +S21401BCE00001FD0000FC1400140008000B0304080A +S21401BCF0000000F70000000001FE0002FBFDFB0251 +S21401BD0000FD000000F6000000000000000000003A +S21401BD1000EF00000000000000000000000000002E +S21401BD200001F200F000000000FE0019FDFD030313 +S21401BD30FE00FD030000F20000000000000000000D +S21401BD400000E70003000000000000000000000003 +S21401BD5000F0000F0000F7000800EFE7EFFB080017 +S21401BD6000EF0003FA00FC000000000000000000E5 +S21401BD700000000708E100000000000000000000CD +S21401BD8000000C000200000000000202FDFB00FFA4 +S21401BD90FFFD0000FE000000FB00FE00FAFB00FABB +S21401BDA0F8F8FB00FB00FB00000000FE00000300AB +S21401BDB002FD000100000003FE000000FE0303FF79 +S21401BDC0000000FB00FF0000000000010003FE0071 +S21401BDD0FD00FC0000FE00080000FD000000000061 +S21401BDE0FF01FEFE0000FD00FD0000000000000057 +S21401BDF00000FFFF00FDFD0000000000010000FE46 +S21401BE0000FDFDFD000000000000000000FE000037 +S21401BE100000FEFD00FC00F8FEF8050000FB03052F +S21401BE200700FAFFFD00FFF403FE02F20300000123 +S21401BE30F300F2FEEAFE00F300050700030000002F +S21401BE40000100FBFD00F8000000FD000000FD0001 +S21401BE5000000000FFFF00FFFD00000000000000E2 +S21401BE60FDFD00FEFDFE0000FD00000000000000DC +S21401BE7000000000FEFE00FD00FE00FB030000FDCA +S21401BE80010303000000000000FE000000000002A5 +S21401BE900000FD00FDFEFD000000000000000200A5 +S21401BEA0FE00000000FDFC00FB0008FE01F800009B +S21401BEB007F3F3F5FB0300FEEFFB00FB00FB04FBBF +S21401BEC0F000F9000001FF02FE000300F8F600F39F +S21401BED0FAFBFAF8FDF9FFFBF902000100FD00008C +S21401BEE0000200030000000000000000000000FD4A +S21401BEF000FF00FFFD00FCFAFAFF00F8000000005A +S21401BF000000FE0000000001FE000000030000002B +S21401BF1000000000000C000000000000020000000D +S21401BF20FD0000000000000000000000FB00030010 +S21401BF30000000000000000000000000FE000000FD +S21401BF40FB00000000F3F8000000FCF30000FD0316 +S21401BF5000F900000000000000000000FC0000FBEB +S21401BF600000000000000000000000000300FB00CD +S21401BF70000000030002FBFB00FDFDFD00000000C9 +S21401BF800000F800FD00FCFD00FAFAF8FE00FB00D8 +S21401BF90F800000000140000010000FD000300F599 +S21401BFA00000000000E8FB0808FEF50003FC00F3B3 +S21401BFB0FFFD03EEFD030004F7FCF7F8F50000F1C2 +S21401BFC0000F0000FF000000FFFFFDF9F8FFE8008A +S21401BFD0000000000000000001000000000000005A +S21401BFE0000000000000000000FD00FFFDFC000056 +S21401BFF0FB00FD0000000000000000000000000043 +S21401C0000000FF00FB000005FF0300FA03FEFFF936 +S21401C010FD00FDFDFE00FCFC0000FEFFFEFCFD0039 +S21401C02000FD0003FE00FA000000FB00FC00FCFC23 +S21401C030030000000000000000FB0300FC00FEFD02 +S21401C040F8FEFEFEFFFEFDFF0000000000FDFEFE06 +S21401C0500000000003FE00FE000000FEFDFEFEFDE7 +S21401C060FE00020AFF00F900FE0500FDF5FD0400D2 +S21401C07000F4FC03FC0200FEFEF800FC010000FCDC +S21401C0800000000303FBFB00FCFDFCFDFD00FC01C2 +S21401C090FBFC080000000000000000000300000098 +S21401C0A0000000000000000000000000000000008A +S21401C0B000000000FC00000000000000000000007E +S21401C0C0000000000000000000000000000000006A +S21401C0D0000000000000000000000000000000005A +S21401C0E0FE0000000000000000000000000000004C +S21401C0F00000000000000000000000000000FEFD3F +S21401C100000000000000000000000000FC0000FD30 +S21401C1100000FDFD00000000FD00000000FF000023 +S21401C120000000FE00000000FC00FB000000F8001C +S21401C13002FA0501FEF40000FAFD00F6FAF9000025 +S21401C140F5FDF6F6F400F9000211FD00FAFDFFFD1B +S21401C150FCF9FBF7F6FAFD0000FE00010000EEFE1A +S21401C1600806FAF70001F800F3FEFD05E8FD0100F8 +S21401C17000EFFDF3FDED0000EE000F0100FE0000F4 +S21401C1800000FFFEF6FE00EF00000000F800FE00D3 +S21401C190FFF9F40000FFFCF8FD00FE00000000F4CB +S21401C1A0FDF8F8FEFCFAFDFC00FBFEF8FC00FDFBCA +S21401C1B0FDFB000100FEF8000500FB000000000387 +S21401C1C00002FB0A00FDFDFD000000000000F80073 +S21401C1D0FD00FCFD00FAFAF8FE00FB020A00000072 +S21401C1E000140000010000FD000300000000000034 +S21401C1F00000FF0000000000FEFB0000000000FF42 +S21401C200000000FDFD0000FBFD0000FB0004FF0038 +S21401C21000000000000100000000040502FE00F816 +S21401C220FC0008F8F8FBFB0A0503EAFE05FD00FD25 +S21401C23003FDF700FD03FDFEF8FE0000080500F90A +S21401C24000F2FD07FDF601FDF8F8FD0A0300FC000B +S21401C250F9000208FAF7F6FA080001EDFE03FCFE03 +S21401C260FA00FAF7FCFCFE0000FAFBFD000806FDEA +S21401C270F200F2FC00F7F1FFF8FCF8F9070000FD08 +S21401C28000FBFE00FDFB0004F8030000F200FDFACF +S21401C290FCFEF8FAF8FA00F8FDFAFBF8FD000001DA +S21401C2A00CFC00F8FD00FDFBFAF9F9F6FDFB0500B4 +S21401C2B0FC00F3FD0205F8F7FBF808FD01E8FB05B5 +S21401C2C0FAFCF700F8F5FDFDFEFDFBF8FF0000089F +S21401C2D007FEEF00F1FA06F6EFFBF7F5F3F80500B7 +S21401C2E0000000FD000003FD0502FB050000F8FF4D +S21401C2F000FF000101FE000000000000FD0000003C +S21401C3000002080100FD00000000FEFEFD00000026 +S21401C3100102000000000200FE000A00050101FD06 +S21401C3200005000000020000000000000000000000 +S21401C33000080007000000000000000000000000E8 +S21401C3400000F100FD04000800001903FBFB0303D5 +S21401C350FE01F300000CF1000000000000000000E8 +S21401C3600000EF0A240000000000000000000000AA +S21401C37000F10000000000000000000000000000C6 +S21401C380000000000000000000000000FC0000FBB0 +S21401C390FE00000000000000000000000000000099 +S21401C3A000000000FE00F900000100000321FBFE72 +S21401C3B00807F90300000303FD0000000000000069 +S21401C3C000000000DF070000000000000000000081 +S21401C3D000000000000000F9000000F90000000065 +S21401C3E0FAFF000000FA00FD00F400000000000063 +S21401C3F00000000000EF0000000001000000000047 +S21401C40000FD0000FB00FC00F9000000FC03FD003D +S21401C41000F9FDFA0000F900FD00F400FD0000EB54 +S21401C420FBF6FDF70000EF00F9FF0000000000003A +S21401C4300000FCFBFEFC00000000FA00FA03FD050C +S21401C44000FEFAFEFCFB00FDFFFE02F9FF00000005 +S21401C450E9FEFC00FA00FEF4FE0000FEFE0000000D +S21401C460000200FEFCFE04000000000000000000C8 +S21401C47000000000000000000000000000000000B6 +S21401C48000000000000000000000000000000000A6 +S21401C490000003000000000000FA00FE000000FBA0 +S21401C4A003000000F9FDFB0000F900FD00F40000A8 +S21401C4B00000E700FBF7F30000EF00FEFC000000C1 +S21401C4C00000000000FDFCFFFC01000004FD000868 +S21401C4D00DFDFDF8030D0406F9030B03070607001F +S21401C4E000000000000000000000100CFBFD00FE34 +S21401C4F0140B14000000030000090000FC000000FB +S21401C500000000000000FE00000000000000000423 +S21401C51000000000EAFDFEF6F30000EF0000000058 +S21401C52000000000000000000000000000FC000009 +S21401C53000000000000000FE0000000000000000F7 +S21401C5400400000000EAFDFEF6F30000F60000001D +S21401C55000000000000000000000000000000000D5 +S21401C560FE000000FA0300FD020503F800FFFE03CB +S21401C570000200000000FA00FEFEFB00FEF60010BE +S21401C580FD00FAFE00FEFC00FDF9FBFD000000FCCC +S21401C590000000000000000000FE00000000000097 +S21401C5A000000400000000EAFDFEF6F30000EF00C4 +S21401C5B000000000000D0000000000000000000068 +S21401C5C0FC00F8FDFE08FEFDF601FE01FEF901067F +S21401C5D001020102FAF6FD00F6FBF9F5F600FCFB96 +S21401C5E0FDFDFEFEFDFE00FEFF040004FE00080049 +S21401C5F00000000000000000000000FEFDFD00003D +S21401C600F900FF00FC000000000000000000000030 +S21401C610F10000000000000000000000FDFD00FD2C +S21401C62000000000FE0000FCFD0300FCFBFE00F91C +S21401C630FEFAFEFD00FC0000000000000000000005 +S21401C64000EF00080000FB00000000FD00FD0000F8 +S21401C650FF0000FE00FA00000BFDF8F8020303FFDE +S21401C660F9020402080208FEF90000F60000F8F9D3 +S21401C6700000FB00FDFC00FC00FC00FE0400FEF8D0 +S21401C680FD090000FE00FB000003FA0003FD0200A6 +S21401C69000F800FEFF00FD03FE000000F6FDFA00B4 +S21401C6A0F80000F40009FD00FB000200FD00FDF8A3 +S21401C6B000FD0300000000FE000003FD010000FD78 +S21401C6C0FE00FD0000000000000000000000000069 +S21401C6D000000000F000060000FE0000000001005F +S21401C6E0FDFD0000000500060000000000F0F1015D +S21401C6F00B0804F6020B000900050000000000000C +S21401C70000000000000E0000000000000000000015 +S21401C710000000000000000068BB010028C70100FF +S21401C720C4C701003D3100000000010200030405FA +S21401C73002060708090A090A0B0C000D0E0F101154 +S21401C74012130C14140000001516171819161A1BCC +S21401C7501C1D1D1E1F201D1D1621222303241E2500 +S21401C76025262728292A2B002C002D2E2F30313262 +S21401C770332D343435302D2D2E2E36373839333A85 +S21401C7803A3B3A3C290000093D0900000000000040 +S21401C7900000000000000000000000000000000093 S21401C7A00000000000000000000000000000000083 S21401C7B00000000000000000000000000000000073 -S21401C7C00000000000000000000000000000000063 -S21401C7D00000721F51EF58EF5BEF5CEF5DEF61EF0A -S21401C7E063EF65EF69EF6CEF71EF76EF77EF78EF58 -S21401C7F08EEF98EF9BEF9CEF9DEFA1EFA2EFA3EFDB -S21401C800A4EFB7EFB8EFBEEFC0EFC1EFC4EFC7EFCD -S21401C810C8EFC9EFCBEFE3EFE5EF14F015F017F033 -S21401C82037F03AF043F06CF074F0ABF03BF190F176 -S21401C83091F192F193F194F1D7F1E3F13DF254F2D3 -S21401C840AAF412F7F2F7000051F70000000000000A -S21401C850E6FE000040FF000048FF000072FF0000F7 -S21401C86088FF00009EFF0000D4FF0000F6FF0000D6 -S21401C870200001005600010066000100960001003C -S21401C880B2000100C2000100F20001000E01010029 -S21401C8901E0101004E0101006A0101007A0101003A -S21401C8A0B001010000003C027804B306EE08280B34 -S21401C8B0610D990FD01106143A166C189D1ACB1CEF -S21401C8C0F71E212148236C258E27AC29C72BDF2D87 -S21401C8D0F32F0332103418361C381C3A173C0E3E20 -S21401C8E0FF3FEC41D443B64593476A493C4B084D5C -S21401C8F0CD4E8D504652F953A5554B57EA58825A9C -S21401C900135C9C5D1F5F9A600D627963DD64396616 -S21401C9108D67D9681D6A596B8C6CB76DD96EF36FCC -S21401C92004710C720B730174EE74D275AD767F7759 -S21401C93047780679BB79677A0A7BA27B327CB77C1B -S21401C940337DA57D0D7E6C7EC07E0B7F4B7F827F07 -S21401C950AF7FD27FEB7FFA7FFF7F0000202C2E3B3C -S21401C9603A2D5F003E1C0100281C0100501C0100EE -S21401C970B61D0100201D0100841C01009E1C010043 -S21401C9801A2301008E1D0100661E010038210100D8 -S21401C9906A1C01006C230100CA200100D02301009B -S21401C9A0961D01009E1D0100E01C0100A61D010050 -S21401C9B0F01E0100AE1D010072200100B020010032 -S21401C9C0AC2301009E1E0100C21E01006220010070 -S21401C9D00A1F01002A2001001C1E0100BE220100C0 -S21401C9E0F6220100EE1D01004E1D010094210100FA -S21401C9F05C1F0100CC1F010062220100EC1F010038 -S21401CA00F821010048220100518CD394FFFF000059 -S21401CA1010840000EF808C002563000048656C6C74 -S21401CA206F20574F726C640A00000000232D302BD4 -S21401CA302000686C4C006566674546470030313219 -S21401CA403334353637383941424344454600303170 -S21401CA5032333435363738396162636465660000CF -S21401CA60F8B5C046F8BC08BC9E467047DD0000001D -S21401CA70F8B5C046F8BC08BC9E467047B500000035 -S20C01CA8060B2FF7F0100000017 -S21401CA88BFF35F8F01380028FAD170470100000014 -S21401CA98A0900100C88B0100A08B010088C6010088 -S21401CAA81000025000000000000000000000000016 -S21401CAB855F2000049E800001200030000000000DB -S21401CAC810000020EC2B002010000000FC2B00209A -S21401CAD810000000ED160100DD1501000100000040 -S21401CAE864000020000000000000000000000000B4 -S21401CAF80000000000000000000000000000000028 -S21401CB080000000000000000000000000000000017 -S21401CB180000000000000000000000000000000007 -S21401CB2800000000000000000000000000000000F7 -S21401CB3800000000000000000000000000000000E7 -S20801CB4800000000E3 -S80400130DDB +S21401C7C0000000000000010200030405020607083D +S21401C7D0090A090A0B0C0D0E0F10110C1213141571 +S21401C7E01500000016171819171919191719191A0B +S21401C7F01919191917191719031B1C1D1D1E1F209E +S21401C800212223002400252627272700272628293A +S21401C81026262A2A272A272A2B2C2D2E2E2F2E3063 +S21401C820000023093109000000000000000000009C +S21401C83000000000000000000000000000000000F2 +S21401C84000000000000000000000000000000000E2 +S21401C85000000000000000000000000000000000D2 +S21401C8600000721F51EF58EF5BEF5CEF5DEF61EF79 +S21401C87063EF65EF69EF6CEF71EF76EF77EF78EFC7 +S21401C8808EEF98EF9BEF9CEF9DEFA1EFA2EFA3EF4A +S21401C890A4EFB7EFB8EFBEEFC0EFC1EFC4EFC7EF3D +S21401C8A0C8EFC9EFCBEFE3EFE5EF14F015F017F0A3 +S21401C8B037F03AF043F06CF074F0ABF03BF190F1E6 +S21401C8C091F192F193F194F1D7F1E3F13DF254F243 +S21401C8D0AAF412F7F2F70000B9F700000000000012 +S21401C8E04EFF0000A8FF0000B0FF0000DAFF0000C6 +S21401C8F0F0FF0000060001003C0001005E000100A0 +S21401C90088000100BE000100CE000100FE0001000B +S21401C9101A0101002A0101005A01010076010100F5 +S21401C92086010100B6010100D2010100E201010009 +S21401C9301802010000003C027804B306EE08280B3A +S21401C940610D990FD01106143A166C189D1ACB1C5E +S21401C950F71E212148236C258E27AC29C72BDF2DF6 +S21401C960F32F0332103418361C381C3A173C0E3E8F +S21401C970FF3FEC41D443B64593476A493C4B084DCB +S21401C980CD4E8D504652F953A5554B57EA58825A0B +S21401C990135C9C5D1F5F9A600D627963DD64396686 +S21401C9A08D67D9681D6A596B8C6CB76DD96EF36F3C +S21401C9B004710C720B730174EE74D275AD767F77C9 +S21401C9C047780679BB79677A0A7BA27B327CB77C8B +S21401C9D0337DA57D0D7E6C7EC07E0B7F4B7F827F77 +S21401C9E0AF7FD27FEB7FFA7FFF7F0000202C2E3BAC +S21401C9F03A2D5F00A61C0100901C0100B81C010026 +S21401CA001E1E0100881D0100EC1C0100061D010010 +S21401CA1082230100F61D0100CE1E0100A0210100A7 +S21401CA20D21C0100D4230100322101003824010068 +S21401CA30FE1D0100061E0100481D01000E1E01001C +S21401CA40581F0100161E0100DA20010018210100FE +S21401CA5014240100061F01002A1F0100CA2001003C +S21401CA60721F010092200100841E0100262301008E +S21401CA705E230100561E0100B61D0100FC210100C7 +S21401CA80C41F010034200100CA2201005420010005 +S21401CA9060220100B0220100518CD394FFFF0000F8 +S21401CAA010840000EF808C002563000048656C6CE4 +S21401CAB06F20574F726C640A00000000232D302B44 +S21401CAC02000686C4C006566674546470030313289 +S21401CAD033343536373839414243444546003031E0 +S21401CAE0323334353637383961626364656600003F +S21401CAF0F8B5C046F8BC08BC9E467047DD0000008D +S21401CB00F8B5C046F8BC08BC9E467047B5000000A4 +S20C01CB1060B2FF7F0100000086 +S21401CB18BFF35F8F01380028FAD170470100000083 +S21401CB2830910100588C0100308C010018C70100B3 +S21401CB381000025000000000000000000000000085 +S21401CB48BDF20000B1E8000012000300000000007A +S21401CB5810000020EC2B002010000000FC2B002009 +S21401CB6810000000551701004516010001000000DD +S21401CB786400002000000000000000000000000023 +S21401CB880000000000000000000000000000000097 +S21401CB980000000000000000000000000000000087 +S21401CBA80000000000000000000000000000000077 +S21401CBB80000000000000000000000000000000067 +S21401CBC80000000000000000000000000000000057 +S20801CBD80000000053 +S80400137573 diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/drivers/p_usart.o b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/drivers/p_usart.o index bf62357..8a4ef00 100644 Binary files a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/drivers/p_usart.o and b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/drivers/p_usart.o differ diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/oracle.o b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/oracle.o index a4b7b9c..9e0f2a4 100644 Binary files a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/oracle.o and b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/Debug/src/oracle.o differ diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/drivers/p_usart.c b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/drivers/p_usart.c index a7a5d4c..b9c56e1 100644 --- a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/drivers/p_usart.c +++ b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/drivers/p_usart.c @@ -50,6 +50,7 @@ void p_printf(const char* str, ...) return; } usart_write_buffer_wait(&p_debug_inst, pprint_buffer, strsize); + usart_read_job(&p_debug_inst, &rx_char); } void p_debug_start_service(void) diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/oracle.c b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/oracle.c index fafb2ea..93d4f3d 100644 --- a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/oracle.c +++ b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/oracle_test_d21/src/oracle.c @@ -32,6 +32,7 @@ void oracle_init(void) disp_drv.buffer = &disp_buf; /*Assign the buffer to the display*/ lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ + p_debug_start_service(); } void oracle_service(void)