diff -Nru mos-latest-202110290806+db91e49~hirsute0/.clang-format mos-latest-202111281334+0278853~hirsute0/.clang-format --- mos-latest-202110290806+db91e49~hirsute0/.clang-format 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/.clang-format 2021-12-15 00:11:09.000000000 +0000 @@ -0,0 +1,6 @@ +BasedOnStyle: Google +AllowShortFunctionsOnASingleLine: false +SpaceAfterCStyleCast: true +PointerBindsToType: false +DerivePointerBinding: false +IncludeBlocks: Preserve diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp/stub/stub_flasher.c mos-latest-202111281334+0278853~hirsute0/cli/flash/esp/stub/stub_flasher.c --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp/stub/stub_flasher.c 2021-10-29 08:57:51.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp/stub/stub_flasher.c 2021-12-15 00:11:11.000000000 +0000 @@ -31,7 +31,14 @@ #include "esp32/rom/miniz.h" #include "esp32/rom/spi_flash.h" #include "soc/uart_reg.h" + #include "led.h" +#elif defined(ESP32C3) +#include "esp32c3/rom/efuse.h" +#include "esp32c3/rom/miniz.h" +#include "esp32c3/rom/spi_flash.h" +#include "soc/spi_mem_reg.h" +#include "soc/uart_reg.h" #endif #include "slip.h" @@ -67,6 +74,18 @@ #define SPI_USER_REG(i) (REG_SPI_BASE(i) + 0x1C) #define SPI_W0_REG(i) (REG_SPI_BASE(i) + 0x40) +#elif defined(ESP32C3) +#define SPI_CMD_REG(i) SPI_MEM_CMD_REG(i) +#define SPI_FLASH_WREN SPI_MEM_FLASH_WREN +#define SPI_FLASH_RDID SPI_MEM_FLASH_RDID +#define SPI_FLASH_SE SPI_MEM_FLASH_SE +#define SPI_FLASH_BE SPI_MEM_FLASH_BE + +#define SPI_ADDR_REG(i) SPI_MEM_ADDR_REG(i) + +#define SPI_USER_REG(i) SPI_MEM_USER_REG(i) + +#define SPI_W0_REG(i) SPI_MEM_W0_REG(i) #endif enum read_state { @@ -94,7 +113,11 @@ static inline uint32_t ccount(void) { uint32_t r; +#if defined(ESP32C3) + __asm volatile ("csrr %0, 0x7e2" : "=r"(r)); +#else __asm volatile("rsr.ccount %0" : "=a"(r)); +#endif return r; } @@ -231,6 +254,19 @@ return ESP_ROM_SPIFLASH_RESULT_OK; } +#elif defined(ESP32C3) +esp_rom_spiflash_result_t esp_rom_spiflash_erase_start(uint32_t addr, + uint32_t cmd) { + uint32_t length = 0; + + if (cmd == SPI_FLASH_BE) { + length = FLASH_BLOCK_SIZE; + } else if (cmd == SPI_FLASH_SE) { + length = FLASH_SECTOR_SIZE; + } + + return esp_rom_spiflash_erase_area(addr, length); +} #endif int do_flash_write(uint32_t addr, uint32_t len, uint32_t erase) { @@ -564,13 +600,23 @@ } /* miniz requires at least 12K of stack */ -uint32_t stack[3071]; -uint32_t stack_end; +uint32_t _stack[3072]; void stub_main(void) { memset(&_bss_start, 0, (&_bss_end - &_bss_start)); - __asm volatile("movi a1, stack_end\n"); + uint32_t *stack_end = &_stack[3071]; +#if defined(ESP32C3) + __asm volatile("mv sp, %0\n" + : // output + : "r"(stack_end) // input + : // scratch + ); +#else + __asm volatile("mov a1, %0\n" + : // output + : "a"(stack_end) // input + : // scratch + ); +#endif stub_main1(); - // Keep the stack vars alive. - stack[0] = stack_end = 0xff; } diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp/stub/wrap_stub.py mos-latest-202111281334+0278853~hirsute0/cli/flash/esp/stub/wrap_stub.py --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp/stub/wrap_stub.py 2021-10-29 08:57:51.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp/stub/wrap_stub.py 2021-12-15 00:11:11.000000000 +0000 @@ -78,7 +78,7 @@ if ident[0] != 0x7f or ident[1:4] != b'ELF': raise FatalError("%s has invalid ELF magic header %s" % (self.name, ident)) - if machine != 0x5e: + if machine != 0x5e and machine != 0xf3: raise FatalError("%s does not appear to be an Xtensa ELF file. e_machine=%04x" % (self.name, machine)) self._read_sections(f, shoff, shstrndx) diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32/bindata.go mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32/bindata.go --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32/bindata.go 2021-10-29 08:57:51.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32/bindata.go 2021-12-15 00:11:11.000000000 +0000 @@ -53,7 +53,7 @@ return nil } -var _stubStubJson = []byte(`{"params_start": 1074331648, "code": "90e2fa3f1020f43f0020f43f00000008b02106403661000c18890181f9ff8208018c480c52460c0000a1f6ffb1f7ffd1f7ff9d08c02000926a00c02000d26b00c02000880b5678ffc02000880ac852c08810890107e8dc860300bd02ad0181ecffe00800880107e8f0280129030c021df0000000f820f43ff830f43f36610081fdffc0200038083030245643ff81faffc020003228003030245633ff10b12020a22025f7ff0c12a023831df070e2fa3f000000403661000c0222610021fcff20a220a5fbff81d0ff31faffc020003908c0200038085673ff0c234602000010b12020a220e5f2ff8221008703f00c021df0000000ffffff00000000200420f43f8020f43f000000023641004060148c360c12862b0051e5ff98459082e24a888739edc62300e5f8ff564afe91f2ffb1f3ff9082101cf947a92b91efffc1f1ff908820c02000890b0c8876880caab3b80bca9ac02000b9094baa32c32042c4e022c220c60e00809401808920c02000890b4082744040148c341b8880807491e0ff06040000e04a119ab44a4348041baac02000490ba040748734e9e088118a334d068199ff91d8ffc020009908c020009228005669ff50a52025ecffa61402c6d8ff22a0001df00000364100a1b8ffe5eaffb2a03530a320818effe008008223002d0a80881189031df000000000000004364100ad0265e8ff4d022182ff8182ffc02000390221f9ffc020002908c020002228005662ff40a42025e6ff900000000820f43f0000400036610031a0ff0c12ad03a5e4ffbd01ad03e5f8ff568a04280142a200402210ad03290125e3ff216eff4197ffc020004902c020004222005664ff30a32065e1ff21eeff91eeffc020008802ad03908820c020008902b80122a001e5f6ffa024831df0000036410065e2ff22a001560a023185ff30a320e5ddff8159ff21e0ffc020002908c0200028085672ffad0365dcff1df0001c20f43fffffffdf2020f43fffffff030000005c36610051faff8d0261faffc020002805602210c02000290551f7ff61f7ffc02000280560221061f5ff602220c020002905216aff8a5462220157b6040c12c6180028422058e25072c077b409cd04bd03ad084611000080a82070c72030b320890165ddff8801562afd2055c04a552055c26d0a06050020c220826100a5dbff8801567afb1b662a7760607470b241e0bb118aa7bab35736dd70c4c0e5d9ff0c130c02a023931df00000200001fffffff7000000700000007c2420f43feb00007000000050bb0000700000ffff6b0000703b0000700b000070030000702c20f43f00000400364100519affc1efffc02000a80581beffc05a10b1edff910dffc7955ac02000a80851eaffb0aa10c02000a908c02000a80861e9ff50aa20c02000a908a1b4ff51b5ffc02000880a50881051e1ff508820c02000890a820901c02000b80a3b8892af00808074909b10908820c02000890a51d8ff46690000d7ea02464600c02000c80851d6ffb0bc10c02000b908c02000b80850bb20c02000b90877fa02c62400520901a19bffecd5c0200098085197ff61cbff509910c020009908c02000880a5194ff50881051c2ff508820c02000890a51c0ff065100c02000b8085119ff50bb20c02000b908c02000880a5189ff50881051b7ff508820c02000890a820901c02000b80a0b8892af00909b1080807490882091b0ffc02000890ac02000880951b0ff50881052a0bb508820c020008909063b0081a7ff51acff47fa0851abffe7ea0251abffa170ffc020005908c02000880a51fcfe508820c02000890aa16cff516cffc02000880a508810516aff508820c02000890a820901c02000b80a7b8892af00808074909b10908820c02000890ac622000000c02000a808b0aa10c02000a908520901dc15c0200098085157ff509910c020009908460b00c02000a80851e0feb152ff50aa20c02000a908820901c02000a80b0b8892af00808074909a10908820c02000890b9147ff517bffc020008809617fff508820c0200089099143ff5144ffc0200088095088105142ff508820516fffc020008909c020006905a1b5fe2a84581a0c1987b502c62a0065a9ff9188fe3cfeb16fffc2a1ffd1c2fefd09462300000080821147ae3dc02000c90b516affc02000890dc020005909517cfec0200088055678ff1c0a768a0f61b6fe6a58c0200068058a5369054b8832c34042c4c022c240c61100c02000890d215affc02000c90bc02000226900c02000280f5672ff4082744040148c341b8880807421a5fee088113a883022c0c60200003a42c02000480449034b338793f1460100a6140246dbff0c092d091df000000000e00000f43f0000f0ffff00cc90004036410081fcffad028a8200881121f8fff62a010c0282c8142a88c02000980821f6ffc08911208810909435902820303282a0a07440b3c281f1ffe008001df0000080fd3fff0f000036410081fdffa2d840b8aa709b11ba99d099119a889818b1f9ff973b0e1bb9b9189a8822480888ba1b8889ba1df000000800f43f0000f43f30f0fd3f081000000c00f43f1c00f43f1000f43f36410021f8ffc02000480221e8ff52d24006370000000c0681f4ffc02000a8088802a09074b65802862e00b1f0ffe0c811cabbb80ba00b0082a0c08719020629000c1889020c0889b546260000b2a0dbb799040c38c62200c2a0c0b8a5c799301b8b2648024600000c0889a598a5a1e0ff7089119a88d088118a820c099918aa8892480088b5979802060d009902061500661814708b11ba88d08811a1d5ff8a82aa88924800060e00a0a07465f0ffc60c0000000082a0dc87191982a0dd87191a0c43390221cbffc020003802c020003902460a00a2a0c0c6000000a2a0db65edff0c2889021b6660607467130286c9ff61c1ffc0200038063030745663f121bfffc0200049021df000000058100000701000007cda0540409300409cda05401cdb054036412152d110ad0581faffe008000c06461800006073c0407763cd07bd012aa625b3ff8d0a561a0491f1ffbd071a998909ad0181f0ffe0080091ecff0c4b1a99880982651681e8ff8aa1a57000664a1fc22516c7b61e60ccc0bd0150a52081e6ffe008006225168602005c32060900005c4286070037369ba1dcffbd051aaa81dfffe00800a1d8ff1c0b1aaa81daffe008000c021df00000364100a1ecfde577ff916efea16ffec020008809a08810c020008909916cfea16cfec020008809a08810a16afea08820c02000890981b6fd91e0fdc020009908c0200098085679ffa1effdc02000290ac0200039082d091df00000000000fd3f3040000000800000440709402400f43f64000094ffff00000000800000000100000000014cc40040ec6700400868004050000640c8c20040fc670040366102a2c15822613c42613f81acffe0080042213c3c224040b456442a3040b43c3256c429e586ff4d0a3c42562a295149ffc1e4ffbd0a50a52081ebffe00800c1e2ffa1dfff40b42081e7ffe00800b1dfffcd050c5a81e5ffe0080021ddff72a101c0200068022c0a62613d61daffc020006902614affc02000222600702220c02000290681daffe00800a2a0b0bd042c4caaa122a0d481d4ffe008002a211c8cbd04ad0281d0ffe0080062a0f06a611c8bad02691265550060ea03626130066e00000060ea03460d00000081c3ff4073c0a2213c77b818a070f4dc27b1bfff25e8ff569a1771beff7a44460400000000b1bcff101120e5e6ff567a1642d41082213f8c68780272d7107734be80ea0372212f6067c08a6662612f70ea0362d51082d5208858683692d5408a6682d5308878f8998a6688158a66626201622500c0200088a9f798076646f4c646000000664602c6440080ea0362212c7066c08a6662612c60ea0362613e706f11fa76d07711a109ff8b877a75d817aa777207008a85076727718effb190ff0c1ecd08ad07926143f261428197ffe00800dd0a922143f22142660a020631008d07a0ea0372212db2213ecd0db077c0aa7780b820a2c15872612d826140926143d26141f26142813cffe00800a0ea0370ea03b2212fba77a077c072612f70ea03d22141822140a2213ccd0dbd082574ff922143d22141f2214256ca06b0ea03fa6682212ed066116a657078c0a9166899ba7772612e1b662646056999c6000000a2690962213cc2a058d0668062613c6802cab1dad6ad01d902816cffe00800bd018ba2811effe008001c8bad02253b00c60600003c524612003c620611003c72c60f00004c02460e003c82060d000062220037b602c68fff22a0b0102280b2c158a2c214810effe0080020ea03322130a2a0b03022c0b2a0241aaa2261302536000c023148ff42213d2c0ac0200049038150ffe008001df00010000036410091feffad02bd03cd045c2247390425bfff2d0a1df0b010000036c12161f7ff8ca452a06247b60286240040642051effe5a51ad0581effee00800461700a2d11081ecfee0080060736370c72010b12020a2202570ff8c6a52a063c617000000cd07bd01ad0581e5fee00800ac74cd07bd01a2d11081e1fee00800a1e6ffb2d11010aa8081defee00800a1e3ff1c0b1aaa81d9fee008007a227033c056e3f9b1d2fea1ddffbab11aaa81d5fee00800a1d9ff1c0b1aaa81d0fee008005d032d051df00030f43f000000108030f43f3661000c02290191fbff21fbffc0200029098d02c0200028098022105642ff81f7ff91e9fcc0200088080c4b908810ad01890181bdfee008001df0002000f43f00000200fffffdff44f0fd3f36810022a05531faff224115c02000280381f8ff0c1b802220c020002903c02000280381f5ffa2c115802210c020002903a52000261a02463e008201157cf20b882241148080740c9287b20206370021ebffe088118a822808a002001c0bad01a51d004c1226aa02462f00c821b811a801a5baff460600b2a01010a120e51b005c1226aa02062800c821b811a80165e5ffa241140625001c0bad01251a0022a06126aa02462000c821b811a80125e5ff46f7ff25f0ffc6f5ff00a545ff06f4ff0c020c1ba2c114224114e51500220115c61b00000000b2a01010a120e51500a0ba20ad01460700b2a01010a120e5140022af91664a322801bd0ac020002802a2c110226104251200060600b2a01010a120a5120022afa1668a0e2221008811c0200089020c02c6ffff2241140c1ba2c114650f0022011582c2fa808074b6280206b2ff1df0000000000009401027000050c300007c680040588600406c2a064038320640348500404c82004036610021f6ff0c0a4802381281f7ffe0080081f6ffe008000c0b81f5ffe00800f19afed154ffc19afeb19afee2a1000c0a0c0281f0ffe008002901271315a1e8ff81edffe00800cd03bd0420a2206577ffa26100a1e4ff81e8ffe00800b2a00410a120a50500e5e2ffa02a20a1ddff81e2ffe0080026620581e1ffe008001df030c0fd3f0000fd3f2cf0fd3f30c0fd3f364100a1fcffc1faff0c0ba0ccc0c0c221817dfee0080011f8ff65f5ff91f6ff82a0ff890991f5ff89091df0364100bd03ad02812bfee008001df000a49200403641006d0222a0c081fdffe008005d0a279af40c0272a0c0460c00000081f7ffe008004d0a771a3882a0db879a1781f3ffe0080082a0dc871a0982a0dd871a05c60300004d052a864248001b223792cc4600000c0232a0c081e9ffe00800379af61df000", "code_start": 1074331656, "entry": 1074335612, "data": "7c0709409107094091070940f907094043080940dc0d0940f70d0940170e0940330e09403a0e0940400e0940400e0940560e0940670e09408b0e0940", "data_start": 1073606704, "num_params": 2, "code_size": 4120, "data_size": 60}`) +var _stubStubJson = []byte(`{"params_start": 1074331648, "code": "90e2fa3f1020f43f0020f43f00000008b02106403661000c18890181f9ff8208018c480c52460c0000a1f6ffb1f7ffd1f7ff9d08c02000926a00c02000d26b00c02000880b5678ffc02000880ac852c08810890107e8dc860300bd02ad0181ecffe00800880107e8f0280129030c021df0000000f820f43ff830f43f36610081fdffc0200038083030245643ff81faffc020003228003030245633ff10b12020a22025f7ff0c12a023831df070e2fa3f000000403661000c0222610021fcff20a220a5fbff81d0ff31faffc020003908c0200038085673ff0c234602000010b12020a220e5f2ff8221008703f00c021df0000000ffffff00000000200420f43f8020f43f000000023641004060148c360c12862b0051e5ff98459082e24a888739edc62300e5f8ff564afe91f2ffb1f3ff9082101cf947a92b91efffc1f1ff908820c02000890b0c8876880caab3b80bca9ac02000b9094baa32c32042c4e022c220c60e00809401808920c02000890b4082744040148c341b8880807491e0ff06040000e04a119ab44a4348041baac02000490ba040748734e9e088118a334d068199ff91d8ffc020009908c020009228005669ff50a52025ecffa61402c6d8ff22a0001df00000364100a1b8ffe5eaffb2a03530a320818effe008008223002d0a80881189031df000000000000004364100ad0265e8ff4d022182ff8182ffc02000390221f9ffc020002908c020002228005662ff40a42025e6ff900000000820f43f0000400036610031a0ff0c12ad03a5e4ffbd01ad03e5f8ff568a04280142a200402210ad03290125e3ff216eff4197ffc020004902c020004222005664ff30a32065e1ff21eeff91eeffc020008802ad03908820c020008902b80122a001e5f6ffa024831df0000036410065e2ff22a001560a023185ff30a320e5ddff8159ff21e0ffc020002908c0200028085672ffad0365dcff1df0001c20f43fffffffdf2020f43fffffff030000005c36610051faff8d0261faffc020002805602210c02000290551f7ff61f7ffc02000280560221061f5ff602220c020002905216aff8a5462220157b6040c12c6180028422058e25072c077b409cd04bd03ad084611000080a82070c72030b320890165ddff8801562afd2055c04a552055c26d0a06050020c220826100a5dbff8801567afb1b662a7760607470b241e0bb118aa7bab35736dd70c4c0e5d9ff0c130c02a023931df00000200001fffffff7000000700000007c2420f43feb00007000000050bb0000700000ffff6b0000703b0000700b000070030000702c20f43f00000400364100519affc1efffc02000a80581beffc05a10b1edff910dffc7955ac02000a80851eaffb0aa10c02000a908c02000a80861e9ff50aa20c02000a908a1b4ff51b5ffc02000880a50881051e1ff508820c02000890a820901c02000b80a3b8892af00808074909b10908820c02000890a51d8ff46690000d7ea02464600c02000c80851d6ffb0bc10c02000b908c02000b80850bb20c02000b90877fa02c62400520901a19bffecd5c0200098085197ff61cbff509910c020009908c02000880a5194ff50881051c2ff508820c02000890a51c0ff065100c02000b8085119ff50bb20c02000b908c02000880a5189ff50881051b7ff508820c02000890a820901c02000b80a0b8892af00909b1080807490882091b0ffc02000890ac02000880951b0ff50881052a0bb508820c020008909063b0081a7ff51acff47fa0851abffe7ea0251abffa170ffc020005908c02000880a51fcfe508820c02000890aa16cff516cffc02000880a508810516aff508820c02000890a820901c02000b80a7b8892af00808074909b10908820c02000890ac622000000c02000a808b0aa10c02000a908520901dc15c0200098085157ff509910c020009908460b00c02000a80851e0feb152ff50aa20c02000a908820901c02000a80b0b8892af00808074909a10908820c02000890b9147ff517bffc020008809617fff508820c0200089099143ff5144ffc0200088095088105142ff508820516fffc020008909c020006905a1b5fe2a84581a0c1987b502c62a0065a9ff9188fe3cfeb16fffc2a1ffd1c2fefd09462300000080821147ae3dc02000c90b516affc02000890dc020005909517cfec0200088055678ff1c0a768a0f61b6fe6a58c0200068058a5369054b8832c34042c4c022c240c61100c02000890d215affc02000c90bc02000226900c02000280f5672ff4082744040148c341b8880807421a5fee088113a883022c0c60200003a42c02000480449034b338793f1460100a6140246dbff0c092d091df000000000e00000f43f0000f0ffff00cc90004036410081fcffad028a8200881121f8fff62a010c0282c8142a88c02000980821f6ffc08911208810909435902820303282a0a07440b3c281f1ffe008001df0000080fd3fff0f000036410081fdffa2d840b8aa709b11ba99d099119a889818b1f9ff973b0e1bb9b9189a8822480888ba1b8889ba1df000000800f43f0000f43f30f0fd3f081000000c00f43f1c00f43f1000f43f36410021f8ffc02000480221e8ff52d24006370000000c0681f4ffc02000a8088802a09074b65802862e00b1f0ffe0c811cabbb80ba00b0082a0c08719020629000c1889020c0889b546260000b2a0dbb799040c38c62200c2a0c0b8a5c799301b8b2648024600000c0889a598a5a1e0ff7089119a88d088118a820c099918aa8892480088b5979802060d009902061500661814708b11ba88d08811a1d5ff8a82aa88924800060e00a0a07465f0ffc60c0000000082a0dc87191982a0dd87191a0c43390221cbffc020003802c020003902460a00a2a0c0c6000000a2a0db65edff0c2889021b6660607467130286c9ff61c1ffc0200038063030745663f121bfffc0200049021df000000058100000701000007cda0540409300409cda05401cdb054036412152d110ad0581faffe008000c06461800006073c0407763cd07bd012aa625b3ff8d0a561a0491f1ffbd071a998909ad0181f0ffe0080091ecff0c4b1a99880982651681e8ff8aa1e56f00664a1fc22516c7b61e60ccc0bd0150a52081e6ffe008006225168602005c32060900005c4286070037369ba1dcffbd051aaa81dfffe00800a1d8ff1c0b1aaa81daffe008000c021df00000364100a1ecfde577ff916efea16ffec020008809a08810c020008909916cfea16cfec020008809a08810a16afea08820c02000890981b6fd91e0fdc020009908c0200098085679ffa1effdc02000290ac0200039082d091df00000000000fd3f3040000000800000440709402400f43f64000094ffff00000000800000000100000000014cc40040ec6700400868004050000640c8c20040fc670040366102a2c15822613c42613f81acffe0080042213c3c224040b456442a3040b43c3256c429e586ff4d0a3c42562a295149ffc1e4ffbd0a50a52081ebffe00800c1e2ffa1dfff40b42081e7ffe00800b1dfffcd050c5a81e5ffe0080021ddff72a101c0200068022c0a62613d61daffc020006902614affc02000222600702220c02000290681daffe00800a2a0b0bd042c4caaa122a0d481d4ffe008002a211c8cbd04ad0281d0ffe0080062a0f06a611c8bad026912a5540060ea03626130066e00000060ea03460d00000081c3ff4073c0a2213c77b818a070f4dc27b1bfff25e8ff569a1771beff7a44460400000000b1bcff101120e5e6ff567a1642d41082213f8c68780272d7107734be80ea0372212f6067c08a6662612f70ea0362d51082d5208858683692d5408a6682d5308878f8998a6688158a66626201622500c0200088a9f798076646f4c646000000664602c6440080ea0362212c7066c08a6662612c60ea0362613e706f11fa76d07711a109ff8b877a75d817aa777207008a85076727718effb190ff0c1ecd08ad07926143f261428197ffe00800dd0a922143f22142660a020631008d07a0ea0372212db2213ecd0db077c0aa7780b820a2c15872612d826140926143d26141f26142813cffe00800a0ea0370ea03b2212fba77a077c072612f70ea03d22141822140a2213ccd0dbd082574ff922143d22141f2214256ca06b0ea03fa6682212ed066116a657078c0a9166899ba7772612e1b662646056999c6000000a2690962213cc2a058d0668062613c6802cab1dad6ad01d902816cffe00800bd018ba2811effe008001c8bad02653a00c60600003c524612003c620611003c72c60f00004c02460e003c82060d000062220037b602c68fff22a0b0102280b2c158a2c214810effe0080020ea03322130a2a0b03022c0b2a0241aaa2261306535000c023148ff42213d2c0ac0200049038150ffe008001df00010000036410091feffad02bd03cd045c2247390425bfff2d0a1df0b010000036c12161f7ff8ca452a06247b60286240040642051effe5a51ad0581effee00800461700a2d11081ecfee0080060736370c72010b12020a2202570ff8c6a52a063c617000000cd07bd01ad0581e5fee00800ac74cd07bd01a2d11081e1fee00800a1e6ffb2d11010aa8081defee00800a1e3ff1c0b1aaa81d9fee008007a227033c056e3f9b1d2fea1ddffbab11aaa81d5fee00800a1d9ff1c0b1aaa81d0fee008005d032d051df00030f43f000000108030f43f3661000c02290191fbff21fbffc0200029098d02c0200028098022105642ff81f7ff91e9fcc0200088080c4b908810ad01890181bdfee008001df0002000f43f00000200fffffdff44f0fd3f36810022a05531faff224115c02000280381f8ff0c1b802220c020002903c02000280381f5ffa2c115802210c020002903e51f00261a02463e008201157cf20b882241148080740c9287b20206370021ebffe088118a822808a002001c0bad01e51c004c1226aa02462f00c821b811a801a5baff460600b2a01010a120251b005c1226aa02062800c821b811a80165e5ffa241140625001c0bad0165190022a06126aa02462000c821b811a80125e5ff46f7ff25f0ffc6f5ff00a545ff06f4ff0c020c1ba2c114224114251500220115c61b00000000b2a01010a120251500a0ba20ad01460700b2a01010a12025140022af91664a322801bd0ac020002802a2c110226104651100060600b2a01010a120e5110022afa1668a0e2221008811c0200089020c02c6ffff2241140c1ba2c114a50e0022011582c2fa808074b6280206b2ff1df0000000000009401027000050c300007c680040588600406c2a064038320640348500404c82004036610021f6ff0c0a4802381281f7ffe0080081f6ffe008000c0b81f5ffe00800f19afed154ffc19afeb19afee2a1000c0a0c0281f0ffe008002901271315a1e8ff81edffe00800cd03bd0420a2206577ffa26100a1e4ff81e8ffe00800b2a00410a120e50400e5e2ffa02a20a1ddff81e2ffe0080026620581e1ffe008001df030c0fd3f0000fd3f2cf0fd3f364100a1fdffc1fbff0c0ba0ccc0c0c221817efee0080081f9ff80182065f5ff1df00000364100bd03ad02812efee008001df000a49200403641006d0222a0c081fdffe008005d0a279af40c0272a0c0460c00000081f7ffe008004d0a771a3882a0db879a1781f3ffe0080082a0dc871a0982a0dd871a05c60300004d052a864248001b223792cc4600000c0232a0c081e9ffe00800379af61df000", "code_start": 1074331656, "entry": 1074335608, "data": "7c0709409107094091070940f907094043080940dc0d0940f70d0940170e0940330e09403a0e0940400e0940400e0940560e0940670e09408b0e0940", "data_start": 1073606704, "num_params": 2, "code_size": 4108, "data_size": 60}`) func stubStubJsonBytes() ([]byte, error) { return _stubStubJson, nil @@ -65,7 +65,7 @@ return nil, err } - info := bindataFileInfo{name: "stub/stub.json", size: 8538, mode: os.FileMode(420), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "stub/stub.json", size: 8514, mode: os.FileMode(420), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32/stub/stub.json mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32/stub/stub.json --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32/stub/stub.json 2021-10-29 08:57:51.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32/stub/stub.json 2021-12-15 00:11:11.000000000 +0000 @@ -1 +1 @@ -{"params_start": 1074331648, "code": "90e2fa3f1020f43f0020f43f00000008b02106403661000c18890181f9ff8208018c480c52460c0000a1f6ffb1f7ffd1f7ff9d08c02000926a00c02000d26b00c02000880b5678ffc02000880ac852c08810890107e8dc860300bd02ad0181ecffe00800880107e8f0280129030c021df0000000f820f43ff830f43f36610081fdffc0200038083030245643ff81faffc020003228003030245633ff10b12020a22025f7ff0c12a023831df070e2fa3f000000403661000c0222610021fcff20a220a5fbff81d0ff31faffc020003908c0200038085673ff0c234602000010b12020a220e5f2ff8221008703f00c021df0000000ffffff00000000200420f43f8020f43f000000023641004060148c360c12862b0051e5ff98459082e24a888739edc62300e5f8ff564afe91f2ffb1f3ff9082101cf947a92b91efffc1f1ff908820c02000890b0c8876880caab3b80bca9ac02000b9094baa32c32042c4e022c220c60e00809401808920c02000890b4082744040148c341b8880807491e0ff06040000e04a119ab44a4348041baac02000490ba040748734e9e088118a334d068199ff91d8ffc020009908c020009228005669ff50a52025ecffa61402c6d8ff22a0001df00000364100a1b8ffe5eaffb2a03530a320818effe008008223002d0a80881189031df000000000000004364100ad0265e8ff4d022182ff8182ffc02000390221f9ffc020002908c020002228005662ff40a42025e6ff900000000820f43f0000400036610031a0ff0c12ad03a5e4ffbd01ad03e5f8ff568a04280142a200402210ad03290125e3ff216eff4197ffc020004902c020004222005664ff30a32065e1ff21eeff91eeffc020008802ad03908820c020008902b80122a001e5f6ffa024831df0000036410065e2ff22a001560a023185ff30a320e5ddff8159ff21e0ffc020002908c0200028085672ffad0365dcff1df0001c20f43fffffffdf2020f43fffffff030000005c36610051faff8d0261faffc020002805602210c02000290551f7ff61f7ffc02000280560221061f5ff602220c020002905216aff8a5462220157b6040c12c6180028422058e25072c077b409cd04bd03ad084611000080a82070c72030b320890165ddff8801562afd2055c04a552055c26d0a06050020c220826100a5dbff8801567afb1b662a7760607470b241e0bb118aa7bab35736dd70c4c0e5d9ff0c130c02a023931df00000200001fffffff7000000700000007c2420f43feb00007000000050bb0000700000ffff6b0000703b0000700b000070030000702c20f43f00000400364100519affc1efffc02000a80581beffc05a10b1edff910dffc7955ac02000a80851eaffb0aa10c02000a908c02000a80861e9ff50aa20c02000a908a1b4ff51b5ffc02000880a50881051e1ff508820c02000890a820901c02000b80a3b8892af00808074909b10908820c02000890a51d8ff46690000d7ea02464600c02000c80851d6ffb0bc10c02000b908c02000b80850bb20c02000b90877fa02c62400520901a19bffecd5c0200098085197ff61cbff509910c020009908c02000880a5194ff50881051c2ff508820c02000890a51c0ff065100c02000b8085119ff50bb20c02000b908c02000880a5189ff50881051b7ff508820c02000890a820901c02000b80a0b8892af00909b1080807490882091b0ffc02000890ac02000880951b0ff50881052a0bb508820c020008909063b0081a7ff51acff47fa0851abffe7ea0251abffa170ffc020005908c02000880a51fcfe508820c02000890aa16cff516cffc02000880a508810516aff508820c02000890a820901c02000b80a7b8892af00808074909b10908820c02000890ac622000000c02000a808b0aa10c02000a908520901dc15c0200098085157ff509910c020009908460b00c02000a80851e0feb152ff50aa20c02000a908820901c02000a80b0b8892af00808074909a10908820c02000890b9147ff517bffc020008809617fff508820c0200089099143ff5144ffc0200088095088105142ff508820516fffc020008909c020006905a1b5fe2a84581a0c1987b502c62a0065a9ff9188fe3cfeb16fffc2a1ffd1c2fefd09462300000080821147ae3dc02000c90b516affc02000890dc020005909517cfec0200088055678ff1c0a768a0f61b6fe6a58c0200068058a5369054b8832c34042c4c022c240c61100c02000890d215affc02000c90bc02000226900c02000280f5672ff4082744040148c341b8880807421a5fee088113a883022c0c60200003a42c02000480449034b338793f1460100a6140246dbff0c092d091df000000000e00000f43f0000f0ffff00cc90004036410081fcffad028a8200881121f8fff62a010c0282c8142a88c02000980821f6ffc08911208810909435902820303282a0a07440b3c281f1ffe008001df0000080fd3fff0f000036410081fdffa2d840b8aa709b11ba99d099119a889818b1f9ff973b0e1bb9b9189a8822480888ba1b8889ba1df000000800f43f0000f43f30f0fd3f081000000c00f43f1c00f43f1000f43f36410021f8ffc02000480221e8ff52d24006370000000c0681f4ffc02000a8088802a09074b65802862e00b1f0ffe0c811cabbb80ba00b0082a0c08719020629000c1889020c0889b546260000b2a0dbb799040c38c62200c2a0c0b8a5c799301b8b2648024600000c0889a598a5a1e0ff7089119a88d088118a820c099918aa8892480088b5979802060d009902061500661814708b11ba88d08811a1d5ff8a82aa88924800060e00a0a07465f0ffc60c0000000082a0dc87191982a0dd87191a0c43390221cbffc020003802c020003902460a00a2a0c0c6000000a2a0db65edff0c2889021b6660607467130286c9ff61c1ffc0200038063030745663f121bfffc0200049021df000000058100000701000007cda0540409300409cda05401cdb054036412152d110ad0581faffe008000c06461800006073c0407763cd07bd012aa625b3ff8d0a561a0491f1ffbd071a998909ad0181f0ffe0080091ecff0c4b1a99880982651681e8ff8aa1a57000664a1fc22516c7b61e60ccc0bd0150a52081e6ffe008006225168602005c32060900005c4286070037369ba1dcffbd051aaa81dfffe00800a1d8ff1c0b1aaa81daffe008000c021df00000364100a1ecfde577ff916efea16ffec020008809a08810c020008909916cfea16cfec020008809a08810a16afea08820c02000890981b6fd91e0fdc020009908c0200098085679ffa1effdc02000290ac0200039082d091df00000000000fd3f3040000000800000440709402400f43f64000094ffff00000000800000000100000000014cc40040ec6700400868004050000640c8c20040fc670040366102a2c15822613c42613f81acffe0080042213c3c224040b456442a3040b43c3256c429e586ff4d0a3c42562a295149ffc1e4ffbd0a50a52081ebffe00800c1e2ffa1dfff40b42081e7ffe00800b1dfffcd050c5a81e5ffe0080021ddff72a101c0200068022c0a62613d61daffc020006902614affc02000222600702220c02000290681daffe00800a2a0b0bd042c4caaa122a0d481d4ffe008002a211c8cbd04ad0281d0ffe0080062a0f06a611c8bad02691265550060ea03626130066e00000060ea03460d00000081c3ff4073c0a2213c77b818a070f4dc27b1bfff25e8ff569a1771beff7a44460400000000b1bcff101120e5e6ff567a1642d41082213f8c68780272d7107734be80ea0372212f6067c08a6662612f70ea0362d51082d5208858683692d5408a6682d5308878f8998a6688158a66626201622500c0200088a9f798076646f4c646000000664602c6440080ea0362212c7066c08a6662612c60ea0362613e706f11fa76d07711a109ff8b877a75d817aa777207008a85076727718effb190ff0c1ecd08ad07926143f261428197ffe00800dd0a922143f22142660a020631008d07a0ea0372212db2213ecd0db077c0aa7780b820a2c15872612d826140926143d26141f26142813cffe00800a0ea0370ea03b2212fba77a077c072612f70ea03d22141822140a2213ccd0dbd082574ff922143d22141f2214256ca06b0ea03fa6682212ed066116a657078c0a9166899ba7772612e1b662646056999c6000000a2690962213cc2a058d0668062613c6802cab1dad6ad01d902816cffe00800bd018ba2811effe008001c8bad02253b00c60600003c524612003c620611003c72c60f00004c02460e003c82060d000062220037b602c68fff22a0b0102280b2c158a2c214810effe0080020ea03322130a2a0b03022c0b2a0241aaa2261302536000c023148ff42213d2c0ac0200049038150ffe008001df00010000036410091feffad02bd03cd045c2247390425bfff2d0a1df0b010000036c12161f7ff8ca452a06247b60286240040642051effe5a51ad0581effee00800461700a2d11081ecfee0080060736370c72010b12020a2202570ff8c6a52a063c617000000cd07bd01ad0581e5fee00800ac74cd07bd01a2d11081e1fee00800a1e6ffb2d11010aa8081defee00800a1e3ff1c0b1aaa81d9fee008007a227033c056e3f9b1d2fea1ddffbab11aaa81d5fee00800a1d9ff1c0b1aaa81d0fee008005d032d051df00030f43f000000108030f43f3661000c02290191fbff21fbffc0200029098d02c0200028098022105642ff81f7ff91e9fcc0200088080c4b908810ad01890181bdfee008001df0002000f43f00000200fffffdff44f0fd3f36810022a05531faff224115c02000280381f8ff0c1b802220c020002903c02000280381f5ffa2c115802210c020002903a52000261a02463e008201157cf20b882241148080740c9287b20206370021ebffe088118a822808a002001c0bad01a51d004c1226aa02462f00c821b811a801a5baff460600b2a01010a120e51b005c1226aa02062800c821b811a80165e5ffa241140625001c0bad01251a0022a06126aa02462000c821b811a80125e5ff46f7ff25f0ffc6f5ff00a545ff06f4ff0c020c1ba2c114224114e51500220115c61b00000000b2a01010a120e51500a0ba20ad01460700b2a01010a120e5140022af91664a322801bd0ac020002802a2c110226104251200060600b2a01010a120a5120022afa1668a0e2221008811c0200089020c02c6ffff2241140c1ba2c114650f0022011582c2fa808074b6280206b2ff1df0000000000009401027000050c300007c680040588600406c2a064038320640348500404c82004036610021f6ff0c0a4802381281f7ffe0080081f6ffe008000c0b81f5ffe00800f19afed154ffc19afeb19afee2a1000c0a0c0281f0ffe008002901271315a1e8ff81edffe00800cd03bd0420a2206577ffa26100a1e4ff81e8ffe00800b2a00410a120a50500e5e2ffa02a20a1ddff81e2ffe0080026620581e1ffe008001df030c0fd3f0000fd3f2cf0fd3f30c0fd3f364100a1fcffc1faff0c0ba0ccc0c0c221817dfee0080011f8ff65f5ff91f6ff82a0ff890991f5ff89091df0364100bd03ad02812bfee008001df000a49200403641006d0222a0c081fdffe008005d0a279af40c0272a0c0460c00000081f7ffe008004d0a771a3882a0db879a1781f3ffe0080082a0dc871a0982a0dd871a05c60300004d052a864248001b223792cc4600000c0232a0c081e9ffe00800379af61df000", "code_start": 1074331656, "entry": 1074335612, "data": "7c0709409107094091070940f907094043080940dc0d0940f70d0940170e0940330e09403a0e0940400e0940400e0940560e0940670e09408b0e0940", "data_start": 1073606704, "num_params": 2, "code_size": 4120, "data_size": 60} \ No newline at end of file +{"params_start": 1074331648, "code": "90e2fa3f1020f43f0020f43f00000008b02106403661000c18890181f9ff8208018c480c52460c0000a1f6ffb1f7ffd1f7ff9d08c02000926a00c02000d26b00c02000880b5678ffc02000880ac852c08810890107e8dc860300bd02ad0181ecffe00800880107e8f0280129030c021df0000000f820f43ff830f43f36610081fdffc0200038083030245643ff81faffc020003228003030245633ff10b12020a22025f7ff0c12a023831df070e2fa3f000000403661000c0222610021fcff20a220a5fbff81d0ff31faffc020003908c0200038085673ff0c234602000010b12020a220e5f2ff8221008703f00c021df0000000ffffff00000000200420f43f8020f43f000000023641004060148c360c12862b0051e5ff98459082e24a888739edc62300e5f8ff564afe91f2ffb1f3ff9082101cf947a92b91efffc1f1ff908820c02000890b0c8876880caab3b80bca9ac02000b9094baa32c32042c4e022c220c60e00809401808920c02000890b4082744040148c341b8880807491e0ff06040000e04a119ab44a4348041baac02000490ba040748734e9e088118a334d068199ff91d8ffc020009908c020009228005669ff50a52025ecffa61402c6d8ff22a0001df00000364100a1b8ffe5eaffb2a03530a320818effe008008223002d0a80881189031df000000000000004364100ad0265e8ff4d022182ff8182ffc02000390221f9ffc020002908c020002228005662ff40a42025e6ff900000000820f43f0000400036610031a0ff0c12ad03a5e4ffbd01ad03e5f8ff568a04280142a200402210ad03290125e3ff216eff4197ffc020004902c020004222005664ff30a32065e1ff21eeff91eeffc020008802ad03908820c020008902b80122a001e5f6ffa024831df0000036410065e2ff22a001560a023185ff30a320e5ddff8159ff21e0ffc020002908c0200028085672ffad0365dcff1df0001c20f43fffffffdf2020f43fffffff030000005c36610051faff8d0261faffc020002805602210c02000290551f7ff61f7ffc02000280560221061f5ff602220c020002905216aff8a5462220157b6040c12c6180028422058e25072c077b409cd04bd03ad084611000080a82070c72030b320890165ddff8801562afd2055c04a552055c26d0a06050020c220826100a5dbff8801567afb1b662a7760607470b241e0bb118aa7bab35736dd70c4c0e5d9ff0c130c02a023931df00000200001fffffff7000000700000007c2420f43feb00007000000050bb0000700000ffff6b0000703b0000700b000070030000702c20f43f00000400364100519affc1efffc02000a80581beffc05a10b1edff910dffc7955ac02000a80851eaffb0aa10c02000a908c02000a80861e9ff50aa20c02000a908a1b4ff51b5ffc02000880a50881051e1ff508820c02000890a820901c02000b80a3b8892af00808074909b10908820c02000890a51d8ff46690000d7ea02464600c02000c80851d6ffb0bc10c02000b908c02000b80850bb20c02000b90877fa02c62400520901a19bffecd5c0200098085197ff61cbff509910c020009908c02000880a5194ff50881051c2ff508820c02000890a51c0ff065100c02000b8085119ff50bb20c02000b908c02000880a5189ff50881051b7ff508820c02000890a820901c02000b80a0b8892af00909b1080807490882091b0ffc02000890ac02000880951b0ff50881052a0bb508820c020008909063b0081a7ff51acff47fa0851abffe7ea0251abffa170ffc020005908c02000880a51fcfe508820c02000890aa16cff516cffc02000880a508810516aff508820c02000890a820901c02000b80a7b8892af00808074909b10908820c02000890ac622000000c02000a808b0aa10c02000a908520901dc15c0200098085157ff509910c020009908460b00c02000a80851e0feb152ff50aa20c02000a908820901c02000a80b0b8892af00808074909a10908820c02000890b9147ff517bffc020008809617fff508820c0200089099143ff5144ffc0200088095088105142ff508820516fffc020008909c020006905a1b5fe2a84581a0c1987b502c62a0065a9ff9188fe3cfeb16fffc2a1ffd1c2fefd09462300000080821147ae3dc02000c90b516affc02000890dc020005909517cfec0200088055678ff1c0a768a0f61b6fe6a58c0200068058a5369054b8832c34042c4c022c240c61100c02000890d215affc02000c90bc02000226900c02000280f5672ff4082744040148c341b8880807421a5fee088113a883022c0c60200003a42c02000480449034b338793f1460100a6140246dbff0c092d091df000000000e00000f43f0000f0ffff00cc90004036410081fcffad028a8200881121f8fff62a010c0282c8142a88c02000980821f6ffc08911208810909435902820303282a0a07440b3c281f1ffe008001df0000080fd3fff0f000036410081fdffa2d840b8aa709b11ba99d099119a889818b1f9ff973b0e1bb9b9189a8822480888ba1b8889ba1df000000800f43f0000f43f30f0fd3f081000000c00f43f1c00f43f1000f43f36410021f8ffc02000480221e8ff52d24006370000000c0681f4ffc02000a8088802a09074b65802862e00b1f0ffe0c811cabbb80ba00b0082a0c08719020629000c1889020c0889b546260000b2a0dbb799040c38c62200c2a0c0b8a5c799301b8b2648024600000c0889a598a5a1e0ff7089119a88d088118a820c099918aa8892480088b5979802060d009902061500661814708b11ba88d08811a1d5ff8a82aa88924800060e00a0a07465f0ffc60c0000000082a0dc87191982a0dd87191a0c43390221cbffc020003802c020003902460a00a2a0c0c6000000a2a0db65edff0c2889021b6660607467130286c9ff61c1ffc0200038063030745663f121bfffc0200049021df000000058100000701000007cda0540409300409cda05401cdb054036412152d110ad0581faffe008000c06461800006073c0407763cd07bd012aa625b3ff8d0a561a0491f1ffbd071a998909ad0181f0ffe0080091ecff0c4b1a99880982651681e8ff8aa1e56f00664a1fc22516c7b61e60ccc0bd0150a52081e6ffe008006225168602005c32060900005c4286070037369ba1dcffbd051aaa81dfffe00800a1d8ff1c0b1aaa81daffe008000c021df00000364100a1ecfde577ff916efea16ffec020008809a08810c020008909916cfea16cfec020008809a08810a16afea08820c02000890981b6fd91e0fdc020009908c0200098085679ffa1effdc02000290ac0200039082d091df00000000000fd3f3040000000800000440709402400f43f64000094ffff00000000800000000100000000014cc40040ec6700400868004050000640c8c20040fc670040366102a2c15822613c42613f81acffe0080042213c3c224040b456442a3040b43c3256c429e586ff4d0a3c42562a295149ffc1e4ffbd0a50a52081ebffe00800c1e2ffa1dfff40b42081e7ffe00800b1dfffcd050c5a81e5ffe0080021ddff72a101c0200068022c0a62613d61daffc020006902614affc02000222600702220c02000290681daffe00800a2a0b0bd042c4caaa122a0d481d4ffe008002a211c8cbd04ad0281d0ffe0080062a0f06a611c8bad026912a5540060ea03626130066e00000060ea03460d00000081c3ff4073c0a2213c77b818a070f4dc27b1bfff25e8ff569a1771beff7a44460400000000b1bcff101120e5e6ff567a1642d41082213f8c68780272d7107734be80ea0372212f6067c08a6662612f70ea0362d51082d5208858683692d5408a6682d5308878f8998a6688158a66626201622500c0200088a9f798076646f4c646000000664602c6440080ea0362212c7066c08a6662612c60ea0362613e706f11fa76d07711a109ff8b877a75d817aa777207008a85076727718effb190ff0c1ecd08ad07926143f261428197ffe00800dd0a922143f22142660a020631008d07a0ea0372212db2213ecd0db077c0aa7780b820a2c15872612d826140926143d26141f26142813cffe00800a0ea0370ea03b2212fba77a077c072612f70ea03d22141822140a2213ccd0dbd082574ff922143d22141f2214256ca06b0ea03fa6682212ed066116a657078c0a9166899ba7772612e1b662646056999c6000000a2690962213cc2a058d0668062613c6802cab1dad6ad01d902816cffe00800bd018ba2811effe008001c8bad02653a00c60600003c524612003c620611003c72c60f00004c02460e003c82060d000062220037b602c68fff22a0b0102280b2c158a2c214810effe0080020ea03322130a2a0b03022c0b2a0241aaa2261306535000c023148ff42213d2c0ac0200049038150ffe008001df00010000036410091feffad02bd03cd045c2247390425bfff2d0a1df0b010000036c12161f7ff8ca452a06247b60286240040642051effe5a51ad0581effee00800461700a2d11081ecfee0080060736370c72010b12020a2202570ff8c6a52a063c617000000cd07bd01ad0581e5fee00800ac74cd07bd01a2d11081e1fee00800a1e6ffb2d11010aa8081defee00800a1e3ff1c0b1aaa81d9fee008007a227033c056e3f9b1d2fea1ddffbab11aaa81d5fee00800a1d9ff1c0b1aaa81d0fee008005d032d051df00030f43f000000108030f43f3661000c02290191fbff21fbffc0200029098d02c0200028098022105642ff81f7ff91e9fcc0200088080c4b908810ad01890181bdfee008001df0002000f43f00000200fffffdff44f0fd3f36810022a05531faff224115c02000280381f8ff0c1b802220c020002903c02000280381f5ffa2c115802210c020002903e51f00261a02463e008201157cf20b882241148080740c9287b20206370021ebffe088118a822808a002001c0bad01e51c004c1226aa02462f00c821b811a801a5baff460600b2a01010a120251b005c1226aa02062800c821b811a80165e5ffa241140625001c0bad0165190022a06126aa02462000c821b811a80125e5ff46f7ff25f0ffc6f5ff00a545ff06f4ff0c020c1ba2c114224114251500220115c61b00000000b2a01010a120251500a0ba20ad01460700b2a01010a12025140022af91664a322801bd0ac020002802a2c110226104651100060600b2a01010a120e5110022afa1668a0e2221008811c0200089020c02c6ffff2241140c1ba2c114a50e0022011582c2fa808074b6280206b2ff1df0000000000009401027000050c300007c680040588600406c2a064038320640348500404c82004036610021f6ff0c0a4802381281f7ffe0080081f6ffe008000c0b81f5ffe00800f19afed154ffc19afeb19afee2a1000c0a0c0281f0ffe008002901271315a1e8ff81edffe00800cd03bd0420a2206577ffa26100a1e4ff81e8ffe00800b2a00410a120e50400e5e2ffa02a20a1ddff81e2ffe0080026620581e1ffe008001df030c0fd3f0000fd3f2cf0fd3f364100a1fdffc1fbff0c0ba0ccc0c0c221817efee0080081f9ff80182065f5ff1df00000364100bd03ad02812efee008001df000a49200403641006d0222a0c081fdffe008005d0a279af40c0272a0c0460c00000081f7ffe008004d0a771a3882a0db879a1781f3ffe0080082a0dc871a0982a0dd871a05c60300004d052a864248001b223792cc4600000c0232a0c081e9ffe00800379af61df000", "code_start": 1074331656, "entry": 1074335608, "data": "7c0709409107094091070940f907094043080940dc0d0940f70d0940170e0940330e09403a0e0940400e0940400e0940560e0940670e09408b0e0940", "data_start": 1073606704, "num_params": 2, "code_size": 4108, "data_size": 60} \ No newline at end of file diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/genstub.sh mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/genstub.sh --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/genstub.sh 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/genstub.sh 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1,9 @@ +#!/bin/bash + +scriptdir=$(realpath $(dirname $0)) + +set -e -x + +make -C "$scriptdir" \ + LIBS="spi_flash_rom_patch.c uart.c" \ + STUB="stub.json" diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/Makefile mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/Makefile --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/Makefile 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1,35 @@ +# +# Copyright (c) 2015 Cesanta Software Limited +# All rights reserved +# + +STUB ?= stub.json +COMMON_STUB_DIR = ../../esp/stub +SDK ?= docker.io/mgos/esp32c3-build:4.3-dev +LIBS ?= + +SRCS = $(LIBS) $(COMMON_STUB_DIR)/stub_flasher.c $(COMMON_STUB_DIR)/slip.c + +.PHONY: all + +all: $(STUB) + +$(STUB): $(SRCS) $(COMMON_STUB_DIR)/wrap_stub.py + @echo " $(SRCS) -> $@" + docker run --rm -i -v '$(CURDIR)/../..:/src' $(SDK) /bin/bash -c \ + "cd /src/esp32c3/stub && \ + riscv32-esp-elf-gcc -std=c99 -Wall -Werror -Os -DESP32C3 \ + -nostdlib -fno-builtin \ + -DCONFIG_IDF_TARGET_ESP32C3 -DCONFIG_IDF_TARGET_ARCH_RISCV \ + -I/src/esp32c3/stub \ + -I/opt/Espressif/esp-idf/components/esp32c3/include \ + -I/opt/Espressif/esp-idf/components/esp_common/include \ + -I/opt/Espressif/esp-idf/components/esp_rom/include \ + -I/opt/Espressif/esp-idf/components/soc/include \ + -I/opt/Espressif/esp-idf/components/soc/esp32c3/include \ + -I/opt/Espressif/esp-idf/components/spi_flash/private_include \ + -I/opt/Espressif/esp-idf/components/riscv/include \ + -L/opt/Espressif/esp-idf \ + -ffunction-sections -Wl,-static -Wl,--gc-sections \ + -Tstub.ld -o /tmp/stub.elf $(SRCS) && \ + $(COMMON_STUB_DIR)/wrap_stub.py --output=$@ /tmp/stub.elf" diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/rom_functions.h mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/rom_functions.h --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/rom_functions.h 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/rom_functions.h 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1,9 @@ +#pragma once + +#include "soc/spi_mem_reg.h" + +#include "esp32c3/rom/ets_sys.h" +#include "esp32c3/rom/spi_flash.h" +#include "esp32c3/rom/md5_hash.h" +#include "esp32c3/rom/uart.h" +#include "esp32c3/rom/rtc.h" diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/sdkconfig.h mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/sdkconfig.h --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/sdkconfig.h 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/sdkconfig.h 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1 @@ +#define CONFIG_SPI_FLASH_ROM_DRIVER_PATCH 1 diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/spi_flash_rom_patch.c mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/spi_flash_rom_patch.c --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/spi_flash_rom_patch.c 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/spi_flash_rom_patch.c 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1,26 @@ +// Copyright 2015-2020 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#include "sdkconfig.h" +#include "esp32c3/rom/spi_flash.h" +#include "soc/spi_periph.h" +#include "spi_flash_defs.h" + +#define SPI_IDX 1 + +esp_rom_spiflash_result_t esp_rom_spiflash_write_disable(void) +{ + REG_WRITE(SPI_MEM_CMD_REG(SPI_IDX), SPI_MEM_FLASH_WRDI); + while (READ_PERI_REG(PERIPHS_SPI_FLASH_CMD) != 0); + return ESP_ROM_SPIFLASH_RESULT_OK; +} diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/stub.json mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/stub.json --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/stub.json 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/stub.json 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1 @@ +{"params_start": 1077665792, "code": "9967aa97c207dc4b4111416722c47d1713944700d183798cbd8b3e94b305b4021375f50f06c6b3d5c5029720c4ffe78060052285b240224441018280b7e7cc3f9387070011673e971457056693058600b386b602b697d44363fbc60013861600d0c3b6972384a7005c5785075cd782807971b707006022d456ca37e4cc3f83aa870026d24ece52ccb759cd3f130a0400916406d64ad05ac85ec693890903d294b707006003a9c7011379f90f630e0908814b372bcd3fb707006088438326040091471375f50f63e0d70293972600ce979c4382879307000c6317f50085472320f40023a60402850b93fbfb0fe31579fd45bf9307b00d6316f5008d472320f400ddb79305000c9c541307040013060b006311b506850791466387d7049cd41456856793858700b386b6023697ba97238407005c562322070095eb91472320f400b7070060d847d8c7b2502254b707006023a8570192540259f249624ad24a424bb24b4561828023a4040255bf232004009dbf0547639de600056793068700b387d702d297ba972384a700894785bf7d3599bf9307c00d6309f5009307d00de31ef5f81305b00d19a01305000c413df1bf35714ac97d73056922cd26cb4ec756c35ac1dede7d7406cf52c5930709071a91930984fa8a97be99aa8b4e85ae8a328b9720c4ffe780c042130709070a9733098700130484f981443a9463ed54030567930707077d74930584fa8a97130484f93e94930707078a97be9522859720c4ffe780803f2285c1459720c4ffe78080e70145a9a8338a9a4063734b015a8a5286ca85338574019720c4ffe78020ee0dedd2854a859720c4ffe780c0e491452285232c09f8012f9147631ff502032689f9e3f5c4f8058eca854e859720c4ffe7806039832489f995bf1305300505631a91fa406a44da444a49ba492a4a9a4a0a4bf65b0d61828013054005cdb74d712ace881023229114232a5113232611142324811423202115232e3113232c4113232861132326711323248113232291132320a113232eb111ae8a32c89720c4ffe780203272478567fd177d8f930420036312072ab3f7fa0093043003639c07289720c4ffe780a0e22a849304400363130528b7e4cc3f1166130606038145138504009720c4ffe780c001b769cc3f21668145138509009720c4ffe7808000b7e53b40138604009385850715459720c4ffe780202ab7070060d853130500023ac63707340013074706d8d3d84713671710d8c79720c4ffe780402813064002814568189720c4ffe780c0fb6146814548109720c4ffe780e0fa7c08e14548103ed47d2bf327207e0569138a0400bec6416b330d4901938b0400925763e357038c1088089720c4ffe7804024f327207e3647930540026818998fbec6814449234da2f32d207ec24789c79257ca97636df4047327207ea647b38db741ba9deec4f326207e09675297584b8327cd00b728cd3f138c0800ba970d675297584fba9703274a00ba9711675297832c470203a704003ed4914703268c0263129605e31cf7fe9304700335aab3878a40724563ef6701c167fd17e98f91ebc1659720c4ffe78040d7631d05105a94b5bf85659720c4ffe78020d6631d05144a94adb79147e301f7fc7327207ef257958fba973ede732e207e93078900b387fc0213838700de9783ad4700ca9783c787005e93858b9dc3ee8605471a86a1651385090072ca9720c4ffe780c0c2fd57aa8d6305f510524e138309007327207e86476e869a85b387c741ba978810bec01acc9720c4ffe78080117327207ef327207ea646b697998fbec4f326207e624372456e869a8536ca9720c4ffe78060c069e17327207e9647d246958fba97bec2930789003388fc0283274c02114785075e9823220800638ce7022322fc02f247925613068005ee97ee968c1028193ece36d29720c4ffe78080de2c1968109720c4ffe780000ae1454810f52691b523220c02f1b7930450033247b707006013050002d8d39720c4ffe78060068320c11403248114268503290114832441148329c113032a8113832a4113032b0113832bc112032c8112832c4112032d0112832dc11171618280930460037db79304000465b7930480034db7856763e3c70075be1305200582805171cecfd6cbdec786d7a2d5a6d3cad1d2cddac9e2c57d731a91aa8bae89b28a0dc6856713052006328b63f1c70205631a91be502e549e540e59fe496e4ade4a4e4bbe4b2e4c6d618280056b05697d749307090c930404f58a97be9426859720c4ffe78020fb1307090c130a84fa0a973a9a1307090c0a97330c8700130404f43a94639d090205679307070c7d74930504f58a97130404f43e949307070c8a97be9522859720c4ffe78040f72285c1459720c4ffe780409f014595bf52859720c4ffe78020f54e8963733b015a894a86e2855e859720c4ffe78080a501c513053006b1b74a86e28526859720c4ffe780a0f263850a024a86e28552859720c4ffe78080f1d28522859720c4ffe78000f1c14522859720c4ffe7800099ca9bb389294185b7011106ce02c6b73700603707001098c3984393163700e3cd06febc4f370700017d176800f98f91453ec69720c4ffe7806095f240014505618280797126d24ad09307500581743759cd3f22d406d62305f10037040060fd14130949041c50370702008545d98f1cd01c501305a100e58f1cd0cd2285476311f504fd57a305f1008347a1002547fd1793f7f70f6362f7028a07ca979c438287c1450808652ab1476316f5026246d2454245cd34a305a10085451305b100592a0345a10005479307a5ff93f7f70fe36bf7f88da093071004a305f100f1bfc1450808ad2ab1476317f5006246d2454245dd33c9b793071005c5b7c1450808b92ab1476317f5006246d2454245e13b5db793071006d1b7cd3d71bf9720c4ffe780608e49bf1305b1008545a30501001d220345a100b25022549254025945618280c1450808212aaa8508082922a3050100a5b7c1450808192291476318f500c247914568009c433ec6cdb7930710f9adb7c1450808e520a1476316f500c247524798c3e9b7930710fa81bfb7e73b40011193870700014506ce22cc26cac04384439710c4ffe780c07fc167fd171307001085664166b705000101459720c4ffe780a08502c611cc0965130505719710c4ffe78040762286a6850145eff0eff02ac63165130505359710c4ffe780a074914568008d20b9352a840965130505719710c4ffe780207399476306f4009710c4ffe7804076f2406244d244056182803765cc3f3726cd3f93070500130606031d8e4111098681451305050006c69720c4ffe780809fb757cd3f9387c7023e81b240410125bf1713c4ff67004373797122d44ece52cc06d626d24ad056ca5ac85ec662c42a8aae891304000c9710c4ffe780a06d2a89e31b85fe0144930a000c130bb00d930bc00d130cd00d631734039304000c9710c4ffe780206be31c95fe2285b250225492540259f249624ad24a424bb24b224c456182809710c4ffe780c068aa84e30e55fd631d65019710c4ffe780a067630675016305850101444dbfca84b3078a0023809700050445b7", "code_start": 1077665800, "entry": 1077668158, "data": "dce03b40fae03b40fae03b409ae13b4050e13b40c0e73b40fee73b401ae83b4036e83b403ae83b4044e83b4044e83b4060e83b4072e83b4090e83b40", "data_start": 1070420016, "num_params": 2, "code_size": 2580, "data_size": 60} \ No newline at end of file diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/stub.ld mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/stub.ld --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/stub.ld 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/stub.ld 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2016 Cesanta Software Limited + * All rights reserved + */ + +/* See Table 3-­2. Internal Memory Address Mapping in technical manual + * Refer to esp32c3 bootloader.ld for memory reserved for bootloader stages + * Segments are placed before bootloader segments + */ +MEMORY { + iram : org = 0x403BE000, len = 0x10000 + dram_bss : org = 0x3FCB6000, len = 0x10000 + dram : org = 0x3FCC6000, len = 0x10000 +} + +ENTRY(stub_main) + +SECTIONS { + .params 0x403BE000 : { + _params_start = ABSOLUTE(.); + *(.params) + _params_end = ABSOLUTE(.); + } > iram + + .text : ALIGN(4) { + _code_start = ABSOLUTE(.); + *(.literal) + *(.text .text.*) + } > iram + + .bss : ALIGN(4) { + _bss_start = ABSOLUTE(.); + *(.bss) + _bss_end = ABSOLUTE(.); + } > dram + + .data : ALIGN(4) { + _data_start = ABSOLUTE(.); + *(.data) + *(.rodata .rodata.*) + } > dram +} + +INCLUDE "components/esp_rom/esp32c3/ld/esp32c3.rom.ld" + +PROVIDE ( memcpy = 0x40000358 ); +PROVIDE ( memset = 0x40000354 ); +PROVIDE ( MD5Init = 0x40000614 ); +PROVIDE ( MD5Update = 0x40000618 ); +PROVIDE ( MD5Final = 0x4000061c ); +PROVIDE ( ets_isr_mask = 0x40000608 ); +PROVIDE ( ets_isr_unmask = 0x4000060c ); +PROVIDE ( esp_rom_spiflash_erase_area = 0x400001e4 ); diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/uart.c mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/uart.c --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/uart.c 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/uart.c 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2014-2018 Cesanta Software Limited + * All rights reserved + * + * Licensed under the Apache License, Version 2.0 (the ""License""); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an ""AS IS"" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "uart.h" + +#include "rom_functions.h" + +uint32_t set_baud_rate(uint32_t uart_no, uint32_t old_baud_rate, + uint32_t new_baud_rate) { + uint32_t uart_reg = REG_READ(UART_CLKDIV_REG(uart_no)); + uint32_t uart_div = uart_reg & UART_CLKDIV_M; + uint32_t fraction = (uart_reg >> UART_CLKDIV_FRAG_S) & UART_CLKDIV_FRAG_V; + uart_div = (uart_div << 4) + fraction; + uint32_t master_freq = uart_div * old_baud_rate; + uart_div_modify(uart_no, master_freq / new_baud_rate); + return uart_div; +} diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/uart.h mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/uart.h --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp32c3/stub/uart.h 1970-01-01 00:00:00.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp32c3/stub/uart.h 2021-12-15 00:11:11.000000000 +0000 @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2014-2018 Cesanta Software Limited + * All rights reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +uint32_t set_baud_rate(uint32_t uart_no, uint32_t old_baud_rate, + uint32_t new_baud_rate); diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp8266/bindata.go mos-latest-202111281334+0278853~hirsute0/cli/flash/esp8266/bindata.go --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp8266/bindata.go 2021-10-29 08:57:51.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp8266/bindata.go 2021-12-15 00:11:11.000000000 +0000 @@ -53,7 +53,7 @@ return nil } -var _stubStubJson = []byte(`{"params_start": 1074790400, "code": "b0150000a073ff3fdf7befbd841042080080000020290000e00d00003b70ff3ff076ff3f801b00000478ff3fa00d000000080000600900000000ffff500e000050120000242900003070ff3f3f70ff3f232900007476ff3ff875ff3f800b00007875ff3ff874ff3f0100000000000000f1ff000048df004090e1004068e2004092a1209011c0e26144ed022804a221482a232261252807bd030c432a8630aa10826128a2612d7cf8a22148026147c26146d26145f2614342613052612b72613182612a9d06378a0b5036c080228020238022612a82212a0c021b68878625a2212ba7391f888ea8ae82612688fe280ea261248261273c53c81ef8ee589e27b31346f60300a22131822130290a29087cd74651040031bcffe042114a333803a003000c03a22148393e392e0c13397e394e30ca1007ea296d09dd0bfd0cc261245d0cc26126863600008221480c128071047cc37032937d03290e6d098d0b86e003fd022261245d02226126cd02a22125a7bbd5220b001b8b292e460600a221480c22207a100c147cc37034937d03290e6d0986d3038d0ba22125a7b8df282e5208004199ff8032115a334033827198ff593e1bd80c143737102c0330751037850820303432c3f830478382212d5d04dce82024418b2252a001718eff0012400035a13737080002406020912058935054206d098ce5460000dd0b2c42290e6d09463e030000f63c39c60500a221480c13a071047cc27023937d020c32c613006d09dd0b2d0da221258d02a7b2dd3208001b22001c400033a18bccdd0230ff20b63ce2f02024295e202141296ef0f341c2ccfd56f21ec02024273c1f860f00a221480c13a071047cc27023937d020c52290ec69b030000006d09dd0b2d0da221258d02a7b2d83208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100c05168c06b68c1bc60d00a221480c13a071047cc27023937d020c6206e9ff006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bccdd0230ff20b68ce23149ff5a2e3a22f24200c2ccf8f0f841060b008221480c138071047cc27023937d020c724664036d09dd0ba22125a7bde1413dff320d005a2e4a223242001bdd1b55f6450286ddff22de293212115212107cf23022302020f4271573c600006d09dd0b2c7206e902b68c1d460e0000a221480c13a071047cc27023937d023c3246bfff906920b0db202d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f08074826126f0f841c2ccf80602003c4206e0026d09dd0ba22128a7b6f08221260b558246001b66cc1546f90256fcf8461d000c9206d7026d09dd0ba22128a7361c46fbff00008221480c138071047cc27023937d022c62462d036d09dd0ba22125a7bde1822128d07ac06028c077b2017d0277b5017d054d073d0d2d0652613862613972613692613ab261370114ffc00000722136622139522138b2213792213a7add7a667055c056f5f8c6d80266320d46010000006d09dd0b0ca206a90226120286200022a12029be21eefe2c0449ce0c532a2e52613862613992613ab261370100ffc0000032a0d0b2213792213a62213952213822ce403a3e42a0084242001b222793f722a0d032a1402a2e3a3e0c944242001b222793f722a14032a1582a2e3a3e0c744242001b222793f722a15832a1602a2e3a3e0c844242001b222793f78662010000000c0521cffe5a22220200273c1d461000a221480c13a071047cc27023937d020cb2c65aff0000006d09dd0b31c4fe2d0d5a33a221258d02a7b2d54208001b22001c400044a140ff204203008bccdd02473cdf21bbfe41bbfe5a223202000c120013400022a1e075110b227a44f022104804000340f0f09130ccc08b35e033113a3e2a2429331b55f6350206ddff21aefe42a1200c032a2e62613992613ab2613701befec0000062213992213ab221370c05c617000000b63c1e860e000000a221480c13a071047cc27023937d020ce2462fff00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b63ce22194fe4193fe5a22220200f030242a2e4a22c2ccfd324200f0f3411b5528de27359c1c3229dec61901004c040c0322c14452613862613992613ab261370199fec000002185fea221294184fe208a8222a1602028800c03202e808261350191fec00000822135217efe42a4802a280c032a2e018cfec00000286e8221352261338b22e022118a8e2a2e0c04783252213862213992213ab2213782612e82612f3d0842612c0606000022033f82212ce022112a214222111b881b4442621182612ca2212c1b33a797df0c0229112901a2c1448d014d020c17381a1b772a23f0221129283a444baa4b8866b7eb315efe3a22164210f62406863f006d09dd0b2c32c69800000022212f42024042612916a40de024112a21880242613c1ba8a90282613d0c02a2213df02211a0a00482213c22613b202a20a2213d0b88a0a14182613ca2613d56c8fd0ca84738347084117088200088118080310c1a826129001440004aa1460400000082212ef0a211aaa88221294a22825ab0a2a3ff27bae9861a004221322080944a88f088118a8e4298b0cc743258b030432032c3fe202941460800a22132aa84f088118a8e82d809429830cc643258304d0332c3fe8221290b888261292021412080048044c07cfa822129404a300cbaa798c722213282a4b04a428a44f044114a4e725400a2212f1b771baaa2612fc6030082212922a6d02028820c077cf3226132a2212c771a0286bcff222133262202069c000684000ce2c7b202463000822125d028c0a62202862500310dfef020943a22f022112a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a103fe7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021c02460c026d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320246dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc1031e0fdf020943a22f022112a2e32120000331130403196b30030393140408486090000000081d7fd0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe4261260cf2000340f0f09130ccc047220e31cbfd5a2e3a224242001b55c63700a2212666ba18dc551c08826126c600006d09dd0b1c12290e7cf746d901000021c1fd4a4242c4f0420400426124473c20c60f00a221480c14a071047cc37034937d031c23390edd02c6cd0100006d09dd0b2d0d8221253d0287b2d7320300a22124001c400033a11b228bccdd0230ff20a73cdf82212431acfda221260c170018400077a1aa330b7732c3f0f02710720300000840f0f0912a7721a1fd80ccc02a2e5a220c0366ba0a41a0fd5a3e4033803203004d0752613862613972613692613ab2613701a3fdc0000052213872213662213992213ab221377a554600000c0548be28ce2a2427b5020678ff579207460200006d09dd0b1c5246c6ff7188fd22ce407a7e3d0752613862613992613ab26137726136018efdc0000038be7221362174fd48ce3a372a2e0189fdc00000b2213792213a622139522138286e0b22296e886e82612996d81446e3fe322125d023c0a6420e4221286024c0a62202464f0086f101c7b802062f00a62202462500f0209432a0b03a22f022112a2e22120000221120403196f200202931163205273c02462400861200000ca3c7b3447cf8a2a4b07d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb060600008221480c138071047cc27023937d021c724668016d09dd0ba22125a7bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320206dbff060800220d0132cc080013400022a1320d00d2cd02001c400033a130222020ff20c2cc1032a0b0f020943a22f022112a2e321200003311305031968300303931505084c608000ca37cf742a4b0000340f020912020045057305a524a55f055115a5e5295001b339625fe22a0ff000340f0f09130ccc057a202c64600460200001c8206df006d09dd0b82212887b6f05246001b660ce8a2a10006abffc73819220d01320d00802211302220001c400022a120ff202bddc2cc10f0209432a0b03a22f022112a2e22120000221120703196720020293146090000000ca2000240f030917cf47074303030047a3342a4b04a33f033113a3e7293001b2296d7fd5d07000240f0f09120ccc0a70702062200c73819220d01320d00802211302220001c400022a120ff202bddc2cc1032a0b0f020943a22f022112a2e321200003311304031968300303931060b000000000ca3000340f020912020042261297cf24042302221291b334a4222a4b02a44f044114a4e4294009674fd724600000340f0f09130ccc0a704081b665d0446020000004246012b66066cff50508466f50286b70022aeff2a5521e1fce055115a22280222612421dffc8221245a52580516f805873c1e460f000000a221480c13a071047cc27023937d021c92465afd00006d09dd0b2d0da221258d02a7b2db320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a10b22f02210a0ccc0000a40f0f0912055800ce2c7b202c62f00822125d028c0a62202062500f02094f0221122d20f2a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a1b5fc7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021ca246b7006d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c73202c6dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc10f02094f0221122d20f2a2e32120000331130403196930030393140408406090000818afc0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe000340f0f09130ccc03180fce044114a333803326124317efca221244a434804426126161a06a73c1b860e00a221480c13a071047cc27023937d021cb206f6fc006d09dd0b2d0da221258d02a7b2dc320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a18221260b22f022102a88000a40f0f091a0ccc0826126a2212b82212da0a6c0a261279c48822126873a060603006d09dd0b2c52290e8d0dc67700a221278221263d06802ac0a2212a82212ba022102a2827b6013d02a221285a33373a3c461100003c52290e8d0d0c27c66b006d09dd0b82212887b6eaa22127822126802ac0a2212a82212ba022102a28a221272202001baa224600a261271b662d057cf51632c55a5246f2ff3202004d0532460032020152c5fd3246013202023b223246023d063b66e635dfe61502060aff7202007246006625052202012246014a630605ff00285e07e202c694fcc02024273c1b860e00a221480c13a071047cc27023937d022c0206a8fc006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100601000bddc2ccf8d7bb02f68cf42116fc3116fcc04c2052613862613992613ab2613785dd0082214822c2ff52213862213992213ab22137f0f21007e80286230052a000167c06b68c1d460e0000a221480c13a071047cc27023937d022c924682fc00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f03074c2ccf8f0f8418609008221480c138071047cc27023937d022ca2290e8d0d460d006d09dd0ba22125a7bddd320d001bdd284e1b55802211302220294ef64506c6ddff6d09dd0b2c22290e8d0d0c074601006d098d0b7cf72617114b27cc628602000b88c2ccf887bb02f68cf421dcfb31dcfbc91ec04c2052613862613972613682613592613ab2613785ce00a22126522138a98ea22124822135a9aea22127b221370b22a9fef0f210a2213062213992213af9ee599eb088c0890a82213190d6c0a22148d9080c92722136278a02c63e0096870f31a8fbf87e2d0d92613a01c4fbc00000f0c0f472213692213af0f0f55d027c880c06462800320900ca433209014a333a44faf44209023a344209033aff3a344209043aff3a344209053aff3a344209063aff3a344209073aff3ac4caff8b992799c28025103d02c60300000020a3c0aaa9a20a001b33aacccaff5733ee3d062735022035c03a9931a2fb2d0c52613862613972613682613592613a01a0fbc00000319bfb20c220f02f20019cfbc0000052213892213a50ddc08221355179fb722136622139fd028c9d502341d022112a2986e2ff00ff11ca4f497edca7822148076815f84e7ce2f044c0407293060200c738020635fe863cfe02214792a120c22146d22145e22144f221432d079a110df0000000f42a0000102b000091ffff12c1f0c92109319011c072c110c2d72a326c3c3d040c0449417c944066100c44526c3d40662041f3ff69015d026d0222c11072d12b4a4285dcfe7cf3cc12322c3c91eeff2d039a110831c82112c1100df014000060ffff0f001ce20040d839004012c1f0d911dd02c0221151f9ffd022c08022115a22c921c02000c80221f6ff02610320cc10302c8240342001f3ffc000003d02d0207401f1ffc0000008312d0cd811c82112c1100df00000000000ff3fff0f000031feff52d34068a57046116a44d044114a33481361faff47360e1b6469134a3322430828b51b2229b50df0000800006000000060081000000c0000601c0000601000006021faff12c1d0c020002802c9a1c1e9fff97109b1d991e9812901f2dc40c6380000000c0e21f2ff580cc020002802204074663502462300f6450a9c2562a0db679425460700664502863100862a00000022a0c0271402c627000c12290c59bf862500000c3286230072a0c068af7794301b262636024600000c0229af48af51dcff7024114a22d022112a2c0c0449125a2242420028bf479202060d00490cc615006615147026116a2251d1ffd022112a2c5a22424200c60e00202074c5efff860d0000000022a0dc27141922a0dd27141a0c42290c21c7ffc020003802c020003902060b0022a0c0c600000022a0db10112085ecff0c22290c1b3e30e074e71d02c6c7ff21bdffc02000d802d0d07456fdf0380121baff08b1c8a1d891e881f871c02000390212c1300df0005810000070100000741000007810000080100000189800401c4b0040803c0040349800400099004091faff12c1e051f5ffc961d951e941f93109719011c01a55c2d11029052d0cdd03ed0401f2ffc0000021ebff31edff2a411a330c0f4903861f000000f06dc067be016d0e51e6ff4d061a5558053d015a2f51e4ff1a55690501e6ffc000004d0221e1ff1a22680256340451deff3d061a5549052d0101dfffc0000021daff0c431a224802426c1641d6ff1a44280405820066421f422c1647bf1ef044c03d01c02c2001d5ffc00000f22c168602005c32c60900005c42460800d7bf0206dfff21c6ff3d0c1a2201cdffc0000021c3ff1c031a2201c8ffc000000c0291c3ff9a110871c861d851e841f83112c1200df00014c7ff3f04020060000200603c44004012c1f0d911dd0221faffc9212802cd03093101faffc0000021f7ff41f7ffc02000d902c02000c904c020003804c02310c783f40831c821d81112c1100df000000080fe3f30400000801310402400006064000094ffff000000000100000080000000000178480040880f0040a80f00404c4a0040980f004092a1409011c022613c22c158c2614e02614fd2614de2614cf2614b32613d4261400194ffc0000022213c3c2c2020b456922a32213d3c3c3020b456e22901ebffc00000dd023c4c561229e127ff41dfff3d022d0e0178fac00000415cfa21daff3d0d0174fac0000031daff4d0e0c5201e0ffc0000021d7ff31d8ffc020004802c2a0d442613fc0200039023127ff42a101c020002803cac1402220c0200029032c0201d4ffc0000022a0b03d0d2c442a210160fac000001c843d0d2d0c015dfac0000022a0f02a21291c1c832d0c05650020ea032261308b2c226141466d0000f0ea03060d0042213d22213cd034c041bbff37b4162030f456030131baff85e8ff56321721b7ff2add86030031b7ff10112045e7ff564216d2dd102221408c62280c22d210273dbd30ea0322212ff0f2c03afff2612f40ea0332de103833281ef2de403a2232de203853989f3a2232de3038733a22380e291cc0200028af9792076643f4864600000066430286440030ea0322212c4022c030228022612ca0ea03703911902380d0221132613e31e5fe72c2082a2e58123a222202007a7e076223310afa2189ff0c164d07926144a2614245a8ff922144a221425d026602024631007181ff30ea0322212d4d05a0a2c03aaa22c1583d07a2612d5261437261429261440127ffc0000030ea0320ea0342212f4a223022c022612f60ea0352214372214222213c4d05703720626142017affc0000052214362214292214456c20640ea0332212e6033c04a3342213e32612e9a94d09911389f9a9e29191b43263304499f460000299f22213c5c845a2222613c280c4a315a522d01590c01f5f9c000002221413d010107ffc000001c832d0cc54a00460700003c5cc612003c6c8611003c7c461000004c0cc60e003c8c860d00000000280c32213d37b202c68fff42a0b01a4432c15822c41401f6fec0000020ea033221300c0c3022c022613022a0b02c431a228545002142ff32213fc0200039022c020149ffc0000002214f92a1402d0cd2214dc2214ee2214cf2214b9a110df00010000012c1f061feff09315d025c224736042d05c5b7ff083112c1100df000b0100000c0100000d010000012c1e091feffc961e941f9310971d951cd039011c031effffd02ed049c1422a06247b302062d0021f4ff1a22490286010021f1ff1a223902d1c2fedad12d0d01c5fec00000461c0022d11001c2fec0000021e9ffdd0c1a222802c7b20621e6ff1a22d8024d0d3d012d0f01bbfec000008c5222a063c618000021b1fe4d0d10312010228001b7fec00000ac7e4d0d3d0122d11001b3fec0000021d6ff32d11010228001b0fec0000021d3ff1c031a2201abfec00000daffd0ccc056acf831a0fe21cdff3a311a2201a7fec0000021c9ff1c031a2201a2fec000002d0c91c8ff9a110871c861d851e841f83112c1200df00000001040020060ffffff0012c1e00c02290141d7fe21faff026107c961c02000226400c02000380420c3102783f421f5ff31f5ffc02000280230221029010c432d01018afec0000008712d0cc86112c1200df02000006000000200fffffdff1880ff3f8449004012c1d0c9a15c52c1f9ff02610b224115c02000280c31f6ff302220c02000290cc02000280c31f3ff302210c02000290c0c1322c1158528002612024643007cf22241142201150c930b2220207427b302c63b0031e9ffe022112a232802a0020000000032a01010212045250066a20c48213811280105b1ff063100004c12862f00000032a01010212045230066a20c48213811280185deff062900005c12862700000032a01010212045210066a20b48213811280105dfff06210022a061861f000005eeffc61d0000000001ccffc00000c61a000c022241140c1322c114851c00220115c61c0000000032a010102120c51c002032202d0146060032a010102120c51b006642143801c02000380339413d0222c1100519000607000022af9146070032a01010212045190066820e2221003811c0200039020c0286000022afa122411432a00122c114c5150022011532c2fa303074b6230206adff02210bc2210a12c1300df00000000010401400f03f1027000050c3000000110040a8100040bc0f0040583f0040444600402c4c0040cc2e00404c26004021f4ff12c1e03802d951d8120c0209713911c96101f5ffc0000001f4ffc0000001f4ffc0000031ebff0c14c0200028037167fe402220c020002903512aff4164fe3165fe62a1000c020c0c01eaffc00000c26100c71d1421e0ff01e7ffc0000038114d0d2d0c4562ff22610021dcff01e2ffc0000032a00410212045090085deff20c22021d5ff01dcffc00000666c23460100004b2206010031d1ff4b21c0200048023794ed31cfffc0200039023df08601000001d2ffc000000871c861d85112c1200df00000003040ff3f0080fe3f2c70ff3f3040ff3f21fdff41fbff12c1f02044c040422132a00002610301cdf8c0000011f7ff85f0ff31f5ff22a0ff226300083131f4ff12c11029030df0000012c1f002610301d5fdc00000083112c1100df000643b004012c1d0d991e981f97109b1c9a1ed02dd03f2a0c001faffc00000cd02f792f40c0f860d0001f6ffc000004d0222a0c027143e22a0db27941b490101f0ffc0000052a0dc480157120952a0dd571205460400004d0cfa2e4242001bffd79fc5c6000000000c0fc2a0c001e5ffc00000c792f608b12d0fc8a1d891e881f87112c1300df00000001440e6c4092033810022a10df000000032a10c020df000", "code_start": 1074790408, "entry": 1074797876, "data": "0203070031302e302e32000505040003030b00756e6b6e6f776e206572726f72006e6f206572726f7200756e646566696e6564206572726f7200746f6f206d616e792066696c65730066696c6520746f6f206c6172676500756e737570706f72746564206d6574686f6400756e737570706f7274656420656e6372797074696f6e00756e737570706f727465642066656174757265006661696c65642066696e64696e672063656e7472616c206469726563746f7279006e6f742061205a4950206172636869766500696e76616c696420686561646572206f72206172636869766520697320636f7272757074656400756e737570706f72746564206d756c74696469736b2061726368697665006465636f6d7072657373696f6e206661696c6564206f72206172636869766520697320636f7272757074656400636f6d7072657373696f6e206661696c656400756e6578706563746564206465636f6d707265737365642073697a65004352432d333220636865636b206661696c656400756e737570706f727465642063656e7472616c206469726563746f72792073697a6500616c6c6f636174696f6e206661696c65640066696c65206f70656e206661696c65640066696c6520637265617465206661696c65640066696c65207772697465206661696c65640066696c652072656164206661696c65640066696c6520636c6f7365206661696c65640066696c65207365656b206661696c65640066696c652073746174206661696c656400696e76616c696420706172616d6574657200696e76616c69642066696c656e616d650062756666657220746f6f20736d616c6c00696e7465726e616c206572726f720066696c65206e6f7420666f756e64006172636869766520697320746f6f206c617267650076616c69646174696f6e206661696c65640077726974652063616c6c65646261636b206661696c65640073747265616d20656e64006e6565642064696374696f6e6172790066696c65206572726f720073747265616d206572726f720064617461206572726f72006f7574206f66206d656d6f727900627566206572726f720076657273696f6e206572726f7200706172616d65746572206572726f7200000000000000000049454e44ae4260820089504e470d0a1a0a0000000d4948445200000000000000000800000000000000000000000049444154000029011040740110409c01104026021040e51010407e021040d20210401c031040e5101040d5031040540410400d051040e5101040e5101040ba051040e51010407c0810403d0910407a091040e5101040e5101040200a1040e51010400c0b1040b50b10400e0d1040d00d10409e0e1040e5101040e5101040e5101040e5101040d60f1040e5101040d6101040d6061040ff011040fc0e1040f803104054031040e51010406e101040b5101040e5101040e5101040e5101040e5101040e5101040e5101040e5101040e510104078031040b10310403b0f10405170ff3f5a70ff3f6a70ff3f7970ff3f8870ff3f9b70ff3fb270ff3fc670ff3fe770ff3ff970ff3f2071ff3f3e71ff3f6b71ff3f7e71ff3f9b71ff3faf71ff3fd271ff3fe471ff3ff571ff3f0872ff3f1a72ff3f2b72ff3f3d72ff3f4e72ff3f5f72ff3f7172ff3f8272ff3f9372ff3fa272ff3fb172ff3fc672ff3fd872ff3f010000000200000003000000040000000500000007000000090000000d00000011000000190000002100000031000000410000006100000081000000c100000001010000810100000102000001030000010400000106000001080000010c00000110000001180000012000000130000001400000016000000000000000000000000000000000000000000000000000000100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000a0000000a0000000b0000000b0000000c0000000c0000000d0000000d0000000000000000000000030000000400000005000000060000000700000008000000090000000a0000000b0000000d0000000f0000001100000013000000170000001b0000001f000000230000002b000000330000003b0000004300000053000000630000007300000083000000a3000000c3000000e3000000020100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000100000001000000020000000200000002000000020000000300000003000000030000000300000004000000040000000400000004000000050000000500000005000000050000000000000000000000000000000101000001000000040000000000040206000000000000003e70ff3f01000000f072ff3f02000000fb72ff3fffffffff0b73ff3ffeffffff1673ff3ffdffffff2373ff3ffcffffff2e73ff3ffbffffff3c73ff3ffaffffff4673ff3ff0d8ffff5473ff3f000000006410b71dc8206e3bac30d9269041dc76f4516b6b5861b24d3c7105502083b8ed44930ff0e8a3d6d68cb361cbb0c2649bd4d2d38678e20aa01cf2bdbd00000000010000000600000020000000100000002000000080000000000100000002000000030000dc050000000000000100000003000000070000000f0000001f0000003f0000007f000000ff000000ff010000ff030000ff070000ff0f0000ff1f0000ff3f0000ff7f0000ffff000010111200080709060a050b040c030d020e010f00000808090909090a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d00001213141415151616161617171717181818181818181819191919191919191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d000000000101010102020202020202020303030303030303030303030303030304040404040404040404040404040404040404040404040404040404040404040505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050506060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070700010203040405050606060607070707080808080808080809090909090909090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000001010101010101010202020202020202020202020202020203030303030303030303030303030303030303030303030303030303030303030404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040405050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505000001010201030104010501060107010801090109010a010a010b010b010c010c010d010d010d010d010e010e010e010e010f010f010f010f011001100110011001110111011101110111011101110111011201120112011201120112011201120113011301130113011301130113011301140114011401140114011401140114011501150115011501150115011501150115011501150115011501150115011501160116011601160116011601160116011601160116011601160116011601160117011701170117011701170117011701170117011701170117011701170117011801180118011801180118011801180118011801180118011801180118011801190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011d01271b1040471b1040671b1040861b10408f1b1040981b1040981b1040ae1b1040bf1b1040e61b1040", "data_start": 1073705008, "num_params": 2, "code_size": 7704, "data_size": 4112}`) +var _stubStubJson = []byte(`{"params_start": 1074790400, "code": "b0150000a073ff3fdf7befbd841042080080000020290000e00d00003b70ff3ff076ff3f801b00000478ff3fa00d000000080000600900000000ffff500e000050120000242900003070ff3f3f70ff3f232900007476ff3ff875ff3f800b00007875ff3ff874ff3f0100000000000000f1ff000048df004090e1004068e2004092a1209011c0e26144ed022804a221482a232261252807bd030c432a8630aa10826128a2612d7cf8a22148026147c26146d26145f2614342613052612b72613182612a9d06378a0b5036c080228020238022612a82212a0c021b68878625a2212ba7391f888ea8ae82612688fe280ea261248261273c53c81ef8ee589e27b31346f60300a22131822130290a29087cd74651040031bcffe042114a333803a003000c03a22148393e392e0c13397e394e30ca1007ea296d09dd0bfd0cc261245d0cc26126863600008221480c128071047cc37032937d03290e6d098d0b86e003fd022261245d02226126cd02a22125a7bbd5220b001b8b292e460600a221480c22207a100c147cc37034937d03290e6d0986d3038d0ba22125a7b8df282e5208004199ff8032115a334033827198ff593e1bd80c143737102c0330751037850820303432c3f830478382212d5d04dce82024418b2252a001718eff0012400035a13737080002406020912058935054206d098ce5460000dd0b2c42290e6d09463e030000f63c39c60500a221480c13a071047cc27023937d020c32c613006d09dd0b2d0da221258d02a7b2dd3208001b22001c400033a18bccdd0230ff20b63ce2f02024295e202141296ef0f341c2ccfd56f21ec02024273c1f860f00a221480c13a071047cc27023937d020c52290ec69b030000006d09dd0b2d0da221258d02a7b2d83208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100c05168c06b68c1bc60d00a221480c13a071047cc27023937d020c6206e9ff006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bccdd0230ff20b68ce23149ff5a2e3a22f24200c2ccf8f0f841060b008221480c138071047cc27023937d020c724664036d09dd0ba22125a7bde1413dff320d005a2e4a223242001bdd1b55f6450286ddff22de293212115212107cf23022302020f4271573c600006d09dd0b2c7206e902b68c1d460e0000a221480c13a071047cc27023937d023c3246bfff906920b0db202d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f08074826126f0f841c2ccf80602003c4206e0026d09dd0ba22128a7b6f08221260b558246001b66cc1546f90256fcf8461d000c9206d7026d09dd0ba22128a7361c46fbff00008221480c138071047cc27023937d022c62462d036d09dd0ba22125a7bde1822128d07ac06028c077b2017d0277b5017d054d073d0d2d0652613862613972613692613ab261370114ffc00000722136622139522138b2213792213a7add7a667055c056f5f8c6d80266320d46010000006d09dd0b0ca206a90226120286200022a12029be21eefe2c0449ce0c532a2e52613862613992613ab261370100ffc0000032a0d0b2213792213a62213952213822ce403a3e42a0084242001b222793f722a0d032a1402a2e3a3e0c944242001b222793f722a14032a1582a2e3a3e0c744242001b222793f722a15832a1602a2e3a3e0c844242001b222793f78662010000000c0521cffe5a22220200273c1d461000a221480c13a071047cc27023937d020cb2c65aff0000006d09dd0b31c4fe2d0d5a33a221258d02a7b2d54208001b22001c400044a140ff204203008bccdd02473cdf21bbfe41bbfe5a223202000c120013400022a1e075110b227a44f022104804000340f0f09130ccc08b35e033113a3e2a2429331b55f6350206ddff21aefe42a1200c032a2e62613992613ab2613701befec0000062213992213ab221370c05c617000000b63c1e860e000000a221480c13a071047cc27023937d020ce2462fff00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b63ce22194fe4193fe5a22220200f030242a2e4a22c2ccfd324200f0f3411b5528de27359c1c3229dec61901004c040c0322c14452613862613992613ab261370199fec000002185fea221294184fe208a8222a1602028800c03202e808261350191fec00000822135217efe42a4802a280c032a2e018cfec00000286e8221352261338b22e022118a8e2a2e0c04783252213862213992213ab2213782612e82612f3d0842612c0606000022033f82212ce022112a214222111b881b4442621182612ca2212c1b33a797df0c0229112901a2c1448d014d020c17381a1b772a23f0221129283a444baa4b8866b7eb315efe3a22164210f62406863f006d09dd0b2c32c69800000022212f42024042612916a40de024112a21880242613c1ba8a90282613d0c02a2213df02211a0a00482213c22613b202a20a2213d0b88a0a14182613ca2613d56c8fd0ca84738347084117088200088118080310c1a826129001440004aa1460400000082212ef0a211aaa88221294a22825ab0a2a3ff27bae9861a004221322080944a88f088118a8e4298b0cc743258b030432032c3fe202941460800a22132aa84f088118a8e82d809429830cc643258304d0332c3fe8221290b888261292021412080048044c07cfa822129404a300cbaa798c722213282a4b04a428a44f044114a4e725400a2212f1b771baaa2612fc6030082212922a6d02028820c077cf3226132a2212c771a0286bcff222133262202069c000684000ce2c7b202463000822125d028c0a62202862500310dfef020943a22f022112a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a103fe7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021c02460c026d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320246dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc1031e0fdf020943a22f022112a2e32120000331130403196b30030393140408486090000000081d7fd0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe4261260cf2000340f0f09130ccc047220e31cbfd5a2e3a224242001b55c63700a2212666ba18dc551c08826126c600006d09dd0b1c12290e7cf746d901000021c1fd4a4242c4f0420400426124473c20c60f00a221480c14a071047cc37034937d031c23390edd02c6cd0100006d09dd0b2d0d8221253d0287b2d7320300a22124001c400033a11b228bccdd0230ff20a73cdf82212431acfda221260c170018400077a1aa330b7732c3f0f02710720300000840f0f0912a7721a1fd80ccc02a2e5a220c0366ba0a41a0fd5a3e4033803203004d0752613862613972613692613ab2613701a3fdc0000052213872213662213992213ab221377a554600000c0548be28ce2a2427b5020678ff579207460200006d09dd0b1c5246c6ff7188fd22ce407a7e3d0752613862613992613ab26137726136018efdc0000038be7221362174fd48ce3a372a2e0189fdc00000b2213792213a622139522138286e0b22296e886e82612996d81446e3fe322125d023c0a6420e4221286024c0a62202464f0086f101c7b802062f00a62202462500f0209432a0b03a22f022112a2e22120000221120403196f200202931163205273c02462400861200000ca3c7b3447cf8a2a4b07d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb060600008221480c138071047cc27023937d021c724668016d09dd0ba22125a7bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320206dbff060800220d0132cc080013400022a1320d00d2cd02001c400033a130222020ff20c2cc1032a0b0f020943a22f022112a2e321200003311305031968300303931505084c608000ca37cf742a4b0000340f020912020045057305a524a55f055115a5e5295001b339625fe22a0ff000340f0f09130ccc057a202c64600460200001c8206df006d09dd0b82212887b6f05246001b660ce8a2a10006abffc73819220d01320d00802211302220001c400022a120ff202bddc2cc10f0209432a0b03a22f022112a2e22120000221120703196720020293146090000000ca2000240f030917cf47074303030047a3342a4b04a33f033113a3e7293001b2296d7fd5d07000240f0f09120ccc0a70702062200c73819220d01320d00802211302220001c400022a120ff202bddc2cc1032a0b0f020943a22f022112a2e321200003311304031968300303931060b000000000ca3000340f020912020042261297cf24042302221291b334a4222a4b02a44f044114a4e4294009674fd724600000340f0f09130ccc0a704081b665d0446020000004246012b66066cff50508466f50286b70022aeff2a5521e1fce055115a22280222612421dffc8221245a52580516f805873c1e460f000000a221480c13a071047cc27023937d021c92465afd00006d09dd0b2d0da221258d02a7b2db320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a10b22f02210a0ccc0000a40f0f0912055800ce2c7b202c62f00822125d028c0a62202062500f02094f0221122d20f2a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a1b5fc7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021ca246b7006d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c73202c6dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc10f02094f0221122d20f2a2e32120000331130403196930030393140408406090000818afc0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe000340f0f09130ccc03180fce044114a333803326124317efca221244a434804426126161a06a73c1b860e00a221480c13a071047cc27023937d021cb206f6fc006d09dd0b2d0da221258d02a7b2dc320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a18221260b22f022102a88000a40f0f091a0ccc0826126a2212b82212da0a6c0a261279c48822126873a060603006d09dd0b2c52290e8d0dc67700a221278221263d06802ac0a2212a82212ba022102a2827b6013d02a221285a33373a3c461100003c52290e8d0d0c27c66b006d09dd0b82212887b6eaa22127822126802ac0a2212a82212ba022102a28a221272202001baa224600a261271b662d057cf51632c55a5246f2ff3202004d0532460032020152c5fd3246013202023b223246023d063b66e635dfe61502060aff7202007246006625052202012246014a630605ff00285e07e202c694fcc02024273c1b860e00a221480c13a071047cc27023937d022c0206a8fc006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100601000bddc2ccf8d7bb02f68cf42116fc3116fcc04c2052613862613992613ab2613785dc0082214822c2ff52213862213992213ab22137f0f21007e80286230052a000167c06b68c1d460e0000a221480c13a071047cc27023937d022c924682fc00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f03074c2ccf8f0f8418609008221480c138071047cc27023937d022ca2290e8d0d460d006d09dd0ba22125a7bddd320d001bdd284e1b55802211302220294ef64506c6ddff6d09dd0b2c22290e8d0d0c074601006d098d0b7cf72617114b27cc628602000b88c2ccf887bb02f68cf421dcfb31dcfbc91ec04c2052613862613972613682613592613ab2613785cd00a22126522138a98ea22124822135a9aea22127b221370b22a9fef0f210a2213062213992213af9ee599eb088c0890a82213190d6c0a22148d9080c92722136278a02c63e0096870f31a8fbf87e2d0d92613a01c4fbc00000f0c0f472213692213af0f0f55d027c880c06462800320900ca433209014a333a44faf44209023a344209033aff3a344209043aff3a344209053aff3a344209063aff3a344209073aff3ac4caff8b992799c28025103d02c60300000020a3c0aaa9a20a001b33aacccaff5733ee3d062735022035c03a9931a2fb2d0c52613862613972613682613592613a01a0fbc00000319bfb20c220f02f20019cfbc0000052213892213a50ddc08221355179fb722136622139fd028c9d502341d022112a2986e2ff00ff11ca4f497edca7822148076815f84e7ce2f044c0407293060200c738020635fe863cfe02214792a120c22146d22145e22144f221432d079a110df0000000f42a0000102b000091ffff12c1f0c92109319011c072c110c2d72a326c3c3d040c0449417c944066100c44526c3d40662041f3ff69015d026d0222c11072d12b4a4285dcfe7cf3cc12322c3c91eeff2d039a110831c82112c1100df014000060ffff0f001ce20040d839004012c1f0d911dd02c0221151f9ffd022c08022115a22c921c02000c80221f6ff02610320cc10302c8240342001f3ffc000003d02d0207401f1ffc0000008312d0cd811c82112c1100df00000000000ff3fff0f000031feff52d34068a57046116a44d044114a33481361faff47360e1b6469134a3322430828b51b2229b50df0000800006000000060081000000c0000601c0000601000006021faff12c1d0c020002802c9a1c1e9fff97109b1d991e9812901f2dc40c6380000000c0e21f2ff580cc020002802204074663502462300f6450a9c2562a0db679425460700664502863100862a00000022a0c0271402c627000c12290c59bf862500000c3286230072a0c068af7794301b262636024600000c0229af48af51dcff7024114a22d022112a2c0c0449125a2242420028bf479202060d00490cc615006615147026116a2251d1ffd022112a2c5a22424200c60e00202074c5efff860d0000000022a0dc27141922a0dd27141a0c42290c21c7ffc020003802c020003902060b0022a0c0c600000022a0db10112085ecff0c22290c1b3e30e074e71d02c6c7ff21bdffc02000d802d0d07456fdf0380121baff08b1c8a1d891e881f871c02000390212c1300df0005810000070100000741000007810000080100000189800401c4b0040803c0040349800400099004091faff12c1e051f5ffc961d951e941f93109719011c01a55c2d11029052d0cdd03ed0401f2ffc0000021ebff31edff2a411a330c0f4903861f000000f06dc067be016d0e51e6ff4d061a5558053d015a2f51e4ff1a55690501e6ffc000004d0221e1ff1a22680256340451deff3d061a5549052d0101dfffc0000021daff0c431a224802426c1641d6ff1a44280405810066421f422c1647bf1ef044c03d01c02c2001d5ffc00000f22c168602005c32c60900005c42460800d7bf0206dfff21c6ff3d0c1a2201cdffc0000021c3ff1c031a2201c8ffc000000c0291c3ff9a110871c861d851e841f83112c1200df00014c7ff3f04020060000200603c44004012c1f0d911dd0221faffc9212802cd03093101faffc0000021f7ff41f7ffc02000d902c02000c904c020003804c02310c783f40831c821d81112c1100df000000080fe3f30400000801310402400006064000094ffff000000000100000080000000000178480040880f0040a80f00404c4a0040980f004092a1409011c022613c22c158c2614e02614fd2614de2614cf2614b32613d4261400194ffc0000022213c3c2c2020b456922a32213d3c3c3020b456e22901ebffc00000dd023c4c561229e127ff41dfff3d022d0e0178fac00000415cfa21daff3d0d0174fac0000031daff4d0e0c5201e0ffc0000021d7ff31d8ffc020004802c2a0d442613fc0200039023127ff42a101c020002803cac1402220c0200029032c0201d4ffc0000022a0b03d0d2c442a210160fac000001c843d0d2d0c015dfac0000022a0f02a21291c1c832d0c05640020ea032261308b2c226141466d0000f0ea03060d0042213d22213cd034c041bbff37b4162030f456030131baff85e8ff56321721b7ff2add86030031b7ff10112045e7ff564216d2dd102221408c62280c22d210273dbd30ea0322212ff0f2c03afff2612f40ea0332de103833281ef2de403a2232de203853989f3a2232de3038733a22380e291cc0200028af9792076643f4864600000066430286440030ea0322212c4022c030228022612ca0ea03703911902380d0221132613e31e5fe72c2082a2e58123a222202007a7e076223310afa2189ff0c164d07926144a2614245a8ff922144a221425d026602024631007181ff30ea0322212d4d05a0a2c03aaa22c1583d07a2612d5261437261429261440127ffc0000030ea0320ea0342212f4a223022c022612f60ea0352214372214222213c4d05703720626142017affc0000052214362214292214456c20640ea0332212e6033c04a3342213e32612e9a94d09911389f9a9e29191b43263304499f460000299f22213c5c845a2222613c280c4a315a522d01590c01f5f9c000002221413d010107ffc000001c832d0cc54900460700003c5cc612003c6c8611003c7c461000004c0cc60e003c8c860d00000000280c32213d37b202c68fff42a0b01a4432c15822c41401f6fec0000020ea033221300c0c3022c022613022a0b02c431a228544002142ff32213fc0200039022c020149ffc0000002214f92a1402d0cd2214dc2214ee2214cf2214b9a110df00010000012c1f061feff09315d025c224736042d05c5b7ff083112c1100df000b0100000c0100000d010000012c1e091feffc961e941f9310971d951cd039011c031effffd02ed049c1422a06247b302062d0021f4ff1a22490286010021f1ff1a223902d1c2fedad12d0d01c5fec00000461c0022d11001c2fec0000021e9ffdd0c1a222802c7b20621e6ff1a22d8024d0d3d012d0f01bbfec000008c5222a063c618000021b1fe4d0d10312010228001b7fec00000ac7e4d0d3d0122d11001b3fec0000021d6ff32d11010228001b0fec0000021d3ff1c031a2201abfec00000daffd0ccc056acf831a0fe21cdff3a311a2201a7fec0000021c9ff1c031a2201a2fec000002d0c91c8ff9a110871c861d851e841f83112c1200df00000001040020060ffffff0012c1e00c02290141d7fe21faff026107c961c02000226400c02000380420c3102783f421f5ff31f5ffc02000280230221029010c432d01018afec0000008712d0cc86112c1200df02000006000000200fffffdff1880ff3f8449004012c1d0c9a15c52c1f9ff02610b224115c02000280c31f6ff302220c02000290cc02000280c31f3ff302210c02000290c0c1322c1158527002612024643007cf22241142201150c930b2220207427b302c63b0031e9ffe022112a232802a0020000000032a01010212045240066a20c48213811280105b1ff063100004c12862f00000032a01010212045220066a20c48213811280185deff062900005c12862700000032a01010212045200066a20b48213811280105dfff06210022a061861f000005eeffc61d0000000001ccffc00000c61a000c022241140c1322c114851b00220115c61c0000000032a010102120c51b002032202d0146060032a010102120c51a006642143801c02000380339413d0222c1100518000607000022af9146070032a01010212045180066820e2221003811c0200039020c0286000022afa122411432a00122c114c5140022011532c2fa303074b6230206adff02210bc2210a12c1300df00000000010401400f03f1027000050c3000000110040a8100040bc0f0040583f0040444600402c4c0040cc2e00404c26004021f4ff12c1e03802d951d8120c0209713911c96101f5ffc0000001f4ffc0000001f4ffc0000031ebff0c14c0200028037167fe402220c020002903512aff4164fe3165fe62a1000c020c0c01eaffc00000c26100c71d1421e0ff01e7ffc0000038114d0d2d0c4562ff22610021dcff01e2ffc0000032a00410212045080085deff20c22021d5ff01dcffc00000666c23460100004b2206010031d1ff4b21c0200048023794ed31cfffc0200039023df08601000001d2ffc000000871c861d85112c1200df00000003040ff3f0080fe3f2c70ff3f21feff41fcff12c1f02044c040422132a00002610301cef8c0000021f8ff20122085f0ff083112c1100df00012c1f002610301d9fdc00000083112c1100df000643b004012c1d0d991e981f97109b1c9a1ed02dd03f2a0c001faffc00000cd02f792f40c0f860d0001f6ffc000004d0222a0c027143e22a0db27941b490101f0ffc0000052a0dc480157120952a0dd571205460400004d0cfa2e4242001bffd79fc5c6000000000c0fc2a0c001e5ffc00000c792f608b12d0fc8a1d891e881f87112c1300df00000001440e6c4092033810022a10df000000032a10c020df000", "code_start": 1074790408, "entry": 1074797872, "data": "0203070031302e302e32000505040003030b00756e6b6e6f776e206572726f72006e6f206572726f7200756e646566696e6564206572726f7200746f6f206d616e792066696c65730066696c6520746f6f206c6172676500756e737570706f72746564206d6574686f6400756e737570706f7274656420656e6372797074696f6e00756e737570706f727465642066656174757265006661696c65642066696e64696e672063656e7472616c206469726563746f7279006e6f742061205a4950206172636869766500696e76616c696420686561646572206f72206172636869766520697320636f7272757074656400756e737570706f72746564206d756c74696469736b2061726368697665006465636f6d7072657373696f6e206661696c6564206f72206172636869766520697320636f7272757074656400636f6d7072657373696f6e206661696c656400756e6578706563746564206465636f6d707265737365642073697a65004352432d333220636865636b206661696c656400756e737570706f727465642063656e7472616c206469726563746f72792073697a6500616c6c6f636174696f6e206661696c65640066696c65206f70656e206661696c65640066696c6520637265617465206661696c65640066696c65207772697465206661696c65640066696c652072656164206661696c65640066696c6520636c6f7365206661696c65640066696c65207365656b206661696c65640066696c652073746174206661696c656400696e76616c696420706172616d6574657200696e76616c69642066696c656e616d650062756666657220746f6f20736d616c6c00696e7465726e616c206572726f720066696c65206e6f7420666f756e64006172636869766520697320746f6f206c617267650076616c69646174696f6e206661696c65640077726974652063616c6c65646261636b206661696c65640073747265616d20656e64006e6565642064696374696f6e6172790066696c65206572726f720073747265616d206572726f720064617461206572726f72006f7574206f66206d656d6f727900627566206572726f720076657273696f6e206572726f7200706172616d65746572206572726f7200000000000000000049454e44ae4260820089504e470d0a1a0a0000000d4948445200000000000000000800000000000000000000000049444154000029011040740110409c01104026021040e51010407e021040d20210401c031040e5101040d5031040540410400d051040e5101040e5101040ba051040e51010407c0810403d0910407a091040e5101040e5101040200a1040e51010400c0b1040b50b10400e0d1040d00d10409e0e1040e5101040e5101040e5101040e5101040d60f1040e5101040d6101040d6061040ff011040fc0e1040f803104054031040e51010406e101040b5101040e5101040e5101040e5101040e5101040e5101040e5101040e5101040e510104078031040b10310403b0f10405170ff3f5a70ff3f6a70ff3f7970ff3f8870ff3f9b70ff3fb270ff3fc670ff3fe770ff3ff970ff3f2071ff3f3e71ff3f6b71ff3f7e71ff3f9b71ff3faf71ff3fd271ff3fe471ff3ff571ff3f0872ff3f1a72ff3f2b72ff3f3d72ff3f4e72ff3f5f72ff3f7172ff3f8272ff3f9372ff3fa272ff3fb172ff3fc672ff3fd872ff3f010000000200000003000000040000000500000007000000090000000d00000011000000190000002100000031000000410000006100000081000000c100000001010000810100000102000001030000010400000106000001080000010c00000110000001180000012000000130000001400000016000000000000000000000000000000000000000000000000000000100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000a0000000a0000000b0000000b0000000c0000000c0000000d0000000d0000000000000000000000030000000400000005000000060000000700000008000000090000000a0000000b0000000d0000000f0000001100000013000000170000001b0000001f000000230000002b000000330000003b0000004300000053000000630000007300000083000000a3000000c3000000e3000000020100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000100000001000000020000000200000002000000020000000300000003000000030000000300000004000000040000000400000004000000050000000500000005000000050000000000000000000000000000000101000001000000040000000000040206000000000000003e70ff3f01000000f072ff3f02000000fb72ff3fffffffff0b73ff3ffeffffff1673ff3ffdffffff2373ff3ffcffffff2e73ff3ffbffffff3c73ff3ffaffffff4673ff3ff0d8ffff5473ff3f000000006410b71dc8206e3bac30d9269041dc76f4516b6b5861b24d3c7105502083b8ed44930ff0e8a3d6d68cb361cbb0c2649bd4d2d38678e20aa01cf2bdbd00000000010000000600000020000000100000002000000080000000000100000002000000030000dc050000000000000100000003000000070000000f0000001f0000003f0000007f000000ff000000ff010000ff030000ff070000ff0f0000ff1f0000ff3f0000ff7f0000ffff000010111200080709060a050b040c030d020e010f00000808090909090a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d00001213141415151616161617171717181818181818181819191919191919191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d000000000101010102020202020202020303030303030303030303030303030304040404040404040404040404040404040404040404040404040404040404040505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050506060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070700010203040405050606060607070707080808080808080809090909090909090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000001010101010101010202020202020202020202020202020203030303030303030303030303030303030303030303030303030303030303030404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040405050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505000001010201030104010501060107010801090109010a010a010b010b010c010c010d010d010d010d010e010e010e010e010f010f010f010f011001100110011001110111011101110111011101110111011201120112011201120112011201120113011301130113011301130113011301140114011401140114011401140114011501150115011501150115011501150115011501150115011501150115011501160116011601160116011601160116011601160116011601160116011601160117011701170117011701170117011701170117011701170117011701170117011801180118011801180118011801180118011801180118011801180118011801190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011d01271b1040471b1040671b1040861b10408f1b1040981b1040981b1040ae1b1040bf1b1040e61b1040", "data_start": 1073705008, "num_params": 2, "code_size": 7688, "data_size": 4112}`) func stubStubJsonBytes() ([]byte, error) { return _stubStubJson, nil @@ -65,7 +65,7 @@ return nil, err } - info := bindataFileInfo{name: "stub/stub.json", size: 23812, mode: os.FileMode(420), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "stub/stub.json", size: 23780, mode: os.FileMode(420), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff -Nru mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp8266/stub/stub.json mos-latest-202111281334+0278853~hirsute0/cli/flash/esp8266/stub/stub.json --- mos-latest-202110290806+db91e49~hirsute0/cli/flash/esp8266/stub/stub.json 2021-10-29 08:57:51.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/cli/flash/esp8266/stub/stub.json 2021-12-15 00:11:11.000000000 +0000 @@ -1 +1 @@ -{"params_start": 1074790400, "code": "b0150000a073ff3fdf7befbd841042080080000020290000e00d00003b70ff3ff076ff3f801b00000478ff3fa00d000000080000600900000000ffff500e000050120000242900003070ff3f3f70ff3f232900007476ff3ff875ff3f800b00007875ff3ff874ff3f0100000000000000f1ff000048df004090e1004068e2004092a1209011c0e26144ed022804a221482a232261252807bd030c432a8630aa10826128a2612d7cf8a22148026147c26146d26145f2614342613052612b72613182612a9d06378a0b5036c080228020238022612a82212a0c021b68878625a2212ba7391f888ea8ae82612688fe280ea261248261273c53c81ef8ee589e27b31346f60300a22131822130290a29087cd74651040031bcffe042114a333803a003000c03a22148393e392e0c13397e394e30ca1007ea296d09dd0bfd0cc261245d0cc26126863600008221480c128071047cc37032937d03290e6d098d0b86e003fd022261245d02226126cd02a22125a7bbd5220b001b8b292e460600a221480c22207a100c147cc37034937d03290e6d0986d3038d0ba22125a7b8df282e5208004199ff8032115a334033827198ff593e1bd80c143737102c0330751037850820303432c3f830478382212d5d04dce82024418b2252a001718eff0012400035a13737080002406020912058935054206d098ce5460000dd0b2c42290e6d09463e030000f63c39c60500a221480c13a071047cc27023937d020c32c613006d09dd0b2d0da221258d02a7b2dd3208001b22001c400033a18bccdd0230ff20b63ce2f02024295e202141296ef0f341c2ccfd56f21ec02024273c1f860f00a221480c13a071047cc27023937d020c52290ec69b030000006d09dd0b2d0da221258d02a7b2d83208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100c05168c06b68c1bc60d00a221480c13a071047cc27023937d020c6206e9ff006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bccdd0230ff20b68ce23149ff5a2e3a22f24200c2ccf8f0f841060b008221480c138071047cc27023937d020c724664036d09dd0ba22125a7bde1413dff320d005a2e4a223242001bdd1b55f6450286ddff22de293212115212107cf23022302020f4271573c600006d09dd0b2c7206e902b68c1d460e0000a221480c13a071047cc27023937d023c3246bfff906920b0db202d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f08074826126f0f841c2ccf80602003c4206e0026d09dd0ba22128a7b6f08221260b558246001b66cc1546f90256fcf8461d000c9206d7026d09dd0ba22128a7361c46fbff00008221480c138071047cc27023937d022c62462d036d09dd0ba22125a7bde1822128d07ac06028c077b2017d0277b5017d054d073d0d2d0652613862613972613692613ab261370114ffc00000722136622139522138b2213792213a7add7a667055c056f5f8c6d80266320d46010000006d09dd0b0ca206a90226120286200022a12029be21eefe2c0449ce0c532a2e52613862613992613ab261370100ffc0000032a0d0b2213792213a62213952213822ce403a3e42a0084242001b222793f722a0d032a1402a2e3a3e0c944242001b222793f722a14032a1582a2e3a3e0c744242001b222793f722a15832a1602a2e3a3e0c844242001b222793f78662010000000c0521cffe5a22220200273c1d461000a221480c13a071047cc27023937d020cb2c65aff0000006d09dd0b31c4fe2d0d5a33a221258d02a7b2d54208001b22001c400044a140ff204203008bccdd02473cdf21bbfe41bbfe5a223202000c120013400022a1e075110b227a44f022104804000340f0f09130ccc08b35e033113a3e2a2429331b55f6350206ddff21aefe42a1200c032a2e62613992613ab2613701befec0000062213992213ab221370c05c617000000b63c1e860e000000a221480c13a071047cc27023937d020ce2462fff00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b63ce22194fe4193fe5a22220200f030242a2e4a22c2ccfd324200f0f3411b5528de27359c1c3229dec61901004c040c0322c14452613862613992613ab261370199fec000002185fea221294184fe208a8222a1602028800c03202e808261350191fec00000822135217efe42a4802a280c032a2e018cfec00000286e8221352261338b22e022118a8e2a2e0c04783252213862213992213ab2213782612e82612f3d0842612c0606000022033f82212ce022112a214222111b881b4442621182612ca2212c1b33a797df0c0229112901a2c1448d014d020c17381a1b772a23f0221129283a444baa4b8866b7eb315efe3a22164210f62406863f006d09dd0b2c32c69800000022212f42024042612916a40de024112a21880242613c1ba8a90282613d0c02a2213df02211a0a00482213c22613b202a20a2213d0b88a0a14182613ca2613d56c8fd0ca84738347084117088200088118080310c1a826129001440004aa1460400000082212ef0a211aaa88221294a22825ab0a2a3ff27bae9861a004221322080944a88f088118a8e4298b0cc743258b030432032c3fe202941460800a22132aa84f088118a8e82d809429830cc643258304d0332c3fe8221290b888261292021412080048044c07cfa822129404a300cbaa798c722213282a4b04a428a44f044114a4e725400a2212f1b771baaa2612fc6030082212922a6d02028820c077cf3226132a2212c771a0286bcff222133262202069c000684000ce2c7b202463000822125d028c0a62202862500310dfef020943a22f022112a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a103fe7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021c02460c026d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320246dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc1031e0fdf020943a22f022112a2e32120000331130403196b30030393140408486090000000081d7fd0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe4261260cf2000340f0f09130ccc047220e31cbfd5a2e3a224242001b55c63700a2212666ba18dc551c08826126c600006d09dd0b1c12290e7cf746d901000021c1fd4a4242c4f0420400426124473c20c60f00a221480c14a071047cc37034937d031c23390edd02c6cd0100006d09dd0b2d0d8221253d0287b2d7320300a22124001c400033a11b228bccdd0230ff20a73cdf82212431acfda221260c170018400077a1aa330b7732c3f0f02710720300000840f0f0912a7721a1fd80ccc02a2e5a220c0366ba0a41a0fd5a3e4033803203004d0752613862613972613692613ab2613701a3fdc0000052213872213662213992213ab221377a554600000c0548be28ce2a2427b5020678ff579207460200006d09dd0b1c5246c6ff7188fd22ce407a7e3d0752613862613992613ab26137726136018efdc0000038be7221362174fd48ce3a372a2e0189fdc00000b2213792213a622139522138286e0b22296e886e82612996d81446e3fe322125d023c0a6420e4221286024c0a62202464f0086f101c7b802062f00a62202462500f0209432a0b03a22f022112a2e22120000221120403196f200202931163205273c02462400861200000ca3c7b3447cf8a2a4b07d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb060600008221480c138071047cc27023937d021c724668016d09dd0ba22125a7bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320206dbff060800220d0132cc080013400022a1320d00d2cd02001c400033a130222020ff20c2cc1032a0b0f020943a22f022112a2e321200003311305031968300303931505084c608000ca37cf742a4b0000340f020912020045057305a524a55f055115a5e5295001b339625fe22a0ff000340f0f09130ccc057a202c64600460200001c8206df006d09dd0b82212887b6f05246001b660ce8a2a10006abffc73819220d01320d00802211302220001c400022a120ff202bddc2cc10f0209432a0b03a22f022112a2e22120000221120703196720020293146090000000ca2000240f030917cf47074303030047a3342a4b04a33f033113a3e7293001b2296d7fd5d07000240f0f09120ccc0a70702062200c73819220d01320d00802211302220001c400022a120ff202bddc2cc1032a0b0f020943a22f022112a2e321200003311304031968300303931060b000000000ca3000340f020912020042261297cf24042302221291b334a4222a4b02a44f044114a4e4294009674fd724600000340f0f09130ccc0a704081b665d0446020000004246012b66066cff50508466f50286b70022aeff2a5521e1fce055115a22280222612421dffc8221245a52580516f805873c1e460f000000a221480c13a071047cc27023937d021c92465afd00006d09dd0b2d0da221258d02a7b2db320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a10b22f02210a0ccc0000a40f0f0912055800ce2c7b202c62f00822125d028c0a62202062500f02094f0221122d20f2a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a1b5fc7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021ca246b7006d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c73202c6dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc10f02094f0221122d20f2a2e32120000331130403196930030393140408406090000818afc0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe000340f0f09130ccc03180fce044114a333803326124317efca221244a434804426126161a06a73c1b860e00a221480c13a071047cc27023937d021cb206f6fc006d09dd0b2d0da221258d02a7b2dc320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a18221260b22f022102a88000a40f0f091a0ccc0826126a2212b82212da0a6c0a261279c48822126873a060603006d09dd0b2c52290e8d0dc67700a221278221263d06802ac0a2212a82212ba022102a2827b6013d02a221285a33373a3c461100003c52290e8d0d0c27c66b006d09dd0b82212887b6eaa22127822126802ac0a2212a82212ba022102a28a221272202001baa224600a261271b662d057cf51632c55a5246f2ff3202004d0532460032020152c5fd3246013202023b223246023d063b66e635dfe61502060aff7202007246006625052202012246014a630605ff00285e07e202c694fcc02024273c1b860e00a221480c13a071047cc27023937d022c0206a8fc006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100601000bddc2ccf8d7bb02f68cf42116fc3116fcc04c2052613862613992613ab2613785dd0082214822c2ff52213862213992213ab22137f0f21007e80286230052a000167c06b68c1d460e0000a221480c13a071047cc27023937d022c924682fc00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f03074c2ccf8f0f8418609008221480c138071047cc27023937d022ca2290e8d0d460d006d09dd0ba22125a7bddd320d001bdd284e1b55802211302220294ef64506c6ddff6d09dd0b2c22290e8d0d0c074601006d098d0b7cf72617114b27cc628602000b88c2ccf887bb02f68cf421dcfb31dcfbc91ec04c2052613862613972613682613592613ab2613785ce00a22126522138a98ea22124822135a9aea22127b221370b22a9fef0f210a2213062213992213af9ee599eb088c0890a82213190d6c0a22148d9080c92722136278a02c63e0096870f31a8fbf87e2d0d92613a01c4fbc00000f0c0f472213692213af0f0f55d027c880c06462800320900ca433209014a333a44faf44209023a344209033aff3a344209043aff3a344209053aff3a344209063aff3a344209073aff3ac4caff8b992799c28025103d02c60300000020a3c0aaa9a20a001b33aacccaff5733ee3d062735022035c03a9931a2fb2d0c52613862613972613682613592613a01a0fbc00000319bfb20c220f02f20019cfbc0000052213892213a50ddc08221355179fb722136622139fd028c9d502341d022112a2986e2ff00ff11ca4f497edca7822148076815f84e7ce2f044c0407293060200c738020635fe863cfe02214792a120c22146d22145e22144f221432d079a110df0000000f42a0000102b000091ffff12c1f0c92109319011c072c110c2d72a326c3c3d040c0449417c944066100c44526c3d40662041f3ff69015d026d0222c11072d12b4a4285dcfe7cf3cc12322c3c91eeff2d039a110831c82112c1100df014000060ffff0f001ce20040d839004012c1f0d911dd02c0221151f9ffd022c08022115a22c921c02000c80221f6ff02610320cc10302c8240342001f3ffc000003d02d0207401f1ffc0000008312d0cd811c82112c1100df00000000000ff3fff0f000031feff52d34068a57046116a44d044114a33481361faff47360e1b6469134a3322430828b51b2229b50df0000800006000000060081000000c0000601c0000601000006021faff12c1d0c020002802c9a1c1e9fff97109b1d991e9812901f2dc40c6380000000c0e21f2ff580cc020002802204074663502462300f6450a9c2562a0db679425460700664502863100862a00000022a0c0271402c627000c12290c59bf862500000c3286230072a0c068af7794301b262636024600000c0229af48af51dcff7024114a22d022112a2c0c0449125a2242420028bf479202060d00490cc615006615147026116a2251d1ffd022112a2c5a22424200c60e00202074c5efff860d0000000022a0dc27141922a0dd27141a0c42290c21c7ffc020003802c020003902060b0022a0c0c600000022a0db10112085ecff0c22290c1b3e30e074e71d02c6c7ff21bdffc02000d802d0d07456fdf0380121baff08b1c8a1d891e881f871c02000390212c1300df0005810000070100000741000007810000080100000189800401c4b0040803c0040349800400099004091faff12c1e051f5ffc961d951e941f93109719011c01a55c2d11029052d0cdd03ed0401f2ffc0000021ebff31edff2a411a330c0f4903861f000000f06dc067be016d0e51e6ff4d061a5558053d015a2f51e4ff1a55690501e6ffc000004d0221e1ff1a22680256340451deff3d061a5549052d0101dfffc0000021daff0c431a224802426c1641d6ff1a44280405820066421f422c1647bf1ef044c03d01c02c2001d5ffc00000f22c168602005c32c60900005c42460800d7bf0206dfff21c6ff3d0c1a2201cdffc0000021c3ff1c031a2201c8ffc000000c0291c3ff9a110871c861d851e841f83112c1200df00014c7ff3f04020060000200603c44004012c1f0d911dd0221faffc9212802cd03093101faffc0000021f7ff41f7ffc02000d902c02000c904c020003804c02310c783f40831c821d81112c1100df000000080fe3f30400000801310402400006064000094ffff000000000100000080000000000178480040880f0040a80f00404c4a0040980f004092a1409011c022613c22c158c2614e02614fd2614de2614cf2614b32613d4261400194ffc0000022213c3c2c2020b456922a32213d3c3c3020b456e22901ebffc00000dd023c4c561229e127ff41dfff3d022d0e0178fac00000415cfa21daff3d0d0174fac0000031daff4d0e0c5201e0ffc0000021d7ff31d8ffc020004802c2a0d442613fc0200039023127ff42a101c020002803cac1402220c0200029032c0201d4ffc0000022a0b03d0d2c442a210160fac000001c843d0d2d0c015dfac0000022a0f02a21291c1c832d0c05650020ea032261308b2c226141466d0000f0ea03060d0042213d22213cd034c041bbff37b4162030f456030131baff85e8ff56321721b7ff2add86030031b7ff10112045e7ff564216d2dd102221408c62280c22d210273dbd30ea0322212ff0f2c03afff2612f40ea0332de103833281ef2de403a2232de203853989f3a2232de3038733a22380e291cc0200028af9792076643f4864600000066430286440030ea0322212c4022c030228022612ca0ea03703911902380d0221132613e31e5fe72c2082a2e58123a222202007a7e076223310afa2189ff0c164d07926144a2614245a8ff922144a221425d026602024631007181ff30ea0322212d4d05a0a2c03aaa22c1583d07a2612d5261437261429261440127ffc0000030ea0320ea0342212f4a223022c022612f60ea0352214372214222213c4d05703720626142017affc0000052214362214292214456c20640ea0332212e6033c04a3342213e32612e9a94d09911389f9a9e29191b43263304499f460000299f22213c5c845a2222613c280c4a315a522d01590c01f5f9c000002221413d010107ffc000001c832d0cc54a00460700003c5cc612003c6c8611003c7c461000004c0cc60e003c8c860d00000000280c32213d37b202c68fff42a0b01a4432c15822c41401f6fec0000020ea033221300c0c3022c022613022a0b02c431a228545002142ff32213fc0200039022c020149ffc0000002214f92a1402d0cd2214dc2214ee2214cf2214b9a110df00010000012c1f061feff09315d025c224736042d05c5b7ff083112c1100df000b0100000c0100000d010000012c1e091feffc961e941f9310971d951cd039011c031effffd02ed049c1422a06247b302062d0021f4ff1a22490286010021f1ff1a223902d1c2fedad12d0d01c5fec00000461c0022d11001c2fec0000021e9ffdd0c1a222802c7b20621e6ff1a22d8024d0d3d012d0f01bbfec000008c5222a063c618000021b1fe4d0d10312010228001b7fec00000ac7e4d0d3d0122d11001b3fec0000021d6ff32d11010228001b0fec0000021d3ff1c031a2201abfec00000daffd0ccc056acf831a0fe21cdff3a311a2201a7fec0000021c9ff1c031a2201a2fec000002d0c91c8ff9a110871c861d851e841f83112c1200df00000001040020060ffffff0012c1e00c02290141d7fe21faff026107c961c02000226400c02000380420c3102783f421f5ff31f5ffc02000280230221029010c432d01018afec0000008712d0cc86112c1200df02000006000000200fffffdff1880ff3f8449004012c1d0c9a15c52c1f9ff02610b224115c02000280c31f6ff302220c02000290cc02000280c31f3ff302210c02000290c0c1322c1158528002612024643007cf22241142201150c930b2220207427b302c63b0031e9ffe022112a232802a0020000000032a01010212045250066a20c48213811280105b1ff063100004c12862f00000032a01010212045230066a20c48213811280185deff062900005c12862700000032a01010212045210066a20b48213811280105dfff06210022a061861f000005eeffc61d0000000001ccffc00000c61a000c022241140c1322c114851c00220115c61c0000000032a010102120c51c002032202d0146060032a010102120c51b006642143801c02000380339413d0222c1100519000607000022af9146070032a01010212045190066820e2221003811c0200039020c0286000022afa122411432a00122c114c5150022011532c2fa303074b6230206adff02210bc2210a12c1300df00000000010401400f03f1027000050c3000000110040a8100040bc0f0040583f0040444600402c4c0040cc2e00404c26004021f4ff12c1e03802d951d8120c0209713911c96101f5ffc0000001f4ffc0000001f4ffc0000031ebff0c14c0200028037167fe402220c020002903512aff4164fe3165fe62a1000c020c0c01eaffc00000c26100c71d1421e0ff01e7ffc0000038114d0d2d0c4562ff22610021dcff01e2ffc0000032a00410212045090085deff20c22021d5ff01dcffc00000666c23460100004b2206010031d1ff4b21c0200048023794ed31cfffc0200039023df08601000001d2ffc000000871c861d85112c1200df00000003040ff3f0080fe3f2c70ff3f3040ff3f21fdff41fbff12c1f02044c040422132a00002610301cdf8c0000011f7ff85f0ff31f5ff22a0ff226300083131f4ff12c11029030df0000012c1f002610301d5fdc00000083112c1100df000643b004012c1d0d991e981f97109b1c9a1ed02dd03f2a0c001faffc00000cd02f792f40c0f860d0001f6ffc000004d0222a0c027143e22a0db27941b490101f0ffc0000052a0dc480157120952a0dd571205460400004d0cfa2e4242001bffd79fc5c6000000000c0fc2a0c001e5ffc00000c792f608b12d0fc8a1d891e881f87112c1300df00000001440e6c4092033810022a10df000000032a10c020df000", "code_start": 1074790408, "entry": 1074797876, "data": "0203070031302e302e32000505040003030b00756e6b6e6f776e206572726f72006e6f206572726f7200756e646566696e6564206572726f7200746f6f206d616e792066696c65730066696c6520746f6f206c6172676500756e737570706f72746564206d6574686f6400756e737570706f7274656420656e6372797074696f6e00756e737570706f727465642066656174757265006661696c65642066696e64696e672063656e7472616c206469726563746f7279006e6f742061205a4950206172636869766500696e76616c696420686561646572206f72206172636869766520697320636f7272757074656400756e737570706f72746564206d756c74696469736b2061726368697665006465636f6d7072657373696f6e206661696c6564206f72206172636869766520697320636f7272757074656400636f6d7072657373696f6e206661696c656400756e6578706563746564206465636f6d707265737365642073697a65004352432d333220636865636b206661696c656400756e737570706f727465642063656e7472616c206469726563746f72792073697a6500616c6c6f636174696f6e206661696c65640066696c65206f70656e206661696c65640066696c6520637265617465206661696c65640066696c65207772697465206661696c65640066696c652072656164206661696c65640066696c6520636c6f7365206661696c65640066696c65207365656b206661696c65640066696c652073746174206661696c656400696e76616c696420706172616d6574657200696e76616c69642066696c656e616d650062756666657220746f6f20736d616c6c00696e7465726e616c206572726f720066696c65206e6f7420666f756e64006172636869766520697320746f6f206c617267650076616c69646174696f6e206661696c65640077726974652063616c6c65646261636b206661696c65640073747265616d20656e64006e6565642064696374696f6e6172790066696c65206572726f720073747265616d206572726f720064617461206572726f72006f7574206f66206d656d6f727900627566206572726f720076657273696f6e206572726f7200706172616d65746572206572726f7200000000000000000049454e44ae4260820089504e470d0a1a0a0000000d4948445200000000000000000800000000000000000000000049444154000029011040740110409c01104026021040e51010407e021040d20210401c031040e5101040d5031040540410400d051040e5101040e5101040ba051040e51010407c0810403d0910407a091040e5101040e5101040200a1040e51010400c0b1040b50b10400e0d1040d00d10409e0e1040e5101040e5101040e5101040e5101040d60f1040e5101040d6101040d6061040ff011040fc0e1040f803104054031040e51010406e101040b5101040e5101040e5101040e5101040e5101040e5101040e5101040e5101040e510104078031040b10310403b0f10405170ff3f5a70ff3f6a70ff3f7970ff3f8870ff3f9b70ff3fb270ff3fc670ff3fe770ff3ff970ff3f2071ff3f3e71ff3f6b71ff3f7e71ff3f9b71ff3faf71ff3fd271ff3fe471ff3ff571ff3f0872ff3f1a72ff3f2b72ff3f3d72ff3f4e72ff3f5f72ff3f7172ff3f8272ff3f9372ff3fa272ff3fb172ff3fc672ff3fd872ff3f010000000200000003000000040000000500000007000000090000000d00000011000000190000002100000031000000410000006100000081000000c100000001010000810100000102000001030000010400000106000001080000010c00000110000001180000012000000130000001400000016000000000000000000000000000000000000000000000000000000100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000a0000000a0000000b0000000b0000000c0000000c0000000d0000000d0000000000000000000000030000000400000005000000060000000700000008000000090000000a0000000b0000000d0000000f0000001100000013000000170000001b0000001f000000230000002b000000330000003b0000004300000053000000630000007300000083000000a3000000c3000000e3000000020100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000100000001000000020000000200000002000000020000000300000003000000030000000300000004000000040000000400000004000000050000000500000005000000050000000000000000000000000000000101000001000000040000000000040206000000000000003e70ff3f01000000f072ff3f02000000fb72ff3fffffffff0b73ff3ffeffffff1673ff3ffdffffff2373ff3ffcffffff2e73ff3ffbffffff3c73ff3ffaffffff4673ff3ff0d8ffff5473ff3f000000006410b71dc8206e3bac30d9269041dc76f4516b6b5861b24d3c7105502083b8ed44930ff0e8a3d6d68cb361cbb0c2649bd4d2d38678e20aa01cf2bdbd00000000010000000600000020000000100000002000000080000000000100000002000000030000dc050000000000000100000003000000070000000f0000001f0000003f0000007f000000ff000000ff010000ff030000ff070000ff0f0000ff1f0000ff3f0000ff7f0000ffff000010111200080709060a050b040c030d020e010f00000808090909090a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d00001213141415151616161617171717181818181818181819191919191919191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d000000000101010102020202020202020303030303030303030303030303030304040404040404040404040404040404040404040404040404040404040404040505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050506060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070700010203040405050606060607070707080808080808080809090909090909090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000001010101010101010202020202020202020202020202020203030303030303030303030303030303030303030303030303030303030303030404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040405050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505000001010201030104010501060107010801090109010a010a010b010b010c010c010d010d010d010d010e010e010e010e010f010f010f010f011001100110011001110111011101110111011101110111011201120112011201120112011201120113011301130113011301130113011301140114011401140114011401140114011501150115011501150115011501150115011501150115011501150115011501160116011601160116011601160116011601160116011601160116011601160117011701170117011701170117011701170117011701170117011701170117011801180118011801180118011801180118011801180118011801180118011801190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011d01271b1040471b1040671b1040861b10408f1b1040981b1040981b1040ae1b1040bf1b1040e61b1040", "data_start": 1073705008, "num_params": 2, "code_size": 7704, "data_size": 4112} \ No newline at end of file +{"params_start": 1074790400, "code": "b0150000a073ff3fdf7befbd841042080080000020290000e00d00003b70ff3ff076ff3f801b00000478ff3fa00d000000080000600900000000ffff500e000050120000242900003070ff3f3f70ff3f232900007476ff3ff875ff3f800b00007875ff3ff874ff3f0100000000000000f1ff000048df004090e1004068e2004092a1209011c0e26144ed022804a221482a232261252807bd030c432a8630aa10826128a2612d7cf8a22148026147c26146d26145f2614342613052612b72613182612a9d06378a0b5036c080228020238022612a82212a0c021b68878625a2212ba7391f888ea8ae82612688fe280ea261248261273c53c81ef8ee589e27b31346f60300a22131822130290a29087cd74651040031bcffe042114a333803a003000c03a22148393e392e0c13397e394e30ca1007ea296d09dd0bfd0cc261245d0cc26126863600008221480c128071047cc37032937d03290e6d098d0b86e003fd022261245d02226126cd02a22125a7bbd5220b001b8b292e460600a221480c22207a100c147cc37034937d03290e6d0986d3038d0ba22125a7b8df282e5208004199ff8032115a334033827198ff593e1bd80c143737102c0330751037850820303432c3f830478382212d5d04dce82024418b2252a001718eff0012400035a13737080002406020912058935054206d098ce5460000dd0b2c42290e6d09463e030000f63c39c60500a221480c13a071047cc27023937d020c32c613006d09dd0b2d0da221258d02a7b2dd3208001b22001c400033a18bccdd0230ff20b63ce2f02024295e202141296ef0f341c2ccfd56f21ec02024273c1f860f00a221480c13a071047cc27023937d020c52290ec69b030000006d09dd0b2d0da221258d02a7b2d83208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100c05168c06b68c1bc60d00a221480c13a071047cc27023937d020c6206e9ff006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bccdd0230ff20b68ce23149ff5a2e3a22f24200c2ccf8f0f841060b008221480c138071047cc27023937d020c724664036d09dd0ba22125a7bde1413dff320d005a2e4a223242001bdd1b55f6450286ddff22de293212115212107cf23022302020f4271573c600006d09dd0b2c7206e902b68c1d460e0000a221480c13a071047cc27023937d023c3246bfff906920b0db202d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f08074826126f0f841c2ccf80602003c4206e0026d09dd0ba22128a7b6f08221260b558246001b66cc1546f90256fcf8461d000c9206d7026d09dd0ba22128a7361c46fbff00008221480c138071047cc27023937d022c62462d036d09dd0ba22125a7bde1822128d07ac06028c077b2017d0277b5017d054d073d0d2d0652613862613972613692613ab261370114ffc00000722136622139522138b2213792213a7add7a667055c056f5f8c6d80266320d46010000006d09dd0b0ca206a90226120286200022a12029be21eefe2c0449ce0c532a2e52613862613992613ab261370100ffc0000032a0d0b2213792213a62213952213822ce403a3e42a0084242001b222793f722a0d032a1402a2e3a3e0c944242001b222793f722a14032a1582a2e3a3e0c744242001b222793f722a15832a1602a2e3a3e0c844242001b222793f78662010000000c0521cffe5a22220200273c1d461000a221480c13a071047cc27023937d020cb2c65aff0000006d09dd0b31c4fe2d0d5a33a221258d02a7b2d54208001b22001c400044a140ff204203008bccdd02473cdf21bbfe41bbfe5a223202000c120013400022a1e075110b227a44f022104804000340f0f09130ccc08b35e033113a3e2a2429331b55f6350206ddff21aefe42a1200c032a2e62613992613ab2613701befec0000062213992213ab221370c05c617000000b63c1e860e000000a221480c13a071047cc27023937d020ce2462fff00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b63ce22194fe4193fe5a22220200f030242a2e4a22c2ccfd324200f0f3411b5528de27359c1c3229dec61901004c040c0322c14452613862613992613ab261370199fec000002185fea221294184fe208a8222a1602028800c03202e808261350191fec00000822135217efe42a4802a280c032a2e018cfec00000286e8221352261338b22e022118a8e2a2e0c04783252213862213992213ab2213782612e82612f3d0842612c0606000022033f82212ce022112a214222111b881b4442621182612ca2212c1b33a797df0c0229112901a2c1448d014d020c17381a1b772a23f0221129283a444baa4b8866b7eb315efe3a22164210f62406863f006d09dd0b2c32c69800000022212f42024042612916a40de024112a21880242613c1ba8a90282613d0c02a2213df02211a0a00482213c22613b202a20a2213d0b88a0a14182613ca2613d56c8fd0ca84738347084117088200088118080310c1a826129001440004aa1460400000082212ef0a211aaa88221294a22825ab0a2a3ff27bae9861a004221322080944a88f088118a8e4298b0cc743258b030432032c3fe202941460800a22132aa84f088118a8e82d809429830cc643258304d0332c3fe8221290b888261292021412080048044c07cfa822129404a300cbaa798c722213282a4b04a428a44f044114a4e725400a2212f1b771baaa2612fc6030082212922a6d02028820c077cf3226132a2212c771a0286bcff222133262202069c000684000ce2c7b202463000822125d028c0a62202862500310dfef020943a22f022112a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a103fe7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021c02460c026d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320246dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc1031e0fdf020943a22f022112a2e32120000331130403196b30030393140408486090000000081d7fd0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe4261260cf2000340f0f09130ccc047220e31cbfd5a2e3a224242001b55c63700a2212666ba18dc551c08826126c600006d09dd0b1c12290e7cf746d901000021c1fd4a4242c4f0420400426124473c20c60f00a221480c14a071047cc37034937d031c23390edd02c6cd0100006d09dd0b2d0d8221253d0287b2d7320300a22124001c400033a11b228bccdd0230ff20a73cdf82212431acfda221260c170018400077a1aa330b7732c3f0f02710720300000840f0f0912a7721a1fd80ccc02a2e5a220c0366ba0a41a0fd5a3e4033803203004d0752613862613972613692613ab2613701a3fdc0000052213872213662213992213ab221377a554600000c0548be28ce2a2427b5020678ff579207460200006d09dd0b1c5246c6ff7188fd22ce407a7e3d0752613862613992613ab26137726136018efdc0000038be7221362174fd48ce3a372a2e0189fdc00000b2213792213a622139522138286e0b22296e886e82612996d81446e3fe322125d023c0a6420e4221286024c0a62202464f0086f101c7b802062f00a62202462500f0209432a0b03a22f022112a2e22120000221120403196f200202931163205273c02462400861200000ca3c7b3447cf8a2a4b07d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb060600008221480c138071047cc27023937d021c724668016d09dd0ba22125a7bde1220d001b3d001c400022a120ff208bcc0ce2dd03c7320206dbff060800220d0132cc080013400022a1320d00d2cd02001c400033a130222020ff20c2cc1032a0b0f020943a22f022112a2e321200003311305031968300303931505084c608000ca37cf742a4b0000340f020912020045057305a524a55f055115a5e5295001b339625fe22a0ff000340f0f09130ccc057a202c64600460200001c8206df006d09dd0b82212887b6f05246001b660ce8a2a10006abffc73819220d01320d00802211302220001c400022a120ff202bddc2cc10f0209432a0b03a22f022112a2e22120000221120703196720020293146090000000ca2000240f030917cf47074303030047a3342a4b04a33f033113a3e7293001b2296d7fd5d07000240f0f09120ccc0a70702062200c73819220d01320d00802211302220001c400022a120ff202bddc2cc1032a0b0f020943a22f022112a2e321200003311304031968300303931060b000000000ca3000340f020912020042261297cf24042302221291b334a4222a4b02a44f044114a4e4294009674fd724600000340f0f09130ccc0a704081b665d0446020000004246012b66066cff50508466f50286b70022aeff2a5521e1fce055115a22280222612421dffc8221245a52580516f805873c1e460f000000a221480c13a071047cc27023937d021c92465afd00006d09dd0b2d0da221258d02a7b2db320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a10b22f02210a0ccc0000a40f0f0912055800ce2c7b202c62f00822125d028c0a62202062500f02094f0221122d20f2a2e22120000221120403196e200202931162205273c020624004612000ca3c7b344a1b5fc7cf87d03000740f020912020044048304a42aa44f044114a4e4294001b33d644062b7777bcdb06060000a221480c13a071047cc27023937d021ca246b7006d09dd0b82212587bde1220d001b3d001c400022a120ff208bcc0ce2dd03c73202c6dbff0608000000220d018b3c0013400022a1320d002bdd001c400033a130222020ff20c2cc10f02094f0221122d20f2a2e32120000331130403196930030393140408406090000818afc0ca37cf7000340f020912020044047304a428a44f044114a4e4294001b339624fe000340f0f09130ccc03180fce044114a333803326124317efca221244a434804426126161a06a73c1b860e00a221480c13a071047cc27023937d021cb206f6fc006d09dd0b2d0da221258d02a7b2dc320800822124001c400033a11b228bccdd0230ff20873cdfa221240c12001a400022a18221260b22f022102a88000a40f0f091a0ccc0826126a2212b82212da0a6c0a261279c48822126873a060603006d09dd0b2c52290e8d0dc67700a221278221263d06802ac0a2212a82212ba022102a2827b6013d02a221285a33373a3c461100003c52290e8d0d0c27c66b006d09dd0b82212887b6eaa22127822126802ac0a2212a82212ba022102a28a221272202001baa224600a261271b662d057cf51632c55a5246f2ff3202004d0532460032020152c5fd3246013202023b223246023d063b66e635dfe61502060aff7202007246006625052202012246014a630605ff00285e07e202c694fcc02024273c1b860e00a221480c13a071047cc27023937d022c0206a8fc006d09dd0b2d0da221258d02a7b2dc3208001b22001c400033a18bcc30ff20c03024dd02373cdfc02024000240f0f0917c8220cc100601000bddc2ccf8d7bb02f68cf42116fc3116fcc04c2052613862613992613ab2613785dc0082214822c2ff52213862213992213ab22137f0f21007e80286230052a000167c06b68c1d460e0000a221480c13a071047cc27023937d022c924682fc00006d09dd0b2d0da221258d02a7b2db3208001b22001c400033a18bccdd0230ff20b68ce2f03074c2ccf8f0f8418609008221480c138071047cc27023937d022ca2290e8d0d460d006d09dd0ba22125a7bddd320d001bdd284e1b55802211302220294ef64506c6ddff6d09dd0b2c22290e8d0d0c074601006d098d0b7cf72617114b27cc628602000b88c2ccf887bb02f68cf421dcfb31dcfbc91ec04c2052613862613972613682613592613ab2613785cd00a22126522138a98ea22124822135a9aea22127b221370b22a9fef0f210a2213062213992213af9ee599eb088c0890a82213190d6c0a22148d9080c92722136278a02c63e0096870f31a8fbf87e2d0d92613a01c4fbc00000f0c0f472213692213af0f0f55d027c880c06462800320900ca433209014a333a44faf44209023a344209033aff3a344209043aff3a344209053aff3a344209063aff3a344209073aff3ac4caff8b992799c28025103d02c60300000020a3c0aaa9a20a001b33aacccaff5733ee3d062735022035c03a9931a2fb2d0c52613862613972613682613592613a01a0fbc00000319bfb20c220f02f20019cfbc0000052213892213a50ddc08221355179fb722136622139fd028c9d502341d022112a2986e2ff00ff11ca4f497edca7822148076815f84e7ce2f044c0407293060200c738020635fe863cfe02214792a120c22146d22145e22144f221432d079a110df0000000f42a0000102b000091ffff12c1f0c92109319011c072c110c2d72a326c3c3d040c0449417c944066100c44526c3d40662041f3ff69015d026d0222c11072d12b4a4285dcfe7cf3cc12322c3c91eeff2d039a110831c82112c1100df014000060ffff0f001ce20040d839004012c1f0d911dd02c0221151f9ffd022c08022115a22c921c02000c80221f6ff02610320cc10302c8240342001f3ffc000003d02d0207401f1ffc0000008312d0cd811c82112c1100df00000000000ff3fff0f000031feff52d34068a57046116a44d044114a33481361faff47360e1b6469134a3322430828b51b2229b50df0000800006000000060081000000c0000601c0000601000006021faff12c1d0c020002802c9a1c1e9fff97109b1d991e9812901f2dc40c6380000000c0e21f2ff580cc020002802204074663502462300f6450a9c2562a0db679425460700664502863100862a00000022a0c0271402c627000c12290c59bf862500000c3286230072a0c068af7794301b262636024600000c0229af48af51dcff7024114a22d022112a2c0c0449125a2242420028bf479202060d00490cc615006615147026116a2251d1ffd022112a2c5a22424200c60e00202074c5efff860d0000000022a0dc27141922a0dd27141a0c42290c21c7ffc020003802c020003902060b0022a0c0c600000022a0db10112085ecff0c22290c1b3e30e074e71d02c6c7ff21bdffc02000d802d0d07456fdf0380121baff08b1c8a1d891e881f871c02000390212c1300df0005810000070100000741000007810000080100000189800401c4b0040803c0040349800400099004091faff12c1e051f5ffc961d951e941f93109719011c01a55c2d11029052d0cdd03ed0401f2ffc0000021ebff31edff2a411a330c0f4903861f000000f06dc067be016d0e51e6ff4d061a5558053d015a2f51e4ff1a55690501e6ffc000004d0221e1ff1a22680256340451deff3d061a5549052d0101dfffc0000021daff0c431a224802426c1641d6ff1a44280405810066421f422c1647bf1ef044c03d01c02c2001d5ffc00000f22c168602005c32c60900005c42460800d7bf0206dfff21c6ff3d0c1a2201cdffc0000021c3ff1c031a2201c8ffc000000c0291c3ff9a110871c861d851e841f83112c1200df00014c7ff3f04020060000200603c44004012c1f0d911dd0221faffc9212802cd03093101faffc0000021f7ff41f7ffc02000d902c02000c904c020003804c02310c783f40831c821d81112c1100df000000080fe3f30400000801310402400006064000094ffff000000000100000080000000000178480040880f0040a80f00404c4a0040980f004092a1409011c022613c22c158c2614e02614fd2614de2614cf2614b32613d4261400194ffc0000022213c3c2c2020b456922a32213d3c3c3020b456e22901ebffc00000dd023c4c561229e127ff41dfff3d022d0e0178fac00000415cfa21daff3d0d0174fac0000031daff4d0e0c5201e0ffc0000021d7ff31d8ffc020004802c2a0d442613fc0200039023127ff42a101c020002803cac1402220c0200029032c0201d4ffc0000022a0b03d0d2c442a210160fac000001c843d0d2d0c015dfac0000022a0f02a21291c1c832d0c05640020ea032261308b2c226141466d0000f0ea03060d0042213d22213cd034c041bbff37b4162030f456030131baff85e8ff56321721b7ff2add86030031b7ff10112045e7ff564216d2dd102221408c62280c22d210273dbd30ea0322212ff0f2c03afff2612f40ea0332de103833281ef2de403a2232de203853989f3a2232de3038733a22380e291cc0200028af9792076643f4864600000066430286440030ea0322212c4022c030228022612ca0ea03703911902380d0221132613e31e5fe72c2082a2e58123a222202007a7e076223310afa2189ff0c164d07926144a2614245a8ff922144a221425d026602024631007181ff30ea0322212d4d05a0a2c03aaa22c1583d07a2612d5261437261429261440127ffc0000030ea0320ea0342212f4a223022c022612f60ea0352214372214222213c4d05703720626142017affc0000052214362214292214456c20640ea0332212e6033c04a3342213e32612e9a94d09911389f9a9e29191b43263304499f460000299f22213c5c845a2222613c280c4a315a522d01590c01f5f9c000002221413d010107ffc000001c832d0cc54900460700003c5cc612003c6c8611003c7c461000004c0cc60e003c8c860d00000000280c32213d37b202c68fff42a0b01a4432c15822c41401f6fec0000020ea033221300c0c3022c022613022a0b02c431a228544002142ff32213fc0200039022c020149ffc0000002214f92a1402d0cd2214dc2214ee2214cf2214b9a110df00010000012c1f061feff09315d025c224736042d05c5b7ff083112c1100df000b0100000c0100000d010000012c1e091feffc961e941f9310971d951cd039011c031effffd02ed049c1422a06247b302062d0021f4ff1a22490286010021f1ff1a223902d1c2fedad12d0d01c5fec00000461c0022d11001c2fec0000021e9ffdd0c1a222802c7b20621e6ff1a22d8024d0d3d012d0f01bbfec000008c5222a063c618000021b1fe4d0d10312010228001b7fec00000ac7e4d0d3d0122d11001b3fec0000021d6ff32d11010228001b0fec0000021d3ff1c031a2201abfec00000daffd0ccc056acf831a0fe21cdff3a311a2201a7fec0000021c9ff1c031a2201a2fec000002d0c91c8ff9a110871c861d851e841f83112c1200df00000001040020060ffffff0012c1e00c02290141d7fe21faff026107c961c02000226400c02000380420c3102783f421f5ff31f5ffc02000280230221029010c432d01018afec0000008712d0cc86112c1200df02000006000000200fffffdff1880ff3f8449004012c1d0c9a15c52c1f9ff02610b224115c02000280c31f6ff302220c02000290cc02000280c31f3ff302210c02000290c0c1322c1158527002612024643007cf22241142201150c930b2220207427b302c63b0031e9ffe022112a232802a0020000000032a01010212045240066a20c48213811280105b1ff063100004c12862f00000032a01010212045220066a20c48213811280185deff062900005c12862700000032a01010212045200066a20b48213811280105dfff06210022a061861f000005eeffc61d0000000001ccffc00000c61a000c022241140c1322c114851b00220115c61c0000000032a010102120c51b002032202d0146060032a010102120c51a006642143801c02000380339413d0222c1100518000607000022af9146070032a01010212045180066820e2221003811c0200039020c0286000022afa122411432a00122c114c5140022011532c2fa303074b6230206adff02210bc2210a12c1300df00000000010401400f03f1027000050c3000000110040a8100040bc0f0040583f0040444600402c4c0040cc2e00404c26004021f4ff12c1e03802d951d8120c0209713911c96101f5ffc0000001f4ffc0000001f4ffc0000031ebff0c14c0200028037167fe402220c020002903512aff4164fe3165fe62a1000c020c0c01eaffc00000c26100c71d1421e0ff01e7ffc0000038114d0d2d0c4562ff22610021dcff01e2ffc0000032a00410212045080085deff20c22021d5ff01dcffc00000666c23460100004b2206010031d1ff4b21c0200048023794ed31cfffc0200039023df08601000001d2ffc000000871c861d85112c1200df00000003040ff3f0080fe3f2c70ff3f21feff41fcff12c1f02044c040422132a00002610301cef8c0000021f8ff20122085f0ff083112c1100df00012c1f002610301d9fdc00000083112c1100df000643b004012c1d0d991e981f97109b1c9a1ed02dd03f2a0c001faffc00000cd02f792f40c0f860d0001f6ffc000004d0222a0c027143e22a0db27941b490101f0ffc0000052a0dc480157120952a0dd571205460400004d0cfa2e4242001bffd79fc5c6000000000c0fc2a0c001e5ffc00000c792f608b12d0fc8a1d891e881f87112c1300df00000001440e6c4092033810022a10df000000032a10c020df000", "code_start": 1074790408, "entry": 1074797872, "data": "0203070031302e302e32000505040003030b00756e6b6e6f776e206572726f72006e6f206572726f7200756e646566696e6564206572726f7200746f6f206d616e792066696c65730066696c6520746f6f206c6172676500756e737570706f72746564206d6574686f6400756e737570706f7274656420656e6372797074696f6e00756e737570706f727465642066656174757265006661696c65642066696e64696e672063656e7472616c206469726563746f7279006e6f742061205a4950206172636869766500696e76616c696420686561646572206f72206172636869766520697320636f7272757074656400756e737570706f72746564206d756c74696469736b2061726368697665006465636f6d7072657373696f6e206661696c6564206f72206172636869766520697320636f7272757074656400636f6d7072657373696f6e206661696c656400756e6578706563746564206465636f6d707265737365642073697a65004352432d333220636865636b206661696c656400756e737570706f727465642063656e7472616c206469726563746f72792073697a6500616c6c6f636174696f6e206661696c65640066696c65206f70656e206661696c65640066696c6520637265617465206661696c65640066696c65207772697465206661696c65640066696c652072656164206661696c65640066696c6520636c6f7365206661696c65640066696c65207365656b206661696c65640066696c652073746174206661696c656400696e76616c696420706172616d6574657200696e76616c69642066696c656e616d650062756666657220746f6f20736d616c6c00696e7465726e616c206572726f720066696c65206e6f7420666f756e64006172636869766520697320746f6f206c617267650076616c69646174696f6e206661696c65640077726974652063616c6c65646261636b206661696c65640073747265616d20656e64006e6565642064696374696f6e6172790066696c65206572726f720073747265616d206572726f720064617461206572726f72006f7574206f66206d656d6f727900627566206572726f720076657273696f6e206572726f7200706172616d65746572206572726f7200000000000000000049454e44ae4260820089504e470d0a1a0a0000000d4948445200000000000000000800000000000000000000000049444154000029011040740110409c01104026021040e51010407e021040d20210401c031040e5101040d5031040540410400d051040e5101040e5101040ba051040e51010407c0810403d0910407a091040e5101040e5101040200a1040e51010400c0b1040b50b10400e0d1040d00d10409e0e1040e5101040e5101040e5101040e5101040d60f1040e5101040d6101040d6061040ff011040fc0e1040f803104054031040e51010406e101040b5101040e5101040e5101040e5101040e5101040e5101040e5101040e5101040e510104078031040b10310403b0f10405170ff3f5a70ff3f6a70ff3f7970ff3f8870ff3f9b70ff3fb270ff3fc670ff3fe770ff3ff970ff3f2071ff3f3e71ff3f6b71ff3f7e71ff3f9b71ff3faf71ff3fd271ff3fe471ff3ff571ff3f0872ff3f1a72ff3f2b72ff3f3d72ff3f4e72ff3f5f72ff3f7172ff3f8272ff3f9372ff3fa272ff3fb172ff3fc672ff3fd872ff3f010000000200000003000000040000000500000007000000090000000d00000011000000190000002100000031000000410000006100000081000000c100000001010000810100000102000001030000010400000106000001080000010c00000110000001180000012000000130000001400000016000000000000000000000000000000000000000000000000000000100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000a0000000a0000000b0000000b0000000c0000000c0000000d0000000d0000000000000000000000030000000400000005000000060000000700000008000000090000000a0000000b0000000d0000000f0000001100000013000000170000001b0000001f000000230000002b000000330000003b0000004300000053000000630000007300000083000000a3000000c3000000e3000000020100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000100000001000000020000000200000002000000020000000300000003000000030000000300000004000000040000000400000004000000050000000500000005000000050000000000000000000000000000000101000001000000040000000000040206000000000000003e70ff3f01000000f072ff3f02000000fb72ff3fffffffff0b73ff3ffeffffff1673ff3ffdffffff2373ff3ffcffffff2e73ff3ffbffffff3c73ff3ffaffffff4673ff3ff0d8ffff5473ff3f000000006410b71dc8206e3bac30d9269041dc76f4516b6b5861b24d3c7105502083b8ed44930ff0e8a3d6d68cb361cbb0c2649bd4d2d38678e20aa01cf2bdbd00000000010000000600000020000000100000002000000080000000000100000002000000030000dc050000000000000100000003000000070000000f0000001f0000003f0000007f000000ff000000ff010000ff030000ff070000ff0f0000ff1f0000ff3f0000ff7f0000ffff000010111200080709060a050b040c030d020e010f00000808090909090a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d00001213141415151616161617171717181818181818181819191919191919191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d000000000101010102020202020202020303030303030303030303030303030304040404040404040404040404040404040404040404040404040404040404040505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050506060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070700010203040405050606060607070707080808080808080809090909090909090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000001010101010101010202020202020202020202020202020203030303030303030303030303030303030303030303030303030303030303030404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040405050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505000001010201030104010501060107010801090109010a010a010b010b010c010c010d010d010d010d010e010e010e010e010f010f010f010f011001100110011001110111011101110111011101110111011201120112011201120112011201120113011301130113011301130113011301140114011401140114011401140114011501150115011501150115011501150115011501150115011501150115011501160116011601160116011601160116011601160116011601160116011601160117011701170117011701170117011701170117011701170117011701170117011801180118011801180118011801180118011801180118011801180118011801190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011901190119011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011a011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011b011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011c011d01271b1040471b1040671b1040861b10408f1b1040981b1040981b1040ae1b1040bf1b1040e61b1040", "data_start": 1073705008, "num_params": 2, "code_size": 7688, "data_size": 4112} \ No newline at end of file diff -Nru mos-latest-202110290806+db91e49~hirsute0/debian/changelog mos-latest-202111281334+0278853~hirsute0/debian/changelog --- mos-latest-202110290806+db91e49~hirsute0/debian/changelog 2021-10-29 08:59:36.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/debian/changelog 2021-12-15 00:12:54.000000000 +0000 @@ -1,8 +1,8 @@ -mos-latest (202110290806+db91e49~hirsute0) hirsute; urgency=low +mos-latest (202111281334+0278853~hirsute0) hirsute; urgency=low * Auto build. - -- Cesanta Bot Fri, 29 Oct 2021 08:59:36 +0000 + -- Cesanta Bot Wed, 15 Dec 2021 00:12:54 +0000 mos-latest (1.0-0) xenial; urgency=medium diff -Nru mos-latest-202110290806+db91e49~hirsute0/debian/git-build-recipe.manifest mos-latest-202111281334+0278853~hirsute0/debian/git-build-recipe.manifest --- mos-latest-202110290806+db91e49~hirsute0/debian/git-build-recipe.manifest 2021-10-29 08:59:36.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/debian/git-build-recipe.manifest 2021-12-15 00:12:54.000000000 +0000 @@ -1,4 +1,4 @@ -# git-build-recipe format 0.4 deb-version 202110290806+db91e49~hirsute0 -/src git-commit:db91e49ecc1ec8426428591665867351d528dc2f +# git-build-recipe format 0.4 deb-version 202111281334+0278853~hirsute0 +/src git-commit:0278853cf62da0c96ef239143243e854b2f611a8 merge deb-latest https://github.com/mongoose-os/mos.git git-commit:e4fc3d376151b310d43ef9783d266346369489fd run rsync -a /src/vendor/ vendor/ diff -Nru mos-latest-202110290806+db91e49~hirsute0/README.md mos-latest-202111281334+0278853~hirsute0/README.md --- mos-latest-202110290806+db91e49~hirsute0/README.md 2021-10-29 08:57:49.000000000 +0000 +++ mos-latest-202111281334+0278853~hirsute0/README.md 2021-12-15 00:11:09.000000000 +0000 @@ -62,7 +62,10 @@ Commands to install all the build dependencies: * Ubuntu Linux: `sudo apt-get install build-essential git golang-go python3 libftdi-dev libusb-1.0-0-dev pkg-config` * Mac OS X (via [Homebrew](https://brew.sh/)): `brew install coreutils libftdi libusb-compat pkg-config` - * Windows 10: `TODO` + * Windows 10: + * Install [MSYS2](https://www.msys2.org/) + * `pacman -S --needed base-devel mingw-w64-x86_64-toolchain git mingw-w64-x86_64-go python mingw-w64-x86_64-libftdi mingw-w64-x86_64-libusb pkgconf` + * Use a MSYS MinGW 64-bit shell Clone the repo (note: doesn't have to be in `GOPATH`):